@kaitranntt/ccs 6.6.0-dev.2 → 6.6.0-dev.3
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.
- package/README.md +1 -0
- package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
- package/dist/cliproxy/cliproxy-executor.js +208 -122
- package/dist/cliproxy/cliproxy-executor.js.map +1 -1
- package/dist/cliproxy/config-generator.d.ts +14 -0
- package/dist/cliproxy/config-generator.d.ts.map +1 -1
- package/dist/cliproxy/config-generator.js +31 -1
- package/dist/cliproxy/config-generator.js.map +1 -1
- package/dist/cliproxy/proxy-config-resolver.d.ts +79 -0
- package/dist/cliproxy/proxy-config-resolver.d.ts.map +1 -0
- package/dist/cliproxy/proxy-config-resolver.js +208 -0
- package/dist/cliproxy/proxy-config-resolver.js.map +1 -0
- package/dist/cliproxy/remote-proxy-client.d.ts +51 -0
- package/dist/cliproxy/remote-proxy-client.d.ts.map +1 -0
- package/dist/cliproxy/remote-proxy-client.js +198 -0
- package/dist/cliproxy/remote-proxy-client.js.map +1 -0
- package/dist/cliproxy/types.d.ts +24 -0
- package/dist/cliproxy/types.d.ts.map +1 -1
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +17 -0
- package/dist/commands/help-command.js.map +1 -1
- package/dist/config/unified-config-loader.d.ts.map +1 -1
- package/dist/config/unified-config-loader.js +23 -0
- package/dist/config/unified-config-loader.js.map +1 -1
- package/dist/config/unified-config-types.d.ts +56 -2
- package/dist/config/unified-config-types.d.ts.map +1 -1
- package/dist/config/unified-config-types.js +25 -2
- package/dist/config/unified-config-types.js.map +1 -1
- package/dist/ui/assets/{accounts-C1DiBVWf.js → accounts-DNYYJ7ul.js} +1 -1
- package/dist/ui/assets/{analytics-34-9qi4o.js → analytics-Dhp2ikxe.js} +1 -1
- package/dist/ui/assets/{api-Lcsxd42l.js → api-CZf-jQ-_.js} +1 -1
- package/dist/ui/assets/{card-tk5ihPK8.js → card--rU2tDlq.js} +1 -1
- package/dist/ui/assets/{cliproxy-lpz8UdFt.js → cliproxy-DZ_5oEVY.js} +1 -1
- package/dist/ui/assets/{cliproxy-control-panel-BzhsXWKa.js → cliproxy-control-panel-DKMAi4_4.js} +1 -1
- package/dist/ui/assets/{code-editor-rSl_-6ob.js → code-editor-CYOD5x0C.js} +1 -1
- package/dist/ui/assets/{copilot-Djc29_O8.js → copilot-Dd0yazW6.js} +2 -2
- package/dist/ui/assets/{health-ByL12ZVZ.js → health-CyZQOQg7.js} +1 -1
- package/dist/ui/assets/icons-BOsxPbiD.js +1 -0
- package/dist/ui/assets/index-Brq6EBKZ.css +1 -0
- package/dist/ui/assets/{index-c9idYjfn.js → index-Ced9Xuhx.js} +11 -11
- package/dist/ui/assets/settings-COL3veEu.js +1 -0
- package/dist/ui/assets/{shared-CojMqcSc.js → shared-BG9bijB0.js} +1 -1
- package/dist/ui/assets/{switch-BQbPcCIQ.js → switch-fBCFt0Fe.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/web-server/index.d.ts.map +1 -1
- package/dist/web-server/index.js +3 -0
- package/dist/web-server/index.js.map +1 -1
- package/dist/web-server/routes/proxy-routes.d.ts +11 -0
- package/dist/web-server/routes/proxy-routes.d.ts.map +1 -0
- package/dist/web-server/routes/proxy-routes.js +88 -0
- package/dist/web-server/routes/proxy-routes.js.map +1 -0
- package/package.json +1 -1
- package/dist/ui/assets/icons-U_6eBV_J.js +0 -1
- package/dist/ui/assets/index-CeV2P3Sp.css +0 -1
- package/dist/ui/assets/settings-BzHi9yIP.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./radix-ui-DFHQr9A5.js";import{k as as,r}from"./react-vendor-FspHSO0w.js";import{a1 as oe,a2 as rs,a3 as Ae,V as ls,W as ns,X as ce,a4 as os,B as w,a5 as ue,a6 as he,i as pe,I as G,z as cs,A as ds,E as is,F as ms,G as Re}from"./index-Ced9Xuhx.js";import{S as V}from"./switch-fBCFt0Fe.js";import{CodeEditor as xs}from"./code-editor-CYOD5x0C.js";import{J as k,am as us,z as hs,a6 as ps,k as bs,an as Ge,j as fs,o as gs,ac as be,l as se,t as de,x as ie,y as me,D as xe,N as js,V as Ns,ao as vs,ap as _e,e as ys,W as ws}from"./icons-BOsxPbiD.js";import"./tanstack-C4gT2P7V.js";import"./notifications-B2Pz7lik.js";import"./utils-CzKF5WmX.js";import"./form-utils-BuXDJb0w.js";import"./code-highlight-BoHWVYut.js";function Ms(){const[t]=as(),x=t.get("tab"),o=x==="globalenv"?"globalenv":x==="proxy"?"proxy":"websearch",[u,N]=r.useState(o),[l,h]=r.useState(null),[c,C]=r.useState(!0),[_,v]=r.useState(!1),[S,f]=r.useState(null),[F,d]=r.useState(!1),[E,D]=r.useState(null),[W,z]=r.useState(!0),[y,g]=r.useState(null),[I,M]=r.useState(!1),[O,$]=r.useState(!1),[L,P]=r.useState(""),[j,U]=r.useState(""),[J,T]=r.useState(!1),[A,K]=r.useState(!1),[X,te]=r.useState(!1),[p,H]=r.useState(null),[ae,n]=r.useState(!0),[Fe,fe]=r.useState(!1),[ze,Q]=r.useState(null),[Me,ge]=r.useState(!1),[re,je]=r.useState(""),[Ne,ve]=r.useState(""),[R,Z]=r.useState(null),[$e,ye]=r.useState(!0),[Be,we]=r.useState(!1),[Ve,B]=r.useState(null),[Oe,ke]=r.useState(!1),[He,le]=r.useState(null),[De,Ce]=r.useState(!1);r.useEffect(()=>{Se(),Ee(),Y(),Pe(),Te()},[]),r.useEffect(()=>{l&&(P(l.providers?.gemini?.model??"gemini-2.5-flash"),U(l.providers?.opencode?.model??"opencode/grok-code"))},[l]);const Se=async()=>{try{C(!0),f(null);const s=await fetch("/api/websearch");if(!s.ok)throw new Error("Failed to load WebSearch config");const a=await s.json();h(a)}catch(s){f(s.message)}finally{C(!1)}},Ee=async()=>{try{z(!0);const s=await fetch("/api/websearch/status");if(!s.ok)throw new Error("Failed to load status");const a=await s.json();D(a)}catch(s){console.error("Failed to fetch WebSearch status:",s)}finally{z(!1)}},Y=async()=>{try{M(!0);const s=await fetch("/api/config/raw");if(!s.ok){g(null);return}const a=await s.text();g(a)}catch(s){console.error("Failed to fetch raw config:",s),g(null)}finally{M(!1)}},Pe=async()=>{try{n(!0),Q(null);const s=await fetch("/api/global-env");if(!s.ok)throw new Error("Failed to load Global Env config");const a=await s.json();H(a)}catch(s){Q(s.message)}finally{n(!1)}},Te=async()=>{try{ye(!0),B(null);const s=await oe.cliproxyServer.get();Z(s)}catch(s){B(s.message)}finally{ye(!1)}},We=async()=>{if(y)try{await navigator.clipboard.writeText(y),$(!0),setTimeout(()=>$(!1),2e3)}catch(s){console.error("Failed to copy:",s)}},Ue=()=>{const s=l?.providers||{},a=s.gemini?.enabled??!1,i=s.grok?.enabled??!1,b=s.opencode?.enabled??!1;q({enabled:!a||i||b,providers:{...s,gemini:{...s.gemini,enabled:!a}}})},q=async s=>{if(!l)return;const a={...l,...s};h(a);try{v(!0),f(null);const i=await fetch("/api/websearch",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!i.ok){const m=await i.json();throw new Error(m.error||"Failed to save")}const b=await i.json();h(b.websearch),d(!0),setTimeout(()=>d(!1),1500),fetch("/api/config/raw").then(m=>m.ok?m.text():null).then(m=>m&&g(m)).catch(()=>{})}catch(i){h(l),f(i.message)}finally{v(!1)}},ne=l?.providers?.gemini?.enabled??!1,Ie=l?.providers?.grok?.enabled??!1,Le=l?.providers?.opencode?.enabled??!1,Ye=()=>{const s=l?.providers||{},a=s.grok?.enabled??!1;q({enabled:ne||!a||Le,providers:{...s,grok:{...s.grok,enabled:!a}}})},qe=()=>{const s=l?.providers||{},a=s.opencode?.enabled??!1;q({enabled:ne||Ie||!a,providers:{...s,opencode:{...s.opencode,enabled:!a}}})},Je=()=>{const s=l?.providers?.gemini?.model??"gemini-2.5-flash";if(L!==s){const a=l?.providers||{};q({providers:{...a,gemini:{...a.gemini,model:L}}})}},Ke=()=>{const s=l?.providers?.opencode?.model??"opencode/grok-code";if(j!==s){const a=l?.providers||{};q({providers:{...a,opencode:{...a.opencode,model:j}}})}},ee=async s=>{if(!p)return;const a={...p,...s};H(a);try{fe(!0),Q(null);const i=await fetch("/api/global-env",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!i.ok){const m=await i.json();throw new Error(m.error||"Failed to save")}const b=await i.json();H(b.config),ge(!0),setTimeout(()=>ge(!1),1500),fetch("/api/config/raw").then(m=>m.ok?m.text():null).then(m=>m&&g(m)).catch(()=>{})}catch(i){H(p),Q(i.message)}finally{fe(!1)}},Xe=()=>{ee({enabled:!p?.enabled})},Qe=()=>{if(!re.trim()||!p)return;const s={...p.env,[re.trim()]:Ne};ee({env:s}),je(""),ve("")},Ze=s=>{if(!p)return;const a={...p.env};delete a[s],ee({env:a})},es=(s,a)=>{if(!p)return;const i={...p.env,[s]:a};ee({env:i})},ss=async s=>{if(!R)return;const a={remote:{...R.remote,...s.remote},fallback:{...R.fallback,...s.fallback},local:{...R.local,...s.local}};Z(a),le(null);try{we(!0),B(null);const i=await oe.cliproxyServer.update(s);Z(i),ke(!0),setTimeout(()=>ke(!1),1500),fetch("/api/config/raw").then(b=>b.ok?b.text():null).then(b=>b&&g(b)).catch(()=>{})}catch(i){Z(R),B(i.message)}finally{we(!1)}},ts=async()=>{if(!R)return;const{host:s,port:a,protocol:i,auth_token:b}=R.remote;if(!s||!a){B("Host and port are required");return}try{Ce(!0),B(null),le(null);const m=await oe.cliproxyServer.test({host:s,port:a,protocol:i,authToken:b||void 0});le(m)}catch(m){B(m.message)}finally{Ce(!1)}};return c?e.jsx("div",{className:"h-[calc(100vh-100px)] flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[e.jsx(k,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{className:"text-lg",children:"Loading configuration..."})]})}):e.jsx("div",{className:"h-[calc(100vh-100px)]",children:e.jsxs(rs,{direction:"horizontal",className:"h-full",children:[e.jsx(Ae,{defaultSize:40,minSize:30,maxSize:55,children:e.jsxs("div",{className:"h-full border-r flex flex-col bg-muted/30 relative",children:[e.jsx("div",{className:"p-5 border-b bg-background",children:e.jsx(ls,{value:u,onValueChange:s=>N(s),children:e.jsxs(ns,{className:"w-full",children:[e.jsxs(ce,{value:"websearch",className:"flex-1 gap-2",children:[e.jsx(us,{className:"w-4 h-4"}),"WebSearch"]}),e.jsxs(ce,{value:"globalenv",className:"flex-1 gap-2",children:[e.jsx(hs,{className:"w-4 h-4"}),"Global Env"]}),e.jsxs(ce,{value:"proxy",className:"flex-1 gap-2",children:[e.jsx(ps,{className:"w-4 h-4"}),"Proxy"]})]})})}),u==="websearch"?e.jsx(ks,{config:l,status:E,statusLoading:W,saving:_,error:S,success:F,isGeminiEnabled:ne,isGrokEnabled:Ie,isOpenCodeEnabled:Le,geminiModelInput:L,opencodeModelInput:j,showGeminiHint:J,showOpencodeHint:A,showGrokHint:X,setGeminiModelInput:P,setOpencodeModelInput:U,setShowGeminiHint:T,setShowOpencodeHint:K,setShowGrokHint:te,toggleGemini:Ue,toggleGrok:Ye,toggleOpenCode:qe,saveGeminiModel:Je,saveOpencodeModel:Ke,fetchStatus:Ee,fetchConfig:Se,fetchRawConfig:Y,loading:c}):u==="globalenv"?e.jsx(Cs,{config:p,loading:ae,saving:Fe,error:ze,success:Me,newEnvKey:re,newEnvValue:Ne,setNewEnvKey:je,setNewEnvValue:ve,toggleGlobalEnv:Xe,addEnvVar:Qe,removeEnvVar:Ze,updateEnvValue:es,fetchGlobalEnvConfig:Pe,fetchRawConfig:Y}):e.jsx(Ss,{config:R,loading:$e,saving:Be,error:Ve,success:Oe,testResult:He,testing:De,saveCliproxyServerConfig:ss,handleTestConnection:ts,fetchCliproxyServerConfig:Te,fetchRawConfig:Y})]})}),e.jsx(os,{className:"w-2 bg-border hover:bg-primary/20 transition-colors cursor-col-resize flex items-center justify-center group",children:e.jsx(bs,{className:"w-3 h-3 text-muted-foreground group-hover:text-primary"})}),e.jsx(Ae,{defaultSize:60,minSize:35,children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"p-4 border-b bg-background flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(Ge,{className:"w-5 h-5 text-primary"}),e.jsxs("div",{children:[e.jsx("h2",{className:"font-semibold",children:"config.yaml"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"~/.ccs/config.yaml"})]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(w,{variant:"outline",size:"sm",onClick:We,disabled:!y,children:O?e.jsxs(e.Fragment,{children:[e.jsx(fs,{className:"w-4 h-4 mr-1"}),"Copied"]}):e.jsxs(e.Fragment,{children:[e.jsx(gs,{className:"w-4 h-4 mr-1"}),"Copy"]})}),e.jsx(w,{variant:"outline",size:"sm",onClick:Y,disabled:I,children:e.jsx(k,{className:`w-4 h-4 ${I?"animate-spin":""}`})})]})]}),e.jsx("div",{className:"flex-1 overflow-auto",children:I?e.jsxs("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:[e.jsx(k,{className:"w-5 h-5 animate-spin mr-2"}),"Loading..."]}):y?e.jsx(xs,{value:y,onChange:()=>{},language:"yaml",readonly:!0,minHeight:"auto",className:"min-h-full"}):e.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:e.jsxs("div",{className:"text-center",children:[e.jsx(Ge,{className:"w-12 h-12 mx-auto mb-3 opacity-30"}),e.jsx("p",{children:"Config file not found"}),e.jsx("code",{className:"text-sm bg-muted px-2 py-1 rounded mt-2 inline-block",children:"ccs migrate"})]})})})]})})]})})}function ks({status:t,statusLoading:x,saving:o,error:u,success:N,isGeminiEnabled:l,isGrokEnabled:h,isOpenCodeEnabled:c,geminiModelInput:C,opencodeModelInput:_,showGeminiHint:v,showOpencodeHint:S,showGrokHint:f,setGeminiModelInput:F,setOpencodeModelInput:d,setShowGeminiHint:E,setShowOpencodeHint:D,setShowGrokHint:W,toggleGemini:z,toggleGrok:y,toggleOpenCode:g,saveGeminiModel:I,saveOpencodeModel:M,fetchStatus:O,fetchConfig:$,fetchRawConfig:L,loading:P}){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||N?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[u&&e.jsxs(ue,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(be,{className:"h-4 w-4"}),e.jsx(he,{children:u})]}),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(se,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:"Saved"})]})]}),e.jsx(pe,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"CLI-based web search for third-party profiles (gemini, codex, agy, etc.)"}),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:l?"WebSearch enabled":"WebSearch disabled"}),x?e.jsx("p",{className:"text-sm text-muted-foreground",children:"Checking status..."}):t?.readiness?e.jsx("p",{className:"text-sm text-muted-foreground",children:t.readiness.message}):null]}),e.jsx(w,{variant:"ghost",size:"sm",onClick:O,disabled:x,children:e.jsx(k,{className:`w-4 h-4 ${x?"animate-spin":""}`})})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Providers"}),e.jsxs("div",{className:`rounded-lg border transition-colors ${l?"border-primary border-l-4":"border-border"}`,children:[e.jsxs("div",{className:"flex items-center justify-between p-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(de,{className:`w-5 h-5 ${l?"text-primary":"text-muted-foreground"}`}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("p",{className:"font-mono font-medium",children:"gemini"}),e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-500/10 text-green-600 font-medium",children:"FREE"}),t?.geminiCli?.installed?e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-500/10 text-green-600 font-medium",children:"installed"}):e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-amber-500/10 text-amber-600 font-medium",children:"not installed"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Google Gemini CLI (1000 req/day free)"})]})]}),e.jsx(V,{checked:l,onCheckedChange:z,disabled:o||!t?.geminiCli?.installed})]}),l&&e.jsx("div",{className:"px-4 pb-4 pt-0",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("label",{className:"text-sm text-muted-foreground whitespace-nowrap",children:"Model:"}),e.jsx(G,{value:C,onChange:j=>F(j.target.value),onBlur:I,placeholder:"gemini-2.5-flash",className:"h-8 text-sm font-mono",disabled:o})]})}),!t?.geminiCli?.installed&&!x&&e.jsxs("div",{className:"px-4 pb-4 pt-0 border-t border-border/50",children:[e.jsxs("button",{onClick:()=>E(!v),className:"flex items-center gap-2 text-sm text-amber-600 dark:text-amber-400 hover:underline w-full py-2",children:[v?e.jsx(ie,{className:"w-4 h-4"}):e.jsx(me,{className:"w-4 h-4"}),"How to install Gemini CLI"]}),v&&e.jsxs("div",{className:"mt-2 p-3 rounded-md bg-amber-50 dark:bg-amber-900/20 text-sm",children:[e.jsx("p",{className:"text-amber-700 dark:text-amber-300 mb-2",children:"Install globally (FREE tier available):"}),e.jsx("code",{className:"text-sm bg-amber-100 dark:bg-amber-900/40 px-2 py-1 rounded font-mono block mb-2",children:"npm install -g @google/gemini-cli"}),e.jsxs("a",{href:"https://github.com/google-gemini/gemini-cli",target:"_blank",rel:"noopener noreferrer",className:"text-amber-700 dark:text-amber-300 hover:underline inline-flex items-center gap-1",children:[e.jsx(xe,{className:"w-3 h-3"}),"View documentation"]})]})]})]}),e.jsxs("div",{className:`rounded-lg border transition-colors ${c?"border-primary border-l-4":"border-border"}`,children:[e.jsxs("div",{className:"flex items-center justify-between p-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(de,{className:`w-5 h-5 ${c?"text-primary":"text-muted-foreground"}`}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("p",{className:"font-mono font-medium",children:"opencode"}),e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-500/10 text-green-600 font-medium",children:"FREE"}),t?.opencodeCli?.installed?e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-500/10 text-green-600 font-medium",children:"installed"}):e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-amber-500/10 text-amber-600 font-medium",children:"not installed"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"OpenCode (web search via Zen)"})]})]}),e.jsx(V,{checked:c,onCheckedChange:g,disabled:o||!t?.opencodeCli?.installed})]}),c&&e.jsx("div",{className:"px-4 pb-4 pt-0",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("label",{className:"text-sm text-muted-foreground whitespace-nowrap",children:"Model:"}),e.jsx(G,{value:_,onChange:j=>d(j.target.value),onBlur:M,placeholder:"opencode/grok-code",className:"h-8 text-sm font-mono",disabled:o})]})}),!t?.opencodeCli?.installed&&!x&&e.jsxs("div",{className:"px-4 pb-4 pt-0 border-t border-border/50",children:[e.jsxs("button",{onClick:()=>D(!S),className:"flex items-center gap-2 text-sm text-purple-600 dark:text-purple-400 hover:underline w-full py-2",children:[S?e.jsx(ie,{className:"w-4 h-4"}):e.jsx(me,{className:"w-4 h-4"}),"How to install OpenCode"]}),S&&e.jsxs("div",{className:"mt-2 p-3 rounded-md bg-purple-50 dark:bg-purple-900/20 text-sm",children:[e.jsx("p",{className:"text-purple-700 dark:text-purple-300 mb-2",children:"Install globally (FREE tier available):"}),e.jsx("code",{className:"text-sm bg-purple-100 dark:bg-purple-900/40 px-2 py-1 rounded font-mono block mb-2",children:"curl -fsSL https://opencode.ai/install | bash"}),e.jsxs("a",{href:"https://github.com/sst/opencode",target:"_blank",rel:"noopener noreferrer",className:"text-purple-700 dark:text-purple-300 hover:underline inline-flex items-center gap-1",children:[e.jsx(xe,{className:"w-3 h-3"}),"View documentation"]})]})]})]}),e.jsxs("div",{className:`rounded-lg border transition-colors ${h?"border-primary border-l-4":"border-border"}`,children:[e.jsxs("div",{className:"flex items-center justify-between p-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(de,{className:`w-5 h-5 ${h?"text-primary":"text-muted-foreground"}`}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("p",{className:"font-mono font-medium",children:"grok"}),e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-blue-500/10 text-blue-600 font-medium",children:"GROK_API_KEY"}),t?.grokCli?.installed?e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-500/10 text-green-600 font-medium",children:"installed"}):e.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-amber-500/10 text-amber-600 font-medium",children:"not installed"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"xAI Grok CLI (web + X search)"})]})]}),e.jsx(V,{checked:h,onCheckedChange:y,disabled:o||!t?.grokCli?.installed})]}),!t?.grokCli?.installed&&!x&&e.jsxs("div",{className:"px-4 pb-4 pt-0 border-t border-border/50",children:[e.jsxs("button",{onClick:()=>W(!f),className:"flex items-center gap-2 text-sm text-blue-600 dark:text-blue-400 hover:underline w-full py-2",children:[f?e.jsx(ie,{className:"w-4 h-4"}):e.jsx(me,{className:"w-4 h-4"}),"How to install Grok CLI"]}),f&&e.jsxs("div",{className:"mt-2 p-3 rounded-md bg-blue-50 dark:bg-blue-900/20 text-sm",children:[e.jsx("p",{className:"text-blue-700 dark:text-blue-300 mb-2",children:"Install globally (requires xAI API key):"}),e.jsx("code",{className:"text-sm bg-blue-100 dark:bg-blue-900/40 px-2 py-1 rounded font-mono block mb-2",children:"npm install -g @vibe-kit/grok-cli"}),e.jsxs("a",{href:"https://github.com/superagent-ai/grok-cli",target:"_blank",rel:"noopener noreferrer",className:"text-blue-700 dark:text-blue-300 hover:underline inline-flex items-center gap-1",children:[e.jsx(xe,{className:"w-3 h-3"}),"View documentation"]})]})]})]})]})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(w,{variant:"outline",size:"sm",onClick:()=>{$(),L()},disabled:P||o,className:"w-full",children:[e.jsx(k,{className:`w-4 h-4 mr-2 ${P?"animate-spin":""}`}),"Refresh"]})})]})}function Cs({config:t,loading:x,saving:o,error:u,success:N,newEnvKey:l,newEnvValue:h,setNewEnvKey:c,setNewEnvValue:C,toggleGlobalEnv:_,addEnvVar:v,removeEnvVar:S,fetchGlobalEnvConfig:f,fetchRawConfig:F}){return x?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(k,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:"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 ${u||N?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[u&&e.jsxs(ue,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(be,{className:"h-4 w-4"}),e.jsx(he,{children:u})]}),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(se,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:"Saved"})]})]}),e.jsx(pe,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Environment variables injected into all non-Claude subscription profiles (gemini, codex, agy, copilot, etc.)"}),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?.enabled?"Global Env enabled":"Global Env disabled"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t?.enabled?"Env vars will be injected into third-party profiles":"Env vars will not be injected"})]}),e.jsx(V,{checked:t?.enabled??!0,onCheckedChange:_})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:"Environment Variables"}),t?.env&&Object.keys(t.env).length>0?e.jsx("div",{className:"space-y-2",children:Object.entries(t.env).map(([d,E])=>e.jsxs("div",{className:"flex items-center gap-2 p-3 rounded-lg border bg-background",children:[e.jsx("code",{className:"flex-1 font-mono text-sm truncate",children:d}),e.jsx("span",{className:"text-muted-foreground",children:"="}),e.jsx("code",{className:"font-mono text-sm px-2 py-1 bg-muted rounded",children:E}),e.jsx(w,{variant:"ghost",size:"sm",onClick:()=>S(d),disabled:o,className:"h-8 w-8 p-0 text-destructive hover:text-destructive hover:bg-destructive/10",children:e.jsx(js,{className:"w-4 h-4"})})]},d))}):e.jsx("div",{className:"p-4 rounded-lg border border-dashed text-center text-muted-foreground",children:e.jsx("p",{children:"No environment variables configured"})}),e.jsxs("div",{className:"p-4 rounded-lg border bg-muted/30",children:[e.jsx("h4",{className:"text-sm font-medium mb-3",children:"Add New Variable"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(G,{value:l,onChange:d=>c(d.target.value.toUpperCase()),placeholder:"KEY_NAME",className:"flex-1 font-mono text-sm h-9",disabled:o}),e.jsx("span",{className:"flex items-center text-muted-foreground",children:"="}),e.jsx(G,{value:h,onChange:d=>C(d.target.value),placeholder:"value",className:"flex-1 font-mono text-sm h-9",disabled:o}),e.jsxs(w,{size:"sm",onClick:v,disabled:o||!l.trim(),className:"h-9",children:[e.jsx(Ns,{className:"w-4 h-4 mr-1"}),"Add"]})]})]}),e.jsxs("div",{className:"p-4 rounded-lg border bg-muted/30",children:[e.jsx("h4",{className:"text-sm font-medium mb-3",children:"Quick Add Common Variables"}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[[{key:"DISABLE_BUG_COMMAND",value:"1"},{key:"DISABLE_ERROR_REPORTING",value:"1"},{key:"DISABLE_TELEMETRY",value:"1"}].map(({key:d,value:E})=>!t?.env?.[d]&&e.jsxs(w,{variant:"outline",size:"sm",onClick:()=>{c(d),C(E)},className:"text-xs font-mono",children:["+ ",d]},d)),t?.env&&["DISABLE_BUG_COMMAND","DISABLE_ERROR_REPORTING","DISABLE_TELEMETRY"].every(d=>t.env[d])&&e.jsx("span",{className:"text-sm text-muted-foreground",children:"All common variables are configured"})]})]})]})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(w,{variant:"outline",size:"sm",onClick:()=>{f(),F()},disabled:x||o,className:"w-full",children:[e.jsx(k,{className:`w-4 h-4 mr-2 ${x?"animate-spin":""}`}),"Refresh"]})})]})}function Ss({config:t,loading:x,saving:o,error:u,success:N,testResult:l,testing:h,saveCliproxyServerConfig:c,handleTestConnection:C,fetchCliproxyServerConfig:_,fetchRawConfig:v}){const S={enabled:!1,host:"",port:8317,protocol:"http",auth_token:""},f={enabled:!0,auto_start:!0},F={port:8317,auto_start:!0},d=t?.remote.host??"",E=(t?.remote.port??8317).toString(),D=t?.remote.auth_token??"",W=(t?.local.port??8317).toString(),[z,y]=r.useState(null),[g,I]=r.useState(null),[M,O]=r.useState(null),[$,L]=r.useState(null),P=z??d,j=g??E,U=M??D,J=$??W;if(x)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(k,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:"Loading..."})]})});const T=t?.remote.enabled??!1,A=t?.remote??S,K=t?.fallback??f,X=t?.local??F,te=()=>{const n=z??P;n!==t?.remote.host&&c({remote:{...A,host:n}}),y(null)},p=()=>{const n=parseInt(g??j,10);!isNaN(n)&&n!==t?.remote.port&&c({remote:{...A,port:n}}),I(null)},H=()=>{const n=M??U;n!==t?.remote.auth_token&&c({remote:{...A,auth_token:n}}),O(null)},ae=()=>{const n=parseInt($??J,10);!isNaN(n)&&n!==t?.local.port&&c({local:{...X,port:n}}),L(null)};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||N?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[u&&e.jsxs(ue,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(be,{className:"h-4 w-4"}),e.jsx(he,{children:u})]}),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(se,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:"Saved"})]})]}),e.jsx(pe,{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 CLIProxyAPI 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:()=>c({remote:{...A,enabled:!1}}),disabled:o,className:`p-4 rounded-lg border-2 text-left transition-all ${T?"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(vs,{className:`w-5 h-5 ${T?"text-muted-foreground":"text-primary"}`}),e.jsx("span",{className:"font-medium",children:"Local"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Run CLIProxyAPI binary on this machine"})]}),e.jsxs("button",{onClick:()=>c({remote:{...A,enabled:!0}}),disabled:o,className:`p-4 rounded-lg border-2 text-left transition-all ${T?"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(_e,{className:`w-5 h-5 ${T?"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 CLIProxyAPI server"})]})]})]}),T&&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(_e,{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(G,{value:P,onChange:n=>y(n.target.value),onBlur:te,placeholder:"192.168.1.100 or proxy.example.com",className:"font-mono",disabled:o})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Port"}),e.jsx(G,{type:"number",value:j,onChange:n=>I(n.target.value),onBlur:p,placeholder:"8317",className:"font-mono",disabled:o})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Protocol"}),e.jsxs(cs,{value:t?.remote.protocol||"http",onValueChange:n=>c({remote:{...A,protocol:n}}),disabled:o,children:[e.jsx(ds,{children:e.jsx(is,{})}),e.jsxs(ms,{children:[e.jsx(Re,{value:"http",children:"HTTP"}),e.jsx(Re,{value:"https",children:"HTTPS"})]})]})]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-sm text-muted-foreground",children:"Auth Token (optional)"}),e.jsx(G,{type:"password",value:U,onChange:n=>O(n.target.value),onBlur:H,placeholder:"Bearer token for authentication",className:"font-mono",disabled:o})]}),e.jsxs("div",{className:"space-y-3 pt-2",children:[e.jsx(w,{onClick:C,disabled:h||!P||!j,variant:"outline",className:"w-full",children:h?e.jsxs(e.Fragment,{children:[e.jsx(k,{className:"w-4 h-4 mr-2 animate-spin"}),"Testing..."]}):e.jsxs(e.Fragment,{children:[e.jsx(ys,{className:"w-4 h-4 mr-2"}),"Test Connection"]})}),l&&e.jsx("div",{className:`p-3 rounded-md ${l.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:l.reachable?e.jsxs(e.Fragment,{children:[e.jsx(se,{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 (",l.latencyMs,"ms)"]})]}):e.jsxs(e.Fragment,{children:[e.jsx(ws,{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:l.error||"Connection failed"})]})})})]})]}),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(V,{checked:t?.fallback.enabled??!0,onCheckedChange:n=>c({fallback:{...K,enabled:n}}),disabled:o||!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 local proxy"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Automatically start local proxy on fallback"})]}),e.jsx(V,{checked:t?.fallback.auto_start??!1,onCheckedChange:n=>c({fallback:{...K,auto_start:n}}),disabled:o||!T||!t?.fallback.enabled})]})]})]}),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(G,{type:"number",value:J,onChange:n=>L(n.target.value),onBlur:ae,placeholder:"8317",className:"font-mono max-w-32",disabled:o})]}),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(V,{checked:t?.local.auto_start??!0,onCheckedChange:n=>c({local:{...X,auto_start:n}}),disabled:o})]})]})]})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(w,{variant:"outline",size:"sm",onClick:()=>{_(),v()},disabled:x||o,className:"w-full",children:[e.jsx(k,{className:`w-4 h-4 mr-2 ${x?"animate-spin":""}`}),"Refresh"]})})]})}export{Ms as SettingsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as s}from"./radix-ui-DFHQr9A5.js";import{r as d}from"./react-vendor-FspHSO0w.js";import{C as l,a as m}from"./card
|
|
1
|
+
import{j as s}from"./radix-ui-DFHQr9A5.js";import{r as d}from"./react-vendor-FspHSO0w.js";import{C as l,a as m}from"./card--rU2tDlq.js";import{aa as c,ab as x,a5 as u,ac as h,a6 as p,B as g}from"./index-Ced9Xuhx.js";import{s as j,Y as f,as as N,T as b}from"./icons-BOsxPbiD.js";import"./tanstack-C4gT2P7V.js";import"./notifications-B2Pz7lik.js";import"./utils-CzKF5WmX.js";import"./form-utils-BuXDJb0w.js";import"./code-highlight-BoHWVYut.js";function D(){const[t,r]=d.useState("commands"),{data:e}=c(),{data:n,isLoading:i}=x(t),o=[{id:"commands",label:"Commands",icon:j,count:e?.commands??0},{id:"skills",label:"Skills",icon:f,count:e?.skills??0},{id:"agents",label:"Agents",icon:N,count:e?.agents??0}];return s.jsxs("div",{className:"p-6 max-w-6xl mx-auto space-y-8",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-bold",children:"Shared Data"}),s.jsx("p",{className:"text-muted-foreground",children:"Commands, skills, and agents shared across Claude instances"})]}),e&&!e.symlinkStatus.valid&&s.jsxs(u,{variant:"warning",children:[s.jsx(b,{className:"h-4 w-4"}),s.jsx(h,{children:"Configuration Required"}),s.jsxs(p,{children:[e.symlinkStatus.message,". Run `ccs sync` to configure."]})]}),s.jsx("div",{className:"flex gap-2 border-b pb-2",children:o.map(a=>s.jsxs(g,{variant:t===a.id?"default":"ghost",size:"sm",onClick:()=>r(a.id),className:"flex items-center gap-2",children:[s.jsx(a.icon,{className:"w-4 h-4"}),a.label," (",a.count,")"]},a.id))}),s.jsx("div",{className:"mt-4",children:i?s.jsx("div",{className:"text-muted-foreground",children:"Loading..."}):n?.items.length===0?s.jsxs("div",{className:"text-muted-foreground",children:["No ",t," found"]}):s.jsx("div",{className:"grid gap-3",children:n?.items.map(a=>s.jsx(l,{children:s.jsxs(m,{children:[s.jsx("div",{className:"font-medium",children:a.name}),s.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:a.description}),s.jsx("p",{className:"text-xs text-muted-foreground mt-2 font-mono truncate",children:a.path})]})},a.name))})})]})}export{D as SharedPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as a,a8 as s,a9 as n}from"./radix-ui-DFHQr9A5.js";import"./react-vendor-FspHSO0w.js";import{c as e}from"./index-
|
|
1
|
+
import{j as a,a8 as s,a9 as n}from"./radix-ui-DFHQr9A5.js";import"./react-vendor-FspHSO0w.js";import{c as e}from"./index-Ced9Xuhx.js";function c({className:t,...r}){return a.jsx(s,{"data-slot":"switch",className:e("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...r,children:a.jsx(n,{"data-slot":"switch-thumb",className:e("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}export{c as S};
|
package/dist/ui/index.html
CHANGED
|
@@ -24,16 +24,16 @@
|
|
|
24
24
|
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap"
|
|
25
25
|
rel="stylesheet"
|
|
26
26
|
/>
|
|
27
|
-
<script type="module" crossorigin src="/assets/index-
|
|
27
|
+
<script type="module" crossorigin src="/assets/index-Ced9Xuhx.js"></script>
|
|
28
28
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-FspHSO0w.js">
|
|
29
29
|
<link rel="modulepreload" crossorigin href="/assets/radix-ui-DFHQr9A5.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/assets/tanstack-C4gT2P7V.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/notifications-B2Pz7lik.js">
|
|
32
32
|
<link rel="modulepreload" crossorigin href="/assets/utils-CzKF5WmX.js">
|
|
33
|
-
<link rel="modulepreload" crossorigin href="/assets/icons-
|
|
33
|
+
<link rel="modulepreload" crossorigin href="/assets/icons-BOsxPbiD.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/form-utils-BuXDJb0w.js">
|
|
35
35
|
<link rel="modulepreload" crossorigin href="/assets/code-highlight-BoHWVYut.js">
|
|
36
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
36
|
+
<link rel="stylesheet" crossorigin href="/assets/index-Brq6EBKZ.css">
|
|
37
37
|
</head>
|
|
38
38
|
<body>
|
|
39
39
|
<div id="root"></div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web-server/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAGH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAGrC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,GAAG,EAAE,eAAe,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web-server/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAGH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAGrC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,GAAG,EAAE,eAAe,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CA2DjF"}
|
package/dist/web-server/index.js
CHANGED
|
@@ -60,6 +60,9 @@ async function startServer(options) {
|
|
|
60
60
|
// Usage analytics routes
|
|
61
61
|
const { usageRoutes } = await Promise.resolve().then(() => __importStar(require('./usage-routes')));
|
|
62
62
|
app.use('/api/usage', usageRoutes);
|
|
63
|
+
// CLIProxy server settings routes (Phase 5)
|
|
64
|
+
const cliproxyServerRoutes = (await Promise.resolve().then(() => __importStar(require('./routes/proxy-routes')))).default;
|
|
65
|
+
app.use('/api/cliproxy-server', cliproxyServerRoutes);
|
|
63
66
|
// Dev mode: use Vite middleware for HMR
|
|
64
67
|
if (options.dev) {
|
|
65
68
|
const { createServer: createViteServer } = await Promise.resolve().then(() => __importStar(require('vite')));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web-server/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sDAA8B;AAC9B,gDAAwB;AACxB,gDAAwB;AACxB,2BAAqC;AACrC,2CAA6C;AAc7C;;GAEG;AACI,KAAK,UAAU,WAAW,CAAC,OAAsB;IACtD,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;IACtB,MAAM,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,oBAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C,oBAAoB;IACpB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,6BAA6B;IAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAC;IAC/C,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE3B,gCAAgC;IAChC,MAAM,EAAE,YAAY,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;IACzD,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAErC,6BAA6B;IAC7B,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;IAC7D,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAEzC,yBAAyB;IACzB,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,gBAAgB,GAAC,CAAC;IACvD,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAEnC,wCAAwC;IACxC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,wDAAa,MAAM,GAAC,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC;YAClC,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;YACtC,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;YAChC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,+CAA+C;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACrE,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAEnC,0DAA0D;QAC1D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACzB,GAAG,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,0BAAc,EAAC,GAAG,CAAC,CAAC;IAExC,kBAAkB;IAClB,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;QAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;YAC/B,6DAA6D;YAC7D,uEAAuE;YACvE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web-server/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sDAA8B;AAC9B,gDAAwB;AACxB,gDAAwB;AACxB,2BAAqC;AACrC,2CAA6C;AAc7C;;GAEG;AACI,KAAK,UAAU,WAAW,CAAC,OAAsB;IACtD,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;IACtB,MAAM,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,oBAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C,oBAAoB;IACpB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,6BAA6B;IAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAC;IAC/C,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE3B,gCAAgC;IAChC,MAAM,EAAE,YAAY,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;IACzD,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAErC,6BAA6B;IAC7B,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;IAC7D,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAEzC,yBAAyB;IACzB,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,gBAAgB,GAAC,CAAC;IACvD,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAEnC,4CAA4C;IAC5C,MAAM,oBAAoB,GAAG,CAAC,wDAAa,uBAAuB,GAAC,CAAC,CAAC,OAAO,CAAC;IAC7E,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;IAEtD,wCAAwC;IACxC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,wDAAa,MAAM,GAAC,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC;YAClC,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;YACtC,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;YAChC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,+CAA+C;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACrE,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAEnC,0DAA0D;QAC1D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACzB,GAAG,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,0BAAc,EAAC,GAAG,CAAC,CAAC;IAExC,kBAAkB;IAClB,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;QAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;YAC/B,6DAA6D;YAC7D,uEAAuE;YACvE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AA3DD,kCA2DC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLIProxy Server Routes - API endpoints for proxy configuration
|
|
3
|
+
*
|
|
4
|
+
* Provides REST endpoints for managing CLIProxyAPI connection settings:
|
|
5
|
+
* - GET /api/cliproxy-server - Get proxy configuration
|
|
6
|
+
* - PUT /api/cliproxy-server - Update proxy configuration
|
|
7
|
+
* - POST /api/cliproxy-server/test - Test remote connection
|
|
8
|
+
*/
|
|
9
|
+
declare const router: import("express-serve-static-core").Router;
|
|
10
|
+
export default router;
|
|
11
|
+
//# sourceMappingURL=proxy-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/proxy-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,QAAA,MAAM,MAAM,4CAAW,CAAC;AA8ExB,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CLIProxy Server Routes - API endpoints for proxy configuration
|
|
4
|
+
*
|
|
5
|
+
* Provides REST endpoints for managing CLIProxyAPI connection settings:
|
|
6
|
+
* - GET /api/cliproxy-server - Get proxy configuration
|
|
7
|
+
* - PUT /api/cliproxy-server - Update proxy configuration
|
|
8
|
+
* - POST /api/cliproxy-server/test - Test remote connection
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
const express_1 = require("express");
|
|
12
|
+
const unified_config_loader_1 = require("../../config/unified-config-loader");
|
|
13
|
+
const remote_proxy_client_1 = require("../../cliproxy/remote-proxy-client");
|
|
14
|
+
const unified_config_types_1 = require("../../config/unified-config-types");
|
|
15
|
+
const router = (0, express_1.Router)();
|
|
16
|
+
/**
|
|
17
|
+
* GET /api/cliproxy-server - Get proxy configuration
|
|
18
|
+
*/
|
|
19
|
+
router.get('/', async (_req, res) => {
|
|
20
|
+
try {
|
|
21
|
+
const config = await (0, unified_config_loader_1.loadOrCreateUnifiedConfig)();
|
|
22
|
+
res.json(config.cliproxy_server || unified_config_types_1.DEFAULT_CLIPROXY_SERVER_CONFIG);
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
console.error('[cliproxy-server-routes] Failed to load proxy config:', error);
|
|
26
|
+
res.status(500).json({ error: 'Failed to load proxy config' });
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* PUT /api/cliproxy-server - Update proxy configuration
|
|
31
|
+
*/
|
|
32
|
+
router.put('/', async (req, res) => {
|
|
33
|
+
try {
|
|
34
|
+
const config = await (0, unified_config_loader_1.loadOrCreateUnifiedConfig)();
|
|
35
|
+
const updates = req.body;
|
|
36
|
+
// Deep merge with defaults and current config
|
|
37
|
+
config.cliproxy_server = {
|
|
38
|
+
remote: {
|
|
39
|
+
...unified_config_types_1.DEFAULT_CLIPROXY_SERVER_CONFIG.remote,
|
|
40
|
+
...config.cliproxy_server?.remote,
|
|
41
|
+
...updates.remote,
|
|
42
|
+
},
|
|
43
|
+
fallback: {
|
|
44
|
+
...unified_config_types_1.DEFAULT_CLIPROXY_SERVER_CONFIG.fallback,
|
|
45
|
+
...config.cliproxy_server?.fallback,
|
|
46
|
+
...updates.fallback,
|
|
47
|
+
},
|
|
48
|
+
local: {
|
|
49
|
+
...unified_config_types_1.DEFAULT_CLIPROXY_SERVER_CONFIG.local,
|
|
50
|
+
...config.cliproxy_server?.local,
|
|
51
|
+
...updates.local,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
await (0, unified_config_loader_1.saveUnifiedConfig)(config);
|
|
55
|
+
res.json(config.cliproxy_server);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
console.error('[cliproxy-server-routes] Failed to save proxy config:', error);
|
|
59
|
+
res.status(500).json({ error: 'Failed to save proxy config' });
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
/**
|
|
63
|
+
* POST /api/cliproxy-server/test - Test remote proxy connection
|
|
64
|
+
*/
|
|
65
|
+
router.post('/test', async (req, res) => {
|
|
66
|
+
try {
|
|
67
|
+
const { host, port, protocol, authToken, allowSelfSigned } = req.body;
|
|
68
|
+
if (!host || !port) {
|
|
69
|
+
res.status(400).json({ error: 'Host and port are required' });
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const status = await (0, remote_proxy_client_1.testConnection)({
|
|
73
|
+
host,
|
|
74
|
+
port: typeof port === 'number' ? port : parseInt(port, 10),
|
|
75
|
+
protocol: protocol || 'http',
|
|
76
|
+
authToken,
|
|
77
|
+
allowSelfSigned: allowSelfSigned || false,
|
|
78
|
+
timeout: 5000,
|
|
79
|
+
});
|
|
80
|
+
res.json(status);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.error('[cliproxy-server-routes] Failed to test connection:', error);
|
|
84
|
+
res.status(500).json({ error: 'Failed to test connection' });
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
exports.default = router;
|
|
88
|
+
//# sourceMappingURL=proxy-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/proxy-routes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as y}from"./react-vendor-FspHSO0w.js";const _=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),M=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,c,o)=>o?o.toUpperCase():c.toLowerCase()),d=t=>{const a=M(t);return a.charAt(0).toUpperCase()+a.slice(1)},r=(...t)=>t.filter((a,c,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===c).join(" ").trim(),m=t=>{for(const a in t)if(a.startsWith("aria-")||a==="role"||a==="title")return!0};var v={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const x=y.forwardRef(({color:t="currentColor",size:a=24,strokeWidth:c=2,absoluteStrokeWidth:o,className:s="",children:n,iconNode:i,...h},k)=>y.createElement("svg",{ref:k,...v,width:a,height:a,stroke:t,strokeWidth:o?Number(c)*24/Number(a):c,className:r("lucide",s),...!n&&!m(h)&&{"aria-hidden":"true"},...h},[...i.map(([p,l])=>y.createElement(p,l)),...Array.isArray(n)?n:[n]]));const e=(t,a)=>{const c=y.forwardRef(({className:o,...s},n)=>y.createElement(x,{ref:n,iconNode:a,className:r(`lucide-${_(d(t))}`,`lucide-${t}`,o),...s}));return c.displayName=d(t),c};const f=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],Z1=e("activity",f);const g=[["path",{d:"M17 7 7 17",key:"15tmo1"}],["path",{d:"M17 17H7V7",key:"1org7z"}]],K1=e("arrow-down-left",g);const w=[["path",{d:"m7 7 10 10",key:"1fmybs"}],["path",{d:"M17 7v10H7",key:"6fjiku"}]],X1=e("arrow-down-right",w);const $=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],J1=e("arrow-left",$);const N=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],Q1=e("arrow-up-right",N);const u=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Y1=e("arrow-up",u);const z=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],e2=e("book-open",z);const b=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],a2=e("bot",b);const C=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],t2=e("calendar",C);const j=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],c2=e("chart-column",j);const q=[["path",{d:"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",key:"pzmjnu"}],["path",{d:"M21.21 15.89A10 10 0 1 1 8 2.83",key:"k2fpak"}]],o2=e("chart-pie",q);const A=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],n2=e("check",A);const H=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],y2=e("chevron-down",H);const L=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],s2=e("chevron-left",L);const V=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],h2=e("chevron-right",V);const S=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],d2=e("chevron-up",S);const E=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],r2=e("circle-alert",E);const R=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],i2=e("circle-check-big",R);const P=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],k2=e("circle-check",P);const U=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],p2=e("circle-x",U);const B=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],l2=e("circle",B);const D=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],_2=e("clock",D);const G=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],M2=e("code-xml",G);const O=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],m2=e("code",O);const F=[["circle",{cx:"8",cy:"8",r:"6",key:"3yglwk"}],["path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18",key:"t5s6rm"}],["path",{d:"M7 6h1v4",key:"1obek4"}],["path",{d:"m16.71 13.88.7.71-2.82 2.82",key:"1rbuyh"}]],v2=e("coins",F);const T=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],x2=e("copy",T);const W=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],f2=e("cpu",W);const I=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],g2=e("database",I);const Z=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],w2=e("dollar-sign",Z);const K=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],$2=e("download",K);const X=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],N2=e("ellipsis",X);const J=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],u2=e("external-link",J);const Q=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],z2=e("eye-off",Q);const Y=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],b2=e("eye",Y);const e1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]],C2=e("file-braces",e1);const a1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]],j2=e("file-code",a1);const t1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],q2=e("file-exclamation-point",t1);const c1=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],A2=e("file-text",c1);const o1=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],H2=e("folder-open",o1);const n1=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],L2=e("gauge",n1);const y1=[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]],V2=e("git-branch",y1);const s1=[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]],S2=e("github",s1);const h1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],E2=e("globe",h1);const d1=[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]],R2=e("grip-horizontal",d1);const r1=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],P2=e("grip-vertical",r1);const i1=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],U2=e("heart",i1);const k1=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],B2=e("house",k1);const p1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],D2=e("info",p1);const l1=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],G2=e("key",l1);const _1=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],O2=e("loader-circle",_1);const M1=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],F2=e("monitor",M1);const m1=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],T2=e("moon",m1);const v1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]],W2=e("panel-left",v1);const x1=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],I2=e("plus",x1);const f1=[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],Z2=e("power-off",f1);const g1=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],K2=e("power",g1);const w1=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],X2=e("radio",w1);const $1=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],J2=e("refresh-cw",$1);const N1=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Q2=e("rotate-ccw",N1);const u1=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],Y2=e("rotate-cw",u1);const z1=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],e0=e("save",z1);const b1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],a0=e("search",b1);const C1=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],t0=e("server",C1);const j1=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],c0=e("settings-2",j1);const q1=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],o0=e("settings",q1);const A1=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],n0=e("shield",A1);const H1=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],y0=e("sparkles",H1);const L1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],s0=e("square",L1);const V1=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],h0=e("star",V1);const S1=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],d0=e("sun",S1);const E1=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],r0=e("terminal",E1);const R1=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],i0=e("trash-2",R1);const P1=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],k0=e("trending-up",P1);const U1=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],p0=e("triangle-alert",U1);const B1=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],l0=e("user",B1);const D1=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],_0=e("users",D1);const G1=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],M0=e("wifi-off",G1);const O1=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],m0=e("wifi",O1);const F1=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],v0=e("wrench",F1);const T1=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],x0=e("x",T1);const W1=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],f0=e("zap",W1);export{l0 as $,Z1 as A,e2 as B,c2 as C,u2 as D,z2 as E,H2 as F,L2 as G,B2 as H,D2 as I,J2 as J,G2 as K,O2 as L,T2 as M,i0 as N,e0 as O,W2 as P,M2 as Q,Q2 as R,o0 as S,p0 as T,_0 as U,I2 as V,M0 as W,x0 as X,y0 as Y,f0 as Z,h0 as _,S2 as a,N2 as a0,s2 as a1,t2 as a2,w2 as a3,g2 as a4,X1 as a5,t0 as a6,v2 as a7,f2 as a8,k0 as a9,o2 as aa,a0 as ab,r2 as ac,C2 as ad,J1 as ae,Y1 as af,K2 as ag,Y2 as ah,s0 as ai,V2 as aj,$2 as ak,Z2 as al,E2 as am,j2 as an,v0 as ao,F2 as ap,a2 as aq,h2 as b,d0 as c,b2 as d,m0 as e,n0 as f,U2 as g,i2 as h,l2 as i,n2 as j,P2 as k,k2 as l,p2 as m,X2 as n,x2 as o,q2 as p,R2 as q,_2 as r,A2 as s,r0 as t,m2 as u,Q1 as v,K1 as w,d2 as x,y2 as y,c0 as z};
|