@kaitranntt/ccs 6.3.0 → 6.3.1-dev.2

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 (42) hide show
  1. package/VERSION +1 -1
  2. package/dist/cliproxy/auth-handler.d.ts +2 -0
  3. package/dist/cliproxy/auth-handler.d.ts.map +1 -1
  4. package/dist/cliproxy/auth-handler.js +53 -17
  5. package/dist/cliproxy/auth-handler.js.map +1 -1
  6. package/dist/cliproxy/project-selection-handler.d.ts +105 -0
  7. package/dist/cliproxy/project-selection-handler.d.ts.map +1 -0
  8. package/dist/cliproxy/project-selection-handler.js +167 -0
  9. package/dist/cliproxy/project-selection-handler.js.map +1 -0
  10. package/dist/ui/assets/accounts-aPbCYgXy.js +1 -0
  11. package/dist/ui/assets/analytics-ByHzJ4fO.js +1 -0
  12. package/dist/ui/assets/api-DRVliui6.js +1 -0
  13. package/dist/ui/assets/{card-hUyd6mu6.js → card-CkFFTnqL.js} +1 -1
  14. package/dist/ui/assets/{cliproxy-TVYzmdkO.js → cliproxy-CJ5njiYX.js} +1 -1
  15. package/dist/ui/assets/{cliproxy-control-panel-DHNn28w-.js → cliproxy-control-panel-C9y82uCL.js} +1 -1
  16. package/dist/ui/assets/{code-editor-CWdcthn9.js → code-editor-D1jkWlaX.js} +1 -1
  17. package/dist/ui/assets/{health-f1Fkz7cW.js → health-B4BNP_1z.js} +1 -1
  18. package/dist/ui/assets/icons-B9AtZK5c.js +1 -0
  19. package/dist/ui/assets/index-B_6ILhjh.css +1 -0
  20. package/dist/ui/assets/index-EyLCmFok.js +44 -0
  21. package/dist/ui/assets/{settings-BH91Yptp.js → settings-DcAQTmWn.js} +1 -1
  22. package/dist/ui/assets/{shared-CeKGr53-.js → shared-DJshj6er.js} +1 -1
  23. package/dist/ui/index.html +3 -3
  24. package/dist/utils/websearch-manager.d.ts +13 -1
  25. package/dist/utils/websearch-manager.d.ts.map +1 -1
  26. package/dist/utils/websearch-manager.js +65 -9
  27. package/dist/utils/websearch-manager.js.map +1 -1
  28. package/dist/web-server/routes.d.ts.map +1 -1
  29. package/dist/web-server/routes.js +35 -0
  30. package/dist/web-server/routes.js.map +1 -1
  31. package/dist/web-server/websocket.d.ts +1 -0
  32. package/dist/web-server/websocket.d.ts.map +1 -1
  33. package/dist/web-server/websocket.js +35 -0
  34. package/dist/web-server/websocket.js.map +1 -1
  35. package/lib/hooks/websearch-transformer.cjs +4 -4
  36. package/package.json +1 -1
  37. package/dist/ui/assets/accounts-DcZFhjtV.js +0 -1
  38. package/dist/ui/assets/analytics-B9CrpW1U.js +0 -1
  39. package/dist/ui/assets/api-DB8LWT9I.js +0 -1
  40. package/dist/ui/assets/icons-c6upgjX9.js +0 -1
  41. package/dist/ui/assets/index-7H5_evyQ.js +0 -44
  42. package/dist/ui/assets/index-BtU3eYYT.css +0 -1
@@ -1 +1 @@
1
- import{j as e,a8 as ie,a9 as oe}from"./radix-ui-VbLlN_Dz.js";import{r}from"./react-vendor-DMek_JCF.js";import{c as Y,U as de,V as q,W as ce,X as me,i as xe,B as j,I as D,Y as pe}from"./index-7H5_evyQ.js";import{CodeEditor as he}from"./code-editor-CWdcthn9.js";import{n as u,ab as ue,a4 as ge,i as be,Y as z,t as L,s as F,a7 as R,h as fe,ac as K,l as je,m as Ne}from"./icons-c6upgjX9.js";import"./tanstack-yybD444-.js";import"./notifications-cqk-Qeo2.js";import"./utils-CzKF5WmX.js";import"./form-utils-BXvNPyud.js";import"./code-highlight-C2TXE0-z.js";function H({className:a,...d}){return e.jsx(ie,{"data-slot":"switch",className:Y("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",a),...d,children:e.jsx(oe,{"data-slot":"switch-thumb",className:Y("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")})})}function Le(){const[a,d]=r.useState(null),[N,M]=r.useState(!0),[c,O]=r.useState(!1),[v,g]=r.useState(null),[$,A]=r.useState(!1),[n,X]=r.useState(null),[m,P]=r.useState(!0),[x,b]=r.useState(null),[w,T]=r.useState(!1),[J,W]=r.useState(!1),[k,V]=r.useState(""),[y,_]=r.useState(""),[C,Z]=r.useState(!1),[S,Q]=r.useState(!1),[E,ee]=r.useState(!1);r.useEffect(()=>{B(),U(),G()},[]),r.useEffect(()=>{a&&(V(a.providers?.gemini?.model??"gemini-2.5-flash"),_(a.providers?.opencode?.model??"opencode/grok-code"))},[a]);const B=async()=>{try{M(!0),g(null);const s=await fetch("/api/websearch");if(!s.ok)throw new Error("Failed to load WebSearch config");const t=await s.json();d(t)}catch(s){g(s.message)}finally{M(!1)}},U=async()=>{try{P(!0);const s=await fetch("/api/websearch/status");if(!s.ok)throw new Error("Failed to load status");const t=await s.json();X(t)}catch(s){console.error("Failed to fetch WebSearch status:",s)}finally{P(!1)}},G=async()=>{try{T(!0);const s=await fetch("/api/config/raw");if(!s.ok){b(null);return}const t=await s.text();b(t)}catch(s){console.error("Failed to fetch raw config:",s),b(null)}finally{T(!1)}},se=async()=>{if(x)try{await navigator.clipboard.writeText(x),W(!0),setTimeout(()=>W(!1),2e3)}catch(s){console.error("Failed to copy:",s)}},te=()=>{const s=a?.providers||{},t=s.gemini?.enabled??!1,i=s.grok?.enabled??!1,I=s.opencode?.enabled??!1;p({enabled:!t||i||I,providers:{...s,gemini:{...s.gemini,enabled:!t}}})},p=async s=>{if(!a)return;const t={...a,...s};d(t);try{O(!0),g(null);const i=await fetch("/api/websearch",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!i.ok){const o=await i.json();throw new Error(o.error||"Failed to save")}const I=await i.json();d(I.websearch),A(!0),setTimeout(()=>A(!1),1500),fetch("/api/config/raw").then(o=>o.ok?o.text():null).then(o=>o&&b(o)).catch(()=>{})}catch(i){d(a),g(i.message)}finally{O(!1)}},l=a?.providers?.gemini?.enabled??!1,f=a?.providers?.grok?.enabled??!1,h=a?.providers?.opencode?.enabled??!1,ae=()=>{const s=a?.providers||{},t=s.grok?.enabled??!1;p({enabled:l||!t||h,providers:{...s,grok:{...s.grok,enabled:!t}}})},re=()=>{const s=a?.providers||{},t=s.opencode?.enabled??!1;p({enabled:l||f||!t,providers:{...s,opencode:{...s.opencode,enabled:!t}}})},ne=()=>{const s=a?.providers?.gemini?.model??"gemini-2.5-flash";if(k!==s){const t=a?.providers||{};p({providers:{...t,gemini:{...t.gemini,model:k}}})}},le=()=>{const s=a?.providers?.opencode?.model??"opencode/grok-code";if(y!==s){const t=a?.providers||{};p({providers:{...t,opencode:{...t.opencode,model:y}}})}};return N?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(u,{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(de,{direction:"horizontal",className:"h-full",children:[e.jsx(q,{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.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ue,{className:"w-6 h-6 text-primary"}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-lg font-semibold",children:"WebSearch"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"CLI-based web search for third-party profiles"})]})]})}),e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${v||$?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[v&&e.jsxs(ce,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(ge,{className:"h-4 w-4"}),e.jsx(me,{children:v})]}),$&&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(be,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:"Saved"})]})]}),e.jsx(xe,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[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"}),m?e.jsx("p",{className:"text-sm text-muted-foreground",children:"Checking status..."}):n?.readiness?e.jsx("p",{className:"text-sm text-muted-foreground",children:n.readiness.message}):null]}),e.jsx(j,{variant:"ghost",size:"sm",onClick:U,disabled:m,children:e.jsx(u,{className:`w-4 h-4 ${m?"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(z,{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"}),n?.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(H,{checked:l,onCheckedChange:te,disabled:c||!n?.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(D,{value:k,onChange:s=>V(s.target.value),onBlur:ne,placeholder:"gemini-2.5-flash",className:"h-8 text-sm font-mono",disabled:c})]})}),!n?.geminiCli?.installed&&!m&&e.jsxs("div",{className:"px-4 pb-4 pt-0 border-t border-border/50",children:[e.jsxs("button",{onClick:()=>Z(!C),className:"flex items-center gap-2 text-sm text-amber-600 dark:text-amber-400 hover:underline w-full py-2",children:[C?e.jsx(L,{className:"w-4 h-4"}):e.jsx(F,{className:"w-4 h-4"}),"How to install Gemini CLI"]}),C&&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(R,{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(z,{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:"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"}),n?.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(H,{checked:h,onCheckedChange:re,disabled:c||!n?.opencodeCli?.installed})]}),h&&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(D,{value:y,onChange:s=>_(s.target.value),onBlur:le,placeholder:"opencode/grok-code",className:"h-8 text-sm font-mono",disabled:c})]})}),!n?.opencodeCli?.installed&&!m&&e.jsxs("div",{className:"px-4 pb-4 pt-0 border-t border-border/50",children:[e.jsxs("button",{onClick:()=>Q(!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(L,{className:"w-4 h-4"}):e.jsx(F,{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(R,{className:"w-3 h-3"}),"View documentation"]})]})]})]}),e.jsxs("div",{className:`rounded-lg border transition-colors ${f?"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(z,{className:`w-5 h-5 ${f?"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"}),n?.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(H,{checked:f,onCheckedChange:ae,disabled:c||!n?.grokCli?.installed})]}),!n?.grokCli?.installed&&!m&&e.jsxs("div",{className:"px-4 pb-4 pt-0 border-t border-border/50",children:[e.jsxs("button",{onClick:()=>ee(!E),className:"flex items-center gap-2 text-sm text-blue-600 dark:text-blue-400 hover:underline w-full py-2",children:[E?e.jsx(L,{className:"w-4 h-4"}):e.jsx(F,{className:"w-4 h-4"}),"How to install Grok CLI"]}),E&&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(R,{className:"w-3 h-3"}),"View documentation"]})]})]})]})]})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(j,{variant:"outline",size:"sm",onClick:()=>{B(),G()},disabled:N||c,className:"w-full",children:[e.jsx(u,{className:`w-4 h-4 mr-2 ${N?"animate-spin":""}`}),"Refresh"]})})]})}),e.jsx(pe,{className:"w-2 bg-border hover:bg-primary/20 transition-colors cursor-col-resize flex items-center justify-center group",children:e.jsx(fe,{className:"w-3 h-3 text-muted-foreground group-hover:text-primary"})}),e.jsx(q,{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(K,{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(j,{variant:"outline",size:"sm",onClick:se,disabled:!x,children:J?e.jsxs(e.Fragment,{children:[e.jsx(je,{className:"w-4 h-4 mr-1"}),"Copied"]}):e.jsxs(e.Fragment,{children:[e.jsx(Ne,{className:"w-4 h-4 mr-1"}),"Copy"]})}),e.jsx(j,{variant:"outline",size:"sm",onClick:G,disabled:w,children:e.jsx(u,{className:`w-4 h-4 ${w?"animate-spin":""}`})})]})]}),e.jsx("div",{className:"flex-1 overflow-auto",children:w?e.jsxs("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:[e.jsx(u,{className:"w-5 h-5 animate-spin mr-2"}),"Loading..."]}):x?e.jsx(he,{value:x,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(K,{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"})]})})})]})})]})})}export{Le as SettingsPage};
1
+ import{j as e,a8 as ie,a9 as oe}from"./radix-ui-VbLlN_Dz.js";import{r}from"./react-vendor-DMek_JCF.js";import{c as q,U as de,V as D,W as ce,X as me,i as xe,B as j,I as K,Y as pe}from"./index-EyLCmFok.js";import{CodeEditor as he}from"./code-editor-D1jkWlaX.js";import{p as u,ad as ue,a6 as ge,l as be,$ as z,v as L,u as F,a9 as R,k as fe,ae as X,j as je,o as Ne}from"./icons-B9AtZK5c.js";import"./tanstack-yybD444-.js";import"./notifications-cqk-Qeo2.js";import"./utils-CzKF5WmX.js";import"./form-utils-BXvNPyud.js";import"./code-highlight-C2TXE0-z.js";function H({className:a,...d}){return e.jsx(ie,{"data-slot":"switch",className:q("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",a),...d,children:e.jsx(oe,{"data-slot":"switch-thumb",className:q("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")})})}function Le(){const[a,d]=r.useState(null),[N,$]=r.useState(!0),[c,M]=r.useState(!1),[v,g]=r.useState(null),[O,A]=r.useState(!1),[n,Y]=r.useState(null),[m,P]=r.useState(!0),[x,b]=r.useState(null),[w,T]=r.useState(!1),[J,W]=r.useState(!1),[k,V]=r.useState(""),[y,_]=r.useState(""),[C,Z]=r.useState(!1),[S,Q]=r.useState(!1),[E,ee]=r.useState(!1);r.useEffect(()=>{B(),U(),G()},[]),r.useEffect(()=>{a&&(V(a.providers?.gemini?.model??"gemini-2.5-flash"),_(a.providers?.opencode?.model??"opencode/grok-code"))},[a]);const B=async()=>{try{$(!0),g(null);const s=await fetch("/api/websearch");if(!s.ok)throw new Error("Failed to load WebSearch config");const t=await s.json();d(t)}catch(s){g(s.message)}finally{$(!1)}},U=async()=>{try{P(!0);const s=await fetch("/api/websearch/status");if(!s.ok)throw new Error("Failed to load status");const t=await s.json();Y(t)}catch(s){console.error("Failed to fetch WebSearch status:",s)}finally{P(!1)}},G=async()=>{try{T(!0);const s=await fetch("/api/config/raw");if(!s.ok){b(null);return}const t=await s.text();b(t)}catch(s){console.error("Failed to fetch raw config:",s),b(null)}finally{T(!1)}},se=async()=>{if(x)try{await navigator.clipboard.writeText(x),W(!0),setTimeout(()=>W(!1),2e3)}catch(s){console.error("Failed to copy:",s)}},te=()=>{const s=a?.providers||{},t=s.gemini?.enabled??!1,i=s.grok?.enabled??!1,I=s.opencode?.enabled??!1;p({enabled:!t||i||I,providers:{...s,gemini:{...s.gemini,enabled:!t}}})},p=async s=>{if(!a)return;const t={...a,...s};d(t);try{M(!0),g(null);const i=await fetch("/api/websearch",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!i.ok){const o=await i.json();throw new Error(o.error||"Failed to save")}const I=await i.json();d(I.websearch),A(!0),setTimeout(()=>A(!1),1500),fetch("/api/config/raw").then(o=>o.ok?o.text():null).then(o=>o&&b(o)).catch(()=>{})}catch(i){d(a),g(i.message)}finally{M(!1)}},l=a?.providers?.gemini?.enabled??!1,f=a?.providers?.grok?.enabled??!1,h=a?.providers?.opencode?.enabled??!1,ae=()=>{const s=a?.providers||{},t=s.grok?.enabled??!1;p({enabled:l||!t||h,providers:{...s,grok:{...s.grok,enabled:!t}}})},re=()=>{const s=a?.providers||{},t=s.opencode?.enabled??!1;p({enabled:l||f||!t,providers:{...s,opencode:{...s.opencode,enabled:!t}}})},ne=()=>{const s=a?.providers?.gemini?.model??"gemini-2.5-flash";if(k!==s){const t=a?.providers||{};p({providers:{...t,gemini:{...t.gemini,model:k}}})}},le=()=>{const s=a?.providers?.opencode?.model??"opencode/grok-code";if(y!==s){const t=a?.providers||{};p({providers:{...t,opencode:{...t.opencode,model:y}}})}};return N?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(u,{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(de,{direction:"horizontal",className:"h-full",children:[e.jsx(D,{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.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ue,{className:"w-6 h-6 text-primary"}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-lg font-semibold",children:"WebSearch"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"CLI-based web search for third-party profiles"})]})]})}),e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${v||O?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[v&&e.jsxs(ce,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(ge,{className:"h-4 w-4"}),e.jsx(me,{children:v})]}),O&&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(be,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:"Saved"})]})]}),e.jsx(xe,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[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"}),m?e.jsx("p",{className:"text-sm text-muted-foreground",children:"Checking status..."}):n?.readiness?e.jsx("p",{className:"text-sm text-muted-foreground",children:n.readiness.message}):null]}),e.jsx(j,{variant:"ghost",size:"sm",onClick:U,disabled:m,children:e.jsx(u,{className:`w-4 h-4 ${m?"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(z,{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"}),n?.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(H,{checked:l,onCheckedChange:te,disabled:c||!n?.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(K,{value:k,onChange:s=>V(s.target.value),onBlur:ne,placeholder:"gemini-2.5-flash",className:"h-8 text-sm font-mono",disabled:c})]})}),!n?.geminiCli?.installed&&!m&&e.jsxs("div",{className:"px-4 pb-4 pt-0 border-t border-border/50",children:[e.jsxs("button",{onClick:()=>Z(!C),className:"flex items-center gap-2 text-sm text-amber-600 dark:text-amber-400 hover:underline w-full py-2",children:[C?e.jsx(L,{className:"w-4 h-4"}):e.jsx(F,{className:"w-4 h-4"}),"How to install Gemini CLI"]}),C&&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(R,{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(z,{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:"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"}),n?.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(H,{checked:h,onCheckedChange:re,disabled:c||!n?.opencodeCli?.installed})]}),h&&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(K,{value:y,onChange:s=>_(s.target.value),onBlur:le,placeholder:"opencode/grok-code",className:"h-8 text-sm font-mono",disabled:c})]})}),!n?.opencodeCli?.installed&&!m&&e.jsxs("div",{className:"px-4 pb-4 pt-0 border-t border-border/50",children:[e.jsxs("button",{onClick:()=>Q(!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(L,{className:"w-4 h-4"}):e.jsx(F,{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(R,{className:"w-3 h-3"}),"View documentation"]})]})]})]}),e.jsxs("div",{className:`rounded-lg border transition-colors ${f?"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(z,{className:`w-5 h-5 ${f?"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"}),n?.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(H,{checked:f,onCheckedChange:ae,disabled:c||!n?.grokCli?.installed})]}),!n?.grokCli?.installed&&!m&&e.jsxs("div",{className:"px-4 pb-4 pt-0 border-t border-border/50",children:[e.jsxs("button",{onClick:()=>ee(!E),className:"flex items-center gap-2 text-sm text-blue-600 dark:text-blue-400 hover:underline w-full py-2",children:[E?e.jsx(L,{className:"w-4 h-4"}):e.jsx(F,{className:"w-4 h-4"}),"How to install Grok CLI"]}),E&&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(R,{className:"w-3 h-3"}),"View documentation"]})]})]})]})]})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(j,{variant:"outline",size:"sm",onClick:()=>{B(),G()},disabled:N||c,className:"w-full",children:[e.jsx(u,{className:`w-4 h-4 mr-2 ${N?"animate-spin":""}`}),"Refresh"]})})]})}),e.jsx(pe,{className:"w-2 bg-border hover:bg-primary/20 transition-colors cursor-col-resize flex items-center justify-center group",children:e.jsx(fe,{className:"w-3 h-3 text-muted-foreground group-hover:text-primary"})}),e.jsx(D,{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(X,{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(j,{variant:"outline",size:"sm",onClick:se,disabled:!x,children:J?e.jsxs(e.Fragment,{children:[e.jsx(je,{className:"w-4 h-4 mr-1"}),"Copied"]}):e.jsxs(e.Fragment,{children:[e.jsx(Ne,{className:"w-4 h-4 mr-1"}),"Copy"]})}),e.jsx(j,{variant:"outline",size:"sm",onClick:G,disabled:w,children:e.jsx(u,{className:`w-4 h-4 ${w?"animate-spin":""}`})})]})]}),e.jsx("div",{className:"flex-1 overflow-auto",children:w?e.jsxs("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:[e.jsx(u,{className:"w-5 h-5 animate-spin mr-2"}),"Loading..."]}):x?e.jsx(he,{value:x,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(X,{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"})]})})})]})})]})})}export{Le as SettingsPage};
@@ -1 +1 @@
1
- import{j as s}from"./radix-ui-VbLlN_Dz.js";import{r as d}from"./react-vendor-DMek_JCF.js";import{C as l,a as m}from"./card-hUyd6mu6.js";import{a0 as c,a1 as x,W as u,a2 as h,X as p,B as g}from"./index-7H5_evyQ.js";import{J as j,u as f,af as N,T as b}from"./icons-c6upgjX9.js";import"./tanstack-yybD444-.js";import"./notifications-cqk-Qeo2.js";import"./utils-CzKF5WmX.js";import"./form-utils-BXvNPyud.js";import"./code-highlight-C2TXE0-z.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
+ import{j as s}from"./radix-ui-VbLlN_Dz.js";import{r as d}from"./react-vendor-DMek_JCF.js";import{C as l,a as m}from"./card-CkFFTnqL.js";import{a0 as c,a1 as x,W as u,a2 as h,X as p,B as g}from"./index-EyLCmFok.js";import{O as j,w as f,ah as N,T as b}from"./icons-B9AtZK5c.js";import"./tanstack-yybD444-.js";import"./notifications-cqk-Qeo2.js";import"./utils-CzKF5WmX.js";import"./form-utils-BXvNPyud.js";import"./code-highlight-C2TXE0-z.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};
@@ -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-7H5_evyQ.js"></script>
27
+ <script type="module" crossorigin src="/assets/index-EyLCmFok.js"></script>
28
28
  <link rel="modulepreload" crossorigin href="/assets/react-vendor-DMek_JCF.js">
29
29
  <link rel="modulepreload" crossorigin href="/assets/radix-ui-VbLlN_Dz.js">
30
30
  <link rel="modulepreload" crossorigin href="/assets/tanstack-yybD444-.js">
31
31
  <link rel="modulepreload" crossorigin href="/assets/notifications-cqk-Qeo2.js">
32
32
  <link rel="modulepreload" crossorigin href="/assets/utils-CzKF5WmX.js">
33
- <link rel="modulepreload" crossorigin href="/assets/icons-c6upgjX9.js">
33
+ <link rel="modulepreload" crossorigin href="/assets/icons-B9AtZK5c.js">
34
34
  <link rel="modulepreload" crossorigin href="/assets/form-utils-BXvNPyud.js">
35
35
  <link rel="modulepreload" crossorigin href="/assets/code-highlight-C2TXE0-z.js">
36
- <link rel="stylesheet" crossorigin href="/assets/index-BtU3eYYT.css">
36
+ <link rel="stylesheet" crossorigin href="/assets/index-B_6ILhjh.css">
37
37
  </head>
38
38
  <body>
39
39
  <div id="root"></div>
@@ -33,6 +33,16 @@ export declare function getGeminiCliStatus(): GeminiCliStatus;
33
33
  * Check if Gemini CLI is available (quick boolean check)
34
34
  */
35
35
  export declare function hasGeminiCli(): boolean;
36
+ /**
37
+ * Check if Gemini CLI is authenticated
38
+ *
39
+ * Gemini CLI stores OAuth credentials in ~/.gemini/oauth_creds.json
40
+ * Authentication is done by running `gemini` which opens browser for OAuth.
41
+ * Note: There is NO `gemini auth login` command - just run `gemini` to authenticate.
42
+ *
43
+ * @returns true if oauth_creds.json exists with access_token
44
+ */
45
+ export declare function isGeminiAuthenticated(): boolean;
36
46
  /**
37
47
  * Clear Gemini CLI cache (for testing or after installation)
38
48
  */
@@ -158,13 +168,14 @@ export declare function getWebSearchHookEnv(): Record<string, string>;
158
168
  /**
159
169
  * WebSearch availability status for third-party profiles
160
170
  */
161
- export type WebSearchReadiness = 'ready' | 'unavailable';
171
+ export type WebSearchReadiness = 'ready' | 'needs_auth' | 'unavailable';
162
172
  /**
163
173
  * WebSearch status for display
164
174
  */
165
175
  export interface WebSearchStatus {
166
176
  readiness: WebSearchReadiness;
167
177
  geminiCli: boolean;
178
+ geminiAuthenticated: boolean;
168
179
  grokCli: boolean;
169
180
  opencodeCli: boolean;
170
181
  message: string;
@@ -173,6 +184,7 @@ export interface WebSearchStatus {
173
184
  * Get WebSearch readiness status for display
174
185
  *
175
186
  * Called on third-party profile startup to inform user.
187
+ * Checks both installation AND authentication status for Gemini CLI.
176
188
  */
177
189
  export declare function getWebSearchReadiness(): WebSearchStatus;
178
190
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"websearch-manager.d.ts","sourceRoot":"","sources":["../../src/utils/websearch-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websearch-manager.d.ts","sourceRoot":"","sources":["../../src/utils/websearch-manager.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
37
37
  return result;
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.getMcpConfigPath = exports.hasMcpWebSearch = exports.ensureMcpWebSearch = exports.displayWebSearchStatus = exports.getWebSearchReadiness = exports.getWebSearchHookEnv = exports.getWebSearchHookConfig = exports.hasWebSearchHook = exports.installWebSearchHook = exports.getCliInstallHints = exports.hasAnyWebSearchCli = exports.getWebSearchCliProviders = exports.clearAllCliCaches = exports.clearOpenCodeCliCache = exports.hasOpenCodeCli = exports.getOpenCodeCliStatus = exports.clearGrokCliCache = exports.hasGrokCli = exports.getGrokCliStatus = exports.clearGeminiCliCache = exports.hasGeminiCli = exports.getGeminiCliStatus = void 0;
40
+ exports.getMcpConfigPath = exports.hasMcpWebSearch = exports.ensureMcpWebSearch = exports.displayWebSearchStatus = exports.getWebSearchReadiness = exports.getWebSearchHookEnv = exports.getWebSearchHookConfig = exports.hasWebSearchHook = exports.installWebSearchHook = exports.getCliInstallHints = exports.hasAnyWebSearchCli = exports.getWebSearchCliProviders = exports.clearAllCliCaches = exports.clearOpenCodeCliCache = exports.hasOpenCodeCli = exports.getOpenCodeCliStatus = exports.clearGrokCliCache = exports.hasGrokCli = exports.getGrokCliStatus = exports.clearGeminiCliCache = exports.isGeminiAuthenticated = exports.hasGeminiCli = exports.getGeminiCliStatus = void 0;
41
41
  const fs = __importStar(require("fs"));
42
42
  const path = __importStar(require("path"));
43
43
  const os = __importStar(require("os"));
@@ -116,6 +116,31 @@ function hasGeminiCli() {
116
116
  return getGeminiCliStatus().installed;
117
117
  }
118
118
  exports.hasGeminiCli = hasGeminiCli;
119
+ /**
120
+ * Check if Gemini CLI is authenticated
121
+ *
122
+ * Gemini CLI stores OAuth credentials in ~/.gemini/oauth_creds.json
123
+ * Authentication is done by running `gemini` which opens browser for OAuth.
124
+ * Note: There is NO `gemini auth login` command - just run `gemini` to authenticate.
125
+ *
126
+ * @returns true if oauth_creds.json exists with access_token
127
+ */
128
+ function isGeminiAuthenticated() {
129
+ const oauthPath = path.join(os.homedir(), '.gemini', 'oauth_creds.json');
130
+ if (!fs.existsSync(oauthPath)) {
131
+ return false;
132
+ }
133
+ try {
134
+ const content = fs.readFileSync(oauthPath, 'utf8');
135
+ const creds = JSON.parse(content);
136
+ // Check if access_token exists (doesn't validate expiry - Gemini CLI handles refresh)
137
+ return !!creds.access_token;
138
+ }
139
+ catch {
140
+ return false;
141
+ }
142
+ }
143
+ exports.isGeminiAuthenticated = isGeminiAuthenticated;
119
144
  /**
120
145
  * Clear Gemini CLI cache (for testing or after installation)
121
146
  */
@@ -590,6 +615,7 @@ exports.getWebSearchHookEnv = getWebSearchHookEnv;
590
615
  * Get WebSearch readiness status for display
591
616
  *
592
617
  * Called on third-party profile startup to inform user.
618
+ * Checks both installation AND authentication status for Gemini CLI.
593
619
  */
594
620
  function getWebSearchReadiness() {
595
621
  const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
@@ -598,6 +624,7 @@ function getWebSearchReadiness() {
598
624
  return {
599
625
  readiness: 'unavailable',
600
626
  geminiCli: false,
627
+ geminiAuthenticated: false,
601
628
  grokCli: false,
602
629
  opencodeCli: false,
603
630
  message: 'Disabled in config',
@@ -605,28 +632,53 @@ function getWebSearchReadiness() {
605
632
  }
606
633
  // Check all CLIs
607
634
  const geminiInstalled = hasGeminiCli();
635
+ const geminiAuthed = geminiInstalled && isGeminiAuthenticated();
608
636
  const grokInstalled = hasGrokCli();
609
637
  const opencodeInstalled = hasOpenCodeCli();
610
- // Build message based on installed CLIs
611
- const installedClis = [];
612
- if (geminiInstalled)
613
- installedClis.push('Gemini');
638
+ // Build message based on installed + authenticated CLIs
639
+ const readyClis = [];
640
+ const needsAuthClis = [];
641
+ // Gemini requires auth check
642
+ if (geminiInstalled) {
643
+ if (geminiAuthed) {
644
+ readyClis.push('Gemini');
645
+ }
646
+ else {
647
+ needsAuthClis.push('Gemini');
648
+ }
649
+ }
650
+ // Other CLIs don't require auth check (for now)
614
651
  if (grokInstalled)
615
- installedClis.push('Grok');
652
+ readyClis.push('Grok');
616
653
  if (opencodeInstalled)
617
- installedClis.push('OpenCode');
618
- if (installedClis.length > 0) {
654
+ readyClis.push('OpenCode');
655
+ // Determine overall status
656
+ if (readyClis.length > 0) {
657
+ // At least one CLI is ready
619
658
  return {
620
659
  readiness: 'ready',
621
660
  geminiCli: geminiInstalled,
661
+ geminiAuthenticated: geminiAuthed,
622
662
  grokCli: grokInstalled,
623
663
  opencodeCli: opencodeInstalled,
624
- message: `Ready (${installedClis.join(' + ')})`,
664
+ message: `Ready (${readyClis.join(' + ')})`,
665
+ };
666
+ }
667
+ if (needsAuthClis.length > 0) {
668
+ // CLIs installed but need auth
669
+ return {
670
+ readiness: 'needs_auth',
671
+ geminiCli: geminiInstalled,
672
+ geminiAuthenticated: false,
673
+ grokCli: grokInstalled,
674
+ opencodeCli: opencodeInstalled,
675
+ message: `Gemini: run 'gemini' to login`,
625
676
  };
626
677
  }
627
678
  return {
628
679
  readiness: 'unavailable',
629
680
  geminiCli: false,
681
+ geminiAuthenticated: false,
630
682
  grokCli: false,
631
683
  opencodeCli: false,
632
684
  message: 'Install: npm i -g @google/gemini-cli',
@@ -645,6 +697,10 @@ function displayWebSearchStatus() {
645
697
  case 'ready':
646
698
  console.error((0, ui_1.ok)(`WebSearch: ${status.message}`));
647
699
  break;
700
+ case 'needs_auth':
701
+ // CLI installed but not authenticated - show warning
702
+ console.error((0, ui_1.warn)(`WebSearch: ${status.message}`));
703
+ break;
648
704
  case 'unavailable':
649
705
  console.error((0, ui_1.fail)(`WebSearch: ${status.message}`));
650
706
  // Show install hints for CLI-only users
@@ -1 +1 @@
1
- {"version":3,"file":"websearch-manager.js","sourceRoot":"","sources":["../../src/utils/websearch-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websearch-manager.js","sourceRoot":"","sources":["../../src/utils/websearch-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/web-server/routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkEH,eAAO,MAAM,SAAS,4CAAW,CAAC"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/web-server/routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmEH,eAAO,MAAM,SAAS,4CAAW,CAAC"}
@@ -36,6 +36,7 @@ const config_manager_1 = require("../utils/config-manager");
36
36
  const helpers_1 = require("../utils/helpers");
37
37
  const health_service_1 = require("./health-service");
38
38
  const auth_handler_1 = require("../cliproxy/auth-handler");
39
+ const project_selection_handler_1 = require("../cliproxy/project-selection-handler");
39
40
  const stats_fetcher_1 = require("../cliproxy/stats-fetcher");
40
41
  const openai_compat_manager_1 = require("../cliproxy/openai-compat-manager");
41
42
  const account_manager_1 = require("../cliproxy/account-manager");
@@ -514,6 +515,7 @@ exports.apiRoutes.post('/cliproxy/auth/:provider/start', async (req, res) => {
514
515
  add: true, // Always add mode from UI
515
516
  headless: false, // Force interactive mode
516
517
  nickname: nickname || undefined,
518
+ fromUI: true, // Enable project selection prompt in UI
517
519
  });
518
520
  if (account) {
519
521
  res.json({
@@ -535,6 +537,39 @@ exports.apiRoutes.post('/cliproxy/auth/:provider/start', async (req, res) => {
535
537
  res.status(500).json({ error: error.message });
536
538
  }
537
539
  });
540
+ /**
541
+ * GET /api/cliproxy/auth/project-selection/:sessionId - Get pending project selection prompt
542
+ * Returns project list for user to select from during OAuth flow
543
+ */
544
+ exports.apiRoutes.get('/cliproxy/auth/project-selection/:sessionId', (req, res) => {
545
+ const { sessionId } = req.params;
546
+ const pending = (0, project_selection_handler_1.getPendingSelection)(sessionId);
547
+ if (pending) {
548
+ res.json(pending);
549
+ }
550
+ else {
551
+ res.status(404).json({ error: 'No pending project selection for this session' });
552
+ }
553
+ });
554
+ /**
555
+ * POST /api/cliproxy/auth/project-selection/:sessionId - Submit project selection
556
+ * Submits user's project choice during OAuth flow
557
+ */
558
+ exports.apiRoutes.post('/cliproxy/auth/project-selection/:sessionId', (req, res) => {
559
+ const { sessionId } = req.params;
560
+ const { selectedId } = req.body;
561
+ if (!selectedId && selectedId !== '') {
562
+ res.status(400).json({ error: 'selectedId is required (use empty string for default)' });
563
+ return;
564
+ }
565
+ const success = (0, project_selection_handler_1.submitProjectSelection)({ sessionId, selectedId });
566
+ if (success) {
567
+ res.json({ success: true });
568
+ }
569
+ else {
570
+ res.status(404).json({ error: 'No pending project selection for this session' });
571
+ }
572
+ });
538
573
  // ==================== Settings (Phase 05) ====================
539
574
  /**
540
575
  * Helper: Mask API keys in settings