@kaitranntt/ccs 7.52.2-dev.1 → 7.52.2-dev.10

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 (123) hide show
  1. package/README.md +4 -0
  2. package/dist/api/services/index.d.ts +3 -1
  3. package/dist/api/services/index.d.ts.map +1 -1
  4. package/dist/api/services/index.js +10 -1
  5. package/dist/api/services/index.js.map +1 -1
  6. package/dist/api/services/profile-lifecycle-service.d.ts +24 -0
  7. package/dist/api/services/profile-lifecycle-service.d.ts.map +1 -0
  8. package/dist/api/services/profile-lifecycle-service.js +364 -0
  9. package/dist/api/services/profile-lifecycle-service.js.map +1 -0
  10. package/dist/api/services/profile-lifecycle-validation.d.ts +11 -0
  11. package/dist/api/services/profile-lifecycle-validation.d.ts.map +1 -0
  12. package/dist/api/services/profile-lifecycle-validation.js +87 -0
  13. package/dist/api/services/profile-lifecycle-validation.js.map +1 -0
  14. package/dist/api/services/profile-types.d.ts +66 -0
  15. package/dist/api/services/profile-types.d.ts.map +1 -1
  16. package/dist/cliproxy/auth/auth-types.d.ts +3 -0
  17. package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
  18. package/dist/cliproxy/auth/auth-types.js +18 -1
  19. package/dist/cliproxy/auth/auth-types.js.map +1 -1
  20. package/dist/cliproxy/auth/gemini-token-refresh.d.ts.map +1 -1
  21. package/dist/cliproxy/auth/gemini-token-refresh.js +42 -14
  22. package/dist/cliproxy/auth/gemini-token-refresh.js.map +1 -1
  23. package/dist/cliproxy/auth/oauth-handler.d.ts +10 -0
  24. package/dist/cliproxy/auth/oauth-handler.d.ts.map +1 -1
  25. package/dist/cliproxy/auth/oauth-handler.js +60 -15
  26. package/dist/cliproxy/auth/oauth-handler.js.map +1 -1
  27. package/dist/cliproxy/binary-manager.d.ts.map +1 -1
  28. package/dist/cliproxy/binary-manager.js +13 -14
  29. package/dist/cliproxy/binary-manager.js.map +1 -1
  30. package/dist/cliproxy/quota-fetcher-claude.d.ts.map +1 -1
  31. package/dist/cliproxy/quota-fetcher-claude.js +51 -8
  32. package/dist/cliproxy/quota-fetcher-claude.js.map +1 -1
  33. package/dist/cliproxy/quota-fetcher-codex.d.ts.map +1 -1
  34. package/dist/cliproxy/quota-fetcher-codex.js +199 -63
  35. package/dist/cliproxy/quota-fetcher-codex.js.map +1 -1
  36. package/dist/cliproxy/quota-fetcher.d.ts +12 -0
  37. package/dist/cliproxy/quota-fetcher.d.ts.map +1 -1
  38. package/dist/cliproxy/quota-fetcher.js +328 -260
  39. package/dist/cliproxy/quota-fetcher.js.map +1 -1
  40. package/dist/cliproxy/quota-manager.d.ts +1 -1
  41. package/dist/cliproxy/quota-manager.d.ts.map +1 -1
  42. package/dist/cliproxy/quota-manager.js +9 -7
  43. package/dist/cliproxy/quota-manager.js.map +1 -1
  44. package/dist/cliproxy/quota-types.d.ts +18 -4
  45. package/dist/cliproxy/quota-types.d.ts.map +1 -1
  46. package/dist/cliproxy/tool-sanitization-proxy.d.ts.map +1 -1
  47. package/dist/cliproxy/tool-sanitization-proxy.js +86 -2
  48. package/dist/cliproxy/tool-sanitization-proxy.js.map +1 -1
  49. package/dist/commands/api-command.d.ts.map +1 -1
  50. package/dist/commands/api-command.js +275 -1
  51. package/dist/commands/api-command.js.map +1 -1
  52. package/dist/commands/copilot-command.d.ts.map +1 -1
  53. package/dist/commands/copilot-command.js +38 -0
  54. package/dist/commands/copilot-command.js.map +1 -1
  55. package/dist/commands/help-command.d.ts.map +1 -1
  56. package/dist/commands/help-command.js +4 -0
  57. package/dist/commands/help-command.js.map +1 -1
  58. package/dist/copilot/copilot-models.d.ts.map +1 -1
  59. package/dist/copilot/copilot-models.js +55 -13
  60. package/dist/copilot/copilot-models.js.map +1 -1
  61. package/dist/copilot/types.d.ts +10 -0
  62. package/dist/copilot/types.d.ts.map +1 -1
  63. package/dist/ui/assets/accounts-CvQcMAOn.js +1 -0
  64. package/dist/ui/assets/{alert-dialog-DPdKlUG9.js → alert-dialog-BNxU4Yl0.js} +1 -1
  65. package/dist/ui/assets/api-2zXmdAQB.js +4 -0
  66. package/dist/ui/assets/auth-section-DZOfrzyr.js +1 -0
  67. package/dist/ui/assets/backups-section-BRrlSO2e.js +1 -0
  68. package/dist/ui/assets/{checkbox-CcX8-GfD.js → checkbox-B8byAaxi.js} +1 -1
  69. package/dist/ui/assets/cliproxy-control-panel-CK6vEt5E.js +1 -0
  70. package/dist/ui/assets/cliproxy-vCdSQpzB.js +3 -0
  71. package/dist/ui/assets/{confirm-dialog-BZj0PYFs.js → confirm-dialog-BwS2-SIw.js} +1 -1
  72. package/dist/ui/assets/copilot-DuucMzG8.js +3 -0
  73. package/dist/ui/assets/{cursor-rS1S0i_y.js → cursor-Dx1QG8iC.js} +1 -1
  74. package/dist/ui/assets/{droid-Dfc2QwbE.js → droid-BWLj7yhD.js} +1 -1
  75. package/dist/ui/assets/globalenv-section-VguTtr1M.js +1 -0
  76. package/dist/ui/assets/{health-B0WQPDXb.js → health-CqV6KTLm.js} +1 -1
  77. package/dist/ui/assets/{icons-BYZM_9Gm.js → icons-D2eEmpHv.js} +1 -1
  78. package/dist/ui/assets/{index-LHbr_5SB.js → index--o0-TR8f.js} +1 -1
  79. package/dist/ui/assets/index-BusjPRWX.css +1 -0
  80. package/dist/ui/assets/index-Bvr3GPDW.js +1 -0
  81. package/dist/ui/assets/index-CtvGVTfm.js +47 -0
  82. package/dist/ui/assets/index-D5mljo0P.js +1 -0
  83. package/dist/ui/assets/index-jAI5dX9V.js +1 -0
  84. package/dist/ui/assets/proxy-status-widget-DBFkteIw.js +1 -0
  85. package/dist/ui/assets/{separator-DtcqgZIS.js → separator-DhIWUGI0.js} +1 -1
  86. package/dist/ui/assets/shared-BnGQhLAO.js +8 -0
  87. package/dist/ui/assets/{switch-BL5xZtnr.js → switch-Srw-Q9hb.js} +1 -1
  88. package/dist/ui/assets/{updates-B3HKUp7y.js → updates-C39PGbtY.js} +1 -1
  89. package/dist/ui/index.html +3 -3
  90. package/dist/utils/error-codes.d.ts +1 -1
  91. package/dist/utils/error-codes.d.ts.map +1 -1
  92. package/dist/utils/error-codes.js +11 -6
  93. package/dist/utils/error-codes.js.map +1 -1
  94. package/dist/web-server/routes/cliproxy-stats-routes.d.ts +12 -0
  95. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
  96. package/dist/web-server/routes/cliproxy-stats-routes.js +22 -9
  97. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
  98. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  99. package/dist/web-server/routes/profile-routes.js +206 -9
  100. package/dist/web-server/routes/profile-routes.js.map +1 -1
  101. package/dist/web-server/services/cliproxy-dashboard-install-service.d.ts +21 -0
  102. package/dist/web-server/services/cliproxy-dashboard-install-service.d.ts.map +1 -0
  103. package/dist/web-server/services/cliproxy-dashboard-install-service.js +51 -0
  104. package/dist/web-server/services/cliproxy-dashboard-install-service.js.map +1 -0
  105. package/lib/error-codes.ps1 +14 -4
  106. package/lib/error-codes.sh +10 -6
  107. package/lib/hooks/image-analyzer-transformer.cjs +51 -20
  108. package/package.json +1 -1
  109. package/dist/ui/assets/accounts-szAllF_0.js +0 -1
  110. package/dist/ui/assets/api-Bq7TnM0v.js +0 -1
  111. package/dist/ui/assets/auth-section-DYPWbNRj.js +0 -1
  112. package/dist/ui/assets/backups-section-gIWfCGmR.js +0 -1
  113. package/dist/ui/assets/cliproxy-SS8eRAX0.js +0 -3
  114. package/dist/ui/assets/cliproxy-control-panel-Bu0TtDft.js +0 -1
  115. package/dist/ui/assets/copilot-DnJj3frU.js +0 -3
  116. package/dist/ui/assets/globalenv-section-BrHb5lRq.js +0 -1
  117. package/dist/ui/assets/index-BFTIN2qO.js +0 -1
  118. package/dist/ui/assets/index-BVBXszJi.js +0 -1
  119. package/dist/ui/assets/index-DCQkhmoo.js +0 -47
  120. package/dist/ui/assets/index-DxKsP0Ke.js +0 -1
  121. package/dist/ui/assets/index-WBo504Wu.css +0 -1
  122. package/dist/ui/assets/proxy-status-widget-DPXgRGkB.js +0 -1
  123. package/dist/ui/assets/shared-DPJ_z23p.js +0 -8
@@ -0,0 +1 @@
1
+ import{j as e}from"./radix-ui-BR1vy4kf.js";import{r as o}from"./react-vendor-CNOkPC89.js";import{a as q,bd as J,bf as X,d as I,n as Y,L as A,r as R,s as M,t as K,v as B,w as E,I as F}from"./index-CtvGVTfm.js";import{S as Q}from"./switch-Srw-Q9hb.js";import{R as $,w as Z,u as ee,a4 as se,N as te,q as re}from"./icons-D2eEmpHv.js";import"./tanstack-e99Cjjy2.js";import"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-Cn_Uld6y.js";import"./code-highlight-BRUf_pqB.js";const z={mode:"auto",tier_defaults:{opus:"high",sonnet:"medium",haiku:"low"},show_warnings:!0},U=1e4;function ie(){const[t,i]=o.useState(null),[b,d]=o.useState(!0),[_,N]=o.useState(!1),[p,g]=o.useState(null),[P,y]=o.useState(!1),f=o.useRef(void 0),w=o.useRef(!1),k=o.useCallback(async()=>{const r=new AbortController,c=setTimeout(()=>r.abort(),U);try{d(!0),g(null);const n=await fetch("/api/thinking",{signal:r.signal});if(clearTimeout(c),!n.ok)throw n.headers.get("content-type")?.includes("text/html")?new Error(`Server error (${n.status})`):new Error("Failed to load Thinking config");const m=await n.json();i(m.config||z),f.current=m.lastModified,w.current=!0}catch(n){clearTimeout(c),n.name==="AbortError"?g("Request timeout - please try again"):g(n.message)}finally{d(!1)}return()=>r.abort()},[]),l=o.useCallback(async r=>{if(!w.current||t===null){g("Cannot save settings before they load. Click Refresh and try again.");return}const c=t,n={...c,...r.mode!==void 0?{mode:r.mode}:{},...r.tier_defaults!==void 0?{tier_defaults:r.tier_defaults}:{},...r.show_warnings!==void 0?{show_warnings:r.show_warnings}:{}};r.clear_override||r.override===null?delete n.override:r.override!==void 0&&(n.override=r.override),r.clear_provider_overrides||r.provider_overrides===null?delete n.provider_overrides:r.provider_overrides!==void 0&&(n.provider_overrides=r.provider_overrides),i(n);const m=new AbortController,h=setTimeout(()=>m.abort(),U);try{N(!0),g(null);const x={...n,lastModified:f.current},u=await fetch("/api/thinking",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(x),signal:m.signal});if(clearTimeout(h),!u.ok){if(u.headers.get("content-type")?.includes("text/html"))throw new Error(`Server error (${u.status})`);const s=await u.json();throw u.status===409?new Error("Config changed by another session. Refreshing..."):new Error(s.error||"Failed to save")}const v=await u.json();i(v.config),f.current=v.lastModified,y(!0),setTimeout(()=>y(!1),1500)}catch(x){clearTimeout(h),i(c),x.name==="AbortError"?g("Request timeout - please try again"):(g(x.message),x.message.includes("another session")&&setTimeout(()=>k(),1e3))}finally{N(!1)}},[t,k]),T=o.useCallback(r=>{l({mode:r})},[l]),C=o.useCallback((r,c)=>{const n=t?.tier_defaults||z.tier_defaults;l({tier_defaults:{...n,[r]:c}})},[t,l]),S=o.useCallback(r=>{l({show_warnings:r})},[l]),D=o.useCallback(r=>{if(r===void 0){l({override:null,clear_override:!0});return}l({override:r,clear_override:!1})},[l]),L=o.useCallback((r,c,n)=>{const m=t?.provider_overrides||{},h=m[r]||{};if(n===void 0){const{[c]:x,...u}=h,v=Object.keys(u).length>0?u:void 0,{[r]:O,...s}=m,a=v?{...s,[r]:v}:s;l({provider_overrides:Object.keys(a).length>0?a:null,clear_provider_overrides:Object.keys(a).length===0})}else l({provider_overrides:{...m,[r]:{...h,[c]:n}},clear_provider_overrides:!1})},[t,l]);return{config:t||z,loading:b,saving:_,error:p,success:P,fetchConfig:k,saveConfig:l,setMode:T,setTierDefault:C,setShowWarnings:S,setOverride:D,setProviderOverride:L}}const H=[{value:"minimal",label:"Minimal (512 tokens)"},{value:"low",label:"Low (1K tokens)"},{value:"medium",label:"Medium (8K tokens)"},{value:"high",label:"High (24K tokens)"},{value:"xhigh",label:"Extra High (32K tokens)"},{value:"auto",label:"Auto (dynamic)"}],ne=[{value:"__none__",label:"None (use CLI flags only)"},...H,{value:"__custom__",label:"Custom budget (number)"},{value:"off",label:"Off (disable thinking)"}],ae=["agy","gemini","codex"],G=0,V=1e5;function ve(){const{t}=q(),{config:i,loading:b,saving:d,error:_,success:N,fetchConfig:p,setMode:g,setTierDefault:P,setShowWarnings:y,setOverride:f,setProviderOverride:w}=ie(),[k,l]=o.useState(null),[T,C]=o.useState(""),[S,D]=o.useState([]),[L,r]=o.useState(null),c=o.useMemo(()=>Array.from(new Set([...ae,...Object.keys(i.provider_overrides??{}),...S])),[S,i.provider_overrides]),n=i.override===void 0?"__none__":typeof i.override=="number"||/^\d+$/.test(String(i.override))?"__custom__":String(i.override),m=typeof i.override=="number"||/^\d+$/.test(String(i.override??""))?String(i.override):"",h=L??m,x=Object.keys(i.provider_overrides??{}).length>0,u=k??x;o.useEffect(()=>{p()},[p]);const v=()=>{const s=T.trim().toLowerCase();s&&(c.includes(s)||D(a=>[...a,s]),C(""),l(!0))},O=()=>{const s=h.trim();if(!s){f(void 0);return}const a=Number.parseInt(s,10);Number.isNaN(a)||a<G||a>V||!/^\d+$/.test(s)||f(a)};return b?e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[e.jsx($,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:t("settings.loading")})]})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${_||N?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[_&&e.jsx(J,{variant:"destructive",className:"py-2 shadow-lg",children:e.jsxs("div",{className:"flex items-center justify-between w-full",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Z,{className:"h-4 w-4"}),e.jsx(X,{children:_})]}),e.jsxs(I,{variant:"outline",size:"sm",onClick:p,className:"h-7 px-2 text-xs border-destructive/50 hover:bg-destructive/10",children:[e.jsx($,{className:"w-3 h-3 mr-1"}),t("sharedPage.retry")]})]})}),N&&e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-md border border-green-200 bg-green-50 text-green-700 shadow-lg dark:border-green-900/50 dark:bg-green-900/90 dark:text-green-300",children:[e.jsx(ee,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:t("settings.saved")})]})]}),e.jsx(Y,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(se,{className:"w-5 h-5 text-primary"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.description")})]}),e.jsxs("div",{className:"flex items-start gap-2 p-3 rounded-lg bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800",children:[e.jsx(te,{className:"w-4 h-4 text-blue-600 dark:text-blue-400 shrink-0 mt-0.5"}),e.jsxs("div",{className:"text-sm text-blue-700 dark:text-blue-300",children:[e.jsx("p",{className:"font-medium",children:t("settingsThinking.supportedProviders")}),e.jsxs("ul",{className:"mt-1 space-y-0.5 text-blue-600 dark:text-blue-400",children:[e.jsxs("li",{children:[t("settingsThinking.supportLine1Prefix")," ",e.jsx("strong",{children:"agy"}),","," ",e.jsx("strong",{children:"gemini"})," ",t("settingsThinking.supportLine1Suffix")]}),e.jsxs("li",{children:[t("settingsThinking.supportLine2Prefix")," ",e.jsx("strong",{children:"codex"})," ",t("settingsThinking.supportLine2SuffixPrefix"),e.jsx("code",{children:"--effort"}),t("settingsThinking.supportLine2SuffixPostfix")]}),e.jsxs("li",{children:[t("settingsThinking.supportLine3Prefix")," ",e.jsx("code",{children:"-high"}),t("settingsThinking.supportLine3Suffix")]})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:t("settingsThinking.modeTitle")}),e.jsx("div",{className:"space-y-2",children:["auto","off","manual"].map(s=>e.jsxs("div",{className:`flex items-center justify-between p-4 rounded-lg cursor-pointer transition-colors ${i.mode===s?"bg-primary/10 border border-primary/30":"bg-muted/50 hover:bg-muted/80"} ${d?"opacity-70 pointer-events-none":""}`,onClick:()=>{d||g(s)},children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium capitalize",children:s}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[s==="auto"&&t("settingsThinking.modeAutoDesc"),s==="off"&&t("settingsThinking.modeOffDesc"),s==="manual"&&t("settingsThinking.modeManualDesc")]})]}),e.jsx("div",{className:`w-4 h-4 rounded-full border-2 ${i.mode===s?"bg-primary border-primary":"border-muted-foreground/50"}`})]},s))})]}),i.mode==="auto"&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:t("settingsThinking.tierDefaults")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.tierDefaultsDesc")}),e.jsx("div",{className:"space-y-3",children:["opus","sonnet","haiku"].map(s=>e.jsxs("div",{className:"flex items-center gap-4 p-3 rounded-lg bg-muted/30",children:[e.jsx(A,{className:"w-20 capitalize font-medium",children:s}),e.jsxs(R,{value:i.tier_defaults[s],onValueChange:a=>P(s,a),disabled:d,children:[e.jsx(M,{className:"flex-1",children:e.jsx(K,{})}),e.jsx(B,{children:H.map(a=>e.jsx(E,{value:a.value,children:a.label},a.value))})]})]},s))})]}),i.mode==="manual"&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:t("settingsThinking.persistentOverride")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.persistentOverrideDesc")}),e.jsxs(R,{value:n,onValueChange:s=>{if(s==="__none__"){f(void 0);return}if(s==="__custom__"){h||r("8192");return}r(null),f(s)},disabled:d,children:[e.jsx(M,{children:e.jsx(K,{})}),e.jsx(B,{children:ne.map(s=>e.jsx(E,{value:s.value,children:s.label},s.value))})]}),n==="__custom__"&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(F,{type:"number",min:G,max:V,value:h,onChange:s=>r(s.target.value),onBlur:O,disabled:d,placeholder:t("settingsThinking.enterCustomBudget")}),e.jsx(I,{type:"button",size:"sm",variant:"outline",onClick:O,disabled:d,children:t("settingsThinking.apply")})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Range: ",G," to ",V]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("button",{type:"button",className:"flex items-center gap-2 text-base font-medium w-full text-left",onClick:()=>l(s=>!(s??x)),disabled:d,children:[e.jsx(re,{className:`w-4 h-4 transition-transform ${u?"rotate-0":"-rotate-90"}`}),t("settingsThinking.providerOverrides",{count:Object.keys(i.provider_overrides??{}).length})]}),u&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.providerOverridesDesc")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(F,{value:T,onChange:s=>C(s.target.value),disabled:d,placeholder:t("settingsThinking.addProviderPlaceholder")}),e.jsx(I,{type:"button",size:"sm",variant:"outline",onClick:v,disabled:d,children:t("settingsGlobalEnv.add")})]}),c.map(s=>e.jsxs("div",{className:"space-y-2 p-3 rounded-lg bg-muted/30",children:[e.jsx(A,{className:"capitalize font-medium text-sm",children:s}),e.jsx("div",{className:"grid grid-cols-3 gap-2",children:["opus","sonnet","haiku"].map(a=>{const W=i.provider_overrides?.[s]?.[a]||"__default__";return e.jsxs("div",{className:"space-y-1",children:[e.jsx(A,{className:"text-xs text-muted-foreground capitalize",children:a}),e.jsxs(R,{value:W,onValueChange:j=>w(s,a,j==="__default__"?void 0:j),disabled:d,children:[e.jsx(M,{className:"h-8 text-xs",children:e.jsx(K,{})}),e.jsxs(B,{children:[e.jsx(E,{value:"__default__",children:t("cursorPage.default")}),H.map(j=>e.jsx(E,{value:j.value,children:j.label},j.value))]})]})]},a)})})]},s))]})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-muted/50",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:t("settingsThinking.showWarnings")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.showWarningsDesc")})]}),e.jsx(Q,{checked:i.show_warnings??!0,onCheckedChange:y,disabled:d})]}),e.jsxs("div",{className:"p-4 rounded-lg border bg-muted/30",children:[e.jsx("h4",{className:"text-sm font-medium mb-2",children:t("settingsThinking.cliEnvOverride")}),e.jsxs("p",{className:"text-sm text-muted-foreground mb-2",children:["Override per session with flags or"," ",e.jsx("code",{className:"px-1.5 py-0.5 rounded bg-muted",children:"CCS_THINKING"})," env var. Priority: flag > env > config."]}),e.jsxs("div",{className:"space-y-1 text-sm font-mono text-muted-foreground",children:[e.jsx("p",{children:"ccs gemini --thinking high"}),e.jsx("p",{children:"ccs codex --effort xhigh"}),e.jsx("p",{children:'CCS_THINKING=high ccs codex "debug this"'}),e.jsx("p",{children:"ccs config thinking --mode auto"})]})]})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(I,{variant:"outline",size:"sm",onClick:p,disabled:b||d,className:"w-full",children:[e.jsx($,{className:`w-4 h-4 mr-2 ${b?"animate-spin":""}`}),t("settings.refresh")]})})]})}export{ve as default};