@vantran-se/openchamber-web 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/assets/{CodeMirrorCommentWidgets-ntXIbhV2.js → CodeMirrorCommentWidgets-CWhdh0wf.js} +1 -1
  2. package/dist/assets/{DiffView-CjxUovbM.js → DiffView-CX3wAX2S.js} +1 -1
  3. package/dist/assets/{FilesView-DFWD0RQR.js → FilesView-OL3CON3r.js} +1 -1
  4. package/dist/assets/{GitView-BWa7e5vw.js → GitView-DKIjpnu4.js} +1 -1
  5. package/dist/assets/{GuestAttachDialog-DdOuyZzp.js → GuestAttachDialog-BIa9jCfL.js} +1 -1
  6. package/dist/assets/{GuestSurfacePane-DDfzid3U.js → GuestSurfacePane-B_cqX5I5.js} +1 -1
  7. package/dist/assets/{JsonTreeView-3sGwqexh.js → JsonTreeView-CtI1Mqwo.js} +1 -1
  8. package/dist/assets/{LinearIssuesView-C6dpIdjw.js → LinearIssuesView-BD2zLu-r.js} +1 -1
  9. package/dist/assets/{MarkdownImageGallery-Q7YR_tl4.js → MarkdownImageGallery-DFiTFZgj.js} +1 -1
  10. package/dist/assets/{MarkdownRendererImpl-DxDV56bL.js → MarkdownRendererImpl-DZm5sf1W.js} +1 -1
  11. package/dist/assets/{OnboardingScreen-rK4Stg__.js → OnboardingScreen-B8TxloXZ.js} +1 -1
  12. package/dist/assets/{PatchDiff-DS-IMU1j.js → PatchDiff--Civs1xY.js} +1 -1
  13. package/dist/assets/{PierreDiffViewer-DW23KWKZ.js → PierreDiffViewer-BlDmw3-A.js} +1 -1
  14. package/dist/assets/{PlanView-BCk_VobP.js → PlanView-DyH2SyCP.js} +1 -1
  15. package/dist/assets/{PluginPane-BPP1dbck.js → PluginPane-BibJit86.js} +1 -1
  16. package/dist/assets/{SettingsView-kMmrpn43.js → SettingsView-h-VpVO47.js} +1 -1
  17. package/dist/assets/{SettingsWindow-BpvD6IYQ.js → SettingsWindow-y9WpZqK6.js} +1 -1
  18. package/dist/assets/{SubmoduleDiffSummary-BLttSS1X.js → SubmoduleDiffSummary-DeFmhPFZ.js} +1 -1
  19. package/dist/assets/{ToolOutputDialog-CtqDqbyr.js → ToolOutputDialog-8DmF7_PZ.js} +1 -1
  20. package/dist/assets/{ToolPartDiffPreview-5FcKdyRy.js → ToolPartDiffPreview-Ca15DKE1.js} +1 -1
  21. package/dist/assets/{VirtualizedFileDiff-C763hNCR.js → VirtualizedFileDiff-BfEBad09.js} +1 -1
  22. package/dist/assets/{WalkthroughView-lap5btCF.js → WalkthroughView-Cj3K8Xz6.js} +1 -1
  23. package/dist/assets/{appThemeRegistry-u4zw1l0B.js → appThemeRegistry-DAdawJZn.js} +1 -1
  24. package/dist/assets/{commitAndPush-CwGJfJG-.js → commitAndPush-BIPfOMXY.js} +1 -1
  25. package/dist/assets/{computeVirtualFileMetrics-DW5jjX4n.js → computeVirtualFileMetrics-RF-KjfUH.js} +1 -1
  26. package/dist/assets/{de-CndEg67T.js → de-BqCNGROu.js} +1 -1
  27. package/dist/assets/{es-DglvPlaC.js → es-BTPpTRgN.js} +1 -1
  28. package/dist/assets/{fr-DejPCpbS.js → fr-hxbzMdAg.js} +1 -1
  29. package/dist/assets/{index-C2r64QfD.js → index-CL7ZQ94-.js} +1 -1
  30. package/dist/assets/{isDiffPlainText-D47a6hMP.js → isDiffPlainText-D2yJ9fO6.js} +1 -1
  31. package/dist/assets/{isFilePlainText-B-mGgeKl.js → isFilePlainText-BwMEq1Ey.js} +1 -1
  32. package/dist/assets/{ja-CVpQawCd.js → ja-_zLwwYiy.js} +1 -1
  33. package/dist/assets/{ko-Bw446h9j.js → ko-CFn3Dzhc.js} +1 -1
  34. package/dist/assets/{main-oreqDsOV.js → main-BLJaug9I.js} +4 -4
  35. package/dist/assets/{main-Bz4WWXbr.js → main-quLSA7jc.js} +2 -2
  36. package/dist/assets/{markdownCore-D2e5sp9y.js → markdownCore-DS9FdwrI.js} +1 -1
  37. package/dist/assets/{miniChat-D1v2gsBI.js → miniChat-D-lJJibr.js} +2 -2
  38. package/dist/assets/{mobile-DBj3lCf2.js → mobile-VTtphbW6.js} +2 -2
  39. package/dist/assets/{patchFileDiff-BpeUOV91.js → patchFileDiff-D9iBcTEi.js} +1 -1
  40. package/dist/assets/{pl-BYNlPdhm.js → pl-DFHE7xac.js} +1 -1
  41. package/dist/assets/{pt-BR-CL-Yfv9H.js → pt-BR-CUjZF179.js} +1 -1
  42. package/dist/assets/{renderElectronMiniChatApp-DVtfEB2z.js → renderElectronMiniChatApp-DF7ch5eM.js} +2 -2
  43. package/dist/assets/{renderMobileApp-DFp9-xbG.js → renderMobileApp-CNQhdXsi.js} +3 -3
  44. package/dist/assets/{runtimeEndpointReset-CsIpUep1.js → runtimeEndpointReset-DeaERc0M.js} +3 -3
  45. package/dist/assets/{scheduledTasksApi-B5OHVpPM.js → scheduledTasksApi-BD6Vx9pu.js} +1 -1
  46. package/dist/assets/{shikiHighlight-DNm2Z_Jc.js → shikiHighlight-_HeCCHx1.js} +1 -1
  47. package/dist/assets/{textMateThemeFromAppTheme-DGF2kG7g.js → textMateThemeFromAppTheme-C95XdFGj.js} +1 -1
  48. package/dist/assets/{tr-DzmbxLy-.js → tr-BB6sA_zH.js} +1 -1
  49. package/dist/assets/{uk-C7vQnwro.js → uk-CB4o8g-o.js} +1 -1
  50. package/dist/assets/{useAppFontEffects-Ci3FEaPf.js → useAppFontEffects-ZM9ij19-.js} +48 -48
  51. package/dist/assets/{useInlineCommentController-CuUuakrt.js → useInlineCommentController-CkfxMJPy.js} +1 -1
  52. package/dist/assets/{useRootScrollLock-CQIsyERq.js → useRootScrollLock-BtiAC1fj.js} +2 -2
  53. package/dist/assets/{vendor-codemirror-language-data-CQa7_1cr.js → vendor-codemirror-language-data-U-lXzXNK.js} +2 -2
  54. package/dist/assets/{web-components-B6tKQyJN.js → web-components-C583Pmfm.js} +1 -1
  55. package/dist/assets/{zh-CN-Cl0srS-z.js → zh-CN-BRyDuWhc.js} +1 -1
  56. package/dist/assets/{zh-TW-DtII5bDb.js → zh-TW-BDGbWA1Q.js} +1 -1
  57. package/dist/index.html +1 -1
  58. package/dist/mini-chat.html +1 -1
  59. package/dist/mobile.html +1 -1
  60. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import{R as o,j as s,f as rt,r as tt}from"./vendor-react-BUCujlKS.js";import{f as Xe,B as G,I as B,o as yn,bj as Jn,t as $,O as Ad,gY as Td,eY as Ge,gZ as It,b as an,T as ha,h as Ie,au as Ed,g_ as Cr,g$ as Dd,cl as _t,ck as At,cn as mt,cm as Tt,cj as Et,eO as Gn,h0 as bc,h1 as Md,h2 as Ka,h3 as Pn,c8 as vs,c2 as Kt,c3 as zt,c4 as Ut,c5 as $t,c6 as Bt,c7 as as,X as We,h4 as di,av as Kn,bh as wn,at as zn,as as _n,h5 as Yr,h6 as Bi,ad as Wn,ac as dn,f2 as Ht,h7 as mn,h8 as po,h9 as Ss,l as it,ha as ri,fj as Ln,hb as vc,fg as St,fd as Vt,hc as Rt,co as As,e7 as la,ff as qs,fh as nn,hd as gs,ec as fs,he as ys,cV as gt,hf as yc,hg as Rd,hh as Fd,hi as ui,hj as Od,hk as ks,eX as Ps,hl as tn,gg as Va,gm as sn,hm as za,hn as jc,ho as go,e8 as ho,ah as _a,hp as Zr,g as oi,hq as Ko,cg as kn,cr as Nn,ch as Sn,hr as Cn,hs as Gt,ht as fo,ae as sr,af as nr,ag as xo,hu as bo,hv as ta,hw as wc,hx as Fn,a7 as mi,cw as vo,hy as zo,ay as Ld,cp as Kd,d9 as zd,U as _d,V as Ud,W as $d,_ as yo,hz as Bd,hA as Vd,ce as Hd,cq as Xr,hB as kc,fi as Nc,P as sa,hC as Ms,a6 as qd,hD as Gd,n as rs,eu as Wi,y as Sc,x as Wd,i as Jd,j as Qd,ev as Yd,p as Zd,hE as Xd,hF as eu,hG as _o,ed as Cc,hH as tu,hI as Ir,hJ as Uo,hK as su,hL as nu,hM as au,hN as iu,ga as Ji,hO as ls,hP as ws,dg as Ic,bZ as Pc,dh as Ac,b_ as Vs,hQ as On,hR as jo,aH as qn,aI as Ea,hS as Xs,hT as Rn,du as Tc,hU as Ec,hV as Dc,hW as ru,eW as ou,eV as lu,hX as eo,eF as cu,hY as na,hZ as Ds,h_ as Bs,g3 as aa,h$ as Ns,i0 as du,i1 as $o,i2 as Mc,i3 as ia,i4 as uu,i5 as mu,R as Rc,da as pu,d4 as gu,d5 as hu,cJ as fu,eQ as xu,d6 as bu,d0 as vu,bp as yu,i6 as Ha,fc as Da,i7 as Bo,i8 as Ma,i9 as Ra,b$ as da,ia as ju,ib as wu,ic as ku,id as Nu,ie as Pr,ig as Vo,ih as Su,ii as Cu,ij as Iu,ik as Pu,il as Ho,z as Au,m as qo,dx as Tu,im as Eu,io as Ar,ip as Go,eH as Du,ez as Mu,iq as ar,ir as Ru,is as Fu,it as Ou,iu as Lu,iv as Ku,iw as Tr,cW as zu,c0 as Fc,aB as Vn,aC as _u}from"./useAppFontEffects-Ci3FEaPf.js";import{h as Nt,u as ge,O as cs,dw as Uu,dx as Wo,t as ft,aD as An,B as un,a as jn,E as os,P as Jo,cK as Qo,cR as Yo,U as Ja,p as $u,dy as Bu,k as Vu,cJ as Oa,dz as Hu,al as qu,cO as Gu,dA as Wu,dB as Ju,s as Qu,e as pi,cP as Yu,F as gi,dC as Oc,_ as Zu,dD as Xu,a3 as Lc,aC as hs,dE as Kc,b8 as zc,x as Ua,b2 as _c,af as em,ag as tm,aM as wo,dF as sm,y as ir,Z as nm,q as Zo,aR as Xo,bc as Ei,aS as am,dG as im,ab as ca,dH as rm,dI as el,dv as tl,dJ as sl,aP as nl,dK as om,dL as lm,dM as cm,dN as dm,dO as al,b as um,dP as Uc,dQ as mm,dR as pm,dS as gm,dT as hm,dU as fm,dV as xm,aw as bm,i as $c}from"./index-CvLgnuNI.js";import{u as vm,W as il,Y as ua,_ as ma,$ as pa,a0 as ga,l as ko,ao as ra,a3 as ym,y as Is,ap as jm,am as wm,aq as La,ar as Bc,a1 as km,a2 as Nm}from"./runtimeEndpointReset-CsIpUep1.js";import{u as Us,c as Sm}from"./vendor-zustand-BAGL70zf.js";import{o as Gs,s as es,b as No,l as Cm,_ as So,r as to,c as so,a as hi}from"./vendor-zod-Gea9uBlY.js";import{s as Im,p as Pm}from"./vendor-yaml-3778uTud.js";import{c as rl,s as Am,C as ol,P as Tm}from"./shikiHighlight-DNm2Z_Jc.js";import{getResolvedShikiTheme as Em}from"./appThemeRegistry-u4zw1l0B.js";import{E as ll}from"./vendor-codemirror-view-CiLROUVV.js";import{Q as Vc}from"./vendor-qrcode-DTJ12-WC.js";import{u as Er,s as Dm,d as Mm,b as Rm,A as Fm,c as Om,e as Lm,f as Km,h as zm,i as Dr,j as _m}from"./PluginPane-BPP1dbck.js";import{toast as $a}from"./vendor-sonner-DFyL3AvE.js";import{s as Um}from"./vendor-strip-json-comments-5dJlOkP1.js";import{Y as $m,U as Bm,X as Vm,W as Hm,V as qm}from"./vendor-base-ui-CsXYnR5c.js";const cl=()=>{const{t}=Xe(),[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 Nt("/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,m=typeof c.tunnelUrl=="string"&&c.tunnelUrl.trim().length>0?c.tunnelUrl.trim():null;a({port:h,tunnelUrl:m})}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:()=>{yn(r.url)},children:[s.jsx(B,{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))})},dl="https://github.com/openchamber/openchamber",Gm="https://discord.gg/ZYRSdnwwKA",ul="https://x.com/openchamber_dev",Wm=800,Hc=({initialUpdateDialogOpen:t=!1})=>{const{t:e}=Xe(),[a,n]=o.useState(t),[r,i]=o.useState(!1),[l,d]=o.useState(null),[c,h]=o.useState(null),m=vm(Us(j=>({info:j.info,checking:j.checking,available:j.available,error:j.error,downloading:j.downloading,downloaded:j.downloaded,progress:j.progress,runtimeType:j.runtimeType,checkForUpdates:j.checkForUpdates,downloadUpdate:j.downloadUpdate,restartToUpdate:j.restartToUpdate}))),{isMobile:f}=Jn(),u=l||m.info?.currentVersion||"unknown";o.useEffect(()=>{let j=!1;return(async()=>{try{const k=await Nt("/api/system/info",{method:"GET",headers:{Accept:"application/json"}});if(!k.ok)return;const p=await k.json().catch(()=>null),N=typeof p?.openchamberVersion=="string"&&p.openchamberVersion.trim().length>0?p.openchamberVersion.trim():null;j||d(N)}catch{j||d(null)}})(),()=>{j=!0}},[]),o.useEffect(()=>{let j=!1;return(async()=>{try{const k=await Nt("/api/opencode/upgrade-status",{method:"GET",headers:{Accept:"application/json"}});if(!k.ok)return;const p=await k.json().catch(()=>null),N=typeof p?.currentVersion=="string"&&p.currentVersion.trim().length>0?p.currentVersion.trim():null;j||h(N)}catch{j||h(null)}})(),()=>{j=!0}},[]);const g=o.useRef(!1);o.useEffect(()=>{if(m.checking)i(!0),g.current=!0;else if(r){const j=setTimeout(()=>{i(!1),g.current&&!m.available&&!m.error&&($.success(e("settings.openchamber.about.toast.latestVersion")),g.current=!1)},Wm);return()=>clearTimeout(j)}},[e,m.checking,r,m.available,m.error]);const v=m.checking||r;return f?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(Ad,{width:72,height:72}),s.jsx("h2",{className:`mt-4 ${Td}`,children:"OpenChamber"}),s.jsxs("div",{className:"mt-2 space-y-1 typography-ui text-muted-foreground",children:[s.jsx("p",{children:e("aboutDialog.openChamberVersionLabel",{version:u})}),s.jsx("p",{children:e("aboutDialog.openCodeVersionLabel",{version:c||e("settings.openchamber.about.state.unknown")})})]}),s.jsx(cl,{})]}),s.jsxs("div",{className:"flex justify-center",children:[!m.available&&!m.error&&s.jsxs(G,{type:"button",variant:"outline",size:"sm",onClick:()=>m.checkForUpdates(),disabled:v,className:"h-10 w-auto justify-center gap-2 rounded-xl px-4",children:[v?s.jsx(B,{name:"loader",className:"size-4 animate-spin"}):s.jsx(B,{name:"refresh",className:"size-4"}),e(v?"settings.openchamber.about.state.checking":"settings.openchamber.about.actions.checkForUpdates")]}),!v&&m.available&&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(B,{name:"download",className:"size-4"}),e("settings.openchamber.about.actions.updateToVersion",{version:m.info?.version||""})]})]}),m.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:m.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:dl,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(B,{name:"github-fill",className:"size-5"}),s.jsx("span",{children:"GitHub"})]}),s.jsxs("a",{href:Gm,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(B,{name:"discord-fill",className:"size-5"}),s.jsx("span",{children:"Discord"})]})]}),s.jsxs("a",{href:ul,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(B,{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(il,{open:a,onOpenChange:n,info:m.info,downloading:m.downloading,downloaded:m.downloaded,progress:m.progress,error:m.error,onDownload:m.downloadUpdate,onRestart:m.restartToUpdate,runtimeType:m.runtimeType})]}):s.jsxs(Ge,{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:It,children:e("settings.openchamber.about.field.version")}),s.jsx("span",{className:"typography-meta text-muted-foreground font-mono",children:u})]}),s.jsxs("div",{className:"flex min-w-0 flex-col",children:[s.jsx("span",{className:It,children:e("settings.openchamber.about.field.openCodeVersion")}),s.jsx("span",{className:"typography-meta text-muted-foreground font-mono",children:c||e("settings.openchamber.about.state.unknown")})]}),s.jsxs("div",{className:"flex items-center gap-3",children:[m.checking&&s.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[s.jsx(B,{name:"loader",className:"h-4 w-4 animate-spin"}),s.jsx("span",{className:"typography-meta",children:e("settings.openchamber.about.state.checking")})]}),!m.checking&&m.available&&s.jsxs(G,{size:"sm",variant:"default",onClick:()=>n(!0),children:[s.jsx(B,{name:"download",className:"h-4 w-4 mr-1"}),e("settings.openchamber.about.actions.updateToVersion",{version:m.info?.version||""})]}),!m.checking&&!m.available&&!m.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:()=>m.checkForUpdates(),disabled:m.checking,children:e("settings.openchamber.about.actions.checkForUpdates")})]})]}),m.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:m.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:It,children:e("settings.openchamber.about.field.instanceUrls")}),s.jsx(cl,{})]}),s.jsxs("div",{className:"flex items-center gap-4 px-4 py-4",children:[s.jsxs("a",{href:dl,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(B,{name:"github-fill",className:"h-4 w-4"}),s.jsx("span",{children:"GitHub"})]}),s.jsxs("a",{href:ul,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(B,{name:"twitter-xfill",className:"h-4 w-4"}),s.jsx("span",{children:"@openchamber_dev"})]})]})]}),s.jsx(il,{open:a,onOpenChange:n,info:m.info,downloading:m.downloading,downloaded:m.downloaded,progress:m.progress,error:m.error,onDownload:m.downloadUpdate,onRestart:m.restartToUpdate,runtimeType:m.runtimeType})]})},Jm=(t,e,a)=>t&&e.some(r=>r.path===t)?t:(e.find(r=>r.id===a)??e[0])?.path??null,Ws=()=>{const t=rt.c(4),e=ge(Qm),a=an(Ym),n=an(Zm);let r;return t[0]!==n||t[1]!==a||t[2]!==e?(r=Jm(e,a,n),t[0]=n,t[1]=a,t[2]=e,t[3]=r):r=t[3],r};function Qm(t){return t.settingsProjectPath}function Ym(t){return t.projects}function Zm(t){return t.activeProjectId}const Xm=t=>[...t].sort((e,a)=>(e.label||e.path).localeCompare(a.label||a.path)),fi=t=>{const e=rt.c(75),{className:a}=t,{t:n}=Xe(),{currentTheme:r}=ha(),i=ge(ep),[l,d]=o.useState(!1),c=an(tp),h=Ws(),m=ge(sp),f=cs();let u;e[0]!==c?(u=Xm(c),e[0]=c,e[1]=u):u=e[1];const g=u;let v;e[2]!==h||e[3]!==g?(v=g.find(F=>F.path===h)??g[0]??null,e[2]=h,e[3]=g,e[4]=v):v=e[4];const j=v;if(f||!j)return null;let b;e[5]!==m||e[6]!==g?(b=F=>{const K=g.find(S=>S.id===F);K&&m(K.path)},e[5]=m,e[6]=g,e[7]=b):b=e[7];const k=b;if(i){let F;e[8]!==a?(F=Ie(a),e[8]=a,e[9]=F):F=e[9];let K;e[10]!==n?(K=n("settings.shared.projectSelector.switchProjectAria"),e[10]=n,e[11]=K):K=e[11];let S;e[12]!==n?(S=n("settings.shared.projectSelector.switchProjectTitle"),e[12]=n,e[13]=S):S=e[13];let M,z;e[14]===Symbol.for("react.memo_cache_sentinel")?(M=()=>d(!0),z=Ie(Ed({size:"touch"}),"w-full min-w-0"),e[14]=M,e[15]=z):(M=e[14],z=e[15]);let _;e[16]!==j||e[17]!==r?(_=s.jsx("span",{className:"min-w-0 flex-1 truncate typography-ui-label font-medium",children:s.jsx(Cr,{project:j,theme:r})}),e[16]=j,e[17]=r,e[18]=_):_=e[18];let q;e[19]===Symbol.for("react.memo_cache_sentinel")?(q=s.jsx(B,{name:"arrow-down-s",className:"size-4 opacity-50"}),e[19]=q):q=e[19];let X;e[20]!==l||e[21]!==K||e[22]!==S||e[23]!==z||e[24]!==_?(X=s.jsxs("button",{type:"button","aria-label":K,title:S,"aria-haspopup":"dialog","aria-expanded":l,onClick:M,className:z,children:[_,q]}),e[20]=l,e[21]=K,e[22]=S,e[23]=z,e[24]=_,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 H;e[29]===Symbol.for("react.memo_cache_sentinel")?(H=()=>d(!1),e[29]=H):H=e[29];const L=j.id;let V;e[30]!==n?(V=n("settings.shared.projectSelector.sheetTitle"),e[30]=n,e[31]=V):V=e[31];let Z;e[32]!==n?(Z=n("settings.shared.projectSelector.searchPlaceholder"),e[32]=n,e[33]=Z):Z=e[33];let U;e[34]!==j.id||e[35]!==r||e[36]!==k||e[37]!==l||e[38]!==g||e[39]!==V||e[40]!==Z?(U=s.jsx(Dd,{open:l,onClose:H,projects:g,selectedProjectId:L,onSelectProject:k,theme:r,title:V,searchPlaceholder:Z}),e[34]=j.id,e[35]=r,e[36]=k,e[37]=l,e[38]=g,e[39]=V,e[40]=Z,e[41]=U):U=e[41];let te;return e[42]!==J||e[43]!==U?(te=s.jsxs(s.Fragment,{children:[J,U]}),e[42]=J,e[43]=U,e[44]=te):te=e[44],te}let p;e[45]!==a?(p=Ie(a),e[45]=a,e[46]=p):p=e[46];const N=j.id;let P;e[47]!==k?(P=F=>{F&&k(F)},e[47]=k,e[48]=P):P=e[48];let C;e[49]!==n?(C=n("settings.shared.projectSelector.switchProjectAria"),e[49]=n,e[50]=C):C=e[50];let w;e[51]!==n?(w=n("settings.shared.projectSelector.switchProjectTitle"),e[51]=n,e[52]=w):w=e[52];let D;e[53]!==j||e[54]!==r?(D=s.jsx(_t,{children:s.jsx(Cr,{project:j,theme:r})}),e[53]=j,e[54]=r,e[55]=D):D=e[55];let x;e[56]!==C||e[57]!==w||e[58]!==D?(x=s.jsx(At,{size:"settings",className:"w-full","aria-label":C,title:w,children:D}),e[56]=C,e[57]=w,e[58]=D,e[59]=x):x=e[59];let A;if(e[60]!==r||e[61]!==g){let F;e[63]!==r?(F=K=>s.jsx(mt,{value:K.id,className:"max-w-[24rem] truncate",children:s.jsx(Cr,{project:K,theme:r})},K.id),e[63]=r,e[64]=F):F=e[64],A=g.map(F),e[60]=r,e[61]=g,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 I;e[67]!==j.id||e[68]!==x||e[69]!==R||e[70]!==P?(I=s.jsxs(Et,{value:N,onValueChange:P,children:[x,R]}),e[67]=j.id,e[68]=x,e[69]=R,e[70]=P,e[71]=I):I=e[71];let E;return e[72]!==I||e[73]!==p?(E=s.jsx("div",{className:p,children:I}),e[72]=I,e[73]=p,e[74]=E):E=e[74],E};function ep(t){return t.isMobile}function tp(t){return t.projects}function sp(t){return t.setSettingsProjectPath}function np(t,e){return`opencode:sidebar-group:${t}:${e}`}const no=t=>{const e=rt.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,m=o.useId();let f;e[3]!==d||e[4]!==h?(f=()=>{try{const I=localStorage.getItem(h);if(I!==null)return I==="true"}catch{}return d},e[3]=d,e[4]=h,e[5]=f):f=e[5];const[u,g]=tt.useState(f);let v,j;e[6]!==u||e[7]!==h?(v=()=>{try{localStorage.setItem(h,String(u))}catch{}},j=[h,u],e[6]=u,e[7]=h,e[8]=v,e[9]=j):(v=e[8],j=e[9]),tt.useEffect(v,j);let b;e[10]===Symbol.for("react.memo_cache_sentinel")?(b=()=>g(ap),e[10]=b):b=e[10];let k;e[11]===Symbol.for("react.memo_cache_sentinel")?(k=Ie("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=!u&&"-rotate-90";let N;e[12]!==p?(N=Ie("h-3.5 w-3.5 flex-shrink-0 transition-transform duration-200",p),e[12]=p,e[13]=N):N=e[13];let P;e[14]!==N?(P=s.jsx(B,{name:"arrow-down-s",className:N}),e[14]=N,e[15]=P):P=e[15];let C;e[16]!==a?(C=s.jsx("span",{className:"flex-1 truncate",children:a}),e[16]=a,e[17]=C):C=e[17];let w;e[18]!==n?(w=s.jsx("span",{className:"ml-1 tabular-nums opacity-60",children:n}),e[18]=n,e[19]=w):w=e[19];let D;e[20]!==m||e[21]!==u||e[22]!==P||e[23]!==C||e[24]!==w?(D=s.jsxs("button",{type:"button",onClick:b,"aria-expanded":u,"aria-controls":m,className:k,children:[P,C,w]}),e[20]=m,e[21]=u,e[22]=P,e[23]=C,e[24]=w,e[25]=D):D=e[25];const x=!u;let A;e[26]!==l||e[27]!==m||e[28]!==x?(A=s.jsx("div",{id:m,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]=m,e[28]=x,e[29]=A):A=e[29];let R;return e[30]!==D||e[31]!==A?(R=s.jsxs("div",{children:[D,A]}),e[30]=D,e[31]=A,e[32]=R):R=e[32],R};function ap(t){return!t}const ip=({onItemSelect:t})=>{const{t:e}=Xe(),[a,n]=o.useState(null),[r,i]=o.useState(""),[l,d]=o.useState(null),[c,h]=o.useState(null),[m,f]=o.useState(!1),[u,g]=o.useState(null),{selectedAgentName:v,setSelectedAgent:j,setAgentDraft:b,createAgent:k,deleteAgent:p,loadAgents:N,fetchAgentEntity:P}=Gn(Us(H=>({selectedAgentName:H.selectedAgentName,setSelectedAgent:H.setSelectedAgent,setAgentDraft:H.setAgentDraft,createAgent:H.createAgent,deleteAgent:H.deleteAgent,loadAgents:H.loadAgents,fetchAgentEntity:H.fetchAgentEntity}))),C=Ws(),w=Gn(H=>bc(H,C));o.useEffect(()=>{N(C)},[N,C]);const D="bg-background",x=()=>{const H="new-agent";let L=H,V=1;for(;w.some(Z=>Z.name===L);)L=`${H}-${V}`,V++;b({name:L,scope:"user"}),j(L),t?.()},A=async H=>{if(Ka(H)){$.error(e("settings.agents.sidebar.toast.builtInCannotDelete"));return}d(H),h("delete")},R=async H=>{Ka(H)&&(d(H),h("reset"))},I=()=>{d(null),h(null)},E=async()=>{if(!(!l||!c)){f(!0);try{(await p(l.name,l.scope,C)).ok?(c==="delete"?$.success(e("settings.agents.sidebar.toast.agentDeleted",{name:l.name})):$.success(e("settings.agents.sidebar.toast.agentReset",{name:l.name})),I()):c==="delete"?$.error(e("settings.agents.sidebar.toast.deleteFailed")):$.error(e("settings.agents.sidebar.toast.resetFailed"))}catch(H){const L=H instanceof Error?H.message:"",V=/built-in|not deletable|not found/i.test(L);c==="delete"?$.error(e(V?"settings.agents.sidebar.toast.definitionNotFound":"settings.agents.sidebar.toast.deleteFailed")):$.error(e("settings.agents.sidebar.toast.resetFailed"))}f(!1)}},F=async H=>{const L=H.name;let V=1,Z=`${L}-copy`;for(;w.some(Q=>Q.name===Z);)V++,Z=`${L}-copy-${V}`;const U=H,te=await P(H.name,C);if(!te){$.error(e("settings.agents.sidebar.toast.renameFailed"));return}const O=te.config.request?.body;b({name:Z,scope:te.scope??U.scope??"user",description:te.config.description??void 0,model:te.config.model??null,system:te.config.system??void 0,steps:te.config.steps??void 0,temperature:O?.temperature,top_p:O?.top_p,mode:te.config.mode??U.mode,permissions:te.config.permissions??void 0}),j(Z),t?.()},K=H=>{i(H.name),n(H)},S=async()=>{if(!a)return;const H=r.trim().replace(/\s+/g,"-");if(!H){$.error(e("settings.agents.sidebar.toast.agentNameRequired"));return}if(H===a.name){n(null);return}if(w.some(U=>U.name===H)){$.error(e("settings.agents.sidebar.toast.agentExists"));return}const L=a,V=await P(a.name,C);if(!V){$.error(e("settings.agents.sidebar.toast.renameFailed"));return}(await k({...V.config,name:H,scope:V.scope??L.scope},C)).ok?(await p(a.name,L.scope,C)).ok?($.success(e("settings.agents.sidebar.toast.agentRenamed",{name:H})),j(H)):$.error(e("settings.agents.sidebar.toast.removeOldAfterRenameFailed")):$.error(e("settings.agents.sidebar.toast.renameFailed")),n(null)},M=H=>{switch(H){case"primary":return s.jsx(B,{name:"ai-agent",className:"h-3 w-3 text-primary"});case"all":return s.jsx(B,{name:"ai-agent-fill",className:"h-3 w-3 text-primary"});case"subagent":return s.jsx(B,{name:"robot",className:"h-3 w-3 text-primary"});default:return null}},z=w.filter(H=>!Md(H)),_=z.filter(Ka),q=z.filter(H=>!Ka(H)),{groupedCustomAgents:X,ungroupedCustomAgents:J}=tt.useMemo(()=>{const H={},L=[];for(const Z of q){const U=Z;U.group?(H[U.group]||(H[U.group]=[]),H[U.group].push(Z)):L.push(Z)}return{groupedCustomAgents:Object.keys(H).sort((Z,U)=>Z.localeCompare(U)).map(Z=>({name:Z,agents:H[Z]})),ungroupedCustomAgents:L}},[q]);return s.jsxs("div",{className:Ie("flex h-full flex-col",D),children:[s.jsxs("div",{className:"border-b px-3 pt-4 pb-3",children:[s.jsx("h2",{className:`${Pn} mb-3`,children:e("settings.agents.sidebar.title")}),s.jsx(fi,{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:z.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(B,{name:"add",className:"h-3.5 w-3.5"})})]})]}),s.jsx(vs,{outerClassName:"flex-1 min-h-0",className:"space-y-1 px-3 py-2 overflow-x-hidden",children:z.length===0?s.jsxs("div",{className:"py-12 px-4 text-center text-muted-foreground",children:[s.jsx(B,{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:[_.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")}),_.map(H=>s.jsx(Mr,{agent:H,isSelected:v===H.name,onSelect:()=>{j(H.name),t?.()},onReset:()=>R(H),onDuplicate:()=>{F(H)},getAgentModeIcon:M,isMenuOpen:u===H.name,onMenuOpenChange:L=>g(L?H.name:null)},H.name))]}),q.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:H,agents:L})=>s.jsx(no,{label:H,count:L.length,storageKey:"agents",children:L.map(V=>s.jsx(Mr,{agent:V,isSelected:v===V.name,onSelect:()=>{j(V.name),t?.()},onRename:()=>K(V),onDelete:()=>A(V),onDuplicate:()=>{F(V)},getAgentModeIcon:M,isMenuOpen:u===V.name,onMenuOpenChange:Z=>g(Z?V.name:null)},V.name))},H)),J.map(H=>s.jsx(Mr,{agent:H,isSelected:v===H.name,onSelect:()=>{j(H.name),t?.()},onRename:()=>K(H),onDelete:()=>A(H),onDuplicate:()=>{F(H)},getAgentModeIcon:M,isMenuOpen:u===H.name,onMenuOpenChange:L=>g(L?H.name:null)},H.name))]})]})}),s.jsx(Kt,{open:l!==null&&c!==null,onOpenChange:H=>{!H&&!m&&I()},children:s.jsxs(zt,{className:"max-w-md",children:[s.jsxs(Ut,{children:[s.jsx($t,{children:e(c==="delete"?"settings.agents.sidebar.dialog.deleteTitle":"settings.agents.sidebar.dialog.resetTitle")}),s.jsx(Bt,{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:I,disabled:m,children:e("settings.common.actions.cancel")}),s.jsx(G,{size:"sm",onClick:E,disabled:m,children:e(c==="delete"?"settings.common.actions.delete":"settings.common.actions.reset")})]})]})}),s.jsx(Kt,{open:a!==null,onOpenChange:H=>!H&&n(null),children:s.jsxs(zt,{children:[s.jsxs(Ut,{children:[s.jsx($t,{children:e("settings.agents.sidebar.renameDialog.title")}),s.jsx(Bt,{children:e("settings.agents.sidebar.renameDialog.description",{name:a?.name??""})})]}),s.jsx(We,{value:r,onChange:H=>i(H.target.value),placeholder:e("settings.agents.sidebar.renameDialog.placeholder"),className:"text-foreground placeholder:text-muted-foreground",onKeyDown:H=>{H.key==="Enter"&&S()}}),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:S,children:e("settings.common.actions.rename")})]})]})})]})},Mr=t=>{const e=rt.c(52),{agent:a,isSelected:n,onSelect:r,onDelete:i,onReset:l,onRename:d,onDuplicate:c,getAgentModeIcon:h,isMenuOpen:m,onMenuOpenChange:f}=t,{t:u}=Xe(),g=a;let v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v=di(),e[0]=v):v=e[0];const j=v,[b,k]=o.useState(!1);let p;e[1]!==i||e[2]!==c||e[3]!==d||e[4]!==l||e[5]!==u?(p=H=>s.jsxs(s.Fragment,{children:[d&&s.jsxs(H,{onClick:L=>{L.stopPropagation(),d()},children:[s.jsx(B,{name:"edit",className:"h-4 w-4 mr-px"}),u("settings.common.actions.rename")]}),s.jsxs(H,{onClick:L=>{L.stopPropagation(),c()},children:[s.jsx(B,{name:"file-copy",className:"h-4 w-4 mr-px"}),u("settings.common.actions.duplicate")]}),l&&s.jsxs(H,{onClick:L=>{L.stopPropagation(),l()},children:[s.jsx(B,{name:"restart",className:"h-4 w-4 mr-px"}),u("settings.common.actions.reset")]}),i&&s.jsxs(H,{onClick:L=>{L.stopPropagation(),i()},className:"text-destructive focus:text-destructive",children:[s.jsx(B,{name:"delete-bin",className:"h-4 w-4 mr-px"}),u("settings.common.actions.delete")]})]}),e[1]=i,e[2]=c,e[3]=d,e[4]=l,e[5]=u,e[6]=p):p=e[6];const N=p,P=n?"bg-interactive-selection":"hover:bg-interactive-hover";let C;e[7]!==P?(C=Ie("group relative flex items-center rounded-md px-1.5 py-1 transition-all duration-200 select-none",P),e[7]=P,e[8]=C):C=e[8];let w;e[9]===Symbol.for("react.memo_cache_sentinel")?(w=j?void 0:H=>{H.preventDefault(),k(!0)},e[9]=w):w=e[9];let D;e[10]!==C?(D=s.jsx("div",{className:C,onContextMenu:w}),e[10]=C,e[11]=D):D=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]!==g.scope||e[19]!==u?(R=(g.scope||Ka(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:Ka(a)?u("settings.agents.sidebar.badge.system"):g.scope}),e[17]=a,e[18]=g.scope,e[19]=u,e[20]=R):R=e[20];let I;e[21]!==x||e[22]!==A||e[23]!==R?(I=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]=I):I=e[24];let E;e[25]!==a.description?(E=a.description&&s.jsx("div",{className:"typography-micro text-muted-foreground/60 truncate leading-tight",children:a.description}),e[25]=a.description,e[26]=E):E=e[26];let F;e[27]!==r||e[28]!==I||e[29]!==E?(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:[I,E]}),e[27]=r,e[28]=I,e[29]=E,e[30]=F):F=e[30];let K;e[31]!==f?(K=H=>{H&&k(!1),f(H)},e[31]=f,e[32]=K):K=e[32];let S;e[33]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsx(zn,{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(B,{name:"more-2",className:"h-3.5 w-3.5"})})}),e[33]=S):S=e[33];let M;e[34]!==N?(M=s.jsx(Kn,{align:"end",className:"w-fit min-w-20",children:N(wn)}),e[34]=N,e[35]=M):M=e[35];let z;e[36]!==m||e[37]!==K||e[38]!==M?(z=s.jsxs(_n,{open:m,onOpenChange:K,children:[S,M]}),e[36]=m,e[37]=K,e[38]=M,e[39]=z):z=e[39];let _;e[40]!==F||e[41]!==z?(_=s.jsxs("div",{className:"flex min-w-0 flex-1 items-center",children:[F,z]}),e[40]=F,e[41]=z,e[42]=_):_=e[42];let q;e[43]!==_||e[44]!==D?(q=s.jsx(pa,{render:D,children:_}),e[43]=_,e[44]=D,e[45]=q):q=e[45];let X;e[46]!==N?(X=s.jsx(ua,{className:"w-fit min-w-20",children:N(ma)}),e[46]=N,e[47]=X):X=e[47];let J;return e[48]!==b||e[49]!==q||e[50]!==X?(J=s.jsxs(ga,{open:b,onOpenChange:k,children:[q,X]}),e[48]=b,e[49]=q,e[50]=X,e[51]=J):J=e[51],J},ns=t=>{const e=rt.c(22),{children:a,className:n,outerClassName:r,title:i,titleLeading:l,titleAccessory:d,description:c,headerEnd:h,showSaveStatus:m,onBlurCapture:f}=t,u=m===void 0?!1:m,g=i!=null||c!=null||h!=null||u,v=typeof i=="string"||typeof i=="number",j=l!=null||d!=null;let b;e[0]!==r?(b=Ie("h-full overlay-scrollbar-wrapper--stable-gutter",r),e[0]=r,e[1]=b):b=e[1];let k;e[2]!==n?(k=Ie("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]!==g||e[6]!==j||e[7]!==h||e[8]!==v||e[9]!==u||e[10]!==i||e[11]!==d||e[12]!==l?(p=g&&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?j?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:Ie(Yr,"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:Yr,children:i}):i:null,c!=null?typeof c=="string"||typeof c=="number"?s.jsx("p",{className:Bi,children:c}):c:null]}),s.jsxs("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-3",children:[h,u&&s.jsx(op,{})]})]}),e[4]=c,e[5]=g,e[6]=j,e[7]=h,e[8]=v,e[9]=u,e[10]=i,e[11]=d,e[12]=l,e[13]=p):p=e[13];let N;e[14]!==a||e[15]!==f||e[16]!==k||e[17]!==p?(N=s.jsxs("div",{className:k,onBlurCapture:f,children:[p,a]}),e[14]=a,e[15]=f,e[16]=k,e[17]=p,e[18]=N):N=e[18];let P;return e[19]!==b||e[20]!==N?(P=s.jsx(vs,{outerClassName:b,className:"w-full @container",children:N}),e[19]=b,e[20]=N,e[21]=P):P=e[21],P},rp=500,op=()=>{const t=rt.c(13),{t:e}=Xe(),a=o.useSyncExternalStore(Uu,Wo,Wo),[n,r]=o.useState(!1);let i,l;if(t[0]!==a?(i=()=>{if(a!=="saving"){r(!1);return}const m=setTimeout(()=>r(!0),rp);return()=>clearTimeout(m)},l=[a],t[0]=a,t[1]=i,t[2]=l):(i=t[1],l=t[2]),o.useEffect(i,l),a==="error"){let m;t[3]===Symbol.for("react.memo_cache_sentinel")?(m=s.jsx(B,{name:"error-warning",className:"size-3.5"}),t[3]=m):m=t[3];let f;t[4]!==e?(f=e("settings.common.status.saveFailed"),t[4]=e,t[5]=f):f=t[5];let u;return t[6]!==f?(u=s.jsxs("div",{"aria-live":"assertive",className:"flex shrink-0 items-center gap-1.5 typography-meta text-[var(--status-error)]",children:[m,s.jsx("span",{children:f})]}),t[6]=f,t[7]=u):u=t[7],u}if(a!=="saving"||!n)return null;let d;t[8]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(B,{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},Rs={ok:!0,changed:!1},In={ok:!0,changed:!0},xs=t=>({ok:!1,reason:t}),lp=t=>t instanceof HTMLElement?t.matches('input, textarea, [contenteditable="true"]'):!1,qa=t=>{const{t:e}=Xe(),[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(u=>u+1)},[]),m=o.useCallback(u=>{lp(u.target)&&h()},[h]),f=o.useCallback(async()=>{l.current=!0;try{for(;;){d.current=!1;let u;try{u=await r.current()}catch(g){u={ok:!1,reason:g instanceof Error?g.message:String(g)}}if(!c.current)return;if(!d.current){u.ok||$.error(i.current("settings.common.status.saveFailedReason",{reason:u.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:m}},cp=["allow","ask","deny"],dp=["shell","edit","read","glob","grep","patch","webfetch","websearch","skill","subagent","question","external_directory"],up=["openchamber","openchamber_web","openchamber_memory"],mp=new Set(["bash","task","write","list","lsp","todowrite","todoread","multiedit","doom_loop","plan_enter","plan_exit"]),qc=t=>mp.has(t),pp=[{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"}],ml=()=>({global:null,keys:{},source:[]}),Zn=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}))}]))}),gp=t=>{const e={global:null,keys:{},source:t.map(a=>({...a}))};for(const a of t){if(qc(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},hp=t=>t.action!=="*"||t.resource==="*",oa=(t,e)=>`${t}\0${e}`,fp=t=>{const e=new Map;t.global!==null&&e.set(oa("*","*"),t.global);for(const[a,n]of Object.entries(t.keys)){n.effect!==null&&e.set(oa(a,"*"),n.effect);for(const r of n.patterns){const i=r.pattern.trim();i.length!==0&&e.set(oa(a,i),r.effect)}}return e},ao=t=>{const e=fp(t),a=new Set,n=[];for(const i of t.source){if(qc(i.action))continue;if(!hp(i)){n.push({...i});continue}const l=oa(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=oa("*","*");t.global!==null&&!a.has(r)&&n.unshift({action:"*",resource:"*",effect:t.global});for(const[i,l]of Object.entries(t.keys)){const d=oa(i,"*");if(l.effect!==null&&!a.has(d)){const c=n.findIndex(m=>m.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 m=oa(i,h),f=e.get(m);f===void 0||a.has(m)||(a.add(m),n.push({action:i,resource:h,effect:f}))}}return n},xp=(t,e)=>JSON.stringify(ao(t))===JSON.stringify(ao(e)),bp=(t,e)=>{const a=[...pp,...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},vp=t=>t.split(/[_-]/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "),yp=new Set(["shell","edit","read","glob","grep","patch","webfetch","skill","subagent","external_directory"]),jp={effect:null,patterns:[]},wp=t=>{const e=rt.c(163),{agent:a,registerSave:n,requestSave:r}=t,{t:i}=Xe(),l=Gn(kp),d=Gn(Np);let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[0]=c):c=e[0];const[h,m]=o.useState(c),[f,u]=o.useState(ml),[g,v]=o.useState(ml),[j,b]=o.useState(!0),[k,p]=o.useState(!1);let N;e[1]===Symbol.for("react.memo_cache_sentinel")?(N={},e[1]=N):N=e[1];const[P,C]=o.useState(N),[w,D]=o.useState(""),[x,A]=o.useState(0),R=a.name,I=Ws(),E=Wn(Sp);let F;e[2]!==I?(F=Fe=>po(Fe,I),e[2]=I,e[3]=F):F=e[3];const K=Wn(F);let S;e[4]!==I?(S=Fe=>Fe.getStatusForDirectory(I),e[4]=I,e[5]=S):S=e[5];const M=dn(S);let z,_;e[6]!==E||e[7]!==I?(z=()=>{E({directory:I})},_=[E,I],e[6]=E,e[7]=I,e[8]=z,e[9]=_):(z=e[8],_=e[9]),o.useEffect(z,_);let q;e[10]!==R||e[11]!==d||e[12]!==I?(q=()=>{let Fe=!1;return b(!0),p(!1),(async()=>{const $e=await d(R,I);if(Fe)return;if(!$e){p(!0),b(!1);return}const W=gp($e.agent);m($e.global),u(Zn(W)),v(W),C({}),b(!1)})(),()=>{Fe=!0}},e[10]=R,e[11]=d,e[12]=I,e[13]=q):q=e[13];let X;e[14]!==R||e[15]!==d||e[16]!==x||e[17]!==I?(X=[R,d,x,I],e[14]=R,e[15]=d,e[16]=x,e[17]=I,e[18]=X):X=e[18],o.useEffect(q,X);let J;e[19]!==R||e[20]!==f||e[21]!==g||e[22]!==I||e[23]!==i||e[24]!==l?(J=async()=>xp(g,f)?Rs:(await l(R,{permissions:ao(g)},I)).ok?(u(Zn(g)),In):xs(i("settings.agents.page.permissionsEditor.toast.saveFailed")),e[19]=R,e[20]=f,e[21]=g,e[22]=I,e[23]=i,e[24]=l,e[25]=J):J=e[25];const H=J;let L,V;e[26]!==n||e[27]!==H?(L=()=>(n(H),()=>n(null)),V=[n,H],e[26]=n,e[27]=H,e[28]=L,e[29]=V):(L=e[28],V=e[29]),o.useEffect(L,V);let Z;e[30]!==K?(Z=K.map(Cp),e[30]=K,e[31]=Z):Z=e[31];const U=Z;let te;if(e[32]!==U||e[33]!==g.keys){te=[...dp,...up];const Fe=new Set(U.map(Ip));let $e;e[35]!==g.keys?($e=Object.keys(g.keys),e[35]=g.keys,e[36]=$e):$e=e[36];for(const W of $e)!te.includes(W)&&!Fe.has(W)&&te.push(W);e[32]=U,e[33]=g.keys,e[34]=te}else te=e[34];const O=te;let Q;e[37]!==M||e[38]!==i?(Q=Fe=>{switch(M?.[Fe]?.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]=Q):Q=e[39];const ce=Q;let de;e[40]!==h||e[41]!==g.global?(de=Fe=>bp(Fe,{global:h,agentGlobal:g.global}),e[40]=h,e[41]=g.global,e[42]=de):de=e[42];const pe=de;let re;e[43]!==r?(re=Fe=>{v($e=>({...$e,global:Fe})),r()},e[43]=r,e[44]=re):re=e[44];const Ce=re;let ie;e[45]!==r?(ie=(Fe,$e)=>{v(W=>{const Ve=Zn(W),et=Ve.keys[Fe]??{effect:null,patterns:[]};return et.effect=$e,et.effect===null&&et.patterns.length===0?delete Ve.keys[Fe]:Ve.keys[Fe]=et,Ve}),r()},e[45]=r,e[46]=ie):ie=e[46];const be=ie;let ae;e[47]!==r?(ae=(Fe,$e,W,Ve,et)=>{v(dt=>{const ct=Zn(dt),jt=ct.keys[Fe]??{effect:null,patterns:[]};return jt.patterns[$e]={pattern:W,effect:Ve},ct.keys[Fe]=jt,ct}),et&&r()},e[47]=r,e[48]=ae):ae=e[48];const fe=ae;let xe;e[49]===Symbol.for("react.memo_cache_sentinel")?(xe=Fe=>{v($e=>{const W=Zn($e),Ve=W.keys[Fe]??{effect:null,patterns:[]};return Ve.patterns.push({pattern:"",effect:"allow"}),W.keys[Fe]=Ve,W}),C($e=>({...$e,[Fe]:!0}))},e[49]=xe):xe=e[49];const Oe=xe;let Ne;e[50]!==r?(Ne=(Fe,$e)=>{v(W=>{const Ve=Zn(W),et=Ve.keys[Fe];return et?(et.patterns.splice($e,1),et.effect===null&&et.patterns.length===0&&delete Ve.keys[Fe],Ve):W}),r()},e[50]=r,e[51]=Ne):Ne=e[51];const he=Ne;let Te;e[52]!==w||e[53]!==r?(Te=()=>{const Fe=w.trim();!Fe||Fe==="*"||(v($e=>{if($e.keys[Fe])return $e;const W=Zn($e);return W.keys[Fe]={effect:"ask",patterns:[]},W}),D(""),r())},e[52]=w,e[53]=r,e[54]=Te):Te=e[54];const we=Te;let De;e[55]!==i?(De=Fe=>i(Fe==="allow"?"settings.agents.page.permissionsEditor.action.allow":Fe==="ask"?"settings.agents.page.permissionsEditor.action.ask":"settings.agents.page.permissionsEditor.action.deny"),e[55]=i,e[56]=De):De=e[56];const ve=De;let ee,ne,ye,Ae,ze,Qe,Be,_e,Me;if(e[57]!==ve||e[58]!==pe||e[59]!==P||e[60]!==j||e[61]!==k||e[62]!==U||e[63]!==ce||e[64]!==g.global||e[65]!==g.keys||e[66]!==he||e[67]!==Ce||e[68]!==be||e[69]!==fe||e[70]!==i||e[71]!==O){Me=Symbol.for("react.early_return_sentinel");e:{const Fe=i("settings.agents.page.permissionsEditor.action.inherit"),$e=i("settings.agents.page.permissionsEditor.action.default");let W;e[81]!==ve?(W=He=>[...He?[{value:"inherit",label:He}]:[],...cp.map(Y=>({value:Y,label:ve(Y)}))],e[81]=ve,e[82]=W):W=e[82];const Ve=W,et=(He,Y,me,Ke)=>{const Ee=Ke===void 0?Fe:Ke;return s.jsx(mn,{value:He??"inherit",options:Ve(Ee),onChange:Ye=>Y(Ye==="inherit"?null:Ye),"aria-label":me})};if(j){let He;e[83]!==i?(He=i("settings.agents.page.section.toolPermissions"),e[83]=i,e[84]=He):He=e[84];let Y;e[85]!==i?(Y=i("common.loading"),e[85]=i,e[86]=Y):Y=e[86];let me;e[87]!==Y?(me=s.jsx("p",{className:Ss,children:Y}),e[87]=Y,e[88]=me):me=e[88];let Ke;e[89]!==He||e[90]!==me?(Ke=s.jsx(Ge,{title:He,children:me}),e[89]=He,e[90]=me,e[91]=Ke):Ke=e[91],Me=Ke;break e}if(k){let He;e[92]!==i?(He=i("settings.agents.page.section.toolPermissions"),e[92]=i,e[93]=He):He=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 me;e[96]!==Y?(me=s.jsx("p",{className:"typography-meta text-[var(--status-error)]",children:Y}),e[96]=Y,e[97]=me):me=e[97];let Ke;e[98]===Symbol.for("react.memo_cache_sentinel")?(Ke=()=>A(Pp),e[98]=Ke):Ke=e[98];let Ee;e[99]!==i?(Ee=i("settings.agents.page.permissionsEditor.actions.retry"),e[99]=i,e[100]=Ee):Ee=e[100];let Ye;e[101]!==Ee?(Ye=s.jsx(G,{variant:"outline",size:"xs",onClick:Ke,children:Ee}),e[101]=Ee,e[102]=Ye):Ye=e[102];let se;e[103]!==me||e[104]!==Ye?(se=s.jsxs("div",{className:"flex items-center gap-3",children:[me,Ye]}),e[103]=me,e[104]=Ye,e[105]=se):se=e[105];let ke;e[106]!==He||e[107]!==se?(ke=s.jsx(Ge,{title:He,children:se}),e[106]=He,e[107]=se,e[108]=ke):ke=e[108],Me=ke;break e}const dt=(He,Y,me)=>{const Ke=g.keys[He]??jp,Ee=yp.has(He)||Ke.patterns.length>0,Ye=P[He]===!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:Ee?()=>C(se=>({...se,[He]:!Ye})):void 0,className:Ie("flex min-w-0 items-center gap-1.5 text-left",!Ee&&"cursor-default"),"aria-expanded":Ee?Ye:void 0,children:[s.jsx(B,{name:Ye&&Ee?"arrow-down-s":"arrow-right-s",className:Ie("h-3.5 w-3.5 shrink-0 text-muted-foreground",!Ee&&"opacity-0")}),s.jsx("span",{className:It,children:Y}),s.jsx("span",{className:"typography-micro font-mono text-muted-foreground/70",children:He}),me&&s.jsx("span",{className:"typography-micro rounded bg-muted px-1 text-muted-foreground",children:me}),Ke.effect===null&&s.jsx("span",{className:"typography-micro text-muted-foreground",children:i("settings.agents.page.permissionsEditor.effectiveHint",{action:ve(pe(He))})}),Ke.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(Ke.patterns.length)})})]}),et(Ke.effect,se=>be(He,se),i("settings.agents.page.permissionsEditor.keyAria",{key:He}))]}),Ye&&Ee&&s.jsxs("div",{className:"mt-2 space-y-2 pl-5",children:[Ke.patterns.map((se,ke)=>s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx(We,{value:se.pattern,onChange:at=>fe(He,ke,at.target.value,se.effect,!1),placeholder:i("settings.agents.page.permissionsEditor.patternPlaceholder"),"aria-label":i("settings.agents.page.permissionsEditor.patternActionAria",{key:He}),className:"h-8 w-full max-w-[24rem] min-w-0 flex-1 font-mono text-xs"}),s.jsx(mn,{value:se.effect,options:Ve(),onChange:at=>fe(He,ke,se.pattern,at,!0),"aria-label":i("settings.agents.page.permissionsEditor.patternActionAria",{key:He})}),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:()=>he(He,ke),"aria-label":i("settings.agents.page.permissionsEditor.actions.removeRuleAria"),children:s.jsx(B,{name:"close",className:"h-3.5 w-3.5"})})]},ke)),s.jsxs(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:()=>Oe(He),children:[s.jsx(B,{name:"add",className:"mr-1 h-3.5 w-3.5"}),i("settings.agents.page.permissionsEditor.actions.addRule")]})]})]},He)};ee=Ge,e[109]!==i?(ne=i("settings.agents.page.section.toolPermissions"),e[109]=i,e[110]=ne):ne=e[110],ye="agents.permissions",e[111]!==i?(Ae=i("settings.agents.page.permissionsEditor.sectionInfo"),e[111]=i,e[112]=Ae):Ae=e[112],ze="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 jt;e[115]!==ct?(jt=s.jsx("span",{className:It,children:ct}),e[115]=ct,e[116]=jt):jt=e[116];let kt;e[117]!==i?(kt=i("settings.agents.page.permissionsEditor.defaultInfo"),e[117]=i,e[118]=kt):kt=e[118];let yt;e[119]!==kt?(yt=s.jsx(Ht,{children:kt}),e[119]=kt,e[120]=yt):yt=e[120];let bt;e[121]!==ve||e[122]!==pe||e[123]!==g.global||e[124]!==i?(bt=g.global===null&&s.jsx("span",{className:"typography-micro text-muted-foreground",children:i("settings.agents.page.permissionsEditor.effectiveHint",{action:ve(pe("*"))})}),e[121]=ve,e[122]=pe,e[123]=g.global,e[124]=i,e[125]=bt):bt=e[125];let Ze;e[126]!==jt||e[127]!==yt||e[128]!==bt?(Ze=s.jsxs("div",{className:"flex items-center gap-1.5",children:[jt,yt,bt]}),e[126]=jt,e[127]=yt,e[128]=bt,e[129]=Ze):Ze=e[129];const wt=g.global;let Le;e[130]!==i?(Le=i("settings.agents.page.permissionsEditor.defaultAria"),e[130]=i,e[131]=Le):Le=e[131],Qe=s.jsxs("div",{className:"flex flex-col gap-2 pb-2 @xl:flex-row @xl:items-center @xl:justify-between",children:[Ze,et(wt,Ce,Le,$e)]}),Be=s.jsx("div",{children:O.map(He=>dt(He,vp(He),null))}),_e=U.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:It,children:i("settings.agents.page.permissionsEditor.mcpTitle")}),s.jsx(Ht,{children:i("settings.agents.page.permissionsEditor.mcpInfo")})]}),U.map(He=>dt(He.key,He.server,ce(He.server)))]})}e[57]=ve,e[58]=pe,e[59]=P,e[60]=j,e[61]=k,e[62]=U,e[63]=ce,e[64]=g.global,e[65]=g.keys,e[66]=he,e[67]=Ce,e[68]=be,e[69]=fe,e[70]=i,e[71]=O,e[72]=ee,e[73]=ne,e[74]=ye,e[75]=Ae,e[76]=ze,e[77]=Qe,e[78]=Be,e[79]=_e,e[80]=Me}else ee=e[72],ne=e[73],ye=e[74],Ae=e[75],ze=e[76],Qe=e[77],Be=e[78],_e=e[79],Me=e[80];if(Me!==Symbol.for("react.early_return_sentinel"))return Me;let nt;e[132]===Symbol.for("react.memo_cache_sentinel")?(nt=Fe=>D(Fe.target.value),e[132]=nt):nt=e[132];let pt;e[133]!==we?(pt=Fe=>{Fe.key==="Enter"&&(Fe.preventDefault(),we())},e[133]=we,e[134]=pt):pt=e[134];let lt;e[135]!==i?(lt=i("settings.agents.page.permissionsEditor.customKeyPlaceholder"),e[135]=i,e[136]=lt):lt=e[136];let ut;e[137]!==w||e[138]!==pt||e[139]!==lt?(ut=s.jsx(We,{value:w,onChange:nt,onKeyDown:pt,placeholder:lt,className:"h-8 w-full max-w-[16rem] font-mono text-xs"}),e[137]=w,e[138]=pt,e[139]=lt,e[140]=ut):ut=e[140];let ht;e[141]!==w?(ht=w.trim(),e[141]=w,e[142]=ht):ht=e[142];const Ue=!ht;let st;e[143]===Symbol.for("react.memo_cache_sentinel")?(st=s.jsx(B,{name:"add",className:"mr-1 h-3.5 w-3.5"}),e[143]=st):st=e[143];let ue;e[144]!==i?(ue=i("settings.agents.page.permissionsEditor.actions.addKey"),e[144]=i,e[145]=ue):ue=e[145];let oe;e[146]!==we||e[147]!==Ue||e[148]!==ue?(oe=s.jsxs(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:we,disabled:Ue,children:[st,ue]}),e[146]=we,e[147]=Ue,e[148]=ue,e[149]=oe):oe=e[149];let Pe;e[150]!==ut||e[151]!==oe?(Pe=s.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-t border-border/40 pt-3",children:[ut,oe]}),e[150]=ut,e[151]=oe,e[152]=Pe):Pe=e[152];let Re;return e[153]!==ee||e[154]!==ne||e[155]!==ye||e[156]!==Ae||e[157]!==ze||e[158]!==Qe||e[159]!==Be||e[160]!==_e||e[161]!==Pe?(Re=s.jsxs(ee,{title:ne,settingsItem:ye,info:Ae,contentClassName:ze,children:[Qe,Be,_e,Pe]}),e[153]=ee,e[154]=ne,e[155]=ye,e[156]=Ae,e[157]=ze,e[158]=Qe,e[159]=Be,e[160]=_e,e[161]=Pe,e[162]=Re):Re=e[162],Re};function kp(t){return t.updateAgent}function Np(t){return t.fetchAgentPermissions}function Sp(t){return t.loadMcpConfigs}function Cp(t){return{key:`${t.name}_*`,server:t.name}}function Ip(t){return t.key}function Pp(t){return t+1}const Co=t=>{const e=rt.c(11),{legacy:a,path:n,className:r}=t,{t:i}=Xe();if(!a)return null;let l;e[0]!==r?(l=Ie("mb-4 flex items-start gap-1.5",Ss,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(B,{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 m;e[5]!==h?(m=s.jsx("span",{children:h}),e[5]=h,e[6]=m):m=e[6];let f;return e[7]!==l||e[8]!==d||e[9]!==m?(f=s.jsxs("p",{className:l,title:d,children:[c,m]}),e[7]=l,e[8]=d,e[9]=m,e[10]=f):f=e[10],f},Ap=(t,e)=>{const a=Ln(e);return a?t.find(i=>i.id===a.providerId)?.models.find(i=>i.modelID===a.modelId)?.variants.map(i=>i.id)??[]:[]},Tp=()=>{const{t}=Xe(),e=it(he=>he.providers),{selectedAgentName:a,getAgentByName:n,createAgent:r,updateAgent:i,fetchAgentEntity:l,agentDraft:d,setAgentDraft:c,setSelectedAgent:h}=Gn(Us(he=>({selectedAgentName:he.selectedAgentName,getAgentByName:he.getAgentByName,createAgent:he.createAgent,updateAgent:he.updateAgent,fetchAgentEntity:he.fetchAgentEntity,agentDraft:he.agentDraft,setAgentDraft:he.setAgentDraft,setSelectedAgent:he.setSelectedAgent}))),m=Ws(),f=Gn(he=>bc(he,m)),u=a?n(a,m):null,g=!!(d&&d.name===a&&!u),[v,j]=o.useState(""),[b,k]=o.useState("user"),[p,N]=o.useState(""),[P,C]=o.useState("subagent"),[w,D]=o.useState(""),[x,A]=o.useState(""),[R,I]=o.useState(void 0),[E,F]=o.useState(void 0),[K,S]=o.useState(void 0),[M,z]=o.useState(""),[_,q]=o.useState(!1),[X,J]=o.useState(null),H=o.useRef({}),L=o.useRef(null),V=o.useCallback(he=>{L.current=he},[]),Z=o.useRef(null),U=JSON.stringify([a,m,g]),te=o.useRef(U);te.current=U;const O=o.useRef(null),Q={description:p,mode:P,model:w,variant:x,steps:R,temperature:E,topP:K,system:M},ce=o.useRef(Q);ce.current=Q;const de=o.useMemo(()=>Ap(e,w),[w,e]),pe=de.length>0,re=x||"__default",Ce=pe,ie=o.useMemo(()=>x&&!de.includes(x)?[x,...de]:de,[x,de]);o.useEffect(()=>{if(!g||!d)return;O.current=null;const he=ri(d.model),Te=d.name||"",we=d.scope||"user",De=d.description||"",ve=d.mode||"subagent",ee=he?`${he.providerID}/${he.modelID}`:"",ne=he?.variant||"",ye=d.steps??void 0,Ae=d.temperature??void 0,ze=d.top_p??void 0,Qe=d.system||"";H.current={},J(null),j(Te),k(we),N(De),C(ve),D(ee),A(ne),I(ye),F(Ae),S(ze),z(Qe),Z.current={draftName:Te,draftScope:we,description:De,mode:ve,model:ee,variant:ne,steps:ye,temperature:Ae,topP:ze,system:Qe}},[d,g]),o.useEffect(()=>{if(g||!a)return;let he=!1;return(async()=>{const Te=await l(a,m);if(he||te.current!==U||!Te)return;const we=Te.config;H.current=we;const De=ri(we.model),ve=we.request?.body,ee={draftName:"",draftScope:"user",description:we.description||"",mode:we.mode||u?.mode||"subagent",model:De?`${De.providerID}/${De.modelID}`:"",variant:De?.variant||"",steps:we.steps??void 0,temperature:ve?.temperature,topP:ve?.top_p,system:we.system||""},ne=Z.current,ye=ce.current,Ae=ne!==null&&(ye.description!==ne.description||ye.mode!==ne.mode||ye.model!==ne.model||ye.variant!==ne.variant||ye.steps!==ne.steps||ye.temperature!==ne.temperature||ye.topP!==ne.topP||ye.system!==ne.system);J({legacy:Te.legacy===!0,path:Te.path}),!(O.current===U&&Ae)&&(O.current=U,N(ee.description),C(ee.mode),D(ee.model),A(ee.variant),I(ee.steps),F(ee.temperature),S(ee.topP),z(ee.system),Z.current=ee)})(),()=>{he=!0}},[l,g,u,a,m,U]);const be=o.useCallback(he=>{const Te=Ln(w.trim()),we=Te?vc({providerID:Te.providerId,modelID:Te.modelId,variant:x.trim()||void 0}):null,De=H.current.request,ve={...De?.body};E===void 0?delete ve.temperature:ve.temperature=E,K===void 0?delete ve.top_p:ve.top_p=K;const ee=De?.headers,ne={};ee&&Object.keys(ee).length>0&&(ne.headers=ee),Object.keys(ve).length>0&&(ne.body=ve);const ye=p.trim(),Ae=M.trim(),ze={name:he,mode:P,model:we,steps:R??null,system:Ae||(g?void 0:null),request:Object.keys(ne).length>0?ne:null};return ye&&(ze.description=ye),g&&b&&(ze.scope=b),g&&d?.permissions?.length&&(ze.permissions=d.permissions),ze},[d,p,b,g,P,w,R,M,E,K,x]),ae=o.useCallback(async()=>{const he=Z.current,Te=a?.trim();if(g||!he||!Te)return Rs;const we=L.current?await L.current():Rs;if(p===he.description&&P===he.mode&&w===he.model&&x===he.variant&&R===he.steps&&E===he.temperature&&K===he.topP&&M===he.system||!we.ok)return we;const ve=be(Te);return(await i(Te,ve,m)).ok?(te.current!==U||(H.current={...H.current,model:ve.model,system:ve.system??void 0,steps:ve.steps,request:ve.request??void 0},Z.current={...he,description:p,mode:P,model:w,variant:x,steps:R,temperature:E,topP:K,system:M}),In):xs(t("settings.agents.page.toast.updateFailed"))},[be,p,g,P,w,a,U,m,R,M,t,E,K,i,x]),fe=qa(ae),{requestSave:xe}=fe,Oe=async()=>{const he=v.trim().replace(/\s+/g,"-");if(!he){$.error(t("settings.agents.sidebar.toast.agentNameRequired"));return}if(f.some(Te=>Te.name===he)){$.error(t("settings.agents.sidebar.toast.agentExists"));return}q(!0);try{(await r(be(he),m)).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 we=Te instanceof Error&&Te.message?Te.message:t("settings.agents.page.toast.saveUnexpectedError");$.error(we)}finally{q(!1)}},Ne=()=>{c(null),h(null)};return a?s.jsxs(ns,{title:g?t("settings.agents.page.title.new"):a,description:t(g?"settings.agents.page.subtitle.new":"settings.agents.page.subtitle.edit"),onBlurCapture:fe.onBlurCapture,children:[!g&&X&&s.jsx(Co,{legacy:X.legacy,path:X.path}),s.jsxs(Ge,{title:t("settings.agents.page.section.identityRole"),divider:!1,contentClassName:"space-y-0",children:[g&&s.jsxs(St,{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(We,{value:v,onChange:he=>j(he.target.value),placeholder:t("settings.agents.page.field.agentNamePlaceholder"),className:"h-7 w-40 px-2"})]}),s.jsxs(Et,{value:b,onValueChange:he=>k(he),children:[s.jsx(At,{size:Vt,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(mt,{value:"user",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(B,{name:"user-3",className:"h-3.5 w-3.5"}),s.jsx("span",{children:t("settings.common.scope.global")})]})}),s.jsx(mt,{value:"project",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(B,{name:"folder",className:"h-3.5 w-3.5"}),s.jsx("span",{children:t("settings.common.scope.project")})]})})]})]})]}),s.jsx(Rt,{label:t("settings.common.field.description"),controlClassName:"w-full max-w-none",children:s.jsx(As,{value:p,onChange:he=>N(he.target.value),placeholder:t("settings.agents.page.field.descriptionPlaceholder"),rows:2,className:"w-full resize-none min-h-[60px] bg-transparent"})}),s.jsx(Rt,{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:P,onChange:he=>{C(he),xe()},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(Ge,{title:t("settings.agents.page.section.modelParameters"),contentClassName:"space-y-3",children:[s.jsx(St,{settingsItem:"agents.model",label:t("settings.agents.page.field.overrideModel"),children:s.jsx(la,{providerId:Ln(w)?.providerId??"",modelId:Ln(w)?.modelId??"",onChange:(he,Te)=>{D(he&&Te?`${he}/${Te}`:""),A(""),xe()},className:qs})}),s.jsx(St,{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:Ce?s.jsxs(Et,{value:re,onValueChange:he=>{A(he==="__default"?"":he),xe()},children:[s.jsx(At,{size:Vt,className:nn,children:s.jsx(_t,{placeholder:t("settings.agents.page.field.variantPlaceholder"),children:he=>he==="__default"?t("chat.modelControls.default"):he})}),s.jsxs(Tt,{children:[s.jsx(mt,{value:"__default",children:t("chat.modelControls.default")}),ie.map(he=>s.jsx(mt,{value:he,children:he},he))]})]}):s.jsxs(s.Fragment,{children:[s.jsx(We,{value:x,onChange:he=>A(he.target.value),placeholder:t("settings.agents.page.field.variantPlaceholder"),disabled:!w&&!x,className:"h-8 w-40 rounded-md px-3"}),x&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{A(""),xe()},className:gs,"aria-label":t("settings.common.actions.clear"),title:t("settings.common.actions.clear"),children:s.jsx(B,{name:"close",className:"h-3.5 w-3.5"})})]})}),s.jsxs(St,{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(fs,{value:E,fallbackValue:.7,onValueChange:F,onClear:()=>{F(void 0),xe()},min:0,max:2,step:.1,inputMode:"decimal",placeholder:"—",emptyLabel:"—",className:ys}),E!==void 0&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{F(void 0),xe()},className:gs,"aria-label":t("settings.agents.page.field.clearTemperatureAria"),title:t("settings.common.actions.clear"),children:s.jsx(B,{name:"close",className:"h-3.5 w-3.5"})})]}),s.jsxs(St,{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(fs,{value:K,fallbackValue:.9,onValueChange:S,onClear:()=>{S(void 0),xe()},min:0,max:1,step:.1,inputMode:"decimal",placeholder:"—",emptyLabel:"—",className:ys}),K!==void 0&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{S(void 0),xe()},className:gs,"aria-label":t("settings.agents.page.field.clearTopPAria"),title:t("settings.common.actions.clear"),children:s.jsx(B,{name:"close",className:"h-3.5 w-3.5"})})]}),s.jsxs(St,{settingsItem:"agents.steps",label:t("settings.agents.page.field.steps"),info:t("settings.agents.page.field.stepsTooltip"),children:[s.jsx(fs,{value:R,fallbackValue:20,onValueChange:I,onClear:()=>{I(void 0),xe()},min:1,max:1e3,step:1,inputMode:"numeric",placeholder:"—",emptyLabel:"—",className:ys}),R!==void 0&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{I(void 0),xe()},className:gs,"aria-label":t("settings.agents.page.field.clearStepsAria"),title:t("settings.common.actions.clear"),children:s.jsx(B,{name:"close",className:"h-3.5 w-3.5"})})]})]}),s.jsx(Ge,{title:t("settings.agents.page.section.systemPrompt"),settingsItem:"agents.system-prompt",children:s.jsx(As,{value:M,onChange:he=>z(he.target.value),placeholder:t("settings.agents.page.field.systemPromptPlaceholder"),rows:8,className:"w-full font-mono typography-meta min-h-[120px] max-h-[60vh] bg-transparent"})}),!g&&u&&s.jsx(wp,{agent:u,registerSave:V,requestSave:xe}),g&&s.jsxs("div",{className:"flex items-center gap-2 pb-8",children:[s.jsx(G,{onClick:()=>{Oe()},disabled:_||!v.trim(),size:"xs",className:"!font-normal",children:t(_?"settings.common.actions.saving":"settings.common.actions.create")}),s.jsx(G,{variant:"ghost",onClick:Ne,disabled:_,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(B,{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 Ep(t,e){return t.kind==="file"?t.content:e??""}const Dp=Gs({content:es(),exists:No(),path:es().min(1).optional()}),Mp=async(t,e)=>{const a=await t.json().catch(()=>null);return typeof a?.error=="string"&&a.error.trim()?a.error:e},Rp=t=>t.length>0&&!t.endsWith(`
1
+ import{R as o,j as s,f as rt,r as tt}from"./vendor-react-BUCujlKS.js";import{f as Xe,B as G,I as B,o as yn,bj as Jn,t as $,O as Ad,gY as Td,eY as Ge,gZ as It,b as an,T as ha,h as Ie,au as Ed,g_ as Cr,g$ as Dd,cl as _t,ck as At,cn as mt,cm as Tt,cj as Et,eO as Gn,h0 as bc,h1 as Md,h2 as Ka,h3 as Pn,c8 as vs,c2 as Kt,c3 as zt,c4 as Ut,c5 as $t,c6 as Bt,c7 as as,X as We,h4 as di,av as Kn,bh as wn,at as zn,as as _n,h5 as Yr,h6 as Bi,ad as Wn,ac as dn,f2 as Ht,h7 as mn,h8 as po,h9 as Ss,l as it,ha as ri,fj as Ln,hb as vc,fg as St,fd as Vt,hc as Rt,co as As,e7 as la,ff as qs,fh as nn,hd as gs,ec as fs,he as ys,cV as gt,hf as yc,hg as Rd,hh as Fd,hi as ui,hj as Od,hk as ks,eX as Ps,hl as tn,gg as Va,gm as sn,hm as za,hn as jc,ho as go,e8 as ho,ah as _a,hp as Zr,g as oi,hq as Ko,cg as kn,cr as Nn,ch as Sn,hr as Cn,hs as Gt,ht as fo,ae as sr,af as nr,ag as xo,hu as bo,hv as ta,hw as wc,hx as Fn,a7 as mi,cw as vo,hy as zo,ay as Ld,cp as Kd,d9 as zd,U as _d,V as Ud,W as $d,_ as yo,hz as Bd,hA as Vd,ce as Hd,cq as Xr,hB as kc,fi as Nc,P as sa,hC as Ms,a6 as qd,hD as Gd,n as rs,eu as Wi,y as Sc,x as Wd,i as Jd,j as Qd,ev as Yd,p as Zd,hE as Xd,hF as eu,hG as _o,ed as Cc,hH as tu,hI as Ir,hJ as Uo,hK as su,hL as nu,hM as au,hN as iu,ga as Ji,hO as ls,hP as ws,dg as Ic,bZ as Pc,dh as Ac,b_ as Vs,hQ as On,hR as jo,aH as qn,aI as Ea,hS as Xs,hT as Rn,du as Tc,hU as Ec,hV as Dc,hW as ru,eW as ou,eV as lu,hX as eo,eF as cu,hY as na,hZ as Ds,h_ as Bs,g3 as aa,h$ as Ns,i0 as du,i1 as $o,i2 as Mc,i3 as ia,i4 as uu,i5 as mu,R as Rc,da as pu,d4 as gu,d5 as hu,cJ as fu,eQ as xu,d6 as bu,d0 as vu,bp as yu,i6 as Ha,fc as Da,i7 as Bo,i8 as Ma,i9 as Ra,b$ as da,ia as ju,ib as wu,ic as ku,id as Nu,ie as Pr,ig as Vo,ih as Su,ii as Cu,ij as Iu,ik as Pu,il as Ho,z as Au,m as qo,dx as Tu,im as Eu,io as Ar,ip as Go,eH as Du,ez as Mu,iq as ar,ir as Ru,is as Fu,it as Ou,iu as Lu,iv as Ku,iw as Tr,cW as zu,c0 as Fc,aB as Vn,aC as _u}from"./useAppFontEffects-ZM9ij19-.js";import{h as Nt,u as ge,O as cs,dw as Uu,dx as Wo,t as ft,aD as An,B as un,a as jn,E as os,P as Jo,cK as Qo,cR as Yo,U as Ja,p as $u,dy as Bu,k as Vu,cJ as Oa,dz as Hu,al as qu,cO as Gu,dA as Wu,dB as Ju,s as Qu,e as pi,cP as Yu,F as gi,dC as Oc,_ as Zu,dD as Xu,a3 as Lc,aC as hs,dE as Kc,b8 as zc,x as Ua,b2 as _c,af as em,ag as tm,aM as wo,dF as sm,y as ir,Z as nm,q as Zo,aR as Xo,bc as Ei,aS as am,dG as im,ab as ca,dH as rm,dI as el,dv as tl,dJ as sl,aP as nl,dK as om,dL as lm,dM as cm,dN as dm,dO as al,b as um,dP as Uc,dQ as mm,dR as pm,dS as gm,dT as hm,dU as fm,dV as xm,aw as bm,i as $c}from"./index-CvLgnuNI.js";import{u as vm,W as il,Y as ua,_ as ma,$ as pa,a0 as ga,l as ko,ao as ra,a3 as ym,y as Is,ap as jm,am as wm,aq as La,ar as Bc,a1 as km,a2 as Nm}from"./runtimeEndpointReset-DeaERc0M.js";import{u as Us,c as Sm}from"./vendor-zustand-BAGL70zf.js";import{o as Gs,s as es,b as No,l as Cm,_ as So,r as to,c as so,a as hi}from"./vendor-zod-Gea9uBlY.js";import{s as Im,p as Pm}from"./vendor-yaml-3778uTud.js";import{c as rl,s as Am,C as ol,P as Tm}from"./shikiHighlight-_HeCCHx1.js";import{getResolvedShikiTheme as Em}from"./appThemeRegistry-DAdawJZn.js";import{E as ll}from"./vendor-codemirror-view-CiLROUVV.js";import{Q as Vc}from"./vendor-qrcode-DTJ12-WC.js";import{u as Er,s as Dm,d as Mm,b as Rm,A as Fm,c as Om,e as Lm,f as Km,h as zm,i as Dr,j as _m}from"./PluginPane-BibJit86.js";import{toast as $a}from"./vendor-sonner-DFyL3AvE.js";import{s as Um}from"./vendor-strip-json-comments-5dJlOkP1.js";import{Y as $m,U as Bm,X as Vm,W as Hm,V as qm}from"./vendor-base-ui-CsXYnR5c.js";const cl=()=>{const{t}=Xe(),[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 Nt("/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,m=typeof c.tunnelUrl=="string"&&c.tunnelUrl.trim().length>0?c.tunnelUrl.trim():null;a({port:h,tunnelUrl:m})}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:()=>{yn(r.url)},children:[s.jsx(B,{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))})},dl="https://github.com/openchamber/openchamber",Gm="https://discord.gg/ZYRSdnwwKA",ul="https://x.com/openchamber_dev",Wm=800,Hc=({initialUpdateDialogOpen:t=!1})=>{const{t:e}=Xe(),[a,n]=o.useState(t),[r,i]=o.useState(!1),[l,d]=o.useState(null),[c,h]=o.useState(null),m=vm(Us(j=>({info:j.info,checking:j.checking,available:j.available,error:j.error,downloading:j.downloading,downloaded:j.downloaded,progress:j.progress,runtimeType:j.runtimeType,checkForUpdates:j.checkForUpdates,downloadUpdate:j.downloadUpdate,restartToUpdate:j.restartToUpdate}))),{isMobile:f}=Jn(),u=l||m.info?.currentVersion||"unknown";o.useEffect(()=>{let j=!1;return(async()=>{try{const k=await Nt("/api/system/info",{method:"GET",headers:{Accept:"application/json"}});if(!k.ok)return;const p=await k.json().catch(()=>null),N=typeof p?.openchamberVersion=="string"&&p.openchamberVersion.trim().length>0?p.openchamberVersion.trim():null;j||d(N)}catch{j||d(null)}})(),()=>{j=!0}},[]),o.useEffect(()=>{let j=!1;return(async()=>{try{const k=await Nt("/api/opencode/upgrade-status",{method:"GET",headers:{Accept:"application/json"}});if(!k.ok)return;const p=await k.json().catch(()=>null),N=typeof p?.currentVersion=="string"&&p.currentVersion.trim().length>0?p.currentVersion.trim():null;j||h(N)}catch{j||h(null)}})(),()=>{j=!0}},[]);const g=o.useRef(!1);o.useEffect(()=>{if(m.checking)i(!0),g.current=!0;else if(r){const j=setTimeout(()=>{i(!1),g.current&&!m.available&&!m.error&&($.success(e("settings.openchamber.about.toast.latestVersion")),g.current=!1)},Wm);return()=>clearTimeout(j)}},[e,m.checking,r,m.available,m.error]);const v=m.checking||r;return f?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(Ad,{width:72,height:72}),s.jsx("h2",{className:`mt-4 ${Td}`,children:"OpenChamber"}),s.jsxs("div",{className:"mt-2 space-y-1 typography-ui text-muted-foreground",children:[s.jsx("p",{children:e("aboutDialog.openChamberVersionLabel",{version:u})}),s.jsx("p",{children:e("aboutDialog.openCodeVersionLabel",{version:c||e("settings.openchamber.about.state.unknown")})})]}),s.jsx(cl,{})]}),s.jsxs("div",{className:"flex justify-center",children:[!m.available&&!m.error&&s.jsxs(G,{type:"button",variant:"outline",size:"sm",onClick:()=>m.checkForUpdates(),disabled:v,className:"h-10 w-auto justify-center gap-2 rounded-xl px-4",children:[v?s.jsx(B,{name:"loader",className:"size-4 animate-spin"}):s.jsx(B,{name:"refresh",className:"size-4"}),e(v?"settings.openchamber.about.state.checking":"settings.openchamber.about.actions.checkForUpdates")]}),!v&&m.available&&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(B,{name:"download",className:"size-4"}),e("settings.openchamber.about.actions.updateToVersion",{version:m.info?.version||""})]})]}),m.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:m.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:dl,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(B,{name:"github-fill",className:"size-5"}),s.jsx("span",{children:"GitHub"})]}),s.jsxs("a",{href:Gm,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(B,{name:"discord-fill",className:"size-5"}),s.jsx("span",{children:"Discord"})]})]}),s.jsxs("a",{href:ul,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(B,{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(il,{open:a,onOpenChange:n,info:m.info,downloading:m.downloading,downloaded:m.downloaded,progress:m.progress,error:m.error,onDownload:m.downloadUpdate,onRestart:m.restartToUpdate,runtimeType:m.runtimeType})]}):s.jsxs(Ge,{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:It,children:e("settings.openchamber.about.field.version")}),s.jsx("span",{className:"typography-meta text-muted-foreground font-mono",children:u})]}),s.jsxs("div",{className:"flex min-w-0 flex-col",children:[s.jsx("span",{className:It,children:e("settings.openchamber.about.field.openCodeVersion")}),s.jsx("span",{className:"typography-meta text-muted-foreground font-mono",children:c||e("settings.openchamber.about.state.unknown")})]}),s.jsxs("div",{className:"flex items-center gap-3",children:[m.checking&&s.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[s.jsx(B,{name:"loader",className:"h-4 w-4 animate-spin"}),s.jsx("span",{className:"typography-meta",children:e("settings.openchamber.about.state.checking")})]}),!m.checking&&m.available&&s.jsxs(G,{size:"sm",variant:"default",onClick:()=>n(!0),children:[s.jsx(B,{name:"download",className:"h-4 w-4 mr-1"}),e("settings.openchamber.about.actions.updateToVersion",{version:m.info?.version||""})]}),!m.checking&&!m.available&&!m.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:()=>m.checkForUpdates(),disabled:m.checking,children:e("settings.openchamber.about.actions.checkForUpdates")})]})]}),m.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:m.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:It,children:e("settings.openchamber.about.field.instanceUrls")}),s.jsx(cl,{})]}),s.jsxs("div",{className:"flex items-center gap-4 px-4 py-4",children:[s.jsxs("a",{href:dl,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(B,{name:"github-fill",className:"h-4 w-4"}),s.jsx("span",{children:"GitHub"})]}),s.jsxs("a",{href:ul,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(B,{name:"twitter-xfill",className:"h-4 w-4"}),s.jsx("span",{children:"@openchamber_dev"})]})]})]}),s.jsx(il,{open:a,onOpenChange:n,info:m.info,downloading:m.downloading,downloaded:m.downloaded,progress:m.progress,error:m.error,onDownload:m.downloadUpdate,onRestart:m.restartToUpdate,runtimeType:m.runtimeType})]})},Jm=(t,e,a)=>t&&e.some(r=>r.path===t)?t:(e.find(r=>r.id===a)??e[0])?.path??null,Ws=()=>{const t=rt.c(4),e=ge(Qm),a=an(Ym),n=an(Zm);let r;return t[0]!==n||t[1]!==a||t[2]!==e?(r=Jm(e,a,n),t[0]=n,t[1]=a,t[2]=e,t[3]=r):r=t[3],r};function Qm(t){return t.settingsProjectPath}function Ym(t){return t.projects}function Zm(t){return t.activeProjectId}const Xm=t=>[...t].sort((e,a)=>(e.label||e.path).localeCompare(a.label||a.path)),fi=t=>{const e=rt.c(75),{className:a}=t,{t:n}=Xe(),{currentTheme:r}=ha(),i=ge(ep),[l,d]=o.useState(!1),c=an(tp),h=Ws(),m=ge(sp),f=cs();let u;e[0]!==c?(u=Xm(c),e[0]=c,e[1]=u):u=e[1];const g=u;let v;e[2]!==h||e[3]!==g?(v=g.find(F=>F.path===h)??g[0]??null,e[2]=h,e[3]=g,e[4]=v):v=e[4];const j=v;if(f||!j)return null;let b;e[5]!==m||e[6]!==g?(b=F=>{const K=g.find(S=>S.id===F);K&&m(K.path)},e[5]=m,e[6]=g,e[7]=b):b=e[7];const k=b;if(i){let F;e[8]!==a?(F=Ie(a),e[8]=a,e[9]=F):F=e[9];let K;e[10]!==n?(K=n("settings.shared.projectSelector.switchProjectAria"),e[10]=n,e[11]=K):K=e[11];let S;e[12]!==n?(S=n("settings.shared.projectSelector.switchProjectTitle"),e[12]=n,e[13]=S):S=e[13];let M,z;e[14]===Symbol.for("react.memo_cache_sentinel")?(M=()=>d(!0),z=Ie(Ed({size:"touch"}),"w-full min-w-0"),e[14]=M,e[15]=z):(M=e[14],z=e[15]);let _;e[16]!==j||e[17]!==r?(_=s.jsx("span",{className:"min-w-0 flex-1 truncate typography-ui-label font-medium",children:s.jsx(Cr,{project:j,theme:r})}),e[16]=j,e[17]=r,e[18]=_):_=e[18];let q;e[19]===Symbol.for("react.memo_cache_sentinel")?(q=s.jsx(B,{name:"arrow-down-s",className:"size-4 opacity-50"}),e[19]=q):q=e[19];let X;e[20]!==l||e[21]!==K||e[22]!==S||e[23]!==z||e[24]!==_?(X=s.jsxs("button",{type:"button","aria-label":K,title:S,"aria-haspopup":"dialog","aria-expanded":l,onClick:M,className:z,children:[_,q]}),e[20]=l,e[21]=K,e[22]=S,e[23]=z,e[24]=_,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 H;e[29]===Symbol.for("react.memo_cache_sentinel")?(H=()=>d(!1),e[29]=H):H=e[29];const L=j.id;let V;e[30]!==n?(V=n("settings.shared.projectSelector.sheetTitle"),e[30]=n,e[31]=V):V=e[31];let Z;e[32]!==n?(Z=n("settings.shared.projectSelector.searchPlaceholder"),e[32]=n,e[33]=Z):Z=e[33];let U;e[34]!==j.id||e[35]!==r||e[36]!==k||e[37]!==l||e[38]!==g||e[39]!==V||e[40]!==Z?(U=s.jsx(Dd,{open:l,onClose:H,projects:g,selectedProjectId:L,onSelectProject:k,theme:r,title:V,searchPlaceholder:Z}),e[34]=j.id,e[35]=r,e[36]=k,e[37]=l,e[38]=g,e[39]=V,e[40]=Z,e[41]=U):U=e[41];let te;return e[42]!==J||e[43]!==U?(te=s.jsxs(s.Fragment,{children:[J,U]}),e[42]=J,e[43]=U,e[44]=te):te=e[44],te}let p;e[45]!==a?(p=Ie(a),e[45]=a,e[46]=p):p=e[46];const N=j.id;let P;e[47]!==k?(P=F=>{F&&k(F)},e[47]=k,e[48]=P):P=e[48];let C;e[49]!==n?(C=n("settings.shared.projectSelector.switchProjectAria"),e[49]=n,e[50]=C):C=e[50];let w;e[51]!==n?(w=n("settings.shared.projectSelector.switchProjectTitle"),e[51]=n,e[52]=w):w=e[52];let D;e[53]!==j||e[54]!==r?(D=s.jsx(_t,{children:s.jsx(Cr,{project:j,theme:r})}),e[53]=j,e[54]=r,e[55]=D):D=e[55];let x;e[56]!==C||e[57]!==w||e[58]!==D?(x=s.jsx(At,{size:"settings",className:"w-full","aria-label":C,title:w,children:D}),e[56]=C,e[57]=w,e[58]=D,e[59]=x):x=e[59];let A;if(e[60]!==r||e[61]!==g){let F;e[63]!==r?(F=K=>s.jsx(mt,{value:K.id,className:"max-w-[24rem] truncate",children:s.jsx(Cr,{project:K,theme:r})},K.id),e[63]=r,e[64]=F):F=e[64],A=g.map(F),e[60]=r,e[61]=g,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 I;e[67]!==j.id||e[68]!==x||e[69]!==R||e[70]!==P?(I=s.jsxs(Et,{value:N,onValueChange:P,children:[x,R]}),e[67]=j.id,e[68]=x,e[69]=R,e[70]=P,e[71]=I):I=e[71];let E;return e[72]!==I||e[73]!==p?(E=s.jsx("div",{className:p,children:I}),e[72]=I,e[73]=p,e[74]=E):E=e[74],E};function ep(t){return t.isMobile}function tp(t){return t.projects}function sp(t){return t.setSettingsProjectPath}function np(t,e){return`opencode:sidebar-group:${t}:${e}`}const no=t=>{const e=rt.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,m=o.useId();let f;e[3]!==d||e[4]!==h?(f=()=>{try{const I=localStorage.getItem(h);if(I!==null)return I==="true"}catch{}return d},e[3]=d,e[4]=h,e[5]=f):f=e[5];const[u,g]=tt.useState(f);let v,j;e[6]!==u||e[7]!==h?(v=()=>{try{localStorage.setItem(h,String(u))}catch{}},j=[h,u],e[6]=u,e[7]=h,e[8]=v,e[9]=j):(v=e[8],j=e[9]),tt.useEffect(v,j);let b;e[10]===Symbol.for("react.memo_cache_sentinel")?(b=()=>g(ap),e[10]=b):b=e[10];let k;e[11]===Symbol.for("react.memo_cache_sentinel")?(k=Ie("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=!u&&"-rotate-90";let N;e[12]!==p?(N=Ie("h-3.5 w-3.5 flex-shrink-0 transition-transform duration-200",p),e[12]=p,e[13]=N):N=e[13];let P;e[14]!==N?(P=s.jsx(B,{name:"arrow-down-s",className:N}),e[14]=N,e[15]=P):P=e[15];let C;e[16]!==a?(C=s.jsx("span",{className:"flex-1 truncate",children:a}),e[16]=a,e[17]=C):C=e[17];let w;e[18]!==n?(w=s.jsx("span",{className:"ml-1 tabular-nums opacity-60",children:n}),e[18]=n,e[19]=w):w=e[19];let D;e[20]!==m||e[21]!==u||e[22]!==P||e[23]!==C||e[24]!==w?(D=s.jsxs("button",{type:"button",onClick:b,"aria-expanded":u,"aria-controls":m,className:k,children:[P,C,w]}),e[20]=m,e[21]=u,e[22]=P,e[23]=C,e[24]=w,e[25]=D):D=e[25];const x=!u;let A;e[26]!==l||e[27]!==m||e[28]!==x?(A=s.jsx("div",{id:m,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]=m,e[28]=x,e[29]=A):A=e[29];let R;return e[30]!==D||e[31]!==A?(R=s.jsxs("div",{children:[D,A]}),e[30]=D,e[31]=A,e[32]=R):R=e[32],R};function ap(t){return!t}const ip=({onItemSelect:t})=>{const{t:e}=Xe(),[a,n]=o.useState(null),[r,i]=o.useState(""),[l,d]=o.useState(null),[c,h]=o.useState(null),[m,f]=o.useState(!1),[u,g]=o.useState(null),{selectedAgentName:v,setSelectedAgent:j,setAgentDraft:b,createAgent:k,deleteAgent:p,loadAgents:N,fetchAgentEntity:P}=Gn(Us(H=>({selectedAgentName:H.selectedAgentName,setSelectedAgent:H.setSelectedAgent,setAgentDraft:H.setAgentDraft,createAgent:H.createAgent,deleteAgent:H.deleteAgent,loadAgents:H.loadAgents,fetchAgentEntity:H.fetchAgentEntity}))),C=Ws(),w=Gn(H=>bc(H,C));o.useEffect(()=>{N(C)},[N,C]);const D="bg-background",x=()=>{const H="new-agent";let L=H,V=1;for(;w.some(Z=>Z.name===L);)L=`${H}-${V}`,V++;b({name:L,scope:"user"}),j(L),t?.()},A=async H=>{if(Ka(H)){$.error(e("settings.agents.sidebar.toast.builtInCannotDelete"));return}d(H),h("delete")},R=async H=>{Ka(H)&&(d(H),h("reset"))},I=()=>{d(null),h(null)},E=async()=>{if(!(!l||!c)){f(!0);try{(await p(l.name,l.scope,C)).ok?(c==="delete"?$.success(e("settings.agents.sidebar.toast.agentDeleted",{name:l.name})):$.success(e("settings.agents.sidebar.toast.agentReset",{name:l.name})),I()):c==="delete"?$.error(e("settings.agents.sidebar.toast.deleteFailed")):$.error(e("settings.agents.sidebar.toast.resetFailed"))}catch(H){const L=H instanceof Error?H.message:"",V=/built-in|not deletable|not found/i.test(L);c==="delete"?$.error(e(V?"settings.agents.sidebar.toast.definitionNotFound":"settings.agents.sidebar.toast.deleteFailed")):$.error(e("settings.agents.sidebar.toast.resetFailed"))}f(!1)}},F=async H=>{const L=H.name;let V=1,Z=`${L}-copy`;for(;w.some(Q=>Q.name===Z);)V++,Z=`${L}-copy-${V}`;const U=H,te=await P(H.name,C);if(!te){$.error(e("settings.agents.sidebar.toast.renameFailed"));return}const O=te.config.request?.body;b({name:Z,scope:te.scope??U.scope??"user",description:te.config.description??void 0,model:te.config.model??null,system:te.config.system??void 0,steps:te.config.steps??void 0,temperature:O?.temperature,top_p:O?.top_p,mode:te.config.mode??U.mode,permissions:te.config.permissions??void 0}),j(Z),t?.()},K=H=>{i(H.name),n(H)},S=async()=>{if(!a)return;const H=r.trim().replace(/\s+/g,"-");if(!H){$.error(e("settings.agents.sidebar.toast.agentNameRequired"));return}if(H===a.name){n(null);return}if(w.some(U=>U.name===H)){$.error(e("settings.agents.sidebar.toast.agentExists"));return}const L=a,V=await P(a.name,C);if(!V){$.error(e("settings.agents.sidebar.toast.renameFailed"));return}(await k({...V.config,name:H,scope:V.scope??L.scope},C)).ok?(await p(a.name,L.scope,C)).ok?($.success(e("settings.agents.sidebar.toast.agentRenamed",{name:H})),j(H)):$.error(e("settings.agents.sidebar.toast.removeOldAfterRenameFailed")):$.error(e("settings.agents.sidebar.toast.renameFailed")),n(null)},M=H=>{switch(H){case"primary":return s.jsx(B,{name:"ai-agent",className:"h-3 w-3 text-primary"});case"all":return s.jsx(B,{name:"ai-agent-fill",className:"h-3 w-3 text-primary"});case"subagent":return s.jsx(B,{name:"robot",className:"h-3 w-3 text-primary"});default:return null}},z=w.filter(H=>!Md(H)),_=z.filter(Ka),q=z.filter(H=>!Ka(H)),{groupedCustomAgents:X,ungroupedCustomAgents:J}=tt.useMemo(()=>{const H={},L=[];for(const Z of q){const U=Z;U.group?(H[U.group]||(H[U.group]=[]),H[U.group].push(Z)):L.push(Z)}return{groupedCustomAgents:Object.keys(H).sort((Z,U)=>Z.localeCompare(U)).map(Z=>({name:Z,agents:H[Z]})),ungroupedCustomAgents:L}},[q]);return s.jsxs("div",{className:Ie("flex h-full flex-col",D),children:[s.jsxs("div",{className:"border-b px-3 pt-4 pb-3",children:[s.jsx("h2",{className:`${Pn} mb-3`,children:e("settings.agents.sidebar.title")}),s.jsx(fi,{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:z.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(B,{name:"add",className:"h-3.5 w-3.5"})})]})]}),s.jsx(vs,{outerClassName:"flex-1 min-h-0",className:"space-y-1 px-3 py-2 overflow-x-hidden",children:z.length===0?s.jsxs("div",{className:"py-12 px-4 text-center text-muted-foreground",children:[s.jsx(B,{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:[_.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")}),_.map(H=>s.jsx(Mr,{agent:H,isSelected:v===H.name,onSelect:()=>{j(H.name),t?.()},onReset:()=>R(H),onDuplicate:()=>{F(H)},getAgentModeIcon:M,isMenuOpen:u===H.name,onMenuOpenChange:L=>g(L?H.name:null)},H.name))]}),q.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:H,agents:L})=>s.jsx(no,{label:H,count:L.length,storageKey:"agents",children:L.map(V=>s.jsx(Mr,{agent:V,isSelected:v===V.name,onSelect:()=>{j(V.name),t?.()},onRename:()=>K(V),onDelete:()=>A(V),onDuplicate:()=>{F(V)},getAgentModeIcon:M,isMenuOpen:u===V.name,onMenuOpenChange:Z=>g(Z?V.name:null)},V.name))},H)),J.map(H=>s.jsx(Mr,{agent:H,isSelected:v===H.name,onSelect:()=>{j(H.name),t?.()},onRename:()=>K(H),onDelete:()=>A(H),onDuplicate:()=>{F(H)},getAgentModeIcon:M,isMenuOpen:u===H.name,onMenuOpenChange:L=>g(L?H.name:null)},H.name))]})]})}),s.jsx(Kt,{open:l!==null&&c!==null,onOpenChange:H=>{!H&&!m&&I()},children:s.jsxs(zt,{className:"max-w-md",children:[s.jsxs(Ut,{children:[s.jsx($t,{children:e(c==="delete"?"settings.agents.sidebar.dialog.deleteTitle":"settings.agents.sidebar.dialog.resetTitle")}),s.jsx(Bt,{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:I,disabled:m,children:e("settings.common.actions.cancel")}),s.jsx(G,{size:"sm",onClick:E,disabled:m,children:e(c==="delete"?"settings.common.actions.delete":"settings.common.actions.reset")})]})]})}),s.jsx(Kt,{open:a!==null,onOpenChange:H=>!H&&n(null),children:s.jsxs(zt,{children:[s.jsxs(Ut,{children:[s.jsx($t,{children:e("settings.agents.sidebar.renameDialog.title")}),s.jsx(Bt,{children:e("settings.agents.sidebar.renameDialog.description",{name:a?.name??""})})]}),s.jsx(We,{value:r,onChange:H=>i(H.target.value),placeholder:e("settings.agents.sidebar.renameDialog.placeholder"),className:"text-foreground placeholder:text-muted-foreground",onKeyDown:H=>{H.key==="Enter"&&S()}}),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:S,children:e("settings.common.actions.rename")})]})]})})]})},Mr=t=>{const e=rt.c(52),{agent:a,isSelected:n,onSelect:r,onDelete:i,onReset:l,onRename:d,onDuplicate:c,getAgentModeIcon:h,isMenuOpen:m,onMenuOpenChange:f}=t,{t:u}=Xe(),g=a;let v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v=di(),e[0]=v):v=e[0];const j=v,[b,k]=o.useState(!1);let p;e[1]!==i||e[2]!==c||e[3]!==d||e[4]!==l||e[5]!==u?(p=H=>s.jsxs(s.Fragment,{children:[d&&s.jsxs(H,{onClick:L=>{L.stopPropagation(),d()},children:[s.jsx(B,{name:"edit",className:"h-4 w-4 mr-px"}),u("settings.common.actions.rename")]}),s.jsxs(H,{onClick:L=>{L.stopPropagation(),c()},children:[s.jsx(B,{name:"file-copy",className:"h-4 w-4 mr-px"}),u("settings.common.actions.duplicate")]}),l&&s.jsxs(H,{onClick:L=>{L.stopPropagation(),l()},children:[s.jsx(B,{name:"restart",className:"h-4 w-4 mr-px"}),u("settings.common.actions.reset")]}),i&&s.jsxs(H,{onClick:L=>{L.stopPropagation(),i()},className:"text-destructive focus:text-destructive",children:[s.jsx(B,{name:"delete-bin",className:"h-4 w-4 mr-px"}),u("settings.common.actions.delete")]})]}),e[1]=i,e[2]=c,e[3]=d,e[4]=l,e[5]=u,e[6]=p):p=e[6];const N=p,P=n?"bg-interactive-selection":"hover:bg-interactive-hover";let C;e[7]!==P?(C=Ie("group relative flex items-center rounded-md px-1.5 py-1 transition-all duration-200 select-none",P),e[7]=P,e[8]=C):C=e[8];let w;e[9]===Symbol.for("react.memo_cache_sentinel")?(w=j?void 0:H=>{H.preventDefault(),k(!0)},e[9]=w):w=e[9];let D;e[10]!==C?(D=s.jsx("div",{className:C,onContextMenu:w}),e[10]=C,e[11]=D):D=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]!==g.scope||e[19]!==u?(R=(g.scope||Ka(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:Ka(a)?u("settings.agents.sidebar.badge.system"):g.scope}),e[17]=a,e[18]=g.scope,e[19]=u,e[20]=R):R=e[20];let I;e[21]!==x||e[22]!==A||e[23]!==R?(I=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]=I):I=e[24];let E;e[25]!==a.description?(E=a.description&&s.jsx("div",{className:"typography-micro text-muted-foreground/60 truncate leading-tight",children:a.description}),e[25]=a.description,e[26]=E):E=e[26];let F;e[27]!==r||e[28]!==I||e[29]!==E?(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:[I,E]}),e[27]=r,e[28]=I,e[29]=E,e[30]=F):F=e[30];let K;e[31]!==f?(K=H=>{H&&k(!1),f(H)},e[31]=f,e[32]=K):K=e[32];let S;e[33]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsx(zn,{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(B,{name:"more-2",className:"h-3.5 w-3.5"})})}),e[33]=S):S=e[33];let M;e[34]!==N?(M=s.jsx(Kn,{align:"end",className:"w-fit min-w-20",children:N(wn)}),e[34]=N,e[35]=M):M=e[35];let z;e[36]!==m||e[37]!==K||e[38]!==M?(z=s.jsxs(_n,{open:m,onOpenChange:K,children:[S,M]}),e[36]=m,e[37]=K,e[38]=M,e[39]=z):z=e[39];let _;e[40]!==F||e[41]!==z?(_=s.jsxs("div",{className:"flex min-w-0 flex-1 items-center",children:[F,z]}),e[40]=F,e[41]=z,e[42]=_):_=e[42];let q;e[43]!==_||e[44]!==D?(q=s.jsx(pa,{render:D,children:_}),e[43]=_,e[44]=D,e[45]=q):q=e[45];let X;e[46]!==N?(X=s.jsx(ua,{className:"w-fit min-w-20",children:N(ma)}),e[46]=N,e[47]=X):X=e[47];let J;return e[48]!==b||e[49]!==q||e[50]!==X?(J=s.jsxs(ga,{open:b,onOpenChange:k,children:[q,X]}),e[48]=b,e[49]=q,e[50]=X,e[51]=J):J=e[51],J},ns=t=>{const e=rt.c(22),{children:a,className:n,outerClassName:r,title:i,titleLeading:l,titleAccessory:d,description:c,headerEnd:h,showSaveStatus:m,onBlurCapture:f}=t,u=m===void 0?!1:m,g=i!=null||c!=null||h!=null||u,v=typeof i=="string"||typeof i=="number",j=l!=null||d!=null;let b;e[0]!==r?(b=Ie("h-full overlay-scrollbar-wrapper--stable-gutter",r),e[0]=r,e[1]=b):b=e[1];let k;e[2]!==n?(k=Ie("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]!==g||e[6]!==j||e[7]!==h||e[8]!==v||e[9]!==u||e[10]!==i||e[11]!==d||e[12]!==l?(p=g&&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?j?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:Ie(Yr,"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:Yr,children:i}):i:null,c!=null?typeof c=="string"||typeof c=="number"?s.jsx("p",{className:Bi,children:c}):c:null]}),s.jsxs("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-3",children:[h,u&&s.jsx(op,{})]})]}),e[4]=c,e[5]=g,e[6]=j,e[7]=h,e[8]=v,e[9]=u,e[10]=i,e[11]=d,e[12]=l,e[13]=p):p=e[13];let N;e[14]!==a||e[15]!==f||e[16]!==k||e[17]!==p?(N=s.jsxs("div",{className:k,onBlurCapture:f,children:[p,a]}),e[14]=a,e[15]=f,e[16]=k,e[17]=p,e[18]=N):N=e[18];let P;return e[19]!==b||e[20]!==N?(P=s.jsx(vs,{outerClassName:b,className:"w-full @container",children:N}),e[19]=b,e[20]=N,e[21]=P):P=e[21],P},rp=500,op=()=>{const t=rt.c(13),{t:e}=Xe(),a=o.useSyncExternalStore(Uu,Wo,Wo),[n,r]=o.useState(!1);let i,l;if(t[0]!==a?(i=()=>{if(a!=="saving"){r(!1);return}const m=setTimeout(()=>r(!0),rp);return()=>clearTimeout(m)},l=[a],t[0]=a,t[1]=i,t[2]=l):(i=t[1],l=t[2]),o.useEffect(i,l),a==="error"){let m;t[3]===Symbol.for("react.memo_cache_sentinel")?(m=s.jsx(B,{name:"error-warning",className:"size-3.5"}),t[3]=m):m=t[3];let f;t[4]!==e?(f=e("settings.common.status.saveFailed"),t[4]=e,t[5]=f):f=t[5];let u;return t[6]!==f?(u=s.jsxs("div",{"aria-live":"assertive",className:"flex shrink-0 items-center gap-1.5 typography-meta text-[var(--status-error)]",children:[m,s.jsx("span",{children:f})]}),t[6]=f,t[7]=u):u=t[7],u}if(a!=="saving"||!n)return null;let d;t[8]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(B,{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},Rs={ok:!0,changed:!1},In={ok:!0,changed:!0},xs=t=>({ok:!1,reason:t}),lp=t=>t instanceof HTMLElement?t.matches('input, textarea, [contenteditable="true"]'):!1,qa=t=>{const{t:e}=Xe(),[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(u=>u+1)},[]),m=o.useCallback(u=>{lp(u.target)&&h()},[h]),f=o.useCallback(async()=>{l.current=!0;try{for(;;){d.current=!1;let u;try{u=await r.current()}catch(g){u={ok:!1,reason:g instanceof Error?g.message:String(g)}}if(!c.current)return;if(!d.current){u.ok||$.error(i.current("settings.common.status.saveFailedReason",{reason:u.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:m}},cp=["allow","ask","deny"],dp=["shell","edit","read","glob","grep","patch","webfetch","websearch","skill","subagent","question","external_directory"],up=["openchamber","openchamber_web","openchamber_memory"],mp=new Set(["bash","task","write","list","lsp","todowrite","todoread","multiedit","doom_loop","plan_enter","plan_exit"]),qc=t=>mp.has(t),pp=[{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"}],ml=()=>({global:null,keys:{},source:[]}),Zn=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}))}]))}),gp=t=>{const e={global:null,keys:{},source:t.map(a=>({...a}))};for(const a of t){if(qc(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},hp=t=>t.action!=="*"||t.resource==="*",oa=(t,e)=>`${t}\0${e}`,fp=t=>{const e=new Map;t.global!==null&&e.set(oa("*","*"),t.global);for(const[a,n]of Object.entries(t.keys)){n.effect!==null&&e.set(oa(a,"*"),n.effect);for(const r of n.patterns){const i=r.pattern.trim();i.length!==0&&e.set(oa(a,i),r.effect)}}return e},ao=t=>{const e=fp(t),a=new Set,n=[];for(const i of t.source){if(qc(i.action))continue;if(!hp(i)){n.push({...i});continue}const l=oa(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=oa("*","*");t.global!==null&&!a.has(r)&&n.unshift({action:"*",resource:"*",effect:t.global});for(const[i,l]of Object.entries(t.keys)){const d=oa(i,"*");if(l.effect!==null&&!a.has(d)){const c=n.findIndex(m=>m.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 m=oa(i,h),f=e.get(m);f===void 0||a.has(m)||(a.add(m),n.push({action:i,resource:h,effect:f}))}}return n},xp=(t,e)=>JSON.stringify(ao(t))===JSON.stringify(ao(e)),bp=(t,e)=>{const a=[...pp,...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},vp=t=>t.split(/[_-]/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "),yp=new Set(["shell","edit","read","glob","grep","patch","webfetch","skill","subagent","external_directory"]),jp={effect:null,patterns:[]},wp=t=>{const e=rt.c(163),{agent:a,registerSave:n,requestSave:r}=t,{t:i}=Xe(),l=Gn(kp),d=Gn(Np);let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=[],e[0]=c):c=e[0];const[h,m]=o.useState(c),[f,u]=o.useState(ml),[g,v]=o.useState(ml),[j,b]=o.useState(!0),[k,p]=o.useState(!1);let N;e[1]===Symbol.for("react.memo_cache_sentinel")?(N={},e[1]=N):N=e[1];const[P,C]=o.useState(N),[w,D]=o.useState(""),[x,A]=o.useState(0),R=a.name,I=Ws(),E=Wn(Sp);let F;e[2]!==I?(F=Fe=>po(Fe,I),e[2]=I,e[3]=F):F=e[3];const K=Wn(F);let S;e[4]!==I?(S=Fe=>Fe.getStatusForDirectory(I),e[4]=I,e[5]=S):S=e[5];const M=dn(S);let z,_;e[6]!==E||e[7]!==I?(z=()=>{E({directory:I})},_=[E,I],e[6]=E,e[7]=I,e[8]=z,e[9]=_):(z=e[8],_=e[9]),o.useEffect(z,_);let q;e[10]!==R||e[11]!==d||e[12]!==I?(q=()=>{let Fe=!1;return b(!0),p(!1),(async()=>{const $e=await d(R,I);if(Fe)return;if(!$e){p(!0),b(!1);return}const W=gp($e.agent);m($e.global),u(Zn(W)),v(W),C({}),b(!1)})(),()=>{Fe=!0}},e[10]=R,e[11]=d,e[12]=I,e[13]=q):q=e[13];let X;e[14]!==R||e[15]!==d||e[16]!==x||e[17]!==I?(X=[R,d,x,I],e[14]=R,e[15]=d,e[16]=x,e[17]=I,e[18]=X):X=e[18],o.useEffect(q,X);let J;e[19]!==R||e[20]!==f||e[21]!==g||e[22]!==I||e[23]!==i||e[24]!==l?(J=async()=>xp(g,f)?Rs:(await l(R,{permissions:ao(g)},I)).ok?(u(Zn(g)),In):xs(i("settings.agents.page.permissionsEditor.toast.saveFailed")),e[19]=R,e[20]=f,e[21]=g,e[22]=I,e[23]=i,e[24]=l,e[25]=J):J=e[25];const H=J;let L,V;e[26]!==n||e[27]!==H?(L=()=>(n(H),()=>n(null)),V=[n,H],e[26]=n,e[27]=H,e[28]=L,e[29]=V):(L=e[28],V=e[29]),o.useEffect(L,V);let Z;e[30]!==K?(Z=K.map(Cp),e[30]=K,e[31]=Z):Z=e[31];const U=Z;let te;if(e[32]!==U||e[33]!==g.keys){te=[...dp,...up];const Fe=new Set(U.map(Ip));let $e;e[35]!==g.keys?($e=Object.keys(g.keys),e[35]=g.keys,e[36]=$e):$e=e[36];for(const W of $e)!te.includes(W)&&!Fe.has(W)&&te.push(W);e[32]=U,e[33]=g.keys,e[34]=te}else te=e[34];const O=te;let Q;e[37]!==M||e[38]!==i?(Q=Fe=>{switch(M?.[Fe]?.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]=Q):Q=e[39];const ce=Q;let de;e[40]!==h||e[41]!==g.global?(de=Fe=>bp(Fe,{global:h,agentGlobal:g.global}),e[40]=h,e[41]=g.global,e[42]=de):de=e[42];const pe=de;let re;e[43]!==r?(re=Fe=>{v($e=>({...$e,global:Fe})),r()},e[43]=r,e[44]=re):re=e[44];const Ce=re;let ie;e[45]!==r?(ie=(Fe,$e)=>{v(W=>{const Ve=Zn(W),et=Ve.keys[Fe]??{effect:null,patterns:[]};return et.effect=$e,et.effect===null&&et.patterns.length===0?delete Ve.keys[Fe]:Ve.keys[Fe]=et,Ve}),r()},e[45]=r,e[46]=ie):ie=e[46];const be=ie;let ae;e[47]!==r?(ae=(Fe,$e,W,Ve,et)=>{v(dt=>{const ct=Zn(dt),jt=ct.keys[Fe]??{effect:null,patterns:[]};return jt.patterns[$e]={pattern:W,effect:Ve},ct.keys[Fe]=jt,ct}),et&&r()},e[47]=r,e[48]=ae):ae=e[48];const fe=ae;let xe;e[49]===Symbol.for("react.memo_cache_sentinel")?(xe=Fe=>{v($e=>{const W=Zn($e),Ve=W.keys[Fe]??{effect:null,patterns:[]};return Ve.patterns.push({pattern:"",effect:"allow"}),W.keys[Fe]=Ve,W}),C($e=>({...$e,[Fe]:!0}))},e[49]=xe):xe=e[49];const Oe=xe;let Ne;e[50]!==r?(Ne=(Fe,$e)=>{v(W=>{const Ve=Zn(W),et=Ve.keys[Fe];return et?(et.patterns.splice($e,1),et.effect===null&&et.patterns.length===0&&delete Ve.keys[Fe],Ve):W}),r()},e[50]=r,e[51]=Ne):Ne=e[51];const he=Ne;let Te;e[52]!==w||e[53]!==r?(Te=()=>{const Fe=w.trim();!Fe||Fe==="*"||(v($e=>{if($e.keys[Fe])return $e;const W=Zn($e);return W.keys[Fe]={effect:"ask",patterns:[]},W}),D(""),r())},e[52]=w,e[53]=r,e[54]=Te):Te=e[54];const we=Te;let De;e[55]!==i?(De=Fe=>i(Fe==="allow"?"settings.agents.page.permissionsEditor.action.allow":Fe==="ask"?"settings.agents.page.permissionsEditor.action.ask":"settings.agents.page.permissionsEditor.action.deny"),e[55]=i,e[56]=De):De=e[56];const ve=De;let ee,ne,ye,Ae,ze,Qe,Be,_e,Me;if(e[57]!==ve||e[58]!==pe||e[59]!==P||e[60]!==j||e[61]!==k||e[62]!==U||e[63]!==ce||e[64]!==g.global||e[65]!==g.keys||e[66]!==he||e[67]!==Ce||e[68]!==be||e[69]!==fe||e[70]!==i||e[71]!==O){Me=Symbol.for("react.early_return_sentinel");e:{const Fe=i("settings.agents.page.permissionsEditor.action.inherit"),$e=i("settings.agents.page.permissionsEditor.action.default");let W;e[81]!==ve?(W=He=>[...He?[{value:"inherit",label:He}]:[],...cp.map(Y=>({value:Y,label:ve(Y)}))],e[81]=ve,e[82]=W):W=e[82];const Ve=W,et=(He,Y,me,Ke)=>{const Ee=Ke===void 0?Fe:Ke;return s.jsx(mn,{value:He??"inherit",options:Ve(Ee),onChange:Ye=>Y(Ye==="inherit"?null:Ye),"aria-label":me})};if(j){let He;e[83]!==i?(He=i("settings.agents.page.section.toolPermissions"),e[83]=i,e[84]=He):He=e[84];let Y;e[85]!==i?(Y=i("common.loading"),e[85]=i,e[86]=Y):Y=e[86];let me;e[87]!==Y?(me=s.jsx("p",{className:Ss,children:Y}),e[87]=Y,e[88]=me):me=e[88];let Ke;e[89]!==He||e[90]!==me?(Ke=s.jsx(Ge,{title:He,children:me}),e[89]=He,e[90]=me,e[91]=Ke):Ke=e[91],Me=Ke;break e}if(k){let He;e[92]!==i?(He=i("settings.agents.page.section.toolPermissions"),e[92]=i,e[93]=He):He=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 me;e[96]!==Y?(me=s.jsx("p",{className:"typography-meta text-[var(--status-error)]",children:Y}),e[96]=Y,e[97]=me):me=e[97];let Ke;e[98]===Symbol.for("react.memo_cache_sentinel")?(Ke=()=>A(Pp),e[98]=Ke):Ke=e[98];let Ee;e[99]!==i?(Ee=i("settings.agents.page.permissionsEditor.actions.retry"),e[99]=i,e[100]=Ee):Ee=e[100];let Ye;e[101]!==Ee?(Ye=s.jsx(G,{variant:"outline",size:"xs",onClick:Ke,children:Ee}),e[101]=Ee,e[102]=Ye):Ye=e[102];let se;e[103]!==me||e[104]!==Ye?(se=s.jsxs("div",{className:"flex items-center gap-3",children:[me,Ye]}),e[103]=me,e[104]=Ye,e[105]=se):se=e[105];let ke;e[106]!==He||e[107]!==se?(ke=s.jsx(Ge,{title:He,children:se}),e[106]=He,e[107]=se,e[108]=ke):ke=e[108],Me=ke;break e}const dt=(He,Y,me)=>{const Ke=g.keys[He]??jp,Ee=yp.has(He)||Ke.patterns.length>0,Ye=P[He]===!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:Ee?()=>C(se=>({...se,[He]:!Ye})):void 0,className:Ie("flex min-w-0 items-center gap-1.5 text-left",!Ee&&"cursor-default"),"aria-expanded":Ee?Ye:void 0,children:[s.jsx(B,{name:Ye&&Ee?"arrow-down-s":"arrow-right-s",className:Ie("h-3.5 w-3.5 shrink-0 text-muted-foreground",!Ee&&"opacity-0")}),s.jsx("span",{className:It,children:Y}),s.jsx("span",{className:"typography-micro font-mono text-muted-foreground/70",children:He}),me&&s.jsx("span",{className:"typography-micro rounded bg-muted px-1 text-muted-foreground",children:me}),Ke.effect===null&&s.jsx("span",{className:"typography-micro text-muted-foreground",children:i("settings.agents.page.permissionsEditor.effectiveHint",{action:ve(pe(He))})}),Ke.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(Ke.patterns.length)})})]}),et(Ke.effect,se=>be(He,se),i("settings.agents.page.permissionsEditor.keyAria",{key:He}))]}),Ye&&Ee&&s.jsxs("div",{className:"mt-2 space-y-2 pl-5",children:[Ke.patterns.map((se,ke)=>s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx(We,{value:se.pattern,onChange:at=>fe(He,ke,at.target.value,se.effect,!1),placeholder:i("settings.agents.page.permissionsEditor.patternPlaceholder"),"aria-label":i("settings.agents.page.permissionsEditor.patternActionAria",{key:He}),className:"h-8 w-full max-w-[24rem] min-w-0 flex-1 font-mono text-xs"}),s.jsx(mn,{value:se.effect,options:Ve(),onChange:at=>fe(He,ke,se.pattern,at,!0),"aria-label":i("settings.agents.page.permissionsEditor.patternActionAria",{key:He})}),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:()=>he(He,ke),"aria-label":i("settings.agents.page.permissionsEditor.actions.removeRuleAria"),children:s.jsx(B,{name:"close",className:"h-3.5 w-3.5"})})]},ke)),s.jsxs(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:()=>Oe(He),children:[s.jsx(B,{name:"add",className:"mr-1 h-3.5 w-3.5"}),i("settings.agents.page.permissionsEditor.actions.addRule")]})]})]},He)};ee=Ge,e[109]!==i?(ne=i("settings.agents.page.section.toolPermissions"),e[109]=i,e[110]=ne):ne=e[110],ye="agents.permissions",e[111]!==i?(Ae=i("settings.agents.page.permissionsEditor.sectionInfo"),e[111]=i,e[112]=Ae):Ae=e[112],ze="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 jt;e[115]!==ct?(jt=s.jsx("span",{className:It,children:ct}),e[115]=ct,e[116]=jt):jt=e[116];let kt;e[117]!==i?(kt=i("settings.agents.page.permissionsEditor.defaultInfo"),e[117]=i,e[118]=kt):kt=e[118];let yt;e[119]!==kt?(yt=s.jsx(Ht,{children:kt}),e[119]=kt,e[120]=yt):yt=e[120];let bt;e[121]!==ve||e[122]!==pe||e[123]!==g.global||e[124]!==i?(bt=g.global===null&&s.jsx("span",{className:"typography-micro text-muted-foreground",children:i("settings.agents.page.permissionsEditor.effectiveHint",{action:ve(pe("*"))})}),e[121]=ve,e[122]=pe,e[123]=g.global,e[124]=i,e[125]=bt):bt=e[125];let Ze;e[126]!==jt||e[127]!==yt||e[128]!==bt?(Ze=s.jsxs("div",{className:"flex items-center gap-1.5",children:[jt,yt,bt]}),e[126]=jt,e[127]=yt,e[128]=bt,e[129]=Ze):Ze=e[129];const wt=g.global;let Le;e[130]!==i?(Le=i("settings.agents.page.permissionsEditor.defaultAria"),e[130]=i,e[131]=Le):Le=e[131],Qe=s.jsxs("div",{className:"flex flex-col gap-2 pb-2 @xl:flex-row @xl:items-center @xl:justify-between",children:[Ze,et(wt,Ce,Le,$e)]}),Be=s.jsx("div",{children:O.map(He=>dt(He,vp(He),null))}),_e=U.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:It,children:i("settings.agents.page.permissionsEditor.mcpTitle")}),s.jsx(Ht,{children:i("settings.agents.page.permissionsEditor.mcpInfo")})]}),U.map(He=>dt(He.key,He.server,ce(He.server)))]})}e[57]=ve,e[58]=pe,e[59]=P,e[60]=j,e[61]=k,e[62]=U,e[63]=ce,e[64]=g.global,e[65]=g.keys,e[66]=he,e[67]=Ce,e[68]=be,e[69]=fe,e[70]=i,e[71]=O,e[72]=ee,e[73]=ne,e[74]=ye,e[75]=Ae,e[76]=ze,e[77]=Qe,e[78]=Be,e[79]=_e,e[80]=Me}else ee=e[72],ne=e[73],ye=e[74],Ae=e[75],ze=e[76],Qe=e[77],Be=e[78],_e=e[79],Me=e[80];if(Me!==Symbol.for("react.early_return_sentinel"))return Me;let nt;e[132]===Symbol.for("react.memo_cache_sentinel")?(nt=Fe=>D(Fe.target.value),e[132]=nt):nt=e[132];let pt;e[133]!==we?(pt=Fe=>{Fe.key==="Enter"&&(Fe.preventDefault(),we())},e[133]=we,e[134]=pt):pt=e[134];let lt;e[135]!==i?(lt=i("settings.agents.page.permissionsEditor.customKeyPlaceholder"),e[135]=i,e[136]=lt):lt=e[136];let ut;e[137]!==w||e[138]!==pt||e[139]!==lt?(ut=s.jsx(We,{value:w,onChange:nt,onKeyDown:pt,placeholder:lt,className:"h-8 w-full max-w-[16rem] font-mono text-xs"}),e[137]=w,e[138]=pt,e[139]=lt,e[140]=ut):ut=e[140];let ht;e[141]!==w?(ht=w.trim(),e[141]=w,e[142]=ht):ht=e[142];const Ue=!ht;let st;e[143]===Symbol.for("react.memo_cache_sentinel")?(st=s.jsx(B,{name:"add",className:"mr-1 h-3.5 w-3.5"}),e[143]=st):st=e[143];let ue;e[144]!==i?(ue=i("settings.agents.page.permissionsEditor.actions.addKey"),e[144]=i,e[145]=ue):ue=e[145];let oe;e[146]!==we||e[147]!==Ue||e[148]!==ue?(oe=s.jsxs(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:we,disabled:Ue,children:[st,ue]}),e[146]=we,e[147]=Ue,e[148]=ue,e[149]=oe):oe=e[149];let Pe;e[150]!==ut||e[151]!==oe?(Pe=s.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-t border-border/40 pt-3",children:[ut,oe]}),e[150]=ut,e[151]=oe,e[152]=Pe):Pe=e[152];let Re;return e[153]!==ee||e[154]!==ne||e[155]!==ye||e[156]!==Ae||e[157]!==ze||e[158]!==Qe||e[159]!==Be||e[160]!==_e||e[161]!==Pe?(Re=s.jsxs(ee,{title:ne,settingsItem:ye,info:Ae,contentClassName:ze,children:[Qe,Be,_e,Pe]}),e[153]=ee,e[154]=ne,e[155]=ye,e[156]=Ae,e[157]=ze,e[158]=Qe,e[159]=Be,e[160]=_e,e[161]=Pe,e[162]=Re):Re=e[162],Re};function kp(t){return t.updateAgent}function Np(t){return t.fetchAgentPermissions}function Sp(t){return t.loadMcpConfigs}function Cp(t){return{key:`${t.name}_*`,server:t.name}}function Ip(t){return t.key}function Pp(t){return t+1}const Co=t=>{const e=rt.c(11),{legacy:a,path:n,className:r}=t,{t:i}=Xe();if(!a)return null;let l;e[0]!==r?(l=Ie("mb-4 flex items-start gap-1.5",Ss,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(B,{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 m;e[5]!==h?(m=s.jsx("span",{children:h}),e[5]=h,e[6]=m):m=e[6];let f;return e[7]!==l||e[8]!==d||e[9]!==m?(f=s.jsxs("p",{className:l,title:d,children:[c,m]}),e[7]=l,e[8]=d,e[9]=m,e[10]=f):f=e[10],f},Ap=(t,e)=>{const a=Ln(e);return a?t.find(i=>i.id===a.providerId)?.models.find(i=>i.modelID===a.modelId)?.variants.map(i=>i.id)??[]:[]},Tp=()=>{const{t}=Xe(),e=it(he=>he.providers),{selectedAgentName:a,getAgentByName:n,createAgent:r,updateAgent:i,fetchAgentEntity:l,agentDraft:d,setAgentDraft:c,setSelectedAgent:h}=Gn(Us(he=>({selectedAgentName:he.selectedAgentName,getAgentByName:he.getAgentByName,createAgent:he.createAgent,updateAgent:he.updateAgent,fetchAgentEntity:he.fetchAgentEntity,agentDraft:he.agentDraft,setAgentDraft:he.setAgentDraft,setSelectedAgent:he.setSelectedAgent}))),m=Ws(),f=Gn(he=>bc(he,m)),u=a?n(a,m):null,g=!!(d&&d.name===a&&!u),[v,j]=o.useState(""),[b,k]=o.useState("user"),[p,N]=o.useState(""),[P,C]=o.useState("subagent"),[w,D]=o.useState(""),[x,A]=o.useState(""),[R,I]=o.useState(void 0),[E,F]=o.useState(void 0),[K,S]=o.useState(void 0),[M,z]=o.useState(""),[_,q]=o.useState(!1),[X,J]=o.useState(null),H=o.useRef({}),L=o.useRef(null),V=o.useCallback(he=>{L.current=he},[]),Z=o.useRef(null),U=JSON.stringify([a,m,g]),te=o.useRef(U);te.current=U;const O=o.useRef(null),Q={description:p,mode:P,model:w,variant:x,steps:R,temperature:E,topP:K,system:M},ce=o.useRef(Q);ce.current=Q;const de=o.useMemo(()=>Ap(e,w),[w,e]),pe=de.length>0,re=x||"__default",Ce=pe,ie=o.useMemo(()=>x&&!de.includes(x)?[x,...de]:de,[x,de]);o.useEffect(()=>{if(!g||!d)return;O.current=null;const he=ri(d.model),Te=d.name||"",we=d.scope||"user",De=d.description||"",ve=d.mode||"subagent",ee=he?`${he.providerID}/${he.modelID}`:"",ne=he?.variant||"",ye=d.steps??void 0,Ae=d.temperature??void 0,ze=d.top_p??void 0,Qe=d.system||"";H.current={},J(null),j(Te),k(we),N(De),C(ve),D(ee),A(ne),I(ye),F(Ae),S(ze),z(Qe),Z.current={draftName:Te,draftScope:we,description:De,mode:ve,model:ee,variant:ne,steps:ye,temperature:Ae,topP:ze,system:Qe}},[d,g]),o.useEffect(()=>{if(g||!a)return;let he=!1;return(async()=>{const Te=await l(a,m);if(he||te.current!==U||!Te)return;const we=Te.config;H.current=we;const De=ri(we.model),ve=we.request?.body,ee={draftName:"",draftScope:"user",description:we.description||"",mode:we.mode||u?.mode||"subagent",model:De?`${De.providerID}/${De.modelID}`:"",variant:De?.variant||"",steps:we.steps??void 0,temperature:ve?.temperature,topP:ve?.top_p,system:we.system||""},ne=Z.current,ye=ce.current,Ae=ne!==null&&(ye.description!==ne.description||ye.mode!==ne.mode||ye.model!==ne.model||ye.variant!==ne.variant||ye.steps!==ne.steps||ye.temperature!==ne.temperature||ye.topP!==ne.topP||ye.system!==ne.system);J({legacy:Te.legacy===!0,path:Te.path}),!(O.current===U&&Ae)&&(O.current=U,N(ee.description),C(ee.mode),D(ee.model),A(ee.variant),I(ee.steps),F(ee.temperature),S(ee.topP),z(ee.system),Z.current=ee)})(),()=>{he=!0}},[l,g,u,a,m,U]);const be=o.useCallback(he=>{const Te=Ln(w.trim()),we=Te?vc({providerID:Te.providerId,modelID:Te.modelId,variant:x.trim()||void 0}):null,De=H.current.request,ve={...De?.body};E===void 0?delete ve.temperature:ve.temperature=E,K===void 0?delete ve.top_p:ve.top_p=K;const ee=De?.headers,ne={};ee&&Object.keys(ee).length>0&&(ne.headers=ee),Object.keys(ve).length>0&&(ne.body=ve);const ye=p.trim(),Ae=M.trim(),ze={name:he,mode:P,model:we,steps:R??null,system:Ae||(g?void 0:null),request:Object.keys(ne).length>0?ne:null};return ye&&(ze.description=ye),g&&b&&(ze.scope=b),g&&d?.permissions?.length&&(ze.permissions=d.permissions),ze},[d,p,b,g,P,w,R,M,E,K,x]),ae=o.useCallback(async()=>{const he=Z.current,Te=a?.trim();if(g||!he||!Te)return Rs;const we=L.current?await L.current():Rs;if(p===he.description&&P===he.mode&&w===he.model&&x===he.variant&&R===he.steps&&E===he.temperature&&K===he.topP&&M===he.system||!we.ok)return we;const ve=be(Te);return(await i(Te,ve,m)).ok?(te.current!==U||(H.current={...H.current,model:ve.model,system:ve.system??void 0,steps:ve.steps,request:ve.request??void 0},Z.current={...he,description:p,mode:P,model:w,variant:x,steps:R,temperature:E,topP:K,system:M}),In):xs(t("settings.agents.page.toast.updateFailed"))},[be,p,g,P,w,a,U,m,R,M,t,E,K,i,x]),fe=qa(ae),{requestSave:xe}=fe,Oe=async()=>{const he=v.trim().replace(/\s+/g,"-");if(!he){$.error(t("settings.agents.sidebar.toast.agentNameRequired"));return}if(f.some(Te=>Te.name===he)){$.error(t("settings.agents.sidebar.toast.agentExists"));return}q(!0);try{(await r(be(he),m)).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 we=Te instanceof Error&&Te.message?Te.message:t("settings.agents.page.toast.saveUnexpectedError");$.error(we)}finally{q(!1)}},Ne=()=>{c(null),h(null)};return a?s.jsxs(ns,{title:g?t("settings.agents.page.title.new"):a,description:t(g?"settings.agents.page.subtitle.new":"settings.agents.page.subtitle.edit"),onBlurCapture:fe.onBlurCapture,children:[!g&&X&&s.jsx(Co,{legacy:X.legacy,path:X.path}),s.jsxs(Ge,{title:t("settings.agents.page.section.identityRole"),divider:!1,contentClassName:"space-y-0",children:[g&&s.jsxs(St,{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(We,{value:v,onChange:he=>j(he.target.value),placeholder:t("settings.agents.page.field.agentNamePlaceholder"),className:"h-7 w-40 px-2"})]}),s.jsxs(Et,{value:b,onValueChange:he=>k(he),children:[s.jsx(At,{size:Vt,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(mt,{value:"user",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(B,{name:"user-3",className:"h-3.5 w-3.5"}),s.jsx("span",{children:t("settings.common.scope.global")})]})}),s.jsx(mt,{value:"project",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(B,{name:"folder",className:"h-3.5 w-3.5"}),s.jsx("span",{children:t("settings.common.scope.project")})]})})]})]})]}),s.jsx(Rt,{label:t("settings.common.field.description"),controlClassName:"w-full max-w-none",children:s.jsx(As,{value:p,onChange:he=>N(he.target.value),placeholder:t("settings.agents.page.field.descriptionPlaceholder"),rows:2,className:"w-full resize-none min-h-[60px] bg-transparent"})}),s.jsx(Rt,{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:P,onChange:he=>{C(he),xe()},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(Ge,{title:t("settings.agents.page.section.modelParameters"),contentClassName:"space-y-3",children:[s.jsx(St,{settingsItem:"agents.model",label:t("settings.agents.page.field.overrideModel"),children:s.jsx(la,{providerId:Ln(w)?.providerId??"",modelId:Ln(w)?.modelId??"",onChange:(he,Te)=>{D(he&&Te?`${he}/${Te}`:""),A(""),xe()},className:qs})}),s.jsx(St,{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:Ce?s.jsxs(Et,{value:re,onValueChange:he=>{A(he==="__default"?"":he),xe()},children:[s.jsx(At,{size:Vt,className:nn,children:s.jsx(_t,{placeholder:t("settings.agents.page.field.variantPlaceholder"),children:he=>he==="__default"?t("chat.modelControls.default"):he})}),s.jsxs(Tt,{children:[s.jsx(mt,{value:"__default",children:t("chat.modelControls.default")}),ie.map(he=>s.jsx(mt,{value:he,children:he},he))]})]}):s.jsxs(s.Fragment,{children:[s.jsx(We,{value:x,onChange:he=>A(he.target.value),placeholder:t("settings.agents.page.field.variantPlaceholder"),disabled:!w&&!x,className:"h-8 w-40 rounded-md px-3"}),x&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{A(""),xe()},className:gs,"aria-label":t("settings.common.actions.clear"),title:t("settings.common.actions.clear"),children:s.jsx(B,{name:"close",className:"h-3.5 w-3.5"})})]})}),s.jsxs(St,{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(fs,{value:E,fallbackValue:.7,onValueChange:F,onClear:()=>{F(void 0),xe()},min:0,max:2,step:.1,inputMode:"decimal",placeholder:"—",emptyLabel:"—",className:ys}),E!==void 0&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{F(void 0),xe()},className:gs,"aria-label":t("settings.agents.page.field.clearTemperatureAria"),title:t("settings.common.actions.clear"),children:s.jsx(B,{name:"close",className:"h-3.5 w-3.5"})})]}),s.jsxs(St,{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(fs,{value:K,fallbackValue:.9,onValueChange:S,onClear:()=>{S(void 0),xe()},min:0,max:1,step:.1,inputMode:"decimal",placeholder:"—",emptyLabel:"—",className:ys}),K!==void 0&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{S(void 0),xe()},className:gs,"aria-label":t("settings.agents.page.field.clearTopPAria"),title:t("settings.common.actions.clear"),children:s.jsx(B,{name:"close",className:"h-3.5 w-3.5"})})]}),s.jsxs(St,{settingsItem:"agents.steps",label:t("settings.agents.page.field.steps"),info:t("settings.agents.page.field.stepsTooltip"),children:[s.jsx(fs,{value:R,fallbackValue:20,onValueChange:I,onClear:()=>{I(void 0),xe()},min:1,max:1e3,step:1,inputMode:"numeric",placeholder:"—",emptyLabel:"—",className:ys}),R!==void 0&&s.jsx(G,{size:"sm",type:"button",variant:"ghost",onClick:()=>{I(void 0),xe()},className:gs,"aria-label":t("settings.agents.page.field.clearStepsAria"),title:t("settings.common.actions.clear"),children:s.jsx(B,{name:"close",className:"h-3.5 w-3.5"})})]})]}),s.jsx(Ge,{title:t("settings.agents.page.section.systemPrompt"),settingsItem:"agents.system-prompt",children:s.jsx(As,{value:M,onChange:he=>z(he.target.value),placeholder:t("settings.agents.page.field.systemPromptPlaceholder"),rows:8,className:"w-full font-mono typography-meta min-h-[120px] max-h-[60vh] bg-transparent"})}),!g&&u&&s.jsx(wp,{agent:u,registerSave:V,requestSave:xe}),g&&s.jsxs("div",{className:"flex items-center gap-2 pb-8",children:[s.jsx(G,{onClick:()=>{Oe()},disabled:_||!v.trim(),size:"xs",className:"!font-normal",children:t(_?"settings.common.actions.saving":"settings.common.actions.create")}),s.jsx(G,{variant:"ghost",onClick:Ne,disabled:_,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(B,{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 Ep(t,e){return t.kind==="file"?t.content:e??""}const Dp=Gs({content:es(),exists:No(),path:es().min(1).optional()}),Mp=async(t,e)=>{const a=await t.json().catch(()=>null);return typeof a?.error=="string"&&a.error.trim()?a.error:e},Rp=t=>t.length>0&&!t.endsWith(`
2
2
  `)?`${t}
3
3
  `:t,Di={prompt:"",responseStyleEnabled:!1,responseStylePreset:"concise",responseStyleCustomInstructions:""},Fp=(t,e)=>t==="custom"?e:Fd(t),Op=t=>t==="custom"?"custom":yc(t)?t:"concise",pl={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"},Lp=()=>{const{t}=Xe(),[e,a]=o.useState(""),[n,r]=o.useState("AGENTS.md"),[i,l]=o.useState(Di.responseStyleEnabled),[d,c]=o.useState(Di.responseStylePreset),[h,m]=o.useState(Di.responseStyleCustomInstructions),[f,u]=o.useState(!0),g=o.useRef(null);o.useEffect(()=>{const p=new AbortController;return(async()=>{try{const[P,C]=await Promise.all([An(),Nt("/api/behavior/agents-md",{method:"GET",headers:{Accept:"application/json"},signal:p.signal})]);let w=Di,D;P&&(w={...w,responseStyleEnabled:P.responseStyleEnabled===!0,responseStylePreset:Op(P.responseStylePreset),responseStyleCustomInstructions:P.responseStyleCustomInstructions??""},P.globalBehaviorPrompt!==void 0&&(D=P.globalBehaviorPrompt));let x={kind:"missing"};if(C.ok){const A=Dp.parse(await C.json());if(p.signal.aborted)return;r(A.path??"AGENTS.md"),A.exists&&(x={kind:"file",content:A.content})}w={...w,prompt:Ep(x,D)},a(w.prompt),l(w.responseStyleEnabled),c(w.responseStylePreset),m(w.responseStyleCustomInstructions),g.current=w}catch(P){P.name!=="AbortError"&&console.warn("Failed to load behavior settings:",P)}finally{u(!1)}})(),()=>p.abort()},[]);const v=o.useCallback(async()=>{const p=g.current;if(!p||f)return Rs;const N=e!==p.prompt,P=i!==p.responseStyleEnabled||d!==p.responseStylePreset||h!==p.responseStyleCustomInstructions;if(!N&&!P)return Rs;const C=N?Rp(e):p.prompt;if(N){const D=await Nt("/api/behavior/agents-md",{method:"PUT",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({content:C})});if(!D.ok)return xs(await Mp(D,t("settings.behavior.page.toast.saveFailed")));a(x=>x===e?C:x)}return(await ft({...N?{globalBehaviorPrompt:C}:{},responseStyleEnabled:i,responseStylePreset:d,responseStyleCustomInstructions:h})).ok?(g.current={prompt:C,responseStyleEnabled:i,responseStylePreset:d,responseStyleCustomInstructions:h},In):xs(t("settings.behavior.page.toast.saveFailed"))},[f,e,h,i,d,t]),j=qa(v),{requestSave:b}=j,k=Fp(d,h);return s.jsxs(ns,{title:t("settings.behavior.page.title"),description:t("settings.page.behavior.description"),onBlurCapture:j.onBlurCapture,children:[s.jsx(Ge,{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:p=>a(p.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(Ge,{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:p=>{l(p),b()},disabled:f,label:t("settings.behavior.page.responseStyle.enable"),ariaLabel:t("settings.behavior.page.responseStyle.enableAria")}),s.jsx(St,{label:t("settings.behavior.page.responseStyle.preset"),alignEnd:!1,children:s.jsxs(Et,{value:d,onValueChange:p=>{c(p),b()},disabled:f||!i,children:[s.jsx(At,{size:Vt,className:nn,children:s.jsx(_t,{children:p=>p==="custom"?t("settings.behavior.page.responseStyle.option.custom"):yc(p)?t(pl[p]):null})}),s.jsxs(Tt,{children:[Rd.map(p=>s.jsx(mt,{value:p,children:t(pl[p])},p)),s.jsx(mt,{value:"custom",children:t("settings.behavior.page.responseStyle.option.custom")})]})]})}),s.jsx(As,{value:k,onChange:p=>m(p.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"})]})]})},Kp=(t,e)=>t.kind===e.kind&&(t.kind!=="provider"||e.kind==="provider"&&t.id===e.id),zp=t=>{const e=rt.c(73),{snapshot:a}=t,{t:n}=Xe(),r=ui(Bp),i=a.selection,l=a.projectOverride!==null;let d;e[0]!==l||e[1]!==i||e[2]!==r||e[3]!==n?(d=K=>{l||Kp(K,i)||r(K).then(S=>{S||$.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(K=>K.id===i.id)?i.id:null;let m;e[5]!==n?(m=n("settings.webSearch.section.provider"),e[5]=n,e[6]=m):m=e[6];let f;e[7]!==n?(f=n("settings.webSearch.section.providerInfo"),e[7]=n,e[8]=f):f=e[8];let u;e[9]!==n?(u=n("settings.webSearch.section.provider"),e[9]=n,e[10]=u):u=e[10];const g=i.kind==="default";let v;e[11]!==c?(v=()=>c({kind:"default"}),e[11]=c,e[12]=v):v=e[12];let j;e[13]!==n?(j=n("settings.webSearch.option.default"),e[13]=n,e[14]=j):j=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]!==g||e[19]!==v||e[20]!==j||e[21]!==b?(k=s.jsx(ks,{selected:g,onSelect:v,disabled:l,label:j,description:b}),e[17]=l,e[18]=g,e[19]=v,e[20]=j,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(ks,{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 N;if(e[29]!==c||e[30]!==l||e[31]!==i.id||e[32]!==i.kind||e[33]!==a.providers){let K;e[35]!==c||e[36]!==l||e[37]!==i.id||e[38]!==i.kind?(K=S=>s.jsx(ks,{selected:i.kind==="provider"&&i.id===S.id,onSelect:()=>c({kind:"provider",id:S.id}),disabled:l,label:S.name},S.id),e[35]=c,e[36]=l,e[37]=i.id,e[38]=i.kind,e[39]=K):K=e[39],N=a.providers.map(K),e[29]=c,e[30]=l,e[31]=i.id,e[32]=i.kind,e[33]=a.providers,e[34]=N}else N=e[34];let P;e[40]!==h||e[41]!==n?(P=h?s.jsx(ks,{selected:!0,onSelect:Vp,label:h,description:n("settings.webSearch.option.missing")}):null,e[40]=h,e[41]=n,e[42]=P):P=e[42];const C=i.kind==="off";let w;e[43]!==c?(w=()=>c({kind:"off"}),e[43]=c,e[44]=w):w=e[44];let D;e[45]!==n?(D=n("settings.webSearch.option.off"),e[45]=n,e[46]=D):D=e[46];let x;e[47]!==l||e[48]!==C||e[49]!==w||e[50]!==D?(x=s.jsx(ks,{selected:C,onSelect:w,disabled:l,label:D}),e[47]=l,e[48]=C,e[49]=w,e[50]=D,e[51]=x):x=e[51];let A;e[52]!==p||e[53]!==N||e[54]!==P||e[55]!==x||e[56]!==u||e[57]!==k?(A=s.jsxs(tn,{"aria-label":u,children:[k,p,N,P,x]}),e[52]=p,e[53]=N,e[54]=P,e[55]=x,e[56]=u,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:`${Ss} 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 I;e[62]!==a.providers.length||e[63]!==n?(I=a.providers.length===0?s.jsx("p",{className:`${Ss} mt-2`,children:n("settings.webSearch.state.noProviders")}):null,e[62]=a.providers.length,e[63]=n,e[64]=I):I=e[64];let E;e[65]!==A||e[66]!==R||e[67]!==I?(E=s.jsxs("div",{children:[A,R,I]}),e[65]=A,e[66]=R,e[67]=I,e[68]=E):E=e[68];let F;return e[69]!==m||e[70]!==E||e[71]!==f?(F=s.jsx(Ge,{title:m,info:f,divider:!1,settingsItem:"web-search.provider",children:E}),e[69]=m,e[70]=E,e[71]=f,e[72]=F):F=e[72],F},_p=t=>{const e=rt.c(26),{provider:a,access:n}=t,{t:r}=Xe(),i=ui(Hp),l=ui(qp),[d,c]=o.useState(""),[h,m]=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 u=f;let g;e[3]!==d||e[4]!==a.id||e[5]!==a.name||e[6]!==i||e[7]!==r?(g=async()=>{const P=d.trim();if(!P)return;m(!0);const C=await i(a.id,P);m(!1),C?(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]=g):g=e[8];const v=g;let j;e[9]!==a.id||e[10]!==l||e[11]!==r?(j=async()=>{m(!0);const P=await l(a.id);m(!1),P||$.error(r("settings.webSearch.toast.keyRemoveFailed"))},e[9]=a.id,e[10]=l,e[11]=r,e[12]=j):j=e[12];const b=j,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(We,{type:"password",value:d,onChange:P=>c(P.target.value),onKeyDown:P=>{P.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 N;return e[22]!==u||e[23]!==a.name||e[24]!==p?(N=s.jsx(St,{label:a.name,info:u,children:p}),e[22]=u,e[23]=a.name,e[24]=p,e[25]=N):N=e[25],N},Up=t=>{const e=rt.c(23),{snapshot:a}=t,{t:n}=Xe(),r=a.access;let i,l,d,c,h,m,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(j=>{const b=r[j.id];return b&&b.key.kind!=="unsupported"?[{provider:j,access:b}]:[]}):[];if(r&&v.length===0){f=null;break e}i=Ge,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],m="web-search.keys",l="space-y-4",d=r===null?s.jsx("p",{className:Ss,children:n("settings.webSearch.state.keysUnavailable")}):v.map(Gp)}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]=m,e[9]=f}else i=e[3],l=e[4],d=e[5],c=e[6],h=e[7],m=e[8],f=e[9];if(f!==Symbol.for("react.early_return_sentinel"))return f;let u;e[14]!==l||e[15]!==d?(u=s.jsx("div",{className:l,children:d}),e[14]=l,e[15]=d,e[16]=u):u=e[16];let g;return e[17]!==i||e[18]!==c||e[19]!==h||e[20]!==m||e[21]!==u?(g=s.jsx(i,{title:c,info:h,settingsItem:m,children:u}),e[17]=i,e[18]=c,e[19]=h,e[20]=m,e[21]=u,e[22]=g):g=e[22],g},$p=()=>{const t=rt.c(17),{t:e}=Xe(),a=ui(Wp),n=ui(Jp);let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=Od(),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 m;t[6]!==e?(m=e("settings.page.webSearch.description"),t[6]=e,t[7]=m):m=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(zp,{snapshot:c}),s.jsx(Up,{snapshot:c})]}):a.kind==="failed"?s.jsx(Ge,{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(Ge,{divider:!1,children:s.jsx("p",{className:Ss,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 u;return t[13]!==h||t[14]!==m||t[15]!==f?(u=s.jsx(ns,{title:h,description:m,showSaveStatus:!0,children:f}),t[13]=h,t[14]=m,t[15]=f,t[16]=u):u=t[16],u};function Bp(t){return t.setSelection}function Vp(){}function Hp(t){return t.saveKey}function qp(t){return t.removeKey}function Gp(t){const{provider:e,access:a}=t;return s.jsx(_p,{provider:e,access:a},e.id)}function Wp(t){return t.state}function Jp(t){return t.load}const Qp=t=>{const e=rt.c(176),{onItemSelect:a}=t,{t:n}=Xe(),[r,i]=o.useState(null),[l,d]=o.useState(""),[c,h]=o.useState(null),[m,f]=o.useState(null),[u,g]=o.useState(!1),[v,j]=o.useState(null),{selectedCommandName:b,setSelectedCommand:k,setCommandDraft:p,createCommand:N,deleteCommand:P,loadCommands:C}=Va(Us(Yp)),w=Ws();let D;e[0]!==w?(D=Ze=>jc(Ze,w),e[0]=w,e[1]=D):D=e[1];const x=Va(D);let A;e[2]!==w?(A=Ze=>go(Ze,w),e[2]=w,e[3]=A):A=e[3];const R=sn(A),I=sn(Zp);let E,F;e[4]!==C||e[5]!==I||e[6]!==w?(E=()=>{C(w),I(w)},F=[C,I,w],e[4]=C,e[5]=I,e[6]=w,e[7]=E,e[8]=F):(E=e[7],F=e[8]),o.useEffect(E,F);let K;e[9]!==R?(K=new Set(R.map(Xp)),e[9]=R,e[10]=K):K=e[10];const S=K;let M;if(e[11]!==x||e[12]!==S){let Ze;e[14]!==S?(Ze=wt=>!S.has(wt.name),e[14]=S,e[15]=Ze):Ze=e[15],M=x.filter(Ze),e[11]=x,e[12]=S,e[13]=M}else M=e[13];const z=M;let _,q;e[16]!==b||e[17]!==k||e[18]!==S?(_=()=>{b&&S.has(b)&&k(null)},q=[b,k,S],e[16]=b,e[17]=k,e[18]=S,e[19]=_,e[20]=q):(_=e[19],q=e[20]),o.useEffect(_,q);let X;e[21]!==x||e[22]!==a||e[23]!==p||e[24]!==k?(X=()=>{let Ze="new-command",wt=1;for(;x.some(Le=>Le.name===Ze);)Ze=`new-command-${wt}`,wt++;p({name:Ze,scope:"user"}),k(Ze),a?.()},e[21]=x,e[22]=a,e[23]=p,e[24]=k,e[25]=X):X=e[25];const J=X;let H;e[26]!==n?(H=async Ze=>{if(za(Ze)){$.error(n("settings.commands.sidebar.toast.builtInCannotDelete"));return}h(Ze),f("delete")},e[26]=n,e[27]=H):H=e[27];const L=H;let V;e[28]===Symbol.for("react.memo_cache_sentinel")?(V=async Ze=>{za(Ze)&&(h(Ze),f("reset"))},e[28]=V):V=e[28];const Z=V;let U;e[29]===Symbol.for("react.memo_cache_sentinel")?(U=()=>{h(null),f(null)},e[29]=U):U=e[29];const te=U;let O;e[30]!==c||e[31]!==m||e[32]!==P||e[33]!==w||e[34]!==n?(O=async()=>{if(!c||!m)return;g(!0),await P(c.name,w)?(m==="delete"?$.success(n("settings.commands.sidebar.toast.commandDeleted",{name:c.name})):$.success(n("settings.commands.sidebar.toast.commandReset",{name:c.name})),te()):m==="delete"?$.error(n("settings.commands.sidebar.toast.deleteFailed")):$.error(n("settings.commands.sidebar.toast.resetFailed")),g(!1)},e[30]=c,e[31]=m,e[32]=P,e[33]=w,e[34]=n,e[35]=O):O=e[35];const Q=O;let ce;e[36]!==x||e[37]!==p||e[38]!==k?(ce=Ze=>{const wt=Ze.name;let Le=1,He=`${wt}-copy`;for(;x.some(Y=>Y.name===He);)Le++,He=`${wt}-copy-${Le}`;p({name:He,scope:Ze.scope||"user",description:Ze.description,template:Ze.template,agent:Ze.agent,model:Ze.model,subagent:Ze.subagent}),k(He)},e[36]=x,e[37]=p,e[38]=k,e[39]=ce):ce=e[39];const de=ce;let pe;e[40]===Symbol.for("react.memo_cache_sentinel")?(pe=Ze=>{d(Ze.name),i(Ze)},e[40]=pe):pe=e[40];const re=pe;let Ce;e[41]!==x||e[42]!==N||e[43]!==P||e[44]!==r||e[45]!==l||e[46]!==k||e[47]!==w||e[48]!==n?(Ce=async()=>{if(!r)return;const Ze=l.trim().replace(/\s+/g,"-");if(!Ze){$.error(n("settings.commands.sidebar.toast.commandNameRequired"));return}if(Ze===r.name){i(null);return}if(x.some(Le=>Le.name===Ze)){$.error(n("settings.commands.sidebar.toast.commandExists"));return}await N({name:Ze,description:r.description,template:r.template,agent:r.agent,model:r.model,subagent:r.subagent,scope:r.scope},w)?await P(r.name,w)?($.success(`Command renamed to "${Ze}"`),k(Ze)):$.error(n("settings.commands.sidebar.toast.removeOldAfterRenameFailed")):$.error(n("settings.commands.sidebar.toast.renameFailed")),i(null)},e[41]=x,e[42]=N,e[43]=P,e[44]=r,e[45]=l,e[46]=k,e[47]=w,e[48]=n,e[49]=Ce):Ce=e[49];const ie=Ce;let be,ae,fe,xe,Oe,Ne;if(e[50]!==z||e[51]!==J||e[52]!==L||e[53]!==de||e[54]!==a||e[55]!==v||e[56]!==b||e[57]!==k||e[58]!==n){const Ze=z.filter(za),wt=z.filter(eg);e[65]===Symbol.for("react.memo_cache_sentinel")?(Oe=Ie("flex h-full flex-col","bg-background"),e[65]=Oe):Oe=e[65];let Le;e[66]!==n?(Le=n("settings.commands.sidebar.title"),e[66]=n,e[67]=Le):Le=e[67];let He;e[68]!==Le?(He=s.jsx("h2",{className:`${Pn} mb-3`,children:Le}),e[68]=Le,e[69]=He):He=e[69];let Y;e[70]===Symbol.for("react.memo_cache_sentinel")?(Y=s.jsx(fi,{className:"mb-3"}),e[70]=Y):Y=e[70];let me;e[71]!==z.length||e[72]!==n?(me=n("settings.commands.sidebar.total",{count:z.length}),e[71]=z.length,e[72]=n,e[73]=me):me=e[73];let Ke;e[74]!==me?(Ke=s.jsx("span",{className:"typography-meta text-muted-foreground",children:me}),e[74]=me,e[75]=Ke):Ke=e[75];let Ee;e[76]===Symbol.for("react.memo_cache_sentinel")?(Ee=s.jsx(B,{name:"add",className:"h-3.5 w-3.5"}),e[76]=Ee):Ee=e[76];let Ye;e[77]!==J?(Ye=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:Ee}),e[77]=J,e[78]=Ye):Ye=e[78];let se;e[79]!==Ke||e[80]!==Ye?(se=s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[Ke,Ye]}),e[79]=Ke,e[80]=Ye,e[81]=se):se=e[81],e[82]!==He||e[83]!==se?(Ne=s.jsxs("div",{className:"border-b px-3 pt-4 pb-3",children:[He,Y,se]}),e[82]=He,e[83]=se,e[84]=Ne):Ne=e[84],be=vs,ae="flex-1 min-h-0",fe="space-y-1 px-3 py-2",xe=z.length===0?s.jsxs("div",{className:"py-12 px-4 text-center text-muted-foreground",children:[s.jsx(B,{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:[Ze.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")}),[...Ze].sort(tg).map(ke=>s.jsx(gl,{command:ke,isSelected:b===ke.name,onSelect:()=>{k(ke.name),a?.()},onReset:()=>Z(ke),onDuplicate:()=>de(ke),isMenuOpen:v===ke.name,onMenuOpenChange:at=>j(at?ke.name:null)},ke.name))]}),wt.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")}),[...wt].sort(sg).map(ke=>s.jsx(gl,{command:ke,isSelected:b===ke.name,onSelect:()=>{k(ke.name),a?.()},onRename:()=>re(ke),onDelete:()=>L(ke),onDuplicate:()=>de(ke),isMenuOpen:v===ke.name,onMenuOpenChange:at=>j(at?ke.name:null)},ke.name))]})]}),e[50]=z,e[51]=J,e[52]=L,e[53]=de,e[54]=a,e[55]=v,e[56]=b,e[57]=k,e[58]=n,e[59]=be,e[60]=ae,e[61]=fe,e[62]=xe,e[63]=Oe,e[64]=Ne}else be=e[59],ae=e[60],fe=e[61],xe=e[62],Oe=e[63],Ne=e[64];let he;e[85]!==be||e[86]!==ae||e[87]!==fe||e[88]!==xe?(he=s.jsx(be,{outerClassName:ae,className:fe,children:xe}),e[85]=be,e[86]=ae,e[87]=fe,e[88]=xe,e[89]=he):he=e[89];const Te=c!==null&&m!==null;let we;e[90]!==u?(we=Ze=>{!Ze&&!u&&te()},e[90]=u,e[91]=we):we=e[91];let De;e[92]!==m||e[93]!==n?(De=n(m==="delete"?"settings.commands.sidebar.dialog.deleteTitle":"settings.commands.sidebar.dialog.resetTitle"),e[92]=m,e[93]=n,e[94]=De):De=e[94];let ve;e[95]!==De?(ve=s.jsx($t,{children:De}),e[95]=De,e[96]=ve):ve=e[96];let ee;e[97]!==c?.name||e[98]!==m||e[99]!==n?(ee=m==="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]=m,e[99]=n,e[100]=ee):ee=e[100];let ne;e[101]!==ee?(ne=s.jsx(Bt,{children:ee}),e[101]=ee,e[102]=ne):ne=e[102];let ye;e[103]!==ve||e[104]!==ne?(ye=s.jsxs(Ut,{children:[ve,ne]}),e[103]=ve,e[104]=ne,e[105]=ye):ye=e[105];let Ae;e[106]!==n?(Ae=n("settings.common.actions.cancel"),e[106]=n,e[107]=Ae):Ae=e[107];let ze;e[108]!==u||e[109]!==Ae?(ze=s.jsx(G,{size:"sm",variant:"ghost",onClick:te,disabled:u,children:Ae}),e[108]=u,e[109]=Ae,e[110]=ze):ze=e[110];let Qe;e[111]!==m||e[112]!==n?(Qe=n(m==="delete"?"settings.common.actions.delete":"settings.common.actions.reset"),e[111]=m,e[112]=n,e[113]=Qe):Qe=e[113];let Be;e[114]!==Q||e[115]!==u||e[116]!==Qe?(Be=s.jsx(G,{size:"sm",onClick:Q,disabled:u,children:Qe}),e[114]=Q,e[115]=u,e[116]=Qe,e[117]=Be):Be=e[117];let _e;e[118]!==ze||e[119]!==Be?(_e=s.jsxs(as,{children:[ze,Be]}),e[118]=ze,e[119]=Be,e[120]=_e):_e=e[120];let Me;e[121]!==ye||e[122]!==_e?(Me=s.jsxs(zt,{className:"max-w-md",children:[ye,_e]}),e[121]=ye,e[122]=_e,e[123]=Me):Me=e[123];let nt;e[124]!==Te||e[125]!==we||e[126]!==Me?(nt=s.jsx(Kt,{open:Te,onOpenChange:we,children:Me}),e[124]=Te,e[125]=we,e[126]=Me,e[127]=nt):nt=e[127];const pt=r!==null;let lt;e[128]===Symbol.for("react.memo_cache_sentinel")?(lt=Ze=>!Ze&&i(null),e[128]=lt):lt=e[128];let ut;e[129]!==n?(ut=n("settings.commands.sidebar.renameDialog.title"),e[129]=n,e[130]=ut):ut=e[130];let ht;e[131]!==ut?(ht=s.jsx($t,{children:ut}),e[131]=ut,e[132]=ht):ht=e[132];const Ue=r?.name??"";let st;e[133]!==n||e[134]!==Ue?(st=n("settings.commands.sidebar.renameDialog.description",{name:Ue}),e[133]=n,e[134]=Ue,e[135]=st):st=e[135];let ue;e[136]!==st?(ue=s.jsx(Bt,{children:st}),e[136]=st,e[137]=ue):ue=e[137];let oe;e[138]!==ht||e[139]!==ue?(oe=s.jsxs(Ut,{children:[ht,ue]}),e[138]=ht,e[139]=ue,e[140]=oe):oe=e[140];let Pe;e[141]===Symbol.for("react.memo_cache_sentinel")?(Pe=Ze=>d(Ze.target.value),e[141]=Pe):Pe=e[141];let Re;e[142]!==n?(Re=n("settings.commands.sidebar.renameDialog.placeholder"),e[142]=n,e[143]=Re):Re=e[143];let Fe;e[144]!==ie?(Fe=Ze=>{Ze.key==="Enter"&&ie()},e[144]=ie,e[145]=Fe):Fe=e[145];let $e;e[146]!==l||e[147]!==Re||e[148]!==Fe?($e=s.jsx(We,{value:l,onChange:Pe,placeholder:Re,className:"text-foreground placeholder:text-muted-foreground",onKeyDown:Fe}),e[146]=l,e[147]=Re,e[148]=Fe,e[149]=$e):$e=e[149];let W;e[150]===Symbol.for("react.memo_cache_sentinel")?(W=()=>i(null),e[150]=W):W=e[150];let Ve;e[151]!==n?(Ve=n("settings.common.actions.cancel"),e[151]=n,e[152]=Ve):Ve=e[152];let et;e[153]!==Ve?(et=s.jsx(G,{size:"sm",variant:"ghost",onClick:W,children:Ve}),e[153]=Ve,e[154]=et):et=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]!==ie||e[158]!==dt?(ct=s.jsx(G,{size:"sm",onClick:ie,children:dt}),e[157]=ie,e[158]=dt,e[159]=ct):ct=e[159];let jt;e[160]!==et||e[161]!==ct?(jt=s.jsxs(as,{children:[et,ct]}),e[160]=et,e[161]=ct,e[162]=jt):jt=e[162];let kt;e[163]!==oe||e[164]!==$e||e[165]!==jt?(kt=s.jsxs(zt,{children:[oe,$e,jt]}),e[163]=oe,e[164]=$e,e[165]=jt,e[166]=kt):kt=e[166];let yt;e[167]!==pt||e[168]!==kt?(yt=s.jsx(Kt,{open:pt,onOpenChange:lt,children:kt}),e[167]=pt,e[168]=kt,e[169]=yt):yt=e[169];let bt;return e[170]!==Oe||e[171]!==Ne||e[172]!==he||e[173]!==nt||e[174]!==yt?(bt=s.jsxs("div",{className:Oe,children:[Ne,he,nt,yt]}),e[170]=Oe,e[171]=Ne,e[172]=he,e[173]=nt,e[174]=yt,e[175]=bt):bt=e[175],bt},gl=t=>{const e=rt.c(47),{command:a,isSelected:n,onSelect:r,onDelete:i,onReset:l,onRename:d,onDuplicate:c,isMenuOpen:h,onMenuOpenChange:m}=t,{t:f}=Xe();let u;e[0]===Symbol.for("react.memo_cache_sentinel")?(u=di(),e[0]=u):u=e[0];const g=u,[v,j]=o.useState(!1);let b;e[1]!==i||e[2]!==c||e[3]!==d||e[4]!==l||e[5]!==f?(b=q=>s.jsxs(s.Fragment,{children:[d&&s.jsxs(q,{onClick:X=>{X.stopPropagation(),d()},children:[s.jsx(B,{name:"edit",className:"h-4 w-4 mr-px"}),f("settings.common.actions.rename")]}),s.jsxs(q,{onClick:X=>{X.stopPropagation(),c()},children:[s.jsx(B,{name:"file-copy",className:"h-4 w-4 mr-px"}),f("settings.common.actions.duplicate")]}),l&&s.jsxs(q,{onClick:X=>{X.stopPropagation(),l()},children:[s.jsx(B,{name:"restart",className:"h-4 w-4 mr-px"}),f("settings.common.actions.reset")]}),i&&s.jsxs(q,{onClick:X=>{X.stopPropagation(),i()},className:"text-destructive focus:text-destructive",children:[s.jsx(B,{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 N;e[7]!==p?(N=Ie("group relative flex items-center rounded-md px-1.5 py-1 transition-all duration-200 select-none",p),e[7]=p,e[8]=N):N=e[8];let P;e[9]===Symbol.for("react.memo_cache_sentinel")?(P=g?void 0:q=>{q.preventDefault(),j(!0)},e[9]=P):P=e[9];let C;e[10]!==N?(C=s.jsx("div",{className:N,onContextMenu:P}),e[10]=N,e[11]=C):C=e[11];let w;e[12]!==a.name?(w=s.jsxs("span",{className:"typography-ui-label font-normal truncate text-foreground",children:["/",a.name]}),e[12]=a.name,e[13]=w):w=e[13];let D;e[14]!==a||e[15]!==f?(D=(a.scope||za(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:za(a)?f("settings.agents.sidebar.badge.system"):a.scope}),e[14]=a,e[15]=f,e[16]=D):D=e[16];let x;e[17]!==w||e[18]!==D?(x=s.jsxs("div",{className:"flex items-center gap-2",children:[w,D]}),e[17]=w,e[18]=D,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 I;e[26]!==m?(I=q=>{q&&j(!1),m(q)},e[26]=m,e[27]=I):I=e[27];let E;e[28]===Symbol.for("react.memo_cache_sentinel")?(E=s.jsx(zn,{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(B,{name:"more-2",className:"h-3.5 w-3.5"})})}),e[28]=E):E=e[28];let F;e[29]!==k?(F=s.jsx(Kn,{align:"end",className:"w-fit min-w-20",children:k(wn)}),e[29]=k,e[30]=F):F=e[30];let K;e[31]!==h||e[32]!==I||e[33]!==F?(K=s.jsxs(_n,{open:h,onOpenChange:I,children:[E,F]}),e[31]=h,e[32]=I,e[33]=F,e[34]=K):K=e[34];let S;e[35]!==R||e[36]!==K?(S=s.jsxs("div",{className:"flex min-w-0 flex-1 items-center",children:[R,K]}),e[35]=R,e[36]=K,e[37]=S):S=e[37];let M;e[38]!==S||e[39]!==C?(M=s.jsx(pa,{render:C,children:S}),e[38]=S,e[39]=C,e[40]=M):M=e[40];let z;e[41]!==k?(z=s.jsx(ua,{className:"w-fit min-w-20",children:k(ma)}),e[41]=k,e[42]=z):z=e[42];let _;return e[43]!==v||e[44]!==M||e[45]!==z?(_=s.jsxs(ga,{open:v,onOpenChange:j,children:[M,z]}),e[43]=v,e[44]=M,e[45]=z,e[46]=_):_=e[46],_};function Yp(t){return{selectedCommandName:t.selectedCommandName,setSelectedCommand:t.setSelectedCommand,setCommandDraft:t.setCommandDraft,createCommand:t.createCommand,deleteCommand:t.deleteCommand,loadCommands:t.loadCommands}}function Zp(t){return t.loadSkills}function Xp(t){return t.name}function eg(t){return!za(t)}function tg(t,e){return t.name.localeCompare(e.name)}function sg(t,e){return t.name.localeCompare(e.name)}const ng=()=>{const{t}=Xe(),{selectedCommandName:e,getCommandByName:a,createCommand:n,updateCommand:r,commandDraft:i,setCommandDraft:l,setSelectedCommand:d}=Va(Us(V=>({selectedCommandName:V.selectedCommandName,getCommandByName:V.getCommandByName,createCommand:V.createCommand,updateCommand:V.updateCommand,commandDraft:V.commandDraft,setCommandDraft:V.setCommandDraft,setSelectedCommand:V.setSelectedCommand}))),c=Ws(),h=Va(V=>jc(V,c)),m=e?a(e,c):null,f=!!(i&&i.name===e&&!m),[u,g]=o.useState(""),[v,j]=o.useState("user"),[b,k]=o.useState(""),[p,N]=o.useState(""),[P,C]=o.useState(""),[w,D]=o.useState(""),[x,A]=o.useState(!1),[R,I]=o.useState(""),[E,F]=o.useState(!1),K=o.useRef(null),S=JSON.stringify([c,e]),M=o.useRef(null),z=o.useRef(null);o.useEffect(()=>{const V=M.current===S;if(M.current=S,f&&i){const Z=i.name||"",U=i.scope||"user",te=i.description||"",O=i.agent||"",Q=ri(i.model),ce=Q?`${Q.providerID}/${Q.modelID}`:"",de=Q?.variant||"",pe=i.subagent===!0,re=i.template||"";g(Z),j(U),k(te),N(O),C(ce),D(de),A(pe),I(re),K.current={draftName:Z,draftScope:U,description:te,agent:O,model:ce,variant:de,subagent:pe,template:re}}else if(m){const Z=m.description||"",U=m.agent||"",te=ri(m.model),O=te?`${te.providerID}/${te.modelID}`:"",Q=te?.variant||"",ce=m.subagent===!0,de=m.template||"",pe=z.current,re=[K.current,pe?.identity===S?pe.form:null];if(V&&re.some(Ce=>Ce&&Ce.description===Z&&Ce.agent===U&&Ce.model===O&&Ce.variant===Q&&Ce.subagent===ce&&Ce.template===de))return;k(Z),N(U),C(O),D(Q),A(ce),I(de),K.current={draftName:"",draftScope:"user",description:Z,agent:U,model:O,variant:Q,subagent:ce,template:de}}},[m,f,e,h,i,S]);const _=o.useCallback(V=>{const Z=p.trim(),U=Ln(P.trim()),te=U?vc({providerID:U.providerId,modelID:U.modelId,variant:w.trim()||void 0}):null;return{name:V,description:b.trim()||void 0,agent:Z===""?null:Z,model:te,subagent:x,template:R.trim(),scope:f?v:void 0}},[p,b,v,f,P,x,R,w]),q=o.useCallback(async()=>{const V=K.current,Z=e?.trim();if(f||!V||!Z||b.trim()===V.description.trim()&&p.trim()===V.agent.trim()&&P.trim()===V.model.trim()&&w.trim()===V.variant.trim()&&x===V.subagent&&R.trim()===V.template.trim())return Rs;if(!R.trim())return xs(t("settings.commands.page.toast.templateRequired"));const te=_(Z),O=ri(te.model),Q={identity:S,form:{...V,description:te.description||"",agent:te.agent||"",model:O?`${O.providerID}/${O.modelID}`:"",variant:O?.variant||"",subagent:te.subagent===!0,template:te.template||""}};z.current=Q;try{return await r(Z,te,c)?(M.current===S&&(K.current=Q.form),In):xs(t("settings.commands.page.toast.updateFailed"))}finally{z.current===Q&&(z.current=null)}},[p,_,b,S,f,P,e,c,x,t,R,r,w]),X=qa(q),{requestSave:J}=X,H=async()=>{const V=u.trim().replace(/\s+/g,"-");if(!V){$.error(t("settings.commands.sidebar.toast.commandNameRequired"));return}if(!R.trim()){$.error(t("settings.commands.page.toast.templateRequired"));return}if(h.some(Z=>Z.name===V)){$.error(t("settings.commands.sidebar.toast.commandExists"));return}F(!0);try{await n(_(V),c)?(l(null),$.success(t("settings.commands.page.toast.created"))):$.error(t("settings.commands.page.toast.createFailed"))}catch(Z){console.error("Error creating command:",Z),$.error(t("settings.commands.page.toast.saveUnexpectedError"))}finally{F(!1)}},L=()=>{l(null),d(null)};return e?s.jsxs(ns,{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&&m&&s.jsx(Co,{legacy:m.legacy===!0,path:m.path}),s.jsxs(Ge,{title:t("settings.commands.page.section.identity"),divider:!1,contentClassName:"space-y-0",children:[f&&s.jsxs(St,{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(We,{value:u,onChange:V=>g(V.target.value),placeholder:t("settings.commands.page.field.commandNamePlaceholder"),className:"h-7 w-40 px-2"})]}),s.jsxs(Et,{value:v,onValueChange:V=>j(V),children:[s.jsx(At,{size:Vt,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(mt,{value:"user",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(B,{name:"user-3",className:"h-3.5 w-3.5"}),s.jsx("span",{children:t("settings.common.scope.global")})]})}),s.jsx(mt,{value:"project",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(B,{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:V=>k(V.target.value),placeholder:t("settings.commands.page.field.descriptionPlaceholder"),rows:2,className:"w-full resize-none min-h-[60px] bg-transparent"})})]})]}),s.jsxs(Ge,{title:t("settings.commands.page.section.executionContext"),contentClassName:"space-y-0",children:[s.jsx(St,{settingsItem:"commands.agent",label:t("settings.commands.page.field.overrideAgent"),children:s.jsx(ho,{agentName:p,onChange:V=>{N(V),J()},className:qs})}),s.jsx(St,{settingsItem:"commands.model",label:t("settings.agents.page.field.overrideModel"),children:s.jsx(la,{providerId:Ln(P)?.providerId??"",modelId:Ln(P)?.modelId??"",onChange:(V,Z)=>{C(V&&Z?`${V}/${Z}`:""),J()},className:qs})}),s.jsx(St,{settingsItem:"commands.variant",label:t("settings.agents.page.field.variant"),info:t("settings.agents.page.field.variantTooltip"),children:s.jsx(We,{value:w,onChange:V=>D(V.target.value),placeholder:t("settings.agents.page.field.variantPlaceholder"),disabled:!P&&!w,className:"h-8 w-40 rounded-md px-3"})}),s.jsx(St,{settingsItem:"commands.subagent",label:t("settings.commands.page.field.subagent"),info:t("settings.commands.page.field.subagentTooltip"),children:s.jsx(_a,{checked:x,onCheckedChange:V=>{A(V),J()},"aria-label":t("settings.commands.page.field.subagent")})})]}),s.jsxs(Ge,{title:t("settings.commands.page.section.template"),settingsItem:"commands.template",children:[s.jsx(As,{value:R,onChange:V=>I(V.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:()=>{H()},disabled:E||!u.trim()||!R.trim(),size:"xs",className:"!font-normal",children:t(E?"settings.common.actions.saving":"settings.common.actions.create")}),s.jsx(G,{variant:"ghost",onClick:L,disabled:E,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(B,{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")})]})})},Qi={oauthEnabled:!0,oauthClientId:"",oauthClientSecret:"",oauthScope:"",oauthRedirectUri:"",oauthCallbackPort:""},ag=t=>t===!1?{...Qi,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)}:Qi,hl=t=>{switch(t){case"connected":return"success";case"failed":return"error";case"needs_auth":return"warning";default:return"idle"}},fl=t=>{const e=rt.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=Ie("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},ig=t=>{const e=rt.c(124),{onItemSelect:a}=t,{t:n}=Xe(),{selectedMcpName:r,setSelectedMcp:i,setMcpDraft:l,loadMcpConfigs:d,deleteMcp:c}=Wn(Us(rg)),h=Ws();let m;e[0]!==h?(m=Ue=>po(Ue,h),e[0]=h,e[1]=m):m=e[1];const f=Wn(m);let u;e[2]!==h?(u=Ue=>Ue.getStatusForDirectory(h),e[2]=h,e[3]=u):u=e[3];const g=dn(u),v=dn(og),j=dn(lg),[b,k]=o.useState(null),[p,N]=o.useState(!1),[P,C]=o.useState(null),[w,D]=o.useState(null),[x,A]=o.useState(!1);let R;e[4]!==f?(R=f.filter(cg),e[4]=f,e[5]=R):R=e[5];const I=R;let E;e[6]!==f?(E=f.filter(dg),e[6]=f,e[7]=E):E=e[7];const F=E;let K,S;e[8]!==d||e[9]!==h?(K=()=>{d({directory:h})},S=[d,h],e[8]=d,e[9]=h,e[10]=K,e[11]=S):(K=e[10],S=e[11]),o.useEffect(K,S);let M;e[12]!==j||e[13]!==x||e[14]!==v||e[15]!==h?(M=()=>{if(x)return;A(!0);const Ue=new Promise(ug);Promise.all([v({directory:h,silent:!0}),Ue]).then(()=>{const st=j(h);st&&$.error(st)}).finally(()=>{A(!1)})},e[12]=j,e[13]=x,e[14]=v,e[15]=h,e[16]=M):M=e[16];const z=M;let _;e[17]!==f||e[18]!==a||e[19]!==l||e[20]!==i?(_=()=>{let Ue="new-mcp-server",st=1;for(;f.some(oe=>oe.name===Ue);)Ue=`new-mcp-server-${st}`,st++;const ue={name:Ue,scope:"user",type:"local",command:[],url:"",environment:[],headers:[],...Qi,oauthAuthServerMetadataUrl:"",protocol:"legacy",timeoutStartup:"",timeoutCatalog:"",timeoutExecution:"",codemode:!0,disabled:!1};l(ue),i(Ue),a?.()},e[17]=f,e[18]=a,e[19]=l,e[20]=i,e[21]=_):_=e[21];const q=_;let X;e[22]!==c||e[23]!==b||e[24]!==h||e[25]!==n?(X=async()=>{if(!b)return;N(!0);const Ue=await c(b.name,h);Ue.ok?Ue.reloadFailed?$.warning(Ue.message||`MCP server "${b.name}" deleted, but OpenCode reload failed`,{description:Ue.warning||n("settings.mcp.sidebar.toast.refreshListIfStale")}):$.success(Ue.message||n("settings.mcp.sidebar.toast.serverDeleted",{name:b.name})):$.error(n("settings.mcp.sidebar.toast.deleteFailed")),k(null),N(!1)},e[22]=c,e[23]=b,e[24]=h,e[25]=n,e[26]=X):X=e[26];const J=X;let H;e[27]!==n?(H=(Ue,st)=>s.jsxs(st,{onClick:ue=>{ue.stopPropagation(),k(Ue)},className:"text-destructive focus:text-destructive",children:[s.jsx(B,{name:"delete-bin",className:"h-4 w-4 mr-px"}),n("settings.common.actions.delete")]}),e[27]=n,e[28]=H):H=e[28];const L=H;let V;e[29]===Symbol.for("react.memo_cache_sentinel")?(V=Ie("flex h-full flex-col","bg-background"),e[29]=V):V=e[29];let Z;e[30]!==n?(Z=n("settings.mcp.sidebar.title"),e[30]=n,e[31]=Z):Z=e[31];let U;e[32]!==Z?(U=s.jsx("h2",{className:Pn,children:Z}),e[32]=Z,e[33]=U):U=e[33];let te;e[34]!==n?(te=n("settings.mcp.sidebar.actions.refreshStatusAria"),e[34]=n,e[35]=te):te=e[35];let O;e[36]!==n?(O=n("settings.mcp.sidebar.actions.refreshStatusTitle"),e[36]=n,e[37]=O):O=e[37];const Q=x&&"animate-spin";let ce;e[38]!==Q?(ce=Ie("h-4 w-4",Q),e[38]=Q,e[39]=ce):ce=e[39];let de;e[40]!==ce?(de=s.jsx(B,{name:"refresh",className:ce}),e[40]=ce,e[41]=de):de=e[41];let pe;e[42]!==z||e[43]!==x||e[44]!==te||e[45]!==O||e[46]!==de?(pe=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:z,"aria-label":te,title:O,children:de}),e[42]=z,e[43]=x,e[44]=te,e[45]=O,e[46]=de,e[47]=pe):pe=e[47];let re;e[48]!==U||e[49]!==pe?(re=s.jsxs("div",{className:"mb-3 flex items-center justify-between gap-3",children:[U,pe]}),e[48]=U,e[49]=pe,e[50]=re):re=e[50];let Ce;e[51]===Symbol.for("react.memo_cache_sentinel")?(Ce=s.jsx(fi,{className:"mb-3"}),e[51]=Ce):Ce=e[51];let ie;e[52]!==f.length||e[53]!==n?(ie=n("settings.mcp.sidebar.total",{count:f.length}),e[52]=f.length,e[53]=n,e[54]=ie):ie=e[54];let be;e[55]!==ie?(be=s.jsx("span",{className:"typography-meta text-muted-foreground",children:ie}),e[55]=ie,e[56]=be):be=e[56];let ae;e[57]!==n?(ae=n("settings.mcp.sidebar.actions.addServerTitle"),e[57]=n,e[58]=ae):ae=e[58];let fe;e[59]===Symbol.for("react.memo_cache_sentinel")?(fe=s.jsx(B,{name:"add",className:"h-3.5 w-3.5"}),e[59]=fe):fe=e[59];let xe;e[60]!==q||e[61]!==ae?(xe=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:q,title:ae,children:fe}),e[60]=q,e[61]=ae,e[62]=xe):xe=e[62];let Oe;e[63]!==be||e[64]!==xe?(Oe=s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[be,xe]}),e[63]=be,e[64]=xe,e[65]=Oe):Oe=e[65];let Ne;e[66]!==re||e[67]!==Oe?(Ne=s.jsxs("div",{className:"border-b px-3 pt-4 pb-3",children:[re,Ce,Oe]}),e[66]=re,e[67]=Oe,e[68]=Ne):Ne=e[68];let he;e[69]!==f.length||e[70]!==g||e[71]!==a||e[72]!==P||e[73]!==I||e[74]!==L||e[75]!==w||e[76]!==r||e[77]!==l||e[78]!==i||e[79]!==n||e[80]!==F?(he=s.jsx(vs,{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(B,{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:[I.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")}),I.map(Ue=>{const st=g[Ue.name],ue=hl(st?.status.status),oe=r===Ue.name,Pe=di();return s.jsxs(ga,{open:w===Ue.name,onOpenChange:Re=>D(Re?Ue.name:null),children:[s.jsxs(pa,{render:s.jsx("div",{className:Ie("group relative flex items-center rounded-md px-1.5 py-1 transition-all duration-200 select-none",oe?"bg-interactive-selection":"hover:bg-interactive-hover"),onContextMenu:Pe?void 0:Re=>{Re.preventDefault(),D(Ue.name)}}),children:[s.jsxs("button",{onClick:()=>{i(Ue.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(fl,{tone:ue,enabled:Ue.disabled!==!0}),s.jsx("span",{className:"typography-ui-label font-normal truncate text-foreground",children:Ue.name}),s.jsx("span",{title:Ue.type==="local"?n("settings.mcp.sidebar.serverType.localTitle"):n("settings.mcp.sidebar.serverType.remoteTitle"),children:Ue.type==="local"?s.jsx(B,{name:"server",className:"h-3 w-3 text-muted-foreground/60 flex-shrink-0"}):s.jsx(B,{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:Ue.type==="local"?Ue.command?.join(" ")??"":Ue.url??""})]}),s.jsxs(_n,{open:P===Ue.name,onOpenChange:Re=>{Re&&D(null),C(Re?Ue.name:null)},children:[s.jsx(zn,{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(B,{name:"more-2",className:"h-3.5 w-3.5"})})}),s.jsx(Kn,{align:"end",className:"w-fit min-w-20",children:L(Ue,wn)})]})]}),s.jsx(ua,{className:"w-fit min-w-20",children:L(Ue,ma)})]},Ue.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(Ue=>{const st=g[Ue.name],ue=hl(st?.status.status),oe=r===Ue.name,Pe=di();return s.jsxs(ga,{open:w===Ue.name,onOpenChange:Re=>D(Re?Ue.name:null),children:[s.jsxs(pa,{render:s.jsx("div",{className:Ie("group relative flex items-center rounded-md px-1.5 py-1 transition-all duration-200 select-none",oe?"bg-interactive-selection":"hover:bg-interactive-hover"),onContextMenu:Pe?void 0:Re=>{Re.preventDefault(),D(Ue.name)}}),children:[s.jsxs("button",{onClick:()=>{i(Ue.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(fl,{tone:ue,enabled:Ue.disabled!==!0}),s.jsx("span",{className:"typography-ui-label font-normal truncate text-foreground",children:Ue.name}),s.jsx("span",{title:Ue.type==="local"?n("settings.mcp.sidebar.serverType.localTitle"):n("settings.mcp.sidebar.serverType.remoteTitle"),children:Ue.type==="local"?s.jsx(B,{name:"server",className:"h-3 w-3 text-muted-foreground/60 flex-shrink-0"}):s.jsx(B,{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:Ue.type==="local"?Ue.command?.join(" ")??"":Ue.url??""})]}),s.jsxs(_n,{open:P===Ue.name,onOpenChange:Re=>{Re&&D(null),C(Re?Ue.name:null)},children:[s.jsx(zn,{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(B,{name:"more-2",className:"h-3.5 w-3.5"})})}),s.jsx(Kn,{align:"end",className:"w-fit min-w-20",children:L(Ue,wn)})]})]}),s.jsx(ua,{className:"w-fit min-w-20",children:L(Ue,ma)})]},Ue.name)})]})]})}),e[69]=f.length,e[70]=g,e[71]=a,e[72]=P,e[73]=I,e[74]=L,e[75]=w,e[76]=r,e[77]=l,e[78]=i,e[79]=n,e[80]=F,e[81]=he):he=e[81];const Te=b!==null;let we;e[82]!==p?(we=Ue=>{!Ue&&!p&&k(null)},e[82]=p,e[83]=we):we=e[83];let De;e[84]!==n?(De=n("settings.mcp.sidebar.deleteDialog.title"),e[84]=n,e[85]=De):De=e[85];let ve;e[86]!==De?(ve=s.jsx($t,{children:De}),e[86]=De,e[87]=ve):ve=e[87];const ee=b?.name||"";let ne;e[88]!==n||e[89]!==ee?(ne=n("settings.mcp.sidebar.deleteDialog.descriptionPrefix",{name:ee}),e[88]=n,e[89]=ee,e[90]=ne):ne=e[90];let ye;e[91]===Symbol.for("react.memo_cache_sentinel")?(ye=s.jsx("code",{className:"text-foreground",children:"opencode.json"}),e[91]=ye):ye=e[91];let Ae;e[92]!==ne?(Ae=s.jsxs(Bt,{children:[ne," ",ye,"."]}),e[92]=ne,e[93]=Ae):Ae=e[93];let ze;e[94]!==ve||e[95]!==Ae?(ze=s.jsxs(Ut,{children:[ve,Ae]}),e[94]=ve,e[95]=Ae,e[96]=ze):ze=e[96];let Qe;e[97]===Symbol.for("react.memo_cache_sentinel")?(Qe=()=>k(null),e[97]=Qe):Qe=e[97];let Be;e[98]!==n?(Be=n("settings.common.actions.cancel"),e[98]=n,e[99]=Be):Be=e[99];let _e;e[100]!==p||e[101]!==Be?(_e=s.jsx(G,{size:"sm",variant:"ghost",onClick:Qe,disabled:p,children:Be}),e[100]=p,e[101]=Be,e[102]=_e):_e=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 nt;e[106]!==J||e[107]!==p||e[108]!==Me?(nt=s.jsx(G,{size:"sm",onClick:J,disabled:p,children:Me}),e[106]=J,e[107]=p,e[108]=Me,e[109]=nt):nt=e[109];let pt;e[110]!==_e||e[111]!==nt?(pt=s.jsxs(as,{children:[_e,nt]}),e[110]=_e,e[111]=nt,e[112]=pt):pt=e[112];let lt;e[113]!==ze||e[114]!==pt?(lt=s.jsxs(zt,{className:"max-w-md",children:[ze,pt]}),e[113]=ze,e[114]=pt,e[115]=lt):lt=e[115];let ut;e[116]!==Te||e[117]!==we||e[118]!==lt?(ut=s.jsx(Kt,{open:Te,onOpenChange:we,children:lt}),e[116]=Te,e[117]=we,e[118]=lt,e[119]=ut):ut=e[119];let ht;return e[120]!==Ne||e[121]!==he||e[122]!==ut?(ht=s.jsxs("div",{className:V,children:[Ne,he,ut]}),e[120]=Ne,e[121]=he,e[122]=ut,e[123]=ht):ht=e[123],ht};function rg(t){return{selectedMcpName:t.selectedMcpName,setSelectedMcp:t.setSelectedMcp,setMcpDraft:t.setMcpDraft,loadMcpConfigs:t.loadMcpConfigs,deleteMcp:t.deleteMcp}}function og(t){return t.refresh}function lg(t){return t.getErrorForDirectory}function cg(t){return t.scope==="project"}function dg(t){return t.scope!=="project"}function ug(t){return setTimeout(t,500)}function Hs(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Qa(t){return Array.isArray(t)&&t.every(e=>typeof e=="string")}function vn(t,e){return e!==void 0?{ok:!1,error:t,parsed:e}:{ok:!1,error:t}}function Mi(t,e,a){const n=pg(a),r=typeof a.url=="string"?a.url.trim():"",i=xl(a,"env","environment"),l=xl(a,"headers"),d=Hs(a.oauth)?a.oauth:null,c=Ya(d,"client_id","clientId"),h=Ya(d,"client_secret","clientSecret"),m=Ya(d,"scope"),f=Ya(d,"redirect_uri","redirectUri"),u=mg(d,"callback_port","callbackPort"),g=Ya(d,"auth_server_metadata_url","authServerMetadataUrl"),v=a.oauth===!1||a.oauth===null||a.oauth===void 0?!1:!!d&&!!(c||h||m||f||u||g),j=gg(a);return{ok:!0,name:t,type:e,command:n,url:r,environment:i,headers:l,oauthEnabled:v,oauthClientId:c,oauthClientSecret:h,oauthScope:m,oauthRedirectUri:f,oauthCallbackPort:u,oauthAuthServerMetadataUrl:g,timeoutStartup:j.startup,timeoutCatalog:j.catalog,timeoutExecution:j.execution,codemode:a.codemode!==!1,disabled:hg(a),protocol:Zr.find(b=>b===a.protocol)??"legacy"}}function Ya(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 mg(t,...e){if(!t)return"";for(const a of e){const n=ai(t[a]);if(n)return n}return""}function ai(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 pg(t){const e=t.command,a=t.args;if(Qa(e)&&Qa(a))return[...e,...a];if(Qa(e))return e;if(typeof e=="string"&&e.trim()){const n=e.trim().split(/\s+/);return Qa(a)?[...n,...a]:n}return Qa(a)?a:[]}function xl(t,...e){for(const a of e){const n=t[a];if(!Hs(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 gg(t){return Hs(t.timeout)?{startup:ai(t.timeout.startup),catalog:ai(t.timeout.catalog),execution:ai(t.timeout.execution)}:{startup:"",catalog:"",execution:ai(t.timeout)}}function hg(t){return t.disabled===!0?!0:t.disabled===!1?!1:"enabled"in t?!t.enabled:!1}function fg(t){const e=t.mcpServers;if(Hs(e)){const n=Object.keys(e);if(n.length===1){const r=n[0],i=e[r];if(Hs(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"&&Hs(r)});if(a.length===1){const n=a[0],r=t[n];if(Gc(r))return{name:n,entry:r}}return null}function Gc(t){return t.type==="local"||t.type==="remote"||Array.isArray(t.command)||typeof t.url=="string"||Array.isArray(t.args)}function xg(t,e){let a;try{const c=t.trim();if(!c)return vn("No JSON content provided");a=JSON.parse(c)}catch(c){return vn(c instanceof Error?`Invalid JSON: ${c.message}`:"Invalid JSON")}if(!Hs(a))return vn("Expected a JSON object, not an array or primitive");const n=a,r=n.mcpServers;if(Hs(r)){const c=Object.keys(r);if(c.length===0)return vn("mcpServers object is empty",a);if(c.length>1)return vn("Paste one server at a time. Found "+c.length+" servers in mcpServers",a);const h=c[0],m=r[h];return Hs(m)?Mi(h,Ri(m),m):vn("Server entry is not a valid object",a)}const i=n.mcp,l=Hs(i)&&Hs(i.servers)?i.servers:i;if(Hs(l)){const c=Object.keys(l);if(c.length===0)return vn("mcp object is empty",a);if(c.length>1)return vn("Paste one server at a time. Found "+c.length+" servers in mcp",a);const h=c[0],m=l[h];return Hs(m)?Mi(h,Ri(m),m):vn("Server entry in mcp is not a valid object",a)}const d=fg(n);if(d)return Mi(d.name,Ri(d.entry),d.entry);if(Gc(n)){const c=Ri(n),h=typeof n.name=="string"&&n.name.trim()?n.name.trim():e?.fallbackName;return Mi(h,c,n)}return vn("No recognizable MCP server configuration found in JSON",a)}function Ri(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 bg(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 vg=(t,e)=>!!e&&t!=="claude-code",yg=/[A-Z0-9]{4}-[A-Z0-9]{4,5}/,jg=t=>yg.exec(t)?.[0]??void 0,xi=t=>t.type!=="external",Fi=t=>t.title??t.key,wg=(t,e)=>{if(e===void 0)return!1;const a=String(e),n=String(t.value);return t.op==="eq"?a===n:a!==n},kg=(t,e)=>xi(t)?(t.when??[]).every(a=>wg(a,e[a.key])):!0,Io=(t,e)=>{const a={},n=[];for(const r of t){if(!kg(r,a))continue;n.push(r);const i=e[r.key];xi(r)&&i!==void 0&&(a[r.key]=i)}return n},Ng=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},Wc=t=>t===void 0?!0:typeof t=="string"?t.trim().length===0:Array.isArray(t)?t.length===0:!1,Sg=(t,e)=>Io(t,e).find(a=>xi(a)&&a.required===!0&&Wc(e[a.key]))??null,Cg=(t,e)=>{const a={};for(const n of Io(t,e)){if(!xi(n))continue;const r=e[n.key];Wc(r)||r===void 0||(a[n.key]=typeof r=="string"?r.trim():r)}return a},bl=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),vl=t=>typeof t=="string"&&t.length>0?t:void 0,Ig=(t,e,a)=>{const n=bl(t)?t:{},r=bl(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 vl(r.message)??e("settings.providers.page.auth.oauth.error.invalidInput");default:return vl(n.message)??e(a)}},Rr={phase:"idle"},Pg=1500,io=({integrationId:t,methods:e,onConnected:a,directory:n,className:r})=>{const{t:i}=Xe(),l=o.useCallback(()=>n?un.getScopedSdkClient(n):un.getSdkClient(),[n]),[d,c]=o.useState(Rr),[h,m]=o.useState({}),[f,u]=o.useState(""),g=o.useRef(null),v=o.useCallback(E=>{g.current=null,l().integration.oauth.cancel({integrationID:t,attemptID:E}).catch(()=>{})},[t,l]);o.useEffect(()=>()=>{const E=g.current;E&&v(E)},[v]);const j=d.phase==="idle"?null:d.methodID,b=d.phase==="connecting"||d.phase==="waiting"||d.phase==="awaitingCode"&&d.submitting,k=async(E,F,K)=>{const S=await oi(E);if(S.ok){$.success(i(F));return}console.error("Failed to copy OAuth value:",S.error),$.error(i(K))},p=async()=>{g.current=null,c(Rr),$.success(i("settings.providers.page.toast.oauthCompleted")),await a()},N=(E,F,K)=>{g.current=null,console.error("OAuth flow failed:",F),c({phase:"failed",methodID:E,message:Ig(F,i,K)})},P=async(E,F)=>{const K=l();for(;g.current===F;){if(await new Promise(S=>setTimeout(S,Pg)),g.current!==F)return;try{const{data:S}=await K.integration.oauth.status({integrationID:t,attemptID:F});if(g.current!==F)return;if(S.status==="complete"){await p();return}if(S.status==="failed"){c({phase:"failed",methodID:E,message:S.message}),g.current=null;return}}catch(S){if(g.current!==F)return;N(E,S,"settings.providers.page.toast.oauthCompleteFailed");return}}},C=async(E,F)=>{c({phase:"connecting",methodID:E.id});let K;try{const{data:S}=await l().integration.oauth.connect({integrationID:t,methodID:E.id,...Object.keys(F).length>0?{answer:F}:{}});K={attemptID:S.attemptID,mode:S.mode,url:S.url,instructions:S.instructions}}catch(S){N(E.id,S,"settings.providers.page.toast.oauthStartFailed");return}if(g.current=K.attemptID,vg(t,K.url)&&yn(K.url),K.mode==="code"){u(""),c({phase:"awaitingCode",methodID:E.id,attempt:K,submitting:!1});return}c({phase:"waiting",methodID:E.id,attempt:K}),await P(E.id,K.attemptID)},w=E=>{const F=(E.form??[]).filter(xi);if(F.length===0){C(E,{});return}m(Ng(F)),c({phase:"prompting",methodID:E.id,fields:F,error:null})},D=E=>{if(d.phase!=="prompting")return;const F=Sg(d.fields,h);if(F){c({...d,error:i("settings.providers.page.auth.oauth.promptRequired",{field:Fi(F)})});return}C(E,Cg(d.fields,h))},x=async()=>{if(d.phase!=="awaitingCode")return;const E=f.trim();if(!E)return;const{methodID:F,attempt:K}=d;c({...d,submitting:!0});try{await l().integration.oauth.complete({integrationID:t,attemptID:K.attemptID,code:E}),await p()}catch(S){N(F,S,"settings.providers.page.toast.oauthCompleteFailed")}},A=()=>{(d.phase==="waiting"||d.phase==="awaitingCode")&&v(d.attempt.attemptID),c(Rr)},R=E=>{if(E.type==="external")return s.jsxs("div",{className:"space-y-1.5",children:[s.jsx("label",{className:"typography-ui-label text-foreground",children:Fi(E)}),s.jsx(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:()=>{yn(E.url)},children:i("settings.providers.page.actions.open")})]},E.key);const F=h[E.key],K=typeof F=="string"?F:"",S=z=>m(_=>({..._,[E.key]:z})),M=E.type==="string"||E.type==="multiselect"?E.options??[]:[];return s.jsxs("div",{className:"space-y-1.5",children:[s.jsx("label",{className:"typography-ui-label text-foreground",children:Fi(E)}),E.description&&s.jsx("p",{className:"typography-meta text-muted-foreground",children:E.description}),M.length>0?s.jsxs(Et,{value:K,onValueChange:S,children:[s.jsx(At,{size:Vt,className:nn,children:s.jsx(_t,{children:z=>M.find(_=>_.value===z)?.label??null})}),s.jsx(Tt,{children:M.map(z=>s.jsx(mt,{value:z.value,children:z.description?`${z.label} · ${z.description}`:z.label},z.value))})]}):E.type==="boolean"?s.jsx("input",{type:"checkbox",checked:F===!0,onChange:z=>S(z.target.checked),"aria-label":Fi(E)}):s.jsx(We,{value:K,onChange:z=>S(z.target.value),placeholder:E.type==="string"?E.placeholder:void 0,className:"max-w-[24rem] text-xs"})]},E.key)},I=E=>{const F=jg(E.instructions);return s.jsxs(s.Fragment,{children:[E.instructions&&s.jsx("p",{className:"typography-meta text-[var(--status-info-text)] bg-[var(--status-info-background)] px-2 py-1.5 rounded",children:E.instructions}),F&&s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(We,{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")})]}),E.url&&s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(We,{value:E.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:()=>{yn(E.url)},children:i("settings.providers.page.actions.open")}),s.jsx(G,{variant:"outline",size:"xs",className:"!font-normal",onClick:()=>{k(E.url,"settings.providers.page.toast.oauthLinkCopied","settings.providers.page.toast.oauthLinkCopyFailed")},children:i("settings.providers.page.actions.copy")})]})]})]})};return s.jsx("div",{className:Ie("space-y-4",r),children:e.map(E=>{const F=j===E.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:E.label}),s.jsx(G,{variant:"outline",size:"xs",className:"!font-normal shrink-0",onClick:()=>w(E),disabled:b,children:i("settings.providers.page.actions.connect")})]}),F&&d.phase==="prompting"&&s.jsxs("div",{className:"space-y-3",children:[Io(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:()=>D(E),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(B,{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:[I(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(B,{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:[I(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(We,{value:f,onChange:K=>u(K.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:()=>w(E),children:i("settings.providers.page.actions.tryAgain")})]})]},E.id)})})},Ag=(t,e)=>t.find(a=>a.id.startsWith("mcp_")&&a.metadata?.source==="mcp"&&a.name===e),Tg=t=>(t?.methods??[]).filter(e=>e.type==="oauth"),Eg=({serverName:t,directory:e,onConnected:a})=>{const[n,r]=o.useState(null);o.useEffect(()=>{let l=!1;r(null);const d=e?un.getScopedSdkClient(e):un.getSdkClient();return(async()=>{try{const{data:h}=await d.integration.list();l||r(Ag(h,t)??null)}catch(h){console.error("Failed to load MCP integrations:",h)}})(),()=>{l=!0}},[e,t]);const i=Tg(n??void 0);return!n||i.length===0?null:s.jsx(io,{integrationId:n.id,methods:i,directory:e,onConnected:a},n.id)},Fr=t=>t===void 0?"":String(t),Or=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`},Lr={legacy:"settings.mcp.page.advanced.protocolOption.legacy",auto:"settings.mcp.page.advanced.protocolOption.auto","2026-07-28":"settings.mcp.page.advanced.protocolOption.revision20260728"},Dg=t=>{try{const e=new URL(t);return e.protocol==="http:"||e.protocol==="https:"}catch{return!1}},Za=t=>t?.status.status,Kr=t=>t?.status.status==="failed"||t?.status.status==="needs_auth"?t.status.error:void 0;function Jc(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 Mg=t=>{const e=rt.c(27),{value:a,onChange:n,preview:r,onDetectUrl:i}=t;let l;e[0]!==a?(l=()=>a.join(`
4
4
  `),e[0]=a,e[1]=l):l=e[1];const[d,c]=o.useState(l),h=o.useRef(a);let m,f;e[2]!==a?(m=()=>{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-Ci3FEaPf.js";import{S as w}from"./SettingsView-kMmrpn43.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-CvLgnuNI.js";import"./vendor-zod-Gea9uBlY.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-opencode-client-_BAHQo4R.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-framer-motion-Bq3iTZ6r.js";import"./vendor-motion-dom-DcCgeG69.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./vendor-tanstack-react-virtual-ClYN8CzB.js";import"./vendor-tanstack-virtual-core-BewVQryB.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-CQa7_1cr.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-CsIpUep1.js";import"./GuestAttachDialog-DdOuyZzp.js";import"./PluginPane-BPP1dbck.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-DNm2Z_Jc.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-u4zw1l0B.js";import"./textMateThemeFromAppTheme-DGF2kG7g.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-ZM9ij19-.js";import{S as w}from"./SettingsView-h-VpVO47.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-CvLgnuNI.js";import"./vendor-zod-Gea9uBlY.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-opencode-client-_BAHQo4R.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-framer-motion-Bq3iTZ6r.js";import"./vendor-motion-dom-DcCgeG69.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./vendor-tanstack-react-virtual-ClYN8CzB.js";import"./vendor-tanstack-virtual-core-BewVQryB.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-U-lXzXNK.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-DeaERc0M.js";import"./GuestAttachDialog-BIa9jCfL.js";import"./PluginPane-BibJit86.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-_HeCCHx1.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-DAdawJZn.js";import"./textMateThemeFromAppTheme-C95XdFGj.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 +1 @@
1
- import{R,r as y,f as J,j as F}from"./vendor-react-BUCujlKS.js";import{k3 as K,f as T,K as A,k5 as B,k6 as W,k7 as _,k8 as $}from"./useAppFontEffects-Ci3FEaPf.js";import{h as M,dY as I,dZ as z,a as j}from"./index-CvLgnuNI.js";import{o as G,s as N}from"./vendor-zod-Gea9uBlY.js";const re=(t,e)=>!!t&&e!==null&&t!==e,ie=(t,e,s,a)=>s?t===null||a&&e===null?!0:e!==null&&t===e:!1,ae=(t,e)=>t==="branch"&&!e?"working":t,ue=(t,e,s,a,n,l)=>{const r=R.useRef({directory:"",attempts:0}),[i,f]=R.useState(()=>({directory:"",exhausted:!1})),d=R.useRef(n);d.current=n;const c=!!t&&i.directory===t&&i.exhausted;return R.useEffect(()=>{if(!t||!e||a||s)return;const o=r.current.directory===t?r.current.attempts:0;if(o>=l){i.directory===t&&i.exhausted||f({directory:t,exhausted:!0});return}r.current={directory:t,attempts:o+1},d.current()},[t,i,a,e,s,l]),c},oe=(t,e,s,a,n="")=>{const[l,r]=R.useState(()=>new Map),i=R.useRef(l);i.current=l;const f=R.useRef(new Map),d=R.useRef(null),c=R.useRef(s);c.current=s;const o=R.useCallback((h,g)=>{const u=new Map(i.current);if(g===null){if(!u.delete(h))return}else u.set(h,g);i.current=u,r(u)},[]);return R.useEffect(()=>{d.current=t,f.current.clear(),i.current=new Map,r(i.current)},[t]),R.useEffect(()=>{const h=c.current;if(!t||!h||!e)return;let g=!1;const u=new Set,S=f.current;for(const m of e.split("\0"))i.current.has(m)&&S.get(m)===n||(u.add(m),i.current.has(m)||o(m,a),h(m).then(k=>{g||(u.delete(m),S.set(m,n),o(m,k))}).catch(()=>{g||(u.delete(m),S.delete(m),o(m,null))}));return()=>{g=!0;for(const m of u)S.has(m)||o(m,null)}},[e,a,t,n,o]),d.current===t?l:new Map};function Y(t){if(!t.trim())return[];if(!t.startsWith("diff --git "))throw new Error("Invalid pull request diff");return t.split(/(?=^diff --git )/m).filter(Boolean).map(e=>{const s=K(e);if(!s)throw new Error("Invalid pull request file diff");return{path:s.name,previousPath:s.prevName,status:/^new file mode /m.test(e)?"A":/^deleted file mode /m.test(e)?"D":/^rename from /m.test(e)?"R":/^copy from /m.test(e)?"C":"M",insertions:s.hunks.reduce((a,n)=>a+n.additionLines,0),deletions:s.hunks.reduce((a,n)=>a+n.deletionLines,0),patch:e}})}async function L(t,e){const s=G({error:N()}).safeParse(await t.json().catch(()=>null));throw new Error(s.success?s.data.error:`${e} (${t.status})`)}async function Z(t,e){const s=await M("/api/walkthrough/pr-diff",{query:{directory:t,source:JSON.stringify(e)},signal:AbortSignal.timeout(3e4)});if(s.ok||await L(s,"Failed to load pull request diff"),!s.headers.get("content-type")?.includes("text/plain"))throw new Error("Pull request comparison is unavailable on this server");return Y(await s.text())}const H=G({original:N(),modified:N()});async function Q(t,e,s){const a=await M("/api/walkthrough/pr-file",{query:{directory:t,source:JSON.stringify(e),path:s.path,previousPath:s.previousPath??"",status:s.status},signal:AbortSignal.timeout(3e4)});a.ok||await L(a,"Failed to load pull request file");const n=H.safeParse(await a.json().catch(()=>null));if(!n.success)throw new Error("Pull request file contents are unavailable on this server");return n.data}class X{entries=new Map;load(e,s,a,n=!1){const l=JSON.stringify([e,s]),r=this.entries.get(l);if(r&&(!n||r.files===null))return r.pending;const i={scope:e,pending:a(),files:null,bytes:0};return i.pending=i.pending.then(f=>{if(this.entries.get(l)!==i)return f;i.files=f,i.bytes=f.reduce((c,o)=>c+2*(o.patch.length+o.path.length),0);let d=[...this.entries.values()].reduce((c,o)=>c+o.bytes,0);for(const[c,o]of this.entries){if(this.entries.size<=8&&d<=32*1024*1024)break;o===i||o.files===null||(d-=o.bytes,this.entries.delete(c))}return f}).catch(f=>{throw this.entries.get(l)===i&&this.entries.delete(l),f}),this.entries.delete(l),this.entries.set(l,i),i.pending}invalidate(e){for(const[s,a]of this.entries)a.scope===e&&this.entries.delete(s)}}function le(t,e,s=!0,a=""){const{t:n}=T(),l=A(p=>p.runtimeKey),r=t&&e?JSON.stringify([l,t,e]):null,i=I(t??"",l),f=y.useRef({key:r,source:e,enabled:s,pushScope:i});f.current={key:r,source:e,enabled:s,pushScope:i};const[d,c]=y.useState(null),o=y.useRef(0),[h]=y.useState(()=>new X),[g,u]=y.useState(0);y.useEffect(()=>z(p=>{h.invalidate(p),!(p!==f.current.pushScope||f.current.source?.kind!=="pr")&&(o.current+=1,u(E=>E+1))}),[h]);const S=y.useCallback(async p=>{const{key:E,source:w,enabled:v}=f.current;if(!s||!v||!r||E!==r||!t||!w)return;const x=++o.current,P=j();c(C=>C?.key===r&&C.status==="ready"?{...C,refreshing:!0}:{key:r,status:"loading"});try{const C=w.kind==="pr"?await h.load(i,w,()=>Z(t,w),p):w.kind==="branch"?(await B(t,{base:w.baseRef,head:w.headRef,includeWorkingTree:!0})).map(b=>({...b,insertions:0,deletions:0})):(await W(t,w.hash)).files.map(b=>({path:b.path,status:b.changeType,previousPath:b.previousPath,insertions:b.insertions,deletions:b.deletions}));if(o.current!==x||j()!==P)return;c(b=>b?.key===r&&b.status==="ready"&&b.files===C?{...b,refreshing:!1}:{key:r,status:"ready",files:C,revision:x,refreshing:!1})}catch(C){if(o.current!==x||j()!==P)return;c({key:r,status:"error",message:C instanceof Error?C.message:n("diffView.state.failedToLoadDiff")})}},[t,s,r,h,i,n]),m=y.useCallback(()=>S(!0),[S]);y.useEffect(()=>(S(!1),()=>{o.current+=1}),[S,a,g]);const k=d?.key===r?d:null,D=k?.status==="ready"?k.files:null,V=y.useMemo(()=>new Map((D??[]).map(p=>[p.path,p])),[D]),O=y.useCallback(async(p,E=3)=>{const{key:w,source:v,enabled:x}=f.current,P=V.get(p);if(!t||w!==r||!v||!P||!s||!x)throw new Error(n("diffView.state.failedToLoadDiff"));if(v.kind==="pr"){if(P.patch===void 0)throw new Error(n("diffView.state.failedToLoadDiff"));return{diff:P.patch}}return v.kind==="branch"?_(t,{base:v.baseRef,head:v.headRef,path:p,contextLines:E,includeWorkingTree:!0}):$(t,{hash:v.hash,path:p,previousPath:P.previousPath,contextLines:E})},[t,s,V,r,n]),U=y.useCallback(async p=>{const{key:E,source:w,enabled:v}=f.current,x=V.get(p);if(!t||E!==r||w?.kind!=="pr"||!x||!s||!v)throw new Error(n("diffView.state.failedToLoadDiff"));return Q(t,w,{path:x.path,previousPath:x.previousPath,status:x.status})},[t,s,V,r,n]);return{key:r,revision:k?.status==="ready"?k.revision:0,files:D,loading:!!(s&&r&&(!k||k.status==="loading"||k.status==="ready"&&k.refreshing)),error:k?.status==="error"?k.message:null,refresh:m,fetchDiff:O,fetchFullFile:U}}const q=t=>t.slice(0,7),fe=t=>{const e=J.c(32),{state:s,staged:a}=t,{t:n}=T(),l=a?s.headCommit:s.indexCommit,r=a?s.indexCommit:s.worktreeCommit;let i=null;if(s.hasConflict){let u;e[0]!==n?(u=n("diffView.submodule.conflict"),e[0]=n,e[1]=u):u=e[1],i=u}else if(l&&r){let u;e[2]!==l||e[3]!==n||e[4]!==r?(u=l===r?n("diffView.submodule.commitUnchanged",{commit:q(r)}):n("diffView.submodule.commitChanged",{from:q(l),to:q(r)}),e[2]=l,e[3]=n,e[4]=r,e[5]=u):u=e[5],i=u}else if(r){let u;e[6]!==n||e[7]!==r?(u=n("diffView.submodule.added",{commit:q(r)}),e[6]=n,e[7]=r,e[8]=u):u=e[8],i=u}else if(l){let u;e[9]!==l||e[10]!==a||e[11]!==n?(u=a?n("diffView.submodule.removed",{commit:q(l)}):n("diffView.submodule.notCheckedOut",{commit:q(l)}),e[9]=l,e[10]=a,e[11]=n,e[12]=u):u=e[12],i=u}let f;e[13]!==n?(f=n("diffView.submodule.title"),e[13]=n,e[14]=f):f=e[14];let d;e[15]!==f?(d=F.jsx("div",{className:"typography-ui-label font-semibold text-foreground",children:f}),e[15]=f,e[16]=d):d=e[16];let c;e[17]!==i?(c=i?F.jsx("div",{className:"typography-meta text-muted-foreground",children:i}):null,e[17]=i,e[18]=c):c=e[18];let o;e[19]!==a||e[20]!==s.hasTrackedChanges||e[21]!==n?(o=!a&&s.hasTrackedChanges?F.jsx("div",{className:"typography-meta text-muted-foreground",children:n("diffView.submodule.trackedChanges")}):null,e[19]=a,e[20]=s.hasTrackedChanges,e[21]=n,e[22]=o):o=e[22];let h;e[23]!==a||e[24]!==s.hasUntrackedFiles||e[25]!==n?(h=!a&&s.hasUntrackedFiles?F.jsx("div",{className:"typography-meta text-muted-foreground",children:n("diffView.submodule.untrackedFiles")}):null,e[23]=a,e[24]=s.hasUntrackedFiles,e[25]=n,e[26]=h):h=e[26];let g;return e[27]!==d||e[28]!==c||e[29]!==o||e[30]!==h?(g=F.jsxs("div",{className:"flex flex-col gap-1 rounded-lg border border-border/60 bg-background px-3 py-2",children:[d,c,o,h]}),e[27]=d,e[28]=c,e[29]=o,e[30]=h,e[31]=g):g=e[31],g};export{fe as S,oe as a,re as b,ue as c,ae as d,ie as i,le as u};
1
+ import{R,r as y,f as J,j as F}from"./vendor-react-BUCujlKS.js";import{k3 as K,f as T,K as A,k5 as B,k6 as W,k7 as _,k8 as $}from"./useAppFontEffects-ZM9ij19-.js";import{h as M,dY as I,dZ as z,a as j}from"./index-CvLgnuNI.js";import{o as G,s as N}from"./vendor-zod-Gea9uBlY.js";const re=(t,e)=>!!t&&e!==null&&t!==e,ie=(t,e,s,a)=>s?t===null||a&&e===null?!0:e!==null&&t===e:!1,ae=(t,e)=>t==="branch"&&!e?"working":t,ue=(t,e,s,a,n,l)=>{const r=R.useRef({directory:"",attempts:0}),[i,f]=R.useState(()=>({directory:"",exhausted:!1})),d=R.useRef(n);d.current=n;const c=!!t&&i.directory===t&&i.exhausted;return R.useEffect(()=>{if(!t||!e||a||s)return;const o=r.current.directory===t?r.current.attempts:0;if(o>=l){i.directory===t&&i.exhausted||f({directory:t,exhausted:!0});return}r.current={directory:t,attempts:o+1},d.current()},[t,i,a,e,s,l]),c},oe=(t,e,s,a,n="")=>{const[l,r]=R.useState(()=>new Map),i=R.useRef(l);i.current=l;const f=R.useRef(new Map),d=R.useRef(null),c=R.useRef(s);c.current=s;const o=R.useCallback((h,g)=>{const u=new Map(i.current);if(g===null){if(!u.delete(h))return}else u.set(h,g);i.current=u,r(u)},[]);return R.useEffect(()=>{d.current=t,f.current.clear(),i.current=new Map,r(i.current)},[t]),R.useEffect(()=>{const h=c.current;if(!t||!h||!e)return;let g=!1;const u=new Set,S=f.current;for(const m of e.split("\0"))i.current.has(m)&&S.get(m)===n||(u.add(m),i.current.has(m)||o(m,a),h(m).then(k=>{g||(u.delete(m),S.set(m,n),o(m,k))}).catch(()=>{g||(u.delete(m),S.delete(m),o(m,null))}));return()=>{g=!0;for(const m of u)S.has(m)||o(m,null)}},[e,a,t,n,o]),d.current===t?l:new Map};function Y(t){if(!t.trim())return[];if(!t.startsWith("diff --git "))throw new Error("Invalid pull request diff");return t.split(/(?=^diff --git )/m).filter(Boolean).map(e=>{const s=K(e);if(!s)throw new Error("Invalid pull request file diff");return{path:s.name,previousPath:s.prevName,status:/^new file mode /m.test(e)?"A":/^deleted file mode /m.test(e)?"D":/^rename from /m.test(e)?"R":/^copy from /m.test(e)?"C":"M",insertions:s.hunks.reduce((a,n)=>a+n.additionLines,0),deletions:s.hunks.reduce((a,n)=>a+n.deletionLines,0),patch:e}})}async function L(t,e){const s=G({error:N()}).safeParse(await t.json().catch(()=>null));throw new Error(s.success?s.data.error:`${e} (${t.status})`)}async function Z(t,e){const s=await M("/api/walkthrough/pr-diff",{query:{directory:t,source:JSON.stringify(e)},signal:AbortSignal.timeout(3e4)});if(s.ok||await L(s,"Failed to load pull request diff"),!s.headers.get("content-type")?.includes("text/plain"))throw new Error("Pull request comparison is unavailable on this server");return Y(await s.text())}const H=G({original:N(),modified:N()});async function Q(t,e,s){const a=await M("/api/walkthrough/pr-file",{query:{directory:t,source:JSON.stringify(e),path:s.path,previousPath:s.previousPath??"",status:s.status},signal:AbortSignal.timeout(3e4)});a.ok||await L(a,"Failed to load pull request file");const n=H.safeParse(await a.json().catch(()=>null));if(!n.success)throw new Error("Pull request file contents are unavailable on this server");return n.data}class X{entries=new Map;load(e,s,a,n=!1){const l=JSON.stringify([e,s]),r=this.entries.get(l);if(r&&(!n||r.files===null))return r.pending;const i={scope:e,pending:a(),files:null,bytes:0};return i.pending=i.pending.then(f=>{if(this.entries.get(l)!==i)return f;i.files=f,i.bytes=f.reduce((c,o)=>c+2*(o.patch.length+o.path.length),0);let d=[...this.entries.values()].reduce((c,o)=>c+o.bytes,0);for(const[c,o]of this.entries){if(this.entries.size<=8&&d<=32*1024*1024)break;o===i||o.files===null||(d-=o.bytes,this.entries.delete(c))}return f}).catch(f=>{throw this.entries.get(l)===i&&this.entries.delete(l),f}),this.entries.delete(l),this.entries.set(l,i),i.pending}invalidate(e){for(const[s,a]of this.entries)a.scope===e&&this.entries.delete(s)}}function le(t,e,s=!0,a=""){const{t:n}=T(),l=A(p=>p.runtimeKey),r=t&&e?JSON.stringify([l,t,e]):null,i=I(t??"",l),f=y.useRef({key:r,source:e,enabled:s,pushScope:i});f.current={key:r,source:e,enabled:s,pushScope:i};const[d,c]=y.useState(null),o=y.useRef(0),[h]=y.useState(()=>new X),[g,u]=y.useState(0);y.useEffect(()=>z(p=>{h.invalidate(p),!(p!==f.current.pushScope||f.current.source?.kind!=="pr")&&(o.current+=1,u(E=>E+1))}),[h]);const S=y.useCallback(async p=>{const{key:E,source:w,enabled:v}=f.current;if(!s||!v||!r||E!==r||!t||!w)return;const x=++o.current,P=j();c(C=>C?.key===r&&C.status==="ready"?{...C,refreshing:!0}:{key:r,status:"loading"});try{const C=w.kind==="pr"?await h.load(i,w,()=>Z(t,w),p):w.kind==="branch"?(await B(t,{base:w.baseRef,head:w.headRef,includeWorkingTree:!0})).map(b=>({...b,insertions:0,deletions:0})):(await W(t,w.hash)).files.map(b=>({path:b.path,status:b.changeType,previousPath:b.previousPath,insertions:b.insertions,deletions:b.deletions}));if(o.current!==x||j()!==P)return;c(b=>b?.key===r&&b.status==="ready"&&b.files===C?{...b,refreshing:!1}:{key:r,status:"ready",files:C,revision:x,refreshing:!1})}catch(C){if(o.current!==x||j()!==P)return;c({key:r,status:"error",message:C instanceof Error?C.message:n("diffView.state.failedToLoadDiff")})}},[t,s,r,h,i,n]),m=y.useCallback(()=>S(!0),[S]);y.useEffect(()=>(S(!1),()=>{o.current+=1}),[S,a,g]);const k=d?.key===r?d:null,D=k?.status==="ready"?k.files:null,V=y.useMemo(()=>new Map((D??[]).map(p=>[p.path,p])),[D]),O=y.useCallback(async(p,E=3)=>{const{key:w,source:v,enabled:x}=f.current,P=V.get(p);if(!t||w!==r||!v||!P||!s||!x)throw new Error(n("diffView.state.failedToLoadDiff"));if(v.kind==="pr"){if(P.patch===void 0)throw new Error(n("diffView.state.failedToLoadDiff"));return{diff:P.patch}}return v.kind==="branch"?_(t,{base:v.baseRef,head:v.headRef,path:p,contextLines:E,includeWorkingTree:!0}):$(t,{hash:v.hash,path:p,previousPath:P.previousPath,contextLines:E})},[t,s,V,r,n]),U=y.useCallback(async p=>{const{key:E,source:w,enabled:v}=f.current,x=V.get(p);if(!t||E!==r||w?.kind!=="pr"||!x||!s||!v)throw new Error(n("diffView.state.failedToLoadDiff"));return Q(t,w,{path:x.path,previousPath:x.previousPath,status:x.status})},[t,s,V,r,n]);return{key:r,revision:k?.status==="ready"?k.revision:0,files:D,loading:!!(s&&r&&(!k||k.status==="loading"||k.status==="ready"&&k.refreshing)),error:k?.status==="error"?k.message:null,refresh:m,fetchDiff:O,fetchFullFile:U}}const q=t=>t.slice(0,7),fe=t=>{const e=J.c(32),{state:s,staged:a}=t,{t:n}=T(),l=a?s.headCommit:s.indexCommit,r=a?s.indexCommit:s.worktreeCommit;let i=null;if(s.hasConflict){let u;e[0]!==n?(u=n("diffView.submodule.conflict"),e[0]=n,e[1]=u):u=e[1],i=u}else if(l&&r){let u;e[2]!==l||e[3]!==n||e[4]!==r?(u=l===r?n("diffView.submodule.commitUnchanged",{commit:q(r)}):n("diffView.submodule.commitChanged",{from:q(l),to:q(r)}),e[2]=l,e[3]=n,e[4]=r,e[5]=u):u=e[5],i=u}else if(r){let u;e[6]!==n||e[7]!==r?(u=n("diffView.submodule.added",{commit:q(r)}),e[6]=n,e[7]=r,e[8]=u):u=e[8],i=u}else if(l){let u;e[9]!==l||e[10]!==a||e[11]!==n?(u=a?n("diffView.submodule.removed",{commit:q(l)}):n("diffView.submodule.notCheckedOut",{commit:q(l)}),e[9]=l,e[10]=a,e[11]=n,e[12]=u):u=e[12],i=u}let f;e[13]!==n?(f=n("diffView.submodule.title"),e[13]=n,e[14]=f):f=e[14];let d;e[15]!==f?(d=F.jsx("div",{className:"typography-ui-label font-semibold text-foreground",children:f}),e[15]=f,e[16]=d):d=e[16];let c;e[17]!==i?(c=i?F.jsx("div",{className:"typography-meta text-muted-foreground",children:i}):null,e[17]=i,e[18]=c):c=e[18];let o;e[19]!==a||e[20]!==s.hasTrackedChanges||e[21]!==n?(o=!a&&s.hasTrackedChanges?F.jsx("div",{className:"typography-meta text-muted-foreground",children:n("diffView.submodule.trackedChanges")}):null,e[19]=a,e[20]=s.hasTrackedChanges,e[21]=n,e[22]=o):o=e[22];let h;e[23]!==a||e[24]!==s.hasUntrackedFiles||e[25]!==n?(h=!a&&s.hasUntrackedFiles?F.jsx("div",{className:"typography-meta text-muted-foreground",children:n("diffView.submodule.untrackedFiles")}):null,e[23]=a,e[24]=s.hasUntrackedFiles,e[25]=n,e[26]=h):h=e[26];let g;return e[27]!==d||e[28]!==c||e[29]!==o||e[30]!==h?(g=F.jsxs("div",{className:"flex flex-col gap-1 rounded-lg border border-border/60 bg-background px-3 py-2",children:[d,c,o,h]}),e[27]=d,e[28]=c,e[29]=o,e[30]=h,e[31]=g):g=e[31],g};export{fe as S,oe as a,re as b,ue as c,ae as d,ie as i,le as u};