@kaitranntt/ccs 7.79.1-dev.1 → 7.79.1-dev.11

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 (191) hide show
  1. package/README.md +29 -11
  2. package/dist/bin/ccsxp-runtime.d.ts.map +1 -1
  3. package/dist/bin/ccsxp-runtime.js +8 -0
  4. package/dist/bin/ccsxp-runtime.js.map +1 -1
  5. package/dist/bin/codex-runtime-router.d.ts +24 -0
  6. package/dist/bin/codex-runtime-router.d.ts.map +1 -0
  7. package/dist/bin/codex-runtime-router.js +91 -0
  8. package/dist/bin/codex-runtime-router.js.map +1 -0
  9. package/dist/bin/codex-runtime.d.ts +1 -0
  10. package/dist/bin/codex-runtime.js +7 -2
  11. package/dist/bin/codex-runtime.js.map +1 -1
  12. package/dist/cliproxy/ai-providers/model-id-normalizer.d.ts +8 -0
  13. package/dist/cliproxy/ai-providers/model-id-normalizer.d.ts.map +1 -1
  14. package/dist/cliproxy/ai-providers/model-id-normalizer.js +18 -1
  15. package/dist/cliproxy/ai-providers/model-id-normalizer.js.map +1 -1
  16. package/dist/cliproxy/ai-providers/service.d.ts.map +1 -1
  17. package/dist/cliproxy/ai-providers/service.js +39 -12
  18. package/dist/cliproxy/ai-providers/service.js.map +1 -1
  19. package/dist/codex-auth/codex-account-identity.d.ts +8 -0
  20. package/dist/codex-auth/codex-account-identity.d.ts.map +1 -0
  21. package/dist/codex-auth/codex-account-identity.js +53 -0
  22. package/dist/codex-auth/codex-account-identity.js.map +1 -0
  23. package/dist/codex-auth/codex-auth-dashboard-service.d.ts +46 -0
  24. package/dist/codex-auth/codex-auth-dashboard-service.d.ts.map +1 -0
  25. package/dist/codex-auth/codex-auth-dashboard-service.js +228 -0
  26. package/dist/codex-auth/codex-auth-dashboard-service.js.map +1 -0
  27. package/dist/codex-auth/codex-auth-help.d.ts +7 -0
  28. package/dist/codex-auth/codex-auth-help.d.ts.map +1 -0
  29. package/dist/codex-auth/codex-auth-help.js +87 -0
  30. package/dist/codex-auth/codex-auth-help.js.map +1 -0
  31. package/dist/codex-auth/codex-auth-router.d.ts +16 -0
  32. package/dist/codex-auth/codex-auth-router.d.ts.map +1 -0
  33. package/dist/codex-auth/codex-auth-router.js +77 -0
  34. package/dist/codex-auth/codex-auth-router.js.map +1 -0
  35. package/dist/codex-auth/codex-config-symlink.d.ts +14 -0
  36. package/dist/codex-auth/codex-config-symlink.d.ts.map +1 -0
  37. package/dist/codex-auth/codex-config-symlink.js +128 -0
  38. package/dist/codex-auth/codex-config-symlink.js.map +1 -0
  39. package/dist/codex-auth/codex-profile-paths.d.ts +5 -0
  40. package/dist/codex-auth/codex-profile-paths.d.ts.map +1 -0
  41. package/dist/codex-auth/codex-profile-paths.js +58 -0
  42. package/dist/codex-auth/codex-profile-paths.js.map +1 -0
  43. package/dist/codex-auth/codex-profile-registry.d.ts +34 -0
  44. package/dist/codex-auth/codex-profile-registry.d.ts.map +1 -0
  45. package/dist/codex-auth/codex-profile-registry.js +360 -0
  46. package/dist/codex-auth/codex-profile-registry.js.map +1 -0
  47. package/dist/codex-auth/commands/create-command.d.ts +9 -0
  48. package/dist/codex-auth/commands/create-command.d.ts.map +1 -0
  49. package/dist/codex-auth/commands/create-command.js +189 -0
  50. package/dist/codex-auth/commands/create-command.js.map +1 -0
  51. package/dist/codex-auth/commands/import-default-command.d.ts +18 -0
  52. package/dist/codex-auth/commands/import-default-command.d.ts.map +1 -0
  53. package/dist/codex-auth/commands/import-default-command.js +385 -0
  54. package/dist/codex-auth/commands/import-default-command.js.map +1 -0
  55. package/dist/codex-auth/commands/index.d.ts +13 -0
  56. package/dist/codex-auth/commands/index.d.ts.map +1 -0
  57. package/dist/codex-auth/commands/index.js +27 -0
  58. package/dist/codex-auth/commands/index.js.map +1 -0
  59. package/dist/codex-auth/commands/login-command.d.ts +9 -0
  60. package/dist/codex-auth/commands/login-command.d.ts.map +1 -0
  61. package/dist/codex-auth/commands/login-command.js +152 -0
  62. package/dist/codex-auth/commands/login-command.js.map +1 -0
  63. package/dist/codex-auth/commands/remove-command.d.ts +10 -0
  64. package/dist/codex-auth/commands/remove-command.d.ts.map +1 -0
  65. package/dist/codex-auth/commands/remove-command.js +230 -0
  66. package/dist/codex-auth/commands/remove-command.js.map +1 -0
  67. package/dist/codex-auth/commands/show-command.d.ts +10 -0
  68. package/dist/codex-auth/commands/show-command.d.ts.map +1 -0
  69. package/dist/codex-auth/commands/show-command.js +127 -0
  70. package/dist/codex-auth/commands/show-command.js.map +1 -0
  71. package/dist/codex-auth/commands/show-detail-view.d.ts +7 -0
  72. package/dist/codex-auth/commands/show-detail-view.d.ts.map +1 -0
  73. package/dist/codex-auth/commands/show-detail-view.js +134 -0
  74. package/dist/codex-auth/commands/show-detail-view.js.map +1 -0
  75. package/dist/codex-auth/commands/switch-command.d.ts +7 -0
  76. package/dist/codex-auth/commands/switch-command.d.ts.map +1 -0
  77. package/dist/codex-auth/commands/switch-command.js +48 -0
  78. package/dist/codex-auth/commands/switch-command.js.map +1 -0
  79. package/dist/codex-auth/commands/types.d.ts +45 -0
  80. package/dist/codex-auth/commands/types.d.ts.map +1 -0
  81. package/dist/codex-auth/commands/types.js +85 -0
  82. package/dist/codex-auth/commands/types.js.map +1 -0
  83. package/dist/codex-auth/commands/use-command.d.ts +16 -0
  84. package/dist/codex-auth/commands/use-command.d.ts.map +1 -0
  85. package/dist/codex-auth/commands/use-command.js +86 -0
  86. package/dist/codex-auth/commands/use-command.js.map +1 -0
  87. package/dist/codex-auth/decode-id-token.d.ts +12 -0
  88. package/dist/codex-auth/decode-id-token.d.ts.map +1 -0
  89. package/dist/codex-auth/decode-id-token.js +83 -0
  90. package/dist/codex-auth/decode-id-token.js.map +1 -0
  91. package/dist/codex-auth/index.d.ts +8 -0
  92. package/dist/codex-auth/index.d.ts.map +1 -0
  93. package/dist/codex-auth/index.js +19 -0
  94. package/dist/codex-auth/index.js.map +1 -0
  95. package/dist/codex-auth/resolve-active-profile.d.ts +13 -0
  96. package/dist/codex-auth/resolve-active-profile.d.ts.map +1 -0
  97. package/dist/codex-auth/resolve-active-profile.js +161 -0
  98. package/dist/codex-auth/resolve-active-profile.js.map +1 -0
  99. package/dist/codex-auth/shell-detect.d.ts +19 -0
  100. package/dist/codex-auth/shell-detect.d.ts.map +1 -0
  101. package/dist/codex-auth/shell-detect.js +129 -0
  102. package/dist/codex-auth/shell-detect.js.map +1 -0
  103. package/dist/codex-auth/types.d.ts +26 -0
  104. package/dist/codex-auth/types.d.ts.map +1 -0
  105. package/dist/codex-auth/types.js +34 -0
  106. package/dist/codex-auth/types.js.map +1 -0
  107. package/dist/commands/persist-command.d.ts.map +1 -1
  108. package/dist/commands/persist-command.js +3 -2
  109. package/dist/commands/persist-command.js.map +1 -1
  110. package/dist/dispatcher/cli-argument-parser.d.ts +3 -2
  111. package/dist/dispatcher/cli-argument-parser.d.ts.map +1 -1
  112. package/dist/dispatcher/cli-argument-parser.js +37 -7
  113. package/dist/dispatcher/cli-argument-parser.js.map +1 -1
  114. package/dist/dispatcher/pre-dispatch.d.ts.map +1 -1
  115. package/dist/dispatcher/pre-dispatch.js +7 -0
  116. package/dist/dispatcher/pre-dispatch.js.map +1 -1
  117. package/dist/dispatcher/target-executor.d.ts +2 -2
  118. package/dist/dispatcher/target-executor.d.ts.map +1 -1
  119. package/dist/dispatcher/target-executor.js +5 -5
  120. package/dist/dispatcher/target-executor.js.map +1 -1
  121. package/dist/docker/docker-bootstrap.d.ts +1 -1
  122. package/dist/docker/docker-bootstrap.d.ts.map +1 -1
  123. package/dist/docker/docker-bootstrap.js +30 -3
  124. package/dist/docker/docker-bootstrap.js.map +1 -1
  125. package/dist/docker/docker-executor.d.ts.map +1 -1
  126. package/dist/docker/docker-executor.js +1 -0
  127. package/dist/docker/docker-executor.js.map +1 -1
  128. package/dist/management/checks/config-check.d.ts.map +1 -1
  129. package/dist/management/checks/config-check.js +10 -1
  130. package/dist/management/checks/config-check.js.map +1 -1
  131. package/dist/shared/claude-extension-setup.d.ts.map +1 -1
  132. package/dist/shared/claude-extension-setup.js +21 -1
  133. package/dist/shared/claude-extension-setup.js.map +1 -1
  134. package/dist/targets/codex-cliproxy-provider-config.d.ts.map +1 -1
  135. package/dist/targets/codex-cliproxy-provider-config.js +56 -24
  136. package/dist/targets/codex-cliproxy-provider-config.js.map +1 -1
  137. package/dist/ui/assets/Trans-J6qQqjkU.js +1 -0
  138. package/dist/ui/assets/{accounts-CQ7-Zx3_.js → accounts-B9Y9uOFl.js} +1 -1
  139. package/dist/ui/assets/{alert-dialog-834N3Y7a.js → alert-dialog-B7gsksZn.js} +1 -1
  140. package/dist/ui/assets/{api-BJc1e2ju.js → api-Cz8U6P7R.js} +1 -1
  141. package/dist/ui/assets/{auth-section-FHhzv-t_.js → auth-section-C8dzvYje.js} +1 -1
  142. package/dist/ui/assets/{backups-section-XgV36q98.js → backups-section-D0dn59k8.js} +1 -1
  143. package/dist/ui/assets/{channels-BiUWmX53.js → channels-BEmwDrRW.js} +1 -1
  144. package/dist/ui/assets/{checkbox-Q5jqcuNs.js → checkbox-DD0s2D_O.js} +1 -1
  145. package/dist/ui/assets/{claude-extension-Dg6ZOc-X.js → claude-extension-DHVBsw6b.js} +1 -1
  146. package/dist/ui/assets/{cliproxy-DUGEhRI_.js → cliproxy-BMlbpAIO.js} +2 -2
  147. package/dist/ui/assets/{cliproxy-ai-providers-DH1LvC9H.js → cliproxy-ai-providers-B440rPlH.js} +2 -2
  148. package/dist/ui/assets/{cliproxy-control-panel-DQcF0grk.js → cliproxy-control-panel-Bo-Y41B_.js} +1 -1
  149. package/dist/ui/assets/codex-DPe04ol4.js +30 -0
  150. package/dist/ui/assets/{confirm-dialog-ZIkkz4a-.js → confirm-dialog-MQNmqmha.js} +1 -1
  151. package/dist/ui/assets/{copilot-BxTvmyiq.js → copilot-COZj29YU.js} +1 -1
  152. package/dist/ui/assets/{cursor-DFNXCb2C.js → cursor-D0occhsH.js} +1 -1
  153. package/dist/ui/assets/{droid-BtmVuSvi.js → droid-CSaYFApd.js} +1 -1
  154. package/dist/ui/assets/{globalenv-section-ZUDnNjxP.js → globalenv-section-BwuNrdbO.js} +1 -1
  155. package/dist/ui/assets/{health-BQ5SLS-w.js → health-DjNOO9K-.js} +1 -1
  156. package/dist/ui/assets/{index-DKO-Gvdv.js → index-Bm_0r3qk.js} +1 -1
  157. package/dist/ui/assets/{index-DG9lONG_.js → index-Bnzie_zG.js} +1 -1
  158. package/dist/ui/assets/index-CSlgRg0s.js +56 -0
  159. package/dist/ui/assets/index-CjM3Ehb8.js +1 -0
  160. package/dist/ui/assets/{index-C6Qs2iuI.js → index-CmOBelFi.js} +1 -1
  161. package/dist/ui/assets/{index-YRmKZmzf.js → index-D9HfyuQr.js} +1 -1
  162. package/dist/ui/assets/index-G3mgTfgR.css +1 -0
  163. package/dist/ui/assets/{index-2_GLcEv2.js → index-i2MPNni3.js} +1 -1
  164. package/dist/ui/assets/{logs-CiJ1hg6a.js → logs-7bWvuc1l.js} +1 -1
  165. package/dist/ui/assets/{masked-input-CxbGLkmv.js → masked-input-D_amxi96.js} +1 -1
  166. package/dist/ui/assets/proxy-status-widget-BkC-wCtI.js +1 -0
  167. package/dist/ui/assets/{raw-json-settings-editor-panel-BRT6eyp6.js → raw-json-settings-editor-panel-CVP5Bjfm.js} +1 -1
  168. package/dist/ui/assets/{searchable-select-zyPEV9KP.js → searchable-select-e5sY7o6g.js} +1 -1
  169. package/dist/ui/assets/{separator-BDmUKYTf.js → separator-BR5bmtI7.js} +1 -1
  170. package/dist/ui/assets/{shared-CDiPdrLt.js → shared-CsqW2cFN.js} +1 -1
  171. package/dist/ui/assets/{table-DB4ZK3nd.js → table-DPheAd4c.js} +1 -1
  172. package/dist/ui/assets/{updates-IMCUh1DI.js → updates-D07RjKLJ.js} +1 -1
  173. package/dist/ui/assets/{use-accounts-CyI5Ozs6.js → use-accounts-CWVR2NXQ.js} +1 -1
  174. package/dist/ui/index.html +2 -2
  175. package/dist/web-server/middleware/auth-middleware.d.ts.map +1 -1
  176. package/dist/web-server/middleware/auth-middleware.js +25 -1
  177. package/dist/web-server/middleware/auth-middleware.js.map +1 -1
  178. package/dist/web-server/routes/claude-extension-routes.d.ts.map +1 -1
  179. package/dist/web-server/routes/claude-extension-routes.js +5 -0
  180. package/dist/web-server/routes/claude-extension-routes.js.map +1 -1
  181. package/dist/web-server/routes/codex-routes.d.ts.map +1 -1
  182. package/dist/web-server/routes/codex-routes.js +14 -0
  183. package/dist/web-server/routes/codex-routes.js.map +1 -1
  184. package/lib/hooks/websearch-transformer.cjs +12 -3
  185. package/package.json +1 -1
  186. package/scripts/run-test-bucket.js +1 -0
  187. package/dist/ui/assets/codex-B4aTo2gn.js +0 -30
  188. package/dist/ui/assets/index-BRwWpHe-.js +0 -56
  189. package/dist/ui/assets/index-BW69dNHf.js +0 -1
  190. package/dist/ui/assets/index-nSsKQx8t.css +0 -1
  191. package/dist/ui/assets/proxy-status-widget-BWr7WQY-.js +0 -1
@@ -1 +0,0 @@
1
- import{j as e}from"./radix-ui-nu4wz29m.js";import{r as n}from"./react-vendor-Bjx91N7w.js";import{by as Ue,bz as ze,Y as R,a as oe,I as B,aI as M,r as We,s as Ye,t as Xe,v as Ge,w as ye,d as z,bA as qe,bB as Je,bC as Qe,bD as Ze,b6 as he,bE as es,bF as ss,bi as H,bk as V,n as ts}from"./index-BRwWpHe-.js";import{C as W}from"./default-ports-1QQSffYX.js";import{bd as fe,R as ae,h as rs,x as je,W as as,w as os,aA as ns,b4 as is,T as re,aH as ls,p as cs,be as ds}from"./icons-DzKUh8vG.js";import{P as xs}from"./proxy-status-widget-BWr7WQY-.js";import{R as U}from"./antigravity-responsibility-constants-Bvh4Ybz0.js";import{t as T}from"./notifications-B4_o8bcr.js";import"./tanstack-bhJxV1h8.js";import"./utils-CzKF5WmX.js";import"./form-utils-CuHzLhJZ.js";import"./charts-eIPy2oG6.js";import"./alert-dialog-834N3Y7a.js";function ms(){const{state:s}=Ue(),t=ze(),[g,o]=n.useState(null),[u,f]=n.useState(null),[p,j]=n.useState(null),[y,C]=n.useState(null),[S,P]=n.useState(null),w=n.useCallback(async()=>{try{t.setProxyLoading(!0),t.setProxyError(null);const d=await R.cliproxyServer.get();t.setProxyConfig(d)}catch(d){t.setProxyError(d.message)}finally{t.setProxyLoading(!1)}},[t]),A=n.useCallback(async d=>{const x=s.proxyConfig;if(!x)return;const h={remote:{...x.remote,...d.remote},fallback:{...x.fallback,...d.fallback},local:{...x.local,...d.local}};t.setProxyConfig(h),t.setProxyTestResult(null);try{t.setProxySaving(!0),t.setProxyError(null);const a=await R.cliproxyServer.update(d);t.setProxyConfig(a),t.setProxySuccess(!0),setTimeout(()=>t.setProxySuccess(!1),1500)}catch(a){t.setProxyConfig(x),t.setProxyError(a.message)}finally{t.setProxySaving(!1)}},[s.proxyConfig,t]),E=n.useCallback(async d=>{const{host:x,port:h,protocol:a,authToken:c}=d;if(!x){t.setProxyError("Host is required");return}try{t.setProxyTesting(!0),t.setProxyError(null),t.setProxyTestResult(null);const k=h?parseInt(h,10):void 0,l=await R.cliproxyServer.test({host:x,port:k||void 0,protocol:a,authToken:c||void 0});t.setProxyTestResult(l)}catch(k){t.setProxyError(k.message)}finally{t.setProxyTesting(!1)}},[t]);return{config:s.proxyConfig,loading:s.proxyLoading,saving:s.proxySaving,error:s.proxyError,success:s.proxySuccess,testResult:s.proxyTestResult,testing:s.proxyTesting,editedHost:g,setEditedHost:o,editedPort:u,setEditedPort:f,editedAuthToken:p,setEditedAuthToken:j,editedManagementKey:y,setEditedManagementKey:C,editedLocalPort:S,setEditedLocalPort:P,fetchConfig:w,saveConfig:A,testConnection:E}}function gs({config:s,saving:t,displayLocalPort:g,setEditedLocalPort:o,onSaveLocalPort:u,onSaveConfig:f}){const{t:p}=oe(),j=s.local;return e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:p("settingsProxy.localProxy")}),e.jsxs("div",{className:"space-y-3 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:p("settingsProxy.port")}),e.jsx(B,{type:"text",inputMode:"numeric",value:g,onChange:y=>o(y.target.value.replace(/\D/g,"")),onBlur:u,placeholder:`${W}`,className:"font-mono max-w-32",disabled:t})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:p("settingsProxy.autoStart")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:p("settingsProxy.localAutoStartDesc")})]}),e.jsx(M,{checked:j.auto_start??!0,onCheckedChange:y=>f({local:{...j,auto_start:y}}),disabled:t})]})]})]})}function us({config:s,saving:t,testing:g,testResult:o,displayHost:u,displayPort:f,displayAuthToken:p,displayManagementKey:j,setEditedHost:y,setEditedPort:C,setEditedAuthToken:S,setEditedManagementKey:P,onSaveHost:w,onSavePort:A,onSaveAuthToken:E,onSaveManagementKey:d,onSaveConfig:x,onTestConnection:h}){const{t:a}=oe(),c=s.remote,k=l=>l==="https"?443:W;return e.jsxs("div",{className:"space-y-4 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("h4",{className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(fe,{className:"w-4 h-4"}),a("settingsProxy.remoteConfigTitle")]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:a("settingsProxy.host")}),e.jsx(B,{value:u,onChange:l=>y(l.target.value),onBlur:w,placeholder:a("settingsProxy.hostPlaceholder"),className:"font-mono",disabled:t})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("label",{className:"text-sm text-muted-foreground",children:[a("settingsProxy.port")," ",e.jsxs("span",{className:"text-xs opacity-70",children:["(",a("settingsProxy.defaultPort",{value:k(s.remote.protocol||"http")}),")"]})]}),e.jsx(B,{type:"text",inputMode:"numeric",value:f,onChange:l=>C(l.target.value.replace(/\D/g,"")),onBlur:A,placeholder:a("settingsProxy.portPlaceholder",{value:k(s.remote.protocol||"http")}),className:"font-mono",disabled:t})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:a("settingsProxy.protocol")}),e.jsxs(We,{value:s.remote.protocol||"http",onValueChange:l=>x({remote:{...c,protocol:l}}),disabled:t,children:[e.jsx(Ye,{children:e.jsx(Xe,{})}),e.jsxs(Ge,{children:[e.jsx(ye,{value:"http",children:a("settingsProxy.http")}),e.jsx(ye,{value:"https",children:a("settingsProxy.https")})]})]})]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:a("settingsProxy.apiKeyOptional")}),e.jsx(B,{type:"password",value:p,onChange:l=>S(l.target.value),onBlur:E,placeholder:a("settingsProxy.apiKeyPlaceholder"),className:"font-mono",disabled:t}),e.jsx("p",{className:"text-xs text-muted-foreground",children:a("settingsProxy.apiKeyDesc")})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:a("settingsProxy.managementKeyOptional")}),e.jsx(B,{type:"password",value:j,onChange:l=>P(l.target.value),onBlur:d,placeholder:a("settingsProxy.managementKeyPlaceholder"),className:"font-mono",disabled:t}),e.jsx("p",{className:"text-xs text-muted-foreground",children:a("settingsProxy.managementKeyDesc")})]}),e.jsxs("div",{className:"space-y-3 pt-2",children:[e.jsx(z,{onClick:h,disabled:g||!u,variant:"outline",className:"w-full",children:g?e.jsxs(e.Fragment,{children:[e.jsx(ae,{className:"w-4 h-4 mr-2 animate-spin"}),a("settingsProxy.testing")]}):e.jsxs(e.Fragment,{children:[e.jsx(rs,{className:"w-4 h-4 mr-2"}),a("settingsProxy.testConnection")]})}),o&&e.jsx("div",{className:`p-3 rounded-md ${o.reachable?"bg-green-50 border border-green-200 dark:bg-green-900/20 dark:border-green-900/50":"bg-red-50 border border-red-200 dark:bg-red-900/20 dark:border-red-900/50"}`,children:e.jsx("div",{className:"flex items-center gap-2",children:o.reachable?e.jsxs(e.Fragment,{children:[e.jsx(je,{className:"w-4 h-4 text-green-600 dark:text-green-400"}),e.jsx("span",{className:"text-sm font-medium text-green-700 dark:text-green-300",children:a("settingsProxy.connectedLatency",{value:o.latencyMs})})]}):e.jsxs(e.Fragment,{children:[e.jsx(as,{className:"w-4 h-4 text-red-600 dark:text-red-400"}),e.jsx("span",{className:"text-sm font-medium text-red-700 dark:text-red-300",children:o.error||a("settingsProxy.connectionFailed")})]})})})]})]})}const be="ccs_debug_mode";function ps(s){return s.trim().replace(/\s+/g," ").toUpperCase()}function Ts(){const{t:s}=oe(),{config:t,loading:g,saving:o,error:u,success:f,testResult:p,testing:j,editedHost:y,setEditedHost:C,editedPort:S,setEditedPort:P,editedAuthToken:w,setEditedAuthToken:A,editedManagementKey:E,setEditedManagementKey:d,editedLocalPort:x,setEditedLocalPort:h,fetchConfig:a,saveConfig:c,testConnection:k}=ms(),{fetchRawConfig:l}=qe(),[_,Pe]=n.useState(()=>{try{return localStorage.getItem(be)==="true"}catch{return!1}}),[ke,Y]=n.useState(!1),[ve,ne]=n.useState(!0),[b,ie]=n.useState(!1),[Ne,L]=n.useState(!1),[le,I]=n.useState(""),K=n.useRef(!1),X=ps(le)===U,Ce=r=>{Pe(r);try{localStorage.setItem(be,String(r))}catch{}},G=n.useCallback(async()=>{try{ne(!0);const r=await fetch("/api/settings/auth/antigravity-risk");if(!r.ok)throw new Error(s("settingsProxy.failedLoadAgyMode"));const i=await r.json();Y(i.antigravityAckBypass===!0)}catch(r){T.error(r instanceof Error?r.message:s("settingsProxy.failedLoadAgyMode")),Y(!1)}finally{ne(!1)}},[s]),O=n.useCallback(async r=>{if(!(K.current||b||o))try{K.current=!0,ie(!0);const i=await fetch("/api/settings/auth/antigravity-risk",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({antigravityAckBypass:r})}),$=await i.json();if(!i.ok)throw new Error($.error||s("settingsProxy.failedUpdateAgyMode"));const Ve=$.antigravityAckBypass===!0,ue=await fetch("/api/settings/auth/antigravity-risk",{cache:"no-store"});if(!ue.ok)throw new Error(s("settingsProxy.failedVerifyAgyMode"));const pe=(await ue.json()).antigravityAckBypass===!0;if(pe!==r)throw new Error(s("settingsProxy.notPersistedAgyMode"));Y(pe&&Ve),L(!1),I(""),T.success(s(r?"settingsProxy.agyModeEnabled":"settingsProxy.agyModeDisabled")),await l()}catch(i){T.error(i instanceof Error?i.message:s("settingsProxy.failedUpdateAgyMode"))}finally{K.current=!1,ie(!1)}},[b,l,o,s]),Se=n.useCallback(r=>{if(!(K.current||b||o)){if(r){L(!0);return}L(!1),I(""),O(!1)}},[b,O,o]),we=n.useCallback(()=>{if(!X){T.error(s("settingsProxy.typePhraseToContinue",{value:U}));return}O(!0)},[X,O,s]),[v,q]=n.useState("original"),[Ae,Ee]=n.useState(!1),J=Je(),{data:Te}=Qe(),ce=Te?.running??!1,Be=Ze.map(he).join(", "),de=es.map(he).join(", "),Q=n.useCallback(async()=>{try{const r=await R.cliproxyServer.getBackend();q(r.backend)}catch(r){console.error("[Proxy] Failed to fetch backend:",r)}},[]),Z=n.useCallback(async()=>{try{const i=(await R.cliproxy.list()).variants.some($=>ss($));Ee(i)}catch(r){console.error("[Proxy] Failed to check variants:",r)}},[]),xe=r=>{const i=v;q(r),J.mutate({backend:r},{onError:()=>{q(i)}})};if(n.useEffect(()=>{if(_&&t){const r={...t,remote:{...t.remote,auth_token:t.remote.auth_token?"[REDACTED]":void 0,management_key:t.remote.management_key?"[REDACTED]":void 0}};console.log("[CCS Debug] Debug mode enabled - proxy config:",r)}},[_,t]),n.useEffect(()=>{a(),G(),l(),Q(),Z()},[a,G,l,Q,Z]),g||!t)return 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(ae,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:s("settings.loading")})]})});const m=t.remote.enabled??!1,F=!m&&ce,N=t.remote,D=t.fallback,De=t.remote.host??"",Me=t.remote.port!==void 0?t.remote.port.toString():"",Re=t.remote.auth_token??"",_e=t.remote.management_key??"",Le=(t.local.port??W).toString(),ee=y??De,se=S??Me,te=w??Re,me=E??_e,ge=x??Le,Ie=()=>{const r=y??ee;r!==t.remote.host&&c({remote:{...N,host:r}}),C(null)},Ke=()=>{const r=(S??se).trim();if(r===""){t.remote.port!==void 0&&c({remote:{...N,port:void 0}}),P(null);return}const i=Number(r);if(!Number.isInteger(i)||i<1||i>65535){T.error(s("settingsProxy.invalidPortOrEmpty")),P(null);return}i!==t.remote.port&&c({remote:{...N,port:i}}),P(null)},Oe=()=>{const r=w??te;r!==t.remote.auth_token&&c({remote:{...N,auth_token:r}}),A(null)},Fe=()=>{const r=E??me;r!==t.remote.management_key&&c({remote:{...N,management_key:r||void 0}}),d(null)},$e=()=>{const r=(x??ge).trim(),i=r===""?W:Number(r);if(!Number.isInteger(i)||i<1||i>65535){T.error(s("settingsProxy.invalidLocalPort")),h(null);return}i!==t.local.port&&c({local:{...t.local,port:i}}),h(null)},He=()=>{k({host:ee,port:se,protocol:t.remote.protocol||"http",authToken:te})};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${u||f?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[u&&e.jsxs(H,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(os,{className:"h-4 w-4"}),e.jsx(V,{children:u})]}),f&&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(je,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:s("settings.saved")})]})]}),e.jsx(ts,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:s("settingsProxy.description",{backend:s(v==="plus"?"settingsProxy.backendPlus":"settingsProxy.backend")})}),!m&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:s("settingsProxy.instanceStatus")}),e.jsx(xs,{})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:s("settingsProxy.connectionMode")}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("button",{onClick:()=>c({remote:{...N,enabled:!1}}),disabled:o,className:`p-4 rounded-lg border-2 text-left transition-all ${m?"border-border hover:border-muted-foreground/50":"border-primary bg-primary/5"}`,children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(ns,{className:`w-5 h-5 ${m?"text-muted-foreground":"text-primary"}`}),e.jsx("span",{className:"font-medium",children:s("settingsProxy.local")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("settingsProxy.localDesc",{backend:s(v==="plus"?"settingsProxy.backendPlus":"settingsProxy.backend")})})]}),e.jsxs("button",{onClick:()=>c({remote:{...N,enabled:!0}}),disabled:o,className:`p-4 rounded-lg border-2 text-left transition-all ${m?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/50"}`,children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx(fe,{className:`w-5 h-5 ${m?"text-primary":"text-muted-foreground"}`}),e.jsx("span",{className:"font-medium",children:s("settingsProxy.remote")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("settingsProxy.remoteDesc",{backend:s(v==="plus"?"settingsProxy.backendPlus":"settingsProxy.backend")})})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("h3",{className:"text-base font-medium flex items-center gap-2",children:[e.jsx(is,{className:"w-4 h-4"}),s("settingsProxy.backendBinary")]}),!m&&ce&&e.jsxs(H,{className:"py-2 border-amber-200 bg-amber-50 dark:border-amber-900/50 dark:bg-amber-900/20 [&>svg]:top-2.5",children:[e.jsx(re,{className:"h-4 w-4 text-amber-600"}),e.jsx(V,{className:"text-amber-700 dark:text-amber-400",children:s("settingsProxy.stopProxyToSwitch")})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("button",{onClick:()=>xe("plus"),disabled:J.isPending||F,className:`p-4 rounded-lg border-2 text-left transition-all ${v==="plus"?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/50"} ${F?"opacity-60 cursor-not-allowed":""}`,children:[e.jsx("div",{className:"flex items-center gap-3 mb-2",children:e.jsx("span",{className:"font-medium",children:s("settingsProxy.backendPlusApi")})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("settingsProxy.plusDesc")}),e.jsx("p",{className:"mt-2 text-[11px] leading-relaxed text-muted-foreground",children:de})]}),e.jsxs("button",{onClick:()=>xe("original"),disabled:J.isPending||F,className:`p-4 rounded-lg border-2 text-left transition-all ${v==="original"?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/50"} ${F?"opacity-60 cursor-not-allowed":""}`,children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("span",{className:"font-medium",children:s("settingsProxy.backendApi")}),e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-400",children:s("settingsProxy.default")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("settingsProxy.originalDesc")}),e.jsx("p",{className:"mt-2 text-[11px] leading-relaxed text-muted-foreground",children:Be})]})]}),v==="plus"&&e.jsxs(H,{className:"py-2 border-amber-200 bg-amber-50 dark:border-amber-900/50 dark:bg-amber-900/20 [&>svg]:top-2.5",children:[e.jsx(re,{className:"h-4 w-4 text-amber-600"}),e.jsx(V,{className:"text-amber-700 dark:text-amber-400",children:s("settingsProxy.plusFallbackNotice")})]}),v==="original"&&Ae&&e.jsxs(H,{variant:"destructive",className:"py-2",children:[e.jsx(re,{className:"h-4 w-4"}),e.jsx(V,{children:s("settingsProxy.variantsIncompatible",{providers:de})})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("h3",{className:"text-base font-medium flex items-center gap-2",children:[e.jsx(ls,{className:"w-4 h-4 text-amber-700 dark:text-amber-300"}),s("settingsProxy.safety")]}),e.jsxs("div",{className:"space-y-3 rounded-lg border border-amber-400/35 bg-amber-50/70 p-4 dark:border-amber-800/60 dark:bg-amber-950/25",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"font-medium text-sm",children:s("settingsProxy.agyModeTitle")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("settingsProxy.agyModeDesc")})]}),e.jsx(M,{"aria-labelledby":"agy-power-user-mode-label","aria-describedby":"agy-power-user-mode-description",checked:ke,disabled:ve||b||o,onCheckedChange:Se})]}),e.jsx("p",{id:"agy-power-user-mode-description",className:"text-xs text-amber-800/90 dark:text-amber-200/90",children:s("settingsProxy.agyWarning")}),Ne&&e.jsxs("div",{className:"space-y-3 rounded-lg border border-rose-500/40 bg-rose-500/[0.08] p-3.5",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("p",{className:"text-xs font-semibold tracking-wide text-rose-900 dark:text-rose-200",children:s("settingsProxy.finalConfirm")}),e.jsx("p",{className:"text-xs leading-relaxed text-rose-800/95 dark:text-rose-200/90",children:s("settingsProxy.finalConfirmDesc")})]}),e.jsxs("div",{className:"grid gap-2 md:grid-cols-2",children:[e.jsxs("div",{className:"rounded-md border border-rose-400/30 bg-rose-500/10 p-2.5",children:[e.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-rose-900 dark:text-rose-200",children:s("settingsProxy.step1")}),e.jsxs("a",{href:"https://github.com/kaitranntt/ccs/issues/509",target:"_blank",rel:"noreferrer",className:"mt-1 inline-flex items-center gap-1.5 text-xs font-medium text-rose-800 underline decoration-rose-500/60 underline-offset-2 transition-colors hover:text-rose-700 dark:text-rose-200",children:[s("settingsProxy.readIssue"),e.jsx(cs,{className:"h-3.5 w-3.5"})]})]}),e.jsxs("div",{className:"rounded-md border border-rose-400/30 bg-rose-500/10 p-2.5",children:[e.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-rose-900 dark:text-rose-200",children:s("settingsProxy.step2")}),e.jsxs("p",{className:"mt-1 text-xs text-rose-800/95 dark:text-rose-200/90",children:[s("settingsProxy.typePrefix")," ",e.jsx("code",{className:"rounded bg-background/80 px-1 py-0.5 font-mono",children:U})," ",s("settingsProxy.typeSuffix")]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(B,{value:le,onChange:r=>I(r.target.value),placeholder:U,disabled:b||o,className:"font-mono text-xs","aria-label":s("settingsProxy.typePhraseAria")}),e.jsx("p",{className:"text-[11px] text-rose-800/90 dark:text-rose-200/80",children:s("settingsProxy.exactPhrase")})]}),e.jsxs("div",{className:"flex items-center justify-end gap-2",children:[e.jsx(z,{variant:"outline",size:"sm",onClick:()=>{L(!1),I("")},disabled:b||o,children:s("settingsBackups.cancel")}),e.jsx(z,{size:"sm",variant:"destructive",onClick:we,disabled:!X||b||o,children:s("settingsProxy.enableAgyMode")})]})]}),e.jsx("span",{id:"agy-power-user-mode-label",className:"sr-only",children:s("settingsProxy.toggleAgyMode")})]})]}),m&&e.jsx(us,{config:t,saving:o,testing:j,testResult:p,displayHost:ee,displayPort:se,displayAuthToken:te,displayManagementKey:me,setEditedHost:C,setEditedPort:P,setEditedAuthToken:A,setEditedManagementKey:d,onSaveHost:Ie,onSavePort:Ke,onSaveAuthToken:Oe,onSaveManagementKey:Fe,onSaveConfig:c,onTestConnection:He}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:s("settingsProxy.fallbackSettings")}),e.jsxs("div",{className:"space-y-3 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:s("settingsProxy.enableFallback")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("settingsProxy.enableFallbackDesc")})]}),e.jsx(M,{checked:D.enabled??!0,onCheckedChange:r=>c({fallback:{...D,enabled:r}}),disabled:o||!m})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:s("settingsProxy.autoStartLocal")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("settingsProxy.autoStartLocalDesc")})]}),e.jsx(M,{checked:D.auto_start??!1,onCheckedChange:r=>c({fallback:{...D,auto_start:r}}),disabled:o||!m||!D.enabled})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("h3",{className:"text-base font-medium flex items-center gap-2",children:[e.jsx(ds,{className:"w-4 h-4"}),s("settingsProxy.advanced")]}),e.jsxs("div",{className:"space-y-3 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:s("settingsProxy.debugMode")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("settingsProxy.debugModeDesc")})]}),e.jsx(M,{checked:_,onCheckedChange:Ce,disabled:o})]}),_&&e.jsx("p",{className:"text-xs text-amber-600 dark:text-amber-400 pl-0.5",children:s("settingsProxy.debugModeEnabled")})]})]}),!m&&e.jsx(gs,{config:t,saving:o,displayLocalPort:ge,setEditedLocalPort:h,onSaveLocalPort:$e,onSaveConfig:c})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(z,{variant:"outline",size:"sm",onClick:()=>{a(),G(),l(),Q(),Z()},disabled:g||o||b,className:"w-full",children:[e.jsx(ae,{className:`w-4 h-4 mr-2 ${g?"animate-spin":""}`}),s("settings.refresh")]})})]})}export{Ts as default};