@vantran-se/openchamber-web 2.0.5 → 2.0.7

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 (61) hide show
  1. package/bin/lib/commands-update.js +18 -6
  2. package/bin/lib/commands-update.test.js +14 -1
  3. package/dist/assets/{CodeMirrorCommentWidgets-DCAQTLMM.js → CodeMirrorCommentWidgets-C55OCQB7.js} +1 -1
  4. package/dist/assets/{DiffView-uzNpHBlV.js → DiffView-D80HdPcb.js} +1 -1
  5. package/dist/assets/{FilesView-Bkq0sjNx.js → FilesView-CPu9KAn_.js} +1 -1
  6. package/dist/assets/{GitView-BmibZC7n.js → GitView-Cyb4HROP.js} +1 -1
  7. package/dist/assets/{GuestAttachDialog-D7TJG1rt.js → GuestAttachDialog-CdC8RfDh.js} +1 -1
  8. package/dist/assets/{GuestSurfacePane-PAcYaFzP.js → GuestSurfacePane-ByCCvFv4.js} +1 -1
  9. package/dist/assets/{JsonTreeView-BNT2yUVu.js → JsonTreeView-pYH8Escm.js} +1 -1
  10. package/dist/assets/{LinearIssuesView-D3Azksju.js → LinearIssuesView-lyflKD5B.js} +1 -1
  11. package/dist/assets/{MarkdownImageGallery-BGY6tuiK.js → MarkdownImageGallery-DOU9EkBG.js} +1 -1
  12. package/dist/assets/{MarkdownRendererImpl-DJmhQ37f.js → MarkdownRendererImpl-BKISoFr4.js} +1 -1
  13. package/dist/assets/{OnboardingScreen-D_41H2qC.js → OnboardingScreen-_Ln6bjbQ.js} +1 -1
  14. package/dist/assets/{PatchDiff-C0RSqa9W.js → PatchDiff-DmYhtAwM.js} +1 -1
  15. package/dist/assets/{PierreDiffViewer-BBE7tTY2.js → PierreDiffViewer-pRlYFUzk.js} +1 -1
  16. package/dist/assets/{PlanView-Bqc-xuDe.js → PlanView-Bjk4ILam.js} +1 -1
  17. package/dist/assets/{PluginPane-DQ0k41Q-.js → PluginPane-DJgKVT9D.js} +1 -1
  18. package/dist/assets/{SettingsView-BAiJU5hJ.js → SettingsView-DkZCkUK1.js} +1 -1
  19. package/dist/assets/{SettingsWindow-DuC4ecLw.js → SettingsWindow-fWY8N5ei.js} +1 -1
  20. package/dist/assets/{SubmoduleDiffSummary-0HgmcMXz.js → SubmoduleDiffSummary-Dpv4MPVo.js} +1 -1
  21. package/dist/assets/{ToolOutputDialog-DdHkQJEE.js → ToolOutputDialog-BK3T8zOg.js} +1 -1
  22. package/dist/assets/{ToolPartDiffPreview-DWdN0r5K.js → ToolPartDiffPreview-bT5jc7Fw.js} +1 -1
  23. package/dist/assets/{VirtualizedFileDiff-ClDezf2d.js → VirtualizedFileDiff-DOhvVx32.js} +1 -1
  24. package/dist/assets/{WalkthroughView-BJicp0RC.js → WalkthroughView-o4P1auMo.js} +1 -1
  25. package/dist/assets/{appThemeRegistry-CiuyzfSW.js → appThemeRegistry-CF0I57r1.js} +1 -1
  26. package/dist/assets/{commitAndPush-DTKb6IwT.js → commitAndPush-Dm3wnp4u.js} +1 -1
  27. package/dist/assets/{computeVirtualFileMetrics-kM_zJNMt.js → computeVirtualFileMetrics-CcxmuPAX.js} +1 -1
  28. package/dist/assets/{de-BMnfXm-G.js → de-CFmy555r.js} +1 -1
  29. package/dist/assets/{es-DKEvCCL6.js → es-DLf8iVkG.js} +1 -1
  30. package/dist/assets/{fr-D9fgE2xE.js → fr-J24E2vLK.js} +1 -1
  31. package/dist/assets/{index-DWB8bR_g.js → index-CliHhehR.js} +1 -1
  32. package/dist/assets/{isDiffPlainText-DOoIsGqs.js → isDiffPlainText-Bwg3vzSL.js} +1 -1
  33. package/dist/assets/{isFilePlainText-bt5VHvcd.js → isFilePlainText-D7OOnOq1.js} +1 -1
  34. package/dist/assets/{ja-BEXad-KW.js → ja-lWSJzoL3.js} +1 -1
  35. package/dist/assets/{ko-DGrQ0lEe.js → ko-eOc96o9x.js} +1 -1
  36. package/dist/assets/{main-BpLQbZC2.js → main-C0R2Xb0E.js} +2 -2
  37. package/dist/assets/{main-CI9DtHJv.js → main-vkkdS1mY.js} +4 -4
  38. package/dist/assets/{markdownCore-DK2KK5RW.js → markdownCore-fx1suKTc.js} +1 -1
  39. package/dist/assets/{miniChat-CIWaR8wG.js → miniChat-zdTAhJRJ.js} +2 -2
  40. package/dist/assets/{mobile-CnWKEYIP.js → mobile-CygK96hE.js} +2 -2
  41. package/dist/assets/{patchFileDiff-Cqn0C0az.js → patchFileDiff-D3bSFjjg.js} +1 -1
  42. package/dist/assets/{pl-BlhkmR5b.js → pl-1eAnXR9t.js} +1 -1
  43. package/dist/assets/{pt-BR-Bs96Ew9I.js → pt-BR-BrGSooa_.js} +1 -1
  44. package/dist/assets/{renderElectronMiniChatApp-D9t0-9nV.js → renderElectronMiniChatApp-uJeO0EuJ.js} +2 -2
  45. package/dist/assets/{renderMobileApp-CW7fVs_s.js → renderMobileApp-B5ErILfl.js} +3 -3
  46. package/dist/assets/{runtimeEndpointReset-D0PcCb3K.js → runtimeEndpointReset-BsoTecOZ.js} +3 -3
  47. package/dist/assets/{shikiHighlight-l-MbaNS4.js → shikiHighlight-U-ER5VqY.js} +1 -1
  48. package/dist/assets/{textMateThemeFromAppTheme-C-kGcOpD.js → textMateThemeFromAppTheme-CFZUMoyT.js} +1 -1
  49. package/dist/assets/{tr-CehUK1M9.js → tr-CCBiZbUG.js} +1 -1
  50. package/dist/assets/{uk-Bno5WGNz.js → uk-DdUzOSao.js} +1 -1
  51. package/dist/assets/{useAppFontEffects-DDjuwVqi.js → useAppFontEffects-Cfuya0Zd.js} +10 -10
  52. package/dist/assets/{useInlineCommentController-Clg8EO3A.js → useInlineCommentController-GbLdwSYb.js} +1 -1
  53. package/dist/assets/{useRootScrollLock-nDcRrgJ1.js → useRootScrollLock-1Q9TrnWg.js} +2 -2
  54. package/dist/assets/{vendor-codemirror-language-data-oKF0MAwd.js → vendor-codemirror-language-data-CcqLCIWH.js} +2 -2
  55. package/dist/assets/{web-components-Bc1WPd4i.js → web-components-BWh2SieS.js} +1 -1
  56. package/dist/assets/{zh-CN-DnAweIWo.js → zh-CN-CyPbhaBn.js} +1 -1
  57. package/dist/assets/{zh-TW-BbBBK25p.js → zh-TW-D3yWw7PT.js} +1 -1
  58. package/dist/index.html +1 -1
  59. package/dist/mini-chat.html +1 -1
  60. package/dist/mobile.html +1 -1
  61. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-capacitor-app-BrDJj9I_.js","assets/vendor-vite-runtime-DD1OZmLC.js","assets/vendor-capacitor-core-B4EWRrHz.js"])))=>i.map(i=>d[i]);
2
- import{R as o,j as s,f as tt,r as et}from"./vendor-react-BUCujlKS.js";import{f as Qe,B as G,I as _,o as jn,bj as Zn,t as $,O as Kd,h0 as zd,e$ as qe,h1 as Ct,g as _a,eK as Cc,b as pn,T as fa,h as Pe,au as Ud,h2 as Pr,h3 as _d,cl as $t,ck as At,cn as ut,cm as Tt,cj as Et,eR as Qn,h4 as Ic,h5 as $d,h6 as Ua,h7 as _n,c8 as Ns,c2 as Ut,c3 as _t,c4 as Vt,c5 as Ht,c6 as qt,c7 as as,X as He,h8 as pi,av as kn,bh as an,at as Nn,as as Sn,h9 as Xr,ha as Vi,ad as Yn,ac as un,f5 as Gt,hb as mn,hc as fo,hd as vs,l as rt,he as di,fm as zn,hf as Pc,fj as It,fg as Bt,hg as Ft,co as As,ea as ca,fi as Ws,fk as nn,hh as us,ef as hs,hi as bs,cW as gt,hj as Ac,hk as Bd,hl as Vd,hm as gi,hn as Hd,ho as ws,e_ as Ps,hp as tn,gj as Wa,gp as sn,hq as $a,hr as Tc,hs as xo,eb as bo,ah as Ba,ht as eo,hu as Bo,hv as qd,cg as Cn,cr as In,ch as Pn,hw as Vo,hx as An,hy as Jt,hz as vo,ae as ar,af as ir,ag as yo,hA as jo,hB as na,hC as Ec,hD as Ln,a7 as Ja,cw as wo,hE as Ho,ay as Gd,cp as Wd,da as Jd,U as Qd,V as Yd,W as Zd,_ as ko,hF as Xd,hG as eu,ce as tu,cq as to,hH as Dc,P as Va,hI as Fs,fl as su,a6 as nu,hJ as au,n as rs,ex as Qi,y as Mc,x as iu,i as ru,j as ou,ey as lu,p as cu,hK as du,hL as uu,hM as qo,eg as Rc,hN as mu,hO as Ar,hP as Go,hQ as pu,hR as gu,hS as hu,hT as fu,gd as Yi,hU as cs,hV as js,dh as Fc,bZ as Oc,di as Lc,b_ as qs,hW as Kn,hX as No,aH as Jn,aI as Ma,hY as Xs,hZ as On,dv as Kc,h_ as zc,h$ as Uc,i0 as xu,eZ as bu,eY as vu,i1 as so,eI as yu,i2 as aa,i3 as Rs,i4 as Hs,g6 as ia,i5 as ks,i6 as ju,i7 as Wo,i8 as _c,i9 as ra,ia as wu,ib as ku,R as $c,db as Nu,d5 as Su,d6 as Cu,cJ as Iu,eT as Pu,d7 as Au,d1 as Tu,bp as Eu,ic as Qa,ff as Ra,id as Jo,ie as Fa,ig as Oa,b$ as ua,ih as Du,ii as Mu,ij as Ru,ik as Fu,il as Tr,im as Qo,io as Ou,ip as Lu,iq as Ku,ir as zu,is as Yo,z as Uu,m as Zo,dz as _u,it as $u,iu as Er,iv as Xo,eC as Bu,iw as rr,ix as Vu,iy as Hu,iz as qu,iA as Gu,iB as Wu,iC as Dr,cX as Ju,c0 as Bc,aB as Hn,aC as Qu}from"./useAppFontEffects-DDjuwVqi.js";import{h as St,i as So,u as he,P as fs,dG as Yu,dH as el,v as xt,aF as En,C as Ms,a as wn,F as ls,Q as tl,cN as sl,cU as nl,V as ei,p as Zu,dI as Xu,k as em,cM as Ka,dJ as tm,an as sm,cR as nm,dK as am,dL as im,s as rm,e as hi,cS as om,H as fi,dM as Vc,$ as lm,dN as cm,a4 as Hc,aE as os,dO as qc,bb as Gc,y as Ha,b4 as Wc,ag as dm,ah as um,aO as Co,dP as mm,z as or,_ as pm,q as al,aT as il,bf as Di,aU as gm,dQ as hm,ac as da,dR as fm,dS as rl,dF as ol,dT as ll,aR as cl,dU as xm,dV as bm,dW as vm,dX as ym,dY as dl,b as jm,dZ as wm,d_ as km,d$ as Nm,e0 as Sm,e1 as Cm,e2 as Im,ay as Pm}from"./index-Di6zUe5h.js";import{u as Am,X as ul,aq as Tm,ar as Em,as as Dm,Z as ma,$ as pa,a0 as ga,a1 as ha,m as Io,at as oa,a5 as Mm,z as Is,au as Rm,ao as Fm,a3 as Om,av as za,aw as Jc,a2 as Lm,a4 as Km}from"./runtimeEndpointReset-D0PcCb3K.js";import{u as Bs,c as zm}from"./vendor-zustand-BAGL70zf.js";import{o as Ts,s as Mt,b as Po,l as Um,r as Un,c as no,a as xa,_ as Ao,u as ao}from"./vendor-zod-BSoePkpP.js";import{s as _m,p as $m}from"./vendor-yaml-3778uTud.js";import{c as ml,s as Bm,C as pl,P as Vm}from"./shikiHighlight-l-MbaNS4.js";import{getResolvedShikiTheme as Hm}from"./appThemeRegistry-CiuyzfSW.js";import{E as gl}from"./vendor-codemirror-view-CiLROUVV.js";import{Q as Qc}from"./vendor-qrcode-DTJ12-WC.js";import{u as Mr,s as qm,d as Gm,b as Wm,A as Jm,c as Qm,e as Ym,f as Zm,h as Xm,i as Rr,j as ep}from"./PluginPane-DQ0k41Q-.js";import{toast as qa}from"./vendor-sonner-DFyL3AvE.js";import{s as tp}from"./vendor-strip-json-comments-5dJlOkP1.js";import{Y as sp,U as np,X as ap,W as ip,V as rp}from"./vendor-base-ui-CsXYnR5c.js";import{_ as op}from"./vendor-vite-runtime-DD1OZmLC.js";const hl=()=>{const{t}=Qe(),[e,a]=o.useState(null);o.useEffect(()=>{let r=!1;const i=typeof AbortController<"u"?new AbortController:void 0;return(async()=>{try{const d=await St("/api/system/info",{signal:i?.signal,headers:{Accept:"application/json"}});if(!d.ok)return;const c=await d.json().catch(()=>null);if(!c||r)return;const h=typeof c.port=="number"&&Number.isFinite(c.port)&&c.port>0?c.port:null,g=typeof c.tunnelUrl=="string"&&c.tunnelUrl.trim().length>0?c.tunnelUrl.trim():null;a({port:h,tunnelUrl:g})}catch{}})(),()=>{r=!0,i?.abort()}},[]);const n=[];return e?.port!==null&&e?.port!==void 0&&n.push({key:"application",label:t("settings.openchamber.about.field.applicationUrl"),url:`http://localhost:${e.port}/`}),e?.tunnelUrl&&n.push({key:"tunnel",label:t("settings.openchamber.about.field.tunnelUrl"),url:e.tunnelUrl}),n.length===0?null:s.jsx("div",{className:"flex flex-wrap items-center gap-2",children:n.map(r=>s.jsxs(G,{type:"button",variant:"outline",size:"sm",title:r.label,className:"max-w-full gap-1.5 px-2.5",onClick:()=>{jn(r.url)},children:[s.jsx(_,{name:"external-link",className:"size-3.5 shrink-0"}),s.jsx("span",{className:"max-w-64 truncate font-mono typography-micro",children:r.url})]},r.key))})},fl="https://github.com/openchamber/openchamber",lp="https://discord.gg/ZYRSdnwwKA",xl="https://x.com/openchamber_dev",cp=800,dp={info:null,checking:!1,available:!1,error:null};function up(t){const e=tt.c(5),[a,n]=o.useState(dp);let r;e[0]!==t?(r=async()=>{if(t){n(mp);try{const d=await Tm();n({info:d,checking:!1,available:d.available,error:null})}catch(d){const c=d;n({info:null,checking:!1,available:!1,error:c instanceof Error?c.message:String(c)})}}},e[0]=t,e[1]=r):r=e[1];const i=r;let l;return e[2]!==i||e[3]!==a?(l={...a,check:i},e[2]=i,e[3]=a,e[4]=l):l=e[4],l}function mp(t){return{...t,checking:!0,error:null}}function pp(t){const e=tt.c(11),[a,n]=o.useState(null);let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={kind:"idle"},e[0]=r):r=e[0];const[i,l]=o.useState(r);let d;e[1]===Symbol.for("react.memo_cache_sentinel")?(d=async()=>{try{const b=await Em();return n(b),b}catch{return null}},e[1]=d):d=e[1];const c=d;let h,g;e[2]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{c()},g=[c],e[2]=h,e[3]=g):(h=e[2],g=e[3]),o.useEffect(h,g);let f;e[4]!==t?(f=async()=>{l({kind:"upgrading"});try{const b=await Dm(t);l({kind:"installed",version:b})}catch(b){const k=b;l({kind:"failed",error:k instanceof Error?k.message:t})}},e[4]=t,e[5]=f):f=e[5];const m=f;let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=async b=>{await b().catch(gp);const k=await c();k?.currentVersion&&l(p=>p.kind!=="installed"||p.version&&p.version.replace(/^v/,"")!==k.currentVersion?p:{kind:"idle"})},e[6]=u):u=e[6];const v=u;let w;return e[7]!==i||e[8]!==a||e[9]!==m?(w={status:a,phase:i,refresh:c,upgrade:m,reloadAfterUpgrade:v},e[7]=i,e[8]=a,e[9]=m,e[10]=w):w=e[10],w}function gp(){}function hp(t){const[e,a]=o.useState(null);return o.useEffect(()=>{if(!t)return;let n=!1;return op(async()=>{const{App:r}=await import("./vendor-capacitor-app-BrDJj9I_.js");return{App:r}},__vite__mapDeps([0,1,2])).then(({App:r})=>r.getInfo()).then(r=>{n||a(r.version.trim()||null)}).catch(()=>{}),()=>{n=!0}},[t]),e}const Yc=({initialUpdateDialogOpen:t=!1})=>{const{t:e}=Qe(),[a,n]=o.useState(t),[r,i]=o.useState(!1),[l,d]=o.useState(null),c=Am(Bs(O=>({info:O.info,checking:O.checking,available:O.available,error:O.error,downloading:O.downloading,downloaded:O.downloaded,progress:O.progress,runtimeType:O.runtimeType,checkForUpdates:O.checkForUpdates,downloadUpdate:O.downloadUpdate,restartToUpdate:O.restartToUpdate}))),{isMobile:h}=Zn(),g=o.useMemo(()=>So(),[]),f=up(g),m=hp(g),u=g?{info:f.info,checking:f.checking,available:f.available,error:f.error,checkForUpdates:f.check,runtimeType:"web"}:{info:c.info,checking:c.checking,available:c.available,error:c.error,checkForUpdates:c.checkForUpdates,runtimeType:c.runtimeType},v=l||u.info?.currentVersion||"unknown",w=pp(e("opencodeUpdate.toast.failed.description")),b=w.status?.currentVersion??null,k=w.phase.kind==="installed"?null:w.status?.availableVersion??null,[p,S]=o.useState(!1),N=(()=>{const O=u.info?.version||"";return g?u.info?.packageManager==="electron"?e("settings.openchamber.about.actions.updateDesktopToVersion",{version:O}):e("settings.openchamber.about.actions.updateServerToVersion",{version:O}):e("settings.openchamber.about.actions.updateOpenChamberToVersion",{version:O})})(),I=u.available&&u.info?.installBlocked==="service-manager",y=u.info?.updateCommand||"openchamber update",T=()=>{u.checkForUpdates(),w.refresh()},x=async()=>{(await _a(y)).ok&&(S(!0),setTimeout(()=>S(!1),2e3))},A=()=>{w.reloadAfterUpgrade(async()=>{await Cc({message:e("opencodeUpdate.toast.reload.message"),mode:"projects",scopes:["all"]})})},R=I?s.jsxs("div",{className:"space-y-2",children:[s.jsx("p",{className:"typography-meta text-muted-foreground",children:e("settings.openchamber.about.serviceManagerUpdate",{version:u.info?.version||""})}),s.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-border bg-surface-elevated/50 p-1 pl-3",children:[s.jsx("code",{className:"flex-1 overflow-x-auto whitespace-nowrap font-mono text-sm text-foreground",children:y}),s.jsx(G,{type:"button",variant:"ghost",size:"icon",onClick:()=>{x()},"aria-label":e(p?"updateDialog.actions.copied":"updateDialog.actions.copyCommand"),children:s.jsx(_,{name:p?"check":"clipboard",className:"size-4"})})]})]}):null,P=(()=>{const{phase:O}=w;if(O.kind==="installed")return s.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[s.jsx("span",{className:"typography-meta text-muted-foreground",children:O.version?e("settings.openchamber.about.openCode.installedVersion",{version:O.version}):e("settings.openchamber.about.openCode.installed")}),s.jsx(G,{type:"button",size:"sm",variant:"outline",onClick:A,children:e("opencodeUpdate.toast.actions.reload")})]});if(!k)return null;if(!w.status?.supported)return s.jsx("p",{className:"typography-meta text-muted-foreground",children:e("settings.openchamber.about.openCode.manualUpdate",{version:k})});const C=O.kind==="upgrading";return s.jsxs("div",{className:"space-y-2",children:[s.jsxs(G,{type:"button",size:"sm",variant:"outline",onClick:()=>{w.upgrade()},disabled:C,children:[s.jsx(_,{name:C?"loader":"download",className:C?"size-4 animate-spin":"size-4"}),C?e("opencodeUpdate.toast.upgrading.title"):e("settings.openchamber.about.actions.updateOpenCodeToVersion",{version:k})]}),O.kind==="failed"&&s.jsx("p",{className:"typography-meta text-[var(--status-error)]",children:O.error})]})})();o.useEffect(()=>{let O=!1;return(async()=>{try{const M=await St("/api/system/info",{method:"GET",headers:{Accept:"application/json"}});if(!M.ok)return;const U=await M.json().catch(()=>null),L=typeof U?.openchamberVersion=="string"&&U.openchamberVersion.trim().length>0?U.openchamberVersion.trim():null;O||d(L)}catch{O||d(null)}})(),()=>{O=!0}},[]);const D=o.useRef(!1);o.useEffect(()=>{if(u.checking)i(!0),D.current=!0;else if(r){const O=setTimeout(()=>{i(!1),D.current&&!u.available&&!u.error&&($.success(e(g?"settings.openchamber.about.toast.serverLatestVersion":"settings.openchamber.about.toast.latestVersion")),D.current=!1)},cp);return()=>clearTimeout(O)}},[e,g,u.checking,r,u.available,u.error]);const F=u.checking||r;return h?s.jsxs("div",{className:"w-full space-y-6 pb-2",children:[s.jsxs("div",{className:"flex flex-col items-center text-center",children:[s.jsx(Kd,{width:72,height:72}),s.jsx("h2",{className:`mt-4 ${zd}`,children:"OpenChamber"}),s.jsx("div",{className:"mt-2 space-y-1 typography-ui text-muted-foreground",children:g?s.jsxs(s.Fragment,{children:[s.jsx("p",{children:e("settings.openchamber.about.native.serverOpenChamberVersion",{version:v})}),s.jsx("p",{children:e("settings.openchamber.about.native.serverOpenCodeVersion",{version:b||e("settings.openchamber.about.state.unknown")})}),m&&s.jsx("p",{children:e("settings.openchamber.about.native.appVersion",{version:m})})]}):s.jsxs(s.Fragment,{children:[s.jsx("p",{children:e("aboutDialog.openChamberVersionLabel",{version:v})}),s.jsx("p",{children:e("aboutDialog.openCodeVersionLabel",{version:b||e("settings.openchamber.about.state.unknown")})})]})}),s.jsx(hl,{})]}),s.jsxs("div",{className:"flex justify-center",children:[!u.available&&!u.error&&s.jsxs(G,{type:"button",variant:"outline",size:"sm",onClick:T,disabled:F,className:"h-10 w-auto justify-center gap-2 rounded-xl px-4",children:[F?s.jsx(_,{name:"loader",className:"size-4 animate-spin"}):s.jsx(_,{name:"refresh",className:"size-4"}),e(F?"settings.openchamber.about.state.checking":g?"settings.openchamber.about.actions.checkServerForUpdates":"settings.openchamber.about.actions.checkForUpdates")]}),!F&&u.available&&!I&&s.jsxs(G,{type:"button",variant:"default",size:"sm",onClick:()=>n(!0),className:"h-10 w-auto justify-center gap-2 rounded-xl px-4",children:[s.jsx(_,{name:"download",className:"size-4"}),N]})]}),R,P&&s.jsx("div",{className:"flex justify-center text-center",children:P}),u.error&&s.jsx("p",{className:"rounded-xl border border-[var(--status-error-border)] bg-[var(--status-error-background)] px-3 py-2 typography-meta text-[var(--status-error)]",children:u.error}),s.jsxs("div",{className:"flex flex-col items-center gap-3 text-center",children:[s.jsxs("div",{className:"flex items-center justify-center gap-5",children:[s.jsxs("a",{href:fl,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 typography-ui-label text-muted-foreground transition-colors hover:text-foreground",children:[s.jsx(_,{name:"github-fill",className:"size-5"}),s.jsx("span",{children:"GitHub"})]}),s.jsxs("a",{href:lp,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 typography-ui-label text-muted-foreground transition-colors hover:text-foreground",children:[s.jsx(_,{name:"discord-fill",className:"size-5"}),s.jsx("span",{children:"Discord"})]})]}),s.jsxs("a",{href:xl,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 typography-ui-label text-muted-foreground transition-colors hover:text-foreground",children:[s.jsx(_,{name:"twitter-xfill",className:"size-5"}),s.jsx("span",{children:"@openchamber_dev"})]})]}),s.jsx("p",{className:"text-center typography-ui text-muted-foreground/60",children:e("aboutDialog.footerNote")}),s.jsx(ul,{open:a,onOpenChange:n,info:u.info,downloading:c.downloading,downloaded:c.downloaded,progress:c.progress,error:u.error,onDownload:c.downloadUpdate,onRestart:c.restartToUpdate,runtimeType:u.runtimeType})]}):s.jsxs(qe,{divider:!1,children:[s.jsxs("div",{className:"rounded-lg bg-[var(--surface-elevated)]/70 overflow-hidden flex flex-col",children:[s.jsxs("div",{className:"flex flex-col @xl:flex-row @xl:items-center justify-between gap-4 px-4 py-3 border-b border-border/40",children:[s.jsxs("div",{className:"flex min-w-0 flex-col",children:[s.jsx("span",{className:Ct,children:e("settings.openchamber.about.field.version")}),s.jsx("span",{className:"typography-meta text-muted-foreground font-mono",children:v})]}),s.jsxs("div",{className:"flex min-w-0 flex-col",children:[s.jsx("span",{className:Ct,children:e("settings.openchamber.about.field.openCodeVersion")}),s.jsx("span",{className:"typography-meta text-muted-foreground font-mono",children:b||e("settings.openchamber.about.state.unknown")})]}),s.jsxs("div",{className:"flex items-center gap-3",children:[u.checking&&s.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[s.jsx(_,{name:"loader",className:"h-4 w-4 animate-spin"}),s.jsx("span",{className:"typography-meta",children:e("settings.openchamber.about.state.checking")})]}),!u.checking&&u.available&&!I&&s.jsxs(G,{size:"sm",variant:"default",onClick:()=>n(!0),children:[s.jsx(_,{name:"download",className:"h-4 w-4 mr-1"}),N]}),!u.checking&&!u.available&&!u.error&&s.jsx("span",{className:"typography-meta text-muted-foreground",children:e("settings.openchamber.about.state.upToDate")}),s.jsx(G,{size:"sm",variant:"outline",onClick:T,disabled:u.checking,children:e("settings.openchamber.about.actions.checkForUpdates")})]})]}),R&&s.jsx("div",{className:"px-4 py-3 border-b border-border/40",children:R}),P&&s.jsx("div",{className:"px-4 py-3 border-b border-border/40",children:P}),u.error&&s.jsx("div",{className:"px-3 py-2 border-b border-border/40",children:s.jsx("p",{className:"typography-meta text-[var(--status-error)]",children:u.error})}),s.jsxs("div",{className:"flex flex-col gap-2 border-b border-border/40 px-4 py-3 @xl:flex-row @xl:items-center @xl:justify-between",children:[s.jsx("span",{className:Ct,children:e("settings.openchamber.about.field.instanceUrls")}),s.jsx(hl,{})]}),s.jsxs("div",{className:"flex items-center gap-4 px-4 py-4",children:[s.jsxs("a",{href:fl,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 text-muted-foreground hover:text-foreground typography-meta transition-colors",children:[s.jsx(_,{name:"github-fill",className:"h-4 w-4"}),s.jsx("span",{children:"GitHub"})]}),s.jsxs("a",{href:xl,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 text-muted-foreground hover:text-foreground typography-meta transition-colors",children:[s.jsx(_,{name:"twitter-xfill",className:"h-4 w-4"}),s.jsx("span",{children:"@openchamber_dev"})]})]})]}),s.jsx(ul,{open:a,onOpenChange:n,info:u.info,downloading:c.downloading,downloaded:c.downloaded,progress:c.progress,error:u.error,onDownload:c.downloadUpdate,onRestart:c.restartToUpdate,runtimeType:u.runtimeType})]})},fp=(t,e,a)=>t&&e.some(r=>r.path===t)?t:(e.find(r=>r.id===a)??e[0])?.path??null,rn=()=>{const t=tt.c(4),e=he(xp),a=pn(bp),n=pn(vp);let r;return t[0]!==n||t[1]!==a||t[2]!==e?(r=fp(e,a,n),t[0]=n,t[1]=a,t[2]=e,t[3]=r):r=t[3],r};function xp(t){return t.settingsProjectPath}function bp(t){return t.projects}function vp(t){return t.activeProjectId}const yp=t=>[...t].sort((e,a)=>(e.label||e.path).localeCompare(a.label||a.path)),xi=t=>{const e=tt.c(75),{className:a}=t,{t:n}=Qe(),{currentTheme:r}=fa(),i=he(jp),[l,d]=o.useState(!1),c=pn(wp),h=rn(),g=he(kp),f=fs();let m;e[0]!==c?(m=yp(c),e[0]=c,e[1]=m):m=e[1];const u=m;let v;e[2]!==h||e[3]!==u?(v=u.find(F=>F.path===h)??u[0]??null,e[2]=h,e[3]=u,e[4]=v):v=e[4];const w=v;if(f||!w)return null;let b;e[5]!==g||e[6]!==u?(b=F=>{const O=u.find(C=>C.id===F);O&&g(O.path)},e[5]=g,e[6]=u,e[7]=b):b=e[7];const k=b;if(i){let F;e[8]!==a?(F=Pe(a),e[8]=a,e[9]=F):F=e[9];let O;e[10]!==n?(O=n("settings.shared.projectSelector.switchProjectAria"),e[10]=n,e[11]=O):O=e[11];let C;e[12]!==n?(C=n("settings.shared.projectSelector.switchProjectTitle"),e[12]=n,e[13]=C):C=e[13];let M,U;e[14]===Symbol.for("react.memo_cache_sentinel")?(M=()=>d(!0),U=Pe(Ud({size:"touch"}),"w-full min-w-0"),e[14]=M,e[15]=U):(M=e[14],U=e[15]);let L;e[16]!==w||e[17]!==r?(L=s.jsx("span",{className:"min-w-0 flex-1 truncate typography-ui-label font-medium",children:s.jsx(Pr,{project:w,theme:r})}),e[16]=w,e[17]=r,e[18]=L):L=e[18];let W;e[19]===Symbol.for("react.memo_cache_sentinel")?(W=s.jsx(_,{name:"arrow-down-s",className:"size-4 opacity-50"}),e[19]=W):W=e[19];let X;e[20]!==l||e[21]!==O||e[22]!==C||e[23]!==U||e[24]!==L?(X=s.jsxs("button",{type:"button","aria-label":O,title:C,"aria-haspopup":"dialog","aria-expanded":l,onClick:M,className:U,children:[L,W]}),e[20]=l,e[21]=O,e[22]=C,e[23]=U,e[24]=L,e[25]=X):X=e[25];let J;e[26]!==X||e[27]!==F?(J=s.jsx("div",{className:F,children:X}),e[26]=X,e[27]=F,e[28]=J):J=e[28];let q;e[29]===Symbol.for("react.memo_cache_sentinel")?(q=()=>d(!1),e[29]=q):q=e[29];const z=w.id;let H;e[30]!==n?(H=n("settings.shared.projectSelector.sheetTitle"),e[30]=n,e[31]=H):H=e[31];let se;e[32]!==n?(se=n("settings.shared.projectSelector.searchPlaceholder"),e[32]=n,e[33]=se):se=e[33];let B;e[34]!==w.id||e[35]!==r||e[36]!==k||e[37]!==l||e[38]!==u||e[39]!==H||e[40]!==se?(B=s.jsx(_d,{open:l,onClose:q,projects:u,selectedProjectId:z,onSelectProject:k,theme:r,title:H,searchPlaceholder:se}),e[34]=w.id,e[35]=r,e[36]=k,e[37]=l,e[38]=u,e[39]=H,e[40]=se,e[41]=B):B=e[41];let ne;return e[42]!==J||e[43]!==B?(ne=s.jsxs(s.Fragment,{children:[J,B]}),e[42]=J,e[43]=B,e[44]=ne):ne=e[44],ne}let p;e[45]!==a?(p=Pe(a),e[45]=a,e[46]=p):p=e[46];const S=w.id;let N;e[47]!==k?(N=F=>{F&&k(F)},e[47]=k,e[48]=N):N=e[48];let I;e[49]!==n?(I=n("settings.shared.projectSelector.switchProjectAria"),e[49]=n,e[50]=I):I=e[50];let y;e[51]!==n?(y=n("settings.shared.projectSelector.switchProjectTitle"),e[51]=n,e[52]=y):y=e[52];let T;e[53]!==w||e[54]!==r?(T=s.jsx($t,{children:s.jsx(Pr,{project:w,theme:r})}),e[53]=w,e[54]=r,e[55]=T):T=e[55];let x;e[56]!==I||e[57]!==y||e[58]!==T?(x=s.jsx(At,{size:"settings",className:"w-full","aria-label":I,title:y,children:T}),e[56]=I,e[57]=y,e[58]=T,e[59]=x):x=e[59];let A;if(e[60]!==r||e[61]!==u){let F;e[63]!==r?(F=O=>s.jsx(ut,{value:O.id,className:"max-w-[24rem] truncate",children:s.jsx(Pr,{project:O,theme:r})},O.id),e[63]=r,e[64]=F):F=e[64],A=u.map(F),e[60]=r,e[61]=u,e[62]=A}else A=e[62];let R;e[65]!==A?(R=s.jsx(Tt,{fitContent:!0,children:A}),e[65]=A,e[66]=R):R=e[66];let P;e[67]!==w.id||e[68]!==x||e[69]!==R||e[70]!==N?(P=s.jsxs(Et,{value:S,onValueChange:N,children:[x,R]}),e[67]=w.id,e[68]=x,e[69]=R,e[70]=N,e[71]=P):P=e[71];let D;return e[72]!==P||e[73]!==p?(D=s.jsx("div",{className:p,children:P}),e[72]=P,e[73]=p,e[74]=D):D=e[74],D};function jp(t){return t.isMobile}function wp(t){return t.projects}function kp(t){return t.setSettingsProjectPath}function Np(t,e){return`opencode:sidebar-group:${t}:${e}`}const io=t=>{const e=tt.c(33),{label:a,count:n,storageKey:r,defaultExpanded:i,children:l}=t,d=i===void 0?!0:i;let c;e[0]!==a||e[1]!==r?(c=Np(r,a),e[0]=a,e[1]=r,e[2]=c):c=e[2];const h=c,g=o.useId();let f;e[3]!==d||e[4]!==h?(f=()=>{try{const P=localStorage.getItem(h);if(P!==null)return P==="true"}catch{}return d},e[3]=d,e[4]=h,e[5]=f):f=e[5];const[m,u]=et.useState(f);let v,w;e[6]!==m||e[7]!==h?(v=()=>{try{localStorage.setItem(h,String(m))}catch{}},w=[h,m],e[6]=m,e[7]=h,e[8]=v,e[9]=w):(v=e[8],w=e[9]),et.useEffect(v,w);let b;e[10]===Symbol.for("react.memo_cache_sentinel")?(b=()=>u(Sp),e[10]=b):b=e[10];let k;e[11]===Symbol.for("react.memo_cache_sentinel")?(k=Pe("flex w-full items-center gap-1 rounded-md px-2 py-1 text-left","text-xs font-semibold uppercase tracking-wide text-muted-foreground","hover:bg-[var(--interactive-hover)] transition-colors duration-150","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"),e[11]=k):k=e[11];const p=!m&&"-rotate-90";let S;e[12]!==p?(S=Pe("h-3.5 w-3.5 flex-shrink-0 transition-transform duration-200",p),e[12]=p,e[13]=S):S=e[13];let N;e[14]!==S?(N=s.jsx(_,{name:"arrow-down-s",className:S}),e[14]=S,e[15]=N):N=e[15];let I;e[16]!==a?(I=s.jsx("span",{className:"flex-1 truncate",children:a}),e[16]=a,e[17]=I):I=e[17];let y;e[18]!==n?(y=s.jsx("span",{className:"ml-1 tabular-nums opacity-60",children:n}),e[18]=n,e[19]=y):y=e[19];let T;e[20]!==g||e[21]!==m||e[22]!==N||e[23]!==I||e[24]!==y?(T=s.jsxs("button",{type:"button",onClick:b,"aria-expanded":m,"aria-controls":g,className:k,children:[N,I,y]}),e[20]=g,e[21]=m,e[22]=N,e[23]=I,e[24]=y,e[25]=T):T=e[25];const x=!m;let A;e[26]!==l||e[27]!==g||e[28]!==x?(A=s.jsx("div",{id:g,hidden:x,className:"mt-0.5 space-y-0.5 ml-2 pl-3 border-l-2 border-[var(--interactive-border)]",children:l}),e[26]=l,e[27]=g,e[28]=x,e[29]=A):A=e[29];let R;return e[30]!==T||e[31]!==A?(R=s.jsxs("div",{children:[T,A]}),e[30]=T,e[31]=A,e[32]=R):R=e[32],R};function Sp(t){return!t}const Cp=({onItemSelect:t})=>{const{t:e}=Qe(),[a,n]=o.useState(null),[r,i]=o.useState(""),[l,d]=o.useState(null),[c,h]=o.useState(null),[g,f]=o.useState(!1),[m,u]=o.useState(null),{selectedAgentName:v,setSelectedAgent:w,setAgentDraft:b,createAgent:k,deleteAgent:p,loadAgents:S,fetchAgentEntity:N}=Qn(Bs(q=>({selectedAgentName:q.selectedAgentName,setSelectedAgent:q.setSelectedAgent,setAgentDraft:q.setAgentDraft,createAgent:q.createAgent,deleteAgent:q.deleteAgent,loadAgents:q.loadAgents,fetchAgentEntity:q.fetchAgentEntity}))),I=rn(),y=Qn(q=>Ic(q,I));o.useEffect(()=>{S(I)},[S,I]);const T="bg-background",x=()=>{const q="new-agent";let z=q,H=1;for(;y.some(se=>se.name===z);)z=`${q}-${H}`,H++;b({name:z,scope:"user"}),w(z),t?.()},A=async q=>{if(Ua(q)){$.error(e("settings.agents.sidebar.toast.builtInCannotDelete"));return}d(q),h("delete")},R=async q=>{Ua(q)&&(d(q),h("reset"))},P=()=>{d(null),h(null)},D=async()=>{if(!(!l||!c)){f(!0);try{(await p(l.name,l.scope,I)).ok?(c==="delete"?$.success(e("settings.agents.sidebar.toast.agentDeleted",{name:l.name})):$.success(e("settings.agents.sidebar.toast.agentReset",{name:l.name})),P()):c==="delete"?$.error(e("settings.agents.sidebar.toast.deleteFailed")):$.error(e("settings.agents.sidebar.toast.resetFailed"))}catch(q){const z=q instanceof Error?q.message:"",H=/built-in|not deletable|not found/i.test(z);c==="delete"?$.error(e(H?"settings.agents.sidebar.toast.definitionNotFound":"settings.agents.sidebar.toast.deleteFailed")):$.error(e("settings.agents.sidebar.toast.resetFailed"))}f(!1)}},F=async q=>{const z=q.name;let H=1,se=`${z}-copy`;for(;y.some(Z=>Z.name===se);)H++,se=`${z}-copy-${H}`;const B=q,ne=await N(q.name,I);if(!ne){$.error(e("settings.agents.sidebar.toast.renameFailed"));return}const K=ne.config.request?.body;b({name:se,scope:ne.scope??B.scope??"user",description:ne.config.description??void 0,model:ne.config.model??null,system:ne.config.system??void 0,steps:ne.config.steps??void 0,temperature:K?.temperature,top_p:K?.top_p,mode:ne.config.mode??B.mode,permissions:ne.config.permissions??void 0}),w(se),t?.()},O=q=>{i(q.name),n(q)},C=async()=>{if(!a)return;const q=r.trim().replace(/\s+/g,"-");if(!q){$.error(e("settings.agents.sidebar.toast.agentNameRequired"));return}if(q===a.name){n(null);return}if(y.some(B=>B.name===q)){$.error(e("settings.agents.sidebar.toast.agentExists"));return}const z=a,H=await N(a.name,I);if(!H){$.error(e("settings.agents.sidebar.toast.renameFailed"));return}(await k({...H.config,name:q,scope:H.scope??z.scope},I)).ok?(await p(a.name,z.scope,I)).ok?($.success(e("settings.agents.sidebar.toast.agentRenamed",{name:q})),w(q)):$.error(e("settings.agents.sidebar.toast.removeOldAfterRenameFailed")):$.error(e("settings.agents.sidebar.toast.renameFailed")),n(null)},M=q=>{switch(q){case"primary":return s.jsx(_,{name:"ai-agent",className:"h-3 w-3 text-primary"});case"all":return s.jsx(_,{name:"ai-agent-fill",className:"h-3 w-3 text-primary"});case"subagent":return s.jsx(_,{name:"robot",className:"h-3 w-3 text-primary"});default:return null}},U=y.filter(q=>!$d(q)),L=U.filter(Ua),W=U.filter(q=>!Ua(q)),{groupedCustomAgents:X,ungroupedCustomAgents:J}=et.useMemo(()=>{const q={},z=[];for(const se of W){const B=se;B.group?(q[B.group]||(q[B.group]=[]),q[B.group].push(se)):z.push(se)}return{groupedCustomAgents:Object.keys(q).sort((se,B)=>se.localeCompare(B)).map(se=>({name:se,agents:q[se]})),ungroupedCustomAgents:z}},[W]);return s.jsxs("div",{className:Pe("flex h-full flex-col",T),children:[s.jsxs("div",{className:"border-b px-3 pt-4 pb-3",children:[s.jsx("h2",{className:`${_n} mb-3`,children:e("settings.agents.sidebar.title")}),s.jsx(xi,{className:"mb-3"}),s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("span",{className:"typography-meta text-muted-foreground",children:e("settings.agents.sidebar.total",{count:U.length})}),s.jsx(G,{size:"sm","data-settings-item":"agents.create",variant:"ghost",className:"h-7 w-7 px-0 -my-1 text-muted-foreground",onClick:x,children:s.jsx(_,{name:"add",className:"h-3.5 w-3.5"})})]})]}),s.jsx(Ns,{outerClassName:"flex-1 min-h-0",className:"space-y-1 px-3 py-2 overflow-x-hidden",children:U.length===0?s.jsxs("div",{className:"py-12 px-4 text-center text-muted-foreground",children:[s.jsx(_,{name:"robot-2",className:"mx-auto mb-3 h-10 w-10 opacity-50"}),s.jsx("p",{className:"typography-ui-label font-medium",children:e("settings.agents.sidebar.empty.title")}),s.jsx("p",{className:"typography-meta mt-1 opacity-75",children:e("settings.agents.sidebar.empty.description")})]}):s.jsxs(s.Fragment,{children:[L.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"px-2 pb-1.5 pt-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:e("settings.agents.sidebar.section.builtIn")}),L.map(q=>s.jsx(Fr,{agent:q,isSelected:v===q.name,onSelect:()=>{w(q.name),t?.()},onReset:()=>R(q),onDuplicate:()=>{F(q)},getAgentModeIcon:M,isMenuOpen:m===q.name,onMenuOpenChange:z=>u(z?q.name:null)},q.name))]}),W.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"px-2 pb-1.5 pt-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:e("settings.agents.sidebar.section.custom")}),X.map(({name:q,agents:z})=>s.jsx(io,{label:q,count:z.length,storageKey:"agents",children:z.map(H=>s.jsx(Fr,{agent:H,isSelected:v===H.name,onSelect:()=>{w(H.name),t?.()},onRename:()=>O(H),onDelete:()=>A(H),onDuplicate:()=>{F(H)},getAgentModeIcon:M,isMenuOpen:m===H.name,onMenuOpenChange:se=>u(se?H.name:null)},H.name))},q)),J.map(q=>s.jsx(Fr,{agent:q,isSelected:v===q.name,onSelect:()=>{w(q.name),t?.()},onRename:()=>O(q),onDelete:()=>A(q),onDuplicate:()=>{F(q)},getAgentModeIcon:M,isMenuOpen:m===q.name,onMenuOpenChange:z=>u(z?q.name:null)},q.name))]})]})}),s.jsx(Ut,{open:l!==null&&c!==null,onOpenChange:q=>{!q&&!g&&P()},children:s.jsxs(_t,{className:"max-w-md",children:[s.jsxs(Vt,{children:[s.jsx(Ht,{children:e(c==="delete"?"settings.agents.sidebar.dialog.deleteTitle":"settings.agents.sidebar.dialog.resetTitle")}),s.jsx(qt,{children:c==="delete"?e("settings.agents.sidebar.dialog.deleteDescription",{name:l?.name??""}):e("settings.agents.sidebar.dialog.resetDescription",{name:l?.name??""})})]}),s.jsxs(as,{children:[s.jsx(G,{size:"sm",variant:"ghost",onClick:P,disabled:g,children:e("settings.common.actions.cancel")}),s.jsx(G,{size:"sm",onClick:D,disabled:g,children:e(c==="delete"?"settings.common.actions.delete":"settings.common.actions.reset")})]})]})}),s.jsx(Ut,{open:a!==null,onOpenChange:q=>!q&&n(null),children:s.jsxs(_t,{children:[s.jsxs(Vt,{children:[s.jsx(Ht,{children:e("settings.agents.sidebar.renameDialog.title")}),s.jsx(qt,{children:e("settings.agents.sidebar.renameDialog.description",{name:a?.name??""})})]}),s.jsx(He,{value:r,onChange:q=>i(q.target.value),placeholder:e("settings.agents.sidebar.renameDialog.placeholder"),className:"text-foreground placeholder:text-muted-foreground",onKeyDown:q=>{q.key==="Enter"&&C()}}),s.jsxs(as,{children:[s.jsx(G,{size:"sm",variant:"ghost",onClick:()=>n(null),children:e("settings.common.actions.cancel")}),s.jsx(G,{size:"sm",onClick:C,children:e("settings.common.actions.rename")})]})]})})]})},Fr=t=>{const e=tt.c(52),{agent:a,isSelected:n,onSelect:r,onDelete:i,onReset:l,onRename:d,onDuplicate:c,getAgentModeIcon:h,isMenuOpen:g,onMenuOpenChange:f}=t,{t:m}=Qe(),u=a;let v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v=pi(),e[0]=v):v=e[0];const w=v,[b,k]=o.useState(!1);let p;e[1]!==i||e[2]!==c||e[3]!==d||e[4]!==l||e[5]!==m?(p=q=>s.jsxs(s.Fragment,{children:[d&&s.jsxs(q,{onClick:z=>{z.stopPropagation(),d()},children:[s.jsx(_,{name:"edit",className:"h-4 w-4 mr-px"}),m("settings.common.actions.rename")]}),s.jsxs(q,{onClick:z=>{z.stopPropagation(),c()},children:[s.jsx(_,{name:"file-copy",className:"h-4 w-4 mr-px"}),m("settings.common.actions.duplicate")]}),l&&s.jsxs(q,{onClick:z=>{z.stopPropagation(),l()},children:[s.jsx(_,{name:"restart",className:"h-4 w-4 mr-px"}),m("settings.common.actions.reset")]}),i&&s.jsxs(q,{onClick:z=>{z.stopPropagation(),i()},className:"text-destructive focus:text-destructive",children:[s.jsx(_,{name:"delete-bin",className:"h-4 w-4 mr-px"}),m("settings.common.actions.delete")]})]}),e[1]=i,e[2]=c,e[3]=d,e[4]=l,e[5]=m,e[6]=p):p=e[6];const S=p,N=n?"bg-interactive-selection":"hover:bg-interactive-hover";let I;e[7]!==N?(I=Pe("group relative flex items-center rounded-md px-1.5 py-1 transition-all duration-200 select-none",N),e[7]=N,e[8]=I):I=e[8];let y;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=w?void 0:q=>{q.preventDefault(),k(!0)},e[9]=y):y=e[9];let T;e[10]!==I?(T=s.jsx("div",{className:I,onContextMenu:y}),e[10]=I,e[11]=T):T=e[11];let x;e[12]!==a.name?(x=s.jsx("span",{className:"typography-ui-label font-normal truncate text-foreground",children:a.name}),e[12]=a.name,e[13]=x):x=e[13];let A;e[14]!==a.mode||e[15]!==h?(A=h(a.mode),e[14]=a.mode,e[15]=h,e[16]=A):A=e[16];let R;e[17]!==a||e[18]!==u.scope||e[19]!==m?(R=(u.scope||Ua(a))&&s.jsx("span",{className:"typography-micro text-muted-foreground bg-muted px-1 rounded flex-shrink-0 leading-none pb-px border border-border/50",children:Ua(a)?m("settings.agents.sidebar.badge.system"):u.scope}),e[17]=a,e[18]=u.scope,e[19]=m,e[20]=R):R=e[20];let P;e[21]!==x||e[22]!==A||e[23]!==R?(P=s.jsxs("div",{className:"flex items-center gap-1.5",children:[x,A,R]}),e[21]=x,e[22]=A,e[23]=R,e[24]=P):P=e[24];let D;e[25]!==a.description?(D=a.description&&s.jsx("div",{className:"typography-micro text-muted-foreground/60 truncate leading-tight",children:a.description}),e[25]=a.description,e[26]=D):D=e[26];let F;e[27]!==r||e[28]!==P||e[29]!==D?(F=s.jsxs("button",{onClick:r,className:"flex min-w-0 flex-1 flex-col gap-0 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",tabIndex:0,children:[P,D]}),e[27]=r,e[28]=P,e[29]=D,e[30]=F):F=e[30];let O;e[31]!==f?(O=q=>{q&&k(!1),f(q)},e[31]=f,e[32]=O):O=e[32];let C;e[33]===Symbol.for("react.memo_cache_sentinel")?(C=s.jsx(Nn,{asChild:!0,children:s.jsx(G,{size:"sm",variant:"ghost",className:"h-6 w-6 px-0 flex-shrink-0 -mr-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100",children:s.jsx(_,{name:"more-2",className:"h-3.5 w-3.5"})})}),e[33]=C):C=e[33];let M;e[34]!==S?(M=s.jsx(kn,{align:"end",className:"w-fit min-w-20",children:S(an)}),e[34]=S,e[35]=M):M=e[35];let U;e[36]!==g||e[37]!==O||e[38]!==M?(U=s.jsxs(Sn,{open:g,onOpenChange:O,children:[C,M]}),e[36]=g,e[37]=O,e[38]=M,e[39]=U):U=e[39];let L;e[40]!==F||e[41]!==U?(L=s.jsxs("div",{className:"flex min-w-0 flex-1 items-center",children:[F,U]}),e[40]=F,e[41]=U,e[42]=L):L=e[42];let W;e[43]!==L||e[44]!==T?(W=s.jsx(ga,{render:T,children:L}),e[43]=L,e[44]=T,e[45]=W):W=e[45];let X;e[46]!==S?(X=s.jsx(ma,{className:"w-fit min-w-20",children:S(pa)}),e[46]=S,e[47]=X):X=e[47];let J;return e[48]!==b||e[49]!==W||e[50]!==X?(J=s.jsxs(ha,{open:b,onOpenChange:k,children:[W,X]}),e[48]=b,e[49]=W,e[50]=X,e[51]=J):J=e[51],J},ts=t=>{const e=tt.c(22),{children:a,className:n,outerClassName:r,title:i,titleLeading:l,titleAccessory:d,description:c,headerEnd:h,showSaveStatus:g,onBlurCapture:f}=t,m=g===void 0?!1:g,u=i!=null||c!=null||h!=null||m,v=typeof i=="string"||typeof i=="number",w=l!=null||d!=null;let b;e[0]!==r?(b=Pe("h-full overlay-scrollbar-wrapper--stable-gutter",r),e[0]=r,e[1]=b):b=e[1];let k;e[2]!==n?(k=Pe("mx-auto max-w-[840px] space-y-0 px-6 py-6 @3xl:px-12 @3xl:py-8","[&>section:first-of-type]:border-t-0 [&>section:first-of-type]:pt-0",n),e[2]=n,e[3]=k):k=e[3];let p;e[4]!==c||e[5]!==u||e[6]!==w||e[7]!==h||e[8]!==v||e[9]!==m||e[10]!==i||e[11]!==d||e[12]!==l?(p=u&&s.jsxs("div",{className:"mb-2 flex flex-wrap items-start justify-between gap-x-4 gap-y-3 pb-6",children:[s.jsxs("div",{className:"min-w-0 flex-1 basis-64 space-y-1",children:[i!=null?v?w?s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[l,s.jsx("h1",{"data-settings-page-heading":!0,tabIndex:-1,className:Pe(Xr,"min-w-0 truncate"),children:i}),s.jsx("span",{className:"shrink-0",children:d})]}):s.jsx("h1",{"data-settings-page-heading":!0,tabIndex:-1,className:Xr,children:i}):i:null,c!=null?typeof c=="string"||typeof c=="number"?s.jsx("p",{className:Vi,children:c}):c:null]}),s.jsxs("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-3",children:[h,m&&s.jsx(Pp,{})]})]}),e[4]=c,e[5]=u,e[6]=w,e[7]=h,e[8]=v,e[9]=m,e[10]=i,e[11]=d,e[12]=l,e[13]=p):p=e[13];let S;e[14]!==a||e[15]!==f||e[16]!==k||e[17]!==p?(S=s.jsxs("div",{className:k,onBlurCapture:f,children:[p,a]}),e[14]=a,e[15]=f,e[16]=k,e[17]=p,e[18]=S):S=e[18];let N;return e[19]!==b||e[20]!==S?(N=s.jsx(Ns,{outerClassName:b,className:"w-full @container",children:S}),e[19]=b,e[20]=S,e[21]=N):N=e[21],N},Ip=500,Pp=()=>{const t=tt.c(13),{t:e}=Qe(),a=o.useSyncExternalStore(Yu,el,el),[n,r]=o.useState(!1);let i,l;if(t[0]!==a?(i=()=>{if(a!=="saving"){r(!1);return}const g=setTimeout(()=>r(!0),Ip);return()=>clearTimeout(g)},l=[a],t[0]=a,t[1]=i,t[2]=l):(i=t[1],l=t[2]),o.useEffect(i,l),a==="error"){let g;t[3]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx(_,{name:"error-warning",className:"size-3.5"}),t[3]=g):g=t[3];let f;t[4]!==e?(f=e("settings.common.status.saveFailed"),t[4]=e,t[5]=f):f=t[5];let m;return t[6]!==f?(m=s.jsxs("div",{"aria-live":"assertive",className:"flex shrink-0 items-center gap-1.5 typography-meta text-[var(--status-error)]",children:[g,s.jsx("span",{children:f})]}),t[6]=f,t[7]=m):m=t[7],m}if(a!=="saving"||!n)return null;let d;t[8]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(_,{name:"loader-4",className:"size-3.5 animate-spin"}),t[8]=d):d=t[8];let c;t[9]!==e?(c=e("settings.common.actions.saving"),t[9]=e,t[10]=c):c=t[10];let h;return t[11]!==c?(h=s.jsxs("div",{"aria-live":"polite",className:"flex shrink-0 items-center gap-1.5 typography-meta text-muted-foreground",children:[d,s.jsx("span",{children:c})]}),t[11]=c,t[12]=h):h=t[12],h},Os={ok:!0,changed:!1},Tn={ok:!0,changed:!0},ms=t=>({ok:!1,reason:t}),Ap=t=>t instanceof HTMLElement?t.matches('input, textarea, [contenteditable="true"]'):!1,Ya=t=>{const{t:e}=Qe(),[a,n]=o.useState(0),r=o.useRef(t);r.current=t;const i=o.useRef(e);i.current=e;const l=o.useRef(!1),d=o.useRef(!1),c=o.useRef(!1),h=o.useCallback(()=>{n(m=>m+1)},[]),g=o.useCallback(m=>{Ap(m.target)&&h()},[h]),f=o.useCallback(async()=>{l.current=!0;try{for(;;){d.current=!1;let m;try{m=await r.current()}catch(u){m={ok:!1,reason:u instanceof Error?u.message:String(u)}}if(!c.current)return;if(!d.current){m.ok||$.error(i.current("settings.common.status.saveFailedReason",{reason:m.reason}));return}}}finally{l.current=!1}},[]);return o.useEffect(()=>(c.current=!0,()=>{c.current=!1}),[]),o.useEffect(()=>{if(a!==0){if(l.current){d.current=!0;return}f()}},[a,f]),{requestSave:h,onBlurCapture:g}},Tp=["allow","ask","deny"],Ep=["shell","edit","read","glob","grep","patch","webfetch","websearch","skill","subagent","question","external_directory"],Dp=["openchamber","openchamber_web","openchamber_memory","openchamber_notify"],Mp=new Set(["bash","task","write","list","lsp","todowrite","todoread","multiedit","doom_loop","plan_enter","plan_exit"]),Zc=t=>Mp.has(t),Rp=[{action:"*",resource:"*",effect:"allow"},{action:"external_directory",resource:"*",effect:"ask"},{action:"read",resource:"*.env",effect:"ask"},{action:"read",resource:"*.env.*",effect:"ask"},{action:"read",resource:"*.env.example",effect:"allow"}],bl=()=>({global:null,keys:{},source:[]}),ta=t=>({global:t.global,source:t.source,keys:Object.fromEntries(Object.entries(t.keys).map(([e,a])=>[e,{effect:a.effect,patterns:a.patterns.map(n=>({...n}))}]))}),Fp=t=>{const e={global:null,keys:{},source:t.map(a=>({...a}))};for(const a of t){if(Zc(a.action))continue;if(a.action==="*"){a.resource==="*"&&(e.global=a.effect);continue}const n=e.keys[a.action]??{effect:null,patterns:[]};if(a.resource==="*")n.effect=a.effect;else{const r=n.patterns.findIndex(i=>i.pattern===a.resource);r>=0?n.patterns[r]={pattern:a.resource,effect:a.effect}:n.patterns.push({pattern:a.resource,effect:a.effect})}e.keys[a.action]=n}return e},Op=t=>t.action!=="*"||t.resource==="*",la=(t,e)=>`${t}\0${e}`,Lp=t=>{const e=new Map;t.global!==null&&e.set(la("*","*"),t.global);for(const[a,n]of Object.entries(t.keys)){n.effect!==null&&e.set(la(a,"*"),n.effect);for(const r of n.patterns){const i=r.pattern.trim();i.length!==0&&e.set(la(a,i),r.effect)}}return e},ro=t=>{const e=Lp(t),a=new Set,n=[];for(const i of t.source){if(Zc(i.action))continue;if(!Op(i)){n.push({...i});continue}const l=la(i.action,i.resource),d=e.get(l);d!==void 0&&(n.push({action:i.action,resource:i.resource,effect:d}),a.add(l))}const r=la("*","*");t.global!==null&&!a.has(r)&&n.unshift({action:"*",resource:"*",effect:t.global});for(const[i,l]of Object.entries(t.keys)){const d=la(i,"*");if(l.effect!==null&&!a.has(d)){const c=n.findIndex(g=>g.action===i),h={action:i,resource:"*",effect:l.effect};c>=0?n.splice(c,0,h):n.push(h)}for(const c of l.patterns){const h=c.pattern.trim();if(h.length===0)continue;const g=la(i,h),f=e.get(g);f===void 0||a.has(g)||(a.add(g),n.push({action:i,resource:h,effect:f}))}}return n},Kp=(t,e)=>JSON.stringify(ro(t))===JSON.stringify(ro(e)),zp=(t,e)=>{const a=[...Rp,...e.global,...e.agentGlobal?[{action:"*",resource:"*",effect:e.agentGlobal}]:[]];let n="ask";for(const r of a)r.resource==="*"&&(r.action==="*"||r.action===t)&&(n=r.effect);return n},Up=t=>t.split(/[_-]/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "),_p=new Set(["shell","edit","read","glob","grep","patch","webfetch","skill","subagent","external_directory"]),$p={effect:null,patterns:[]},Bp=t=>{const e=tt.c(163),{agent:a,registerSave:n,requestSave:r}=t,{t:i}=Qe(),l=Qn(Vp),d=Qn(Hp);let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[0]=c):c=e[0];const[h,g]=o.useState(c),[f,m]=o.useState(bl),[u,v]=o.useState(bl),[w,b]=o.useState(!0),[k,p]=o.useState(!1);let S;e[1]===Symbol.for("react.memo_cache_sentinel")?(S={},e[1]=S):S=e[1];const[N,I]=o.useState(S),[y,T]=o.useState(""),[x,A]=o.useState(0),R=a.name,P=rn(),D=Yn(qp);let F;e[2]!==P?(F=ze=>fo(ze,P),e[2]=P,e[3]=F):F=e[3];const O=Yn(F);let C;e[4]!==P?(C=ze=>ze.getStatusForDirectory(P),e[4]=P,e[5]=C):C=e[5];const M=un(C);let U,L;e[6]!==D||e[7]!==P?(U=()=>{D({directory:P})},L=[D,P],e[6]=D,e[7]=P,e[8]=U,e[9]=L):(U=e[8],L=e[9]),o.useEffect(U,L);let W;e[10]!==R||e[11]!==d||e[12]!==P?(W=()=>{let ze=!1;return b(!0),p(!1),(async()=>{const Ge=await d(R,P);if(ze)return;if(!Ge){p(!0),b(!1);return}const Q=Fp(Ge.agent);g(Ge.global),m(ta(Q)),v(Q),I({}),b(!1)})(),()=>{ze=!0}},e[10]=R,e[11]=d,e[12]=P,e[13]=W):W=e[13];let X;e[14]!==R||e[15]!==d||e[16]!==x||e[17]!==P?(X=[R,d,x,P],e[14]=R,e[15]=d,e[16]=x,e[17]=P,e[18]=X):X=e[18],o.useEffect(W,X);let J;e[19]!==R||e[20]!==f||e[21]!==u||e[22]!==P||e[23]!==i||e[24]!==l?(J=async()=>Kp(u,f)?Os:(await l(R,{permissions:ro(u)},P)).ok?(m(ta(u)),Tn):ms(i("settings.agents.page.permissionsEditor.toast.saveFailed")),e[19]=R,e[20]=f,e[21]=u,e[22]=P,e[23]=i,e[24]=l,e[25]=J):J=e[25];const q=J;let z,H;e[26]!==n||e[27]!==q?(z=()=>(n(q),()=>n(null)),H=[n,q],e[26]=n,e[27]=q,e[28]=z,e[29]=H):(z=e[28],H=e[29]),o.useEffect(z,H);let se;e[30]!==O?(se=O.map(Gp),e[30]=O,e[31]=se):se=e[31];const B=se;let ne;if(e[32]!==B||e[33]!==u.keys){ne=[...Ep,...Dp];const ze=new Set(B.map(Wp));let Ge;e[35]!==u.keys?(Ge=Object.keys(u.keys),e[35]=u.keys,e[36]=Ge):Ge=e[36];for(const Q of Ge)!ne.includes(Q)&&!ze.has(Q)&&ne.push(Q);e[32]=B,e[33]=u.keys,e[34]=ne}else ne=e[34];const K=ne;let Z;e[37]!==M||e[38]!==i?(Z=ze=>{switch(M?.[ze]?.status.status){case"connected":return i("settings.mcp.page.status.label.connected");case"failed":return i("settings.mcp.page.status.label.failed");case"needs_auth":return i("settings.mcp.page.status.label.needsAuth");case"disabled":return i("settings.agents.page.permissionsEditor.mcpStatus.disabled");case"pending":return i("settings.agents.page.permissionsEditor.mcpStatus.pending");default:return null}},e[37]=M,e[38]=i,e[39]=Z):Z=e[39];const oe=Z;let ue;e[40]!==h||e[41]!==u.global?(ue=ze=>zp(ze,{global:h,agentGlobal:u.global}),e[40]=h,e[41]=u.global,e[42]=ue):ue=e[42];const de=ue;let ce;e[43]!==r?(ce=ze=>{v(Ge=>({...Ge,global:ze})),r()},e[43]=r,e[44]=ce):ce=e[44];const Se=ce;let re;e[45]!==r?(re=(ze,Ge)=>{v(Q=>{const Ue=ta(Q),st=Ue.keys[ze]??{effect:null,patterns:[]};return st.effect=Ge,st.effect===null&&st.patterns.length===0?delete Ue.keys[ze]:Ue.keys[ze]=st,Ue}),r()},e[45]=r,e[46]=re):re=e[46];const ve=re;let ie;e[47]!==r?(ie=(ze,Ge,Q,Ue,st)=>{v(dt=>{const ct=ta(dt),ft=ct.keys[ze]??{effect:null,patterns:[]};return ft.patterns[Ge]={pattern:Q,effect:Ue},ct.keys[ze]=ft,ct}),st&&r()},e[47]=r,e[48]=ie):ie=e[48];const me=ie;let ke;e[49]===Symbol.for("react.memo_cache_sentinel")?(ke=ze=>{v(Ge=>{const Q=ta(Ge),Ue=Q.keys[ze]??{effect:null,patterns:[]};return Ue.patterns.push({pattern:"",effect:"allow"}),Q.keys[ze]=Ue,Q}),I(Ge=>({...Ge,[ze]:!0}))},e[49]=ke):ke=e[49];const Ae=ke;let pe;e[50]!==r?(pe=(ze,Ge)=>{v(Q=>{const Ue=ta(Q),st=Ue.keys[ze];return st?(st.patterns.splice(Ge,1),st.effect===null&&st.patterns.length===0&&delete Ue.keys[ze],Ue):Q}),r()},e[50]=r,e[51]=pe):pe=e[51];const Le=pe;let Ve;e[52]!==y||e[53]!==r?(Ve=()=>{const ze=y.trim();!ze||ze==="*"||(v(Ge=>{if(Ge.keys[ze])return Ge;const Q=ta(Ge);return Q.keys[ze]={effect:"ask",patterns:[]},Q}),T(""),r())},e[52]=y,e[53]=r,e[54]=Ve):Ve=e[54];const ye=Ve;let Te;e[55]!==i?(Te=ze=>i(ze==="allow"?"settings.agents.page.permissionsEditor.action.allow":ze==="ask"?"settings.agents.page.permissionsEditor.action.ask":"settings.agents.page.permissionsEditor.action.deny"),e[55]=i,e[56]=Te):Te=e[56];const ee=Te;let ae,fe,je,Re,Ce,_e,Ke,Fe,Me;if(e[57]!==ee||e[58]!==de||e[59]!==N||e[60]!==w||e[61]!==k||e[62]!==B||e[63]!==oe||e[64]!==u.global||e[65]!==u.keys||e[66]!==Le||e[67]!==Se||e[68]!==ve||e[69]!==me||e[70]!==i||e[71]!==K){Me=Symbol.for("react.early_return_sentinel");e:{const ze=i("settings.agents.page.permissionsEditor.action.inherit"),Ge=i("settings.agents.page.permissionsEditor.action.default");let Q;e[81]!==ee?(Q=$e=>[...$e?[{value:"inherit",label:$e}]:[],...Tp.map(Y=>({value:Y,label:ee(Y)}))],e[81]=ee,e[82]=Q):Q=e[82];const Ue=Q,st=($e,Y,V,be)=>{const ge=be===void 0?ze:be;return s.jsx(mn,{value:$e??"inherit",options:Ue(ge),onChange:Ee=>Y(Ee==="inherit"?null:Ee),"aria-label":V})};if(w){let $e;e[83]!==i?($e=i("settings.agents.page.section.toolPermissions"),e[83]=i,e[84]=$e):$e=e[84];let Y;e[85]!==i?(Y=i("common.loading"),e[85]=i,e[86]=Y):Y=e[86];let V;e[87]!==Y?(V=s.jsx("p",{className:vs,children:Y}),e[87]=Y,e[88]=V):V=e[88];let be;e[89]!==$e||e[90]!==V?(be=s.jsx(qe,{title:$e,children:V}),e[89]=$e,e[90]=V,e[91]=be):be=e[91],Me=be;break e}if(k){let $e;e[92]!==i?($e=i("settings.agents.page.section.toolPermissions"),e[92]=i,e[93]=$e):$e=e[93];let Y;e[94]!==i?(Y=i("settings.agents.page.permissionsEditor.state.loadFailed"),e[94]=i,e[95]=Y):Y=e[95];let V;e[96]!==Y?(V=s.jsx("p",{className:"typography-meta text-[var(--status-error)]",children:Y}),e[96]=Y,e[97]=V):V=e[97];let be;e[98]===Symbol.for("react.memo_cache_sentinel")?(be=()=>A(Jp),e[98]=be):be=e[98];let ge;e[99]!==i?(ge=i("settings.agents.page.permissionsEditor.actions.retry"),e[99]=i,e[100]=ge):ge=e[100];let Ee;e[101]!==ge?(Ee=s.jsx(G,{variant:"outline",size:"xs",onClick:be,children:ge}),e[101]=ge,e[102]=Ee):Ee=e[102];let te;e[103]!==V||e[104]!==Ee?(te=s.jsxs("div",{className:"flex items-center gap-3",children:[V,Ee]}),e[103]=V,e[104]=Ee,e[105]=te):te=e[105];let xe;e[106]!==$e||e[107]!==te?(xe=s.jsx(qe,{title:$e,children:te}),e[106]=$e,e[107]=te,e[108]=xe):xe=e[108],Me=xe;break e}const dt=($e,Y,V)=>{const be=u.keys[$e]??$p,ge=_p.has($e)||be.patterns.length>0,Ee=N[$e]===!0;return s.jsxs("div",{className:"border-t border-border/40 py-2",children:[s.jsxs("div",{className:"flex flex-col gap-2 @xl:flex-row @xl:items-center @xl:justify-between",children:[s.jsxs("button",{type:"button",onClick:ge?()=>I(te=>({...te,[$e]:!Ee})):void 0,className:Pe("flex min-w-0 items-center gap-1.5 text-left",!ge&&"cursor-default"),"aria-expanded":ge?Ee:void 0,children:[s.jsx(_,{name:Ee&&ge?"arrow-down-s":"arrow-right-s",className:Pe("h-3.5 w-3.5 shrink-0 text-muted-foreground",!ge&&"opacity-0")}),s.jsx("span",{className:Ct,children:Y}),s.jsx("span",{className:"typography-micro font-mono text-muted-foreground/70",children:$e}),V&&s.jsx("span",{className:"typography-micro rounded bg-muted px-1 text-muted-foreground",children:V}),be.effect===null&&s.jsx("span",{className:"typography-micro text-muted-foreground",children:i("settings.agents.page.permissionsEditor.effectiveHint",{action:ee(de($e))})}),be.patterns.length>0&&s.jsx("span",{className:"typography-micro rounded bg-muted px-1 text-muted-foreground",children:i("settings.agents.page.permissionsEditor.ruleCount",{count:String(be.patterns.length)})})]}),st(be.effect,te=>ve($e,te),i("settings.agents.page.permissionsEditor.keyAria",{key:$e}))]}),Ee&&ge&&s.jsxs("div",{className:"mt-2 space-y-2 pl-5",children:[be.patterns.map((te,xe)=>s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx(He,{value:te.pattern,onChange:Ze=>me($e,xe,Ze.target.value,te.effect,!1),placeholder:i("settings.agents.page.permissionsEditor.patternPlaceholder"),"aria-label":i("settings.agents.page.permissionsEditor.patternActionAria",{key:$e}),className:"h-8 w-full max-w-[24rem] min-w-0 flex-1 font-mono text-xs"}),s.jsx(mn,{value:te.effect,options:Ue(),onChange:Ze=>me($e,xe,te.pattern,Ze,!0),"aria-label":i("settings.agents.page.permissionsEditor.patternActionAria",{key:$e})}),s.jsx(G,{variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0 text-muted-foreground hover:bg-destructive/10 hover:text-destructive",onClick:()=>Le($e,xe),"aria-label":i("settings.agents.page.permissionsEditor.actions.removeRuleAria"),children:s.jsx(_,{name:"close",className:"h-3.5 w-3.5"})})]},xe)),s.jsxs(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:()=>Ae($e),children:[s.jsx(_,{name:"add",className:"mr-1 h-3.5 w-3.5"}),i("settings.agents.page.permissionsEditor.actions.addRule")]})]})]},$e)};ae=qe,e[109]!==i?(fe=i("settings.agents.page.section.toolPermissions"),e[109]=i,e[110]=fe):fe=e[110],je="agents.permissions",e[111]!==i?(Re=i("settings.agents.page.permissionsEditor.sectionInfo"),e[111]=i,e[112]=Re):Re=e[112],Ce="space-y-4";let ct;e[113]!==i?(ct=i("settings.agents.page.permissionsEditor.defaultLabel"),e[113]=i,e[114]=ct):ct=e[114];let ft;e[115]!==ct?(ft=s.jsx("span",{className:Ct,children:ct}),e[115]=ct,e[116]=ft):ft=e[116];let kt;e[117]!==i?(kt=i("settings.agents.page.permissionsEditor.defaultInfo"),e[117]=i,e[118]=kt):kt=e[118];let bt;e[119]!==kt?(bt=s.jsx(Gt,{children:kt}),e[119]=kt,e[120]=bt):bt=e[120];let vt;e[121]!==ee||e[122]!==de||e[123]!==u.global||e[124]!==i?(vt=u.global===null&&s.jsx("span",{className:"typography-micro text-muted-foreground",children:i("settings.agents.page.permissionsEditor.effectiveHint",{action:ee(de("*"))})}),e[121]=ee,e[122]=de,e[123]=u.global,e[124]=i,e[125]=vt):vt=e[125];let Xe;e[126]!==ft||e[127]!==bt||e[128]!==vt?(Xe=s.jsxs("div",{className:"flex items-center gap-1.5",children:[ft,bt,vt]}),e[126]=ft,e[127]=bt,e[128]=vt,e[129]=Xe):Xe=e[129];const jt=u.global;let De;e[130]!==i?(De=i("settings.agents.page.permissionsEditor.defaultAria"),e[130]=i,e[131]=De):De=e[131],_e=s.jsxs("div",{className:"flex flex-col gap-2 pb-2 @xl:flex-row @xl:items-center @xl:justify-between",children:[Xe,st(jt,Se,De,Ge)]}),Ke=s.jsx("div",{children:K.map($e=>dt($e,Up($e),null))}),Fe=B.length>0&&s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-1.5 border-t border-border/40 pt-3 pb-1",children:[s.jsx("span",{className:Ct,children:i("settings.agents.page.permissionsEditor.mcpTitle")}),s.jsx(Gt,{children:i("settings.agents.page.permissionsEditor.mcpInfo")})]}),B.map($e=>dt($e.key,$e.server,oe($e.server)))]})}e[57]=ee,e[58]=de,e[59]=N,e[60]=w,e[61]=k,e[62]=B,e[63]=oe,e[64]=u.global,e[65]=u.keys,e[66]=Le,e[67]=Se,e[68]=ve,e[69]=me,e[70]=i,e[71]=K,e[72]=ae,e[73]=fe,e[74]=je,e[75]=Re,e[76]=Ce,e[77]=_e,e[78]=Ke,e[79]=Fe,e[80]=Me}else ae=e[72],fe=e[73],je=e[74],Re=e[75],Ce=e[76],_e=e[77],Ke=e[78],Fe=e[79],Me=e[80];if(Me!==Symbol.for("react.early_return_sentinel"))return Me;let at;e[132]===Symbol.for("react.memo_cache_sentinel")?(at=ze=>T(ze.target.value),e[132]=at):at=e[132];let pt;e[133]!==ye?(pt=ze=>{ze.key==="Enter"&&(ze.preventDefault(),ye())},e[133]=ye,e[134]=pt):pt=e[134];let ot;e[135]!==i?(ot=i("settings.agents.page.permissionsEditor.customKeyPlaceholder"),e[135]=i,e[136]=ot):ot=e[136];let mt;e[137]!==y||e[138]!==pt||e[139]!==ot?(mt=s.jsx(He,{value:y,onChange:at,onKeyDown:pt,placeholder:ot,className:"h-8 w-full max-w-[16rem] font-mono text-xs"}),e[137]=y,e[138]=pt,e[139]=ot,e[140]=mt):mt=e[140];let ht;e[141]!==y?(ht=y.trim(),e[141]=y,e[142]=ht):ht=e[142];const Oe=!ht;let nt;e[143]===Symbol.for("react.memo_cache_sentinel")?(nt=s.jsx(_,{name:"add",className:"mr-1 h-3.5 w-3.5"}),e[143]=nt):nt=e[143];let lt;e[144]!==i?(lt=i("settings.agents.page.permissionsEditor.actions.addKey"),e[144]=i,e[145]=lt):lt=e[145];let we;e[146]!==ye||e[147]!==Oe||e[148]!==lt?(we=s.jsxs(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:ye,disabled:Oe,children:[nt,lt]}),e[146]=ye,e[147]=Oe,e[148]=lt,e[149]=we):we=e[149];let Je;e[150]!==mt||e[151]!==we?(Je=s.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-t border-border/40 pt-3",children:[mt,we]}),e[150]=mt,e[151]=we,e[152]=Je):Je=e[152];let Ye;return e[153]!==ae||e[154]!==fe||e[155]!==je||e[156]!==Re||e[157]!==Ce||e[158]!==_e||e[159]!==Ke||e[160]!==Fe||e[161]!==Je?(Ye=s.jsxs(ae,{title:fe,settingsItem:je,info:Re,contentClassName:Ce,children:[_e,Ke,Fe,Je]}),e[153]=ae,e[154]=fe,e[155]=je,e[156]=Re,e[157]=Ce,e[158]=_e,e[159]=Ke,e[160]=Fe,e[161]=Je,e[162]=Ye):Ye=e[162],Ye};function Vp(t){return t.updateAgent}function Hp(t){return t.fetchAgentPermissions}function qp(t){return t.loadMcpConfigs}function Gp(t){return{key:`${t.name}_*`,server:t.name}}function Wp(t){return t.key}function Jp(t){return t+1}const To=t=>{const e=tt.c(11),{legacy:a,path:n,className:r}=t,{t:i}=Qe();if(!a)return null;let l;e[0]!==r?(l=Pe("mb-4 flex items-start gap-1.5",vs,r),e[0]=r,e[1]=l):l=e[1];const d=n??void 0;let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsx(_,{name:"information",className:"mt-[0.2em] h-3.5 w-3.5 shrink-0 opacity-70"}),e[2]=c):c=e[2];let h;e[3]!==i?(h=i("settings.common.legacyFormat.note"),e[3]=i,e[4]=h):h=e[4];let g;e[5]!==h?(g=s.jsx("span",{children:h}),e[5]=h,e[6]=g):g=e[6];let f;return e[7]!==l||e[8]!==d||e[9]!==g?(f=s.jsxs("p",{className:l,title:d,children:[c,g]}),e[7]=l,e[8]=d,e[9]=g,e[10]=f):f=e[10],f},Qp=(t,e)=>{const a=zn(e);return a?t.find(i=>i.id===a.providerId)?.models.find(i=>i.modelID===a.modelId)?.variants.map(i=>i.id)??[]:[]},Yp=()=>{const{t}=Qe(),e=rt(ye=>ye.providers),{selectedAgentName:a,getAgentByName:n,createAgent:r,updateAgent:i,fetchAgentEntity:l,agentDraft:d,setAgentDraft:c,setSelectedAgent:h}=Qn(Bs(ye=>({selectedAgentName:ye.selectedAgentName,getAgentByName:ye.getAgentByName,createAgent:ye.createAgent,updateAgent:ye.updateAgent,fetchAgentEntity:ye.fetchAgentEntity,agentDraft:ye.agentDraft,setAgentDraft:ye.setAgentDraft,setSelectedAgent:ye.setSelectedAgent}))),g=rn(),f=Qn(ye=>Ic(ye,g)),m=a?n(a,g):null,u=!!(d&&d.name===a&&!m),v=u?"":m?.description?.trim()??"",w=u?"":m?.system?.trim()??"",[b,k]=o.useState(""),[p,S]=o.useState("user"),[N,I]=o.useState(""),[y,T]=o.useState("subagent"),[x,A]=o.useState(""),[R,P]=o.useState(""),[D,F]=o.useState(void 0),[O,C]=o.useState(void 0),[M,U]=o.useState(void 0),[L,W]=o.useState(""),[X,J]=o.useState(!1),[q,z]=o.useState(null),H=o.useRef({}),se=o.useRef(null),B=o.useCallback(ye=>{se.current=ye},[]),ne=o.useRef(null),K=JSON.stringify([a,g,u]),Z=o.useRef(K);Z.current=K;const oe=o.useRef(null),ue={description:N,mode:y,model:x,variant:R,steps:D,temperature:O,topP:M,system:L},de=o.useRef(ue);de.current=ue;const ce=o.useMemo(()=>Qp(e,x),[x,e]),Se=ce.length>0,re=R||"__default",ve=Se,ie=o.useMemo(()=>R&&!ce.includes(R)?[R,...ce]:ce,[R,ce]);o.useEffect(()=>{if(!u||!d)return;oe.current=null;const ye=di(d.model),Te=d.name||"",ee=d.scope||"user",ae=d.description||"",fe=d.mode||"subagent",je=ye?`${ye.providerID}/${ye.modelID}`:"",Re=ye?.variant||"",Ce=d.steps??void 0,_e=d.temperature??void 0,Ke=d.top_p??void 0,Fe=d.system||"";H.current={},z(null),k(Te),S(ee),I(ae),T(fe),A(je),P(Re),F(Ce),C(_e),U(Ke),W(Fe),ne.current={draftName:Te,draftScope:ee,description:ae,mode:fe,model:je,variant:Re,steps:Ce,temperature:_e,topP:Ke,system:Fe}},[d,u]),o.useEffect(()=>{if(u||!a)return;let ye=!1;return(async()=>{const Te=await l(a,g);if(ye||Z.current!==K||!Te)return;const ee=Te.config;H.current=ee;const ae=di(ee.model),fe=ee.request?.body,je={draftName:"",draftScope:"user",description:ee.description||"",mode:ee.mode||m?.mode||"subagent",model:ae?`${ae.providerID}/${ae.modelID}`:"",variant:ae?.variant||"",steps:ee.steps??void 0,temperature:fe?.temperature,topP:fe?.top_p,system:ee.system||""},Re=ne.current,Ce=de.current,_e=Re!==null&&(Ce.description!==Re.description||Ce.mode!==Re.mode||Ce.model!==Re.model||Ce.variant!==Re.variant||Ce.steps!==Re.steps||Ce.temperature!==Re.temperature||Ce.topP!==Re.topP||Ce.system!==Re.system);z({legacy:Te.legacy===!0,path:Te.path,source:Te.source}),!(oe.current===K&&_e)&&(oe.current=K,I(je.description),T(je.mode),A(je.model),P(je.variant),F(je.steps),C(je.temperature),U(je.topP),W(je.system),ne.current=je)})(),()=>{ye=!0}},[l,u,m,a,g,K]);const me=o.useCallback(ye=>{const Te=zn(x.trim()),ee=Te?Pc({providerID:Te.providerId,modelID:Te.modelId,variant:R.trim()||void 0}):null,ae=H.current.request,fe={...ae?.body};O===void 0?delete fe.temperature:fe.temperature=O,M===void 0?delete fe.top_p:fe.top_p=M;const je=ae?.headers,Re={};je&&Object.keys(je).length>0&&(Re.headers=je),Object.keys(fe).length>0&&(Re.body=fe);const Ce=N.trim(),_e=L.trim(),Ke={name:ye,mode:y,model:ee,steps:D??null,system:_e||(u?void 0:null),request:Object.keys(Re).length>0?Re:null};return Ce&&(Ke.description=Ce),u&&p&&(Ke.scope=p),u&&d?.permissions?.length&&(Ke.permissions=d.permissions),Ke},[d,N,p,u,y,x,D,L,O,M,R]),ke=o.useCallback(async()=>{const ye=ne.current,Te=a?.trim();if(u||!ye||!Te)return Os;const ee=se.current?await se.current():Os;if(N===ye.description&&y===ye.mode&&x===ye.model&&R===ye.variant&&D===ye.steps&&O===ye.temperature&&M===ye.topP&&L===ye.system||!ee.ok)return ee;const fe=me(Te);return(await i(Te,fe,g)).ok?(Z.current!==K||(H.current={...H.current,model:fe.model,system:fe.system??void 0,steps:fe.steps,request:fe.request??void 0},ne.current={...ye,description:N,mode:y,model:x,variant:R,steps:D,temperature:O,topP:M,system:L}),Tn):ms(t("settings.agents.page.toast.updateFailed"))},[me,N,u,y,x,a,K,g,D,L,t,O,M,i,R]),Ae=Ya(ke),{requestSave:pe}=Ae,Le=async()=>{const ye=b.trim().replace(/\s+/g,"-");if(!ye){$.error(t("settings.agents.sidebar.toast.agentNameRequired"));return}if(f.some(Te=>Te.name===ye)){$.error(t("settings.agents.sidebar.toast.agentExists"));return}J(!0);try{(await r(me(ye),g)).ok?(c(null),$.success(t("settings.agents.page.toast.created"))):$.error(t("settings.agents.page.toast.createFailed"))}catch(Te){console.error("Error creating agent:",Te);const ee=Te instanceof Error&&Te.message?Te.message:t("settings.agents.page.toast.saveUnexpectedError");$.error(ee)}finally{J(!1)}},Ve=()=>{c(null),h(null)};return a?s.jsxs(ts,{title:u?t("settings.agents.page.title.new"):a,description:t(u?"settings.agents.page.subtitle.new":"settings.agents.page.subtitle.edit"),onBlurCapture:Ae.onBlurCapture,children:[!u&&q&&s.jsx(To,{legacy:q.legacy,path:q.path}),!u&&q?.source==="none"&&s.jsxs("p",{className:`mb-4 flex items-start gap-1.5 ${vs}`,children:[s.jsx(_,{name:"information",className:"mt-[0.2em] h-3.5 w-3.5 shrink-0 opacity-70"}),s.jsx("span",{children:t("settings.agents.page.runtimeProvided.note")})]}),s.jsxs(qe,{title:t("settings.agents.page.section.identityRole"),divider:!1,contentClassName:"space-y-0",children:[u&&s.jsxs(It,{settingsItem:"agents.name",label:t("settings.agents.page.field.agentName"),children:[s.jsxs("div",{className:"flex items-center",children:[s.jsx("span",{className:"typography-ui-label text-muted-foreground mr-1",children:"@"}),s.jsx(He,{value:b,onChange:ye=>k(ye.target.value),placeholder:t("settings.agents.page.field.agentNamePlaceholder"),className:"h-7 w-40 px-2"})]}),s.jsxs(Et,{value:p,onValueChange:ye=>S(ye),children:[s.jsx(At,{size:Bt,className:"w-fit min-w-[100px]",children:s.jsx($t,{placeholder:t("settings.agents.page.field.scopePlaceholder")})}),s.jsxs(Tt,{align:"end",children:[s.jsx(ut,{value:"user",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(_,{name:"user-3",className:"h-3.5 w-3.5"}),s.jsx("span",{children:t("settings.common.scope.global")})]})}),s.jsx(ut,{value:"project",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(_,{name:"folder",className:"h-3.5 w-3.5"}),s.jsx("span",{children:t("settings.common.scope.project")})]})})]})]})]}),s.jsx(Ft,{label:t("settings.common.field.description"),controlClassName:"w-full max-w-none",children:s.jsx(As,{value:N,onChange:ye=>I(ye.target.value),placeholder:v||t("settings.agents.page.field.descriptionPlaceholder"),rows:2,className:"w-full resize-none min-h-[60px] bg-transparent"})}),s.jsx(Ft,{settingsItem:"agents.mode",label:t("settings.agents.page.field.mode"),info:t("settings.agents.page.field.modeTooltip"),children:s.jsx(mn,{"aria-label":t("settings.agents.page.field.mode"),value:y,onChange:ye=>{T(ye),pe()},options:[{value:"primary",label:t("settings.agents.page.mode.primary")},{value:"subagent",label:t("settings.agents.page.mode.subagent")},{value:"all",label:t("settings.agents.page.mode.all")}]})})]}),s.jsxs(qe,{title:t("settings.agents.page.section.modelParameters"),contentClassName:"space-y-3",children:[s.jsx(It,{settingsItem:"agents.model",label:t("settings.agents.page.field.overrideModel"),children:s.jsx(ca,{providerId:zn(x)?.providerId??"",modelId:zn(x)?.modelId??"",onChange:(ye,Te)=>{A(ye&&Te?`${ye}/${Te}`:""),P(""),pe()},className:Ws})}),s.jsx(It,{settingsItem:"agents.variant",label:t("settings.agents.page.field.variant"),info:s.jsxs("div",{className:"space-y-1",children:[s.jsx("p",{children:t("settings.agents.page.field.variantTooltip")}),s.jsx("p",{children:t("settings.agents.page.field.variantHint")})]}),children:ve?s.jsxs(Et,{value:re,onValueChange:ye=>{P(ye==="__default"?"":ye),pe()},children:[s.jsx(At,{size:Bt,className:nn,children:s.jsx($t,{placeholder:t("settings.agents.page.field.variantPlaceholder"),children:ye=>ye==="__default"?t("chat.modelControls.default"):ye})}),s.jsxs(Tt,{children:[s.jsx(ut,{value:"__default",children:t("chat.modelControls.default")}),ie.map(ye=>s.jsx(ut,{value:ye,children:ye},ye))]})]}):s.jsxs(s.Fragment,{children:[s.jsx(He,{value:R,onChange:ye=>P(ye.target.value),placeholder:t("settings.agents.page.field.variantPlaceholder"),disabled:!x&&!R,className:"h-8 w-40 rounded-md px-3"}),R&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{P(""),pe()},className:us,"aria-label":t("settings.common.actions.clear"),title:t("settings.common.actions.clear"),children:s.jsx(_,{name:"close",className:"h-3.5 w-3.5"})})]})}),s.jsxs(It,{settingsItem:"agents.temperature",label:t("settings.agents.page.field.temperature"),info:s.jsxs("div",{className:"space-y-1",children:[s.jsx("p",{children:t("settings.agents.page.field.temperatureTooltip")}),s.jsx("p",{children:t("settings.agents.page.field.temperatureRange")})]}),children:[s.jsx(hs,{value:O,fallbackValue:.7,onValueChange:C,onClear:()=>{C(void 0),pe()},min:0,max:2,step:.1,inputMode:"decimal",placeholder:"—",emptyLabel:"—",className:bs}),O!==void 0&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{C(void 0),pe()},className:us,"aria-label":t("settings.agents.page.field.clearTemperatureAria"),title:t("settings.common.actions.clear"),children:s.jsx(_,{name:"close",className:"h-3.5 w-3.5"})})]}),s.jsxs(It,{settingsItem:"agents.top-p",label:t("settings.agents.page.field.topP"),info:s.jsxs("div",{className:"space-y-1",children:[s.jsx("p",{children:t("settings.agents.page.field.topPTooltip")}),s.jsx("p",{children:t("settings.agents.page.field.topPRange")})]}),children:[s.jsx(hs,{value:M,fallbackValue:.9,onValueChange:U,onClear:()=>{U(void 0),pe()},min:0,max:1,step:.1,inputMode:"decimal",placeholder:"—",emptyLabel:"—",className:bs}),M!==void 0&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{U(void 0),pe()},className:us,"aria-label":t("settings.agents.page.field.clearTopPAria"),title:t("settings.common.actions.clear"),children:s.jsx(_,{name:"close",className:"h-3.5 w-3.5"})})]}),s.jsxs(It,{settingsItem:"agents.steps",label:t("settings.agents.page.field.steps"),info:t("settings.agents.page.field.stepsTooltip"),children:[s.jsx(hs,{value:D,fallbackValue:20,onValueChange:F,onClear:()=>{F(void 0),pe()},min:1,max:1e3,step:1,inputMode:"numeric",placeholder:"—",emptyLabel:"—",className:bs}),D!==void 0&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{F(void 0),pe()},className:us,"aria-label":t("settings.agents.page.field.clearStepsAria"),title:t("settings.common.actions.clear"),children:s.jsx(_,{name:"close",className:"h-3.5 w-3.5"})})]})]}),s.jsx(qe,{title:t("settings.agents.page.section.systemPrompt"),settingsItem:"agents.system-prompt",children:s.jsx(As,{value:L,onChange:ye=>W(ye.target.value),placeholder:w||t("settings.agents.page.field.systemPromptPlaceholder"),rows:8,className:"w-full font-mono typography-meta min-h-[120px] max-h-[60vh] bg-transparent"})}),!u&&m&&s.jsx(Bp,{agent:m,registerSave:B,requestSave:pe}),u&&s.jsxs("div",{className:"flex items-center gap-2 pb-8",children:[s.jsx(G,{onClick:()=>{Le()},disabled:X||!b.trim(),size:"xs",className:"!font-normal",children:t(X?"settings.common.actions.saving":"settings.common.actions.create")}),s.jsx(G,{variant:"ghost",onClick:Ve,disabled:X,size:"xs",className:"!font-normal",children:t("settings.common.actions.cancel")})]})]}):s.jsx("div",{className:"flex h-full items-center justify-center",children:s.jsxs("div",{className:"text-center text-muted-foreground",children:[s.jsx(_,{name:"robot-2",className:"mx-auto mb-3 h-12 w-12 opacity-50"}),s.jsx("p",{className:"typography-body",children:t("settings.agents.page.empty.title")}),s.jsx("p",{className:"typography-meta mt-1 opacity-75",children:t("settings.agents.page.empty.description")})]})})};function Zp(t,e){return t.kind==="file"?t.content:e??""}const vl=Ts({content:Mt(),exists:Po(),path:Mt().min(1).optional()}),Xp=async(t,e)=>{const a=await t.json().catch(()=>null);return typeof a?.error=="string"&&a.error.trim()?a.error:e},eg=t=>t.length>0&&!t.endsWith(`
2
+ import{R as o,j as s,f as tt,r as et}from"./vendor-react-BUCujlKS.js";import{f as Qe,B as G,I as _,o as jn,bj as Zn,t as $,O as Kd,h0 as zd,e$ as qe,h1 as Ct,g as _a,eK as Cc,b as pn,T as fa,h as Pe,au as Ud,h2 as Pr,h3 as _d,cl as $t,ck as At,cn as ut,cm as Tt,cj as Et,eR as Qn,h4 as Ic,h5 as $d,h6 as Ua,h7 as _n,c8 as Ns,c2 as Ut,c3 as _t,c4 as Vt,c5 as Ht,c6 as qt,c7 as as,X as He,h8 as pi,av as kn,bh as an,at as Nn,as as Sn,h9 as Xr,ha as Vi,ad as Yn,ac as un,f5 as Gt,hb as mn,hc as fo,hd as vs,l as rt,he as di,fm as zn,hf as Pc,fj as It,fg as Bt,hg as Ft,co as As,ea as ca,fi as Ws,fk as nn,hh as us,ef as hs,hi as bs,cW as gt,hj as Ac,hk as Bd,hl as Vd,hm as gi,hn as Hd,ho as ws,e_ as Ps,hp as tn,gj as Wa,gp as sn,hq as $a,hr as Tc,hs as xo,eb as bo,ah as Ba,ht as eo,hu as Bo,hv as qd,cg as Cn,cr as In,ch as Pn,hw as Vo,hx as An,hy as Jt,hz as vo,ae as ar,af as ir,ag as yo,hA as jo,hB as na,hC as Ec,hD as Ln,a7 as Ja,cw as wo,hE as Ho,ay as Gd,cp as Wd,da as Jd,U as Qd,V as Yd,W as Zd,_ as ko,hF as Xd,hG as eu,ce as tu,cq as to,hH as Dc,P as Va,hI as Fs,fl as su,a6 as nu,hJ as au,n as rs,ex as Qi,y as Mc,x as iu,i as ru,j as ou,ey as lu,p as cu,hK as du,hL as uu,hM as qo,eg as Rc,hN as mu,hO as Ar,hP as Go,hQ as pu,hR as gu,hS as hu,hT as fu,gd as Yi,hU as cs,hV as js,dh as Fc,bZ as Oc,di as Lc,b_ as qs,hW as Kn,hX as No,aH as Jn,aI as Ma,hY as Xs,hZ as On,dv as Kc,h_ as zc,h$ as Uc,i0 as xu,eZ as bu,eY as vu,i1 as so,eI as yu,i2 as aa,i3 as Rs,i4 as Hs,g6 as ia,i5 as ks,i6 as ju,i7 as Wo,i8 as _c,i9 as ra,ia as wu,ib as ku,R as $c,db as Nu,d5 as Su,d6 as Cu,cJ as Iu,eT as Pu,d7 as Au,d1 as Tu,bp as Eu,ic as Qa,ff as Ra,id as Jo,ie as Fa,ig as Oa,b$ as ua,ih as Du,ii as Mu,ij as Ru,ik as Fu,il as Tr,im as Qo,io as Ou,ip as Lu,iq as Ku,ir as zu,is as Yo,z as Uu,m as Zo,dz as _u,it as $u,iu as Er,iv as Xo,eC as Bu,iw as rr,ix as Vu,iy as Hu,iz as qu,iA as Gu,iB as Wu,iC as Dr,cX as Ju,c0 as Bc,aB as Hn,aC as Qu}from"./useAppFontEffects-Cfuya0Zd.js";import{h as St,i as So,u as he,P as fs,dG as Yu,dH as el,v as xt,aF as En,C as Ms,a as wn,F as ls,Q as tl,cN as sl,cU as nl,V as ei,p as Zu,dI as Xu,k as em,cM as Ka,dJ as tm,an as sm,cR as nm,dK as am,dL as im,s as rm,e as hi,cS as om,H as fi,dM as Vc,$ as lm,dN as cm,a4 as Hc,aE as os,dO as qc,bb as Gc,y as Ha,b4 as Wc,ag as dm,ah as um,aO as Co,dP as mm,z as or,_ as pm,q as al,aT as il,bf as Di,aU as gm,dQ as hm,ac as da,dR as fm,dS as rl,dF as ol,dT as ll,aR as cl,dU as xm,dV as bm,dW as vm,dX as ym,dY as dl,b as jm,dZ as wm,d_ as km,d$ as Nm,e0 as Sm,e1 as Cm,e2 as Im,ay as Pm}from"./index-Di6zUe5h.js";import{u as Am,X as ul,aq as Tm,ar as Em,as as Dm,Z as ma,$ as pa,a0 as ga,a1 as ha,m as Io,at as oa,a5 as Mm,z as Is,au as Rm,ao as Fm,a3 as Om,av as za,aw as Jc,a2 as Lm,a4 as Km}from"./runtimeEndpointReset-BsoTecOZ.js";import{u as Bs,c as zm}from"./vendor-zustand-BAGL70zf.js";import{o as Ts,s as Mt,b as Po,l as Um,r as Un,c as no,a as xa,_ as Ao,u as ao}from"./vendor-zod-BSoePkpP.js";import{s as _m,p as $m}from"./vendor-yaml-3778uTud.js";import{c as ml,s as Bm,C as pl,P as Vm}from"./shikiHighlight-U-ER5VqY.js";import{getResolvedShikiTheme as Hm}from"./appThemeRegistry-CF0I57r1.js";import{E as gl}from"./vendor-codemirror-view-CiLROUVV.js";import{Q as Qc}from"./vendor-qrcode-DTJ12-WC.js";import{u as Mr,s as qm,d as Gm,b as Wm,A as Jm,c as Qm,e as Ym,f as Zm,h as Xm,i as Rr,j as ep}from"./PluginPane-DJgKVT9D.js";import{toast as qa}from"./vendor-sonner-DFyL3AvE.js";import{s as tp}from"./vendor-strip-json-comments-5dJlOkP1.js";import{Y as sp,U as np,X as ap,W as ip,V as rp}from"./vendor-base-ui-CsXYnR5c.js";import{_ as op}from"./vendor-vite-runtime-DD1OZmLC.js";const hl=()=>{const{t}=Qe(),[e,a]=o.useState(null);o.useEffect(()=>{let r=!1;const i=typeof AbortController<"u"?new AbortController:void 0;return(async()=>{try{const d=await St("/api/system/info",{signal:i?.signal,headers:{Accept:"application/json"}});if(!d.ok)return;const c=await d.json().catch(()=>null);if(!c||r)return;const h=typeof c.port=="number"&&Number.isFinite(c.port)&&c.port>0?c.port:null,g=typeof c.tunnelUrl=="string"&&c.tunnelUrl.trim().length>0?c.tunnelUrl.trim():null;a({port:h,tunnelUrl:g})}catch{}})(),()=>{r=!0,i?.abort()}},[]);const n=[];return e?.port!==null&&e?.port!==void 0&&n.push({key:"application",label:t("settings.openchamber.about.field.applicationUrl"),url:`http://localhost:${e.port}/`}),e?.tunnelUrl&&n.push({key:"tunnel",label:t("settings.openchamber.about.field.tunnelUrl"),url:e.tunnelUrl}),n.length===0?null:s.jsx("div",{className:"flex flex-wrap items-center gap-2",children:n.map(r=>s.jsxs(G,{type:"button",variant:"outline",size:"sm",title:r.label,className:"max-w-full gap-1.5 px-2.5",onClick:()=>{jn(r.url)},children:[s.jsx(_,{name:"external-link",className:"size-3.5 shrink-0"}),s.jsx("span",{className:"max-w-64 truncate font-mono typography-micro",children:r.url})]},r.key))})},fl="https://github.com/openchamber/openchamber",lp="https://discord.gg/ZYRSdnwwKA",xl="https://x.com/openchamber_dev",cp=800,dp={info:null,checking:!1,available:!1,error:null};function up(t){const e=tt.c(5),[a,n]=o.useState(dp);let r;e[0]!==t?(r=async()=>{if(t){n(mp);try{const d=await Tm();n({info:d,checking:!1,available:d.available,error:null})}catch(d){const c=d;n({info:null,checking:!1,available:!1,error:c instanceof Error?c.message:String(c)})}}},e[0]=t,e[1]=r):r=e[1];const i=r;let l;return e[2]!==i||e[3]!==a?(l={...a,check:i},e[2]=i,e[3]=a,e[4]=l):l=e[4],l}function mp(t){return{...t,checking:!0,error:null}}function pp(t){const e=tt.c(11),[a,n]=o.useState(null);let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={kind:"idle"},e[0]=r):r=e[0];const[i,l]=o.useState(r);let d;e[1]===Symbol.for("react.memo_cache_sentinel")?(d=async()=>{try{const b=await Em();return n(b),b}catch{return null}},e[1]=d):d=e[1];const c=d;let h,g;e[2]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{c()},g=[c],e[2]=h,e[3]=g):(h=e[2],g=e[3]),o.useEffect(h,g);let f;e[4]!==t?(f=async()=>{l({kind:"upgrading"});try{const b=await Dm(t);l({kind:"installed",version:b})}catch(b){const k=b;l({kind:"failed",error:k instanceof Error?k.message:t})}},e[4]=t,e[5]=f):f=e[5];const m=f;let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=async b=>{await b().catch(gp);const k=await c();k?.currentVersion&&l(p=>p.kind!=="installed"||p.version&&p.version.replace(/^v/,"")!==k.currentVersion?p:{kind:"idle"})},e[6]=u):u=e[6];const v=u;let w;return e[7]!==i||e[8]!==a||e[9]!==m?(w={status:a,phase:i,refresh:c,upgrade:m,reloadAfterUpgrade:v},e[7]=i,e[8]=a,e[9]=m,e[10]=w):w=e[10],w}function gp(){}function hp(t){const[e,a]=o.useState(null);return o.useEffect(()=>{if(!t)return;let n=!1;return op(async()=>{const{App:r}=await import("./vendor-capacitor-app-BrDJj9I_.js");return{App:r}},__vite__mapDeps([0,1,2])).then(({App:r})=>r.getInfo()).then(r=>{n||a(r.version.trim()||null)}).catch(()=>{}),()=>{n=!0}},[t]),e}const Yc=({initialUpdateDialogOpen:t=!1})=>{const{t:e}=Qe(),[a,n]=o.useState(t),[r,i]=o.useState(!1),[l,d]=o.useState(null),c=Am(Bs(O=>({info:O.info,checking:O.checking,available:O.available,error:O.error,downloading:O.downloading,downloaded:O.downloaded,progress:O.progress,runtimeType:O.runtimeType,checkForUpdates:O.checkForUpdates,downloadUpdate:O.downloadUpdate,restartToUpdate:O.restartToUpdate}))),{isMobile:h}=Zn(),g=o.useMemo(()=>So(),[]),f=up(g),m=hp(g),u=g?{info:f.info,checking:f.checking,available:f.available,error:f.error,checkForUpdates:f.check,runtimeType:"web"}:{info:c.info,checking:c.checking,available:c.available,error:c.error,checkForUpdates:c.checkForUpdates,runtimeType:c.runtimeType},v=l||u.info?.currentVersion||"unknown",w=pp(e("opencodeUpdate.toast.failed.description")),b=w.status?.currentVersion??null,k=w.phase.kind==="installed"?null:w.status?.availableVersion??null,[p,S]=o.useState(!1),N=(()=>{const O=u.info?.version||"";return g?u.info?.packageManager==="electron"?e("settings.openchamber.about.actions.updateDesktopToVersion",{version:O}):e("settings.openchamber.about.actions.updateServerToVersion",{version:O}):e("settings.openchamber.about.actions.updateOpenChamberToVersion",{version:O})})(),I=u.available&&u.info?.installBlocked==="service-manager",y=u.info?.updateCommand||"openchamber update",T=()=>{u.checkForUpdates(),w.refresh()},x=async()=>{(await _a(y)).ok&&(S(!0),setTimeout(()=>S(!1),2e3))},A=()=>{w.reloadAfterUpgrade(async()=>{await Cc({message:e("opencodeUpdate.toast.reload.message"),mode:"projects",scopes:["all"]})})},R=I?s.jsxs("div",{className:"space-y-2",children:[s.jsx("p",{className:"typography-meta text-muted-foreground",children:e("settings.openchamber.about.serviceManagerUpdate",{version:u.info?.version||""})}),s.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-border bg-surface-elevated/50 p-1 pl-3",children:[s.jsx("code",{className:"flex-1 overflow-x-auto whitespace-nowrap font-mono text-sm text-foreground",children:y}),s.jsx(G,{type:"button",variant:"ghost",size:"icon",onClick:()=>{x()},"aria-label":e(p?"updateDialog.actions.copied":"updateDialog.actions.copyCommand"),children:s.jsx(_,{name:p?"check":"clipboard",className:"size-4"})})]})]}):null,P=(()=>{const{phase:O}=w;if(O.kind==="installed")return s.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[s.jsx("span",{className:"typography-meta text-muted-foreground",children:O.version?e("settings.openchamber.about.openCode.installedVersion",{version:O.version}):e("settings.openchamber.about.openCode.installed")}),s.jsx(G,{type:"button",size:"sm",variant:"outline",onClick:A,children:e("opencodeUpdate.toast.actions.reload")})]});if(!k)return null;if(!w.status?.supported)return s.jsx("p",{className:"typography-meta text-muted-foreground",children:e("settings.openchamber.about.openCode.manualUpdate",{version:k})});const C=O.kind==="upgrading";return s.jsxs("div",{className:"space-y-2",children:[s.jsxs(G,{type:"button",size:"sm",variant:"outline",onClick:()=>{w.upgrade()},disabled:C,children:[s.jsx(_,{name:C?"loader":"download",className:C?"size-4 animate-spin":"size-4"}),C?e("opencodeUpdate.toast.upgrading.title"):e("settings.openchamber.about.actions.updateOpenCodeToVersion",{version:k})]}),O.kind==="failed"&&s.jsx("p",{className:"typography-meta text-[var(--status-error)]",children:O.error})]})})();o.useEffect(()=>{let O=!1;return(async()=>{try{const M=await St("/api/system/info",{method:"GET",headers:{Accept:"application/json"}});if(!M.ok)return;const U=await M.json().catch(()=>null),L=typeof U?.openchamberVersion=="string"&&U.openchamberVersion.trim().length>0?U.openchamberVersion.trim():null;O||d(L)}catch{O||d(null)}})(),()=>{O=!0}},[]);const D=o.useRef(!1);o.useEffect(()=>{if(u.checking)i(!0),D.current=!0;else if(r){const O=setTimeout(()=>{i(!1),D.current&&!u.available&&!u.error&&($.success(e(g?"settings.openchamber.about.toast.serverLatestVersion":"settings.openchamber.about.toast.latestVersion")),D.current=!1)},cp);return()=>clearTimeout(O)}},[e,g,u.checking,r,u.available,u.error]);const F=u.checking||r;return h?s.jsxs("div",{className:"w-full space-y-6 pb-2",children:[s.jsxs("div",{className:"flex flex-col items-center text-center",children:[s.jsx(Kd,{width:72,height:72}),s.jsx("h2",{className:`mt-4 ${zd}`,children:"OpenChamber"}),s.jsx("div",{className:"mt-2 space-y-1 typography-ui text-muted-foreground",children:g?s.jsxs(s.Fragment,{children:[s.jsx("p",{children:e("settings.openchamber.about.native.serverOpenChamberVersion",{version:v})}),s.jsx("p",{children:e("settings.openchamber.about.native.serverOpenCodeVersion",{version:b||e("settings.openchamber.about.state.unknown")})}),m&&s.jsx("p",{children:e("settings.openchamber.about.native.appVersion",{version:m})})]}):s.jsxs(s.Fragment,{children:[s.jsx("p",{children:e("aboutDialog.openChamberVersionLabel",{version:v})}),s.jsx("p",{children:e("aboutDialog.openCodeVersionLabel",{version:b||e("settings.openchamber.about.state.unknown")})})]})}),s.jsx(hl,{})]}),s.jsxs("div",{className:"flex justify-center",children:[!u.available&&!u.error&&s.jsxs(G,{type:"button",variant:"outline",size:"sm",onClick:T,disabled:F,className:"h-10 w-auto justify-center gap-2 rounded-xl px-4",children:[F?s.jsx(_,{name:"loader",className:"size-4 animate-spin"}):s.jsx(_,{name:"refresh",className:"size-4"}),e(F?"settings.openchamber.about.state.checking":g?"settings.openchamber.about.actions.checkServerForUpdates":"settings.openchamber.about.actions.checkForUpdates")]}),!F&&u.available&&!I&&s.jsxs(G,{type:"button",variant:"default",size:"sm",onClick:()=>n(!0),className:"h-10 w-auto justify-center gap-2 rounded-xl px-4",children:[s.jsx(_,{name:"download",className:"size-4"}),N]})]}),R,P&&s.jsx("div",{className:"flex justify-center text-center",children:P}),u.error&&s.jsx("p",{className:"rounded-xl border border-[var(--status-error-border)] bg-[var(--status-error-background)] px-3 py-2 typography-meta text-[var(--status-error)]",children:u.error}),s.jsxs("div",{className:"flex flex-col items-center gap-3 text-center",children:[s.jsxs("div",{className:"flex items-center justify-center gap-5",children:[s.jsxs("a",{href:fl,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 typography-ui-label text-muted-foreground transition-colors hover:text-foreground",children:[s.jsx(_,{name:"github-fill",className:"size-5"}),s.jsx("span",{children:"GitHub"})]}),s.jsxs("a",{href:lp,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 typography-ui-label text-muted-foreground transition-colors hover:text-foreground",children:[s.jsx(_,{name:"discord-fill",className:"size-5"}),s.jsx("span",{children:"Discord"})]})]}),s.jsxs("a",{href:xl,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 typography-ui-label text-muted-foreground transition-colors hover:text-foreground",children:[s.jsx(_,{name:"twitter-xfill",className:"size-5"}),s.jsx("span",{children:"@openchamber_dev"})]})]}),s.jsx("p",{className:"text-center typography-ui text-muted-foreground/60",children:e("aboutDialog.footerNote")}),s.jsx(ul,{open:a,onOpenChange:n,info:u.info,downloading:c.downloading,downloaded:c.downloaded,progress:c.progress,error:u.error,onDownload:c.downloadUpdate,onRestart:c.restartToUpdate,runtimeType:u.runtimeType})]}):s.jsxs(qe,{divider:!1,children:[s.jsxs("div",{className:"rounded-lg bg-[var(--surface-elevated)]/70 overflow-hidden flex flex-col",children:[s.jsxs("div",{className:"flex flex-col @xl:flex-row @xl:items-center justify-between gap-4 px-4 py-3 border-b border-border/40",children:[s.jsxs("div",{className:"flex min-w-0 flex-col",children:[s.jsx("span",{className:Ct,children:e("settings.openchamber.about.field.version")}),s.jsx("span",{className:"typography-meta text-muted-foreground font-mono",children:v})]}),s.jsxs("div",{className:"flex min-w-0 flex-col",children:[s.jsx("span",{className:Ct,children:e("settings.openchamber.about.field.openCodeVersion")}),s.jsx("span",{className:"typography-meta text-muted-foreground font-mono",children:b||e("settings.openchamber.about.state.unknown")})]}),s.jsxs("div",{className:"flex items-center gap-3",children:[u.checking&&s.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[s.jsx(_,{name:"loader",className:"h-4 w-4 animate-spin"}),s.jsx("span",{className:"typography-meta",children:e("settings.openchamber.about.state.checking")})]}),!u.checking&&u.available&&!I&&s.jsxs(G,{size:"sm",variant:"default",onClick:()=>n(!0),children:[s.jsx(_,{name:"download",className:"h-4 w-4 mr-1"}),N]}),!u.checking&&!u.available&&!u.error&&s.jsx("span",{className:"typography-meta text-muted-foreground",children:e("settings.openchamber.about.state.upToDate")}),s.jsx(G,{size:"sm",variant:"outline",onClick:T,disabled:u.checking,children:e("settings.openchamber.about.actions.checkForUpdates")})]})]}),R&&s.jsx("div",{className:"px-4 py-3 border-b border-border/40",children:R}),P&&s.jsx("div",{className:"px-4 py-3 border-b border-border/40",children:P}),u.error&&s.jsx("div",{className:"px-3 py-2 border-b border-border/40",children:s.jsx("p",{className:"typography-meta text-[var(--status-error)]",children:u.error})}),s.jsxs("div",{className:"flex flex-col gap-2 border-b border-border/40 px-4 py-3 @xl:flex-row @xl:items-center @xl:justify-between",children:[s.jsx("span",{className:Ct,children:e("settings.openchamber.about.field.instanceUrls")}),s.jsx(hl,{})]}),s.jsxs("div",{className:"flex items-center gap-4 px-4 py-4",children:[s.jsxs("a",{href:fl,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 text-muted-foreground hover:text-foreground typography-meta transition-colors",children:[s.jsx(_,{name:"github-fill",className:"h-4 w-4"}),s.jsx("span",{children:"GitHub"})]}),s.jsxs("a",{href:xl,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 text-muted-foreground hover:text-foreground typography-meta transition-colors",children:[s.jsx(_,{name:"twitter-xfill",className:"h-4 w-4"}),s.jsx("span",{children:"@openchamber_dev"})]})]})]}),s.jsx(ul,{open:a,onOpenChange:n,info:u.info,downloading:c.downloading,downloaded:c.downloaded,progress:c.progress,error:u.error,onDownload:c.downloadUpdate,onRestart:c.restartToUpdate,runtimeType:u.runtimeType})]})},fp=(t,e,a)=>t&&e.some(r=>r.path===t)?t:(e.find(r=>r.id===a)??e[0])?.path??null,rn=()=>{const t=tt.c(4),e=he(xp),a=pn(bp),n=pn(vp);let r;return t[0]!==n||t[1]!==a||t[2]!==e?(r=fp(e,a,n),t[0]=n,t[1]=a,t[2]=e,t[3]=r):r=t[3],r};function xp(t){return t.settingsProjectPath}function bp(t){return t.projects}function vp(t){return t.activeProjectId}const yp=t=>[...t].sort((e,a)=>(e.label||e.path).localeCompare(a.label||a.path)),xi=t=>{const e=tt.c(75),{className:a}=t,{t:n}=Qe(),{currentTheme:r}=fa(),i=he(jp),[l,d]=o.useState(!1),c=pn(wp),h=rn(),g=he(kp),f=fs();let m;e[0]!==c?(m=yp(c),e[0]=c,e[1]=m):m=e[1];const u=m;let v;e[2]!==h||e[3]!==u?(v=u.find(F=>F.path===h)??u[0]??null,e[2]=h,e[3]=u,e[4]=v):v=e[4];const w=v;if(f||!w)return null;let b;e[5]!==g||e[6]!==u?(b=F=>{const O=u.find(C=>C.id===F);O&&g(O.path)},e[5]=g,e[6]=u,e[7]=b):b=e[7];const k=b;if(i){let F;e[8]!==a?(F=Pe(a),e[8]=a,e[9]=F):F=e[9];let O;e[10]!==n?(O=n("settings.shared.projectSelector.switchProjectAria"),e[10]=n,e[11]=O):O=e[11];let C;e[12]!==n?(C=n("settings.shared.projectSelector.switchProjectTitle"),e[12]=n,e[13]=C):C=e[13];let M,U;e[14]===Symbol.for("react.memo_cache_sentinel")?(M=()=>d(!0),U=Pe(Ud({size:"touch"}),"w-full min-w-0"),e[14]=M,e[15]=U):(M=e[14],U=e[15]);let L;e[16]!==w||e[17]!==r?(L=s.jsx("span",{className:"min-w-0 flex-1 truncate typography-ui-label font-medium",children:s.jsx(Pr,{project:w,theme:r})}),e[16]=w,e[17]=r,e[18]=L):L=e[18];let W;e[19]===Symbol.for("react.memo_cache_sentinel")?(W=s.jsx(_,{name:"arrow-down-s",className:"size-4 opacity-50"}),e[19]=W):W=e[19];let X;e[20]!==l||e[21]!==O||e[22]!==C||e[23]!==U||e[24]!==L?(X=s.jsxs("button",{type:"button","aria-label":O,title:C,"aria-haspopup":"dialog","aria-expanded":l,onClick:M,className:U,children:[L,W]}),e[20]=l,e[21]=O,e[22]=C,e[23]=U,e[24]=L,e[25]=X):X=e[25];let J;e[26]!==X||e[27]!==F?(J=s.jsx("div",{className:F,children:X}),e[26]=X,e[27]=F,e[28]=J):J=e[28];let q;e[29]===Symbol.for("react.memo_cache_sentinel")?(q=()=>d(!1),e[29]=q):q=e[29];const z=w.id;let H;e[30]!==n?(H=n("settings.shared.projectSelector.sheetTitle"),e[30]=n,e[31]=H):H=e[31];let se;e[32]!==n?(se=n("settings.shared.projectSelector.searchPlaceholder"),e[32]=n,e[33]=se):se=e[33];let B;e[34]!==w.id||e[35]!==r||e[36]!==k||e[37]!==l||e[38]!==u||e[39]!==H||e[40]!==se?(B=s.jsx(_d,{open:l,onClose:q,projects:u,selectedProjectId:z,onSelectProject:k,theme:r,title:H,searchPlaceholder:se}),e[34]=w.id,e[35]=r,e[36]=k,e[37]=l,e[38]=u,e[39]=H,e[40]=se,e[41]=B):B=e[41];let ne;return e[42]!==J||e[43]!==B?(ne=s.jsxs(s.Fragment,{children:[J,B]}),e[42]=J,e[43]=B,e[44]=ne):ne=e[44],ne}let p;e[45]!==a?(p=Pe(a),e[45]=a,e[46]=p):p=e[46];const S=w.id;let N;e[47]!==k?(N=F=>{F&&k(F)},e[47]=k,e[48]=N):N=e[48];let I;e[49]!==n?(I=n("settings.shared.projectSelector.switchProjectAria"),e[49]=n,e[50]=I):I=e[50];let y;e[51]!==n?(y=n("settings.shared.projectSelector.switchProjectTitle"),e[51]=n,e[52]=y):y=e[52];let T;e[53]!==w||e[54]!==r?(T=s.jsx($t,{children:s.jsx(Pr,{project:w,theme:r})}),e[53]=w,e[54]=r,e[55]=T):T=e[55];let x;e[56]!==I||e[57]!==y||e[58]!==T?(x=s.jsx(At,{size:"settings",className:"w-full","aria-label":I,title:y,children:T}),e[56]=I,e[57]=y,e[58]=T,e[59]=x):x=e[59];let A;if(e[60]!==r||e[61]!==u){let F;e[63]!==r?(F=O=>s.jsx(ut,{value:O.id,className:"max-w-[24rem] truncate",children:s.jsx(Pr,{project:O,theme:r})},O.id),e[63]=r,e[64]=F):F=e[64],A=u.map(F),e[60]=r,e[61]=u,e[62]=A}else A=e[62];let R;e[65]!==A?(R=s.jsx(Tt,{fitContent:!0,children:A}),e[65]=A,e[66]=R):R=e[66];let P;e[67]!==w.id||e[68]!==x||e[69]!==R||e[70]!==N?(P=s.jsxs(Et,{value:S,onValueChange:N,children:[x,R]}),e[67]=w.id,e[68]=x,e[69]=R,e[70]=N,e[71]=P):P=e[71];let D;return e[72]!==P||e[73]!==p?(D=s.jsx("div",{className:p,children:P}),e[72]=P,e[73]=p,e[74]=D):D=e[74],D};function jp(t){return t.isMobile}function wp(t){return t.projects}function kp(t){return t.setSettingsProjectPath}function Np(t,e){return`opencode:sidebar-group:${t}:${e}`}const io=t=>{const e=tt.c(33),{label:a,count:n,storageKey:r,defaultExpanded:i,children:l}=t,d=i===void 0?!0:i;let c;e[0]!==a||e[1]!==r?(c=Np(r,a),e[0]=a,e[1]=r,e[2]=c):c=e[2];const h=c,g=o.useId();let f;e[3]!==d||e[4]!==h?(f=()=>{try{const P=localStorage.getItem(h);if(P!==null)return P==="true"}catch{}return d},e[3]=d,e[4]=h,e[5]=f):f=e[5];const[m,u]=et.useState(f);let v,w;e[6]!==m||e[7]!==h?(v=()=>{try{localStorage.setItem(h,String(m))}catch{}},w=[h,m],e[6]=m,e[7]=h,e[8]=v,e[9]=w):(v=e[8],w=e[9]),et.useEffect(v,w);let b;e[10]===Symbol.for("react.memo_cache_sentinel")?(b=()=>u(Sp),e[10]=b):b=e[10];let k;e[11]===Symbol.for("react.memo_cache_sentinel")?(k=Pe("flex w-full items-center gap-1 rounded-md px-2 py-1 text-left","text-xs font-semibold uppercase tracking-wide text-muted-foreground","hover:bg-[var(--interactive-hover)] transition-colors duration-150","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"),e[11]=k):k=e[11];const p=!m&&"-rotate-90";let S;e[12]!==p?(S=Pe("h-3.5 w-3.5 flex-shrink-0 transition-transform duration-200",p),e[12]=p,e[13]=S):S=e[13];let N;e[14]!==S?(N=s.jsx(_,{name:"arrow-down-s",className:S}),e[14]=S,e[15]=N):N=e[15];let I;e[16]!==a?(I=s.jsx("span",{className:"flex-1 truncate",children:a}),e[16]=a,e[17]=I):I=e[17];let y;e[18]!==n?(y=s.jsx("span",{className:"ml-1 tabular-nums opacity-60",children:n}),e[18]=n,e[19]=y):y=e[19];let T;e[20]!==g||e[21]!==m||e[22]!==N||e[23]!==I||e[24]!==y?(T=s.jsxs("button",{type:"button",onClick:b,"aria-expanded":m,"aria-controls":g,className:k,children:[N,I,y]}),e[20]=g,e[21]=m,e[22]=N,e[23]=I,e[24]=y,e[25]=T):T=e[25];const x=!m;let A;e[26]!==l||e[27]!==g||e[28]!==x?(A=s.jsx("div",{id:g,hidden:x,className:"mt-0.5 space-y-0.5 ml-2 pl-3 border-l-2 border-[var(--interactive-border)]",children:l}),e[26]=l,e[27]=g,e[28]=x,e[29]=A):A=e[29];let R;return e[30]!==T||e[31]!==A?(R=s.jsxs("div",{children:[T,A]}),e[30]=T,e[31]=A,e[32]=R):R=e[32],R};function Sp(t){return!t}const Cp=({onItemSelect:t})=>{const{t:e}=Qe(),[a,n]=o.useState(null),[r,i]=o.useState(""),[l,d]=o.useState(null),[c,h]=o.useState(null),[g,f]=o.useState(!1),[m,u]=o.useState(null),{selectedAgentName:v,setSelectedAgent:w,setAgentDraft:b,createAgent:k,deleteAgent:p,loadAgents:S,fetchAgentEntity:N}=Qn(Bs(q=>({selectedAgentName:q.selectedAgentName,setSelectedAgent:q.setSelectedAgent,setAgentDraft:q.setAgentDraft,createAgent:q.createAgent,deleteAgent:q.deleteAgent,loadAgents:q.loadAgents,fetchAgentEntity:q.fetchAgentEntity}))),I=rn(),y=Qn(q=>Ic(q,I));o.useEffect(()=>{S(I)},[S,I]);const T="bg-background",x=()=>{const q="new-agent";let z=q,H=1;for(;y.some(se=>se.name===z);)z=`${q}-${H}`,H++;b({name:z,scope:"user"}),w(z),t?.()},A=async q=>{if(Ua(q)){$.error(e("settings.agents.sidebar.toast.builtInCannotDelete"));return}d(q),h("delete")},R=async q=>{Ua(q)&&(d(q),h("reset"))},P=()=>{d(null),h(null)},D=async()=>{if(!(!l||!c)){f(!0);try{(await p(l.name,l.scope,I)).ok?(c==="delete"?$.success(e("settings.agents.sidebar.toast.agentDeleted",{name:l.name})):$.success(e("settings.agents.sidebar.toast.agentReset",{name:l.name})),P()):c==="delete"?$.error(e("settings.agents.sidebar.toast.deleteFailed")):$.error(e("settings.agents.sidebar.toast.resetFailed"))}catch(q){const z=q instanceof Error?q.message:"",H=/built-in|not deletable|not found/i.test(z);c==="delete"?$.error(e(H?"settings.agents.sidebar.toast.definitionNotFound":"settings.agents.sidebar.toast.deleteFailed")):$.error(e("settings.agents.sidebar.toast.resetFailed"))}f(!1)}},F=async q=>{const z=q.name;let H=1,se=`${z}-copy`;for(;y.some(Z=>Z.name===se);)H++,se=`${z}-copy-${H}`;const B=q,ne=await N(q.name,I);if(!ne){$.error(e("settings.agents.sidebar.toast.renameFailed"));return}const K=ne.config.request?.body;b({name:se,scope:ne.scope??B.scope??"user",description:ne.config.description??void 0,model:ne.config.model??null,system:ne.config.system??void 0,steps:ne.config.steps??void 0,temperature:K?.temperature,top_p:K?.top_p,mode:ne.config.mode??B.mode,permissions:ne.config.permissions??void 0}),w(se),t?.()},O=q=>{i(q.name),n(q)},C=async()=>{if(!a)return;const q=r.trim().replace(/\s+/g,"-");if(!q){$.error(e("settings.agents.sidebar.toast.agentNameRequired"));return}if(q===a.name){n(null);return}if(y.some(B=>B.name===q)){$.error(e("settings.agents.sidebar.toast.agentExists"));return}const z=a,H=await N(a.name,I);if(!H){$.error(e("settings.agents.sidebar.toast.renameFailed"));return}(await k({...H.config,name:q,scope:H.scope??z.scope},I)).ok?(await p(a.name,z.scope,I)).ok?($.success(e("settings.agents.sidebar.toast.agentRenamed",{name:q})),w(q)):$.error(e("settings.agents.sidebar.toast.removeOldAfterRenameFailed")):$.error(e("settings.agents.sidebar.toast.renameFailed")),n(null)},M=q=>{switch(q){case"primary":return s.jsx(_,{name:"ai-agent",className:"h-3 w-3 text-primary"});case"all":return s.jsx(_,{name:"ai-agent-fill",className:"h-3 w-3 text-primary"});case"subagent":return s.jsx(_,{name:"robot",className:"h-3 w-3 text-primary"});default:return null}},U=y.filter(q=>!$d(q)),L=U.filter(Ua),W=U.filter(q=>!Ua(q)),{groupedCustomAgents:X,ungroupedCustomAgents:J}=et.useMemo(()=>{const q={},z=[];for(const se of W){const B=se;B.group?(q[B.group]||(q[B.group]=[]),q[B.group].push(se)):z.push(se)}return{groupedCustomAgents:Object.keys(q).sort((se,B)=>se.localeCompare(B)).map(se=>({name:se,agents:q[se]})),ungroupedCustomAgents:z}},[W]);return s.jsxs("div",{className:Pe("flex h-full flex-col",T),children:[s.jsxs("div",{className:"border-b px-3 pt-4 pb-3",children:[s.jsx("h2",{className:`${_n} mb-3`,children:e("settings.agents.sidebar.title")}),s.jsx(xi,{className:"mb-3"}),s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("span",{className:"typography-meta text-muted-foreground",children:e("settings.agents.sidebar.total",{count:U.length})}),s.jsx(G,{size:"sm","data-settings-item":"agents.create",variant:"ghost",className:"h-7 w-7 px-0 -my-1 text-muted-foreground",onClick:x,children:s.jsx(_,{name:"add",className:"h-3.5 w-3.5"})})]})]}),s.jsx(Ns,{outerClassName:"flex-1 min-h-0",className:"space-y-1 px-3 py-2 overflow-x-hidden",children:U.length===0?s.jsxs("div",{className:"py-12 px-4 text-center text-muted-foreground",children:[s.jsx(_,{name:"robot-2",className:"mx-auto mb-3 h-10 w-10 opacity-50"}),s.jsx("p",{className:"typography-ui-label font-medium",children:e("settings.agents.sidebar.empty.title")}),s.jsx("p",{className:"typography-meta mt-1 opacity-75",children:e("settings.agents.sidebar.empty.description")})]}):s.jsxs(s.Fragment,{children:[L.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"px-2 pb-1.5 pt-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:e("settings.agents.sidebar.section.builtIn")}),L.map(q=>s.jsx(Fr,{agent:q,isSelected:v===q.name,onSelect:()=>{w(q.name),t?.()},onReset:()=>R(q),onDuplicate:()=>{F(q)},getAgentModeIcon:M,isMenuOpen:m===q.name,onMenuOpenChange:z=>u(z?q.name:null)},q.name))]}),W.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"px-2 pb-1.5 pt-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:e("settings.agents.sidebar.section.custom")}),X.map(({name:q,agents:z})=>s.jsx(io,{label:q,count:z.length,storageKey:"agents",children:z.map(H=>s.jsx(Fr,{agent:H,isSelected:v===H.name,onSelect:()=>{w(H.name),t?.()},onRename:()=>O(H),onDelete:()=>A(H),onDuplicate:()=>{F(H)},getAgentModeIcon:M,isMenuOpen:m===H.name,onMenuOpenChange:se=>u(se?H.name:null)},H.name))},q)),J.map(q=>s.jsx(Fr,{agent:q,isSelected:v===q.name,onSelect:()=>{w(q.name),t?.()},onRename:()=>O(q),onDelete:()=>A(q),onDuplicate:()=>{F(q)},getAgentModeIcon:M,isMenuOpen:m===q.name,onMenuOpenChange:z=>u(z?q.name:null)},q.name))]})]})}),s.jsx(Ut,{open:l!==null&&c!==null,onOpenChange:q=>{!q&&!g&&P()},children:s.jsxs(_t,{className:"max-w-md",children:[s.jsxs(Vt,{children:[s.jsx(Ht,{children:e(c==="delete"?"settings.agents.sidebar.dialog.deleteTitle":"settings.agents.sidebar.dialog.resetTitle")}),s.jsx(qt,{children:c==="delete"?e("settings.agents.sidebar.dialog.deleteDescription",{name:l?.name??""}):e("settings.agents.sidebar.dialog.resetDescription",{name:l?.name??""})})]}),s.jsxs(as,{children:[s.jsx(G,{size:"sm",variant:"ghost",onClick:P,disabled:g,children:e("settings.common.actions.cancel")}),s.jsx(G,{size:"sm",onClick:D,disabled:g,children:e(c==="delete"?"settings.common.actions.delete":"settings.common.actions.reset")})]})]})}),s.jsx(Ut,{open:a!==null,onOpenChange:q=>!q&&n(null),children:s.jsxs(_t,{children:[s.jsxs(Vt,{children:[s.jsx(Ht,{children:e("settings.agents.sidebar.renameDialog.title")}),s.jsx(qt,{children:e("settings.agents.sidebar.renameDialog.description",{name:a?.name??""})})]}),s.jsx(He,{value:r,onChange:q=>i(q.target.value),placeholder:e("settings.agents.sidebar.renameDialog.placeholder"),className:"text-foreground placeholder:text-muted-foreground",onKeyDown:q=>{q.key==="Enter"&&C()}}),s.jsxs(as,{children:[s.jsx(G,{size:"sm",variant:"ghost",onClick:()=>n(null),children:e("settings.common.actions.cancel")}),s.jsx(G,{size:"sm",onClick:C,children:e("settings.common.actions.rename")})]})]})})]})},Fr=t=>{const e=tt.c(52),{agent:a,isSelected:n,onSelect:r,onDelete:i,onReset:l,onRename:d,onDuplicate:c,getAgentModeIcon:h,isMenuOpen:g,onMenuOpenChange:f}=t,{t:m}=Qe(),u=a;let v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v=pi(),e[0]=v):v=e[0];const w=v,[b,k]=o.useState(!1);let p;e[1]!==i||e[2]!==c||e[3]!==d||e[4]!==l||e[5]!==m?(p=q=>s.jsxs(s.Fragment,{children:[d&&s.jsxs(q,{onClick:z=>{z.stopPropagation(),d()},children:[s.jsx(_,{name:"edit",className:"h-4 w-4 mr-px"}),m("settings.common.actions.rename")]}),s.jsxs(q,{onClick:z=>{z.stopPropagation(),c()},children:[s.jsx(_,{name:"file-copy",className:"h-4 w-4 mr-px"}),m("settings.common.actions.duplicate")]}),l&&s.jsxs(q,{onClick:z=>{z.stopPropagation(),l()},children:[s.jsx(_,{name:"restart",className:"h-4 w-4 mr-px"}),m("settings.common.actions.reset")]}),i&&s.jsxs(q,{onClick:z=>{z.stopPropagation(),i()},className:"text-destructive focus:text-destructive",children:[s.jsx(_,{name:"delete-bin",className:"h-4 w-4 mr-px"}),m("settings.common.actions.delete")]})]}),e[1]=i,e[2]=c,e[3]=d,e[4]=l,e[5]=m,e[6]=p):p=e[6];const S=p,N=n?"bg-interactive-selection":"hover:bg-interactive-hover";let I;e[7]!==N?(I=Pe("group relative flex items-center rounded-md px-1.5 py-1 transition-all duration-200 select-none",N),e[7]=N,e[8]=I):I=e[8];let y;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=w?void 0:q=>{q.preventDefault(),k(!0)},e[9]=y):y=e[9];let T;e[10]!==I?(T=s.jsx("div",{className:I,onContextMenu:y}),e[10]=I,e[11]=T):T=e[11];let x;e[12]!==a.name?(x=s.jsx("span",{className:"typography-ui-label font-normal truncate text-foreground",children:a.name}),e[12]=a.name,e[13]=x):x=e[13];let A;e[14]!==a.mode||e[15]!==h?(A=h(a.mode),e[14]=a.mode,e[15]=h,e[16]=A):A=e[16];let R;e[17]!==a||e[18]!==u.scope||e[19]!==m?(R=(u.scope||Ua(a))&&s.jsx("span",{className:"typography-micro text-muted-foreground bg-muted px-1 rounded flex-shrink-0 leading-none pb-px border border-border/50",children:Ua(a)?m("settings.agents.sidebar.badge.system"):u.scope}),e[17]=a,e[18]=u.scope,e[19]=m,e[20]=R):R=e[20];let P;e[21]!==x||e[22]!==A||e[23]!==R?(P=s.jsxs("div",{className:"flex items-center gap-1.5",children:[x,A,R]}),e[21]=x,e[22]=A,e[23]=R,e[24]=P):P=e[24];let D;e[25]!==a.description?(D=a.description&&s.jsx("div",{className:"typography-micro text-muted-foreground/60 truncate leading-tight",children:a.description}),e[25]=a.description,e[26]=D):D=e[26];let F;e[27]!==r||e[28]!==P||e[29]!==D?(F=s.jsxs("button",{onClick:r,className:"flex min-w-0 flex-1 flex-col gap-0 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",tabIndex:0,children:[P,D]}),e[27]=r,e[28]=P,e[29]=D,e[30]=F):F=e[30];let O;e[31]!==f?(O=q=>{q&&k(!1),f(q)},e[31]=f,e[32]=O):O=e[32];let C;e[33]===Symbol.for("react.memo_cache_sentinel")?(C=s.jsx(Nn,{asChild:!0,children:s.jsx(G,{size:"sm",variant:"ghost",className:"h-6 w-6 px-0 flex-shrink-0 -mr-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100",children:s.jsx(_,{name:"more-2",className:"h-3.5 w-3.5"})})}),e[33]=C):C=e[33];let M;e[34]!==S?(M=s.jsx(kn,{align:"end",className:"w-fit min-w-20",children:S(an)}),e[34]=S,e[35]=M):M=e[35];let U;e[36]!==g||e[37]!==O||e[38]!==M?(U=s.jsxs(Sn,{open:g,onOpenChange:O,children:[C,M]}),e[36]=g,e[37]=O,e[38]=M,e[39]=U):U=e[39];let L;e[40]!==F||e[41]!==U?(L=s.jsxs("div",{className:"flex min-w-0 flex-1 items-center",children:[F,U]}),e[40]=F,e[41]=U,e[42]=L):L=e[42];let W;e[43]!==L||e[44]!==T?(W=s.jsx(ga,{render:T,children:L}),e[43]=L,e[44]=T,e[45]=W):W=e[45];let X;e[46]!==S?(X=s.jsx(ma,{className:"w-fit min-w-20",children:S(pa)}),e[46]=S,e[47]=X):X=e[47];let J;return e[48]!==b||e[49]!==W||e[50]!==X?(J=s.jsxs(ha,{open:b,onOpenChange:k,children:[W,X]}),e[48]=b,e[49]=W,e[50]=X,e[51]=J):J=e[51],J},ts=t=>{const e=tt.c(22),{children:a,className:n,outerClassName:r,title:i,titleLeading:l,titleAccessory:d,description:c,headerEnd:h,showSaveStatus:g,onBlurCapture:f}=t,m=g===void 0?!1:g,u=i!=null||c!=null||h!=null||m,v=typeof i=="string"||typeof i=="number",w=l!=null||d!=null;let b;e[0]!==r?(b=Pe("h-full overlay-scrollbar-wrapper--stable-gutter",r),e[0]=r,e[1]=b):b=e[1];let k;e[2]!==n?(k=Pe("mx-auto max-w-[840px] space-y-0 px-6 py-6 @3xl:px-12 @3xl:py-8","[&>section:first-of-type]:border-t-0 [&>section:first-of-type]:pt-0",n),e[2]=n,e[3]=k):k=e[3];let p;e[4]!==c||e[5]!==u||e[6]!==w||e[7]!==h||e[8]!==v||e[9]!==m||e[10]!==i||e[11]!==d||e[12]!==l?(p=u&&s.jsxs("div",{className:"mb-2 flex flex-wrap items-start justify-between gap-x-4 gap-y-3 pb-6",children:[s.jsxs("div",{className:"min-w-0 flex-1 basis-64 space-y-1",children:[i!=null?v?w?s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[l,s.jsx("h1",{"data-settings-page-heading":!0,tabIndex:-1,className:Pe(Xr,"min-w-0 truncate"),children:i}),s.jsx("span",{className:"shrink-0",children:d})]}):s.jsx("h1",{"data-settings-page-heading":!0,tabIndex:-1,className:Xr,children:i}):i:null,c!=null?typeof c=="string"||typeof c=="number"?s.jsx("p",{className:Vi,children:c}):c:null]}),s.jsxs("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-3",children:[h,m&&s.jsx(Pp,{})]})]}),e[4]=c,e[5]=u,e[6]=w,e[7]=h,e[8]=v,e[9]=m,e[10]=i,e[11]=d,e[12]=l,e[13]=p):p=e[13];let S;e[14]!==a||e[15]!==f||e[16]!==k||e[17]!==p?(S=s.jsxs("div",{className:k,onBlurCapture:f,children:[p,a]}),e[14]=a,e[15]=f,e[16]=k,e[17]=p,e[18]=S):S=e[18];let N;return e[19]!==b||e[20]!==S?(N=s.jsx(Ns,{outerClassName:b,className:"w-full @container",children:S}),e[19]=b,e[20]=S,e[21]=N):N=e[21],N},Ip=500,Pp=()=>{const t=tt.c(13),{t:e}=Qe(),a=o.useSyncExternalStore(Yu,el,el),[n,r]=o.useState(!1);let i,l;if(t[0]!==a?(i=()=>{if(a!=="saving"){r(!1);return}const g=setTimeout(()=>r(!0),Ip);return()=>clearTimeout(g)},l=[a],t[0]=a,t[1]=i,t[2]=l):(i=t[1],l=t[2]),o.useEffect(i,l),a==="error"){let g;t[3]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx(_,{name:"error-warning",className:"size-3.5"}),t[3]=g):g=t[3];let f;t[4]!==e?(f=e("settings.common.status.saveFailed"),t[4]=e,t[5]=f):f=t[5];let m;return t[6]!==f?(m=s.jsxs("div",{"aria-live":"assertive",className:"flex shrink-0 items-center gap-1.5 typography-meta text-[var(--status-error)]",children:[g,s.jsx("span",{children:f})]}),t[6]=f,t[7]=m):m=t[7],m}if(a!=="saving"||!n)return null;let d;t[8]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(_,{name:"loader-4",className:"size-3.5 animate-spin"}),t[8]=d):d=t[8];let c;t[9]!==e?(c=e("settings.common.actions.saving"),t[9]=e,t[10]=c):c=t[10];let h;return t[11]!==c?(h=s.jsxs("div",{"aria-live":"polite",className:"flex shrink-0 items-center gap-1.5 typography-meta text-muted-foreground",children:[d,s.jsx("span",{children:c})]}),t[11]=c,t[12]=h):h=t[12],h},Os={ok:!0,changed:!1},Tn={ok:!0,changed:!0},ms=t=>({ok:!1,reason:t}),Ap=t=>t instanceof HTMLElement?t.matches('input, textarea, [contenteditable="true"]'):!1,Ya=t=>{const{t:e}=Qe(),[a,n]=o.useState(0),r=o.useRef(t);r.current=t;const i=o.useRef(e);i.current=e;const l=o.useRef(!1),d=o.useRef(!1),c=o.useRef(!1),h=o.useCallback(()=>{n(m=>m+1)},[]),g=o.useCallback(m=>{Ap(m.target)&&h()},[h]),f=o.useCallback(async()=>{l.current=!0;try{for(;;){d.current=!1;let m;try{m=await r.current()}catch(u){m={ok:!1,reason:u instanceof Error?u.message:String(u)}}if(!c.current)return;if(!d.current){m.ok||$.error(i.current("settings.common.status.saveFailedReason",{reason:m.reason}));return}}}finally{l.current=!1}},[]);return o.useEffect(()=>(c.current=!0,()=>{c.current=!1}),[]),o.useEffect(()=>{if(a!==0){if(l.current){d.current=!0;return}f()}},[a,f]),{requestSave:h,onBlurCapture:g}},Tp=["allow","ask","deny"],Ep=["shell","edit","read","glob","grep","patch","webfetch","websearch","skill","subagent","question","external_directory"],Dp=["openchamber","openchamber_web","openchamber_memory","openchamber_notify"],Mp=new Set(["bash","task","write","list","lsp","todowrite","todoread","multiedit","doom_loop","plan_enter","plan_exit"]),Zc=t=>Mp.has(t),Rp=[{action:"*",resource:"*",effect:"allow"},{action:"external_directory",resource:"*",effect:"ask"},{action:"read",resource:"*.env",effect:"ask"},{action:"read",resource:"*.env.*",effect:"ask"},{action:"read",resource:"*.env.example",effect:"allow"}],bl=()=>({global:null,keys:{},source:[]}),ta=t=>({global:t.global,source:t.source,keys:Object.fromEntries(Object.entries(t.keys).map(([e,a])=>[e,{effect:a.effect,patterns:a.patterns.map(n=>({...n}))}]))}),Fp=t=>{const e={global:null,keys:{},source:t.map(a=>({...a}))};for(const a of t){if(Zc(a.action))continue;if(a.action==="*"){a.resource==="*"&&(e.global=a.effect);continue}const n=e.keys[a.action]??{effect:null,patterns:[]};if(a.resource==="*")n.effect=a.effect;else{const r=n.patterns.findIndex(i=>i.pattern===a.resource);r>=0?n.patterns[r]={pattern:a.resource,effect:a.effect}:n.patterns.push({pattern:a.resource,effect:a.effect})}e.keys[a.action]=n}return e},Op=t=>t.action!=="*"||t.resource==="*",la=(t,e)=>`${t}\0${e}`,Lp=t=>{const e=new Map;t.global!==null&&e.set(la("*","*"),t.global);for(const[a,n]of Object.entries(t.keys)){n.effect!==null&&e.set(la(a,"*"),n.effect);for(const r of n.patterns){const i=r.pattern.trim();i.length!==0&&e.set(la(a,i),r.effect)}}return e},ro=t=>{const e=Lp(t),a=new Set,n=[];for(const i of t.source){if(Zc(i.action))continue;if(!Op(i)){n.push({...i});continue}const l=la(i.action,i.resource),d=e.get(l);d!==void 0&&(n.push({action:i.action,resource:i.resource,effect:d}),a.add(l))}const r=la("*","*");t.global!==null&&!a.has(r)&&n.unshift({action:"*",resource:"*",effect:t.global});for(const[i,l]of Object.entries(t.keys)){const d=la(i,"*");if(l.effect!==null&&!a.has(d)){const c=n.findIndex(g=>g.action===i),h={action:i,resource:"*",effect:l.effect};c>=0?n.splice(c,0,h):n.push(h)}for(const c of l.patterns){const h=c.pattern.trim();if(h.length===0)continue;const g=la(i,h),f=e.get(g);f===void 0||a.has(g)||(a.add(g),n.push({action:i,resource:h,effect:f}))}}return n},Kp=(t,e)=>JSON.stringify(ro(t))===JSON.stringify(ro(e)),zp=(t,e)=>{const a=[...Rp,...e.global,...e.agentGlobal?[{action:"*",resource:"*",effect:e.agentGlobal}]:[]];let n="ask";for(const r of a)r.resource==="*"&&(r.action==="*"||r.action===t)&&(n=r.effect);return n},Up=t=>t.split(/[_-]/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "),_p=new Set(["shell","edit","read","glob","grep","patch","webfetch","skill","subagent","external_directory"]),$p={effect:null,patterns:[]},Bp=t=>{const e=tt.c(163),{agent:a,registerSave:n,requestSave:r}=t,{t:i}=Qe(),l=Qn(Vp),d=Qn(Hp);let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[0]=c):c=e[0];const[h,g]=o.useState(c),[f,m]=o.useState(bl),[u,v]=o.useState(bl),[w,b]=o.useState(!0),[k,p]=o.useState(!1);let S;e[1]===Symbol.for("react.memo_cache_sentinel")?(S={},e[1]=S):S=e[1];const[N,I]=o.useState(S),[y,T]=o.useState(""),[x,A]=o.useState(0),R=a.name,P=rn(),D=Yn(qp);let F;e[2]!==P?(F=ze=>fo(ze,P),e[2]=P,e[3]=F):F=e[3];const O=Yn(F);let C;e[4]!==P?(C=ze=>ze.getStatusForDirectory(P),e[4]=P,e[5]=C):C=e[5];const M=un(C);let U,L;e[6]!==D||e[7]!==P?(U=()=>{D({directory:P})},L=[D,P],e[6]=D,e[7]=P,e[8]=U,e[9]=L):(U=e[8],L=e[9]),o.useEffect(U,L);let W;e[10]!==R||e[11]!==d||e[12]!==P?(W=()=>{let ze=!1;return b(!0),p(!1),(async()=>{const Ge=await d(R,P);if(ze)return;if(!Ge){p(!0),b(!1);return}const Q=Fp(Ge.agent);g(Ge.global),m(ta(Q)),v(Q),I({}),b(!1)})(),()=>{ze=!0}},e[10]=R,e[11]=d,e[12]=P,e[13]=W):W=e[13];let X;e[14]!==R||e[15]!==d||e[16]!==x||e[17]!==P?(X=[R,d,x,P],e[14]=R,e[15]=d,e[16]=x,e[17]=P,e[18]=X):X=e[18],o.useEffect(W,X);let J;e[19]!==R||e[20]!==f||e[21]!==u||e[22]!==P||e[23]!==i||e[24]!==l?(J=async()=>Kp(u,f)?Os:(await l(R,{permissions:ro(u)},P)).ok?(m(ta(u)),Tn):ms(i("settings.agents.page.permissionsEditor.toast.saveFailed")),e[19]=R,e[20]=f,e[21]=u,e[22]=P,e[23]=i,e[24]=l,e[25]=J):J=e[25];const q=J;let z,H;e[26]!==n||e[27]!==q?(z=()=>(n(q),()=>n(null)),H=[n,q],e[26]=n,e[27]=q,e[28]=z,e[29]=H):(z=e[28],H=e[29]),o.useEffect(z,H);let se;e[30]!==O?(se=O.map(Gp),e[30]=O,e[31]=se):se=e[31];const B=se;let ne;if(e[32]!==B||e[33]!==u.keys){ne=[...Ep,...Dp];const ze=new Set(B.map(Wp));let Ge;e[35]!==u.keys?(Ge=Object.keys(u.keys),e[35]=u.keys,e[36]=Ge):Ge=e[36];for(const Q of Ge)!ne.includes(Q)&&!ze.has(Q)&&ne.push(Q);e[32]=B,e[33]=u.keys,e[34]=ne}else ne=e[34];const K=ne;let Z;e[37]!==M||e[38]!==i?(Z=ze=>{switch(M?.[ze]?.status.status){case"connected":return i("settings.mcp.page.status.label.connected");case"failed":return i("settings.mcp.page.status.label.failed");case"needs_auth":return i("settings.mcp.page.status.label.needsAuth");case"disabled":return i("settings.agents.page.permissionsEditor.mcpStatus.disabled");case"pending":return i("settings.agents.page.permissionsEditor.mcpStatus.pending");default:return null}},e[37]=M,e[38]=i,e[39]=Z):Z=e[39];const oe=Z;let ue;e[40]!==h||e[41]!==u.global?(ue=ze=>zp(ze,{global:h,agentGlobal:u.global}),e[40]=h,e[41]=u.global,e[42]=ue):ue=e[42];const de=ue;let ce;e[43]!==r?(ce=ze=>{v(Ge=>({...Ge,global:ze})),r()},e[43]=r,e[44]=ce):ce=e[44];const Se=ce;let re;e[45]!==r?(re=(ze,Ge)=>{v(Q=>{const Ue=ta(Q),st=Ue.keys[ze]??{effect:null,patterns:[]};return st.effect=Ge,st.effect===null&&st.patterns.length===0?delete Ue.keys[ze]:Ue.keys[ze]=st,Ue}),r()},e[45]=r,e[46]=re):re=e[46];const ve=re;let ie;e[47]!==r?(ie=(ze,Ge,Q,Ue,st)=>{v(dt=>{const ct=ta(dt),ft=ct.keys[ze]??{effect:null,patterns:[]};return ft.patterns[Ge]={pattern:Q,effect:Ue},ct.keys[ze]=ft,ct}),st&&r()},e[47]=r,e[48]=ie):ie=e[48];const me=ie;let ke;e[49]===Symbol.for("react.memo_cache_sentinel")?(ke=ze=>{v(Ge=>{const Q=ta(Ge),Ue=Q.keys[ze]??{effect:null,patterns:[]};return Ue.patterns.push({pattern:"",effect:"allow"}),Q.keys[ze]=Ue,Q}),I(Ge=>({...Ge,[ze]:!0}))},e[49]=ke):ke=e[49];const Ae=ke;let pe;e[50]!==r?(pe=(ze,Ge)=>{v(Q=>{const Ue=ta(Q),st=Ue.keys[ze];return st?(st.patterns.splice(Ge,1),st.effect===null&&st.patterns.length===0&&delete Ue.keys[ze],Ue):Q}),r()},e[50]=r,e[51]=pe):pe=e[51];const Le=pe;let Ve;e[52]!==y||e[53]!==r?(Ve=()=>{const ze=y.trim();!ze||ze==="*"||(v(Ge=>{if(Ge.keys[ze])return Ge;const Q=ta(Ge);return Q.keys[ze]={effect:"ask",patterns:[]},Q}),T(""),r())},e[52]=y,e[53]=r,e[54]=Ve):Ve=e[54];const ye=Ve;let Te;e[55]!==i?(Te=ze=>i(ze==="allow"?"settings.agents.page.permissionsEditor.action.allow":ze==="ask"?"settings.agents.page.permissionsEditor.action.ask":"settings.agents.page.permissionsEditor.action.deny"),e[55]=i,e[56]=Te):Te=e[56];const ee=Te;let ae,fe,je,Re,Ce,_e,Ke,Fe,Me;if(e[57]!==ee||e[58]!==de||e[59]!==N||e[60]!==w||e[61]!==k||e[62]!==B||e[63]!==oe||e[64]!==u.global||e[65]!==u.keys||e[66]!==Le||e[67]!==Se||e[68]!==ve||e[69]!==me||e[70]!==i||e[71]!==K){Me=Symbol.for("react.early_return_sentinel");e:{const ze=i("settings.agents.page.permissionsEditor.action.inherit"),Ge=i("settings.agents.page.permissionsEditor.action.default");let Q;e[81]!==ee?(Q=$e=>[...$e?[{value:"inherit",label:$e}]:[],...Tp.map(Y=>({value:Y,label:ee(Y)}))],e[81]=ee,e[82]=Q):Q=e[82];const Ue=Q,st=($e,Y,V,be)=>{const ge=be===void 0?ze:be;return s.jsx(mn,{value:$e??"inherit",options:Ue(ge),onChange:Ee=>Y(Ee==="inherit"?null:Ee),"aria-label":V})};if(w){let $e;e[83]!==i?($e=i("settings.agents.page.section.toolPermissions"),e[83]=i,e[84]=$e):$e=e[84];let Y;e[85]!==i?(Y=i("common.loading"),e[85]=i,e[86]=Y):Y=e[86];let V;e[87]!==Y?(V=s.jsx("p",{className:vs,children:Y}),e[87]=Y,e[88]=V):V=e[88];let be;e[89]!==$e||e[90]!==V?(be=s.jsx(qe,{title:$e,children:V}),e[89]=$e,e[90]=V,e[91]=be):be=e[91],Me=be;break e}if(k){let $e;e[92]!==i?($e=i("settings.agents.page.section.toolPermissions"),e[92]=i,e[93]=$e):$e=e[93];let Y;e[94]!==i?(Y=i("settings.agents.page.permissionsEditor.state.loadFailed"),e[94]=i,e[95]=Y):Y=e[95];let V;e[96]!==Y?(V=s.jsx("p",{className:"typography-meta text-[var(--status-error)]",children:Y}),e[96]=Y,e[97]=V):V=e[97];let be;e[98]===Symbol.for("react.memo_cache_sentinel")?(be=()=>A(Jp),e[98]=be):be=e[98];let ge;e[99]!==i?(ge=i("settings.agents.page.permissionsEditor.actions.retry"),e[99]=i,e[100]=ge):ge=e[100];let Ee;e[101]!==ge?(Ee=s.jsx(G,{variant:"outline",size:"xs",onClick:be,children:ge}),e[101]=ge,e[102]=Ee):Ee=e[102];let te;e[103]!==V||e[104]!==Ee?(te=s.jsxs("div",{className:"flex items-center gap-3",children:[V,Ee]}),e[103]=V,e[104]=Ee,e[105]=te):te=e[105];let xe;e[106]!==$e||e[107]!==te?(xe=s.jsx(qe,{title:$e,children:te}),e[106]=$e,e[107]=te,e[108]=xe):xe=e[108],Me=xe;break e}const dt=($e,Y,V)=>{const be=u.keys[$e]??$p,ge=_p.has($e)||be.patterns.length>0,Ee=N[$e]===!0;return s.jsxs("div",{className:"border-t border-border/40 py-2",children:[s.jsxs("div",{className:"flex flex-col gap-2 @xl:flex-row @xl:items-center @xl:justify-between",children:[s.jsxs("button",{type:"button",onClick:ge?()=>I(te=>({...te,[$e]:!Ee})):void 0,className:Pe("flex min-w-0 items-center gap-1.5 text-left",!ge&&"cursor-default"),"aria-expanded":ge?Ee:void 0,children:[s.jsx(_,{name:Ee&&ge?"arrow-down-s":"arrow-right-s",className:Pe("h-3.5 w-3.5 shrink-0 text-muted-foreground",!ge&&"opacity-0")}),s.jsx("span",{className:Ct,children:Y}),s.jsx("span",{className:"typography-micro font-mono text-muted-foreground/70",children:$e}),V&&s.jsx("span",{className:"typography-micro rounded bg-muted px-1 text-muted-foreground",children:V}),be.effect===null&&s.jsx("span",{className:"typography-micro text-muted-foreground",children:i("settings.agents.page.permissionsEditor.effectiveHint",{action:ee(de($e))})}),be.patterns.length>0&&s.jsx("span",{className:"typography-micro rounded bg-muted px-1 text-muted-foreground",children:i("settings.agents.page.permissionsEditor.ruleCount",{count:String(be.patterns.length)})})]}),st(be.effect,te=>ve($e,te),i("settings.agents.page.permissionsEditor.keyAria",{key:$e}))]}),Ee&&ge&&s.jsxs("div",{className:"mt-2 space-y-2 pl-5",children:[be.patterns.map((te,xe)=>s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx(He,{value:te.pattern,onChange:Ze=>me($e,xe,Ze.target.value,te.effect,!1),placeholder:i("settings.agents.page.permissionsEditor.patternPlaceholder"),"aria-label":i("settings.agents.page.permissionsEditor.patternActionAria",{key:$e}),className:"h-8 w-full max-w-[24rem] min-w-0 flex-1 font-mono text-xs"}),s.jsx(mn,{value:te.effect,options:Ue(),onChange:Ze=>me($e,xe,te.pattern,Ze,!0),"aria-label":i("settings.agents.page.permissionsEditor.patternActionAria",{key:$e})}),s.jsx(G,{variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0 text-muted-foreground hover:bg-destructive/10 hover:text-destructive",onClick:()=>Le($e,xe),"aria-label":i("settings.agents.page.permissionsEditor.actions.removeRuleAria"),children:s.jsx(_,{name:"close",className:"h-3.5 w-3.5"})})]},xe)),s.jsxs(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:()=>Ae($e),children:[s.jsx(_,{name:"add",className:"mr-1 h-3.5 w-3.5"}),i("settings.agents.page.permissionsEditor.actions.addRule")]})]})]},$e)};ae=qe,e[109]!==i?(fe=i("settings.agents.page.section.toolPermissions"),e[109]=i,e[110]=fe):fe=e[110],je="agents.permissions",e[111]!==i?(Re=i("settings.agents.page.permissionsEditor.sectionInfo"),e[111]=i,e[112]=Re):Re=e[112],Ce="space-y-4";let ct;e[113]!==i?(ct=i("settings.agents.page.permissionsEditor.defaultLabel"),e[113]=i,e[114]=ct):ct=e[114];let ft;e[115]!==ct?(ft=s.jsx("span",{className:Ct,children:ct}),e[115]=ct,e[116]=ft):ft=e[116];let kt;e[117]!==i?(kt=i("settings.agents.page.permissionsEditor.defaultInfo"),e[117]=i,e[118]=kt):kt=e[118];let bt;e[119]!==kt?(bt=s.jsx(Gt,{children:kt}),e[119]=kt,e[120]=bt):bt=e[120];let vt;e[121]!==ee||e[122]!==de||e[123]!==u.global||e[124]!==i?(vt=u.global===null&&s.jsx("span",{className:"typography-micro text-muted-foreground",children:i("settings.agents.page.permissionsEditor.effectiveHint",{action:ee(de("*"))})}),e[121]=ee,e[122]=de,e[123]=u.global,e[124]=i,e[125]=vt):vt=e[125];let Xe;e[126]!==ft||e[127]!==bt||e[128]!==vt?(Xe=s.jsxs("div",{className:"flex items-center gap-1.5",children:[ft,bt,vt]}),e[126]=ft,e[127]=bt,e[128]=vt,e[129]=Xe):Xe=e[129];const jt=u.global;let De;e[130]!==i?(De=i("settings.agents.page.permissionsEditor.defaultAria"),e[130]=i,e[131]=De):De=e[131],_e=s.jsxs("div",{className:"flex flex-col gap-2 pb-2 @xl:flex-row @xl:items-center @xl:justify-between",children:[Xe,st(jt,Se,De,Ge)]}),Ke=s.jsx("div",{children:K.map($e=>dt($e,Up($e),null))}),Fe=B.length>0&&s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-1.5 border-t border-border/40 pt-3 pb-1",children:[s.jsx("span",{className:Ct,children:i("settings.agents.page.permissionsEditor.mcpTitle")}),s.jsx(Gt,{children:i("settings.agents.page.permissionsEditor.mcpInfo")})]}),B.map($e=>dt($e.key,$e.server,oe($e.server)))]})}e[57]=ee,e[58]=de,e[59]=N,e[60]=w,e[61]=k,e[62]=B,e[63]=oe,e[64]=u.global,e[65]=u.keys,e[66]=Le,e[67]=Se,e[68]=ve,e[69]=me,e[70]=i,e[71]=K,e[72]=ae,e[73]=fe,e[74]=je,e[75]=Re,e[76]=Ce,e[77]=_e,e[78]=Ke,e[79]=Fe,e[80]=Me}else ae=e[72],fe=e[73],je=e[74],Re=e[75],Ce=e[76],_e=e[77],Ke=e[78],Fe=e[79],Me=e[80];if(Me!==Symbol.for("react.early_return_sentinel"))return Me;let at;e[132]===Symbol.for("react.memo_cache_sentinel")?(at=ze=>T(ze.target.value),e[132]=at):at=e[132];let pt;e[133]!==ye?(pt=ze=>{ze.key==="Enter"&&(ze.preventDefault(),ye())},e[133]=ye,e[134]=pt):pt=e[134];let ot;e[135]!==i?(ot=i("settings.agents.page.permissionsEditor.customKeyPlaceholder"),e[135]=i,e[136]=ot):ot=e[136];let mt;e[137]!==y||e[138]!==pt||e[139]!==ot?(mt=s.jsx(He,{value:y,onChange:at,onKeyDown:pt,placeholder:ot,className:"h-8 w-full max-w-[16rem] font-mono text-xs"}),e[137]=y,e[138]=pt,e[139]=ot,e[140]=mt):mt=e[140];let ht;e[141]!==y?(ht=y.trim(),e[141]=y,e[142]=ht):ht=e[142];const Oe=!ht;let nt;e[143]===Symbol.for("react.memo_cache_sentinel")?(nt=s.jsx(_,{name:"add",className:"mr-1 h-3.5 w-3.5"}),e[143]=nt):nt=e[143];let lt;e[144]!==i?(lt=i("settings.agents.page.permissionsEditor.actions.addKey"),e[144]=i,e[145]=lt):lt=e[145];let we;e[146]!==ye||e[147]!==Oe||e[148]!==lt?(we=s.jsxs(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:ye,disabled:Oe,children:[nt,lt]}),e[146]=ye,e[147]=Oe,e[148]=lt,e[149]=we):we=e[149];let Je;e[150]!==mt||e[151]!==we?(Je=s.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-t border-border/40 pt-3",children:[mt,we]}),e[150]=mt,e[151]=we,e[152]=Je):Je=e[152];let Ye;return e[153]!==ae||e[154]!==fe||e[155]!==je||e[156]!==Re||e[157]!==Ce||e[158]!==_e||e[159]!==Ke||e[160]!==Fe||e[161]!==Je?(Ye=s.jsxs(ae,{title:fe,settingsItem:je,info:Re,contentClassName:Ce,children:[_e,Ke,Fe,Je]}),e[153]=ae,e[154]=fe,e[155]=je,e[156]=Re,e[157]=Ce,e[158]=_e,e[159]=Ke,e[160]=Fe,e[161]=Je,e[162]=Ye):Ye=e[162],Ye};function Vp(t){return t.updateAgent}function Hp(t){return t.fetchAgentPermissions}function qp(t){return t.loadMcpConfigs}function Gp(t){return{key:`${t.name}_*`,server:t.name}}function Wp(t){return t.key}function Jp(t){return t+1}const To=t=>{const e=tt.c(11),{legacy:a,path:n,className:r}=t,{t:i}=Qe();if(!a)return null;let l;e[0]!==r?(l=Pe("mb-4 flex items-start gap-1.5",vs,r),e[0]=r,e[1]=l):l=e[1];const d=n??void 0;let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsx(_,{name:"information",className:"mt-[0.2em] h-3.5 w-3.5 shrink-0 opacity-70"}),e[2]=c):c=e[2];let h;e[3]!==i?(h=i("settings.common.legacyFormat.note"),e[3]=i,e[4]=h):h=e[4];let g;e[5]!==h?(g=s.jsx("span",{children:h}),e[5]=h,e[6]=g):g=e[6];let f;return e[7]!==l||e[8]!==d||e[9]!==g?(f=s.jsxs("p",{className:l,title:d,children:[c,g]}),e[7]=l,e[8]=d,e[9]=g,e[10]=f):f=e[10],f},Qp=(t,e)=>{const a=zn(e);return a?t.find(i=>i.id===a.providerId)?.models.find(i=>i.modelID===a.modelId)?.variants.map(i=>i.id)??[]:[]},Yp=()=>{const{t}=Qe(),e=rt(ye=>ye.providers),{selectedAgentName:a,getAgentByName:n,createAgent:r,updateAgent:i,fetchAgentEntity:l,agentDraft:d,setAgentDraft:c,setSelectedAgent:h}=Qn(Bs(ye=>({selectedAgentName:ye.selectedAgentName,getAgentByName:ye.getAgentByName,createAgent:ye.createAgent,updateAgent:ye.updateAgent,fetchAgentEntity:ye.fetchAgentEntity,agentDraft:ye.agentDraft,setAgentDraft:ye.setAgentDraft,setSelectedAgent:ye.setSelectedAgent}))),g=rn(),f=Qn(ye=>Ic(ye,g)),m=a?n(a,g):null,u=!!(d&&d.name===a&&!m),v=u?"":m?.description?.trim()??"",w=u?"":m?.system?.trim()??"",[b,k]=o.useState(""),[p,S]=o.useState("user"),[N,I]=o.useState(""),[y,T]=o.useState("subagent"),[x,A]=o.useState(""),[R,P]=o.useState(""),[D,F]=o.useState(void 0),[O,C]=o.useState(void 0),[M,U]=o.useState(void 0),[L,W]=o.useState(""),[X,J]=o.useState(!1),[q,z]=o.useState(null),H=o.useRef({}),se=o.useRef(null),B=o.useCallback(ye=>{se.current=ye},[]),ne=o.useRef(null),K=JSON.stringify([a,g,u]),Z=o.useRef(K);Z.current=K;const oe=o.useRef(null),ue={description:N,mode:y,model:x,variant:R,steps:D,temperature:O,topP:M,system:L},de=o.useRef(ue);de.current=ue;const ce=o.useMemo(()=>Qp(e,x),[x,e]),Se=ce.length>0,re=R||"__default",ve=Se,ie=o.useMemo(()=>R&&!ce.includes(R)?[R,...ce]:ce,[R,ce]);o.useEffect(()=>{if(!u||!d)return;oe.current=null;const ye=di(d.model),Te=d.name||"",ee=d.scope||"user",ae=d.description||"",fe=d.mode||"subagent",je=ye?`${ye.providerID}/${ye.modelID}`:"",Re=ye?.variant||"",Ce=d.steps??void 0,_e=d.temperature??void 0,Ke=d.top_p??void 0,Fe=d.system||"";H.current={},z(null),k(Te),S(ee),I(ae),T(fe),A(je),P(Re),F(Ce),C(_e),U(Ke),W(Fe),ne.current={draftName:Te,draftScope:ee,description:ae,mode:fe,model:je,variant:Re,steps:Ce,temperature:_e,topP:Ke,system:Fe}},[d,u]),o.useEffect(()=>{if(u||!a)return;let ye=!1;return(async()=>{const Te=await l(a,g);if(ye||Z.current!==K||!Te)return;const ee=Te.config;H.current=ee;const ae=di(ee.model),fe=ee.request?.body,je={draftName:"",draftScope:"user",description:ee.description||"",mode:ee.mode||m?.mode||"subagent",model:ae?`${ae.providerID}/${ae.modelID}`:"",variant:ae?.variant||"",steps:ee.steps??void 0,temperature:fe?.temperature,topP:fe?.top_p,system:ee.system||""},Re=ne.current,Ce=de.current,_e=Re!==null&&(Ce.description!==Re.description||Ce.mode!==Re.mode||Ce.model!==Re.model||Ce.variant!==Re.variant||Ce.steps!==Re.steps||Ce.temperature!==Re.temperature||Ce.topP!==Re.topP||Ce.system!==Re.system);z({legacy:Te.legacy===!0,path:Te.path,source:Te.source}),!(oe.current===K&&_e)&&(oe.current=K,I(je.description),T(je.mode),A(je.model),P(je.variant),F(je.steps),C(je.temperature),U(je.topP),W(je.system),ne.current=je)})(),()=>{ye=!0}},[l,u,m,a,g,K]);const me=o.useCallback(ye=>{const Te=zn(x.trim()),ee=Te?Pc({providerID:Te.providerId,modelID:Te.modelId,variant:R.trim()||void 0}):null,ae=H.current.request,fe={...ae?.body};O===void 0?delete fe.temperature:fe.temperature=O,M===void 0?delete fe.top_p:fe.top_p=M;const je=ae?.headers,Re={};je&&Object.keys(je).length>0&&(Re.headers=je),Object.keys(fe).length>0&&(Re.body=fe);const Ce=N.trim(),_e=L.trim(),Ke={name:ye,mode:y,model:ee,steps:D??null,system:_e||(u?void 0:null),request:Object.keys(Re).length>0?Re:null};return Ce&&(Ke.description=Ce),u&&p&&(Ke.scope=p),u&&d?.permissions?.length&&(Ke.permissions=d.permissions),Ke},[d,N,p,u,y,x,D,L,O,M,R]),ke=o.useCallback(async()=>{const ye=ne.current,Te=a?.trim();if(u||!ye||!Te)return Os;const ee=se.current?await se.current():Os;if(N===ye.description&&y===ye.mode&&x===ye.model&&R===ye.variant&&D===ye.steps&&O===ye.temperature&&M===ye.topP&&L===ye.system||!ee.ok)return ee;const fe=me(Te);return(await i(Te,fe,g)).ok?(Z.current!==K||(H.current={...H.current,model:fe.model,system:fe.system??void 0,steps:fe.steps,request:fe.request??void 0},ne.current={...ye,description:N,mode:y,model:x,variant:R,steps:D,temperature:O,topP:M,system:L}),Tn):ms(t("settings.agents.page.toast.updateFailed"))},[me,N,u,y,x,a,K,g,D,L,t,O,M,i,R]),Ae=Ya(ke),{requestSave:pe}=Ae,Le=async()=>{const ye=b.trim().replace(/\s+/g,"-");if(!ye){$.error(t("settings.agents.sidebar.toast.agentNameRequired"));return}if(f.some(Te=>Te.name===ye)){$.error(t("settings.agents.sidebar.toast.agentExists"));return}J(!0);try{(await r(me(ye),g)).ok?(c(null),$.success(t("settings.agents.page.toast.created"))):$.error(t("settings.agents.page.toast.createFailed"))}catch(Te){console.error("Error creating agent:",Te);const ee=Te instanceof Error&&Te.message?Te.message:t("settings.agents.page.toast.saveUnexpectedError");$.error(ee)}finally{J(!1)}},Ve=()=>{c(null),h(null)};return a?s.jsxs(ts,{title:u?t("settings.agents.page.title.new"):a,description:t(u?"settings.agents.page.subtitle.new":"settings.agents.page.subtitle.edit"),onBlurCapture:Ae.onBlurCapture,children:[!u&&q&&s.jsx(To,{legacy:q.legacy,path:q.path}),!u&&q?.source==="none"&&s.jsxs("p",{className:`mb-4 flex items-start gap-1.5 ${vs}`,children:[s.jsx(_,{name:"information",className:"mt-[0.2em] h-3.5 w-3.5 shrink-0 opacity-70"}),s.jsx("span",{children:t("settings.agents.page.runtimeProvided.note")})]}),s.jsxs(qe,{title:t("settings.agents.page.section.identityRole"),divider:!1,contentClassName:"space-y-0",children:[u&&s.jsxs(It,{settingsItem:"agents.name",label:t("settings.agents.page.field.agentName"),children:[s.jsxs("div",{className:"flex items-center",children:[s.jsx("span",{className:"typography-ui-label text-muted-foreground mr-1",children:"@"}),s.jsx(He,{value:b,onChange:ye=>k(ye.target.value),placeholder:t("settings.agents.page.field.agentNamePlaceholder"),className:"h-7 w-40 px-2"})]}),s.jsxs(Et,{value:p,onValueChange:ye=>S(ye),children:[s.jsx(At,{size:Bt,className:"w-fit min-w-[100px]",children:s.jsx($t,{placeholder:t("settings.agents.page.field.scopePlaceholder")})}),s.jsxs(Tt,{align:"end",children:[s.jsx(ut,{value:"user",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(_,{name:"user-3",className:"h-3.5 w-3.5"}),s.jsx("span",{children:t("settings.common.scope.global")})]})}),s.jsx(ut,{value:"project",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(_,{name:"folder",className:"h-3.5 w-3.5"}),s.jsx("span",{children:t("settings.common.scope.project")})]})})]})]})]}),s.jsx(Ft,{label:t("settings.common.field.description"),controlClassName:"w-full max-w-none",children:s.jsx(As,{value:N,onChange:ye=>I(ye.target.value),placeholder:v||t("settings.agents.page.field.descriptionPlaceholder"),rows:2,className:"w-full resize-none min-h-[60px] bg-transparent"})}),s.jsx(Ft,{settingsItem:"agents.mode",label:t("settings.agents.page.field.mode"),info:t("settings.agents.page.field.modeTooltip"),children:s.jsx(mn,{"aria-label":t("settings.agents.page.field.mode"),value:y,onChange:ye=>{T(ye),pe()},options:[{value:"primary",label:t("settings.agents.page.mode.primary")},{value:"subagent",label:t("settings.agents.page.mode.subagent")},{value:"all",label:t("settings.agents.page.mode.all")}]})})]}),s.jsxs(qe,{title:t("settings.agents.page.section.modelParameters"),contentClassName:"space-y-3",children:[s.jsx(It,{settingsItem:"agents.model",label:t("settings.agents.page.field.overrideModel"),children:s.jsx(ca,{providerId:zn(x)?.providerId??"",modelId:zn(x)?.modelId??"",onChange:(ye,Te)=>{A(ye&&Te?`${ye}/${Te}`:""),P(""),pe()},className:Ws})}),s.jsx(It,{settingsItem:"agents.variant",label:t("settings.agents.page.field.variant"),info:s.jsxs("div",{className:"space-y-1",children:[s.jsx("p",{children:t("settings.agents.page.field.variantTooltip")}),s.jsx("p",{children:t("settings.agents.page.field.variantHint")})]}),children:ve?s.jsxs(Et,{value:re,onValueChange:ye=>{P(ye==="__default"?"":ye),pe()},children:[s.jsx(At,{size:Bt,className:nn,children:s.jsx($t,{placeholder:t("settings.agents.page.field.variantPlaceholder"),children:ye=>ye==="__default"?t("chat.modelControls.default"):ye})}),s.jsxs(Tt,{children:[s.jsx(ut,{value:"__default",children:t("chat.modelControls.default")}),ie.map(ye=>s.jsx(ut,{value:ye,children:ye},ye))]})]}):s.jsxs(s.Fragment,{children:[s.jsx(He,{value:R,onChange:ye=>P(ye.target.value),placeholder:t("settings.agents.page.field.variantPlaceholder"),disabled:!x&&!R,className:"h-8 w-40 rounded-md px-3"}),R&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{P(""),pe()},className:us,"aria-label":t("settings.common.actions.clear"),title:t("settings.common.actions.clear"),children:s.jsx(_,{name:"close",className:"h-3.5 w-3.5"})})]})}),s.jsxs(It,{settingsItem:"agents.temperature",label:t("settings.agents.page.field.temperature"),info:s.jsxs("div",{className:"space-y-1",children:[s.jsx("p",{children:t("settings.agents.page.field.temperatureTooltip")}),s.jsx("p",{children:t("settings.agents.page.field.temperatureRange")})]}),children:[s.jsx(hs,{value:O,fallbackValue:.7,onValueChange:C,onClear:()=>{C(void 0),pe()},min:0,max:2,step:.1,inputMode:"decimal",placeholder:"—",emptyLabel:"—",className:bs}),O!==void 0&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{C(void 0),pe()},className:us,"aria-label":t("settings.agents.page.field.clearTemperatureAria"),title:t("settings.common.actions.clear"),children:s.jsx(_,{name:"close",className:"h-3.5 w-3.5"})})]}),s.jsxs(It,{settingsItem:"agents.top-p",label:t("settings.agents.page.field.topP"),info:s.jsxs("div",{className:"space-y-1",children:[s.jsx("p",{children:t("settings.agents.page.field.topPTooltip")}),s.jsx("p",{children:t("settings.agents.page.field.topPRange")})]}),children:[s.jsx(hs,{value:M,fallbackValue:.9,onValueChange:U,onClear:()=>{U(void 0),pe()},min:0,max:1,step:.1,inputMode:"decimal",placeholder:"—",emptyLabel:"—",className:bs}),M!==void 0&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{U(void 0),pe()},className:us,"aria-label":t("settings.agents.page.field.clearTopPAria"),title:t("settings.common.actions.clear"),children:s.jsx(_,{name:"close",className:"h-3.5 w-3.5"})})]}),s.jsxs(It,{settingsItem:"agents.steps",label:t("settings.agents.page.field.steps"),info:t("settings.agents.page.field.stepsTooltip"),children:[s.jsx(hs,{value:D,fallbackValue:20,onValueChange:F,onClear:()=>{F(void 0),pe()},min:1,max:1e3,step:1,inputMode:"numeric",placeholder:"—",emptyLabel:"—",className:bs}),D!==void 0&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{F(void 0),pe()},className:us,"aria-label":t("settings.agents.page.field.clearStepsAria"),title:t("settings.common.actions.clear"),children:s.jsx(_,{name:"close",className:"h-3.5 w-3.5"})})]})]}),s.jsx(qe,{title:t("settings.agents.page.section.systemPrompt"),settingsItem:"agents.system-prompt",children:s.jsx(As,{value:L,onChange:ye=>W(ye.target.value),placeholder:w||t("settings.agents.page.field.systemPromptPlaceholder"),rows:8,className:"w-full font-mono typography-meta min-h-[120px] max-h-[60vh] bg-transparent"})}),!u&&m&&s.jsx(Bp,{agent:m,registerSave:B,requestSave:pe}),u&&s.jsxs("div",{className:"flex items-center gap-2 pb-8",children:[s.jsx(G,{onClick:()=>{Le()},disabled:X||!b.trim(),size:"xs",className:"!font-normal",children:t(X?"settings.common.actions.saving":"settings.common.actions.create")}),s.jsx(G,{variant:"ghost",onClick:Ve,disabled:X,size:"xs",className:"!font-normal",children:t("settings.common.actions.cancel")})]})]}):s.jsx("div",{className:"flex h-full items-center justify-center",children:s.jsxs("div",{className:"text-center text-muted-foreground",children:[s.jsx(_,{name:"robot-2",className:"mx-auto mb-3 h-12 w-12 opacity-50"}),s.jsx("p",{className:"typography-body",children:t("settings.agents.page.empty.title")}),s.jsx("p",{className:"typography-meta mt-1 opacity-75",children:t("settings.agents.page.empty.description")})]})})};function Zp(t,e){return t.kind==="file"?t.content:e??""}const vl=Ts({content:Mt(),exists:Po(),path:Mt().min(1).optional()}),Xp=async(t,e)=>{const a=await t.json().catch(()=>null);return typeof a?.error=="string"&&a.error.trim()?a.error:e},eg=t=>t.length>0&&!t.endsWith(`
3
3
  `)?`${t}
4
4
  `:t,Mi={prompt:"",responseStyleEnabled:!1,responseStylePreset:"concise",responseStyleCustomInstructions:""},tg=(t,e)=>t==="custom"?e:Vd(t),sg=t=>t==="custom"?"custom":Ac(t)?t:"concise",yl={concise:"settings.behavior.page.responseStyle.option.concise",detailed:"settings.behavior.page.responseStyle.option.detailed",mentor:"settings.behavior.page.responseStyle.option.mentor",pushback:"settings.behavior.page.responseStyle.option.pushback",noFiller:"settings.behavior.page.responseStyle.option.noFiller",matchEnergy:"settings.behavior.page.responseStyle.option.matchEnergy",warmPeer:"settings.behavior.page.responseStyle.option.warmPeer"},ng=()=>{const{t}=Qe(),[e,a]=o.useState(""),[n,r]=o.useState("AGENTS.md"),[i,l]=o.useState(Mi.responseStyleEnabled),[d,c]=o.useState(Mi.responseStylePreset),[h,g]=o.useState(Mi.responseStyleCustomInstructions),[f,m]=o.useState(!0),u=o.useRef(null),v=o.useRef(null);o.useEffect(()=>{const N=new AbortController;return(async()=>{try{const[y,T]=await Promise.all([En(),St("/api/behavior/agents-md",{method:"GET",headers:{Accept:"application/json"},signal:N.signal})]);let x=Mi,A;y&&(x={...x,responseStyleEnabled:y.responseStyleEnabled===!0,responseStylePreset:sg(y.responseStylePreset),responseStyleCustomInstructions:y.responseStyleCustomInstructions??""},y.globalBehaviorPrompt!==void 0&&(A=y.globalBehaviorPrompt));let R={kind:"missing"};if(T.ok){const P=vl.parse(await T.json());if(N.signal.aborted)return;r(P.path??"AGENTS.md"),v.current=P.exists?P.content:null,P.exists&&(R={kind:"file",content:P.content})}x={...x,prompt:Zp(R,A)},a(x.prompt),l(x.responseStyleEnabled),c(x.responseStylePreset),g(x.responseStyleCustomInstructions),u.current=x}catch(y){y.name!=="AbortError"&&console.warn("Failed to load behavior settings:",y)}finally{m(!1)}})(),()=>N.abort()},[]);const w=o.useRef(e);w.current=e,o.useEffect(()=>{let N=null;const I=async()=>{if(document.visibilityState!=="visible"||!u.current)return;N?.abort();const T=new AbortController;N=T;try{const x=await St("/api/behavior/agents-md",{method:"GET",headers:{Accept:"application/json"},signal:T.signal});if(!x.ok)return;const A=vl.parse(await x.json()),R=u.current;if(T.signal.aborted||!R||!A.exists||A.content===v.current||w.current!==R.prompt)return;v.current=A.content,u.current={...R,prompt:A.content},a(A.content)}catch(x){x instanceof DOMException&&x.name==="AbortError"||console.warn("Failed to refresh AGENTS.md:",x)}},y=()=>{I()};return window.addEventListener("focus",y),document.addEventListener("visibilitychange",y),()=>{N?.abort(),window.removeEventListener("focus",y),document.removeEventListener("visibilitychange",y)}},[]);const b=o.useCallback(async()=>{const N=u.current;if(!N||f)return Os;const I=e!==N.prompt,y=i!==N.responseStyleEnabled||d!==N.responseStylePreset||h!==N.responseStyleCustomInstructions;if(!I&&!y)return Os;const T=I?eg(e):N.prompt;if(I){const A=await St("/api/behavior/agents-md",{method:"PUT",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({content:T,expectedContent:v.current})});if(A.status===409)return ms(t("settings.behavior.page.toast.agentsMdChangedOnDisk"));if(!A.ok)return ms(await Xp(A,t("settings.behavior.page.toast.saveFailed")));v.current=T,a(R=>R===e?T:R)}return(await xt({...I?{globalBehaviorPrompt:T}:{},responseStyleEnabled:i,responseStylePreset:d,responseStyleCustomInstructions:h})).ok?(u.current={prompt:T,responseStyleEnabled:i,responseStylePreset:d,responseStyleCustomInstructions:h},Tn):ms(t("settings.behavior.page.toast.saveFailed"))},[f,e,h,i,d,t]),k=Ya(b),{requestSave:p}=k,S=tg(d,h);return s.jsxs(ts,{title:t("settings.behavior.page.title"),description:t("settings.page.behavior.description"),onBlurCapture:k.onBlurCapture,children:[s.jsx(qe,{title:t("settings.behavior.page.section.systemPrompt"),divider:!1,info:s.jsxs("div",{className:"space-y-1",children:[s.jsx("p",{className:"font-medium text-foreground",children:t("settings.behavior.page.warning.title")}),s.jsx("p",{children:t("settings.behavior.page.warning.description",{path:n})})]}),settingsItem:"behavior.system-prompt",contentClassName:"space-y-3",children:s.jsx(As,{value:e,onChange:N=>a(N.target.value),placeholder:t("settings.behavior.page.field.systemPromptPlaceholder"),rows:12,disabled:f,outerClassName:"min-h-[160px] max-h-[70vh]",className:"w-full font-mono typography-meta bg-transparent"})}),s.jsxs(qe,{title:t("settings.behavior.page.section.responseStyle"),info:t("settings.behavior.page.responseStyle.tooltip"),settingsItem:"behavior.response-style",contentClassName:"space-y-3",children:[s.jsx(gt,{checked:i,onChange:N=>{l(N),p()},disabled:f,label:t("settings.behavior.page.responseStyle.enable"),ariaLabel:t("settings.behavior.page.responseStyle.enableAria")}),s.jsx(It,{label:t("settings.behavior.page.responseStyle.preset"),alignEnd:!1,children:s.jsxs(Et,{value:d,onValueChange:N=>{c(N),p()},disabled:f||!i,children:[s.jsx(At,{size:Bt,className:nn,children:s.jsx($t,{children:N=>N==="custom"?t("settings.behavior.page.responseStyle.option.custom"):Ac(N)?t(yl[N]):null})}),s.jsxs(Tt,{children:[Bd.map(N=>s.jsx(ut,{value:N,children:t(yl[N])},N)),s.jsx(ut,{value:"custom",children:t("settings.behavior.page.responseStyle.option.custom")})]})]})}),s.jsx(As,{value:S,onChange:N=>g(N.target.value),placeholder:t("settings.behavior.page.responseStyle.customPlaceholder"),rows:5,disabled:f||!i||d!=="custom",outerClassName:"min-h-[120px]",className:"w-full font-mono typography-meta bg-transparent"})]})]})},ag=(t,e)=>t.kind===e.kind&&(t.kind!=="provider"||e.kind==="provider"&&t.id===e.id),ig=t=>{const e=tt.c(73),{snapshot:a}=t,{t:n}=Qe(),r=gi(cg),i=a.selection,l=a.projectOverride!==null;let d;e[0]!==l||e[1]!==i||e[2]!==r||e[3]!==n?(d=O=>{l||ag(O,i)||r(O).then(C=>{C||$.error(n("settings.webSearch.toast.saveFailed"))})},e[0]=l,e[1]=i,e[2]=r,e[3]=n,e[4]=d):d=e[4];const c=d,h=i.kind==="provider"&&!a.providers.some(O=>O.id===i.id)?i.id:null;let g;e[5]!==n?(g=n("settings.webSearch.section.provider"),e[5]=n,e[6]=g):g=e[6];let f;e[7]!==n?(f=n("settings.webSearch.section.providerInfo"),e[7]=n,e[8]=f):f=e[8];let m;e[9]!==n?(m=n("settings.webSearch.section.provider"),e[9]=n,e[10]=m):m=e[10];const u=i.kind==="default";let v;e[11]!==c?(v=()=>c({kind:"default"}),e[11]=c,e[12]=v):v=e[12];let w;e[13]!==n?(w=n("settings.webSearch.option.default"),e[13]=n,e[14]=w):w=e[14];let b;e[15]!==n?(b=n("settings.webSearch.option.defaultDescription"),e[15]=n,e[16]=b):b=e[16];let k;e[17]!==l||e[18]!==u||e[19]!==v||e[20]!==w||e[21]!==b?(k=s.jsx(ws,{selected:u,onSelect:v,disabled:l,label:w,description:b}),e[17]=l,e[18]=u,e[19]=v,e[20]=w,e[21]=b,e[22]=k):k=e[22];let p;e[23]!==c||e[24]!==l||e[25]!==i.kind||e[26]!==a.providers.length||e[27]!==n?(p=a.providers.length>0?s.jsx(ws,{selected:i.kind==="random",onSelect:()=>c({kind:"random"}),disabled:l,label:n("settings.webSearch.option.random"),description:n("settings.webSearch.option.randomDescription")}):null,e[23]=c,e[24]=l,e[25]=i.kind,e[26]=a.providers.length,e[27]=n,e[28]=p):p=e[28];let S;if(e[29]!==c||e[30]!==l||e[31]!==i.id||e[32]!==i.kind||e[33]!==a.providers){let O;e[35]!==c||e[36]!==l||e[37]!==i.id||e[38]!==i.kind?(O=C=>s.jsx(ws,{selected:i.kind==="provider"&&i.id===C.id,onSelect:()=>c({kind:"provider",id:C.id}),disabled:l,label:C.name},C.id),e[35]=c,e[36]=l,e[37]=i.id,e[38]=i.kind,e[39]=O):O=e[39],S=a.providers.map(O),e[29]=c,e[30]=l,e[31]=i.id,e[32]=i.kind,e[33]=a.providers,e[34]=S}else S=e[34];let N;e[40]!==h||e[41]!==n?(N=h?s.jsx(ws,{selected:!0,onSelect:dg,label:h,description:n("settings.webSearch.option.missing")}):null,e[40]=h,e[41]=n,e[42]=N):N=e[42];const I=i.kind==="off";let y;e[43]!==c?(y=()=>c({kind:"off"}),e[43]=c,e[44]=y):y=e[44];let T;e[45]!==n?(T=n("settings.webSearch.option.off"),e[45]=n,e[46]=T):T=e[46];let x;e[47]!==l||e[48]!==I||e[49]!==y||e[50]!==T?(x=s.jsx(ws,{selected:I,onSelect:y,disabled:l,label:T}),e[47]=l,e[48]=I,e[49]=y,e[50]=T,e[51]=x):x=e[51];let A;e[52]!==p||e[53]!==S||e[54]!==N||e[55]!==x||e[56]!==m||e[57]!==k?(A=s.jsxs(tn,{"aria-label":m,children:[k,p,S,N,x]}),e[52]=p,e[53]=S,e[54]=N,e[55]=x,e[56]=m,e[57]=k,e[58]=A):A=e[58];let R;e[59]!==a.projectOverride||e[60]!==n?(R=a.projectOverride?s.jsx("p",{className:`${vs} mt-2 break-all`,children:n("settings.webSearch.state.projectOverride",{path:a.projectOverride})}):null,e[59]=a.projectOverride,e[60]=n,e[61]=R):R=e[61];let P;e[62]!==a.providers.length||e[63]!==n?(P=a.providers.length===0?s.jsx("p",{className:`${vs} mt-2`,children:n("settings.webSearch.state.noProviders")}):null,e[62]=a.providers.length,e[63]=n,e[64]=P):P=e[64];let D;e[65]!==A||e[66]!==R||e[67]!==P?(D=s.jsxs("div",{children:[A,R,P]}),e[65]=A,e[66]=R,e[67]=P,e[68]=D):D=e[68];let F;return e[69]!==g||e[70]!==D||e[71]!==f?(F=s.jsx(qe,{title:g,info:f,divider:!1,settingsItem:"web-search.provider",children:D}),e[69]=g,e[70]=D,e[71]=f,e[72]=F):F=e[72],F},rg=t=>{const e=tt.c(26),{provider:a,access:n}=t,{t:r}=Qe(),i=gi(ug),l=gi(mg),[d,c]=o.useState(""),[h,g]=o.useState(!1);let f;e[0]!==n.envNames||e[1]!==r?(f=n.envNames.length>0?r("settings.webSearch.keys.envHint",{names:n.envNames.join(", ")}):void 0,e[0]=n.envNames,e[1]=r,e[2]=f):f=e[2];const m=f;let u;e[3]!==d||e[4]!==a.id||e[5]!==a.name||e[6]!==i||e[7]!==r?(u=async()=>{const N=d.trim();if(!N)return;g(!0);const I=await i(a.id,N);g(!1),I?(c(""),$.success(r("settings.webSearch.toast.keySaved",{provider:a.name}))):$.error(r("settings.webSearch.toast.keySaveFailed"))},e[3]=d,e[4]=a.id,e[5]=a.name,e[6]=i,e[7]=r,e[8]=u):u=e[8];const v=u;let w;e[9]!==a.id||e[10]!==l||e[11]!==r?(w=async()=>{g(!0);const N=await l(a.id);g(!1),N||$.error(r("settings.webSearch.toast.keyRemoveFailed"))},e[9]=a.id,e[10]=l,e[11]=r,e[12]=w):w=e[12];const b=w,k=n.key;let p;e[13]!==h||e[14]!==d||e[15]!==b||e[16]!==v||e[17]!==a.name||e[18]!==k.kind||e[19]!==k.name||e[20]!==r?(p=k.kind==="stored"?s.jsxs("div",{className:`${Ps} flex items-center justify-end gap-2`,children:[s.jsx("span",{className:"typography-meta text-muted-foreground",children:r("settings.webSearch.keys.saved")}),s.jsx(G,{variant:"outline",size:"xs",disabled:h,onClick:()=>{b()},children:r("settings.webSearch.keys.remove")})]}):k.kind==="env"?s.jsx("span",{className:"typography-meta text-muted-foreground",children:r("settings.webSearch.keys.fromEnv",{name:k.name})}):s.jsxs("div",{className:`${Ps} flex items-center gap-2`,children:[s.jsx(He,{type:"password",value:d,onChange:N=>c(N.target.value),onKeyDown:N=>{N.key==="Enter"&&v()},placeholder:r("settings.webSearch.keys.placeholder"),"aria-label":r("settings.webSearch.keys.inputAria",{provider:a.name}),className:"h-8 min-w-0 flex-1 rounded-md px-3 font-mono text-xs"}),s.jsx(G,{size:"xs",disabled:h||d.trim().length===0,onClick:()=>{v()},children:r("settings.webSearch.keys.save")})]}),e[13]=h,e[14]=d,e[15]=b,e[16]=v,e[17]=a.name,e[18]=k.kind,e[19]=k.name,e[20]=r,e[21]=p):p=e[21];let S;return e[22]!==m||e[23]!==a.name||e[24]!==p?(S=s.jsx(It,{label:a.name,info:m,children:p}),e[22]=m,e[23]=a.name,e[24]=p,e[25]=S):S=e[25],S},og=t=>{const e=tt.c(23),{snapshot:a}=t,{t:n}=Qe(),r=a.access;let i,l,d,c,h,g,f;if(e[0]!==r||e[1]!==a.providers||e[2]!==n){f=Symbol.for("react.early_return_sentinel");e:{const v=r?a.providers.flatMap(w=>{const b=r[w.id];return b&&b.key.kind!=="unsupported"?[{provider:w,access:b}]:[]}):[];if(r&&v.length===0){f=null;break e}i=qe,e[10]!==n?(c=n("settings.webSearch.section.keys"),e[10]=n,e[11]=c):c=e[11],e[12]!==n?(h=n("settings.webSearch.section.keysInfo"),e[12]=n,e[13]=h):h=e[13],g="web-search.keys",l="space-y-4",d=r===null?s.jsx("p",{className:vs,children:n("settings.webSearch.state.keysUnavailable")}):v.map(pg)}e[0]=r,e[1]=a.providers,e[2]=n,e[3]=i,e[4]=l,e[5]=d,e[6]=c,e[7]=h,e[8]=g,e[9]=f}else i=e[3],l=e[4],d=e[5],c=e[6],h=e[7],g=e[8],f=e[9];if(f!==Symbol.for("react.early_return_sentinel"))return f;let m;e[14]!==l||e[15]!==d?(m=s.jsx("div",{className:l,children:d}),e[14]=l,e[15]=d,e[16]=m):m=e[16];let u;return e[17]!==i||e[18]!==c||e[19]!==h||e[20]!==g||e[21]!==m?(u=s.jsx(i,{title:c,info:h,settingsItem:g,children:m}),e[17]=i,e[18]=c,e[19]=h,e[20]=g,e[21]=m,e[22]=u):u=e[22],u},lg=()=>{const t=tt.c(17),{t:e}=Qe(),a=gi(gg),n=gi(hg);let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=Hd(),t[0]=r):r=t[0];const i=r;let l,d;t[1]!==n?(l=()=>{n()},d=[n,i],t[1]=n,t[2]=l,t[3]=d):(l=t[2],d=t[3]),o.useEffect(l,d);const c=a.kind==="ready"&&a.snapshot.scope===i?a.snapshot:null;let h;t[4]!==e?(h=e("settings.page.webSearch.title"),t[4]=e,t[5]=h):h=t[5];let g;t[6]!==e?(g=e("settings.page.webSearch.description"),t[6]=e,t[7]=g):g=t[7];let f;t[8]!==n||t[9]!==c||t[10]!==a.kind||t[11]!==e?(f=c?s.jsxs(s.Fragment,{children:[s.jsx(ig,{snapshot:c}),s.jsx(og,{snapshot:c})]}):a.kind==="failed"?s.jsx(qe,{divider:!1,children:s.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[s.jsx("p",{className:"typography-meta text-[var(--status-error)]",children:e("settings.webSearch.state.loadFailed")}),s.jsx(G,{variant:"outline",size:"xs",onClick:()=>{n()},children:e("settings.webSearch.actions.retry")})]})}):s.jsx(qe,{divider:!1,children:s.jsx("p",{className:vs,children:e("settings.webSearch.state.loading")})}),t[8]=n,t[9]=c,t[10]=a.kind,t[11]=e,t[12]=f):f=t[12];let m;return t[13]!==h||t[14]!==g||t[15]!==f?(m=s.jsx(ts,{title:h,description:g,showSaveStatus:!0,children:f}),t[13]=h,t[14]=g,t[15]=f,t[16]=m):m=t[16],m};function cg(t){return t.setSelection}function dg(){}function ug(t){return t.saveKey}function mg(t){return t.removeKey}function pg(t){const{provider:e,access:a}=t;return s.jsx(rg,{provider:e,access:a},e.id)}function gg(t){return t.state}function hg(t){return t.load}const fg=t=>{const e=tt.c(176),{onItemSelect:a}=t,{t:n}=Qe(),[r,i]=o.useState(null),[l,d]=o.useState(""),[c,h]=o.useState(null),[g,f]=o.useState(null),[m,u]=o.useState(!1),[v,w]=o.useState(null),{selectedCommandName:b,setSelectedCommand:k,setCommandDraft:p,createCommand:S,deleteCommand:N,loadCommands:I}=Wa(Bs(xg)),y=rn();let T;e[0]!==y?(T=Xe=>Tc(Xe,y),e[0]=y,e[1]=T):T=e[1];const x=Wa(T);let A;e[2]!==y?(A=Xe=>xo(Xe,y),e[2]=y,e[3]=A):A=e[3];const R=sn(A),P=sn(bg);let D,F;e[4]!==I||e[5]!==P||e[6]!==y?(D=()=>{I(y),P(y)},F=[I,P,y],e[4]=I,e[5]=P,e[6]=y,e[7]=D,e[8]=F):(D=e[7],F=e[8]),o.useEffect(D,F);let O;e[9]!==R?(O=new Set(R.map(vg)),e[9]=R,e[10]=O):O=e[10];const C=O;let M;if(e[11]!==x||e[12]!==C){let Xe;e[14]!==C?(Xe=jt=>!C.has(jt.name),e[14]=C,e[15]=Xe):Xe=e[15],M=x.filter(Xe),e[11]=x,e[12]=C,e[13]=M}else M=e[13];const U=M;let L,W;e[16]!==b||e[17]!==k||e[18]!==C?(L=()=>{b&&C.has(b)&&k(null)},W=[b,k,C],e[16]=b,e[17]=k,e[18]=C,e[19]=L,e[20]=W):(L=e[19],W=e[20]),o.useEffect(L,W);let X;e[21]!==x||e[22]!==a||e[23]!==p||e[24]!==k?(X=()=>{let Xe="new-command",jt=1;for(;x.some(De=>De.name===Xe);)Xe=`new-command-${jt}`,jt++;p({name:Xe,scope:"user"}),k(Xe),a?.()},e[21]=x,e[22]=a,e[23]=p,e[24]=k,e[25]=X):X=e[25];const J=X;let q;e[26]!==n?(q=async Xe=>{if($a(Xe)){$.error(n("settings.commands.sidebar.toast.builtInCannotDelete"));return}h(Xe),f("delete")},e[26]=n,e[27]=q):q=e[27];const z=q;let H;e[28]===Symbol.for("react.memo_cache_sentinel")?(H=async Xe=>{$a(Xe)&&(h(Xe),f("reset"))},e[28]=H):H=e[28];const se=H;let B;e[29]===Symbol.for("react.memo_cache_sentinel")?(B=()=>{h(null),f(null)},e[29]=B):B=e[29];const ne=B;let K;e[30]!==c||e[31]!==g||e[32]!==N||e[33]!==y||e[34]!==n?(K=async()=>{if(!c||!g)return;u(!0),await N(c.name,y)?(g==="delete"?$.success(n("settings.commands.sidebar.toast.commandDeleted",{name:c.name})):$.success(n("settings.commands.sidebar.toast.commandReset",{name:c.name})),ne()):g==="delete"?$.error(n("settings.commands.sidebar.toast.deleteFailed")):$.error(n("settings.commands.sidebar.toast.resetFailed")),u(!1)},e[30]=c,e[31]=g,e[32]=N,e[33]=y,e[34]=n,e[35]=K):K=e[35];const Z=K;let oe;e[36]!==x||e[37]!==p||e[38]!==k?(oe=Xe=>{const jt=Xe.name;let De=1,$e=`${jt}-copy`;for(;x.some(Y=>Y.name===$e);)De++,$e=`${jt}-copy-${De}`;p({name:$e,scope:Xe.scope||"user",description:Xe.description,template:Xe.template,agent:Xe.agent,model:Xe.model,subagent:Xe.subagent}),k($e)},e[36]=x,e[37]=p,e[38]=k,e[39]=oe):oe=e[39];const ue=oe;let de;e[40]===Symbol.for("react.memo_cache_sentinel")?(de=Xe=>{d(Xe.name),i(Xe)},e[40]=de):de=e[40];const ce=de;let Se;e[41]!==x||e[42]!==S||e[43]!==N||e[44]!==r||e[45]!==l||e[46]!==k||e[47]!==y||e[48]!==n?(Se=async()=>{if(!r)return;const Xe=l.trim().replace(/\s+/g,"-");if(!Xe){$.error(n("settings.commands.sidebar.toast.commandNameRequired"));return}if(Xe===r.name){i(null);return}if(x.some(De=>De.name===Xe)){$.error(n("settings.commands.sidebar.toast.commandExists"));return}await S({name:Xe,description:r.description,template:r.template,agent:r.agent,model:r.model,subagent:r.subagent,scope:r.scope},y)?await N(r.name,y)?($.success(`Command renamed to "${Xe}"`),k(Xe)):$.error(n("settings.commands.sidebar.toast.removeOldAfterRenameFailed")):$.error(n("settings.commands.sidebar.toast.renameFailed")),i(null)},e[41]=x,e[42]=S,e[43]=N,e[44]=r,e[45]=l,e[46]=k,e[47]=y,e[48]=n,e[49]=Se):Se=e[49];const re=Se;let ve,ie,me,ke,Ae,pe;if(e[50]!==U||e[51]!==J||e[52]!==z||e[53]!==ue||e[54]!==a||e[55]!==v||e[56]!==b||e[57]!==k||e[58]!==n){const Xe=U.filter($a),jt=U.filter(yg);e[65]===Symbol.for("react.memo_cache_sentinel")?(Ae=Pe("flex h-full flex-col","bg-background"),e[65]=Ae):Ae=e[65];let De;e[66]!==n?(De=n("settings.commands.sidebar.title"),e[66]=n,e[67]=De):De=e[67];let $e;e[68]!==De?($e=s.jsx("h2",{className:`${_n} mb-3`,children:De}),e[68]=De,e[69]=$e):$e=e[69];let Y;e[70]===Symbol.for("react.memo_cache_sentinel")?(Y=s.jsx(xi,{className:"mb-3"}),e[70]=Y):Y=e[70];let V;e[71]!==U.length||e[72]!==n?(V=n("settings.commands.sidebar.total",{count:U.length}),e[71]=U.length,e[72]=n,e[73]=V):V=e[73];let be;e[74]!==V?(be=s.jsx("span",{className:"typography-meta text-muted-foreground",children:V}),e[74]=V,e[75]=be):be=e[75];let ge;e[76]===Symbol.for("react.memo_cache_sentinel")?(ge=s.jsx(_,{name:"add",className:"h-3.5 w-3.5"}),e[76]=ge):ge=e[76];let Ee;e[77]!==J?(Ee=s.jsx(G,{size:"sm","data-settings-item":"commands.create",variant:"ghost",className:"h-7 w-7 px-0 -my-1 text-muted-foreground",onClick:J,children:ge}),e[77]=J,e[78]=Ee):Ee=e[78];let te;e[79]!==be||e[80]!==Ee?(te=s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[be,Ee]}),e[79]=be,e[80]=Ee,e[81]=te):te=e[81],e[82]!==$e||e[83]!==te?(pe=s.jsxs("div",{className:"border-b px-3 pt-4 pb-3",children:[$e,Y,te]}),e[82]=$e,e[83]=te,e[84]=pe):pe=e[84],ve=Ns,ie="flex-1 min-h-0",me="space-y-1 px-3 py-2",ke=U.length===0?s.jsxs("div",{className:"py-12 px-4 text-center text-muted-foreground",children:[s.jsx(_,{name:"terminal-box",className:"mx-auto mb-3 h-10 w-10 opacity-50"}),s.jsx("p",{className:"typography-ui-label font-medium",children:n("settings.commands.sidebar.empty.title")}),s.jsx("p",{className:"typography-meta mt-1 opacity-75",children:n("settings.commands.sidebar.empty.description")})]}):s.jsxs(s.Fragment,{children:[Xe.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"px-2 pb-1.5 pt-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:n("settings.commands.sidebar.section.builtIn")}),[...Xe].sort(jg).map(xe=>s.jsx(jl,{command:xe,isSelected:b===xe.name,onSelect:()=>{k(xe.name),a?.()},onReset:()=>se(xe),onDuplicate:()=>ue(xe),isMenuOpen:v===xe.name,onMenuOpenChange:Ze=>w(Ze?xe.name:null)},xe.name))]}),jt.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"px-2 pb-1.5 pt-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:n("settings.commands.sidebar.section.custom")}),[...jt].sort(wg).map(xe=>s.jsx(jl,{command:xe,isSelected:b===xe.name,onSelect:()=>{k(xe.name),a?.()},onRename:()=>ce(xe),onDelete:()=>z(xe),onDuplicate:()=>ue(xe),isMenuOpen:v===xe.name,onMenuOpenChange:Ze=>w(Ze?xe.name:null)},xe.name))]})]}),e[50]=U,e[51]=J,e[52]=z,e[53]=ue,e[54]=a,e[55]=v,e[56]=b,e[57]=k,e[58]=n,e[59]=ve,e[60]=ie,e[61]=me,e[62]=ke,e[63]=Ae,e[64]=pe}else ve=e[59],ie=e[60],me=e[61],ke=e[62],Ae=e[63],pe=e[64];let Le;e[85]!==ve||e[86]!==ie||e[87]!==me||e[88]!==ke?(Le=s.jsx(ve,{outerClassName:ie,className:me,children:ke}),e[85]=ve,e[86]=ie,e[87]=me,e[88]=ke,e[89]=Le):Le=e[89];const Ve=c!==null&&g!==null;let ye;e[90]!==m?(ye=Xe=>{!Xe&&!m&&ne()},e[90]=m,e[91]=ye):ye=e[91];let Te;e[92]!==g||e[93]!==n?(Te=n(g==="delete"?"settings.commands.sidebar.dialog.deleteTitle":"settings.commands.sidebar.dialog.resetTitle"),e[92]=g,e[93]=n,e[94]=Te):Te=e[94];let ee;e[95]!==Te?(ee=s.jsx(Ht,{children:Te}),e[95]=Te,e[96]=ee):ee=e[96];let ae;e[97]!==c?.name||e[98]!==g||e[99]!==n?(ae=g==="delete"?n("settings.commands.sidebar.dialog.deleteDescription",{name:c?.name??""}):n("settings.commands.sidebar.dialog.resetDescription",{name:c?.name??""}),e[97]=c?.name,e[98]=g,e[99]=n,e[100]=ae):ae=e[100];let fe;e[101]!==ae?(fe=s.jsx(qt,{children:ae}),e[101]=ae,e[102]=fe):fe=e[102];let je;e[103]!==ee||e[104]!==fe?(je=s.jsxs(Vt,{children:[ee,fe]}),e[103]=ee,e[104]=fe,e[105]=je):je=e[105];let Re;e[106]!==n?(Re=n("settings.common.actions.cancel"),e[106]=n,e[107]=Re):Re=e[107];let Ce;e[108]!==m||e[109]!==Re?(Ce=s.jsx(G,{size:"sm",variant:"ghost",onClick:ne,disabled:m,children:Re}),e[108]=m,e[109]=Re,e[110]=Ce):Ce=e[110];let _e;e[111]!==g||e[112]!==n?(_e=n(g==="delete"?"settings.common.actions.delete":"settings.common.actions.reset"),e[111]=g,e[112]=n,e[113]=_e):_e=e[113];let Ke;e[114]!==Z||e[115]!==m||e[116]!==_e?(Ke=s.jsx(G,{size:"sm",onClick:Z,disabled:m,children:_e}),e[114]=Z,e[115]=m,e[116]=_e,e[117]=Ke):Ke=e[117];let Fe;e[118]!==Ce||e[119]!==Ke?(Fe=s.jsxs(as,{children:[Ce,Ke]}),e[118]=Ce,e[119]=Ke,e[120]=Fe):Fe=e[120];let Me;e[121]!==je||e[122]!==Fe?(Me=s.jsxs(_t,{className:"max-w-md",children:[je,Fe]}),e[121]=je,e[122]=Fe,e[123]=Me):Me=e[123];let at;e[124]!==Ve||e[125]!==ye||e[126]!==Me?(at=s.jsx(Ut,{open:Ve,onOpenChange:ye,children:Me}),e[124]=Ve,e[125]=ye,e[126]=Me,e[127]=at):at=e[127];const pt=r!==null;let ot;e[128]===Symbol.for("react.memo_cache_sentinel")?(ot=Xe=>!Xe&&i(null),e[128]=ot):ot=e[128];let mt;e[129]!==n?(mt=n("settings.commands.sidebar.renameDialog.title"),e[129]=n,e[130]=mt):mt=e[130];let ht;e[131]!==mt?(ht=s.jsx(Ht,{children:mt}),e[131]=mt,e[132]=ht):ht=e[132];const Oe=r?.name??"";let nt;e[133]!==n||e[134]!==Oe?(nt=n("settings.commands.sidebar.renameDialog.description",{name:Oe}),e[133]=n,e[134]=Oe,e[135]=nt):nt=e[135];let lt;e[136]!==nt?(lt=s.jsx(qt,{children:nt}),e[136]=nt,e[137]=lt):lt=e[137];let we;e[138]!==ht||e[139]!==lt?(we=s.jsxs(Vt,{children:[ht,lt]}),e[138]=ht,e[139]=lt,e[140]=we):we=e[140];let Je;e[141]===Symbol.for("react.memo_cache_sentinel")?(Je=Xe=>d(Xe.target.value),e[141]=Je):Je=e[141];let Ye;e[142]!==n?(Ye=n("settings.commands.sidebar.renameDialog.placeholder"),e[142]=n,e[143]=Ye):Ye=e[143];let ze;e[144]!==re?(ze=Xe=>{Xe.key==="Enter"&&re()},e[144]=re,e[145]=ze):ze=e[145];let Ge;e[146]!==l||e[147]!==Ye||e[148]!==ze?(Ge=s.jsx(He,{value:l,onChange:Je,placeholder:Ye,className:"text-foreground placeholder:text-muted-foreground",onKeyDown:ze}),e[146]=l,e[147]=Ye,e[148]=ze,e[149]=Ge):Ge=e[149];let Q;e[150]===Symbol.for("react.memo_cache_sentinel")?(Q=()=>i(null),e[150]=Q):Q=e[150];let Ue;e[151]!==n?(Ue=n("settings.common.actions.cancel"),e[151]=n,e[152]=Ue):Ue=e[152];let st;e[153]!==Ue?(st=s.jsx(G,{size:"sm",variant:"ghost",onClick:Q,children:Ue}),e[153]=Ue,e[154]=st):st=e[154];let dt;e[155]!==n?(dt=n("settings.common.actions.rename"),e[155]=n,e[156]=dt):dt=e[156];let ct;e[157]!==re||e[158]!==dt?(ct=s.jsx(G,{size:"sm",onClick:re,children:dt}),e[157]=re,e[158]=dt,e[159]=ct):ct=e[159];let ft;e[160]!==st||e[161]!==ct?(ft=s.jsxs(as,{children:[st,ct]}),e[160]=st,e[161]=ct,e[162]=ft):ft=e[162];let kt;e[163]!==we||e[164]!==Ge||e[165]!==ft?(kt=s.jsxs(_t,{children:[we,Ge,ft]}),e[163]=we,e[164]=Ge,e[165]=ft,e[166]=kt):kt=e[166];let bt;e[167]!==pt||e[168]!==kt?(bt=s.jsx(Ut,{open:pt,onOpenChange:ot,children:kt}),e[167]=pt,e[168]=kt,e[169]=bt):bt=e[169];let vt;return e[170]!==Ae||e[171]!==pe||e[172]!==Le||e[173]!==at||e[174]!==bt?(vt=s.jsxs("div",{className:Ae,children:[pe,Le,at,bt]}),e[170]=Ae,e[171]=pe,e[172]=Le,e[173]=at,e[174]=bt,e[175]=vt):vt=e[175],vt},jl=t=>{const e=tt.c(47),{command:a,isSelected:n,onSelect:r,onDelete:i,onReset:l,onRename:d,onDuplicate:c,isMenuOpen:h,onMenuOpenChange:g}=t,{t:f}=Qe();let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=pi(),e[0]=m):m=e[0];const u=m,[v,w]=o.useState(!1);let b;e[1]!==i||e[2]!==c||e[3]!==d||e[4]!==l||e[5]!==f?(b=W=>s.jsxs(s.Fragment,{children:[d&&s.jsxs(W,{onClick:X=>{X.stopPropagation(),d()},children:[s.jsx(_,{name:"edit",className:"h-4 w-4 mr-px"}),f("settings.common.actions.rename")]}),s.jsxs(W,{onClick:X=>{X.stopPropagation(),c()},children:[s.jsx(_,{name:"file-copy",className:"h-4 w-4 mr-px"}),f("settings.common.actions.duplicate")]}),l&&s.jsxs(W,{onClick:X=>{X.stopPropagation(),l()},children:[s.jsx(_,{name:"restart",className:"h-4 w-4 mr-px"}),f("settings.common.actions.reset")]}),i&&s.jsxs(W,{onClick:X=>{X.stopPropagation(),i()},className:"text-destructive focus:text-destructive",children:[s.jsx(_,{name:"delete-bin",className:"h-4 w-4 mr-px"}),f("settings.common.actions.delete")]})]}),e[1]=i,e[2]=c,e[3]=d,e[4]=l,e[5]=f,e[6]=b):b=e[6];const k=b,p=n?"bg-interactive-selection":"hover:bg-interactive-hover";let S;e[7]!==p?(S=Pe("group relative flex items-center rounded-md px-1.5 py-1 transition-all duration-200 select-none",p),e[7]=p,e[8]=S):S=e[8];let N;e[9]===Symbol.for("react.memo_cache_sentinel")?(N=u?void 0:W=>{W.preventDefault(),w(!0)},e[9]=N):N=e[9];let I;e[10]!==S?(I=s.jsx("div",{className:S,onContextMenu:N}),e[10]=S,e[11]=I):I=e[11];let y;e[12]!==a.name?(y=s.jsxs("span",{className:"typography-ui-label font-normal truncate text-foreground",children:["/",a.name]}),e[12]=a.name,e[13]=y):y=e[13];let T;e[14]!==a||e[15]!==f?(T=(a.scope||$a(a))&&s.jsx("span",{className:"typography-micro text-muted-foreground bg-muted px-1 rounded flex-shrink-0 leading-none pb-px border border-border/50",children:$a(a)?f("settings.agents.sidebar.badge.system"):a.scope}),e[14]=a,e[15]=f,e[16]=T):T=e[16];let x;e[17]!==y||e[18]!==T?(x=s.jsxs("div",{className:"flex items-center gap-2",children:[y,T]}),e[17]=y,e[18]=T,e[19]=x):x=e[19];let A;e[20]!==a.description?(A=a.description&&s.jsx("div",{className:"typography-micro text-muted-foreground/60 truncate leading-tight",children:a.description}),e[20]=a.description,e[21]=A):A=e[21];let R;e[22]!==r||e[23]!==A||e[24]!==x?(R=s.jsxs("button",{onClick:r,className:"flex min-w-0 flex-1 flex-col gap-0 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",tabIndex:0,children:[x,A]}),e[22]=r,e[23]=A,e[24]=x,e[25]=R):R=e[25];let P;e[26]!==g?(P=W=>{W&&w(!1),g(W)},e[26]=g,e[27]=P):P=e[27];let D;e[28]===Symbol.for("react.memo_cache_sentinel")?(D=s.jsx(Nn,{asChild:!0,children:s.jsx(G,{size:"sm",variant:"ghost",className:"h-6 w-6 px-0 flex-shrink-0 -mr-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100",children:s.jsx(_,{name:"more-2",className:"h-3.5 w-3.5"})})}),e[28]=D):D=e[28];let F;e[29]!==k?(F=s.jsx(kn,{align:"end",className:"w-fit min-w-20",children:k(an)}),e[29]=k,e[30]=F):F=e[30];let O;e[31]!==h||e[32]!==P||e[33]!==F?(O=s.jsxs(Sn,{open:h,onOpenChange:P,children:[D,F]}),e[31]=h,e[32]=P,e[33]=F,e[34]=O):O=e[34];let C;e[35]!==R||e[36]!==O?(C=s.jsxs("div",{className:"flex min-w-0 flex-1 items-center",children:[R,O]}),e[35]=R,e[36]=O,e[37]=C):C=e[37];let M;e[38]!==C||e[39]!==I?(M=s.jsx(ga,{render:I,children:C}),e[38]=C,e[39]=I,e[40]=M):M=e[40];let U;e[41]!==k?(U=s.jsx(ma,{className:"w-fit min-w-20",children:k(pa)}),e[41]=k,e[42]=U):U=e[42];let L;return e[43]!==v||e[44]!==M||e[45]!==U?(L=s.jsxs(ha,{open:v,onOpenChange:w,children:[M,U]}),e[43]=v,e[44]=M,e[45]=U,e[46]=L):L=e[46],L};function xg(t){return{selectedCommandName:t.selectedCommandName,setSelectedCommand:t.setSelectedCommand,setCommandDraft:t.setCommandDraft,createCommand:t.createCommand,deleteCommand:t.deleteCommand,loadCommands:t.loadCommands}}function bg(t){return t.loadSkills}function vg(t){return t.name}function yg(t){return!$a(t)}function jg(t,e){return t.name.localeCompare(e.name)}function wg(t,e){return t.name.localeCompare(e.name)}const kg=()=>{const{t}=Qe(),{selectedCommandName:e,getCommandByName:a,createCommand:n,updateCommand:r,commandDraft:i,setCommandDraft:l,setSelectedCommand:d}=Wa(Bs(H=>({selectedCommandName:H.selectedCommandName,getCommandByName:H.getCommandByName,createCommand:H.createCommand,updateCommand:H.updateCommand,commandDraft:H.commandDraft,setCommandDraft:H.setCommandDraft,setSelectedCommand:H.setSelectedCommand}))),c=rn(),h=Wa(H=>Tc(H,c)),g=e?a(e,c):null,f=!!(i&&i.name===e&&!g),[m,u]=o.useState(""),[v,w]=o.useState("user"),[b,k]=o.useState(""),[p,S]=o.useState(""),[N,I]=o.useState(""),[y,T]=o.useState(""),[x,A]=o.useState(!1),[R,P]=o.useState(""),[D,F]=o.useState(!1),O=o.useRef(null),C=JSON.stringify([c,e]),M=o.useRef(null),U=o.useRef(null);o.useEffect(()=>{const H=M.current===C;if(M.current=C,f&&i){const se=i.name||"",B=i.scope||"user",ne=i.description||"",K=i.agent||"",Z=di(i.model),oe=Z?`${Z.providerID}/${Z.modelID}`:"",ue=Z?.variant||"",de=i.subagent===!0,ce=i.template||"";u(se),w(B),k(ne),S(K),I(oe),T(ue),A(de),P(ce),O.current={draftName:se,draftScope:B,description:ne,agent:K,model:oe,variant:ue,subagent:de,template:ce}}else if(g){const se=g.description||"",B=g.agent||"",ne=di(g.model),K=ne?`${ne.providerID}/${ne.modelID}`:"",Z=ne?.variant||"",oe=g.subagent===!0,ue=g.template||"",de=U.current,ce=[O.current,de?.identity===C?de.form:null];if(H&&ce.some(Se=>Se&&Se.description===se&&Se.agent===B&&Se.model===K&&Se.variant===Z&&Se.subagent===oe&&Se.template===ue))return;k(se),S(B),I(K),T(Z),A(oe),P(ue),O.current={draftName:"",draftScope:"user",description:se,agent:B,model:K,variant:Z,subagent:oe,template:ue}}},[g,f,e,h,i,C]);const L=o.useCallback(H=>{const se=p.trim(),B=zn(N.trim()),ne=B?Pc({providerID:B.providerId,modelID:B.modelId,variant:y.trim()||void 0}):null;return{name:H,description:b.trim()||void 0,agent:se===""?null:se,model:ne,subagent:x,template:R.trim(),scope:f?v:void 0}},[p,b,v,f,N,x,R,y]),W=o.useCallback(async()=>{const H=O.current,se=e?.trim();if(f||!H||!se||b.trim()===H.description.trim()&&p.trim()===H.agent.trim()&&N.trim()===H.model.trim()&&y.trim()===H.variant.trim()&&x===H.subagent&&R.trim()===H.template.trim())return Os;if(!R.trim())return ms(t("settings.commands.page.toast.templateRequired"));const ne=L(se),K=di(ne.model),Z={identity:C,form:{...H,description:ne.description||"",agent:ne.agent||"",model:K?`${K.providerID}/${K.modelID}`:"",variant:K?.variant||"",subagent:ne.subagent===!0,template:ne.template||""}};U.current=Z;try{return await r(se,ne,c)?(M.current===C&&(O.current=Z.form),Tn):ms(t("settings.commands.page.toast.updateFailed"))}finally{U.current===Z&&(U.current=null)}},[p,L,b,C,f,N,e,c,x,t,R,r,y]),X=Ya(W),{requestSave:J}=X,q=async()=>{const H=m.trim().replace(/\s+/g,"-");if(!H){$.error(t("settings.commands.sidebar.toast.commandNameRequired"));return}if(!R.trim()){$.error(t("settings.commands.page.toast.templateRequired"));return}if(h.some(se=>se.name===H)){$.error(t("settings.commands.sidebar.toast.commandExists"));return}F(!0);try{await n(L(H),c)?(l(null),$.success(t("settings.commands.page.toast.created"))):$.error(t("settings.commands.page.toast.createFailed"))}catch(se){console.error("Error creating command:",se),$.error(t("settings.commands.page.toast.saveUnexpectedError"))}finally{F(!1)}},z=()=>{l(null),d(null)};return e?s.jsxs(ts,{title:f?t("settings.commands.page.title.new"):`/${e}`,description:t(f?"settings.commands.page.subtitle.new":"settings.commands.page.subtitle.edit"),onBlurCapture:X.onBlurCapture,children:[!f&&g&&s.jsx(To,{legacy:g.legacy===!0,path:g.path}),s.jsxs(qe,{title:t("settings.commands.page.section.identity"),divider:!1,contentClassName:"space-y-0",children:[f&&s.jsxs(It,{settingsItem:"commands.name",label:t("settings.commands.page.field.commandName"),children:[s.jsxs("div",{className:"flex items-center",children:[s.jsx("span",{className:"typography-ui-label text-muted-foreground mr-1",children:"/"}),s.jsx(He,{value:m,onChange:H=>u(H.target.value),placeholder:t("settings.commands.page.field.commandNamePlaceholder"),className:"h-7 w-40 px-2"})]}),s.jsxs(Et,{value:v,onValueChange:H=>w(H),children:[s.jsx(At,{size:Bt,className:"w-fit min-w-[100px]",children:s.jsx($t,{placeholder:t("settings.agents.page.field.scopePlaceholder")})}),s.jsxs(Tt,{align:"end",children:[s.jsx(ut,{value:"user",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(_,{name:"user-3",className:"h-3.5 w-3.5"}),s.jsx("span",{children:t("settings.common.scope.global")})]})}),s.jsx(ut,{value:"project",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(_,{name:"folder",className:"h-3.5 w-3.5"}),s.jsx("span",{children:t("settings.common.scope.project")})]})})]})]})]}),s.jsxs("div",{className:"py-1.5",children:[s.jsx("span",{className:"typography-ui-label text-foreground",children:t("settings.common.field.description")}),s.jsx("div",{className:"mt-1.5",children:s.jsx(As,{value:b,onChange:H=>k(H.target.value),placeholder:t("settings.commands.page.field.descriptionPlaceholder"),rows:2,className:"w-full resize-none min-h-[60px] bg-transparent"})})]})]}),s.jsxs(qe,{title:t("settings.commands.page.section.executionContext"),contentClassName:"space-y-0",children:[s.jsx(It,{settingsItem:"commands.agent",label:t("settings.commands.page.field.overrideAgent"),children:s.jsx(bo,{agentName:p,onChange:H=>{S(H),J()},className:Ws})}),s.jsx(It,{settingsItem:"commands.model",label:t("settings.agents.page.field.overrideModel"),children:s.jsx(ca,{providerId:zn(N)?.providerId??"",modelId:zn(N)?.modelId??"",onChange:(H,se)=>{I(H&&se?`${H}/${se}`:""),J()},className:Ws})}),s.jsx(It,{settingsItem:"commands.variant",label:t("settings.agents.page.field.variant"),info:t("settings.agents.page.field.variantTooltip"),children:s.jsx(He,{value:y,onChange:H=>T(H.target.value),placeholder:t("settings.agents.page.field.variantPlaceholder"),disabled:!N&&!y,className:"h-8 w-40 rounded-md px-3"})}),s.jsx(It,{settingsItem:"commands.subagent",label:t("settings.commands.page.field.subagent"),info:t("settings.commands.page.field.subagentTooltip"),children:s.jsx(Ba,{checked:x,onCheckedChange:H=>{A(H),J()},"aria-label":t("settings.commands.page.field.subagent")})})]}),s.jsxs(qe,{title:t("settings.commands.page.section.template"),settingsItem:"commands.template",children:[s.jsx(As,{value:R,onChange:H=>P(H.target.value),placeholder:t("settings.commands.page.field.templatePlaceholder"),rows:12,className:"w-full font-mono typography-meta min-h-[160px] max-h-[60vh] bg-transparent"}),s.jsxs("p",{className:"mt-2 typography-meta text-muted-foreground",children:[s.jsx("code",{className:"text-foreground",children:"$ARGUMENTS"})," ",t("settings.commands.page.templateHint.userInput")," ·"," ",s.jsx("code",{className:"text-foreground",children:"!`cmd`"})," ",t("settings.commands.page.templateHint.shellOutput")," ·"," ",s.jsx("code",{className:"text-foreground",children:"@file"})," ",t("settings.commands.page.templateHint.fileContents")]}),f&&s.jsxs("div",{className:"flex items-center gap-2 pt-3",children:[s.jsx(G,{onClick:()=>{q()},disabled:D||!m.trim()||!R.trim(),size:"xs",className:"!font-normal",children:t(D?"settings.common.actions.saving":"settings.common.actions.create")}),s.jsx(G,{variant:"ghost",onClick:z,disabled:D,size:"xs",className:"!font-normal",children:t("settings.common.actions.cancel")})]})]})]}):s.jsx("div",{className:"flex h-full items-center justify-center",children:s.jsxs("div",{className:"text-center text-muted-foreground",children:[s.jsx(_,{name:"terminal-box",className:"mx-auto mb-3 h-12 w-12 opacity-50"}),s.jsx("p",{className:"typography-body",children:t("settings.commands.page.empty.title")}),s.jsx("p",{className:"typography-meta mt-1 opacity-75",children:t("settings.commands.page.empty.description")})]})})},Zi={oauthEnabled:!0,oauthClientId:"",oauthClientSecret:"",oauthScope:"",oauthRedirectUri:"",oauthCallbackPort:""},Ng=t=>t===!1?{...Zi,oauthEnabled:!1}:t?{oauthEnabled:!0,oauthClientId:t.client_id??"",oauthClientSecret:t.client_secret??"",oauthScope:t.scope??"",oauthRedirectUri:t.redirect_uri??"",oauthCallbackPort:t.callback_port===void 0?"":String(t.callback_port)}:Zi,wl=t=>{switch(t){case"connected":return"success";case"failed":return"error";case"needs_auth":return"warning";default:return"idle"}},kl=t=>{const e=tt.c(5),{tone:a,enabled:n}=t;if(!n){let l;return e[0]===Symbol.for("react.memo_cache_sentinel")?(l=s.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-muted-foreground/30 flex-shrink-0"}),e[0]=l):l=e[0],l}let r;e[1]!==a?(r=Pe("inline-block h-2 w-2 rounded-full flex-shrink-0",{success:"bg-[var(--status-success)]",error:"bg-[var(--status-error)]",warning:"bg-[var(--status-warning)]",idle:"bg-muted-foreground/40"}[a]),e[1]=a,e[2]=r):r=e[2];let i;return e[3]!==r?(i=s.jsx("span",{className:r}),e[3]=r,e[4]=i):i=e[4],i},Sg=t=>{const e=tt.c(124),{onItemSelect:a}=t,{t:n}=Qe(),{selectedMcpName:r,setSelectedMcp:i,setMcpDraft:l,loadMcpConfigs:d,deleteMcp:c}=Yn(Bs(Cg)),h=rn();let g;e[0]!==h?(g=Oe=>fo(Oe,h),e[0]=h,e[1]=g):g=e[1];const f=Yn(g);let m;e[2]!==h?(m=Oe=>Oe.getStatusForDirectory(h),e[2]=h,e[3]=m):m=e[3];const u=un(m),v=un(Ig),w=un(Pg),[b,k]=o.useState(null),[p,S]=o.useState(!1),[N,I]=o.useState(null),[y,T]=o.useState(null),[x,A]=o.useState(!1);let R;e[4]!==f?(R=f.filter(Ag),e[4]=f,e[5]=R):R=e[5];const P=R;let D;e[6]!==f?(D=f.filter(Tg),e[6]=f,e[7]=D):D=e[7];const F=D;let O,C;e[8]!==d||e[9]!==h?(O=()=>{d({directory:h})},C=[d,h],e[8]=d,e[9]=h,e[10]=O,e[11]=C):(O=e[10],C=e[11]),o.useEffect(O,C);let M;e[12]!==w||e[13]!==x||e[14]!==v||e[15]!==h?(M=()=>{if(x)return;A(!0);const Oe=new Promise(Eg);Promise.all([v({directory:h,silent:!0}),Oe]).then(()=>{const nt=w(h);nt&&$.error(nt)}).finally(()=>{A(!1)})},e[12]=w,e[13]=x,e[14]=v,e[15]=h,e[16]=M):M=e[16];const U=M;let L;e[17]!==f||e[18]!==a||e[19]!==l||e[20]!==i?(L=()=>{let Oe="new-mcp-server",nt=1;for(;f.some(we=>we.name===Oe);)Oe=`new-mcp-server-${nt}`,nt++;const lt={name:Oe,scope:"user",type:"local",command:[],url:"",environment:[],headers:[],...Zi,oauthAuthServerMetadataUrl:"",protocol:"legacy",timeoutStartup:"",timeoutCatalog:"",timeoutExecution:"",codemode:"default",disabled:!1};l(lt),i(Oe),a?.()},e[17]=f,e[18]=a,e[19]=l,e[20]=i,e[21]=L):L=e[21];const W=L;let X;e[22]!==c||e[23]!==b||e[24]!==h||e[25]!==n?(X=async()=>{if(!b)return;S(!0);const Oe=await c(b.name,h);Oe.ok?Oe.reloadFailed?$.warning(Oe.message||`MCP server "${b.name}" deleted, but OpenCode reload failed`,{description:Oe.warning||n("settings.mcp.sidebar.toast.refreshListIfStale")}):$.success(Oe.message||n("settings.mcp.sidebar.toast.serverDeleted",{name:b.name})):$.error(n("settings.mcp.sidebar.toast.deleteFailed")),k(null),S(!1)},e[22]=c,e[23]=b,e[24]=h,e[25]=n,e[26]=X):X=e[26];const J=X;let q;e[27]!==n?(q=(Oe,nt)=>s.jsxs(nt,{onClick:lt=>{lt.stopPropagation(),k(Oe)},className:"text-destructive focus:text-destructive",children:[s.jsx(_,{name:"delete-bin",className:"h-4 w-4 mr-px"}),n("settings.common.actions.delete")]}),e[27]=n,e[28]=q):q=e[28];const z=q;let H;e[29]===Symbol.for("react.memo_cache_sentinel")?(H=Pe("flex h-full flex-col","bg-background"),e[29]=H):H=e[29];let se;e[30]!==n?(se=n("settings.mcp.sidebar.title"),e[30]=n,e[31]=se):se=e[31];let B;e[32]!==se?(B=s.jsx("h2",{className:_n,children:se}),e[32]=se,e[33]=B):B=e[33];let ne;e[34]!==n?(ne=n("settings.mcp.sidebar.actions.refreshStatusAria"),e[34]=n,e[35]=ne):ne=e[35];let K;e[36]!==n?(K=n("settings.mcp.sidebar.actions.refreshStatusTitle"),e[36]=n,e[37]=K):K=e[37];const Z=x&&"animate-spin";let oe;e[38]!==Z?(oe=Pe("h-4 w-4",Z),e[38]=Z,e[39]=oe):oe=e[39];let ue;e[40]!==oe?(ue=s.jsx(_,{name:"refresh",className:oe}),e[40]=oe,e[41]=ue):ue=e[41];let de;e[42]!==U||e[43]!==x||e[44]!==ne||e[45]!==K||e[46]!==ue?(de=s.jsx("button",{type:"button",className:"inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",disabled:x,onClick:U,"aria-label":ne,title:K,children:ue}),e[42]=U,e[43]=x,e[44]=ne,e[45]=K,e[46]=ue,e[47]=de):de=e[47];let ce;e[48]!==B||e[49]!==de?(ce=s.jsxs("div",{className:"mb-3 flex items-center justify-between gap-3",children:[B,de]}),e[48]=B,e[49]=de,e[50]=ce):ce=e[50];let Se;e[51]===Symbol.for("react.memo_cache_sentinel")?(Se=s.jsx(xi,{className:"mb-3"}),e[51]=Se):Se=e[51];let re;e[52]!==f.length||e[53]!==n?(re=n("settings.mcp.sidebar.total",{count:f.length}),e[52]=f.length,e[53]=n,e[54]=re):re=e[54];let ve;e[55]!==re?(ve=s.jsx("span",{className:"typography-meta text-muted-foreground",children:re}),e[55]=re,e[56]=ve):ve=e[56];let ie;e[57]!==n?(ie=n("settings.mcp.sidebar.actions.addServerTitle"),e[57]=n,e[58]=ie):ie=e[58];let me;e[59]===Symbol.for("react.memo_cache_sentinel")?(me=s.jsx(_,{name:"add",className:"h-3.5 w-3.5"}),e[59]=me):me=e[59];let ke;e[60]!==W||e[61]!==ie?(ke=s.jsx(G,{size:"sm","data-settings-item":"mcp.create",variant:"ghost",className:"h-7 w-7 px-0 -my-1 text-muted-foreground",onClick:W,title:ie,children:me}),e[60]=W,e[61]=ie,e[62]=ke):ke=e[62];let Ae;e[63]!==ve||e[64]!==ke?(Ae=s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[ve,ke]}),e[63]=ve,e[64]=ke,e[65]=Ae):Ae=e[65];let pe;e[66]!==ce||e[67]!==Ae?(pe=s.jsxs("div",{className:"border-b px-3 pt-4 pb-3",children:[ce,Se,Ae]}),e[66]=ce,e[67]=Ae,e[68]=pe):pe=e[68];let Le;e[69]!==f.length||e[70]!==u||e[71]!==a||e[72]!==N||e[73]!==P||e[74]!==z||e[75]!==y||e[76]!==r||e[77]!==l||e[78]!==i||e[79]!==n||e[80]!==F?(Le=s.jsx(Ns,{outerClassName:"flex-1 min-h-0",className:"space-y-1 px-3 py-2 overflow-x-hidden",children:f.length===0?s.jsxs("div",{className:"py-12 px-4 text-center text-muted-foreground",children:[s.jsx(_,{name:"plug",className:"mx-auto mb-3 h-10 w-10 opacity-50"}),s.jsx("p",{className:"typography-ui-label font-medium",children:n("settings.mcp.sidebar.empty.title")}),s.jsx("p",{className:"typography-meta mt-1 opacity-75",children:n("settings.mcp.sidebar.empty.description")})]}):s.jsxs(s.Fragment,{children:[P.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"px-2 pb-1.5 pt-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:n("settings.mcp.sidebar.group.projectServers")}),P.map(Oe=>{const nt=u[Oe.name],lt=wl(nt?.status.status),we=r===Oe.name,Je=pi();return s.jsxs(ha,{open:y===Oe.name,onOpenChange:Ye=>T(Ye?Oe.name:null),children:[s.jsxs(ga,{render:s.jsx("div",{className:Pe("group relative flex items-center rounded-md px-1.5 py-1 transition-all duration-200 select-none",we?"bg-interactive-selection":"hover:bg-interactive-hover"),onContextMenu:Je?void 0:Ye=>{Ye.preventDefault(),T(Oe.name)}}),children:[s.jsxs("button",{onClick:()=>{i(Oe.name),l(null),a?.()},className:"flex min-w-0 flex-1 flex-col gap-0 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(kl,{tone:lt,enabled:Oe.disabled!==!0}),s.jsx("span",{className:"typography-ui-label font-normal truncate text-foreground",children:Oe.name}),s.jsx("span",{title:Oe.type==="local"?n("settings.mcp.sidebar.serverType.localTitle"):n("settings.mcp.sidebar.serverType.remoteTitle"),children:Oe.type==="local"?s.jsx(_,{name:"server",className:"h-3 w-3 text-muted-foreground/60 flex-shrink-0"}):s.jsx(_,{name:"global",className:"h-3 w-3 text-muted-foreground/60 flex-shrink-0"})})]}),s.jsx("div",{className:"typography-micro text-muted-foreground/60 truncate leading-tight pl-4",children:Oe.type==="local"?Oe.command?.join(" ")??"":Oe.url??""})]}),s.jsxs(Sn,{open:N===Oe.name,onOpenChange:Ye=>{Ye&&T(null),I(Ye?Oe.name:null)},children:[s.jsx(Nn,{asChild:!0,children:s.jsx(G,{size:"xs",variant:"ghost",className:"flex-shrink-0 -mr-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100",children:s.jsx(_,{name:"more-2",className:"h-3.5 w-3.5"})})}),s.jsx(kn,{align:"end",className:"w-fit min-w-20",children:z(Oe,an)})]})]}),s.jsx(ma,{className:"w-fit min-w-20",children:z(Oe,pa)})]},Oe.name)})]}),F.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"px-2 pb-1.5 pt-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:n("settings.mcp.sidebar.group.userServers")}),F.map(Oe=>{const nt=u[Oe.name],lt=wl(nt?.status.status),we=r===Oe.name,Je=pi();return s.jsxs(ha,{open:y===Oe.name,onOpenChange:Ye=>T(Ye?Oe.name:null),children:[s.jsxs(ga,{render:s.jsx("div",{className:Pe("group relative flex items-center rounded-md px-1.5 py-1 transition-all duration-200 select-none",we?"bg-interactive-selection":"hover:bg-interactive-hover"),onContextMenu:Je?void 0:Ye=>{Ye.preventDefault(),T(Oe.name)}}),children:[s.jsxs("button",{onClick:()=>{i(Oe.name),l(null),a?.()},className:"flex min-w-0 flex-1 flex-col gap-0 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(kl,{tone:lt,enabled:Oe.disabled!==!0}),s.jsx("span",{className:"typography-ui-label font-normal truncate text-foreground",children:Oe.name}),s.jsx("span",{title:Oe.type==="local"?n("settings.mcp.sidebar.serverType.localTitle"):n("settings.mcp.sidebar.serverType.remoteTitle"),children:Oe.type==="local"?s.jsx(_,{name:"server",className:"h-3 w-3 text-muted-foreground/60 flex-shrink-0"}):s.jsx(_,{name:"global",className:"h-3 w-3 text-muted-foreground/60 flex-shrink-0"})})]}),s.jsx("div",{className:"typography-micro text-muted-foreground/60 truncate leading-tight pl-4",children:Oe.type==="local"?Oe.command?.join(" ")??"":Oe.url??""})]}),s.jsxs(Sn,{open:N===Oe.name,onOpenChange:Ye=>{Ye&&T(null),I(Ye?Oe.name:null)},children:[s.jsx(Nn,{asChild:!0,children:s.jsx(G,{size:"xs",variant:"ghost",className:"flex-shrink-0 -mr-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100",children:s.jsx(_,{name:"more-2",className:"h-3.5 w-3.5"})})}),s.jsx(kn,{align:"end",className:"w-fit min-w-20",children:z(Oe,an)})]})]}),s.jsx(ma,{className:"w-fit min-w-20",children:z(Oe,pa)})]},Oe.name)})]})]})}),e[69]=f.length,e[70]=u,e[71]=a,e[72]=N,e[73]=P,e[74]=z,e[75]=y,e[76]=r,e[77]=l,e[78]=i,e[79]=n,e[80]=F,e[81]=Le):Le=e[81];const Ve=b!==null;let ye;e[82]!==p?(ye=Oe=>{!Oe&&!p&&k(null)},e[82]=p,e[83]=ye):ye=e[83];let Te;e[84]!==n?(Te=n("settings.mcp.sidebar.deleteDialog.title"),e[84]=n,e[85]=Te):Te=e[85];let ee;e[86]!==Te?(ee=s.jsx(Ht,{children:Te}),e[86]=Te,e[87]=ee):ee=e[87];const ae=b?.name||"";let fe;e[88]!==n||e[89]!==ae?(fe=n("settings.mcp.sidebar.deleteDialog.descriptionPrefix",{name:ae}),e[88]=n,e[89]=ae,e[90]=fe):fe=e[90];let je;e[91]===Symbol.for("react.memo_cache_sentinel")?(je=s.jsx("code",{className:"text-foreground",children:"opencode.json"}),e[91]=je):je=e[91];let Re;e[92]!==fe?(Re=s.jsxs(qt,{children:[fe," ",je,"."]}),e[92]=fe,e[93]=Re):Re=e[93];let Ce;e[94]!==ee||e[95]!==Re?(Ce=s.jsxs(Vt,{children:[ee,Re]}),e[94]=ee,e[95]=Re,e[96]=Ce):Ce=e[96];let _e;e[97]===Symbol.for("react.memo_cache_sentinel")?(_e=()=>k(null),e[97]=_e):_e=e[97];let Ke;e[98]!==n?(Ke=n("settings.common.actions.cancel"),e[98]=n,e[99]=Ke):Ke=e[99];let Fe;e[100]!==p||e[101]!==Ke?(Fe=s.jsx(G,{size:"sm",variant:"ghost",onClick:_e,disabled:p,children:Ke}),e[100]=p,e[101]=Ke,e[102]=Fe):Fe=e[102];let Me;e[103]!==p||e[104]!==n?(Me=n(p?"settings.mcp.sidebar.actions.deleting":"settings.common.actions.delete"),e[103]=p,e[104]=n,e[105]=Me):Me=e[105];let at;e[106]!==J||e[107]!==p||e[108]!==Me?(at=s.jsx(G,{size:"sm",onClick:J,disabled:p,children:Me}),e[106]=J,e[107]=p,e[108]=Me,e[109]=at):at=e[109];let pt;e[110]!==Fe||e[111]!==at?(pt=s.jsxs(as,{children:[Fe,at]}),e[110]=Fe,e[111]=at,e[112]=pt):pt=e[112];let ot;e[113]!==Ce||e[114]!==pt?(ot=s.jsxs(_t,{className:"max-w-md",children:[Ce,pt]}),e[113]=Ce,e[114]=pt,e[115]=ot):ot=e[115];let mt;e[116]!==Ve||e[117]!==ye||e[118]!==ot?(mt=s.jsx(Ut,{open:Ve,onOpenChange:ye,children:ot}),e[116]=Ve,e[117]=ye,e[118]=ot,e[119]=mt):mt=e[119];let ht;return e[120]!==pe||e[121]!==Le||e[122]!==mt?(ht=s.jsxs("div",{className:H,children:[pe,Le,mt]}),e[120]=pe,e[121]=Le,e[122]=mt,e[123]=ht):ht=e[123],ht};function Cg(t){return{selectedMcpName:t.selectedMcpName,setSelectedMcp:t.setSelectedMcp,setMcpDraft:t.setMcpDraft,loadMcpConfigs:t.loadMcpConfigs,deleteMcp:t.deleteMcp}}function Ig(t){return t.refresh}function Pg(t){return t.getErrorForDirectory}function Ag(t){return t.scope==="project"}function Tg(t){return t.scope!=="project"}function Eg(t){return setTimeout(t,500)}function Gs(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function ti(t){return Array.isArray(t)&&t.every(e=>typeof e=="string")}function yn(t,e){return e!==void 0?{ok:!1,error:t,parsed:e}:{ok:!1,error:t}}function Ri(t,e,a){const n=Mg(a),r=typeof a.url=="string"?a.url.trim():"",i=Nl(a,"env","environment"),l=Nl(a,"headers"),d=Gs(a.oauth)?a.oauth:null,c=si(d,"client_id","clientId"),h=si(d,"client_secret","clientSecret"),g=si(d,"scope"),f=si(d,"redirect_uri","redirectUri"),m=Dg(d,"callback_port","callbackPort"),u=si(d,"auth_server_metadata_url","authServerMetadataUrl"),v=a.oauth===!1||a.oauth===null||a.oauth===void 0?!1:!!d&&!!(c||h||g||f||m||u),w=Rg(a);return{ok:!0,name:t,type:e,command:n,url:r,environment:i,headers:l,oauthEnabled:v,oauthClientId:c,oauthClientSecret:h,oauthScope:g,oauthRedirectUri:f,oauthCallbackPort:m,oauthAuthServerMetadataUrl:u,timeoutStartup:w.startup,timeoutCatalog:w.catalog,timeoutExecution:w.execution,codemode:a.codemode===!0?"on":a.codemode===!1?"off":"default",disabled:Fg(a),protocol:eo.find(b=>b===a.protocol)??"legacy"}}function si(t,...e){if(!t)return"";for(const a of e){const n=t[a];if(typeof n=="string"&&n.trim())return n.trim()}return""}function Dg(t,...e){if(!t)return"";for(const a of e){const n=li(t[a]);if(n)return n}return""}function li(t){if(typeof t=="number"&&Number.isFinite(t)&&t>0)return String(Math.floor(t));if(typeof t=="string"&&t.trim()){const e=Number(t);if(Number.isFinite(e)&&e>0)return String(Math.floor(e))}return""}function Mg(t){const e=t.command,a=t.args;if(ti(e)&&ti(a))return[...e,...a];if(ti(e))return e;if(typeof e=="string"&&e.trim()){const n=e.trim().split(/\s+/);return ti(a)?[...n,...a]:n}return ti(a)?a:[]}function Nl(t,...e){for(const a of e){const n=t[a];if(!Gs(n))continue;const r=Object.entries(n).filter(([i,l])=>i&&typeof l=="string");if(r.length>0)return r.map(([i,l])=>({key:i,value:String(l)}))}return[]}function Rg(t){return Gs(t.timeout)?{startup:li(t.timeout.startup),catalog:li(t.timeout.catalog),execution:li(t.timeout.execution)}:{startup:"",catalog:"",execution:li(t.timeout)}}function Fg(t){return t.disabled===!0?!0:t.disabled===!1?!1:"enabled"in t?!t.enabled:!1}function Og(t){const e=t.mcpServers;if(Gs(e)){const n=Object.keys(e);if(n.length===1){const r=n[0],i=e[r];if(Gs(i))return{name:r,entry:i}}if(n.length>1)return null}const a=Object.keys(t).filter(n=>{const r=t[n];return n!=="mcpServers"&&Gs(r)});if(a.length===1){const n=a[0],r=t[n];if(Xc(r))return{name:n,entry:r}}return null}function Xc(t){return t.type==="local"||t.type==="remote"||Array.isArray(t.command)||typeof t.url=="string"||Array.isArray(t.args)}function Lg(t,e){let a;try{const c=t.trim();if(!c)return yn("No JSON content provided");a=JSON.parse(c)}catch(c){return yn(c instanceof Error?`Invalid JSON: ${c.message}`:"Invalid JSON")}if(!Gs(a))return yn("Expected a JSON object, not an array or primitive");const n=a,r=n.mcpServers;if(Gs(r)){const c=Object.keys(r);if(c.length===0)return yn("mcpServers object is empty",a);if(c.length>1)return yn("Paste one server at a time. Found "+c.length+" servers in mcpServers",a);const h=c[0],g=r[h];return Gs(g)?Ri(h,Fi(g),g):yn("Server entry is not a valid object",a)}const i=n.mcp,l=Gs(i)&&Gs(i.servers)?i.servers:i;if(Gs(l)){const c=Object.keys(l);if(c.length===0)return yn("mcp object is empty",a);if(c.length>1)return yn("Paste one server at a time. Found "+c.length+" servers in mcp",a);const h=c[0],g=l[h];return Gs(g)?Ri(h,Fi(g),g):yn("Server entry in mcp is not a valid object",a)}const d=Og(n);if(d)return Ri(d.name,Fi(d.entry),d.entry);if(Xc(n)){const c=Fi(n),h=typeof n.name=="string"&&n.name.trim()?n.name.trim():e?.fallbackName;return Ri(h,c,n)}return yn("No recognizable MCP server configuration found in JSON",a)}function Fi(t){return t.type==="remote"?"remote":t.type==="local"?"local":typeof t.url=="string"&&t.url.trim()?"remote":(Array.isArray(t.command)||typeof t.command=="string"||Array.isArray(t.args),"local")}function Kg(t,e,a){const n=a?.isNewServer??!1,r=t.name,i=n&&r?r:e.name??"";return{...e,name:i,type:t.type,command:t.type==="local"?t.command:[],url:t.type==="remote"?t.url:"",environment:t.environment,headers:t.type==="remote"?t.headers:[],oauthEnabled:t.type==="remote"?t.oauthEnabled:!1,oauthClientId:t.type==="remote"?t.oauthClientId:"",oauthClientSecret:t.type==="remote"?t.oauthClientSecret:"",oauthScope:t.type==="remote"?t.oauthScope:"",oauthRedirectUri:t.type==="remote"?t.oauthRedirectUri:"",oauthCallbackPort:t.type==="remote"?t.oauthCallbackPort:"",oauthAuthServerMetadataUrl:t.type==="remote"?t.oauthAuthServerMetadataUrl:"",timeoutStartup:t.type==="local"?t.timeoutStartup:"",timeoutCatalog:t.timeoutCatalog,timeoutExecution:t.timeoutExecution,codemode:t.codemode,disabled:t.disabled,protocol:t.protocol}}const zg=(t,e)=>!!e&&t!=="claude-code",Ug=/[A-Z0-9]{4}-[A-Z0-9]{4,5}/,_g=t=>Ug.exec(t)?.[0]??void 0,bi=t=>t.type!=="external",Oi=t=>t.title??t.key,$g=(t,e)=>{if(e===void 0)return!1;const a=String(e),n=String(t.value);return t.op==="eq"?a===n:a!==n},Bg=(t,e)=>bi(t)?(t.when??[]).every(a=>$g(a,e[a.key])):!0,Eo=(t,e)=>{const a={},n=[];for(const r of t){if(!Bg(r,a))continue;n.push(r);const i=e[r.key];bi(r)&&i!==void 0&&(a[r.key]=i)}return n},Vg=t=>{const e={};for(const a of t)switch(a.type){case"external":break;case"boolean":e[a.key]=a.default??!1;break;case"number":case"integer":typeof a.default=="number"&&(e[a.key]=a.default);break;case"multiselect":e[a.key]=a.default??[];break;case"string":e[a.key]=a.default??a.options?.[0]?.value??"";break}return e},ed=t=>t===void 0?!0:typeof t=="string"?t.trim().length===0:Array.isArray(t)?t.length===0:!1,Hg=(t,e)=>Eo(t,e).find(a=>bi(a)&&a.required===!0&&ed(e[a.key]))??null,qg=(t,e)=>{const a={};for(const n of Eo(t,e)){if(!bi(n))continue;const r=e[n.key];ed(r)||r===void 0||(a[n.key]=typeof r=="string"?r.trim():r)}return a},Sl=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),Cl=t=>typeof t=="string"&&t.length>0?t:void 0,Gg=(t,e,a)=>{const n=Sl(t)?t:{},r=Sl(n.data)?n.data:{};switch(n.name){case"IntegrationOauthAttemptMissing":return e("settings.providers.page.auth.oauth.error.sessionExpired");case"IntegrationOauthCodeMissing":return e("settings.providers.page.auth.oauth.error.codeRequired");case"IntegrationOauthFailed":return e("settings.providers.page.auth.oauth.error.declined");case"IntegrationValidationFailed":return Cl(r.message)??e("settings.providers.page.auth.oauth.error.invalidInput");default:return Cl(n.message)??e(a)}},Or={phase:"idle"},Wg=1500,oo=({integrationId:t,methods:e,onConnected:a,directory:n,className:r})=>{const{t:i}=Qe(),l=o.useCallback(()=>n?Ms.getScopedSdkClient(n):Ms.getSdkClient(),[n]),[d,c]=o.useState(Or),[h,g]=o.useState({}),[f,m]=o.useState(""),u=o.useRef(null),v=o.useCallback(D=>{u.current=null,l().integration.oauth.cancel({integrationID:t,attemptID:D}).catch(()=>{})},[t,l]);o.useEffect(()=>()=>{const D=u.current;D&&v(D)},[v]);const w=d.phase==="idle"?null:d.methodID,b=d.phase==="connecting"||d.phase==="waiting"||d.phase==="awaitingCode"&&d.submitting,k=async(D,F,O)=>{const C=await _a(D);if(C.ok){$.success(i(F));return}console.error("Failed to copy OAuth value:",C.error),$.error(i(O))},p=async()=>{u.current=null,c(Or),$.success(i("settings.providers.page.toast.oauthCompleted")),await a()},S=(D,F,O)=>{u.current=null,console.error("OAuth flow failed:",F),c({phase:"failed",methodID:D,message:Gg(F,i,O)})},N=async(D,F)=>{const O=l();for(;u.current===F;){if(await new Promise(C=>setTimeout(C,Wg)),u.current!==F)return;try{const{data:C}=await O.integration.oauth.status({integrationID:t,attemptID:F});if(u.current!==F)return;if(C.status==="complete"){await p();return}if(C.status==="failed"){c({phase:"failed",methodID:D,message:C.message}),u.current=null;return}}catch(C){if(u.current!==F)return;S(D,C,"settings.providers.page.toast.oauthCompleteFailed");return}}},I=async(D,F)=>{c({phase:"connecting",methodID:D.id});let O;try{const{data:C}=await l().integration.oauth.connect({integrationID:t,methodID:D.id,...Object.keys(F).length>0?{answer:F}:{}});O={attemptID:C.attemptID,mode:C.mode,url:C.url,instructions:C.instructions}}catch(C){S(D.id,C,"settings.providers.page.toast.oauthStartFailed");return}if(u.current=O.attemptID,zg(t,O.url)&&jn(O.url),O.mode==="code"){m(""),c({phase:"awaitingCode",methodID:D.id,attempt:O,submitting:!1});return}c({phase:"waiting",methodID:D.id,attempt:O}),await N(D.id,O.attemptID)},y=D=>{const F=(D.form??[]).filter(bi);if(F.length===0){I(D,{});return}g(Vg(F)),c({phase:"prompting",methodID:D.id,fields:F,error:null})},T=D=>{if(d.phase!=="prompting")return;const F=Hg(d.fields,h);if(F){c({...d,error:i("settings.providers.page.auth.oauth.promptRequired",{field:Oi(F)})});return}I(D,qg(d.fields,h))},x=async()=>{if(d.phase!=="awaitingCode")return;const D=f.trim();if(!D)return;const{methodID:F,attempt:O}=d;c({...d,submitting:!0});try{await l().integration.oauth.complete({integrationID:t,attemptID:O.attemptID,code:D}),await p()}catch(C){S(F,C,"settings.providers.page.toast.oauthCompleteFailed")}},A=()=>{(d.phase==="waiting"||d.phase==="awaitingCode")&&v(d.attempt.attemptID),c(Or)},R=D=>{if(D.type==="external")return s.jsxs("div",{className:"space-y-1.5",children:[s.jsx("label",{className:"typography-ui-label text-foreground",children:Oi(D)}),s.jsx(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:()=>{jn(D.url)},children:i("settings.providers.page.actions.open")})]},D.key);const F=h[D.key],O=typeof F=="string"?F:"",C=U=>g(L=>({...L,[D.key]:U})),M=D.type==="string"||D.type==="multiselect"?D.options??[]:[];return s.jsxs("div",{className:"space-y-1.5",children:[s.jsx("label",{className:"typography-ui-label text-foreground",children:Oi(D)}),D.description&&s.jsx("p",{className:"typography-meta text-muted-foreground",children:D.description}),M.length>0?s.jsxs(Et,{value:O,onValueChange:C,children:[s.jsx(At,{size:Bt,className:nn,children:s.jsx($t,{children:U=>M.find(L=>L.value===U)?.label??null})}),s.jsx(Tt,{children:M.map(U=>s.jsx(ut,{value:U.value,children:U.description?`${U.label} · ${U.description}`:U.label},U.value))})]}):D.type==="boolean"?s.jsx("input",{type:"checkbox",checked:F===!0,onChange:U=>C(U.target.checked),"aria-label":Oi(D)}):s.jsx(He,{value:O,onChange:U=>C(U.target.value),placeholder:D.type==="string"?D.placeholder:void 0,className:"max-w-[24rem] text-xs"})]},D.key)},P=D=>{const F=_g(D.instructions);return s.jsxs(s.Fragment,{children:[D.instructions&&s.jsx("p",{className:"typography-meta text-[var(--status-info-text)] bg-[var(--status-info-background)] px-2 py-1.5 rounded",children:D.instructions}),F&&s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(He,{value:F,readOnly:!0,"aria-label":i("settings.providers.page.auth.oauth.deviceCodeLabel"),className:"font-mono text-center tracking-widest"}),s.jsx(G,{variant:"outline",size:"xs",className:"!font-normal shrink-0",onClick:()=>{k(F,"settings.providers.page.toast.deviceCodeCopied","settings.providers.page.toast.deviceCodeCopyFailed")},children:i("settings.providers.page.actions.copyCode")})]}),D.url&&s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(He,{value:D.url,readOnly:!0,"aria-label":i("settings.providers.page.auth.oauth.linkLabel"),className:"text-xs text-muted-foreground"}),s.jsxs("div",{className:"flex gap-1 shrink-0",children:[s.jsx(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:()=>{jn(D.url)},children:i("settings.providers.page.actions.open")}),s.jsx(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:()=>{k(D.url,"settings.providers.page.toast.oauthLinkCopied","settings.providers.page.toast.oauthLinkCopyFailed")},children:i("settings.providers.page.actions.copy")})]})]})]})};return s.jsx("div",{className:Pe("space-y-4",r),children:e.map(D=>{const F=w===D.id;return s.jsxs("div",{className:"space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("div",{className:"typography-ui-label text-foreground",children:D.label}),s.jsx(G,{variant:"outline",size:"xs",className:"!font-normal shrink-0",onClick:()=>y(D),disabled:b,children:i("settings.providers.page.actions.connect")})]}),F&&d.phase==="prompting"&&s.jsxs("div",{className:"space-y-3",children:[Eo(d.fields,h).map(R),d.error&&s.jsx("p",{className:"typography-meta text-[var(--status-error)]",children:d.error}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(G,{size:"xs",className:"!font-normal",onClick:()=>T(D),children:i("settings.providers.page.actions.continue")}),s.jsx(G,{variant:"ghost",size:"xs",className:"!font-normal",onClick:A,children:i("settings.providers.page.actions.cancel")})]})]}),F&&d.phase==="connecting"&&s.jsxs("p",{className:"typography-meta text-muted-foreground flex items-center gap-2",children:[s.jsx(_,{name:"loader",className:"h-3.5 w-3.5 animate-spin"}),i("settings.providers.page.auth.oauth.starting")]}),F&&d.phase==="waiting"&&s.jsxs("div",{className:"space-y-3",children:[P(d.attempt),s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("p",{className:"typography-meta text-muted-foreground flex items-center gap-2",children:[s.jsx(_,{name:"loader",className:"h-3.5 w-3.5 animate-spin"}),i("settings.providers.page.auth.oauth.waiting")]}),s.jsx(G,{variant:"ghost",size:"xs",className:"!font-normal shrink-0",onClick:A,children:i("settings.providers.page.actions.cancel")})]}),s.jsx("p",{className:"typography-meta text-muted-foreground",children:i("settings.providers.page.auth.oauth.waitingHint")})]}),F&&d.phase==="awaitingCode"&&s.jsxs("div",{className:"space-y-3",children:[P(d.attempt),s.jsx("p",{className:"typography-meta text-muted-foreground",children:i("settings.providers.page.auth.oauth.codeHint")}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(He,{value:f,onChange:O=>m(O.target.value),placeholder:i("settings.providers.page.auth.pasteAuthorizationCodePlaceholder"),className:"font-mono text-xs",disabled:d.submitting}),s.jsx(G,{size:"xs",className:"!font-normal shrink-0",onClick:()=>{x()},disabled:d.submitting||f.trim().length===0,children:d.submitting?i("settings.providers.page.actions.saving"):i("settings.providers.page.actions.complete")}),s.jsx(G,{variant:"ghost",size:"xs",className:"!font-normal shrink-0",onClick:A,disabled:d.submitting,children:i("settings.providers.page.actions.cancel")})]})]}),F&&d.phase==="failed"&&s.jsxs("div",{className:"space-y-2",children:[s.jsx("p",{className:"typography-meta text-[var(--status-error)]",children:d.message}),s.jsx(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:()=>y(D),children:i("settings.providers.page.actions.tryAgain")})]})]},D.id)})})},Jg=(t,e)=>t.find(a=>a.id.startsWith("mcp_")&&a.metadata?.source==="mcp"&&a.name===e),Qg=t=>(t?.methods??[]).filter(e=>e.type==="oauth"),Yg=({serverName:t,directory:e,onConnected:a})=>{const[n,r]=o.useState(null);o.useEffect(()=>{let l=!1;r(null);const d=e?Ms.getScopedSdkClient(e):Ms.getSdkClient();return(async()=>{try{const{data:h}=await d.integration.list();l||r(Jg(h,t)??null)}catch(h){console.error("Failed to load MCP integrations:",h)}})(),()=>{l=!0}},[e,t]);const i=Qg(n??void 0);return!n||i.length===0?null:s.jsx(oo,{integrationId:n.id,methods:i,directory:e,onConnected:a},n.id)},Lr=t=>t===void 0?"":String(t),Kr=t=>{const e=t.trim();if(!e)return null;const a=Number(e);return!Number.isFinite(a)||a<=0?null:a%1e3===0?`${a/1e3}s`:`${a}ms`},zr={legacy:"settings.mcp.page.advanced.protocolOption.legacy",auto:"settings.mcp.page.advanced.protocolOption.auto","2026-07-28":"settings.mcp.page.advanced.protocolOption.revision20260728"},Il={default:"settings.mcp.page.advanced.codemodeOption.default",on:"settings.mcp.page.advanced.codemodeOption.on",off:"settings.mcp.page.advanced.codemodeOption.off"},Zg=t=>{try{const e=new URL(t);return e.protocol==="http:"||e.protocol==="https:"}catch{return!1}},ni=t=>t?.status.status,Ur=t=>t?.status.status==="failed"||t?.status.status==="needs_auth"?t.status.error:void 0;function td(t){const e=[];let a="",n=!1,r=!1;for(let i=0;i<t.length;i++){const l=t[i];if(l==="'"&&!r){n=!n;continue}if(l==='"'&&!n){r=!r;continue}if((l===" "||l===" ")&&!n&&!r){a&&(e.push(a),a="");continue}a+=l}return a&&e.push(a),e}const Xg=t=>{const e=tt.c(27),{value:a,onChange:n,preview:r,onDetectUrl:i}=t;let l;e[0]!==a?(l=()=>a.join(`
5
5
  `),e[0]=a,e[1]=l):l=e[1];const[d,c]=o.useState(l),h=o.useRef(a);let g,f;e[2]!==a?(g=()=>{JSON.stringify(h.current)!==JSON.stringify(a)&&(h.current=a,c(a.join(`
@@ -1 +1 @@
1
- import{f as y,R as b,j as o}from"./vendor-react-BUCujlKS.js";import{f as j,h as u}from"./useAppFontEffects-DDjuwVqi.js";import{S as w}from"./SettingsView-BAiJU5hJ.js";import{m as k,l as v,n as D,j as S,D as R}from"./vendor-base-ui-CsXYnR5c.js";import"./vendor-scheduler-7OC5HNn7.js";import"./index-Di6zUe5h.js";import"./vendor-zod-BSoePkpP.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-opencode-client-DSZl7jSi.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-dnd-kit-core-BZknOX2w.js";import"./vendor-dnd-kit-utilities-B_MdXhJC.js";import"./vendor-dnd-kit-accessibility-BHxJPORy.js";import"./vendor-dnd-kit-sortable-CsEagZ81.js";import"./vendor-tanstack-react-virtual-ClYN8CzB.js";import"./vendor-tanstack-virtual-core-BewVQryB.js";import"./vendor-framer-motion-Bq3iTZ6r.js";import"./vendor-motion-dom-DcCgeG69.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./contextPanelEmbeddedChat-CirXEPJq.js";import"./vendor-sonner-DFyL3AvE.js";import"./vendor-cmdk-DgLInKvT.js";import"./vendor-radix-ui-react-dialog-B94Bt2qq.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-DcAh5WdT.js";import"./vendor-radix-ui-react-context-Czxm7Z62.js";import"./vendor-radix-ui-react-id-f5BLKEVw.js";import"./vendor-radix-ui-react-use-layout-effect-D_3IhJdJ.js";import"./vendor-radix-ui-react-use-controllable-state-BFT5YmkA.js";import"./vendor-radix-ui-react-dismissable-layer-D7kXcwgJ.js";import"./vendor-radix-ui-react-primitive-DhVoX9SD.js";import"./vendor-radix-ui-react-slot-BQgQOasS.js";import"./vendor-radix-ui-react-use-callback-ref-BZPnuXAC.js";import"./vendor-radix-ui-react-use-escape-keydown-oph88g-F.js";import"./vendor-radix-ui-react-focus-scope-CiaxW4dD.js";import"./vendor-radix-ui-react-portal-BMJYHWck.js";import"./vendor-radix-ui-react-presence-CNxf-uq4.js";import"./vendor-radix-ui-react-focus-guards-B6qJXYua.js";import"./vendor-react-remove-scroll-DO7dCTnK.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-BcFYyj3E.js";import"./vendor-react-style-singleton-q6EMHnwf.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-zDC0RhA3.js";import"./vendor-use-callback-ref-D3RC8gqK.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-BgPj_McA.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-C9awkmn-.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-CiLROUVV.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-Cc2ZYbgX.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-DzPz9Wgq.js";import"./vendor-codemirror-lang-json-CMBS2tG9.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-O0cZX78y.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-CfgK872x.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-BPGOH9ye.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-oKF0MAwd.js";import"./vendor-codemirror-lang-python-HahnQaAS.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-B7H_j0iU.js";import"./vendor-legendapp-list-BuBPBC3R.js";import"./vendor-use-sync-external-store-D6wYuSt-.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./runtimeEndpointReset-D0PcCb3K.js";import"./GuestAttachDialog-D7TJG1rt.js";import"./PluginPane-DQ0k41Q-.js";import"./vendor-floating-ui-utils-D6FqdtJt.js";import"./vendor-floating-ui-react-dom-DxYCWdHj.js";import"./vendor-floating-ui-dom-BTvzWks8.js";import"./vendor-floating-ui-core-PuGzNPnN.js";import"./vendor-yaml-3778uTud.js";import"./shikiHighlight-l-MbaNS4.js";import"./vendor-codemirror-search-BmS-GmcX.js";import"./vendor-replit-codemirror-vim-B2DJlAhT.js";import"./vendor-replit-codemirror-vim-core-FHzKdNUS.js";import"./appThemeRegistry-CiuyzfSW.js";import"./textMateThemeFromAppTheme-C-kGcOpD.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-qrcode-DTJ12-WC.js";import"./vendor-dijkstrajs-COg3n3zL.js";import"./vendor-strip-json-comments-5dJlOkP1.js";const zo=h=>{const t=y.c(19),{open:c,onOpenChange:i}=h,{t:f}=j(),r=b.useId(),x=_;let p;t[0]!==i?(p=g=>{!g&&x()||i(g)},t[0]=i,t[1]=p):p=t[1];let a;t[2]===Symbol.for("react.memo_cache_sentinel")?(a=o.jsx(k,{className:u("oc-glass-backdrop fixed inset-0 z-50 bg-black/25 dark:bg-black/40","transition-opacity duration-150 ease-out","data-[starting-style]:opacity-0 data-[ending-style]:opacity-0")}),t[2]=a):a=t[2];let l;t[3]===Symbol.for("react.memo_cache_sentinel")?(l=u("relative pointer-events-auto","w-[90vw] max-w-[1200px] h-[85vh] max-h-[900px]","rounded-xl border shadow-none overflow-hidden origin-center","bg-background","transition-all duration-150 ease-out","data-[starting-style]:opacity-0 data-[starting-style]:scale-[0.98]","data-[ending-style]:opacity-0 data-[ending-style]:scale-[0.98]","data-[nested-dialog-open]:brightness-[0.55] dark:data-[nested-dialog-open]:brightness-[0.4]"),t[3]=l):l=t[3];let e;t[4]!==f?(e=f("settings.window.description"),t[4]=f,t[5]=e):e=t[5];let m;t[6]!==r||t[7]!==e?(m=o.jsx(v,{id:r,className:"sr-only",children:e}),t[6]=r,t[7]=e,t[8]=m):m=t[8];let n;t[9]!==i?(n=o.jsx(w,{onClose:()=>i(!1),isWindowed:!0}),t[9]=i,t[10]=n):n=t[10];let s;t[11]!==r||t[12]!==m||t[13]!==n?(s=o.jsxs(D,{children:[a,o.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center pointer-events-none",children:o.jsxs(S,{"aria-describedby":r,className:l,children:[m,n]})})]}),t[11]=r,t[12]=m,t[13]=n,t[14]=s):s=t[14];let d;return t[15]!==c||t[16]!==p||t[17]!==s?(d=o.jsx(R,{open:c,onOpenChange:p,children:s}),t[15]=c,t[16]=p,t[17]=s,t[18]=d):d=t[18],d};function _(){return typeof document>"u"?!1:!!document.querySelector('[data-slot="dropdown-menu-content"][data-open], [data-slot="select-content"][data-open]')}export{zo as SettingsWindow};
1
+ import{f as y,R as b,j as o}from"./vendor-react-BUCujlKS.js";import{f as j,h as u}from"./useAppFontEffects-Cfuya0Zd.js";import{S as w}from"./SettingsView-DkZCkUK1.js";import{m as k,l as v,n as D,j as S,D as R}from"./vendor-base-ui-CsXYnR5c.js";import"./vendor-scheduler-7OC5HNn7.js";import"./index-Di6zUe5h.js";import"./vendor-zod-BSoePkpP.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-opencode-client-DSZl7jSi.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-dnd-kit-core-BZknOX2w.js";import"./vendor-dnd-kit-utilities-B_MdXhJC.js";import"./vendor-dnd-kit-accessibility-BHxJPORy.js";import"./vendor-dnd-kit-sortable-CsEagZ81.js";import"./vendor-tanstack-react-virtual-ClYN8CzB.js";import"./vendor-tanstack-virtual-core-BewVQryB.js";import"./vendor-framer-motion-Bq3iTZ6r.js";import"./vendor-motion-dom-DcCgeG69.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./contextPanelEmbeddedChat-CirXEPJq.js";import"./vendor-sonner-DFyL3AvE.js";import"./vendor-cmdk-DgLInKvT.js";import"./vendor-radix-ui-react-dialog-B94Bt2qq.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-DcAh5WdT.js";import"./vendor-radix-ui-react-context-Czxm7Z62.js";import"./vendor-radix-ui-react-id-f5BLKEVw.js";import"./vendor-radix-ui-react-use-layout-effect-D_3IhJdJ.js";import"./vendor-radix-ui-react-use-controllable-state-BFT5YmkA.js";import"./vendor-radix-ui-react-dismissable-layer-D7kXcwgJ.js";import"./vendor-radix-ui-react-primitive-DhVoX9SD.js";import"./vendor-radix-ui-react-slot-BQgQOasS.js";import"./vendor-radix-ui-react-use-callback-ref-BZPnuXAC.js";import"./vendor-radix-ui-react-use-escape-keydown-oph88g-F.js";import"./vendor-radix-ui-react-focus-scope-CiaxW4dD.js";import"./vendor-radix-ui-react-portal-BMJYHWck.js";import"./vendor-radix-ui-react-presence-CNxf-uq4.js";import"./vendor-radix-ui-react-focus-guards-B6qJXYua.js";import"./vendor-react-remove-scroll-DO7dCTnK.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-BcFYyj3E.js";import"./vendor-react-style-singleton-q6EMHnwf.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-zDC0RhA3.js";import"./vendor-use-callback-ref-D3RC8gqK.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-BgPj_McA.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-C9awkmn-.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-CiLROUVV.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-Cc2ZYbgX.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-DzPz9Wgq.js";import"./vendor-codemirror-lang-json-CMBS2tG9.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-O0cZX78y.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-CfgK872x.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-BPGOH9ye.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-CcqLCIWH.js";import"./vendor-codemirror-lang-python-HahnQaAS.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-B7H_j0iU.js";import"./vendor-legendapp-list-BuBPBC3R.js";import"./vendor-use-sync-external-store-D6wYuSt-.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./runtimeEndpointReset-BsoTecOZ.js";import"./GuestAttachDialog-CdC8RfDh.js";import"./PluginPane-DJgKVT9D.js";import"./vendor-floating-ui-utils-D6FqdtJt.js";import"./vendor-floating-ui-react-dom-DxYCWdHj.js";import"./vendor-floating-ui-dom-BTvzWks8.js";import"./vendor-floating-ui-core-PuGzNPnN.js";import"./vendor-yaml-3778uTud.js";import"./shikiHighlight-U-ER5VqY.js";import"./vendor-codemirror-search-BmS-GmcX.js";import"./vendor-replit-codemirror-vim-B2DJlAhT.js";import"./vendor-replit-codemirror-vim-core-FHzKdNUS.js";import"./appThemeRegistry-CF0I57r1.js";import"./textMateThemeFromAppTheme-CFZUMoyT.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-qrcode-DTJ12-WC.js";import"./vendor-dijkstrajs-COg3n3zL.js";import"./vendor-strip-json-comments-5dJlOkP1.js";const zo=h=>{const t=y.c(19),{open:c,onOpenChange:i}=h,{t:f}=j(),r=b.useId(),x=_;let p;t[0]!==i?(p=g=>{!g&&x()||i(g)},t[0]=i,t[1]=p):p=t[1];let a;t[2]===Symbol.for("react.memo_cache_sentinel")?(a=o.jsx(k,{className:u("oc-glass-backdrop fixed inset-0 z-50 bg-black/25 dark:bg-black/40","transition-opacity duration-150 ease-out","data-[starting-style]:opacity-0 data-[ending-style]:opacity-0")}),t[2]=a):a=t[2];let l;t[3]===Symbol.for("react.memo_cache_sentinel")?(l=u("relative pointer-events-auto","w-[90vw] max-w-[1200px] h-[85vh] max-h-[900px]","rounded-xl border shadow-none overflow-hidden origin-center","bg-background","transition-all duration-150 ease-out","data-[starting-style]:opacity-0 data-[starting-style]:scale-[0.98]","data-[ending-style]:opacity-0 data-[ending-style]:scale-[0.98]","data-[nested-dialog-open]:brightness-[0.55] dark:data-[nested-dialog-open]:brightness-[0.4]"),t[3]=l):l=t[3];let e;t[4]!==f?(e=f("settings.window.description"),t[4]=f,t[5]=e):e=t[5];let m;t[6]!==r||t[7]!==e?(m=o.jsx(v,{id:r,className:"sr-only",children:e}),t[6]=r,t[7]=e,t[8]=m):m=t[8];let n;t[9]!==i?(n=o.jsx(w,{onClose:()=>i(!1),isWindowed:!0}),t[9]=i,t[10]=n):n=t[10];let s;t[11]!==r||t[12]!==m||t[13]!==n?(s=o.jsxs(D,{children:[a,o.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center pointer-events-none",children:o.jsxs(S,{"aria-describedby":r,className:l,children:[m,n]})})]}),t[11]=r,t[12]=m,t[13]=n,t[14]=s):s=t[14];let d;return t[15]!==c||t[16]!==p||t[17]!==s?(d=o.jsx(R,{open:c,onOpenChange:p,children:s}),t[15]=c,t[16]=p,t[17]=s,t[18]=d):d=t[18],d};function _(){return typeof document>"u"?!1:!!document.querySelector('[data-slot="dropdown-menu-content"][data-open], [data-slot="select-content"][data-open]')}export{zo as SettingsWindow};