@kaitranntt/ccs 7.13.0-dev.1 → 7.13.0

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 (37) hide show
  1. package/dist/cliproxy/proxy-target-resolver.d.ts +1 -11
  2. package/dist/cliproxy/proxy-target-resolver.d.ts.map +1 -1
  3. package/dist/cliproxy/proxy-target-resolver.js +1 -22
  4. package/dist/cliproxy/proxy-target-resolver.js.map +1 -1
  5. package/dist/cliproxy/remote-auth-fetcher.d.ts.map +1 -1
  6. package/dist/cliproxy/remote-auth-fetcher.js +1 -9
  7. package/dist/cliproxy/remote-auth-fetcher.js.map +1 -1
  8. package/dist/cliproxy/stats-fetcher.d.ts.map +1 -1
  9. package/dist/cliproxy/stats-fetcher.js +6 -6
  10. package/dist/cliproxy/stats-fetcher.js.map +1 -1
  11. package/dist/config/unified-config-loader.d.ts.map +1 -1
  12. package/dist/config/unified-config-loader.js +0 -2
  13. package/dist/config/unified-config-loader.js.map +1 -1
  14. package/dist/config/unified-config-types.d.ts +1 -8
  15. package/dist/config/unified-config-types.d.ts.map +1 -1
  16. package/dist/config/unified-config-types.js.map +1 -1
  17. package/dist/ui/assets/{accounts-DKm_BUkJ.js → accounts-CYPk9fa-.js} +1 -1
  18. package/dist/ui/assets/{alert-dialog-BBbNIyvF.js → alert-dialog-BrIFqgMZ.js} +1 -1
  19. package/dist/ui/assets/{api-p6k8BwWO.js → api-Bi24p47r.js} +1 -1
  20. package/dist/ui/assets/{auth-section-B4wvcy8z.js → auth-section-3fqp84IR.js} +1 -1
  21. package/dist/ui/assets/{card-D6fGkasO.js → card-ClMztcJ3.js} +1 -1
  22. package/dist/ui/assets/cliproxy-CsE7HKWc.js +3 -0
  23. package/dist/ui/assets/{cliproxy-control-panel-D7gdCCO7.js → cliproxy-control-panel-Cahd6g6e.js} +1 -1
  24. package/dist/ui/assets/{confirm-dialog-D55Qga4b.js → confirm-dialog-ByvRv_aE.js} +1 -1
  25. package/dist/ui/assets/{copilot-fwj1xk6l.js → copilot-B4AE6FGx.js} +2 -2
  26. package/dist/ui/assets/{globalenv-section-DMSdqrn_.js → globalenv-section-CGdnlj1K.js} +1 -1
  27. package/dist/ui/assets/{health-65nETbIF.js → health-BINs7JKH.js} +1 -1
  28. package/dist/ui/assets/index-4FYBhG16.js +1 -0
  29. package/dist/ui/assets/{index-CwDi6WPm.js → index-CV_o8KZD.js} +1 -1
  30. package/dist/ui/assets/{index-BrijlHVl.js → index-Cf72mW4U.js} +1 -1
  31. package/dist/ui/assets/{index-8HAJX3-Y.js → index-DXF1Z58h.js} +2 -2
  32. package/dist/ui/assets/{shared-CMWj9K3T.js → shared-bCN7WjG_.js} +1 -1
  33. package/dist/ui/assets/{switch-D_o-N1Sa.js → switch-Big41pQ7.js} +1 -1
  34. package/dist/ui/index.html +1 -1
  35. package/package.json +1 -1
  36. package/dist/ui/assets/cliproxy-DuWY_mzK.js +0 -3
  37. package/dist/ui/assets/index-Dc8X9bLV.js +0 -1
@@ -1 +0,0 @@
1
- import{j as e}from"./radix-ui-uXQB-q0u.js";import{r as h}from"./react-vendor-B_CU-WTZ.js";import{aB as Z,aC as ee,af as L,I as w,O as te,Q as se,U as ae,V as oe,W as F,a as $,aD as re,ay as ne,aA as le,i as ce}from"./index-8HAJX3-Y.js";import{S as M}from"./switch-D_o-N1Sa.js";import{aw as B,a0 as R,e as de,n as D,W as ie,V as me,ax as xe}from"./icons-CwFZAiDB.js";import"./tanstack-Coed0rqz.js";import"./notifications-dJQY2-U6.js";import"./utils-CzKF5WmX.js";import"./form-utils-kUVlZZAO.js";import"./code-highlight-DKN39ySy.js";function ue(){const{state:s}=Z(),t=ee(),[l,c]=h.useState(null),[u,g]=h.useState(null),[p,i]=h.useState(null),[f,y]=h.useState(null),[j,b]=h.useState(null),v=h.useCallback(async()=>{try{t.setProxyLoading(!0),t.setProxyError(null);const n=await L.cliproxyServer.get();t.setProxyConfig(n)}catch(n){t.setProxyError(n.message)}finally{t.setProxyLoading(!1)}},[t]),N=h.useCallback(async n=>{const d=s.proxyConfig;if(!d)return;const m={remote:{...d.remote,...n.remote},fallback:{...d.fallback,...n.fallback},local:{...d.local,...n.local}};t.setProxyConfig(m),t.setProxyTestResult(null);try{t.setProxySaving(!0),t.setProxyError(null);const a=await L.cliproxyServer.update(n);t.setProxyConfig(a),t.setProxySuccess(!0),setTimeout(()=>t.setProxySuccess(!1),1500)}catch(a){t.setProxyConfig(d),t.setProxyError(a.message)}finally{t.setProxySaving(!1)}},[s.proxyConfig,t]),C=h.useCallback(async n=>{const{host:d,port:m,protocol:a,authToken:P}=n;if(!d){t.setProxyError("Host is required");return}try{t.setProxyTesting(!0),t.setProxyError(null),t.setProxyTestResult(null);const o=m?parseInt(m,10):void 0,x=await L.cliproxyServer.test({host:d,port:o||void 0,protocol:a,authToken:P||void 0});t.setProxyTestResult(x)}catch(o){t.setProxyError(o.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:l,setEditedHost:c,editedPort:u,setEditedPort:g,editedAuthToken:p,setEditedAuthToken:i,editedManagementKey:f,setEditedManagementKey:y,editedLocalPort:j,setEditedLocalPort:b,fetchConfig:v,saveConfig:N,testConnection:C}}function he({config:s,saving:t,displayLocalPort:l,setEditedLocalPort:c,onSaveLocalPort:u,onSaveConfig:g}){const p=s.local;return e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Local Proxy"}),e.jsxs("div",{className:"space-y-3 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Port"}),e.jsx(w,{type:"number",value:l,onChange:i=>c(i.target.value),onBlur:u,placeholder:"8317",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:"Auto-start"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Start local proxy automatically when needed"})]}),e.jsx(M,{checked:p.auto_start??!0,onCheckedChange:i=>g({local:{...p,auto_start:i}}),disabled:t})]})]})]})}function pe({config:s,saving:t,testing:l,testResult:c,displayHost:u,displayPort:g,displayAuthToken:p,displayManagementKey:i,setEditedHost:f,setEditedPort:y,setEditedAuthToken:j,setEditedManagementKey:b,onSaveHost:v,onSavePort:N,onSaveAuthToken:C,onSaveManagementKey:n,onSaveConfig:d,onTestConnection:m}){const a=s.remote,P=o=>o==="https"?443:8317;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(B,{className:"w-4 h-4"}),"Remote Server Configuration"]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Host"}),e.jsx(w,{value:u,onChange:o=>f(o.target.value),onBlur:v,placeholder:"192.168.1.100 or proxy.example.com",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:["Port"," ",e.jsxs("span",{className:"text-xs opacity-70",children:["(default: ",P(s.remote.protocol||"http"),")"]})]}),e.jsx(w,{type:"text",inputMode:"numeric",value:g,onChange:o=>y(o.target.value.replace(/\D/g,"")),onBlur:N,placeholder:`Leave empty for ${P(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:"Protocol"}),e.jsxs(te,{value:s.remote.protocol||"http",onValueChange:o=>d({remote:{...a,protocol:o}}),disabled:t,children:[e.jsx(se,{children:e.jsx(ae,{})}),e.jsxs(oe,{children:[e.jsx(F,{value:"http",children:"HTTP"}),e.jsx(F,{value:"https",children:"HTTPS"})]})]})]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"API Key (optional)"}),e.jsx(w,{type:"password",value:p,onChange:o=>j(o.target.value),onBlur:C,placeholder:"For /v1/* API endpoints",className:"font-mono",disabled:t}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Used for API requests to /v1/chat/completions"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Management Key (optional)"}),e.jsx(w,{type:"password",value:i,onChange:o=>b(o.target.value),onBlur:n,placeholder:"For /v0/management/* endpoints",className:"font-mono",disabled:t}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Used for dashboard management APIs. Falls back to API Key if not set."})]}),e.jsxs("div",{className:"space-y-3 pt-2",children:[e.jsx($,{onClick:m,disabled:l||!u,variant:"outline",className:"w-full",children:l?e.jsxs(e.Fragment,{children:[e.jsx(R,{className:"w-4 h-4 mr-2 animate-spin"}),"Testing..."]}):e.jsxs(e.Fragment,{children:[e.jsx(de,{className:"w-4 h-4 mr-2"}),"Test Connection"]})}),c&&e.jsx("div",{className:`p-3 rounded-md ${c.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:c.reachable?e.jsxs(e.Fragment,{children:[e.jsx(D,{className:"w-4 h-4 text-green-600 dark:text-green-400"}),e.jsxs("span",{className:"text-sm font-medium text-green-700 dark:text-green-300",children:["Connected (",c.latencyMs,"ms)"]})]}):e.jsxs(e.Fragment,{children:[e.jsx(ie,{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:c.error||"Connection failed"})]})})})]})]})}function Se(){const{config:s,loading:t,saving:l,error:c,success:u,testResult:g,testing:p,editedHost:i,setEditedHost:f,editedPort:y,setEditedPort:j,editedAuthToken:b,setEditedAuthToken:v,editedManagementKey:N,setEditedManagementKey:C,editedLocalPort:n,setEditedLocalPort:d,fetchConfig:m,saveConfig:a,testConnection:P}=ue(),{fetchRawConfig:o}=re();if(h.useEffect(()=>{m(),o()},[m,o]),t||!s)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(R,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:"Loading..."})]})});const x=s.remote.enabled??!1,k=s.remote,S=s.fallback,U=s.remote.host??"",V=s.remote.port!==void 0?s.remote.port.toString():"",W=s.remote.auth_token??"",q=s.remote.management_key??"",z=(s.local.port??8317).toString(),E=i??U,A=y??V,I=b??W,K=N??q,H=n??z,O=()=>{const r=i??E;r!==s.remote.host&&a({remote:{...k,host:r}}),f(null)},Q=()=>{const r=y??A,T=r===""?void 0:parseInt(r,10),_=T&&!isNaN(T)&&T>0?T:void 0;_!==s.remote.port&&a({remote:{...k,port:_}}),j(null)},G=()=>{const r=b??I;r!==s.remote.auth_token&&a({remote:{...k,auth_token:r}}),v(null)},J=()=>{const r=N??K;r!==s.remote.management_key&&a({remote:{...k,management_key:r||void 0}}),C(null)},X=()=>{const r=parseInt(n??H,10);!isNaN(r)&&r!==s.local.port&&a({local:{...s.local,port:r}}),d(null)},Y=()=>{P({host:E,port:A,protocol:s.remote.protocol||"http",authToken:I})};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 ${c||u?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[c&&e.jsxs(ne,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(me,{className:"h-4 w-4"}),e.jsx(le,{children:c})]}),u&&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(D,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:"Saved"})]})]}),e.jsx(ce,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Configure local or remote CLIProxy Plus connection for proxy-based profiles"}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Connection Mode"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("button",{onClick:()=>a({remote:{...k,enabled:!1}}),disabled:l,className:`p-4 rounded-lg border-2 text-left transition-all ${x?"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(xe,{className:`w-5 h-5 ${x?"text-muted-foreground":"text-primary"}`}),e.jsx("span",{className:"font-medium",children:"Local"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Run CLIProxy Plus binary on this machine"})]}),e.jsxs("button",{onClick:()=>a({remote:{...k,enabled:!0}}),disabled:l,className:`p-4 rounded-lg border-2 text-left transition-all ${x?"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(B,{className:`w-5 h-5 ${x?"text-primary":"text-muted-foreground"}`}),e.jsx("span",{className:"font-medium",children:"Remote"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Connect to a remote CLIProxy Plus server"})]})]})]}),x&&e.jsx(pe,{config:s,saving:l,testing:p,testResult:g,displayHost:E,displayPort:A,displayAuthToken:I,displayManagementKey:K,setEditedHost:f,setEditedPort:j,setEditedAuthToken:v,setEditedManagementKey:C,onSaveHost:O,onSavePort:Q,onSaveAuthToken:G,onSaveManagementKey:J,onSaveConfig:a,onTestConnection:Y}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Fallback Settings"}),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:"Enable fallback to local"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Use local proxy if remote is unreachable"})]}),e.jsx(M,{checked:S.enabled??!0,onCheckedChange:r=>a({fallback:{...S,enabled:r}}),disabled:l||!x})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-sm",children:"Auto-start local proxy"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Automatically start local proxy on fallback"})]}),e.jsx(M,{checked:S.auto_start??!1,onCheckedChange:r=>a({fallback:{...S,auto_start:r}}),disabled:l||!x||!S.enabled})]})]})]}),!x&&e.jsx(he,{config:s,saving:l,displayLocalPort:H,setEditedLocalPort:d,onSaveLocalPort:X,onSaveConfig:a})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs($,{variant:"outline",size:"sm",onClick:()=>{m(),o()},disabled:t||l,className:"w-full",children:[e.jsx(R,{className:`w-4 h-4 mr-2 ${t?"animate-spin":""}`}),"Refresh"]})})]})}export{Se as default};