@openchambery/web 2.0.5-beta.1 → 2.0.5-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AssistantView-CqnNzTHt.js → AssistantView-B2cKivcI.js} +3 -3
- package/dist/assets/{DiagramView-2tzS00bO.js → DiagramView-DTEGhZ5W.js} +1 -1
- package/dist/assets/{MarkdownRenderer-ByXIhjNC.js → MarkdownRenderer-CYMeciqE.js} +2 -2
- package/dist/assets/{MarkdownRendererImpl-BiZ4JRig.js → MarkdownRendererImpl-BPzp9tJC.js} +1 -1
- package/dist/assets/{MarkstreamRendererImpl-DxFmgjlq.js → MarkstreamRendererImpl-D9QIVGm7.js} +1 -1
- package/dist/assets/{MobileDetailNavigation-jJhLjRLn.js → MobileDetailNavigation-aYp44pDd.js} +1 -1
- package/dist/assets/{MobileShareBridge-CTA7NoK2.js → MobileShareBridge-HjnqqHZ7.js} +1 -1
- package/dist/assets/{MobileTabPageHeader-T3yD44sd.js → MobileTabPageHeader-BR0Wft7i.js} +1 -1
- package/dist/assets/{MultiRunWindow-B33IC-8x.js → MultiRunWindow-n7eHJXwc.js} +1 -1
- package/dist/assets/{SettingsView-CNggmmFw.js → SettingsView-CI838_aL.js} +1 -1
- package/dist/assets/{SettingsWindow-MmNrsJf-.js → SettingsWindow-DoPGXpMp.js} +1 -1
- package/dist/assets/{TerminalView-Diz80kvf.js → TerminalView-D2JXXNMy.js} +1 -1
- package/dist/assets/{ToolOutputDialog-okB3gi10.js → ToolOutputDialog-BWp96snp.js} +1 -1
- package/dist/assets/{appThemeRegistry-CqutS5NP.js → appThemeRegistry-DeunlP8v.js} +1 -1
- package/dist/assets/{fileMentionTouchSelection-D4xaaiFq.js → fileMentionTouchSelection-CQDL-tY1.js} +1 -1
- package/dist/assets/{gitApi-praFErFC.js → gitApi-CWT__XuO.js} +1 -1
- package/dist/assets/{insertionBoundaries-Bt1xcKNh.js → insertionBoundaries-BYJsPuWp.js} +1 -1
- package/dist/assets/{main-DBI2rZ1q.js → main-BMWdT13l.js} +4 -4
- package/dist/assets/{main-Dve-Q3SA.js → main-DoEga-Rx.js} +2 -2
- package/dist/assets/{mcpQueries-BKZNt7TO.js → mcpQueries-o7eJn0o6.js} +1 -1
- package/dist/assets/{miniChat-BJLX3Y4b.js → miniChat-CuxjddEP.js} +2 -2
- package/dist/assets/{mobile-B4Ti0kDc.js → mobile-CBTA-4pc.js} +2 -2
- package/dist/assets/{multirun-CKt8xLsh.js → multirun-BSaqapqR.js} +1 -1
- package/dist/assets/{projectMeta-CrW4uRC8.js → projectMeta-DqmtxS1O.js} +1 -1
- package/dist/assets/{renderElectronMiniChatApp-DvxT8SxW.js → renderElectronMiniChatApp-DVvioeYa.js} +2 -2
- package/dist/assets/{renderMobileApp-Df1jHBvK.js → renderMobileApp-CGdrg3tm.js} +4 -4
- package/dist/assets/{runtimeConfig-jDoPOX29.js → runtimeConfig-Bi3ZSSO_.js} +1 -1
- package/dist/assets/{runtimeEndpointReset-87byR7BL.js → runtimeEndpointReset-uBgv2tJJ.js} +1 -1
- package/dist/assets/{sessionChangeSummary-DcroUuyO.js → sessionChangeSummary-sOlMM_Ae.js} +1 -1
- package/dist/assets/{sessionLookup-GLnw9Y1n.js → sessionLookup-DnMv1umH.js} +1 -1
- package/dist/assets/{useAppFontEffects-BFZ0lznC.js → useAppFontEffects-BDWd2e-G.js} +5 -5
- package/dist/assets/{useDesktopWindowControlsLayout-DI6XjptF.js → useDesktopWindowControlsLayout-Az2iIylx.js} +1 -1
- package/dist/assets/{useEffectiveDirectory-Hs1zkn-f.js → useEffectiveDirectory-BaxTMaJc.js} +1 -1
- package/dist/assets/{useMobileNavigationStore-DeReJWbg.js → useMobileNavigationStore-CcDPbboc.js} +3 -3
- package/dist/assets/{useSessionAutoCleanup-D_qNXufm.js → useSessionAutoCleanup-BwPPCXI7.js} +1 -1
- package/dist/assets/{useWorkerHighlightedLines-DDSSeshJ.js → useWorkerHighlightedLines-xIKQgP7L.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/mini-chat.html +2 -2
- package/dist/mobile.html +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{$ as t,J as n,X as r,Y as i,Z as a,nt as o,rt as s}from"./vendor-base-ui-CnHfUmDN.js";import{n as c}from"./vendor-react-DLPElpoQ.js";import{f as l,r as u}from"./button-CUwjpv-i.js";import{n as d}from"./Icon-BdzPRCSy.js";import{t as f}from"./multirun-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{$ as t,J as n,X as r,Y as i,Z as a,nt as o,rt as s}from"./vendor-base-ui-CnHfUmDN.js";import{n as c}from"./vendor-react-DLPElpoQ.js";import{f as l,r as u}from"./button-CUwjpv-i.js";import{n as d}from"./Icon-BdzPRCSy.js";import{t as f}from"./multirun-BSaqapqR.js";var p=c(),m=e(s(),1),h=o(),g=e=>{let o=(0,p.c)(33),{open:s,onOpenChange:c,initialPrompt:g}=e,v=m.useId(),{t:y}=l(),b=_,x;o[0]===c?x=o[1]:(x=e=>{!e&&b()||c(e)},o[0]=c,o[1]=x);let S;o[2]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,h.jsx)(t,{className:u(`fixed inset-0 z-50 bg-black/50 dark:bg-black/75`,`transition-opacity duration-150 ease-out`,`data-[starting-style]:opacity-0 data-[ending-style]:opacity-0`)}),o[2]=S):S=o[2];let C;o[3]===Symbol.for(`react.memo_cache_sentinel`)?(C=u(`relative pointer-events-auto`,`w-[90vw] max-w-[720px] h-[680px] max-h-[85vh]`,`flex flex-col 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]`),o[3]=C):C=o[3];let w;o[4]===c?w=o[5]:(w=()=>c(!1),o[4]=c,o[5]=w);let T;o[6]===y?T=o[7]:(T=y(`multiRun.window.actions.closeAria`),o[6]=y,o[7]=T);let E;o[8]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,h.jsx)(d,{name:`close`,className:`h-5 w-5`}),o[8]=E):E=o[8];let D;o[9]!==w||o[10]!==T?(D=(0,h.jsx)(`div`,{className:`absolute right-0.5 top-0.5 z-50`,children:(0,h.jsx)(`button`,{type:`button`,onClick:w,"aria-label":T,className:`inline-flex h-7 w-7 items-center justify-center rounded-md p-0.5 text-muted-foreground hover:text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,children:E})}),o[9]=w,o[10]=T,o[11]=D):D=o[11];let O;o[12]===y?O=o[13]:(O=y(`multiRun.window.description`),o[12]=y,o[13]=O);let k;o[14]!==v||o[15]!==O?(k=(0,h.jsx)(a,{id:v,className:`sr-only`,children:O}),o[14]=v,o[15]=O,o[16]=k):k=o[16];let A,j;o[17]===c?(A=o[18],j=o[19]):(A=()=>c(!1),j=()=>c(!1),o[17]=c,o[18]=A,o[19]=j);let M;o[20]!==g||o[21]!==A||o[22]!==j?(M=(0,h.jsx)(f,{initialPrompt:g,onCreated:A,onCancel:j,isWindowed:!0}),o[20]=g,o[21]=A,o[22]=j,o[23]=M):M=o[23];let N;o[24]!==v||o[25]!==M||o[26]!==D||o[27]!==k?(N=(0,h.jsxs)(i,{children:[S,(0,h.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center pointer-events-none`,children:(0,h.jsxs)(r,{"aria-describedby":v,className:C,children:[D,k,M]})})]}),o[24]=v,o[25]=M,o[26]=D,o[27]=k,o[28]=N):N=o[28];let P;return o[29]!==s||o[30]!==x||o[31]!==N?(P=(0,h.jsx)(n,{open:s,onOpenChange:x,children:N}),o[29]=s,o[30]=x,o[31]=N,o[32]=P):P=o[32],P};function _(){return typeof document>`u`?!1:!!document.querySelector(`[data-slot="dropdown-menu-content"][data-open], [data-slot="select-content"][data-open]`)}export{g as MultiRunWindow};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{E as n}from"./runtime-auth-D66yq6ie.js";import{c as r,i,l as a,n as o,r as s,t as c}from"./runtime-switch-BJM2k_uH.js";import{n as l}from"./runtime-fetch-CiqQd__Y.js";import{$t as u,A as d,Cn as f,Dn as p,Jt as m,M as h,On as g,Sn as _,V as v,Xt as y,Yt as b,_n as x,a as S,at as C,d as w,en as T,f as E,hn as D,i as O,j as k,k as A,nn as j,on as M,p as N,qt as P,r as F,rn as I,sn as L,u as R,xn as z}from"./persistence-Dnj1QOdX.js";import{a as B,g as ee,h as V,i as H,l as U,m as te,n as W,p as ne,r as re,t as ie,u as ae}from"./desktopHosts-DuftEj8B.js";import{n as oe}from"./desktopRelayRestore-g378BdZf.js";import{a as se,i as ce,r as le,t as ue}from"./vendor-zustand-DzRqcymP.js";import{nt as de,rt as fe}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as pe,Nt as me,n as he,t as ge}from"./platform-wu6wSDfg.js";import{b as _e,d as ve,i as ye,n as G,o as be,s as xe}from"./useUIStore-Dfx6TKvi.js";import{n as Se}from"./vendor-react-DLPElpoQ.js";import{n as Ce}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{l as we,n as Te,o as Ee,s as De}from"./vendor-tanstack-react-query-D7pys_c9.js";import{W as Oe}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{r as ke}from"./vendor-sonner-DVzioF3d.js";import{c as Ae,n as je}from"./vendor-reactuses-core-Dq5ocTF8.js";import{d as Me,f as Ne,n as Pe,o as Fe,p as Ie,r as K,t as q}from"./button-CUwjpv-i.js";import{a as Le,i as Re,r as ze}from"./MobileShareBridge-CTA7NoK2.js";import{C as Be,_ as Ve,a as He,b as Ue,f as We,g as Ge,h as Ke,i as qe,s as Je,t as Ye,v as Xe,y as Ze}from"./MobileDetailNavigation-jJhLjRLn.js";import{$a as Qe,Aa as $e,Ba as et,Bn as tt,Fa as nt,Ga as rt,Ha as it,Ia as at,Ja as ot,Ka as st,Kt as ct,La as lt,Ma as ut,Na as dt,Pa as ft,Qa as pt,Ra as mt,Ua as ht,Va as gt,Vn as _t,Wa as vt,Xa as yt,Ya as bt,Za as xt,_a as St,_i as Ct,ao as wt,ca as Tt,eo as Et,ga as Dt,ia as Ot,io as kt,ja as At,jr as J,ka as jt,ma as Mt,mi as Nt,na as Pt,o as Ft,oa as It,oo as Lt,pa as Rt,qa as zt,ra as Bt,sa as Vt,to as Ht,va as Ut,vi as Wt,wi as Gt,yi as Kt,za as qt}from"./useMobileNavigationStore-DeReJWbg.js";import{i as Jt}from"./useAssistantUIStore-DBwfg9nX.js";import{a as Yt,i as Xt,n as Zt,o as Qt,r as $t,t as en}from"./dialog-PjKWayIU.js";import{t as tn}from"./AgentAvatar-C1MGZ7qC.js";import{n as Y}from"./Icon-BdzPRCSy.js";import{A as nn,T as rn,_ as an,a as on,b as sn,h as cn,i as ln,m as un,n as dn,x as fn}from"./projectMeta-CrW4uRC8.js";import{t as pn}from"./input-BeVw4D0W.js";import{i as mn,n as hn,t as gn}from"./tooltip-DDNnmcXI.js";import{At as _n,Bt as vn,Ct as yn,E as bn,F as xn,Ft as Sn,Ht as Cn,I as wn,It as Tn,J as En,K as Dn,L as On,Lt as kn,Mt as An,N as jn,Nt as Mn,O as Nn,Pt as Pn,Qt as Fn,R as In,Rt as X,St as Ln,T as Rn,V as zn,Vt as Bn,Wt as Vn,Zt as Hn,a as Un,an as Wn,at as Gn,bt as Kn,ct as qn,dt as Jn,en as Yn,gt as Xn,ht as Zn,i as Qn,it as $n,j as er,jt as tr,k as nr,kt as rr,mt as ir,nn as ar,o as or,on as sr,rn as cr,rt as lr,st as ur,t as dr,tn as fr,tt as pr,u as mr,ut as hr,xt as gr,z as _r,zt as vr}from"./useSessionAutoCleanup-D_qNXufm.js";import{n as yr}from"./useThemeSystem-DMzWVJaW.js";import{i as br,r as xr}from"./OverlayScrollbar-C1C2aKOe.js";import{n as Sr}from"./useRuntimeAPIs-DSLXJybW.js";import{n as Cr,t as wr}from"./textarea-Kl-rTWJe.js";import{P as Tr,i as Er,j as Dr,n as Or}from"./appThemeRegistry-CqutS5NP.js";import{n as kr}from"./MarkdownRenderer-ByXIhjNC.js";import{a as Ar}from"./url-DNRMq_0R.js";import{l as jr}from"./markdown-worker-bS5OgGO3.js";import{t as Mr}from"./sortable-tabs-strip-NN4v9dLg.js";import{A as Nr,B as Pr,C as Fr,D as Ir,E as Lr,F as Z,G as Rr,H as zr,I as Br,L as Vr,M as Hr,N as Ur,O as Wr,P as Gr,R as Kr,S as qr,T as Jr,U as Yr,V as Xr,W as Zr,_ as Qr,a as $r,b as ei,c as ti,d as ni,f as ri,g as ii,j as ai,l as oi,m as si,o as ci,p as li,r as ui,s as di,t as fi,v as pi,w as mi,x as hi,y as gi,z as _i}from"./MobileTabPageHeader-T3yD44sd.js";import{a as vi,c as yi,i as bi,l as xi,o as Si,r as Ci,s as wi}from"./mcpQueries-BKZNt7TO.js";import{a as Ti,n as Ei,r as Di,t as Oi}from"./context-menu-K6zNumqN.js";import{n as ki,r as Ai,t as ji}from"./collapsible-paItOH3A.js";import{n as Mi,t as Ni}from"./vendor-yaml-C9KlJAlj.js";import{t as Pi}from"./vendor-qrcode-DAuVxiQR.js";var Fi=Se(),Q=e(fe(),1),$=de(),Ii=`https://github.com/yee94/openchamber`,Li=`${Ii}/issues/new`,Ri=800,zi={"manual-global":`settings.openchamber.about.opencodeManagement.manual-global`,"manual-external":`settings.openchamber.about.opencodeManagement.manual-external`,bundled:`settings.openchamber.about.opencodeManagement.bundled`,"in-app":`settings.openchamber.about.opencodeManagement.in-app`,none:`settings.openchamber.about.opencodeManagement.none`},Bi=e=>typeof e==`string`&&e.trim()?e.trim():null,Vi=(e,t,n)=>({queryKey:[t,`about`,n,e],queryFn:async({signal:r})=>{if(t!==i()||n!==o())throw Error(`Stale About runtime`);let a=await l(e,{method:`GET`,headers:{Accept:`application/json`},signal:r});if(!a.ok)throw Error(`About snapshot: ${a.status}`);let s=await a.json();if(!s||typeof s!=`object`||Array.isArray(s))throw Error(`Invalid About snapshot`);if(r.aborted||t!==i()||n!==o())throw Error(`Stale About runtime`);return s},retry:!1,staleTime:3e4}),Hi=()=>{try{let e=Ce;return((typeof e.getConfig==`function`?e.getConfig():void 0)??e.config)?.OpenChamberOTA?.channel===`stable`?`stable`:`beta`}catch{return`beta`}},Ui=({initialUpdateDialogOpen:e=!1})=>{let{t}=Ne(),[n,a]=Q.useState(e),[s,c]=Q.useState(!1),[l,u]=Q.useState(!1),[d,f]=Q.useState(null),[p,m]=Q.useState(null),h=Q.useSyncExternalStore(r,i,i),g=Q.useSyncExternalStore(r,o,o),_=De(Vi(`/api/system/info`,h,g)),v=De(Vi(`/api/opencode/upgrade-status`,h,g)),y=Bi(_.data?.openchamberVersion),b=v.data,x=Bi(b?.serveVersion)??Bi(b?.currentVersion),S=Bi(b?.management),C=S&&Object.hasOwn(zi,S)?zi[S]:null,w=b?.canManage===!1&&C?t(C):null,T=x&&w?t(`settings.openchamber.about.opencodeVersionWithManagement`,{version:x,management:w}):x,E=b?.canManage===!1?S===`manual-global`?t(`settings.openchamber.about.opencodeGuidance.manualGlobal`):S===`manual-external`?t(`settings.openchamber.about.opencodeGuidance.manualExternal`):S===`bundled`?t(`settings.openchamber.about.opencodeGuidance.bundled`):null:null,D=_i(ue(e=>({info:e.info,checking:e.checking,available:e.available,error:e.error,downloading:e.downloading,downloaded:e.downloaded,progress:e.progress,runtimeType:e.runtimeType,checkForUpdates:e.checkForUpdates,downloadUpdate:e.downloadUpdate,restartToUpdate:e.restartToUpdate}))),{isMobile:O}=br(),k=G(e=>e.otaChannelOverride),A=G(e=>e.setOtaChannelOverride),j=he(),M=Hi(),N=k===`beta`||k===null&&M===`beta`,[P,F]=Q.useState(!1),[I,L]=Q.useState(()=>Kt()),R=je(e=>{Gt(e),L(e)}),z=je(async e=>{if(e){A(`beta`),await _i.getState().checkForUpdates();return}A(`stable`),await _i.getState().checkForUpdates();let{info:t,otaDecision:n}=_i.getState();t?.isChannelRollback===!0&&n?.primaryAction===`apply_ota`&&c(!0)}),B=je(()=>{c(!1),A(`beta`),_i.getState().checkForUpdates()}),ee=je(()=>{c(!1),a(!0),_i.getState().downloadUpdate()}),V=je(e=>{e||B()}),H=d||t(`settings.openchamber.about.state.unknown`),U=je(async()=>{if(!P){F(!0);try{let{outcome:e,eventCount:n}=await Wt();if(e===`cancelled`)return;if(e===`failed`){J.error(t(`settings.openchamber.about.diagnostics.toast.failed`));return}J.success(t(n>0?`settings.openchamber.about.diagnostics.toast.exported`:`settings.openchamber.about.diagnostics.toast.empty`))}catch{J.error(t(`settings.openchamber.about.diagnostics.toast.failed`))}finally{F(!1)}}});Q.useEffect(()=>{let e=!1;return zr().then(t=>{e||f(t)}),Xr().then(t=>{e||m(t)}),()=>{e=!0}},[]);let te=Pr(d,p)??H,W=Q.useRef(!1);Q.useEffect(()=>{if(D.checking)u(!0),W.current=!0;else if(l){let e=setTimeout(()=>{u(!1),W.current&&D.error?(J.error(t(`settings.openchamber.about.toast.checkFailed`),{description:D.error}),W.current=!1):W.current&&!D.available&&!D.error&&(J.success(t(`settings.openchamber.about.toast.latestVersion`)),W.current=!1)},Ri);return()=>clearTimeout(e)}},[t,D.checking,l,D.available,D.error]);let ne=D.checking||l;return O?(0,$.jsxs)(`div`,{className:`w-full space-y-6 pb-2`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,$.jsx)(X,{width:72,height:72}),(0,$.jsx)(`h2`,{className:`mt-4 typography-ui-header font-semibold text-foreground`,children:`OpenChamber`})]}),(0,$.jsxs)(Z,{children:[(0,$.jsx)(Br,{label:t(`settings.openchamber.about.field.clientVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:te})}),(0,$.jsx)(Br,{label:t(`settings.openchamber.about.field.instanceOpenChamberVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:y||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Br,{label:t(`settings.openchamber.about.field.instanceOpenCodeVersion`),description:E,children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:T||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Br,{children:(0,$.jsxs)(`div`,{className:`flex flex-nowrap items-center justify-end gap-2`,children:[(0,$.jsx)(q,{asChild:!0,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,children:(0,$.jsxs)(`a`,{href:Li,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(Y,{name:`question`,className:`size-4`}),t(`settings.openchamber.about.actions.submitFeedback`)]})}),!ne&&D.available?(0,$.jsxs)(q,{type:`button`,variant:`default`,size:`sm`,className:`whitespace-nowrap`,onClick:()=>a(!0),children:[(0,$.jsx)(Y,{name:`download`,className:`size-4`}),D.info?.inAppApply?t(`settings.openchamber.about.actions.applyOtaToVersion`,{version:D.info?.version||``}):D.info?.manualUpdate?t(`settings.openchamber.about.actions.installNativeToVersion`,{version:D.info?.version||``}):t(`settings.openchamber.about.actions.updateToVersion`,{version:D.info?.version||``})]}):(0,$.jsxs)(q,{type:`button`,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,onClick:()=>D.checkForUpdates(),disabled:ne,children:[ne?(0,$.jsx)(Y,{name:`loader`,className:`size-4 animate-spin`}):(0,$.jsx)(Y,{name:`refresh`,className:`size-4`}),t(ne?`settings.openchamber.about.state.checking`:`settings.openchamber.about.actions.checkForUpdates`)]})]})}),D.error&&(0,$.jsx)(Br,{children:(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:D.error})}),j&&(0,$.jsx)(Vr,{itemId:`about.beta-updates`,checked:N,onChange:z,label:t(`settings.openchamber.about.betaUpdates.label`),description:t(`settings.openchamber.about.betaUpdates.description`),ariaLabel:t(`settings.openchamber.about.betaUpdates.label`),disabled:ne}),(0,$.jsx)(Vr,{itemId:`about.diagnostics`,checked:I,onChange:R,label:t(`settings.openchamber.about.diagnostics.label`),ariaLabel:t(`settings.openchamber.about.diagnostics.label`)}),I&&(0,$.jsx)(Br,{itemId:`about.export-diagnostics`,label:t(`settings.openchamber.about.diagnostics.export`),children:(0,$.jsx)(q,{type:`button`,variant:`outline`,size:`sm`,disabled:P,onClick:()=>void U(),children:t(P?`settings.openchamber.about.diagnostics.exporting`:`settings.openchamber.about.diagnostics.export`)})})]}),(0,$.jsx)(`div`,{className:`flex flex-col items-center gap-3 text-center`,children:(0,$.jsx)(`div`,{className:`flex items-center justify-center gap-5`,children:(0,$.jsxs)(`a`,{href:Ii,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 typography-ui-label text-muted-foreground transition-colors hover:text-foreground`,children:[(0,$.jsx)(Y,{name:`github-fill`,className:`size-5`}),(0,$.jsx)(`span`,{children:`GitHub`})]})})}),(0,$.jsx)(`p`,{className:`text-center typography-ui text-muted-foreground/60`,children:t(`aboutDialog.footerNote`)}),(0,$.jsx)(Kr,{open:n,onOpenChange:a,info:D.info,downloading:D.downloading,downloaded:D.downloaded,progress:D.progress,error:D.error,onDownload:D.downloadUpdate,onRestart:D.restartToUpdate,runtimeType:D.runtimeType}),(0,$.jsx)(en,{open:s,onOpenChange:V,children:(0,$.jsxs)(Zt,{showCloseButton:!1,className:`max-w-sm gap-5`,children:[(0,$.jsxs)(Yt,{children:[(0,$.jsx)(Qt,{children:t(`settings.openchamber.about.betaUpdates.rollback.title`)}),(0,$.jsx)($t,{children:t(`settings.openchamber.about.betaUpdates.rollback.description`,{version:D.info?.version||``})})]}),(0,$.jsxs)(Xt,{children:[(0,$.jsx)(q,{type:`button`,size:`sm`,variant:`ghost`,onClick:B,children:t(`settings.openchamber.about.betaUpdates.rollback.actions.cancel`)}),(0,$.jsx)(q,{type:`button`,size:`sm`,onClick:ee,children:t(`settings.openchamber.about.betaUpdates.rollback.actions.confirm`)})]})]})})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Z,{label:t(`settings.openchamber.about.title`),children:[(0,$.jsx)(Br,{label:t(`settings.openchamber.about.field.clientVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:H})}),(0,$.jsx)(Br,{label:t(`settings.openchamber.about.field.instanceOpenChamberVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:y||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Br,{label:t(`settings.openchamber.about.field.instanceOpenCodeVersion`),description:E,children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:T||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Br,{children:(0,$.jsxs)(`div`,{className:`flex flex-nowrap items-center justify-end gap-3`,children:[(0,$.jsx)(q,{asChild:!0,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,children:(0,$.jsxs)(`a`,{href:Li,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(Y,{name:`question`,className:`size-4`}),t(`settings.openchamber.about.actions.submitFeedback`)]})}),D.checking&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader`,className:`h-4 w-4 animate-spin`}),(0,$.jsx)(`span`,{className:`typography-meta`,children:t(`settings.openchamber.about.state.checking`)})]}),!D.checking&&D.available&&(0,$.jsxs)(q,{size:`sm`,variant:`default`,onClick:()=>a(!0),children:[(0,$.jsx)(Y,{name:`download`,className:`h-4 w-4 mr-1`}),t(`settings.openchamber.about.actions.updateToVersion`,{version:D.info?.version||``})]}),!D.checking&&!D.available&&!D.error&&(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:t(`settings.openchamber.about.state.upToDate`)}),(0,$.jsx)(q,{size:`sm`,variant:`outline`,onClick:()=>D.checkForUpdates(),disabled:D.checking,children:t(`settings.openchamber.about.actions.checkForUpdates`)})]})}),D.error&&(0,$.jsx)(Br,{children:(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:D.error})}),(0,$.jsx)(Vr,{itemId:`about.diagnostics`,checked:I,onChange:R,label:t(`settings.openchamber.about.diagnostics.label`),ariaLabel:t(`settings.openchamber.about.diagnostics.label`)}),I&&(0,$.jsx)(Br,{itemId:`about.export-diagnostics`,label:t(`settings.openchamber.about.diagnostics.export`),children:(0,$.jsx)(q,{type:`button`,variant:`outline`,size:`sm`,disabled:P,onClick:()=>void U(),children:t(P?`settings.openchamber.about.diagnostics.exporting`:`settings.openchamber.about.diagnostics.export`)})}),(0,$.jsx)(Br,{controlClassName:`flex-wrap`,children:(0,$.jsxs)(`a`,{href:Ii,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 text-muted-foreground hover:text-foreground typography-meta transition-colors`,children:[(0,$.jsx)(Y,{name:`github-fill`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:`GitHub`})]})})]}),(0,$.jsx)(Kr,{open:n,onOpenChange:a,info:D.info,downloading:D.downloading,downloaded:D.downloaded,progress:D.progress,error:D.error,onDownload:D.downloadUpdate,onRestart:D.restartToUpdate,runtimeType:D.runtimeType})]})},Wi=`/assets/android-direct-share-1a0lp154.jpg`,Gi=`/assets/ios-share-sheet-B3Dlufnc.jpg`,Ki=`/assets/select-assistant-C89IRspC.jpg`,qi=`openchamber:assistant-share-welcome:v1`,Ji=[{image:Gi,titleKey:`assistants.shareWelcome.example.chat.title`,descriptionKey:`assistants.shareWelcome.example.chat.description`},{image:Wi,titleKey:`assistants.shareWelcome.example.article.title`,descriptionKey:`assistants.shareWelcome.example.article.description`},{image:Ki,titleKey:`assistants.shareWelcome.example.note.title`,descriptionKey:`assistants.shareWelcome.example.note.description`}],Yi=e=>{let t=(0,Fi.c)(40),{enabled:n,open:r,onOpenChange:i}=e,a=n!==void 0&&n,{t:o}=Ne(),[s,c]=Ae(qi,!1),l=r!==void 0,u=l?r:a&&s!==!0,d;t[0]!==l||t[1]!==i||t[2]!==c?(d=()=>{l||c(!0),i?.(!1)},t[0]=l,t[1]=i,t[2]=c,t[3]=d):d=t[3];let f=je(d),p;t[4]!==f||t[5]!==i?(p=e=>{e?i?.(!0):f()},t[4]=f,t[5]=i,t[6]=p):p=t[6];let m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-xl bg-interactive-selection text-interactive-selection-foreground sm:size-12`,children:(0,$.jsx)(Y,{name:`share-2`,className:`size-5`})}),t[7]=m):m=t[7];let h;t[8]===o?h=t[9]:(h=o(`assistants.shareWelcome.title`),t[8]=o,t[9]=h);let g;t[10]===h?g=t[11]:(g=(0,$.jsx)(Qt,{className:`typography-ui-header text-left sm:text-3xl`,children:h}),t[10]=h,t[11]=g);let _;t[12]===o?_=t[13]:(_=o(`assistants.shareWelcome.description`),t[12]=o,t[13]=_);let v;t[14]===_?v=t[15]:(v=(0,$.jsx)($t,{className:`typography-ui text-left leading-6 sm:max-w-3xl sm:text-base sm:leading-7`,children:_}),t[14]=_,t[15]=v);let y;t[16]!==g||t[17]!==v?(y=(0,$.jsxs)(Yt,{className:`flex-row items-start gap-3 px-5 pb-5 pt-6 text-left sm:gap-4 sm:px-8 sm:pb-6 sm:pt-8`,children:[m,(0,$.jsxs)(`div`,{className:`min-w-0 space-y-1.5 sm:space-y-2`,children:[g,v]})]}),t[16]=g,t[17]=v,t[18]=y):y=t[18];let b;t[19]===o?b=t[20]:(b=o(`assistants.shareWelcome.examplesAria`),t[19]=o,t[20]=b);let x;t[21]===o?x=t[22]:(x=Ji.map((e,t)=>(0,$.jsxs)(`article`,{className:`w-[min(78vw,19rem)] shrink-0 snap-center overflow-hidden rounded-xl border border-border bg-background lg:w-auto lg:min-w-0`,children:[(0,$.jsxs)(`div`,{className:`relative overflow-hidden border-b border-border bg-muted`,children:[(0,$.jsx)(`img`,{src:e.image,alt:``,className:`h-72 w-full object-cover object-bottom lg:h-[min(38vh,23rem)]`}),(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`absolute left-3 top-3 flex size-7 items-center justify-center rounded-full bg-[var(--surface-elevated)] typography-meta font-semibold text-foreground shadow-sm`,children:t+1})]}),(0,$.jsxs)(`div`,{className:`space-y-1 px-4 py-3.5 lg:min-h-25`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-label font-semibold text-foreground`,children:o(e.titleKey)}),(0,$.jsx)(`p`,{className:`typography-meta leading-5 text-muted-foreground`,children:o(e.descriptionKey)})]})]},e.titleKey)),t[21]=o,t[22]=x);let S;t[23]!==b||t[24]!==x?(S=(0,$.jsx)(`div`,{className:`overflow-hidden px-5 pb-5 sm:px-8 sm:pb-7`,children:(0,$.jsx)(`div`,{className:`flex snap-x snap-mandatory gap-3 overflow-x-auto pb-2 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden lg:grid lg:grid-cols-3 lg:overflow-visible lg:pb-0`,"aria-label":b,children:x})}),t[23]=b,t[24]=x,t[25]=S):S=t[25];let C;t[26]===o?C=t[27]:(C=o(`assistants.shareWelcome.action`),t[26]=o,t[27]=C);let w;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(Y,{name:`arrow-right-s`,className:`size-4`}),t[28]=w):w=t[28];let T;t[29]!==f||t[30]!==C?(T=(0,$.jsx)(Xt,{className:`border-t border-border px-5 py-4 sm:px-8 sm:py-5`,children:(0,$.jsxs)(q,{size:`lg`,className:`w-full lg:mx-auto lg:w-72`,onClick:f,children:[C,w]})}),t[29]=f,t[30]=C,t[31]=T):T=t[31];let E;t[32]!==S||t[33]!==T||t[34]!==y?(E=(0,$.jsxs)(Zt,{showCloseButton:!1,className:`w-[min(100%,31rem)] max-w-none gap-0 overflow-hidden rounded-2xl border-border bg-[var(--surface-elevated)] p-0 sm:w-[min(calc(100%-3rem),44rem)] lg:w-[min(calc(100%-4rem),74rem)]`,containerClassName:`fixed inset-0 z-50 flex items-end justify-center px-0 pt-8 sm:items-center sm:p-6`,children:[y,S,T]}),t[32]=S,t[33]=T,t[34]=y,t[35]=E):E=t[35];let D;return t[36]!==u||t[37]!==E||t[38]!==p?(D=(0,$.jsx)(en,{open:u,onOpenChange:p,children:E}),t[36]=u,t[37]=E,t[38]=p,t[39]=D):D=t[39],D},Xi=`useCommandsStore`,Zi=new Set([`init`,`review`]),Qi=e=>Zi.has(e.name),$i=async(e,t)=>{await pt(w,e,t),i()===t&&kt(`commands`,{source:Xi})},ea=se()(le(ce(e=>({selectedCommandName:null,commandDraft:null,setSelectedCommand:t=>e({selectedCommandName:t}),setCommandDraft:t=>e({commandDraft:t}),loadCommands:async()=>{let e=Qe(),t=i();try{return await pt(w,e,t),!0}catch{return!1}},createCommand:async t=>ta(`POST`,t.name,t,e),updateCommand:async(t,n)=>ta(`PATCH`,t,n,e),deleteCommand:async t=>ta(`DELETE`,t,void 0,e),getCommandByName:e=>xt().find(t=>t.name===e)}),{name:`commands-store`,storage:_e(),partialize:e=>({selectedCommandName:e.selectedCommandName})}),{name:`commands-store`}));async function ta(e,t,n,r){let a=Qe(),o=i();try{let s={};if(e===`POST`&&(s.template=n?.template||``,n?.description&&(s.description=n.description),n?.agent&&(s.agent=n.agent),n?.model&&(s.model=n.model),n?.scope&&(s.scope=n.scope)),e===`PATCH`)for(let e of[`description`,`agent`,`model`,`template`])n?.[e]!==void 0&&(s[e]=n[e]);let c=a?`?directory=${encodeURIComponent(a)}`:``,u=await l(`/api/config/commands/${encodeURIComponent(t)}${c}`,{method:e,headers:e===`DELETE`?a?{"x-opencode-directory":a}:void 0:{"Content-Type":`application/json`,...a?{"x-opencode-directory":a}:{}},...e===`DELETE`?{}:{body:JSON.stringify(s)}}),d=await u.json().catch(()=>null);if(!u.ok)throw Error(d?.error||`Failed to ${e.toLowerCase()} command`);return i()!==o||(await $i(a,o),i()!==o)||e===`DELETE`&&r({selectedCommandName:null}),!0}catch(e){return console.error(`[CommandsStore] Command mutation failed:`,e),!1}}typeof window<`u`&&(window.__zustand_commands_store__=ea),Lt(e=>{e.source!==Xi&&wt(e,`commands`)&&ea.getState().loadCommands()});var na=()=>{try{let e=Ht.getState().getActiveProject?.();if(e?.path?.trim())return e.path.trim();let t=me.getDirectory();if(t?.trim())return t.trim()}catch(e){console.warn(`[McpConfigStore] Error resolving config directory:`,e)}return null},ra=e=>e?Object.entries(e).map(([e,t])=>({key:e,value:t})):[],ia=e=>{let t=e.filter(e=>e.key.trim());if(t.length!==0)return Object.fromEntries(t.map(e=>[e.key.trim(),e.value]))},aa=e=>{if(typeof e==`string`)return e.trim()||void 0},oa=se()(le(ce((e,t)=>({selectedMcpName:null,mcpDraft:null,setSelectedMcp:t=>e({selectedMcpName:t}),setMcpDraft:t=>e({mcpDraft:t}),loadMcpConfigs:async e=>{let t=na();try{return!e?.force&&Ci(w,t).length>0||await vi(w,t,i()),!0}catch(e){return console.error(`[McpConfigStore] Failed to load MCP configs:`,e),!1}},createMcp:async(e,t)=>{let n=`directory`in(t??{})?t?.directory?.trim()||null:na(),r=t?.transportIdentity??i();try{let t=sa(e),a=n?`?directory=${encodeURIComponent(n)}`:``,o=await l(`/api/config/mcp/${encodeURIComponent(e.name)}${a}`,{method:`POST`,headers:{"Content-Type":`application/json`,...n?{"x-opencode-directory":n}:{}},body:JSON.stringify(t)}),s=await o.json().catch(()=>null);if(!o.ok)throw Error(s?.error||`Failed to create MCP server`);return i()===r?(await vi(w,n,r),await Si(w,n,r),{ok:!0,reloadFailed:s?.reloadFailed===!0,message:s?.message,warning:s?.warning}):{ok:!0}}catch(e){return console.error(`[McpConfigStore] Failed to create MCP:`,e),{ok:!1}}},updateMcp:async(e,t,n)=>{let r=`directory`in(n??{})?n?.directory?.trim()||null:na(),a=n?.transportIdentity??i();try{let n=sa(t),o=r?`?directory=${encodeURIComponent(r)}`:``,s=await l(`/api/config/mcp/${encodeURIComponent(e)}${o}`,{method:`PATCH`,headers:{"Content-Type":`application/json`,...r?{"x-opencode-directory":r}:{}},body:JSON.stringify(n)}),c=await s.json().catch(()=>null);if(!s.ok)throw Error(c?.error||`Failed to update MCP server`);return i()===a?(await vi(w,r,a),await Si(w,r,a),{ok:!0,reloadFailed:c?.reloadFailed===!0,message:c?.message,warning:c?.warning}):{ok:!0}}catch(e){throw console.error(`[McpConfigStore] Failed to update MCP:`,e),e}},deleteMcp:async(n,r)=>{let a=`directory`in(r??{})?r?.directory?.trim()||null:na(),o=r?.transportIdentity??i();try{let r=a?`?directory=${encodeURIComponent(a)}`:``,s=await l(`/api/config/mcp/${encodeURIComponent(n)}${r}`,{method:`DELETE`,headers:a?{"x-opencode-directory":a}:void 0}),c=await s.json().catch(()=>null);if(!s.ok)throw Error(c?.error||`Failed to delete MCP server`);return Yr.getState().clearDiagnostic(n,a,o),i()===o?(t().selectedMcpName===n&&e({selectedMcpName:null}),await vi(w,a,o),await Si(w,a,o),{ok:!0,reloadFailed:c?.reloadFailed===!0,message:c?.message,warning:c?.warning}):{ok:!0}}catch(e){return console.error(`[McpConfigStore] Failed to delete MCP:`,e),{ok:!1}}}}),{name:`mcp-config-store`,storage:_e(),partialize:e=>({selectedMcpName:e.selectedMcpName})}),{name:`mcp-config-store`}));function sa(e){let t={};if(e.scope!==void 0&&(t.scope=e.scope),e.type!==void 0&&(t.type=e.type),(e.type===`local`||e.command!==void 0)&&(t.command=(e.command??[]).filter(e=>e.trim())),(e.type===`remote`||e.url!==void 0)&&(t.url=e.url?.trim()??``),e.environment!==void 0&&(t.environment=ia(e.environment)??{}),e.headers!==void 0&&(t.headers=ia(e.headers)??{}),e.oauthEnabled!==void 0||e.oauthClientId!==void 0||e.oauthClientSecret!==void 0||e.oauthScope!==void 0||e.oauthRedirectUri!==void 0)if(e.oauthEnabled===!1)t.oauth=!1;else{let n={clientId:aa(e.oauthClientId),clientSecret:aa(e.oauthClientSecret),scope:aa(e.oauthScope),redirectUri:aa(e.oauthRedirectUri)};t.oauth=n.clientId||n.clientSecret||n.scope||n.redirectUri?n:e.oauthEnabled?{}:!1}if(e.timeout!==void 0){let n=Number(e.timeout);t.timeout=Number.isFinite(n)&&n>0?n:null}return e.enabled!==void 0&&(t.enabled=e.enabled),t}var ca=()=>{let e=me.getDirectory();if(typeof e==`string`&&e.trim().length>0)return e;try{let e=window.__zustand_directory_store__;if(e)return e.getState().currentDirectory}catch{}return null},la=`useSkillsStore`,ua=e=>{if(e&&Object.prototype.hasOwnProperty.call(e,`directory`))return typeof e.directory==`string`&&e.directory.trim()||null;let t=ca();return typeof t==`string`&&t.trim()||null},da=se()(le(ce((e,t)=>({selectedSkillName:null,skillDraft:null,setSelectedSkill:t=>{e({selectedSkillName:t})},setSkillDraft:t=>{e({skillDraft:t})},loadSkills:async()=>{try{return await at(w,ca(),i()),!0}catch{return!1}},getSkillDetail:async e=>{try{let t=ca(),n=t?`?directory=${encodeURIComponent(t)}`:``,r=await l(`/api/config/skills/${encodeURIComponent(e)}${n}`);return r.ok?await r.json():null}catch{return null}},createSkill:async(e,t)=>{try{let n={name:e.name,description:e.description};e.instructions&&(n.instructions=e.instructions),e.scope&&(n.scope=e.scope),e.source&&(n.source=e.source),e.supportingFiles&&(n.supportingFiles=e.supportingFiles);let r=ua(t),a=i(),o=r?`?directory=${encodeURIComponent(r)}`:``,s=await l(`/api/config/skills/${encodeURIComponent(e.name)}${o}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)}),c=await s.json().catch(()=>null);if(!s.ok){let e=c?.error||`Failed to create skill`;throw Error(e)}return await fa({directory:r,transportIdentity:a}),!0}catch{return!1}},updateSkill:async(e,t,n)=>{try{let r={};t.description!==void 0&&(r.description=t.description),t.instructions!==void 0&&(r.instructions=t.instructions),t.supportingFiles!==void 0&&(r.supportingFiles=t.supportingFiles),t.targetPath!==void 0&&(r.targetPath=t.targetPath);let a=ua(n),o=i(),s=a?`?directory=${encodeURIComponent(a)}`:``,c=await l(`/api/config/skills/${encodeURIComponent(e)}${s}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)}),u=await c.json().catch(()=>null);if(!c.ok){let e=u?.error||`Failed to update skill`;throw Error(e)}return await fa({directory:a,transportIdentity:o}),!0}catch{return!1}},deleteSkill:async(n,r)=>{try{let a=ua(r),o=i(),s=a?`?directory=${encodeURIComponent(a)}`:``,c=await l(`/api/config/skills/${encodeURIComponent(n)}${s}`,{method:`DELETE`}),u=await c.json().catch(()=>null);if(!c.ok){let e=u?.error||`Failed to delete skill`;throw Error(e)}return await fa({directory:a,transportIdentity:o}),i()===o&&t().selectedSkillName===n&&e({selectedSkillName:null}),!0}catch{return!1}},getSkillByName:e=>nt(w,ca()).find(t=>t.name===e),readSupportingFile:async(e,t)=>{try{let n=ca(),r=n?`&directory=${encodeURIComponent(n)}`:``,i=await l(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}?${r.slice(1)}`);return i.ok?(await i.json()).content??null:null}catch{return null}},writeSupportingFile:async(e,t,n)=>{try{let r=ca(),i=r?`?directory=${encodeURIComponent(r)}`:``;return(await l(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}${i}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({content:n})})).ok}catch{return!1}},deleteSupportingFile:async(e,t)=>{try{let n=ca(),r=n?`?directory=${encodeURIComponent(n)}`:``;return(await l(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}${r}`,{method:`DELETE`})).ok}catch{return!1}}}),{name:`skills-store`,storage:_e(),partialize:e=>({selectedSkillName:e.selectedSkillName})}),{name:`skills-store`}));typeof window<`u`&&(window.__zustand_skills_store__=da);async function fa(e){let t=e&&`directory`in e?e.directory?.trim()||null:ca(),n=e?.transportIdentity??i();i()===n&&(await at(w,t,n),i()===n&&(await gt(w,t,n),i()===n&&kt(`skills`,{source:la})))}var pa=null;pa||=Lt(e=>{if(e.source!==la&&wt(e,`skills`)){let e=ca(),t=i();at(w,e,t).then(()=>gt(w,e,t)).catch(()=>void 0)}});var ma=/^#[0-9a-fA-F]{6}$/,ha=/^\{file:.+\}$/i,ga=e=>[...e].sort((e,t)=>{let n=e.permission.localeCompare(t.permission);return n===0?e.pattern.localeCompare(t.pattern):n}),_a=(e,t)=>{let n=ga(e),r=ga(t);return n.length===r.length&&n.every((e,t)=>{let n=r[t];return e.permission===n.permission&&e.pattern===n.pattern&&e.action===n.action})},va=(e,t)=>t?e.globalPermission!==t.globalPermission||!_a(e.permissionRules,t.permissionRules):!1,ya=e=>e===`bash`?`shell`:e===`task`?`subagent`:e===`write`||e===`patch`?`edit`:e,ba=(e,t)=>{let n=[{action:`*`,resource:`*`,effect:e}];for(let e of t)!e.permission||!e.pattern||(e.permission!==`*`||e.pattern!==`*`)&&n.push({action:ya(e.permission),resource:e.pattern,effect:e.action});return n},xa=e=>{let t=e.trim();return t===``?null:t},Sa=({isNewAgent:e,agentName:t,draftScope:n,initialScope:r,draftHasExplicitPermission:i,current:a,initial:o,confirmDrop:s})=>{let c=ba(a.globalPermission,a.permissionRules);if(e){let e=a.description.trim(),r=xa(a.model),l=a.system.trim(),u=va(a,o)||i;return{name:t,mode:a.mode,...e?{description:e}:{},...r?{model:r}:{},...l?{system:l}:{},...u?{permissions:c}:{},...n?{scope:n}:{},...s?{confirmDrop:!0}:{}}}let l={name:t,...s?{confirmDrop:!0}:{}};return o?(a.description!==o.description&&(l.description=a.description.trim()||null),a.mode!==o.mode&&(l.mode=a.mode),a.model!==o.model&&(l.model=xa(a.model)),a.system!==o.system&&(l.system=a.system.trim()||null),va(a,o)&&(l.permissions=c),n&&r&&n!==r&&(l.scope=n),l):l},Ca=e=>{if(e){if(typeof e.prompt==`string`)return ha.test(e.prompt.trim())?void 0:e.prompt;if(typeof e.system==`string`)return e.system}},wa=e=>{let t=e?.model?.providerID,n=e?.model?.modelID||e?.model?.id;if(!t||!n)return``;let r=e?.model?.variant||e?.variant;return r?`${t}/${n}#${r}`:`${t}/${n}`},Ta=e=>{let t=e.trim(),n=t.indexOf(`/`);if(n<=0||n>=t.length-1)return null;let r=t.slice(0,n),i=t.slice(n+1),a=i.indexOf(`#`);return a===-1?{providerId:r,modelId:i,variant:``}:{providerId:r,modelId:i.slice(0,a),variant:i.slice(a+1)}},Ea=e=>ma.test(e.trim()),Da=e=>{let t=e.trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)},Oa=e=>{let t=(0,Fi.c)(37),{className:n}=e,{t:r}=Ne(),i=Ht(ka),a=Ht(Aa),o=Ht(ja),s=M(),c;t[0]===i?c=t[1]:(c=[...i].sort(Ma),t[0]=i,t[1]=c);let l=c,u;bb0:{if(l.length===0){u=null;break bb0}let e;t[2]!==a||t[3]!==l?(e=l.find(e=>e.id===a)??l[0],t[2]=a,t[3]=l,t[4]=e):e=t[4],u=e}let d=u;if(s||l.length===0)return null;let f;t[5]!==d?.path||t[6]!==r?(f=d?.path.split(`/`).filter(Boolean).pop()||d?.path||r(`settings.shared.projectSelector.fallbackProject`),t[5]=d?.path,t[6]=r,t[7]=f):f=t[7];let p=f,m;t[8]===n?m=t[9]:(m=K(n),t[8]=n,t[9]=m);let h;t[10]===r?h=t[11]:(h=r(`settings.shared.projectSelector.switchProjectAria`),t[10]=r,t[11]=h);let g;t[12]===r?g=t[13]:(g=r(`settings.shared.projectSelector.switchProjectTitle`),t[12]=r,t[13]=g);let _,v;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(_=K(`text-foreground border border-border/80 appearance-none flex h-8 w-full min-w-0 rounded-lg bg-transparent px-3 py-1 outline-none`,`hover:border-input focus-visible:ring-1 focus-visible:ring-primary/50 focus-visible:border-primary/70`,`flex items-center gap-1.5 text-left`),v=(0,$.jsx)(Y,{name:`folder`,className:`h-4 w-4 text-muted-foreground`}),t[14]=_,t[15]=v):(_=t[14],v=t[15]);let y;t[16]===p?y=t[17]:(y=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label font-medium`,children:p}),t[16]=p,t[17]=y);let b;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(Y,{name:`arrow-down-s`,className:`size-4 opacity-50`}),t[18]=b):b=t[18];let x;t[19]!==h||t[20]!==g||t[21]!==y?(x=(0,$.jsx)(hr,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,"aria-label":h,title:g,className:_,children:[v,y,b]})}),t[19]=h,t[20]=g,t[21]=y,t[22]=x):x=t[22];let S=d?.id??``,C;t[23]===o?C=t[24]:(C=e=>{e&&o(e)},t[23]=o,t[24]=C);let w;t[25]===l?w=t[26]:(w=l.map(Na),t[25]=l,t[26]=w);let T;t[27]!==S||t[28]!==C||t[29]!==w?(T=(0,$.jsx)($n,{align:`start`,className:`w-auto`,children:(0,$.jsx)(ur,{value:S,onValueChange:C,children:w})}),t[27]=S,t[28]=C,t[29]=w,t[30]=T):T=t[30];let E;t[31]!==x||t[32]!==T?(E=(0,$.jsxs)(lr,{children:[x,T]}),t[31]=x,t[32]=T,t[33]=E):E=t[33];let D;return t[34]!==E||t[35]!==m?(D=(0,$.jsx)(`div`,{className:m,children:E}),t[34]=E,t[35]=m,t[36]=D):D=t[36],D};function ka(e){return e.projects}function Aa(e){return e.activeProjectId}function ja(e){return e.setActiveProject}function Ma(e,t){return(e.label||e.path).localeCompare(t.label||t.path)}function Na(e){let t=e.path.split(`/`).filter(Boolean).pop()||e.path;return(0,$.jsx)(qn,{value:e.id,children:(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-ui`,children:t})},e.id)}function Pa(e,t){return`opencode:sidebar-group:${e}:${t}`}var Fa=e=>{let t=(0,Fi.c)(57),{label:n,count:r,storageKey:i,defaultExpanded:a,variant:o,labelPrefix:s,children:c}=e,l=a===void 0||a,u=o===void 0?`sidebar`:o,d;t[0]!==n||t[1]!==i?(d=Pa(i,n),t[0]=n,t[1]=i,t[2]=d):d=t[2];let f=d,p=Q.useId(),m;t[3]!==l||t[4]!==f?(m=()=>{try{let e=localStorage.getItem(f);if(e!==null)return e===`true`}catch{}return l},t[3]=l,t[4]=f,t[5]=m):m=t[5];let[h,g]=(0,Q.useState)(m),_,v;if(t[6]!==h||t[7]!==f?(_=()=>{try{localStorage.setItem(f,String(h))}catch{}},v=[f,h],t[6]=h,t[7]=f,t[8]=_,t[9]=v):(_=t[8],v=t[9]),(0,Q.useEffect)(_,v),u===`settings-card`){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>g(Ia),t[10]=e):e=t[10];let i;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(i=K(`flex w-full items-center gap-1 text-left`,`text-inherit transition-colors duration-150 hover:text-foreground`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`),t[11]=i):i=t[11];let a=!h&&`-rotate-90`,o;t[12]===a?o=t[13]:(o=K(`h-3.5 w-3.5 flex-shrink-0 transition-transform duration-200`,a),t[12]=a,t[13]=o);let l;t[14]===o?l=t[15]:(l=(0,$.jsx)(Y,{name:`arrow-down-s`,className:o}),t[14]=o,t[15]=l);let u=s?`${s} · `:``,d;t[16]!==n||t[17]!==u?(d=(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[u,n]}),t[16]=n,t[17]=u,t[18]=d):d=t[18];let f;t[19]===r?f=t[20]:(f=(0,$.jsx)(`span`,{className:`ml-1 tabular-nums opacity-60`,children:r}),t[19]=r,t[20]=f);let m;t[21]!==p||t[22]!==h||t[23]!==l||t[24]!==d||t[25]!==f?(m=(0,$.jsxs)(`button`,{type:`button`,onClick:e,"aria-expanded":h,"aria-controls":p,className:i,children:[l,d,f]}),t[21]=p,t[22]=h,t[23]=l,t[24]=d,t[25]=f,t[26]=m):m=t[26];let _=!h&&`hidden`,v;t[27]===_?v=t[28]:(v=K(_),t[27]=_,t[28]=v);let y;return t[29]!==c||t[30]!==p||t[31]!==m||t[32]!==v?(y=(0,$.jsx)(Z,{label:m,cardClassName:v,cardId:p,children:c}),t[29]=c,t[30]=p,t[31]=m,t[32]=v,t[33]=y):y=t[33],y}let y;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>g(La),t[34]=y):y=t[34];let b;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(b=K(`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-primary/50`),t[35]=b):b=t[35];let x=!h&&`-rotate-90`,S;t[36]===x?S=t[37]:(S=K(`h-3.5 w-3.5 flex-shrink-0 transition-transform duration-200`,x),t[36]=x,t[37]=S);let C;t[38]===S?C=t[39]:(C=(0,$.jsx)(Y,{name:`arrow-down-s`,className:S}),t[38]=S,t[39]=C);let w;t[40]===n?w=t[41]:(w=(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:n}),t[40]=n,t[41]=w);let T;t[42]===r?T=t[43]:(T=(0,$.jsx)(`span`,{className:`ml-1 tabular-nums opacity-60`,children:r}),t[42]=r,t[43]=T);let E;t[44]!==p||t[45]!==h||t[46]!==C||t[47]!==w||t[48]!==T?(E=(0,$.jsxs)(`button`,{type:`button`,onClick:y,"aria-expanded":h,"aria-controls":p,className:b,children:[C,w,T]}),t[44]=p,t[45]=h,t[46]=C,t[47]=w,t[48]=T,t[49]=E):E=t[49];let D=!h,O;t[50]!==c||t[51]!==p||t[52]!==D?(O=(0,$.jsx)(`div`,{id:p,hidden:D,className:`mt-0.5 space-y-0.5 ml-2 pl-3 border-l-2 border-[var(--interactive-border)]`,children:c}),t[50]=c,t[51]=p,t[52]=D,t[53]=O):O=t[53];let k;return t[54]!==E||t[55]!==O?(k=(0,$.jsxs)(`div`,{children:[E,O]}),t[54]=E,t[55]=O,t[56]=k):k=t[56],k};function Ia(e){return!e}function La(e){return!e}var Ra=e=>e===`bash`?`shell`:e===`task`?`subagent`:e===`write`||e===`patch`?`edit`:e,za=e=>{let t=_r(e).map(e=>({action:Ra(e.action),resource:e.resource,effect:e.effect}));return t.length>0?t:void 0},Ba=(e,t)=>{let n=e,r=jt(e)?void 0:typeof n.system==`string`?n.system:typeof e.prompt==`string`?e.prompt:void 0,i=typeof n.color==`string`&&Ea(n.color)?n.color:void 0;return{name:t,scope:n.scope||`user`,description:e.description,model:wa(e)||null,...r?{system:r}:{},mode:e.mode,...typeof n.steps==`number`?{steps:n.steps}:{},...e.hidden===!0?{hidden:!0}:{},...n.disabledOverride?{disabled:!0}:{},...i?{color:i}:{},permissions:za(n.permissions??e.permission)}},Va=({onItemSelect:e})=>{let{t}=Ne(),[n,r]=Q.useState(null),[i,a]=Q.useState(``),[o,s]=Q.useState(null),[c,l]=Q.useState(null),[u,d]=Q.useState(!1),[f,p]=Q.useState(null),{selectedAgentName:m,setSelectedAgent:h,setAgentDraft:g,createAgent:_,deleteAgent:v,loadAgents:y}=ft(ue(e=>({selectedAgentName:e.selectedAgentName,setSelectedAgent:e.setSelectedAgent,setAgentDraft:e.setAgentDraft,createAgent:e.createAgent,deleteAgent:e.deleteAgent,loadAgents:e.loadAgents}))),{data:b=[]}=ot();Q.useEffect(()=>{y()},[y]);let x=()=>{let t=`new-agent`,n=t,r=1;for(;b.some(e=>e.name===n);)n=`${t}-${r}`,r++;g({name:n,scope:`user`}),h(n),e?.()},S=async e=>{if(jt(e)){J.error(t(`settings.agents.sidebar.toast.builtInCannotDelete`));return}s(e),l(`delete`)},C=async e=>{jt(e)&&(s(e),l(`reset`))},w=()=>{s(null),l(null)},T=async()=>{if(!(!o||!c)){d(!0);try{let e=await v(o.name,o.scope);e.ok?(e.requiresManualRestart?J.warning(t(`settings.agents.page.toast.savedManualRestart`)):c===`delete`?J.success(t(`settings.agents.sidebar.toast.agentDeleted`,{name:o.name})):J.success(t(`settings.agents.sidebar.toast.agentReset`,{name:o.name})),w()):c===`delete`?J.error(t(`settings.agents.sidebar.toast.deleteFailed`)):J.error(t(`settings.agents.sidebar.toast.resetFailed`))}catch(e){let n=e instanceof Error?e.message:``,r=/built-in|not deletable|not found/i.test(n);c===`delete`?J.error(t(r?`settings.agents.sidebar.toast.definitionNotFound`:`settings.agents.sidebar.toast.deleteFailed`)):J.error(t(`settings.agents.sidebar.toast.resetFailed`))}d(!1)}},E=e=>{let t=e.name,n=1,r=`${t}-copy`;for(;b.some(e=>e.name===r);)n++,r=`${t}-copy-${n}`;g(Ba(e,r)),h(r)},D=e=>{a(e.name),r(e)},O=async()=>{if(!n)return;let e=i.trim().replace(/\s+/g,`-`);if(!e){J.error(t(`settings.agents.sidebar.toast.agentNameRequired`));return}if(e===n.name){r(null);return}if(b.some(t=>t.name===e)){J.error(t(`settings.agents.sidebar.toast.agentExists`));return}let a=n,o=await _({...Ba(n,e),scope:a.scope});if(o.ok){let r=await v(n.name,a.scope);r.ok?(o.requiresManualRestart||r.requiresManualRestart?J.warning(t(`settings.agents.page.toast.savedManualRestart`)):J.success(t(`settings.agents.sidebar.toast.agentRenamed`,{name:e})),h(e)):J.error(t(`settings.agents.sidebar.toast.removeOldAfterRenameFailed`))}else J.error(t(`settings.agents.sidebar.toast.renameFailed`));r(null)},k=e=>{switch(e){case`primary`:return(0,$.jsx)(Y,{name:`ai-agent`,className:`h-3 w-3 text-primary`});case`all`:return(0,$.jsx)(Y,{name:`ai-agent-fill`,className:`h-3 w-3 text-primary`});case`subagent`:return(0,$.jsx)(Y,{name:`robot`,className:`h-3 w-3 text-primary`});default:return null}},A=b.filter(e=>{let t=e;return!$e(e)||!!t.scope||t.disabledOverride===!0}),j=A.filter(jt),M=A.filter(e=>!jt(e)),{groupedCustomAgents:N,ungroupedCustomAgents:P}=(0,Q.useMemo)(()=>{let e={},t=[];for(let n of M){let r=n;r.group?(e[r.group]||(e[r.group]=[]),e[r.group].push(n)):t.push(n)}return{groupedCustomAgents:Object.keys(e).sort((e,t)=>e.localeCompare(t)).map(t=>({name:t,agents:e[t]})),ungroupedCustomAgents:t}},[M]),F=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsx)(`span`,{children:t(`settings.agents.sidebar.section.custom`)}),(0,$.jsx)(q,{"data-settings-item":`agents.create`,size:`icon`,variant:`ghost`,onClick:x,"aria-label":t(`settings.agents.page.title.new`),children:(0,$.jsx)(Y,{name:`add`,className:`h-4 w-4`})})]});return(0,$.jsxs)(`div`,{className:`oc-settings-page-content h-full overflow-y-auto bg-background p-3`,children:[(0,$.jsx)(Oa,{}),(0,$.jsx)($.Fragment,{children:A.length===0?(0,$.jsx)(Z,{children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`robot-2`,className:`mx-auto mb-3 h-10 w-10 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-medium`,children:t(`settings.agents.sidebar.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:t(`settings.agents.sidebar.empty.description`)})]})}):(0,$.jsxs)($.Fragment,{children:[j.length>0&&(0,$.jsx)(Z,{label:t(`settings.agents.sidebar.section.builtIn`),children:j.map(t=>(0,$.jsx)(Ha,{agent:t,isSelected:m===t.name,onSelect:()=>{h(t.name),e?.()},onReset:()=>C(t),onDuplicate:()=>E(t),getAgentModeIcon:k,isMenuOpen:f===t.name,onMenuOpenChange:e=>p(e?t.name:null)},t.name))}),M.length>0&&(0,$.jsxs)($.Fragment,{children:[N.map(({name:n,agents:r})=>(0,$.jsx)(Fa,{label:n,count:r.length,storageKey:`agents`,variant:`settings-card`,labelPrefix:t(`settings.agents.sidebar.section.custom`),children:r.map(t=>(0,$.jsx)(Ha,{agent:t,isSelected:m===t.name,onSelect:()=>{h(t.name),e?.()},onRename:()=>D(t),onDelete:()=>S(t),onDuplicate:()=>E(t),getAgentModeIcon:k,isMenuOpen:f===t.name,onMenuOpenChange:e=>p(e?t.name:null)},t.name))},n)),P.length>0?(0,$.jsx)(Z,{label:F,children:P.map(t=>(0,$.jsx)(Ha,{agent:t,isSelected:m===t.name,onSelect:()=>{h(t.name),e?.()},onRename:()=>D(t),onDelete:()=>S(t),onDuplicate:()=>E(t),getAgentModeIcon:k,isMenuOpen:f===t.name,onMenuOpenChange:e=>p(e?t.name:null)},t.name))}):(0,$.jsx)(Z,{label:F,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})})]}),M.length===0&&(0,$.jsx)(Z,{label:F,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})})]})}),(0,$.jsx)(en,{open:o!==null&&c!==null,onOpenChange:e=>{!e&&!u&&w()},children:(0,$.jsxs)(Zt,{className:`max-w-md`,children:[(0,$.jsxs)(Yt,{children:[(0,$.jsx)(Qt,{children:t(c===`delete`?`settings.agents.sidebar.dialog.deleteTitle`:`settings.agents.sidebar.dialog.resetTitle`)}),(0,$.jsx)($t,{children:t(c===`delete`?`settings.agents.sidebar.dialog.deleteDescription`:`settings.agents.sidebar.dialog.resetDescription`,{name:o?.name??``})})]}),(0,$.jsxs)(Xt,{children:[(0,$.jsx)(q,{size:`sm`,variant:`ghost`,onClick:w,disabled:u,children:t(`settings.common.actions.cancel`)}),(0,$.jsx)(q,{size:`sm`,onClick:T,disabled:u,children:t(c===`delete`?`settings.common.actions.delete`:`settings.common.actions.reset`)})]})]})}),(0,$.jsx)(en,{open:n!==null,onOpenChange:e=>!e&&r(null),children:(0,$.jsxs)(Zt,{children:[(0,$.jsxs)(Yt,{children:[(0,$.jsx)(Qt,{children:t(`settings.agents.sidebar.renameDialog.title`)}),(0,$.jsx)($t,{children:t(`settings.agents.sidebar.renameDialog.description`,{name:n?.name??``})})]}),(0,$.jsx)(pn,{value:i,onChange:e=>a(e.target.value),placeholder:t(`settings.agents.sidebar.renameDialog.placeholder`),className:`text-foreground placeholder:text-muted-foreground`,onKeyDown:e=>{e.key===`Enter`&&O()}}),(0,$.jsxs)(Xt,{children:[(0,$.jsx)(q,{size:`sm`,variant:`ghost`,onClick:()=>r(null),children:t(`settings.common.actions.cancel`)}),(0,$.jsx)(q,{size:`sm`,onClick:O,children:t(`settings.common.actions.rename`)})]})]})})]})},Ha=e=>{let t=(0,Fi.c)(55),{agent:n,isSelected:r,onSelect:i,onDelete:a,onReset:o,onRename:s,onDuplicate:c,getAgentModeIcon:l,isMenuOpen:u,onMenuOpenChange:d}=e,{t:f}=Ne(),p=n,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=xr(),t[0]=m):m=t[0];let h=m,[g,_]=Q.useState(!1),v;t[1]!==a||t[2]!==c||t[3]!==s||t[4]!==o||t[5]!==f?(v=e=>(0,$.jsxs)($.Fragment,{children:[s&&(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),s()},children:[(0,$.jsx)(Y,{name:`edit`,className:`h-4 w-4 mr-px`}),f(`settings.common.actions.rename`)]}),(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),c()},children:[(0,$.jsx)(Y,{name:`file-copy`,className:`h-4 w-4 mr-px`}),f(`settings.common.actions.duplicate`)]}),o&&(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),o()},children:[(0,$.jsx)(Y,{name:`restart`,className:`h-4 w-4 mr-px`}),f(`settings.common.actions.reset`)]}),a&&(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),a()},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(Y,{name:`delete-bin`,className:`h-4 w-4 mr-px`}),f(`settings.common.actions.delete`)]})]}),t[1]=a,t[2]=c,t[3]=s,t[4]=o,t[5]=f,t[6]=v):v=t[6];let y=v,b=r?`bg-interactive-selection`:`hover:bg-interactive-hover`,x;t[7]===b?x=t[8]:(x=K(`oc-settings-group-row group relative flex items-center transition-colors duration-150 select-none`,b),t[7]=b,t[8]=x);let S;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(S=h?void 0:e=>{e.preventDefault(),_(!0)},t[9]=S):S=t[9];let C;t[10]===x?C=t[11]:(C=(0,$.jsx)(`div`,{className:x,onContextMenu:S}),t[10]=x,t[11]=C);let w;t[12]===n.name?w=t[13]:(w=Da(n.name),t[12]=n.name,t[13]=w);let T;t[14]===w?T=t[15]:(T=(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate text-foreground`,children:w}),t[14]=w,t[15]=T);let E;t[16]!==n.mode||t[17]!==l?(E=l(n.mode),t[16]=n.mode,t[17]=l,t[18]=E):E=t[18];let D;t[19]!==n||t[20]!==p.disabledOverride||t[21]!==p.scope||t[22]!==f?(D=(p.scope||jt(n)||p.disabledOverride)&&(0,$.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:p.disabledOverride?f(`settings.agents.sidebar.badge.disabled`):jt(n)?f(`settings.agents.sidebar.badge.system`):p.scope===`project`?f(`settings.common.scope.project`):f(`settings.common.scope.global`)}),t[19]=n,t[20]=p.disabledOverride,t[21]=p.scope,t[22]=f,t[23]=D):D=t[23];let O;t[24]!==D||t[25]!==T||t[26]!==E?(O=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[T,E,D]}),t[24]=D,t[25]=T,t[26]=E,t[27]=O):O=t[27];let k;t[28]===n.description?k=t[29]:(k=n.description&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/60 truncate leading-tight`,children:n.description}),t[28]=n.description,t[29]=k);let A;t[30]!==i||t[31]!==O||t[32]!==k?(A=(0,$.jsxs)(`button`,{onClick:i,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-primary/50`,tabIndex:0,children:[O,k]}),t[30]=i,t[31]=O,t[32]=k,t[33]=A):A=t[33];let j;t[34]===d?j=t[35]:(j=e=>{e&&_(!1),d(e)},t[34]=d,t[35]=j);let M;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(hr,{asChild:!0,children:(0,$.jsx)(q,{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:(0,$.jsx)(Y,{name:`more-2`,className:`h-3.5 w-3.5`})})}),t[36]=M):M=t[36];let N;t[37]===y?N=t[38]:(N=(0,$.jsx)($n,{align:`end`,className:`w-fit min-w-20`,children:y(Gn)}),t[37]=y,t[38]=N);let P;t[39]!==u||t[40]!==j||t[41]!==N?(P=(0,$.jsxs)(lr,{open:u,onOpenChange:j,children:[M,N]}),t[39]=u,t[40]=j,t[41]=N,t[42]=P):P=t[42];let F;t[43]!==A||t[44]!==P?(F=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:[A,P]}),t[43]=A,t[44]=P,t[45]=F):F=t[45];let I;t[46]!==F||t[47]!==C?(I=(0,$.jsx)(Ti,{render:C,children:F}),t[46]=F,t[47]=C,t[48]=I):I=t[48];let L;t[49]===y?L=t[50]:(L=(0,$.jsx)(Ei,{className:`w-fit min-w-20`,children:y(Di)}),t[49]=y,t[50]=L);let R;return t[51]!==g||t[52]!==I||t[53]!==L?(R=(0,$.jsxs)(Oi,{open:g,onOpenChange:_,children:[I,L]}),t[51]=g,t[52]=I,t[53]=L,t[54]=R):R=t[54],R};function Ua(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Wa(e){return typeof e==`string`&&e.length>0?e:void 0}function Ga(e){let t=Ua(e)?e:null,n=t&&Array.isArray(t.data)?t.data:Array.isArray(e)?e:null;if(!n)throw Error(`permission saved: expected list payload`);return n.map(e=>{if(!Ua(e))throw Error(`permission saved: invalid rule`);let t=Wa(e.id),n=Wa(e.projectID),r=Wa(e.action),i=Wa(e.resource);if(!t||!n||!r||!i)throw Error(`permission saved: invalid rule`);return{id:t,projectID:n,action:r,resource:i}})}async function Ka(e,t){if(!e.trim())throw Error(`permission saved: directory required`);t?.throwIfAborted();let n=await me.getApiClient().location.get({location:{directory:e}},{signal:t});t?.throwIfAborted();let r=Wa(n?.project?.id);if(!r)throw Error(`permission saved: project ID required`);return r}async function qa(e){e.signal?.throwIfAborted();let t=await me.getApiClient().permission.saved.list({projectID:e.projectID??void 0},{signal:e.signal});e.signal?.throwIfAborted();let n=Ga(t);if(e.projectID&&n.some(t=>t.projectID!==e.projectID))throw Error(`permission saved: project mismatch`);return n}async function Ja(e){e.signal?.throwIfAborted(),await me.getApiClient().permission.saved.remove({id:e.id},{signal:e.signal})}function Ya(e){if(e.transport!==i()||e.generation!==o())throw Error(`Saved permission runtime changed`)}var Xa=e=>Ee({queryKey:[e.transport,e.generation,`saved-permission-project`,e.directory],queryFn:async({signal:t})=>{Ya(e);let n=await Ka(e.directory,t);return Ya(e),n},retry:!1}),Za=e=>Ee({queryKey:[e.transport,e.generation,`saved-permissions`,e.directory,e.projectID],queryFn:async({signal:t})=>{if(Ya(e),!e.directory||!e.projectID)throw Error(`Saved permission scope required`);let n=await qa({projectID:e.projectID,signal:t});return Ya(e),n},retry:!1});function Qa(e){let t=(0,Fi.c)(3),n=(0,Q.useSyncExternalStore)(r,o,o),a={transport:i(),generation:n,directory:e.trim()},s=De({...Xa(a),enabled:!!a.directory}),c={...a,projectID:s.data??``},l=Za(c),u=!!(a.directory&&s.data)&&!s.isError,d;return t[0]!==l||t[1]!==u?(d={...l,enabled:u},t[0]=l,t[1]=u,t[2]=d):d=t[2],{project:s,list:De(d),scope:c}}async function $a(e,t,n){Ya(t);let r=Za(t).queryKey;if(!e.getQueryData(r)?.some(e=>e.id===n&&e.projectID===t.projectID))throw Error(`Saved permission is outside the captured scope`);await Ja({id:n}),t.transport===i()&&t.generation===o()&&(await e.cancelQueries({queryKey:r,exact:!0}),t.transport===i()&&t.generation===o()&&e.setQueryData(r,e=>e?.filter(e=>e.id!==n)))}var eo=()=>{let e=(0,Fi.c)(49),{t}=Ne(),n=pe(to),r=we(),{project:i,list:a,scope:o}=Qa(n),s;e[0]===r?s=e[1]:(s={mutationFn:e=>{let{scope:t,id:n}=e;return $a(r,t,n)}},e[0]=r,e[1]=s);let c=Te(s),l;e[2]!==c.variables||e[3]!==o?(l=c.variables&&JSON.stringify(c.variables.scope)===JSON.stringify(o),e[2]=c.variables,e[3]=o,e[4]=l):l=e[4];let u=l,d=i.isError||a.isError,f=!!o.directory&&(i.isPending||a.isPending)&&!d,p;e[5]===a.data?p=e[6]:(p=a.data??[],e[5]=a.data,e[6]=p);let m=p,h;e[7]!==c||e[8]!==o?(h=e=>c.mutate({scope:o,id:e}),e[7]=c,e[8]=o,e[9]=h):h=e[9];let g=je(h),_;e[10]!==a||e[11]!==i?(_=()=>{i.isError?i.refetch():a.refetch()},e[10]=a,e[11]=i,e[12]=_):_=e[12];let v=je(_);if(!d&&!f&&m.length===0)return null;let y;e[13]===t?y=e[14]:(y=t(`settings.permissions.saved.title`),e[13]=t,e[14]=y);let b;e[15]!==f||e[16]!==t?(b=f?t(`common.loading`):void 0,e[15]=f,e[16]=t,e[17]=b):b=e[17];let x;e[18]!==d||e[19]!==a.isFetching||e[20]!==i.isFetching||e[21]!==v||e[22]!==t?(x=d&&(0,$.jsx)(Br,{label:(0,$.jsx)(`span`,{role:`alert`,children:t(`settings.permissions.saved.loadFailed`)}),children:(0,$.jsx)(q,{type:`button`,variant:`ghost`,size:`xs`,onClick:v,disabled:i.isFetching||a.isFetching,children:t(`settings.permissions.saved.retry`)})}),e[18]=d,e[19]=a.isFetching,e[20]=i.isFetching,e[21]=v,e[22]=t,e[23]=x):x=e[23];let S;e[24]!==c.isError||e[25]!==u||e[26]!==t?(S=u&&c.isError&&(0,$.jsx)(Br,{label:(0,$.jsx)(`span`,{role:`alert`,children:t(`settings.permissions.saved.deleteFailed`)}),children:null}),e[24]=c.isError,e[25]=u,e[26]=t,e[27]=S):S=e[27];let C;if(e[28]!==c.isPending||e[29]!==d||e[30]!==g||e[31]!==m||e[32]!==f||e[33]!==u||e[34]!==t){let n;e[36]!==c.isPending||e[37]!==d||e[38]!==g||e[39]!==f||e[40]!==u||e[41]!==t?(n=e=>(0,$.jsx)(Br,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:e.action}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground font-mono`,children:e.resource})]}),children:(0,$.jsx)(q,{type:`button`,variant:`ghost`,size:`xs`,disabled:d||f||!!(u&&c.isPending),onClick:()=>void g(e.id),children:t(`settings.permissions.saved.delete`)})},e.id),e[36]=c.isPending,e[37]=d,e[38]=g,e[39]=f,e[40]=u,e[41]=t,e[42]=n):n=e[42],C=m.map(n),e[28]=c.isPending,e[29]=d,e[30]=g,e[31]=m,e[32]=f,e[33]=u,e[34]=t,e[35]=C}else C=e[35];let w;return e[43]!==y||e[44]!==b||e[45]!==x||e[46]!==S||e[47]!==C?(w=(0,$.jsx)(`div`,{"data-settings-item":`permissions.saved`,className:`mb-6`,children:(0,$.jsxs)(Z,{label:y,description:b,children:[x,S,C]})}),e[43]=y,e[44]=b,e[45]=x,e[46]=S,e[47]=C,e[48]=w):w=e[48],w};function to(e){return e.currentDirectory}var no=[`*`,`read`,`edit`,`glob`,`grep`,`shell`,`subagent`,`skill`,`webfetch`,`websearch`,`question`,`external_directory`,`execute`,`browser`],ro={"*":`settings.agents.page.permissions.defaultLabel`,shell:`settings.agents.page.permissions.shell`,bash:`settings.agents.page.permissions.shell`,subagent:`settings.agents.page.permissions.subagent`,task:`settings.agents.page.permissions.subagent`,edit:`settings.agents.page.permissions.edit`,write:`settings.agents.page.permissions.edit`,patch:`settings.agents.page.permissions.edit`,apply_patch:`settings.agents.page.permissions.edit`,multiedit:`settings.agents.page.permissions.edit`,external_directory:`settings.agents.page.permissions.externalDirectory`,question:`settings.agents.page.permissions.question`,read:`settings.agents.page.permissions.read`,glob:`settings.agents.page.permissions.glob`,grep:`settings.agents.page.permissions.grep`,skill:`settings.agents.page.permissions.skill`,webfetch:`settings.agents.page.permissions.webfetch`,websearch:`settings.agents.page.permissions.websearch`,execute:`settings.agents.page.permissions.execute`,browser:`settings.agents.page.permissions.browser`,session_rename:`chat.tools.display.session_rename`,session_move:`chat.tools.display.session_move`},io=e=>e===`allow`||e===`ask`||e===`deny`,ao=(e,t)=>`${e}::${t}`,oo=e=>e===`bash`?`shell`:e===`task`?`subagent`:e===`write`||e===`patch`?`edit`:e,so=e=>{let t=new Map;for(let n of e){let e=oo(n.permission);!e||e===`invalid`||n.pattern&&io(n.action)&&t.set(ao(e,n.pattern),{permission:e,pattern:n.pattern,action:n.action})}return Array.from(t.values())},co=e=>{let t=new Map;for(let n of so(e))t.set(ao(n.permission,n.pattern),n);return t},lo=e=>[...e].sort((e,t)=>{let n=e.permission.localeCompare(t.permission);return n===0?e.pattern.localeCompare(t.pattern):n}),uo=(e,t)=>{let n=lo(so(e)),r=lo(so(t));return n.length===r.length&&n.every((e,t)=>{let n=r[t];return e.permission===n.permission&&e.pattern===n.pattern&&e.action===n.action})},fo=e=>e.find(e=>e.permission===`*`&&e.pattern===`*`)?.action??`allow`,po=(e,t)=>so(e).filter(e=>e.permission!==`*`||e.pattern!==`*`).filter(e=>e.pattern!==`*`||e.action!==t),mo=e=>{if(Array.isArray(e))return so(e.flatMap(e=>!e||typeof e!=`object`||typeof e.action!=`string`||typeof e.resource!=`string`||!io(e.effect)?[]:[{permission:e.action,pattern:e.resource,action:e.effect}]));if(io(e))return[{permission:`*`,pattern:`*`,action:e}];if(!e||typeof e!=`object`||Array.isArray(e))return[];let t=[];for(let[n,r]of Object.entries(e))if(n!==`__originalKeys`){if(io(r)){t.push({permission:n,pattern:`*`,action:r});continue}if(r&&typeof r==`object`&&!Array.isArray(r))for(let[e,i]of Object.entries(r))io(i)&&t.push({permission:n,pattern:e,action:i})}return t},ho=()=>{let{t:e}=Ne(),{selectedAgentName:t,getAgentByName:n,createAgent:r,updateAgent:i,agentDraft:a,setAgentDraft:o}=ft(ue(e=>({selectedAgentName:e.selectedAgentName,getAgentByName:e.getAgentByName,createAgent:e.createAgent,updateAgent:e.updateAgent,agentDraft:e.agentDraft,setAgentDraft:e.setAgentDraft}))),{data:s=[]}=ot(),c=t?n(t):null,u=!!(a&&a.name===t&&!c),[d,f]=Q.useState(``),[p,m]=Q.useState(`user`),[h,g]=Q.useState(``),[_,v]=Q.useState(`subagent`),[y,b]=Q.useState(``),[x,S]=Q.useState(``),[C,w]=Q.useState(!1),[T,E]=Q.useState(`allow`),[D,O]=Q.useState([]),[k,A]=Q.useState([]),[j,M]=Q.useState(``),[N,P]=Q.useState(`*`),[F,I]=Q.useState(!1),[L,R]=Q.useState(!1),z=Q.useRef(null),B=pe(e=>e.currentDirectory??null),[ee,V]=Q.useState([]),H=ct(e=>e.permission);Q.useEffect(()=>{let e=!1;return(async()=>{let t=await me.listToolIds({directory:B});if(e)return;let n=new Set([`write`,`patch`,`multiedit`]),r=t.map(e=>typeof e==`string`?e.trim():``).filter(Boolean).filter(e=>e!==`*`).filter(e=>e!==`invalid`).filter(e=>!n.has(e));V(Array.from(new Set(r)).sort((e,t)=>e.localeCompare(t)))})(),()=>{e=!0}},[B]);let U=Q.useMemo(()=>{let e=new Set;for(let t of s){let n=so(mo(t.permissions??t.permission));for(let t of n)t.permission&&t.permission!==`*`&&t.permission!==`invalid`&&e.add(t.permission)}for(let t of Object.values(H))for(let n of t){let t=n.permission?.trim();t&&t!==`invalid`&&e.add(t)}for(let t of ee)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[s,H,ee]),te=Q.useMemo(()=>co(D),[D]),W=Q.useMemo(()=>co(k),[k]),ne=e=>W.get(ao(e,`*`))?.action,re=e=>k.filter(t=>t.permission===e&&t.pattern!==`*`).sort((e,t)=>e.pattern.localeCompare(t.pattern)),ie=Q.useMemo(()=>{let e=new Set;for(let t of no)e.add(t);for(let t of U)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[U]),ae=e=>{let t=e===`*`?T:ne(e)??T,n=re(e),r=n.reduce((e,t)=>(e[t.action]=(e[t.action]??0)+1,e),{allow:0,ask:0,deny:0}),i=[`allow`,`ask`,`deny`].filter(e=>r[e]>0).map(e=>`${r[e]} ${e}`).join(`, `);return{defaultAction:t,patternRulesCount:n.length,patternSummary:i,hasDefaultHint:!1}},oe=t=>e(t===`allow`?`settings.common.permission.allow`:t===`deny`?`settings.common.permission.deny`:`settings.common.permission.ask`),se=t=>t===`global`?e(`settings.common.scope.global`):oe(t),ce=Q.useMemo(()=>{let e=new Set;for(let t of no)e.add(t);for(let t of U)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[U]),le=(e,t,n)=>{A(r=>{let i=co(r);return i.set(ao(e,t),{permission:e,pattern:t,action:n}),Array.from(i.values())})},de=(e,t)=>{A(n=>{let r=co(n);return r.delete(ao(e,t)),Array.from(r.values())})},fe=(e,t)=>{let n=te.get(ao(e,t));if(n){le(e,t,n.action);return}de(e,t)},he=(e,t,n)=>{le(e,t,n)},ge=e=>{E(e),A(t=>t.filter(t=>t.pattern!==`*`||t.action!==e))},_e=t=>{let n=j.trim();if(!n){J.error(e(`settings.agents.page.toast.permissionNameRequired`));return}let r=N.trim()||`*`;if(n===`*`&&r===`*`){ge(t),M(``),P(`*`);return}r===`*`&&n!==`*`&&t===T?de(n,`*`):le(n,r,t),M(``),P(`*`)},ve=t=>{let n=ro[t];return n?e(n):t.split(/[_-]+/g).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)};Q.useEffect(()=>{M(``),P(`*`);let e=e=>{let t=so(e),n=fo(t),r=po(t,n);return E(n),O(r),A(r),{global:n,rules:r}};if(u&&a){let t=a.name||``,n=a.scope||`user`,r=a.description||``,i=a.mode||`subagent`,o=a.model||``,s=a.system||``;f(t),m(n),g(r),v(i),b(o),S(s),w(!1);let c=e(mo(a.permissions));z.current={draftName:t,draftScope:n,description:r,mode:i,model:o,system:s,globalPermission:c.global,permissionRules:c.rules};return}if(c&&t===c.name){let t=c,n=c.description||``,r=c.mode||`subagent`,i=wa(c),a=t.scope===`project`?`project`:`user`;m(a),g(n),v(r),b(i),S(``),w(!1);let o=e(mo(t.permissions??c.permission));z.current={draftName:``,draftScope:a,description:n,mode:r,model:i,system:``,globalPermission:o.global,permissionRules:o.rules}}},[a,u,c,t]),Q.useEffect(()=>{if(!t||u)return;let e=new AbortController,n=Qe();return l(`/api/config/agents/${encodeURIComponent(t)}/config`,{signal:e.signal,headers:n?{"x-opencode-directory":n}:{}}).then(async t=>{if(!t.ok||e.signal.aborted)return;let n=Ca((await t.json()).config);e.signal.aborted||n===void 0||!z.current||(S(n),z.current={...z.current,system:n})}).catch(()=>void 0),()=>e.abort()},[u,t]);let ye=Q.useMemo(()=>{let e=z.current;return e?!!(u&&d!==e.draftName||p!==e.draftScope||h!==e.description||_!==e.mode||y!==e.model||x!==e.system||T!==e.globalPermission||!uo(k,e.permissionRules)):!1},[h,d,p,T,u,_,y,k,x]),G=(!u&&c?c.document:void 0)?.dropped?.map(e=>e.key)??[],be=!L&&ye;return t?(0,$.jsx)(Cr,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-page-content mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[(0,$.jsx)(eo,{}),(0,$.jsxs)(`div`,{className:`mb-4 flex items-center justify-between gap-4`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground truncate`,children:u?e(`settings.agents.page.title.new`):Da(t??``)}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:e(u?`settings.agents.page.subtitle.new`:`settings.agents.page.subtitle.edit`)})]}),(0,$.jsx)(q,{type:`button`,onClick:async()=>{let n=u?d.trim().replace(/\s+/g,`-`):t?.trim();if(!n){J.error(e(`settings.agents.sidebar.toast.agentNameRequired`));return}if(u&&s.some(e=>e.name===n)){J.error(e(`settings.agents.sidebar.toast.agentExists`));return}R(!0);try{let t={description:h,mode:_,model:y,system:x,globalPermission:T,permissionRules:k},s=z.current,c=s?{description:s.description,mode:s.mode,model:s.model,system:s.system,globalPermission:s.globalPermission,permissionRules:s.permissionRules}:null,l=Sa({isNewAgent:u,agentName:n,draftScope:p,initialScope:s?.draftScope,draftHasExplicitPermission:u&&a?.permissions!==void 0,current:t,initial:c,confirmDrop:C}),d;u?(d=await r(l),d.ok&&o(null)):d=await i(n,l),d.ok?d.requiresManualRestart?J.warning(e(`settings.agents.page.toast.savedManualRestart`)):J.success(e(`settings.agents.page.toast.savedNextRequest`)):J.error(e(u?`settings.agents.page.toast.createFailed`:`settings.agents.page.toast.updateFailed`))}catch(t){console.error(`Error saving agent:`,t);let n=t instanceof Error&&t.message?t.message:e(`settings.agents.page.toast.saveUnexpectedError`);J.error(n)}finally{R(!1)}},disabled:!be,children:e(L?`settings.common.actions.saving`:`settings.common.actions.saveChanges`)})]}),G.length>0?(0,$.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.agents.page.legacy.dropped`,{fields:G.join(`, `)})}),(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-meta text-foreground`,children:[(0,$.jsx)(nn,{checked:C,onChange:w,ariaLabel:e(`settings.agents.page.legacy.confirmDrop`)}),e(`settings.agents.page.legacy.confirmDrop`)]})]}):null,(0,$.jsxs)(Z,{label:e(`settings.agents.page.section.identityRole`),children:[(0,$.jsx)(Br,{itemId:`agents.scope`,label:e(`settings.agents.page.field.scope`),children:(0,$.jsxs)(un,{value:p,onValueChange:e=>m(e),children:[(0,$.jsx)(sn,{className:`w-fit min-w-[100px]`,children:(0,$.jsx)(fn,{placeholder:e(`settings.agents.page.field.scopePlaceholder`),children:t=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Y,{name:t===`project`?`folder`:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(t===`project`?`settings.common.scope.project`:`settings.common.scope.global`)})]})})}),(0,$.jsxs)(cn,{align:`end`,children:[(0,$.jsx)(an,{value:`user`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Y,{name:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.global`)})]})}),(0,$.jsx)(an,{value:`project`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Y,{name:`folder`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.project`)})]})})]})]})}),u&&(0,$.jsx)(Br,{itemId:`agents.name`,label:e(`settings.agents.page.field.agentName`),children:(0,$.jsxs)(`div`,{className:`flex items-center`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-muted-foreground mr-1`,children:`@`}),(0,$.jsx)(pn,{value:d,onChange:e=>f(e.target.value),placeholder:e(`settings.agents.page.field.agentNamePlaceholder`),className:`h-7 w-40 px-2`})]})}),(0,$.jsx)(Br,{label:e(`settings.common.field.description`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(wr,{embedded:!0,value:h,onChange:e=>g(e.target.value),placeholder:e(`settings.agents.page.field.descriptionPlaceholder`),rows:2,className:`w-full resize-none min-h-[60px] bg-transparent`})}),(0,$.jsx)(Br,{itemId:`agents.mode`,className:`oc-settings-agents-mode-row`,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:e(`settings.agents.page.field.mode`)}),(0,$.jsxs)(gn,{children:[(0,$.jsx)(mn,{asChild:!0,children:(0,$.jsx)(Y,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(hn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.agents.page.field.modeTooltip`)})]})]}),children:(0,$.jsxs)(`div`,{className:`flex flex-nowrap items-center justify-end gap-1`,children:[(0,$.jsx)(q,{variant:`chip`,size:`xs`,"aria-pressed":_===`primary`,onClick:()=>v(`primary`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.primary`)}),(0,$.jsx)(q,{variant:`chip`,size:`xs`,"aria-pressed":_===`subagent`,onClick:()=>v(`subagent`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.subagent`)}),(0,$.jsx)(q,{variant:`chip`,size:`xs`,"aria-pressed":_===`all`,onClick:()=>v(`all`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.all`)})]})})]}),(0,$.jsx)(Z,{label:e(`settings.agents.page.section.modelParameters`),children:(0,$.jsx)(Br,{itemId:`agents.model`,label:e(`settings.agents.page.field.overrideModel`),children:(0,$.jsx)(En,{providerId:Ta(y)?.providerId??``,modelId:Ta(y)?.modelId??``,variant:Ta(y)?.variant??``,onChange:(e,t,n)=>{b(e&&t?n?`${e}/${t}#${n}`:`${e}/${t}`:``)},className:`oc-settings-inline-value`})})}),(0,$.jsx)(Gr,{itemId:`agents.system-prompt`,label:e(`settings.agents.page.section.systemPrompt`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(wr,{embedded:!0,value:x,onChange:e=>S(e.target.value),placeholder:e(`settings.agents.page.field.systemPromptPlaceholder`),rows:8,className:`w-full font-mono typography-meta min-h-[120px] max-h-[60vh] bg-transparent resize-y`})}),(0,$.jsx)(`div`,{"data-settings-item":`agents.permissions`,children:(0,$.jsx)(Z,{label:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsx)(`span`,{children:e(`settings.agents.page.section.toolPermissions`)}),(0,$.jsx)(q,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>I(e=>!e),children:e(F?`settings.agents.page.permissions.hideEditor`:`settings.agents.page.permissions.advancedEditor`)})]}),children:F?(0,$.jsxs)(`div`,{className:`space-y-6 p-2`,children:[(0,$.jsx)(Br,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:e(`settings.agents.page.permissions.globalDefault`)}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 font-mono`,children:`*`})]}),children:(0,$.jsxs)(un,{value:T,onValueChange:e=>ge(e),children:[(0,$.jsx)(sn,{className:`w-[100px]`,children:(0,$.jsx)(fn,{children:oe(T)})}),(0,$.jsxs)(cn,{children:[(0,$.jsx)(an,{value:`allow`,children:e(`settings.common.permission.allow`)}),(0,$.jsx)(an,{value:`ask`,children:e(`settings.common.permission.ask`)}),(0,$.jsx)(an,{value:`deny`,children:e(`settings.common.permission.deny`)})]})]})}),(0,$.jsx)(`div`,{className:`space-y-4`,children:ie.filter(e=>e!==`*`).map(t=>{let n=ve(t),{defaultAction:r,patternRulesCount:i}=ae(t),a=ne(t),o=a??`global`,s=re(t),c=[`allow`,`ask`,`deny`].filter(e=>e!==T);return(0,$.jsxs)(`div`,{className:`border-t border-[var(--surface-subtle)] pt-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between py-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:n}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 font-mono`,children:t})]}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:i>0?e(`settings.agents.page.permissions.globalSummary`,{summary:r}):r})]}),(0,$.jsxs)(`div`,{className:`space-y-1 pl-2 mt-1`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 py-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:e(`settings.agents.page.permissions.pattern`)}),(0,$.jsx)(`span`,{className:`typography-micro font-mono text-foreground bg-[var(--surface-muted)] px-1 rounded`,children:`*`}),a&&(0,$.jsx)(q,{size:`sm`,variant:`ghost`,onClick:()=>fe(t,`*`),className:`px-1.5 py-0 h-5`,children:(0,$.jsx)(Y,{name:`subtract`,className:`h-3.5 w-3.5 text-muted-foreground hover:text-foreground`})})]}),(0,$.jsxs)(un,{value:o,onValueChange:e=>{if(e===`global`){de(t,`*`);return}le(t,`*`,e)},children:[(0,$.jsx)(sn,{className:`w-[90px]`,children:(0,$.jsx)(fn,{children:se(o)})}),(0,$.jsxs)(cn,{children:[(0,$.jsx)(an,{value:`global`,children:e(`settings.common.scope.global`)}),c.map(e=>(0,$.jsx)(an,{value:e,className:`capitalize`,children:oe(e)},e))]})]})]}),s.map(t=>{let n=ao(t.permission,t.pattern),r=te.get(n),i=!r,a=!!(r&&r.action!==t.action);return(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 py-0.5 border-t border-[var(--surface-subtle)]`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:e(`settings.agents.page.permissions.pattern`)}),(0,$.jsx)(`span`,{className:`typography-micro font-mono text-foreground bg-[var(--surface-muted)] px-1 rounded`,children:t.pattern}),i&&(0,$.jsx)(`span`,{className:`typography-micro text-[var(--status-success)]`,children:e(`settings.common.badge.new`)}),a&&(0,$.jsx)(`span`,{className:`typography-micro text-[var(--status-warning)]`,children:e(`settings.common.badge.modified`)}),(i||a)&&(0,$.jsx)(q,{size:`sm`,variant:`ghost`,onClick:()=>i?de(t.permission,t.pattern):fe(t.permission,t.pattern),className:`px-1.5 py-0 h-5`,children:(0,$.jsx)(Y,{name:`subtract`,className:`h-3.5 w-3.5 text-muted-foreground hover:text-foreground`})})]}),(0,$.jsxs)(un,{value:t.action,onValueChange:e=>he(t.permission,t.pattern,e),children:[(0,$.jsx)(sn,{className:`w-[90px]`,children:(0,$.jsx)(fn,{children:oe(t.action)})}),(0,$.jsxs)(cn,{children:[(0,$.jsx)(an,{value:`allow`,children:e(`settings.common.permission.allow`)}),(0,$.jsx)(an,{value:`ask`,children:e(`settings.common.permission.ask`)}),(0,$.jsx)(an,{value:`deny`,children:e(`settings.common.permission.deny`)})]})]})]},n)})]})]},t)})}),(0,$.jsxs)(`div`,{className:`border-t border-[var(--surface-subtle)] pt-3`,children:[(0,$.jsx)(`h4`,{className:`typography-ui-label text-foreground mb-2`,children:e(`settings.agents.page.permissions.addCustomRule`)}),(0,$.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-end sm:items-center gap-2`,children:[(0,$.jsxs)(un,{value:j,onValueChange:M,children:[(0,$.jsx)(sn,{className:`w-full sm:w-[160px]`,children:j?(0,$.jsx)(`span`,{className:`truncate`,children:ve(j)}):(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e(`settings.agents.page.permissions.permissionPlaceholder`)})}),(0,$.jsx)(cn,{children:ce.map(e=>(0,$.jsx)(an,{value:e,children:(0,$.jsx)(`div`,{className:`flex items-center justify-between gap-2 w-full`,children:(0,$.jsx)(`span`,{children:ve(e)})})},e))})]}),(0,$.jsx)(pn,{value:N,onChange:e=>P(e.target.value),placeholder:e(`settings.agents.page.permissions.patternPlaceholder`),className:`h-7 flex-1 font-mono text-xs`}),(0,$.jsxs)(`div`,{className:`flex gap-1`,children:[(0,$.jsx)(q,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>_e(`allow`),children:e(`settings.common.permission.allow`)}),(0,$.jsx)(q,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>_e(`ask`),children:e(`settings.common.permission.ask`)}),(0,$.jsx)(q,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>_e(`deny`),children:e(`settings.common.permission.deny`)})]})]})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground px-3 pt-2`,children:e(`settings.agents.page.permissions.lastMatchHint`)}),In(_r(k)).map((e,t)=>(0,$.jsx)(Br,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground font-mono`,children:t+1}),(0,$.jsx)(`span`,{children:e.action}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 font-mono`,children:e.resource})]}),children:(0,$.jsx)(`span`,{className:K(`typography-micro capitalize px-1.5 py-0.5 rounded`,e.effect===`allow`?`text-[var(--status-success)] bg-[var(--status-success)]/10`:e.effect===`deny`?`text-[var(--status-error)] bg-[var(--status-error)]/10`:`text-[var(--status-warning)] bg-[var(--status-warning)]/10`),children:e.effect})},`${e.action}::${e.resource}::${t}`))]})})})]})}):(0,$.jsx)(Cr,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-page-content mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[(0,$.jsx)(eo,{}),(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`robot-2`,className:`mx-auto mb-3 h-12 w-12 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.agents.page.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:e(`settings.agents.page.empty.description`)})]})})]})})},go=e=>{let t=(0,Fi.c)(23),{title:n,metadata:r,selected:i,onSelect:a,icon:o,actions:s,className:c}=e,l=i!==void 0&&i,u=s&&s.length>0,d=l?`bg-interactive-selection`:`hover:bg-interactive-hover`,f;t[0]!==c||t[1]!==d?(f=K(`oc-settings-group-row group relative flex items-center transition-colors duration-150`,d,c),t[0]=c,t[1]=d,t[2]=f):f=t[2];let p;t[3]===n?p=t[4]:(p=(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate text-foreground`,children:n}),t[3]=n,t[4]=p);let m;t[5]!==o||t[6]!==p?(m=(0,$.jsxs)(`div`,{className:`flex max-w-full min-w-0 items-center gap-1.5`,children:[o,p]}),t[5]=o,t[6]=p,t[7]=m):m=t[7];let h;t[8]===r?h=t[9]:(h=r&&(0,$.jsx)(`div`,{className:`max-w-full truncate typography-micro leading-tight text-muted-foreground/60`,children:r}),t[8]=r,t[9]=h);let g;t[10]!==a||t[11]!==m||t[12]!==h?(g=(0,$.jsxs)(`button`,{onClick:a,"data-mobile-press-feedback":`soft`,className:`flex min-w-0 flex-1 self-stretch flex-col justify-center gap-0 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,tabIndex:0,children:[m,h]}),t[10]=a,t[11]=m,t[12]=h,t[13]=g):g=t[13];let _;t[14]!==s||t[15]!==u?(_=u&&(0,$.jsxs)(lr,{children:[(0,$.jsx)(hr,{asChild:!0,children:(0,$.jsx)(q,{size:`icon`,variant:`ghost`,className:`h-6 w-6 flex-shrink-0 -mr-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100`,children:(0,$.jsx)(Y,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)($n,{align:`end`,className:`w-fit min-w-20`,children:s.map(_o)})]}),t[14]=s,t[15]=u,t[16]=_):_=t[16];let v;t[17]!==g||t[18]!==_?(v=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 self-stretch items-center`,children:[g,_]}),t[17]=g,t[18]=_,t[19]=v):v=t[19];let y;return t[20]!==f||t[21]!==v?(y=(0,$.jsx)(`div`,{className:f,children:v}),t[20]=f,t[21]=v,t[22]=y):y=t[22],y};function _o(e){let t=e.icon;return(0,$.jsxs)(Gn,{onClick:t=>{t.stopPropagation(),e.onClick()},className:K(e.destructive&&`text-destructive focus:text-destructive`),children:[t&&(0,$.jsx)(Y,{name:t,className:`h-4 w-4 mr-px`}),e.label]},e.label)}var vo=e=>{let t=(0,Fi.c)(8),{header:n,footer:r,children:i,className:a,variant:o}=e,s=o===void 0?`sidebar`:o,c=M(),l=s===`background`||c?`bg-background`:`bg-sidebar`,u;t[0]!==l||t[1]!==a?(u=K(`oc-settings-page-content h-full overflow-y-auto p-3`,l,a),t[0]=l,t[1]=a,t[2]=u):u=t[2];let d;return t[3]!==i||t[4]!==r||t[5]!==n||t[6]!==u?(d=(0,$.jsxs)(`div`,{className:u,children:[n,i,r]}),t[3]=i,t[4]=r,t[5]=n,t[6]=u,t[7]=d):d=t[7],d},yo=`__managed_workspace__`,bo=`__current_workspace__`,xo=`默认助理`,So=()=>{let e=Rt.getState(),t=e.settingsDefaultModel??(e.currentModelId?void 0:e.opencodeDefaultModel);if(t){let n=yt(t);if(n?.providerId&&n?.modelId)return{providerID:n.providerId,modelID:n.modelId,variant:n.variant??e.settingsDefaultVariant}}if(e.currentProviderId&&e.currentModelId)return{providerID:e.currentProviderId,modelID:e.currentModelId,variant:e.currentVariant};let n=e.providers;for(let e of n){let t=e.models;if(Array.isArray(t)&&t.length>0){let n=t[0];if(n?.id)return{providerID:e.id,modelID:n.id}}}return null},Co=(e=``)=>{let t=So();return{enabled:!0,name:e,defaultPrompt:``,workspacePath:null,providerID:t?.providerID??``,modelID:t?.modelID??``,variant:t?.variant??null}},wo=e=>({enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:e.providerID,modelID:e.modelID,variant:e.variant}),To=e=>({enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:e.providerID,modelID:e.modelID,variant:e.variant??null}),Eo=e=>e.label?.trim()||e.path.replace(/[\\/]+$/,``).split(/[\\/]/).filter(Boolean).at(-1)||e.path,Do=e=>{let t=Array.isArray(e.schedule.times)?e.schedule.times:e.schedule.time?[e.schedule.time]:[];return Array.from(new Set(t.filter(e=>/^([01]\d|2[0-3]):([0-5]\d)$/.test(e)))).sort((e,t)=>e.localeCompare(t))},Oo=e=>!!e&&typeof e==`object`&&!Array.isArray(e),ko=e=>{if(!Oo(e)||!Oo(e.schedule)||!Oo(e.execution)||!Oo(e.state))return!1;let t=e.schedule.times===void 0||Array.isArray(e.schedule.times)&&e.schedule.times.every(e=>typeof e==`string`),n=e.schedule.weekdays===void 0||Array.isArray(e.schedule.weekdays)&&e.schedule.weekdays.every(e=>typeof e==`number`),r=e.state.lastStatus===void 0||e.state.lastStatus===`idle`||e.state.lastStatus===`running`||e.state.lastStatus===`success`||e.state.lastStatus===`error`;return typeof e.id==`string`&&typeof e.name==`string`&&typeof e.enabled==`boolean`&&(e.schedule.kind===`daily`||e.schedule.kind===`weekly`||e.schedule.kind===`once`||e.schedule.kind===`cron`)&&t&&n&&r&&typeof e.execution.prompt==`string`&&typeof e.execution.providerID==`string`&&typeof e.execution.modelID==`string`},Ao=(e,t)=>{let n=Do(e).join(`, `)||`—`,r=e=>t(e===0?`sessions.scheduledTasks.dialog.schedule.weekdayShort.sun`:e===1?`sessions.scheduledTasks.dialog.schedule.weekdayShort.mon`:e===2?`sessions.scheduledTasks.dialog.schedule.weekdayShort.tue`:e===3?`sessions.scheduledTasks.dialog.schedule.weekdayShort.wed`:e===4?`sessions.scheduledTasks.dialog.schedule.weekdayShort.thu`:e===5?`sessions.scheduledTasks.dialog.schedule.weekdayShort.fri`:e===6?`sessions.scheduledTasks.dialog.schedule.weekdayShort.sat`:`sessions.scheduledTasks.dialog.schedule.weekdayShort.unknown`);if(e.schedule.kind===`daily`)return e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.dailyWithTimezone`,{time:n,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.daily`,{time:n});if(e.schedule.kind===`weekly`){let i=(e.schedule.weekdays??[]).map(r).join(`, `);return e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.weeklyWithTimezone`,{days:i,time:n,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.weekly`,{days:i,time:n})}if(e.schedule.kind===`once`){let n=e.schedule.date?.trim()||t(`sessions.scheduledTasks.dialog.schedule.unknownDate`),r=e.schedule.time?.trim()||`—`;return e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.onceWithTimezone`,{date:n,time:r,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.once`,{date:n,time:r})}return e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.cronWithTimezone`,{cron:e.schedule.cron??``,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.cron`,{cron:e.schedule.cron??``})},jo={paused:{icon:`pause`,className:`text-muted-foreground`},idle:{icon:`pulse`,className:`text-muted-foreground`},running:{icon:`loader-4`,className:`text-[var(--status-warning)]`},success:{icon:`checkbox-circle`,className:`text-[var(--status-success)]`},error:{icon:`error-warning`,className:`text-[var(--status-error)]`}},Mo=e=>`${e.projectId}:${e.task.id}`,No=e=>{let t=(0,Fi.c)(31),{assistantID:n}=e,{t:r}=Ne(),i=Ze(n),a=i.isError,o=Xe(n,a),s=Be(a),c=new Set;for(let e of o.data?.messages??[])for(let t of e.cards)t.cardType===`schedule`&&c.add(`${t.projectID}:${t.taskID}`);let l=(i.data?.tasks??[]).flatMap(Lo),u;t[0]===i.data?.tasks?u=t[1]:(u=i.data?.tasks.some(Ro),t[0]=i.data?.tasks,t[1]=u);let d=!!u,f=(s.data?.tasks??[]).filter(e=>c.has(Mo(e))),p=[...i.data?l:a?f:[]].sort(zo),m=(s.data?.failedProjectIds??[]).some(e=>Array.from(c).some(t=>t.startsWith(`${e}:`))),h=i.isPending||a&&(o.isPending||s.isPending),g=i.isError||o.isError||s.isError||m||d,_=je(Bo),v;t[2]!==o||t[3]!==a||t[4]!==s||t[5]!==i?(v=()=>{i.refetch(),a&&(o.refetch(),s.refetch())},t[2]=o,t[3]=a,t[4]=s,t[5]=i,t[6]=v):v=t[6];let y=je(v),b=Z,x;t[7]===r?x=t[8]:(x=r(`assistants.settings.scheduledTasks.title`),t[7]=r,t[8]=x);let S;t[9]===r?S=t[10]:(S=r(`assistants.settings.scheduledTasks.title`),t[9]=r,t[10]=S);let C=h&&p.length===0?(0,$.jsx)(Br,{label:r(`common.loading`),children:(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin text-muted-foreground`})}):null,w;t[11]!==_||t[12]!==r?(w=e=>{let t=e.task.enabled?e.task.state?.lastStatus??`idle`:`paused`,n=jo[t],i=r(t===`paused`?`sessions.scheduledTasks.dialog.taskToggle.paused`:t===`running`?`sessions.scheduledTasks.dialog.status.running`:t===`success`?`sessions.scheduledTasks.dialog.status.success`:t===`error`?`sessions.scheduledTasks.dialog.status.error`:`sessions.scheduledTasks.dialog.status.idle`);return(0,$.jsxs)(Br,{className:`group relative cursor-pointer transition-colors hover:bg-interactive-hover`,label:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-lg bg-[var(--surface-muted)] text-muted-foreground`,children:(0,$.jsx)(Y,{name:`calendar`,className:`size-3.5`})}),(0,$.jsxs)(`span`,{className:`min-w-0`,children:[(0,$.jsx)(`span`,{className:`block truncate typography-ui-label font-medium text-foreground`,children:e.task.name}),(0,$.jsx)(`span`,{className:`mt-0.5 block typography-micro truncate text-muted-foreground`,children:Ao(e.task,r)})]})]}),controlClassName:`min-w-fit`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 typography-micro ${n.className}`,children:[(0,$.jsx)(Y,{name:n.icon,className:`size-3.5 ${t===`running`?`animate-spin`:``}`}),i]}),(0,$.jsx)(Y,{name:`arrow-right-s`,className:`size-4`})]}),(0,$.jsx)(q,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute inset-0 z-10 h-auto w-auto rounded-none bg-transparent p-0 hover:bg-transparent focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--interactive-focus-ring)]`,onClick:_,"aria-label":r(`assistants.settings.scheduledTasks.open`,{name:e.task.name}),children:(0,$.jsx)(`span`,{className:`sr-only`,children:r(`assistants.settings.scheduledTasks.open`,{name:e.task.name})})})]},Mo(e))},t[11]=_,t[12]=r,t[13]=w):w=t[13];let T=p.map(w),E;t[14]!==g||t[15]!==y||t[16]!==r?(E=g?(0,$.jsx)(Br,{label:r(`assistants.settings.scheduledTasks.loadError`),children:(0,$.jsx)(q,{variant:`outline`,size:`sm`,onClick:y,children:r(`assistants.actions.retry`)})}):null,t[14]=g,t[15]=y,t[16]=r,t[17]=E):E=t[17];let D;t[18]!==g||t[19]!==h||t[20]!==r||t[21]!==p?(D=!h&&!g&&p.length===0?(0,$.jsx)(Br,{label:r(`assistants.settings.scheduledTasks.empty`),children:(0,$.jsx)(Y,{name:`calendar`,className:`size-4 text-muted-foreground`})}):null,t[18]=g,t[19]=h,t[20]=r,t[21]=p,t[22]=D):D=t[22];let O;return t[23]!==b||t[24]!==x||t[25]!==S||t[26]!==C||t[27]!==T||t[28]!==E||t[29]!==D?(O=(0,$.jsxs)(b,{label:x,ariaLabel:S,children:[C,T,E,D]}),t[23]=b,t[24]=x,t[25]=S,t[26]=C,t[27]=T,t[28]=E,t[29]=D,t[30]=O):O=t[30],O},Po=e=>{let t=(0,Fi.c)(11),{name:n,path:r,icon:i}=e,a=i===void 0?`folder`:i,o;t[0]===a?o=t[1]:(o=(0,$.jsx)(Y,{name:a,className:`size-4 shrink-0 text-muted-foreground`}),t[0]=a,t[1]=o);let s=r?`max-w-[40%] shrink-0 truncate typography-ui-label text-foreground`:`min-w-0 truncate typography-ui-label text-foreground`,c;t[2]!==n||t[3]!==s?(c=(0,$.jsx)(`span`,{className:s,children:n}),t[2]=n,t[3]=s,t[4]=c):c=t[4];let l;t[5]===r?l=t[6]:(l=r?(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-micro text-muted-foreground`,title:r,children:r}):null,t[5]=r,t[6]=l);let u;return t[7]!==o||t[8]!==c||t[9]!==l?(u=(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[o,c,l]}),t[7]=o,t[8]=c,t[9]=l,t[10]=u):u=t[10],u},Fo=({onItemSelect:e})=>{let{t}=Ne(),n=Ue(),r=Ve(),i=n.data,a=Jt(e=>e.settingsSelectedAssistantID),o=Jt(e=>e.selectSettingsAssistant),s=Jt(e=>e.requestCreate),[c,l]=Q.useState(!1);Q.useEffect(()=>{!e&&a===null&&i?.assistants[0]&&o(i.assistants[0].id)},[e,o,a,i?.assistants]),Q.useEffect(()=>{n.isSuccess&&a&&a!==`new`&&!i?.assistants.some(e=>e.id===a)&&o(e?null:i?.assistants[0]?.id??null)},[e,o,a,i?.assistants,n.isSuccess]);let u=je(()=>{s(),e?.()}),d=je(async e=>{if(i)try{if(await Ke(e,i.revision),e&&i.assistants.length===0){let e=So();if(e){let t=await qe({enabled:!0,name:xo,defaultPrompt:``,workspacePath:null,providerID:e.providerID,modelID:e.modelID,variant:e.variant});o(t.id)}}}catch{ke.error(t(`assistants.settings.toast.toggleFailed`))}});return r.isSuccess&&!r.data.supported?null:(0,$.jsx)(vo,{variant:`background`,header:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{description:(0,$.jsxs)($.Fragment,{children:[t(`assistants.settings.description`),(0,$.jsx)(`a`,{href:`#assistant-share-welcome`,className:`underline underline-offset-2`,onClick:e=>{e.preventDefault(),l(!0)},children:t(`assistants.settings.descriptionLearnMore`)})]}),children:(0,$.jsx)(Vr,{itemId:`assistants.instance-enabled`,checked:i?.enabled??!1,onChange:d,label:t(`assistants.settings.instanceEnabled`),ariaLabel:t(`assistants.settings.instanceEnabled`)})}),(0,$.jsx)(Yi,{open:c,onOpenChange:l})]}),children:(0,$.jsx)(Z,{label:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:t(`assistants.settings.listTitle`)}),(0,$.jsx)(q,{"data-settings-item":`assistants.create`,variant:`ghost`,size:`icon`,onClick:u,"aria-label":t(`assistants.settings.create`),children:(0,$.jsx)(Y,{name:`add`,className:`size-4`})})]}),children:n.isPending||r.isPending?(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex items-center justify-center text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader-4`,className:`mr-2 size-4 animate-spin`}),t(`common.loading`)]}):i?.assistants.length?i.assistants.map(t=>{let n=Le(t.name);return(0,$.jsx)(go,{title:n.displayName,selected:a===t.id,onSelect:()=>{o(t.id),e?.()},icon:(0,$.jsx)(tn,{name:t.id,emoji:n.avatarEmoji,size:24,label:n.displayName||t.name,shape:`circle`})},t.id)}):(0,$.jsx)(`div`,{className:`oc-settings-group-row text-muted-foreground`,children:t(`assistants.settings.empty`)})})})},Io=({onItemDeleted:e,assistantID:t})=>{let{t:n}=Ne(),r=Ue(),i=Ve(),a=r.data,o=Ht(e=>e.projects),s=Jt(e=>t??e.settingsSelectedAssistantID),c=Jt(e=>e.selectSettingsAssistant),l=Jt(e=>e.defaultShareAssistant),u=Jt(e=>e.setDefaultShareAssistant),d=Jt(e=>e.createRequestRevision),f=Jt(e=>e.requestCreate),[p,m]=Q.useState(Co),[h,g]=Q.useState(!1),_=Q.useRef(0),v=a?.assistants.find(e=>e.id===s)??null,y=v?Le(v.name):null,b=Le(p.name),x=p.workspacePath??v?.managedWorkspacePath??null,S=bt(x,{enabled:!0}).data??[];Q.useEffect(()=>{v&&m(wo(v))},[v]),Q.useEffect(()=>{t===void 0&&r.isSuccess&&s&&s!==`new`&&!v&&c(null)},[t,c,v,s,r.isSuccess]),Q.useEffect(()=>{s!==`new`||d<=_.current||(_.current=d,m(Co(a?.assistants.length?``:xo)),window.requestAnimationFrame(()=>document.getElementById(`assistant-name`)?.focus()))},[d,s,a?.assistants.length]),Q.useEffect(()=>{r.isSuccess&&i.data?.serverInstanceID&&l?.serverInstanceID===i.data.serverInstanceID&&!a?.assistants.some(e=>e.id===l.assistantID)&&u(null)},[i.data,l,u,a?.assistants,r.isSuccess]),Q.useEffect(()=>{r.isSuccess&&Re()},[a?.revision,r.isSuccess]);let C=(e,t)=>{m(n=>({...n,[e]:t}))},w=je(()=>f()),T=je(async()=>{if(!(t!==void 0&&!v)){if(!p.name.trim()||!p.providerID||!p.modelID){ke.error(n(`assistants.settings.validation.required`));return}g(!0);try{let e=v?await Ge(v,To(p)):await qe(p);t===void 0&&c(e.id),ke.success(n(`assistants.settings.toast.saved`))}catch{ke.error(n(`assistants.settings.toast.saveFailed`))}finally{g(!1)}}}),E=je(async()=>{if(!(!v||!window.confirm(n(`assistants.settings.deleteConfirm`,{name:v.name})))){g(!0);try{if(await He(v),l?.assistantID===v.id){let e=await Je();e.serverInstanceID&&l.serverInstanceID===e.serverInstanceID&&u(null)}t===void 0&&c(null),e?.(),ke.success(n(`assistants.settings.toast.deleted`))}catch{ke.error(n(`assistants.settings.toast.deleteFailed`))}finally{g(!1)}}}),D=je(async(e,t)=>{if(!t){u(null),ze();return}try{let t=await Je();if(!t.supported||!t.serverInstanceID)return;u({serverInstanceID:t.serverInstanceID,assistantID:e}),await ze()}catch{ke.error(n(`assistants.settings.toast.toggleFailed`))}}),O=p.workspacePath===null?null:o.find(e=>e.path===p.workspacePath)??null,k=p.workspacePath!==null&&!O?p.workspacePath:null,A=p.workspacePath===null?yo:O?O.id:bo,j=p.workspacePath===null?(0,$.jsx)(Po,{name:n(`assistants.settings.workspacePlaceholder`),icon:`cloud`}):O?(0,$.jsx)(Po,{name:Eo(O),path:O.path}):(0,$.jsx)(Po,{name:n(`assistants.settings.workspaceCurrentPath`),path:k??``,icon:`history`});return i.isSuccess&&!i.data.supported?null:r.isPending||i.isPending?(0,$.jsxs)(`div`,{className:`flex h-full items-center justify-center text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader-4`,className:`mr-2 size-4 animate-spin`}),n(`common.loading`)]}):r.isError&&!a||t!==void 0&&!v?(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 text-center`,children:[(0,$.jsx)(Y,{name:`cloud-off`,className:`size-6 text-muted-foreground`}),(0,$.jsx)(`p`,{className:`typography-ui text-muted-foreground`,children:n(`assistants.state.unavailable`)}),(0,$.jsx)(q,{variant:`outline`,size:`sm`,onClick:()=>void r.refetch(),children:n(`assistants.actions.retry`)})]}):(0,$.jsx)(Cr,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-page-content mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[r.isError&&a?(0,$.jsx)(`p`,{className:`mb-4 px-2 typography-meta text-[var(--status-warning)]`,children:n(`assistants.state.staleSnapshot`)}):null,s?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`mb-4 flex items-center gap-3`,children:[(0,$.jsx)(tn,{name:v?.id??`new`,emoji:b.avatarEmoji,size:38,label:b.displayName||p.name||n(`assistants.settings.create`),shape:`circle`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`h2`,{className:`truncate typography-ui-header font-semibold text-foreground`,children:v?y?.displayName:n(`assistants.settings.create`)}),p.providerID&&p.modelID?(0,$.jsx)(`p`,{className:`mt-0.5 typography-micro leading-none text-muted-foreground/70`,children:`${p.providerID}/${p.modelID}`}):null]}),v?(0,$.jsxs)(q,{variant:`ghost`,size:`sm`,onClick:E,disabled:h,className:`text-[var(--status-error)]`,children:[(0,$.jsx)(Y,{name:`delete-bin`,className:`size-4`}),n(`assistants.settings.delete`)]}):null]}),(0,$.jsxs)(Z,{children:[(0,$.jsx)(Br,{itemId:`assistants.name`,label:n(`assistants.settings.name`),children:(0,$.jsx)(pn,{id:`assistant-name`,value:p.name,onChange:e=>C(`name`,e.target.value),className:`min-w-0 flex-1`})}),(0,$.jsx)(Br,{label:n(`assistants.settings.enabled`),children:(0,$.jsx)(nn,{checked:p.enabled,onChange:e=>C(`enabled`,e),ariaLabel:n(`assistants.settings.enabled`)})}),v?(0,$.jsx)(Br,{itemId:`assistants.default-share`,label:n(`assistants.settings.defaultShare`),children:(0,$.jsx)(nn,{checked:l?.assistantID===v.id&&l.serverInstanceID===i.data?.serverInstanceID,onChange:e=>void D(v.id,e),ariaLabel:n(`assistants.settings.defaultShare`)})}):null]}),(0,$.jsx)(Gr,{itemId:`assistants.prompt`,label:n(`assistants.settings.defaultPrompt`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(wr,{embedded:!0,id:`assistant-prompt`,value:p.defaultPrompt,onChange:e=>C(`defaultPrompt`,e.target.value),placeholder:n(`assistants.settings.defaultPromptPlaceholder`),rows:12,outerClassName:`min-h-[240px] max-h-[70vh]`})}),(0,$.jsx)(Z,{label:n(`assistants.settings.runtime`),children:(0,$.jsx)(Br,{itemId:`assistants.model`,label:n(`assistants.settings.model`),children:(0,$.jsx)(En,{providerId:p.providerID,modelId:p.modelID,variant:p.variant??``,providers:S,onChange:(e,t,n)=>m(r=>({...r,providerID:e,modelID:t,variant:n||null})),className:`oc-settings-inline-value`})})}),(0,$.jsx)(Gr,{itemId:`assistants.workspace`,label:n(`assistants.settings.workspace`),description:n(`assistants.settings.workspaceChangeHint`),descriptionPlacement:`outside`,children:(0,$.jsxs)(un,{value:A,onValueChange:e=>{if(e===yo){C(`workspacePath`,null);return}let t=o.find(t=>t.id===e);t&&C(`workspacePath`,t.path)},children:[(0,$.jsx)(sn,{title:p.workspacePath??n(`assistants.settings.workspacePlaceholder`),className:`w-full max-w-xl [&_[data-slot=select-value]]:min-w-0 [&_[data-slot=select-value]]:flex-1 [&_[data-slot=select-value]]:overflow-hidden`,children:(0,$.jsx)(fn,{children:j})}),(0,$.jsxs)(cn,{align:`start`,className:`w-[min(32rem,calc(100vw-2rem))]`,children:[(0,$.jsx)(an,{value:yo,children:(0,$.jsx)(Po,{name:n(`assistants.settings.workspacePlaceholder`),icon:`cloud`})}),o.map(e=>(0,$.jsx)(an,{value:e.id,children:(0,$.jsx)(Po,{name:Eo(e),path:e.path})},e.id)),k?(0,$.jsx)(an,{value:bo,disabled:!0,children:(0,$.jsx)(Po,{name:n(`assistants.settings.workspaceCurrentPath`),path:k,icon:`history`})}):null]})]})}),v?(0,$.jsx)(No,{assistantID:v.id}):null,(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsxs)(q,{onClick:T,disabled:h,children:[h?(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}):null,n(`assistants.settings.save`)]})})]}):(0,$.jsxs)(`div`,{className:`flex min-h-80 flex-col items-center justify-center gap-3 px-6 text-center text-muted-foreground`,children:[(0,$.jsx)(tn,{name:`assistants-empty`,size:44,shape:`circle`}),(0,$.jsx)(`p`,{className:`typography-ui`,children:n(`assistants.settings.empty`)}),(0,$.jsxs)(q,{"data-settings-item":`assistants.create`,size:`sm`,onClick:w,children:[(0,$.jsx)(Y,{name:`add`,className:`size-4`}),n(`assistants.settings.create`)]})]})]})})};function Lo(e){return ko(e.task)?[{projectId:e.projectID,task:e.task}]:[]}function Ro(e){return!ko(e.task)}function zo(e,t){return e.task.enabled===t.task.enabled?e.task.name.localeCompare(t.task.name):e.task.enabled?-1:1}function Bo(){G.getState().setActiveMainTab(`schedule`),G.getState().setScheduledTasksDialogOpen(!0)}var Vo=`~/.config/opencode/AGENTS.md`,Ho=async(e,t)=>{let n=await e.json().catch(()=>null);return typeof n?.error==`string`&&n.error.trim()?n.error:t},Uo=e=>e.length>0&&!e.endsWith(`
|
|
1
|
+
import{o as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{E as n}from"./runtime-auth-D66yq6ie.js";import{c as r,i,l as a,n as o,r as s,t as c}from"./runtime-switch-BJM2k_uH.js";import{n as l}from"./runtime-fetch-CiqQd__Y.js";import{$t as u,A as d,Cn as f,Dn as p,Jt as m,M as h,On as g,Sn as _,V as v,Xt as y,Yt as b,_n as x,a as S,at as C,d as w,en as T,f as E,hn as D,i as O,j as k,k as A,nn as j,on as M,p as N,qt as P,r as F,rn as I,sn as L,u as R,xn as z}from"./persistence-Dnj1QOdX.js";import{a as B,g as ee,h as V,i as H,l as U,m as te,n as W,p as ne,r as re,t as ie,u as ae}from"./desktopHosts-DuftEj8B.js";import{n as oe}from"./desktopRelayRestore-g378BdZf.js";import{a as se,i as ce,r as le,t as ue}from"./vendor-zustand-DzRqcymP.js";import{nt as de,rt as fe}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as pe,Nt as me,n as he,t as ge}from"./platform-wu6wSDfg.js";import{b as _e,d as ve,i as ye,n as G,o as be,s as xe}from"./useUIStore-Dfx6TKvi.js";import{n as Se}from"./vendor-react-DLPElpoQ.js";import{n as Ce}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{l as we,n as Te,o as Ee,s as De}from"./vendor-tanstack-react-query-D7pys_c9.js";import{W as Oe}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{r as ke}from"./vendor-sonner-DVzioF3d.js";import{c as Ae,n as je}from"./vendor-reactuses-core-Dq5ocTF8.js";import{d as Me,f as Ne,n as Pe,o as Fe,p as Ie,r as K,t as q}from"./button-CUwjpv-i.js";import{a as Le,i as Re,r as ze}from"./MobileShareBridge-HjnqqHZ7.js";import{C as Be,_ as Ve,a as He,b as Ue,f as We,g as Ge,h as Ke,i as qe,s as Je,t as Ye,v as Xe,y as Ze}from"./MobileDetailNavigation-aYp44pDd.js";import{$a as Qe,Aa as $e,Ba as et,Bn as tt,Fa as nt,Ga as rt,Ha as it,Ia as at,Ja as ot,Ka as st,Kt as ct,La as lt,Ma as ut,Na as dt,Pa as ft,Qa as pt,Ra as mt,Ua as ht,Va as gt,Vn as _t,Wa as vt,Xa as yt,Ya as bt,Za as xt,_a as St,_i as Ct,ao as wt,ca as Tt,eo as Et,ga as Dt,ia as Ot,io as kt,ja as At,jr as J,ka as jt,ma as Mt,mi as Nt,na as Pt,o as Ft,oa as It,oo as Lt,pa as Rt,qa as zt,ra as Bt,sa as Vt,to as Ht,va as Ut,vi as Wt,wi as Gt,yi as Kt,za as qt}from"./useMobileNavigationStore-CcDPbboc.js";import{i as Jt}from"./useAssistantUIStore-DBwfg9nX.js";import{a as Yt,i as Xt,n as Zt,o as Qt,r as $t,t as en}from"./dialog-PjKWayIU.js";import{t as tn}from"./AgentAvatar-C1MGZ7qC.js";import{n as Y}from"./Icon-BdzPRCSy.js";import{A as nn,T as rn,_ as an,a as on,b as sn,h as cn,i as ln,m as un,n as dn,x as fn}from"./projectMeta-DqmtxS1O.js";import{t as pn}from"./input-BeVw4D0W.js";import{i as mn,n as hn,t as gn}from"./tooltip-DDNnmcXI.js";import{At as _n,Bt as vn,Ct as yn,E as bn,F as xn,Ft as Sn,Ht as Cn,I as wn,It as Tn,J as En,K as Dn,L as On,Lt as kn,Mt as An,N as jn,Nt as Mn,O as Nn,Pt as Pn,Qt as Fn,R as In,Rt as X,St as Ln,T as Rn,V as zn,Vt as Bn,Wt as Vn,Zt as Hn,a as Un,an as Wn,at as Gn,bt as Kn,ct as qn,dt as Jn,en as Yn,gt as Xn,ht as Zn,i as Qn,it as $n,j as er,jt as tr,k as nr,kt as rr,mt as ir,nn as ar,o as or,on as sr,rn as cr,rt as lr,st as ur,t as dr,tn as fr,tt as pr,u as mr,ut as hr,xt as gr,z as _r,zt as vr}from"./useSessionAutoCleanup-BwPPCXI7.js";import{n as yr}from"./useThemeSystem-DMzWVJaW.js";import{i as br,r as xr}from"./OverlayScrollbar-C1C2aKOe.js";import{n as Sr}from"./useRuntimeAPIs-DSLXJybW.js";import{n as Cr,t as wr}from"./textarea-Kl-rTWJe.js";import{P as Tr,i as Er,j as Dr,n as Or}from"./appThemeRegistry-DeunlP8v.js";import{n as kr}from"./MarkdownRenderer-CYMeciqE.js";import{a as Ar}from"./url-DNRMq_0R.js";import{l as jr}from"./markdown-worker-bS5OgGO3.js";import{t as Mr}from"./sortable-tabs-strip-NN4v9dLg.js";import{A as Nr,B as Pr,C as Fr,D as Ir,E as Lr,F as Z,G as Rr,H as zr,I as Br,L as Vr,M as Hr,N as Ur,O as Wr,P as Gr,R as Kr,S as qr,T as Jr,U as Yr,V as Xr,W as Zr,_ as Qr,a as $r,b as ei,c as ti,d as ni,f as ri,g as ii,j as ai,l as oi,m as si,o as ci,p as li,r as ui,s as di,t as fi,v as pi,w as mi,x as hi,y as gi,z as _i}from"./MobileTabPageHeader-BR0Wft7i.js";import{a as vi,c as yi,i as bi,l as xi,o as Si,r as Ci,s as wi}from"./mcpQueries-o7eJn0o6.js";import{a as Ti,n as Ei,r as Di,t as Oi}from"./context-menu-K6zNumqN.js";import{n as ki,r as Ai,t as ji}from"./collapsible-paItOH3A.js";import{n as Mi,t as Ni}from"./vendor-yaml-C9KlJAlj.js";import{t as Pi}from"./vendor-qrcode-DAuVxiQR.js";var Fi=Se(),Q=e(fe(),1),$=de(),Ii=`https://github.com/yee94/openchamber`,Li=`${Ii}/issues/new`,Ri=800,zi={"manual-global":`settings.openchamber.about.opencodeManagement.manual-global`,"manual-external":`settings.openchamber.about.opencodeManagement.manual-external`,bundled:`settings.openchamber.about.opencodeManagement.bundled`,"in-app":`settings.openchamber.about.opencodeManagement.in-app`,none:`settings.openchamber.about.opencodeManagement.none`},Bi=e=>typeof e==`string`&&e.trim()?e.trim():null,Vi=(e,t,n)=>({queryKey:[t,`about`,n,e],queryFn:async({signal:r})=>{if(t!==i()||n!==o())throw Error(`Stale About runtime`);let a=await l(e,{method:`GET`,headers:{Accept:`application/json`},signal:r});if(!a.ok)throw Error(`About snapshot: ${a.status}`);let s=await a.json();if(!s||typeof s!=`object`||Array.isArray(s))throw Error(`Invalid About snapshot`);if(r.aborted||t!==i()||n!==o())throw Error(`Stale About runtime`);return s},retry:!1,staleTime:3e4}),Hi=()=>{try{let e=Ce;return((typeof e.getConfig==`function`?e.getConfig():void 0)??e.config)?.OpenChamberOTA?.channel===`stable`?`stable`:`beta`}catch{return`beta`}},Ui=({initialUpdateDialogOpen:e=!1})=>{let{t}=Ne(),[n,a]=Q.useState(e),[s,c]=Q.useState(!1),[l,u]=Q.useState(!1),[d,f]=Q.useState(null),[p,m]=Q.useState(null),h=Q.useSyncExternalStore(r,i,i),g=Q.useSyncExternalStore(r,o,o),_=De(Vi(`/api/system/info`,h,g)),v=De(Vi(`/api/opencode/upgrade-status`,h,g)),y=Bi(_.data?.openchamberVersion),b=v.data,x=Bi(b?.serveVersion)??Bi(b?.currentVersion),S=Bi(b?.management),C=S&&Object.hasOwn(zi,S)?zi[S]:null,w=b?.canManage===!1&&C?t(C):null,T=x&&w?t(`settings.openchamber.about.opencodeVersionWithManagement`,{version:x,management:w}):x,E=b?.canManage===!1?S===`manual-global`?t(`settings.openchamber.about.opencodeGuidance.manualGlobal`):S===`manual-external`?t(`settings.openchamber.about.opencodeGuidance.manualExternal`):S===`bundled`?t(`settings.openchamber.about.opencodeGuidance.bundled`):null:null,D=_i(ue(e=>({info:e.info,checking:e.checking,available:e.available,error:e.error,downloading:e.downloading,downloaded:e.downloaded,progress:e.progress,runtimeType:e.runtimeType,checkForUpdates:e.checkForUpdates,downloadUpdate:e.downloadUpdate,restartToUpdate:e.restartToUpdate}))),{isMobile:O}=br(),k=G(e=>e.otaChannelOverride),A=G(e=>e.setOtaChannelOverride),j=he(),M=Hi(),N=k===`beta`||k===null&&M===`beta`,[P,F]=Q.useState(!1),[I,L]=Q.useState(()=>Kt()),R=je(e=>{Gt(e),L(e)}),z=je(async e=>{if(e){A(`beta`),await _i.getState().checkForUpdates();return}A(`stable`),await _i.getState().checkForUpdates();let{info:t,otaDecision:n}=_i.getState();t?.isChannelRollback===!0&&n?.primaryAction===`apply_ota`&&c(!0)}),B=je(()=>{c(!1),A(`beta`),_i.getState().checkForUpdates()}),ee=je(()=>{c(!1),a(!0),_i.getState().downloadUpdate()}),V=je(e=>{e||B()}),H=d||t(`settings.openchamber.about.state.unknown`),U=je(async()=>{if(!P){F(!0);try{let{outcome:e,eventCount:n}=await Wt();if(e===`cancelled`)return;if(e===`failed`){J.error(t(`settings.openchamber.about.diagnostics.toast.failed`));return}J.success(t(n>0?`settings.openchamber.about.diagnostics.toast.exported`:`settings.openchamber.about.diagnostics.toast.empty`))}catch{J.error(t(`settings.openchamber.about.diagnostics.toast.failed`))}finally{F(!1)}}});Q.useEffect(()=>{let e=!1;return zr().then(t=>{e||f(t)}),Xr().then(t=>{e||m(t)}),()=>{e=!0}},[]);let te=Pr(d,p)??H,W=Q.useRef(!1);Q.useEffect(()=>{if(D.checking)u(!0),W.current=!0;else if(l){let e=setTimeout(()=>{u(!1),W.current&&D.error?(J.error(t(`settings.openchamber.about.toast.checkFailed`),{description:D.error}),W.current=!1):W.current&&!D.available&&!D.error&&(J.success(t(`settings.openchamber.about.toast.latestVersion`)),W.current=!1)},Ri);return()=>clearTimeout(e)}},[t,D.checking,l,D.available,D.error]);let ne=D.checking||l;return O?(0,$.jsxs)(`div`,{className:`w-full space-y-6 pb-2`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,$.jsx)(X,{width:72,height:72}),(0,$.jsx)(`h2`,{className:`mt-4 typography-ui-header font-semibold text-foreground`,children:`OpenChamber`})]}),(0,$.jsxs)(Z,{children:[(0,$.jsx)(Br,{label:t(`settings.openchamber.about.field.clientVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:te})}),(0,$.jsx)(Br,{label:t(`settings.openchamber.about.field.instanceOpenChamberVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:y||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Br,{label:t(`settings.openchamber.about.field.instanceOpenCodeVersion`),description:E,children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:T||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Br,{children:(0,$.jsxs)(`div`,{className:`flex flex-nowrap items-center justify-end gap-2`,children:[(0,$.jsx)(q,{asChild:!0,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,children:(0,$.jsxs)(`a`,{href:Li,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(Y,{name:`question`,className:`size-4`}),t(`settings.openchamber.about.actions.submitFeedback`)]})}),!ne&&D.available?(0,$.jsxs)(q,{type:`button`,variant:`default`,size:`sm`,className:`whitespace-nowrap`,onClick:()=>a(!0),children:[(0,$.jsx)(Y,{name:`download`,className:`size-4`}),D.info?.inAppApply?t(`settings.openchamber.about.actions.applyOtaToVersion`,{version:D.info?.version||``}):D.info?.manualUpdate?t(`settings.openchamber.about.actions.installNativeToVersion`,{version:D.info?.version||``}):t(`settings.openchamber.about.actions.updateToVersion`,{version:D.info?.version||``})]}):(0,$.jsxs)(q,{type:`button`,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,onClick:()=>D.checkForUpdates(),disabled:ne,children:[ne?(0,$.jsx)(Y,{name:`loader`,className:`size-4 animate-spin`}):(0,$.jsx)(Y,{name:`refresh`,className:`size-4`}),t(ne?`settings.openchamber.about.state.checking`:`settings.openchamber.about.actions.checkForUpdates`)]})]})}),D.error&&(0,$.jsx)(Br,{children:(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:D.error})}),j&&(0,$.jsx)(Vr,{itemId:`about.beta-updates`,checked:N,onChange:z,label:t(`settings.openchamber.about.betaUpdates.label`),description:t(`settings.openchamber.about.betaUpdates.description`),ariaLabel:t(`settings.openchamber.about.betaUpdates.label`),disabled:ne}),(0,$.jsx)(Vr,{itemId:`about.diagnostics`,checked:I,onChange:R,label:t(`settings.openchamber.about.diagnostics.label`),ariaLabel:t(`settings.openchamber.about.diagnostics.label`)}),I&&(0,$.jsx)(Br,{itemId:`about.export-diagnostics`,label:t(`settings.openchamber.about.diagnostics.export`),children:(0,$.jsx)(q,{type:`button`,variant:`outline`,size:`sm`,disabled:P,onClick:()=>void U(),children:t(P?`settings.openchamber.about.diagnostics.exporting`:`settings.openchamber.about.diagnostics.export`)})})]}),(0,$.jsx)(`div`,{className:`flex flex-col items-center gap-3 text-center`,children:(0,$.jsx)(`div`,{className:`flex items-center justify-center gap-5`,children:(0,$.jsxs)(`a`,{href:Ii,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 typography-ui-label text-muted-foreground transition-colors hover:text-foreground`,children:[(0,$.jsx)(Y,{name:`github-fill`,className:`size-5`}),(0,$.jsx)(`span`,{children:`GitHub`})]})})}),(0,$.jsx)(`p`,{className:`text-center typography-ui text-muted-foreground/60`,children:t(`aboutDialog.footerNote`)}),(0,$.jsx)(Kr,{open:n,onOpenChange:a,info:D.info,downloading:D.downloading,downloaded:D.downloaded,progress:D.progress,error:D.error,onDownload:D.downloadUpdate,onRestart:D.restartToUpdate,runtimeType:D.runtimeType}),(0,$.jsx)(en,{open:s,onOpenChange:V,children:(0,$.jsxs)(Zt,{showCloseButton:!1,className:`max-w-sm gap-5`,children:[(0,$.jsxs)(Yt,{children:[(0,$.jsx)(Qt,{children:t(`settings.openchamber.about.betaUpdates.rollback.title`)}),(0,$.jsx)($t,{children:t(`settings.openchamber.about.betaUpdates.rollback.description`,{version:D.info?.version||``})})]}),(0,$.jsxs)(Xt,{children:[(0,$.jsx)(q,{type:`button`,size:`sm`,variant:`ghost`,onClick:B,children:t(`settings.openchamber.about.betaUpdates.rollback.actions.cancel`)}),(0,$.jsx)(q,{type:`button`,size:`sm`,onClick:ee,children:t(`settings.openchamber.about.betaUpdates.rollback.actions.confirm`)})]})]})})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Z,{label:t(`settings.openchamber.about.title`),children:[(0,$.jsx)(Br,{label:t(`settings.openchamber.about.field.clientVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:H})}),(0,$.jsx)(Br,{label:t(`settings.openchamber.about.field.instanceOpenChamberVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:y||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Br,{label:t(`settings.openchamber.about.field.instanceOpenCodeVersion`),description:E,children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:T||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Br,{children:(0,$.jsxs)(`div`,{className:`flex flex-nowrap items-center justify-end gap-3`,children:[(0,$.jsx)(q,{asChild:!0,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,children:(0,$.jsxs)(`a`,{href:Li,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(Y,{name:`question`,className:`size-4`}),t(`settings.openchamber.about.actions.submitFeedback`)]})}),D.checking&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader`,className:`h-4 w-4 animate-spin`}),(0,$.jsx)(`span`,{className:`typography-meta`,children:t(`settings.openchamber.about.state.checking`)})]}),!D.checking&&D.available&&(0,$.jsxs)(q,{size:`sm`,variant:`default`,onClick:()=>a(!0),children:[(0,$.jsx)(Y,{name:`download`,className:`h-4 w-4 mr-1`}),t(`settings.openchamber.about.actions.updateToVersion`,{version:D.info?.version||``})]}),!D.checking&&!D.available&&!D.error&&(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:t(`settings.openchamber.about.state.upToDate`)}),(0,$.jsx)(q,{size:`sm`,variant:`outline`,onClick:()=>D.checkForUpdates(),disabled:D.checking,children:t(`settings.openchamber.about.actions.checkForUpdates`)})]})}),D.error&&(0,$.jsx)(Br,{children:(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:D.error})}),(0,$.jsx)(Vr,{itemId:`about.diagnostics`,checked:I,onChange:R,label:t(`settings.openchamber.about.diagnostics.label`),ariaLabel:t(`settings.openchamber.about.diagnostics.label`)}),I&&(0,$.jsx)(Br,{itemId:`about.export-diagnostics`,label:t(`settings.openchamber.about.diagnostics.export`),children:(0,$.jsx)(q,{type:`button`,variant:`outline`,size:`sm`,disabled:P,onClick:()=>void U(),children:t(P?`settings.openchamber.about.diagnostics.exporting`:`settings.openchamber.about.diagnostics.export`)})}),(0,$.jsx)(Br,{controlClassName:`flex-wrap`,children:(0,$.jsxs)(`a`,{href:Ii,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-1.5 text-muted-foreground hover:text-foreground typography-meta transition-colors`,children:[(0,$.jsx)(Y,{name:`github-fill`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:`GitHub`})]})})]}),(0,$.jsx)(Kr,{open:n,onOpenChange:a,info:D.info,downloading:D.downloading,downloaded:D.downloaded,progress:D.progress,error:D.error,onDownload:D.downloadUpdate,onRestart:D.restartToUpdate,runtimeType:D.runtimeType})]})},Wi=`/assets/android-direct-share-1a0lp154.jpg`,Gi=`/assets/ios-share-sheet-B3Dlufnc.jpg`,Ki=`/assets/select-assistant-C89IRspC.jpg`,qi=`openchamber:assistant-share-welcome:v1`,Ji=[{image:Gi,titleKey:`assistants.shareWelcome.example.chat.title`,descriptionKey:`assistants.shareWelcome.example.chat.description`},{image:Wi,titleKey:`assistants.shareWelcome.example.article.title`,descriptionKey:`assistants.shareWelcome.example.article.description`},{image:Ki,titleKey:`assistants.shareWelcome.example.note.title`,descriptionKey:`assistants.shareWelcome.example.note.description`}],Yi=e=>{let t=(0,Fi.c)(40),{enabled:n,open:r,onOpenChange:i}=e,a=n!==void 0&&n,{t:o}=Ne(),[s,c]=Ae(qi,!1),l=r!==void 0,u=l?r:a&&s!==!0,d;t[0]!==l||t[1]!==i||t[2]!==c?(d=()=>{l||c(!0),i?.(!1)},t[0]=l,t[1]=i,t[2]=c,t[3]=d):d=t[3];let f=je(d),p;t[4]!==f||t[5]!==i?(p=e=>{e?i?.(!0):f()},t[4]=f,t[5]=i,t[6]=p):p=t[6];let m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-xl bg-interactive-selection text-interactive-selection-foreground sm:size-12`,children:(0,$.jsx)(Y,{name:`share-2`,className:`size-5`})}),t[7]=m):m=t[7];let h;t[8]===o?h=t[9]:(h=o(`assistants.shareWelcome.title`),t[8]=o,t[9]=h);let g;t[10]===h?g=t[11]:(g=(0,$.jsx)(Qt,{className:`typography-ui-header text-left sm:text-3xl`,children:h}),t[10]=h,t[11]=g);let _;t[12]===o?_=t[13]:(_=o(`assistants.shareWelcome.description`),t[12]=o,t[13]=_);let v;t[14]===_?v=t[15]:(v=(0,$.jsx)($t,{className:`typography-ui text-left leading-6 sm:max-w-3xl sm:text-base sm:leading-7`,children:_}),t[14]=_,t[15]=v);let y;t[16]!==g||t[17]!==v?(y=(0,$.jsxs)(Yt,{className:`flex-row items-start gap-3 px-5 pb-5 pt-6 text-left sm:gap-4 sm:px-8 sm:pb-6 sm:pt-8`,children:[m,(0,$.jsxs)(`div`,{className:`min-w-0 space-y-1.5 sm:space-y-2`,children:[g,v]})]}),t[16]=g,t[17]=v,t[18]=y):y=t[18];let b;t[19]===o?b=t[20]:(b=o(`assistants.shareWelcome.examplesAria`),t[19]=o,t[20]=b);let x;t[21]===o?x=t[22]:(x=Ji.map((e,t)=>(0,$.jsxs)(`article`,{className:`w-[min(78vw,19rem)] shrink-0 snap-center overflow-hidden rounded-xl border border-border bg-background lg:w-auto lg:min-w-0`,children:[(0,$.jsxs)(`div`,{className:`relative overflow-hidden border-b border-border bg-muted`,children:[(0,$.jsx)(`img`,{src:e.image,alt:``,className:`h-72 w-full object-cover object-bottom lg:h-[min(38vh,23rem)]`}),(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`absolute left-3 top-3 flex size-7 items-center justify-center rounded-full bg-[var(--surface-elevated)] typography-meta font-semibold text-foreground shadow-sm`,children:t+1})]}),(0,$.jsxs)(`div`,{className:`space-y-1 px-4 py-3.5 lg:min-h-25`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-label font-semibold text-foreground`,children:o(e.titleKey)}),(0,$.jsx)(`p`,{className:`typography-meta leading-5 text-muted-foreground`,children:o(e.descriptionKey)})]})]},e.titleKey)),t[21]=o,t[22]=x);let S;t[23]!==b||t[24]!==x?(S=(0,$.jsx)(`div`,{className:`overflow-hidden px-5 pb-5 sm:px-8 sm:pb-7`,children:(0,$.jsx)(`div`,{className:`flex snap-x snap-mandatory gap-3 overflow-x-auto pb-2 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden lg:grid lg:grid-cols-3 lg:overflow-visible lg:pb-0`,"aria-label":b,children:x})}),t[23]=b,t[24]=x,t[25]=S):S=t[25];let C;t[26]===o?C=t[27]:(C=o(`assistants.shareWelcome.action`),t[26]=o,t[27]=C);let w;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(Y,{name:`arrow-right-s`,className:`size-4`}),t[28]=w):w=t[28];let T;t[29]!==f||t[30]!==C?(T=(0,$.jsx)(Xt,{className:`border-t border-border px-5 py-4 sm:px-8 sm:py-5`,children:(0,$.jsxs)(q,{size:`lg`,className:`w-full lg:mx-auto lg:w-72`,onClick:f,children:[C,w]})}),t[29]=f,t[30]=C,t[31]=T):T=t[31];let E;t[32]!==S||t[33]!==T||t[34]!==y?(E=(0,$.jsxs)(Zt,{showCloseButton:!1,className:`w-[min(100%,31rem)] max-w-none gap-0 overflow-hidden rounded-2xl border-border bg-[var(--surface-elevated)] p-0 sm:w-[min(calc(100%-3rem),44rem)] lg:w-[min(calc(100%-4rem),74rem)]`,containerClassName:`fixed inset-0 z-50 flex items-end justify-center px-0 pt-8 sm:items-center sm:p-6`,children:[y,S,T]}),t[32]=S,t[33]=T,t[34]=y,t[35]=E):E=t[35];let D;return t[36]!==u||t[37]!==E||t[38]!==p?(D=(0,$.jsx)(en,{open:u,onOpenChange:p,children:E}),t[36]=u,t[37]=E,t[38]=p,t[39]=D):D=t[39],D},Xi=`useCommandsStore`,Zi=new Set([`init`,`review`]),Qi=e=>Zi.has(e.name),$i=async(e,t)=>{await pt(w,e,t),i()===t&&kt(`commands`,{source:Xi})},ea=se()(le(ce(e=>({selectedCommandName:null,commandDraft:null,setSelectedCommand:t=>e({selectedCommandName:t}),setCommandDraft:t=>e({commandDraft:t}),loadCommands:async()=>{let e=Qe(),t=i();try{return await pt(w,e,t),!0}catch{return!1}},createCommand:async t=>ta(`POST`,t.name,t,e),updateCommand:async(t,n)=>ta(`PATCH`,t,n,e),deleteCommand:async t=>ta(`DELETE`,t,void 0,e),getCommandByName:e=>xt().find(t=>t.name===e)}),{name:`commands-store`,storage:_e(),partialize:e=>({selectedCommandName:e.selectedCommandName})}),{name:`commands-store`}));async function ta(e,t,n,r){let a=Qe(),o=i();try{let s={};if(e===`POST`&&(s.template=n?.template||``,n?.description&&(s.description=n.description),n?.agent&&(s.agent=n.agent),n?.model&&(s.model=n.model),n?.scope&&(s.scope=n.scope)),e===`PATCH`)for(let e of[`description`,`agent`,`model`,`template`])n?.[e]!==void 0&&(s[e]=n[e]);let c=a?`?directory=${encodeURIComponent(a)}`:``,u=await l(`/api/config/commands/${encodeURIComponent(t)}${c}`,{method:e,headers:e===`DELETE`?a?{"x-opencode-directory":a}:void 0:{"Content-Type":`application/json`,...a?{"x-opencode-directory":a}:{}},...e===`DELETE`?{}:{body:JSON.stringify(s)}}),d=await u.json().catch(()=>null);if(!u.ok)throw Error(d?.error||`Failed to ${e.toLowerCase()} command`);return i()!==o||(await $i(a,o),i()!==o)||e===`DELETE`&&r({selectedCommandName:null}),!0}catch(e){return console.error(`[CommandsStore] Command mutation failed:`,e),!1}}typeof window<`u`&&(window.__zustand_commands_store__=ea),Lt(e=>{e.source!==Xi&&wt(e,`commands`)&&ea.getState().loadCommands()});var na=()=>{try{let e=Ht.getState().getActiveProject?.();if(e?.path?.trim())return e.path.trim();let t=me.getDirectory();if(t?.trim())return t.trim()}catch(e){console.warn(`[McpConfigStore] Error resolving config directory:`,e)}return null},ra=e=>e?Object.entries(e).map(([e,t])=>({key:e,value:t})):[],ia=e=>{let t=e.filter(e=>e.key.trim());if(t.length!==0)return Object.fromEntries(t.map(e=>[e.key.trim(),e.value]))},aa=e=>{if(typeof e==`string`)return e.trim()||void 0},oa=se()(le(ce((e,t)=>({selectedMcpName:null,mcpDraft:null,setSelectedMcp:t=>e({selectedMcpName:t}),setMcpDraft:t=>e({mcpDraft:t}),loadMcpConfigs:async e=>{let t=na();try{return!e?.force&&Ci(w,t).length>0||await vi(w,t,i()),!0}catch(e){return console.error(`[McpConfigStore] Failed to load MCP configs:`,e),!1}},createMcp:async(e,t)=>{let n=`directory`in(t??{})?t?.directory?.trim()||null:na(),r=t?.transportIdentity??i();try{let t=sa(e),a=n?`?directory=${encodeURIComponent(n)}`:``,o=await l(`/api/config/mcp/${encodeURIComponent(e.name)}${a}`,{method:`POST`,headers:{"Content-Type":`application/json`,...n?{"x-opencode-directory":n}:{}},body:JSON.stringify(t)}),s=await o.json().catch(()=>null);if(!o.ok)throw Error(s?.error||`Failed to create MCP server`);return i()===r?(await vi(w,n,r),await Si(w,n,r),{ok:!0,reloadFailed:s?.reloadFailed===!0,message:s?.message,warning:s?.warning}):{ok:!0}}catch(e){return console.error(`[McpConfigStore] Failed to create MCP:`,e),{ok:!1}}},updateMcp:async(e,t,n)=>{let r=`directory`in(n??{})?n?.directory?.trim()||null:na(),a=n?.transportIdentity??i();try{let n=sa(t),o=r?`?directory=${encodeURIComponent(r)}`:``,s=await l(`/api/config/mcp/${encodeURIComponent(e)}${o}`,{method:`PATCH`,headers:{"Content-Type":`application/json`,...r?{"x-opencode-directory":r}:{}},body:JSON.stringify(n)}),c=await s.json().catch(()=>null);if(!s.ok)throw Error(c?.error||`Failed to update MCP server`);return i()===a?(await vi(w,r,a),await Si(w,r,a),{ok:!0,reloadFailed:c?.reloadFailed===!0,message:c?.message,warning:c?.warning}):{ok:!0}}catch(e){throw console.error(`[McpConfigStore] Failed to update MCP:`,e),e}},deleteMcp:async(n,r)=>{let a=`directory`in(r??{})?r?.directory?.trim()||null:na(),o=r?.transportIdentity??i();try{let r=a?`?directory=${encodeURIComponent(a)}`:``,s=await l(`/api/config/mcp/${encodeURIComponent(n)}${r}`,{method:`DELETE`,headers:a?{"x-opencode-directory":a}:void 0}),c=await s.json().catch(()=>null);if(!s.ok)throw Error(c?.error||`Failed to delete MCP server`);return Yr.getState().clearDiagnostic(n,a,o),i()===o?(t().selectedMcpName===n&&e({selectedMcpName:null}),await vi(w,a,o),await Si(w,a,o),{ok:!0,reloadFailed:c?.reloadFailed===!0,message:c?.message,warning:c?.warning}):{ok:!0}}catch(e){return console.error(`[McpConfigStore] Failed to delete MCP:`,e),{ok:!1}}}}),{name:`mcp-config-store`,storage:_e(),partialize:e=>({selectedMcpName:e.selectedMcpName})}),{name:`mcp-config-store`}));function sa(e){let t={};if(e.scope!==void 0&&(t.scope=e.scope),e.type!==void 0&&(t.type=e.type),(e.type===`local`||e.command!==void 0)&&(t.command=(e.command??[]).filter(e=>e.trim())),(e.type===`remote`||e.url!==void 0)&&(t.url=e.url?.trim()??``),e.environment!==void 0&&(t.environment=ia(e.environment)??{}),e.headers!==void 0&&(t.headers=ia(e.headers)??{}),e.oauthEnabled!==void 0||e.oauthClientId!==void 0||e.oauthClientSecret!==void 0||e.oauthScope!==void 0||e.oauthRedirectUri!==void 0)if(e.oauthEnabled===!1)t.oauth=!1;else{let n={clientId:aa(e.oauthClientId),clientSecret:aa(e.oauthClientSecret),scope:aa(e.oauthScope),redirectUri:aa(e.oauthRedirectUri)};t.oauth=n.clientId||n.clientSecret||n.scope||n.redirectUri?n:e.oauthEnabled?{}:!1}if(e.timeout!==void 0){let n=Number(e.timeout);t.timeout=Number.isFinite(n)&&n>0?n:null}return e.enabled!==void 0&&(t.enabled=e.enabled),t}var ca=()=>{let e=me.getDirectory();if(typeof e==`string`&&e.trim().length>0)return e;try{let e=window.__zustand_directory_store__;if(e)return e.getState().currentDirectory}catch{}return null},la=`useSkillsStore`,ua=e=>{if(e&&Object.prototype.hasOwnProperty.call(e,`directory`))return typeof e.directory==`string`&&e.directory.trim()||null;let t=ca();return typeof t==`string`&&t.trim()||null},da=se()(le(ce((e,t)=>({selectedSkillName:null,skillDraft:null,setSelectedSkill:t=>{e({selectedSkillName:t})},setSkillDraft:t=>{e({skillDraft:t})},loadSkills:async()=>{try{return await at(w,ca(),i()),!0}catch{return!1}},getSkillDetail:async e=>{try{let t=ca(),n=t?`?directory=${encodeURIComponent(t)}`:``,r=await l(`/api/config/skills/${encodeURIComponent(e)}${n}`);return r.ok?await r.json():null}catch{return null}},createSkill:async(e,t)=>{try{let n={name:e.name,description:e.description};e.instructions&&(n.instructions=e.instructions),e.scope&&(n.scope=e.scope),e.source&&(n.source=e.source),e.supportingFiles&&(n.supportingFiles=e.supportingFiles);let r=ua(t),a=i(),o=r?`?directory=${encodeURIComponent(r)}`:``,s=await l(`/api/config/skills/${encodeURIComponent(e.name)}${o}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)}),c=await s.json().catch(()=>null);if(!s.ok){let e=c?.error||`Failed to create skill`;throw Error(e)}return await fa({directory:r,transportIdentity:a}),!0}catch{return!1}},updateSkill:async(e,t,n)=>{try{let r={};t.description!==void 0&&(r.description=t.description),t.instructions!==void 0&&(r.instructions=t.instructions),t.supportingFiles!==void 0&&(r.supportingFiles=t.supportingFiles),t.targetPath!==void 0&&(r.targetPath=t.targetPath);let a=ua(n),o=i(),s=a?`?directory=${encodeURIComponent(a)}`:``,c=await l(`/api/config/skills/${encodeURIComponent(e)}${s}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)}),u=await c.json().catch(()=>null);if(!c.ok){let e=u?.error||`Failed to update skill`;throw Error(e)}return await fa({directory:a,transportIdentity:o}),!0}catch{return!1}},deleteSkill:async(n,r)=>{try{let a=ua(r),o=i(),s=a?`?directory=${encodeURIComponent(a)}`:``,c=await l(`/api/config/skills/${encodeURIComponent(n)}${s}`,{method:`DELETE`}),u=await c.json().catch(()=>null);if(!c.ok){let e=u?.error||`Failed to delete skill`;throw Error(e)}return await fa({directory:a,transportIdentity:o}),i()===o&&t().selectedSkillName===n&&e({selectedSkillName:null}),!0}catch{return!1}},getSkillByName:e=>nt(w,ca()).find(t=>t.name===e),readSupportingFile:async(e,t)=>{try{let n=ca(),r=n?`&directory=${encodeURIComponent(n)}`:``,i=await l(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}?${r.slice(1)}`);return i.ok?(await i.json()).content??null:null}catch{return null}},writeSupportingFile:async(e,t,n)=>{try{let r=ca(),i=r?`?directory=${encodeURIComponent(r)}`:``;return(await l(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}${i}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({content:n})})).ok}catch{return!1}},deleteSupportingFile:async(e,t)=>{try{let n=ca(),r=n?`?directory=${encodeURIComponent(n)}`:``;return(await l(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}${r}`,{method:`DELETE`})).ok}catch{return!1}}}),{name:`skills-store`,storage:_e(),partialize:e=>({selectedSkillName:e.selectedSkillName})}),{name:`skills-store`}));typeof window<`u`&&(window.__zustand_skills_store__=da);async function fa(e){let t=e&&`directory`in e?e.directory?.trim()||null:ca(),n=e?.transportIdentity??i();i()===n&&(await at(w,t,n),i()===n&&(await gt(w,t,n),i()===n&&kt(`skills`,{source:la})))}var pa=null;pa||=Lt(e=>{if(e.source!==la&&wt(e,`skills`)){let e=ca(),t=i();at(w,e,t).then(()=>gt(w,e,t)).catch(()=>void 0)}});var ma=/^#[0-9a-fA-F]{6}$/,ha=/^\{file:.+\}$/i,ga=e=>[...e].sort((e,t)=>{let n=e.permission.localeCompare(t.permission);return n===0?e.pattern.localeCompare(t.pattern):n}),_a=(e,t)=>{let n=ga(e),r=ga(t);return n.length===r.length&&n.every((e,t)=>{let n=r[t];return e.permission===n.permission&&e.pattern===n.pattern&&e.action===n.action})},va=(e,t)=>t?e.globalPermission!==t.globalPermission||!_a(e.permissionRules,t.permissionRules):!1,ya=e=>e===`bash`?`shell`:e===`task`?`subagent`:e===`write`||e===`patch`?`edit`:e,ba=(e,t)=>{let n=[{action:`*`,resource:`*`,effect:e}];for(let e of t)!e.permission||!e.pattern||(e.permission!==`*`||e.pattern!==`*`)&&n.push({action:ya(e.permission),resource:e.pattern,effect:e.action});return n},xa=e=>{let t=e.trim();return t===``?null:t},Sa=({isNewAgent:e,agentName:t,draftScope:n,initialScope:r,draftHasExplicitPermission:i,current:a,initial:o,confirmDrop:s})=>{let c=ba(a.globalPermission,a.permissionRules);if(e){let e=a.description.trim(),r=xa(a.model),l=a.system.trim(),u=va(a,o)||i;return{name:t,mode:a.mode,...e?{description:e}:{},...r?{model:r}:{},...l?{system:l}:{},...u?{permissions:c}:{},...n?{scope:n}:{},...s?{confirmDrop:!0}:{}}}let l={name:t,...s?{confirmDrop:!0}:{}};return o?(a.description!==o.description&&(l.description=a.description.trim()||null),a.mode!==o.mode&&(l.mode=a.mode),a.model!==o.model&&(l.model=xa(a.model)),a.system!==o.system&&(l.system=a.system.trim()||null),va(a,o)&&(l.permissions=c),n&&r&&n!==r&&(l.scope=n),l):l},Ca=e=>{if(e){if(typeof e.prompt==`string`)return ha.test(e.prompt.trim())?void 0:e.prompt;if(typeof e.system==`string`)return e.system}},wa=e=>{let t=e?.model?.providerID,n=e?.model?.modelID||e?.model?.id;if(!t||!n)return``;let r=e?.model?.variant||e?.variant;return r?`${t}/${n}#${r}`:`${t}/${n}`},Ta=e=>{let t=e.trim(),n=t.indexOf(`/`);if(n<=0||n>=t.length-1)return null;let r=t.slice(0,n),i=t.slice(n+1),a=i.indexOf(`#`);return a===-1?{providerId:r,modelId:i,variant:``}:{providerId:r,modelId:i.slice(0,a),variant:i.slice(a+1)}},Ea=e=>ma.test(e.trim()),Da=e=>{let t=e.trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)},Oa=e=>{let t=(0,Fi.c)(37),{className:n}=e,{t:r}=Ne(),i=Ht(ka),a=Ht(Aa),o=Ht(ja),s=M(),c;t[0]===i?c=t[1]:(c=[...i].sort(Ma),t[0]=i,t[1]=c);let l=c,u;bb0:{if(l.length===0){u=null;break bb0}let e;t[2]!==a||t[3]!==l?(e=l.find(e=>e.id===a)??l[0],t[2]=a,t[3]=l,t[4]=e):e=t[4],u=e}let d=u;if(s||l.length===0)return null;let f;t[5]!==d?.path||t[6]!==r?(f=d?.path.split(`/`).filter(Boolean).pop()||d?.path||r(`settings.shared.projectSelector.fallbackProject`),t[5]=d?.path,t[6]=r,t[7]=f):f=t[7];let p=f,m;t[8]===n?m=t[9]:(m=K(n),t[8]=n,t[9]=m);let h;t[10]===r?h=t[11]:(h=r(`settings.shared.projectSelector.switchProjectAria`),t[10]=r,t[11]=h);let g;t[12]===r?g=t[13]:(g=r(`settings.shared.projectSelector.switchProjectTitle`),t[12]=r,t[13]=g);let _,v;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(_=K(`text-foreground border border-border/80 appearance-none flex h-8 w-full min-w-0 rounded-lg bg-transparent px-3 py-1 outline-none`,`hover:border-input focus-visible:ring-1 focus-visible:ring-primary/50 focus-visible:border-primary/70`,`flex items-center gap-1.5 text-left`),v=(0,$.jsx)(Y,{name:`folder`,className:`h-4 w-4 text-muted-foreground`}),t[14]=_,t[15]=v):(_=t[14],v=t[15]);let y;t[16]===p?y=t[17]:(y=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label font-medium`,children:p}),t[16]=p,t[17]=y);let b;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(Y,{name:`arrow-down-s`,className:`size-4 opacity-50`}),t[18]=b):b=t[18];let x;t[19]!==h||t[20]!==g||t[21]!==y?(x=(0,$.jsx)(hr,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,"aria-label":h,title:g,className:_,children:[v,y,b]})}),t[19]=h,t[20]=g,t[21]=y,t[22]=x):x=t[22];let S=d?.id??``,C;t[23]===o?C=t[24]:(C=e=>{e&&o(e)},t[23]=o,t[24]=C);let w;t[25]===l?w=t[26]:(w=l.map(Na),t[25]=l,t[26]=w);let T;t[27]!==S||t[28]!==C||t[29]!==w?(T=(0,$.jsx)($n,{align:`start`,className:`w-auto`,children:(0,$.jsx)(ur,{value:S,onValueChange:C,children:w})}),t[27]=S,t[28]=C,t[29]=w,t[30]=T):T=t[30];let E;t[31]!==x||t[32]!==T?(E=(0,$.jsxs)(lr,{children:[x,T]}),t[31]=x,t[32]=T,t[33]=E):E=t[33];let D;return t[34]!==E||t[35]!==m?(D=(0,$.jsx)(`div`,{className:m,children:E}),t[34]=E,t[35]=m,t[36]=D):D=t[36],D};function ka(e){return e.projects}function Aa(e){return e.activeProjectId}function ja(e){return e.setActiveProject}function Ma(e,t){return(e.label||e.path).localeCompare(t.label||t.path)}function Na(e){let t=e.path.split(`/`).filter(Boolean).pop()||e.path;return(0,$.jsx)(qn,{value:e.id,children:(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-ui`,children:t})},e.id)}function Pa(e,t){return`opencode:sidebar-group:${e}:${t}`}var Fa=e=>{let t=(0,Fi.c)(57),{label:n,count:r,storageKey:i,defaultExpanded:a,variant:o,labelPrefix:s,children:c}=e,l=a===void 0||a,u=o===void 0?`sidebar`:o,d;t[0]!==n||t[1]!==i?(d=Pa(i,n),t[0]=n,t[1]=i,t[2]=d):d=t[2];let f=d,p=Q.useId(),m;t[3]!==l||t[4]!==f?(m=()=>{try{let e=localStorage.getItem(f);if(e!==null)return e===`true`}catch{}return l},t[3]=l,t[4]=f,t[5]=m):m=t[5];let[h,g]=(0,Q.useState)(m),_,v;if(t[6]!==h||t[7]!==f?(_=()=>{try{localStorage.setItem(f,String(h))}catch{}},v=[f,h],t[6]=h,t[7]=f,t[8]=_,t[9]=v):(_=t[8],v=t[9]),(0,Q.useEffect)(_,v),u===`settings-card`){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>g(Ia),t[10]=e):e=t[10];let i;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(i=K(`flex w-full items-center gap-1 text-left`,`text-inherit transition-colors duration-150 hover:text-foreground`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`),t[11]=i):i=t[11];let a=!h&&`-rotate-90`,o;t[12]===a?o=t[13]:(o=K(`h-3.5 w-3.5 flex-shrink-0 transition-transform duration-200`,a),t[12]=a,t[13]=o);let l;t[14]===o?l=t[15]:(l=(0,$.jsx)(Y,{name:`arrow-down-s`,className:o}),t[14]=o,t[15]=l);let u=s?`${s} · `:``,d;t[16]!==n||t[17]!==u?(d=(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[u,n]}),t[16]=n,t[17]=u,t[18]=d):d=t[18];let f;t[19]===r?f=t[20]:(f=(0,$.jsx)(`span`,{className:`ml-1 tabular-nums opacity-60`,children:r}),t[19]=r,t[20]=f);let m;t[21]!==p||t[22]!==h||t[23]!==l||t[24]!==d||t[25]!==f?(m=(0,$.jsxs)(`button`,{type:`button`,onClick:e,"aria-expanded":h,"aria-controls":p,className:i,children:[l,d,f]}),t[21]=p,t[22]=h,t[23]=l,t[24]=d,t[25]=f,t[26]=m):m=t[26];let _=!h&&`hidden`,v;t[27]===_?v=t[28]:(v=K(_),t[27]=_,t[28]=v);let y;return t[29]!==c||t[30]!==p||t[31]!==m||t[32]!==v?(y=(0,$.jsx)(Z,{label:m,cardClassName:v,cardId:p,children:c}),t[29]=c,t[30]=p,t[31]=m,t[32]=v,t[33]=y):y=t[33],y}let y;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>g(La),t[34]=y):y=t[34];let b;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(b=K(`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-primary/50`),t[35]=b):b=t[35];let x=!h&&`-rotate-90`,S;t[36]===x?S=t[37]:(S=K(`h-3.5 w-3.5 flex-shrink-0 transition-transform duration-200`,x),t[36]=x,t[37]=S);let C;t[38]===S?C=t[39]:(C=(0,$.jsx)(Y,{name:`arrow-down-s`,className:S}),t[38]=S,t[39]=C);let w;t[40]===n?w=t[41]:(w=(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:n}),t[40]=n,t[41]=w);let T;t[42]===r?T=t[43]:(T=(0,$.jsx)(`span`,{className:`ml-1 tabular-nums opacity-60`,children:r}),t[42]=r,t[43]=T);let E;t[44]!==p||t[45]!==h||t[46]!==C||t[47]!==w||t[48]!==T?(E=(0,$.jsxs)(`button`,{type:`button`,onClick:y,"aria-expanded":h,"aria-controls":p,className:b,children:[C,w,T]}),t[44]=p,t[45]=h,t[46]=C,t[47]=w,t[48]=T,t[49]=E):E=t[49];let D=!h,O;t[50]!==c||t[51]!==p||t[52]!==D?(O=(0,$.jsx)(`div`,{id:p,hidden:D,className:`mt-0.5 space-y-0.5 ml-2 pl-3 border-l-2 border-[var(--interactive-border)]`,children:c}),t[50]=c,t[51]=p,t[52]=D,t[53]=O):O=t[53];let k;return t[54]!==E||t[55]!==O?(k=(0,$.jsxs)(`div`,{children:[E,O]}),t[54]=E,t[55]=O,t[56]=k):k=t[56],k};function Ia(e){return!e}function La(e){return!e}var Ra=e=>e===`bash`?`shell`:e===`task`?`subagent`:e===`write`||e===`patch`?`edit`:e,za=e=>{let t=_r(e).map(e=>({action:Ra(e.action),resource:e.resource,effect:e.effect}));return t.length>0?t:void 0},Ba=(e,t)=>{let n=e,r=jt(e)?void 0:typeof n.system==`string`?n.system:typeof e.prompt==`string`?e.prompt:void 0,i=typeof n.color==`string`&&Ea(n.color)?n.color:void 0;return{name:t,scope:n.scope||`user`,description:e.description,model:wa(e)||null,...r?{system:r}:{},mode:e.mode,...typeof n.steps==`number`?{steps:n.steps}:{},...e.hidden===!0?{hidden:!0}:{},...n.disabledOverride?{disabled:!0}:{},...i?{color:i}:{},permissions:za(n.permissions??e.permission)}},Va=({onItemSelect:e})=>{let{t}=Ne(),[n,r]=Q.useState(null),[i,a]=Q.useState(``),[o,s]=Q.useState(null),[c,l]=Q.useState(null),[u,d]=Q.useState(!1),[f,p]=Q.useState(null),{selectedAgentName:m,setSelectedAgent:h,setAgentDraft:g,createAgent:_,deleteAgent:v,loadAgents:y}=ft(ue(e=>({selectedAgentName:e.selectedAgentName,setSelectedAgent:e.setSelectedAgent,setAgentDraft:e.setAgentDraft,createAgent:e.createAgent,deleteAgent:e.deleteAgent,loadAgents:e.loadAgents}))),{data:b=[]}=ot();Q.useEffect(()=>{y()},[y]);let x=()=>{let t=`new-agent`,n=t,r=1;for(;b.some(e=>e.name===n);)n=`${t}-${r}`,r++;g({name:n,scope:`user`}),h(n),e?.()},S=async e=>{if(jt(e)){J.error(t(`settings.agents.sidebar.toast.builtInCannotDelete`));return}s(e),l(`delete`)},C=async e=>{jt(e)&&(s(e),l(`reset`))},w=()=>{s(null),l(null)},T=async()=>{if(!(!o||!c)){d(!0);try{let e=await v(o.name,o.scope);e.ok?(e.requiresManualRestart?J.warning(t(`settings.agents.page.toast.savedManualRestart`)):c===`delete`?J.success(t(`settings.agents.sidebar.toast.agentDeleted`,{name:o.name})):J.success(t(`settings.agents.sidebar.toast.agentReset`,{name:o.name})),w()):c===`delete`?J.error(t(`settings.agents.sidebar.toast.deleteFailed`)):J.error(t(`settings.agents.sidebar.toast.resetFailed`))}catch(e){let n=e instanceof Error?e.message:``,r=/built-in|not deletable|not found/i.test(n);c===`delete`?J.error(t(r?`settings.agents.sidebar.toast.definitionNotFound`:`settings.agents.sidebar.toast.deleteFailed`)):J.error(t(`settings.agents.sidebar.toast.resetFailed`))}d(!1)}},E=e=>{let t=e.name,n=1,r=`${t}-copy`;for(;b.some(e=>e.name===r);)n++,r=`${t}-copy-${n}`;g(Ba(e,r)),h(r)},D=e=>{a(e.name),r(e)},O=async()=>{if(!n)return;let e=i.trim().replace(/\s+/g,`-`);if(!e){J.error(t(`settings.agents.sidebar.toast.agentNameRequired`));return}if(e===n.name){r(null);return}if(b.some(t=>t.name===e)){J.error(t(`settings.agents.sidebar.toast.agentExists`));return}let a=n,o=await _({...Ba(n,e),scope:a.scope});if(o.ok){let r=await v(n.name,a.scope);r.ok?(o.requiresManualRestart||r.requiresManualRestart?J.warning(t(`settings.agents.page.toast.savedManualRestart`)):J.success(t(`settings.agents.sidebar.toast.agentRenamed`,{name:e})),h(e)):J.error(t(`settings.agents.sidebar.toast.removeOldAfterRenameFailed`))}else J.error(t(`settings.agents.sidebar.toast.renameFailed`));r(null)},k=e=>{switch(e){case`primary`:return(0,$.jsx)(Y,{name:`ai-agent`,className:`h-3 w-3 text-primary`});case`all`:return(0,$.jsx)(Y,{name:`ai-agent-fill`,className:`h-3 w-3 text-primary`});case`subagent`:return(0,$.jsx)(Y,{name:`robot`,className:`h-3 w-3 text-primary`});default:return null}},A=b.filter(e=>{let t=e;return!$e(e)||!!t.scope||t.disabledOverride===!0}),j=A.filter(jt),M=A.filter(e=>!jt(e)),{groupedCustomAgents:N,ungroupedCustomAgents:P}=(0,Q.useMemo)(()=>{let e={},t=[];for(let n of M){let r=n;r.group?(e[r.group]||(e[r.group]=[]),e[r.group].push(n)):t.push(n)}return{groupedCustomAgents:Object.keys(e).sort((e,t)=>e.localeCompare(t)).map(t=>({name:t,agents:e[t]})),ungroupedCustomAgents:t}},[M]),F=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsx)(`span`,{children:t(`settings.agents.sidebar.section.custom`)}),(0,$.jsx)(q,{"data-settings-item":`agents.create`,size:`icon`,variant:`ghost`,onClick:x,"aria-label":t(`settings.agents.page.title.new`),children:(0,$.jsx)(Y,{name:`add`,className:`h-4 w-4`})})]});return(0,$.jsxs)(`div`,{className:`oc-settings-page-content h-full overflow-y-auto bg-background p-3`,children:[(0,$.jsx)(Oa,{}),(0,$.jsx)($.Fragment,{children:A.length===0?(0,$.jsx)(Z,{children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`robot-2`,className:`mx-auto mb-3 h-10 w-10 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-medium`,children:t(`settings.agents.sidebar.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:t(`settings.agents.sidebar.empty.description`)})]})}):(0,$.jsxs)($.Fragment,{children:[j.length>0&&(0,$.jsx)(Z,{label:t(`settings.agents.sidebar.section.builtIn`),children:j.map(t=>(0,$.jsx)(Ha,{agent:t,isSelected:m===t.name,onSelect:()=>{h(t.name),e?.()},onReset:()=>C(t),onDuplicate:()=>E(t),getAgentModeIcon:k,isMenuOpen:f===t.name,onMenuOpenChange:e=>p(e?t.name:null)},t.name))}),M.length>0&&(0,$.jsxs)($.Fragment,{children:[N.map(({name:n,agents:r})=>(0,$.jsx)(Fa,{label:n,count:r.length,storageKey:`agents`,variant:`settings-card`,labelPrefix:t(`settings.agents.sidebar.section.custom`),children:r.map(t=>(0,$.jsx)(Ha,{agent:t,isSelected:m===t.name,onSelect:()=>{h(t.name),e?.()},onRename:()=>D(t),onDelete:()=>S(t),onDuplicate:()=>E(t),getAgentModeIcon:k,isMenuOpen:f===t.name,onMenuOpenChange:e=>p(e?t.name:null)},t.name))},n)),P.length>0?(0,$.jsx)(Z,{label:F,children:P.map(t=>(0,$.jsx)(Ha,{agent:t,isSelected:m===t.name,onSelect:()=>{h(t.name),e?.()},onRename:()=>D(t),onDelete:()=>S(t),onDuplicate:()=>E(t),getAgentModeIcon:k,isMenuOpen:f===t.name,onMenuOpenChange:e=>p(e?t.name:null)},t.name))}):(0,$.jsx)(Z,{label:F,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})})]}),M.length===0&&(0,$.jsx)(Z,{label:F,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})})]})}),(0,$.jsx)(en,{open:o!==null&&c!==null,onOpenChange:e=>{!e&&!u&&w()},children:(0,$.jsxs)(Zt,{className:`max-w-md`,children:[(0,$.jsxs)(Yt,{children:[(0,$.jsx)(Qt,{children:t(c===`delete`?`settings.agents.sidebar.dialog.deleteTitle`:`settings.agents.sidebar.dialog.resetTitle`)}),(0,$.jsx)($t,{children:t(c===`delete`?`settings.agents.sidebar.dialog.deleteDescription`:`settings.agents.sidebar.dialog.resetDescription`,{name:o?.name??``})})]}),(0,$.jsxs)(Xt,{children:[(0,$.jsx)(q,{size:`sm`,variant:`ghost`,onClick:w,disabled:u,children:t(`settings.common.actions.cancel`)}),(0,$.jsx)(q,{size:`sm`,onClick:T,disabled:u,children:t(c===`delete`?`settings.common.actions.delete`:`settings.common.actions.reset`)})]})]})}),(0,$.jsx)(en,{open:n!==null,onOpenChange:e=>!e&&r(null),children:(0,$.jsxs)(Zt,{children:[(0,$.jsxs)(Yt,{children:[(0,$.jsx)(Qt,{children:t(`settings.agents.sidebar.renameDialog.title`)}),(0,$.jsx)($t,{children:t(`settings.agents.sidebar.renameDialog.description`,{name:n?.name??``})})]}),(0,$.jsx)(pn,{value:i,onChange:e=>a(e.target.value),placeholder:t(`settings.agents.sidebar.renameDialog.placeholder`),className:`text-foreground placeholder:text-muted-foreground`,onKeyDown:e=>{e.key===`Enter`&&O()}}),(0,$.jsxs)(Xt,{children:[(0,$.jsx)(q,{size:`sm`,variant:`ghost`,onClick:()=>r(null),children:t(`settings.common.actions.cancel`)}),(0,$.jsx)(q,{size:`sm`,onClick:O,children:t(`settings.common.actions.rename`)})]})]})})]})},Ha=e=>{let t=(0,Fi.c)(55),{agent:n,isSelected:r,onSelect:i,onDelete:a,onReset:o,onRename:s,onDuplicate:c,getAgentModeIcon:l,isMenuOpen:u,onMenuOpenChange:d}=e,{t:f}=Ne(),p=n,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=xr(),t[0]=m):m=t[0];let h=m,[g,_]=Q.useState(!1),v;t[1]!==a||t[2]!==c||t[3]!==s||t[4]!==o||t[5]!==f?(v=e=>(0,$.jsxs)($.Fragment,{children:[s&&(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),s()},children:[(0,$.jsx)(Y,{name:`edit`,className:`h-4 w-4 mr-px`}),f(`settings.common.actions.rename`)]}),(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),c()},children:[(0,$.jsx)(Y,{name:`file-copy`,className:`h-4 w-4 mr-px`}),f(`settings.common.actions.duplicate`)]}),o&&(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),o()},children:[(0,$.jsx)(Y,{name:`restart`,className:`h-4 w-4 mr-px`}),f(`settings.common.actions.reset`)]}),a&&(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),a()},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(Y,{name:`delete-bin`,className:`h-4 w-4 mr-px`}),f(`settings.common.actions.delete`)]})]}),t[1]=a,t[2]=c,t[3]=s,t[4]=o,t[5]=f,t[6]=v):v=t[6];let y=v,b=r?`bg-interactive-selection`:`hover:bg-interactive-hover`,x;t[7]===b?x=t[8]:(x=K(`oc-settings-group-row group relative flex items-center transition-colors duration-150 select-none`,b),t[7]=b,t[8]=x);let S;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(S=h?void 0:e=>{e.preventDefault(),_(!0)},t[9]=S):S=t[9];let C;t[10]===x?C=t[11]:(C=(0,$.jsx)(`div`,{className:x,onContextMenu:S}),t[10]=x,t[11]=C);let w;t[12]===n.name?w=t[13]:(w=Da(n.name),t[12]=n.name,t[13]=w);let T;t[14]===w?T=t[15]:(T=(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate text-foreground`,children:w}),t[14]=w,t[15]=T);let E;t[16]!==n.mode||t[17]!==l?(E=l(n.mode),t[16]=n.mode,t[17]=l,t[18]=E):E=t[18];let D;t[19]!==n||t[20]!==p.disabledOverride||t[21]!==p.scope||t[22]!==f?(D=(p.scope||jt(n)||p.disabledOverride)&&(0,$.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:p.disabledOverride?f(`settings.agents.sidebar.badge.disabled`):jt(n)?f(`settings.agents.sidebar.badge.system`):p.scope===`project`?f(`settings.common.scope.project`):f(`settings.common.scope.global`)}),t[19]=n,t[20]=p.disabledOverride,t[21]=p.scope,t[22]=f,t[23]=D):D=t[23];let O;t[24]!==D||t[25]!==T||t[26]!==E?(O=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[T,E,D]}),t[24]=D,t[25]=T,t[26]=E,t[27]=O):O=t[27];let k;t[28]===n.description?k=t[29]:(k=n.description&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/60 truncate leading-tight`,children:n.description}),t[28]=n.description,t[29]=k);let A;t[30]!==i||t[31]!==O||t[32]!==k?(A=(0,$.jsxs)(`button`,{onClick:i,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-primary/50`,tabIndex:0,children:[O,k]}),t[30]=i,t[31]=O,t[32]=k,t[33]=A):A=t[33];let j;t[34]===d?j=t[35]:(j=e=>{e&&_(!1),d(e)},t[34]=d,t[35]=j);let M;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(hr,{asChild:!0,children:(0,$.jsx)(q,{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:(0,$.jsx)(Y,{name:`more-2`,className:`h-3.5 w-3.5`})})}),t[36]=M):M=t[36];let N;t[37]===y?N=t[38]:(N=(0,$.jsx)($n,{align:`end`,className:`w-fit min-w-20`,children:y(Gn)}),t[37]=y,t[38]=N);let P;t[39]!==u||t[40]!==j||t[41]!==N?(P=(0,$.jsxs)(lr,{open:u,onOpenChange:j,children:[M,N]}),t[39]=u,t[40]=j,t[41]=N,t[42]=P):P=t[42];let F;t[43]!==A||t[44]!==P?(F=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:[A,P]}),t[43]=A,t[44]=P,t[45]=F):F=t[45];let I;t[46]!==F||t[47]!==C?(I=(0,$.jsx)(Ti,{render:C,children:F}),t[46]=F,t[47]=C,t[48]=I):I=t[48];let L;t[49]===y?L=t[50]:(L=(0,$.jsx)(Ei,{className:`w-fit min-w-20`,children:y(Di)}),t[49]=y,t[50]=L);let R;return t[51]!==g||t[52]!==I||t[53]!==L?(R=(0,$.jsxs)(Oi,{open:g,onOpenChange:_,children:[I,L]}),t[51]=g,t[52]=I,t[53]=L,t[54]=R):R=t[54],R};function Ua(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Wa(e){return typeof e==`string`&&e.length>0?e:void 0}function Ga(e){let t=Ua(e)?e:null,n=t&&Array.isArray(t.data)?t.data:Array.isArray(e)?e:null;if(!n)throw Error(`permission saved: expected list payload`);return n.map(e=>{if(!Ua(e))throw Error(`permission saved: invalid rule`);let t=Wa(e.id),n=Wa(e.projectID),r=Wa(e.action),i=Wa(e.resource);if(!t||!n||!r||!i)throw Error(`permission saved: invalid rule`);return{id:t,projectID:n,action:r,resource:i}})}async function Ka(e,t){if(!e.trim())throw Error(`permission saved: directory required`);t?.throwIfAborted();let n=await me.getApiClient().location.get({location:{directory:e}},{signal:t});t?.throwIfAborted();let r=Wa(n?.project?.id);if(!r)throw Error(`permission saved: project ID required`);return r}async function qa(e){e.signal?.throwIfAborted();let t=await me.getApiClient().permission.saved.list({projectID:e.projectID??void 0},{signal:e.signal});e.signal?.throwIfAborted();let n=Ga(t);if(e.projectID&&n.some(t=>t.projectID!==e.projectID))throw Error(`permission saved: project mismatch`);return n}async function Ja(e){e.signal?.throwIfAborted(),await me.getApiClient().permission.saved.remove({id:e.id},{signal:e.signal})}function Ya(e){if(e.transport!==i()||e.generation!==o())throw Error(`Saved permission runtime changed`)}var Xa=e=>Ee({queryKey:[e.transport,e.generation,`saved-permission-project`,e.directory],queryFn:async({signal:t})=>{Ya(e);let n=await Ka(e.directory,t);return Ya(e),n},retry:!1}),Za=e=>Ee({queryKey:[e.transport,e.generation,`saved-permissions`,e.directory,e.projectID],queryFn:async({signal:t})=>{if(Ya(e),!e.directory||!e.projectID)throw Error(`Saved permission scope required`);let n=await qa({projectID:e.projectID,signal:t});return Ya(e),n},retry:!1});function Qa(e){let t=(0,Fi.c)(3),n=(0,Q.useSyncExternalStore)(r,o,o),a={transport:i(),generation:n,directory:e.trim()},s=De({...Xa(a),enabled:!!a.directory}),c={...a,projectID:s.data??``},l=Za(c),u=!!(a.directory&&s.data)&&!s.isError,d;return t[0]!==l||t[1]!==u?(d={...l,enabled:u},t[0]=l,t[1]=u,t[2]=d):d=t[2],{project:s,list:De(d),scope:c}}async function $a(e,t,n){Ya(t);let r=Za(t).queryKey;if(!e.getQueryData(r)?.some(e=>e.id===n&&e.projectID===t.projectID))throw Error(`Saved permission is outside the captured scope`);await Ja({id:n}),t.transport===i()&&t.generation===o()&&(await e.cancelQueries({queryKey:r,exact:!0}),t.transport===i()&&t.generation===o()&&e.setQueryData(r,e=>e?.filter(e=>e.id!==n)))}var eo=()=>{let e=(0,Fi.c)(49),{t}=Ne(),n=pe(to),r=we(),{project:i,list:a,scope:o}=Qa(n),s;e[0]===r?s=e[1]:(s={mutationFn:e=>{let{scope:t,id:n}=e;return $a(r,t,n)}},e[0]=r,e[1]=s);let c=Te(s),l;e[2]!==c.variables||e[3]!==o?(l=c.variables&&JSON.stringify(c.variables.scope)===JSON.stringify(o),e[2]=c.variables,e[3]=o,e[4]=l):l=e[4];let u=l,d=i.isError||a.isError,f=!!o.directory&&(i.isPending||a.isPending)&&!d,p;e[5]===a.data?p=e[6]:(p=a.data??[],e[5]=a.data,e[6]=p);let m=p,h;e[7]!==c||e[8]!==o?(h=e=>c.mutate({scope:o,id:e}),e[7]=c,e[8]=o,e[9]=h):h=e[9];let g=je(h),_;e[10]!==a||e[11]!==i?(_=()=>{i.isError?i.refetch():a.refetch()},e[10]=a,e[11]=i,e[12]=_):_=e[12];let v=je(_);if(!d&&!f&&m.length===0)return null;let y;e[13]===t?y=e[14]:(y=t(`settings.permissions.saved.title`),e[13]=t,e[14]=y);let b;e[15]!==f||e[16]!==t?(b=f?t(`common.loading`):void 0,e[15]=f,e[16]=t,e[17]=b):b=e[17];let x;e[18]!==d||e[19]!==a.isFetching||e[20]!==i.isFetching||e[21]!==v||e[22]!==t?(x=d&&(0,$.jsx)(Br,{label:(0,$.jsx)(`span`,{role:`alert`,children:t(`settings.permissions.saved.loadFailed`)}),children:(0,$.jsx)(q,{type:`button`,variant:`ghost`,size:`xs`,onClick:v,disabled:i.isFetching||a.isFetching,children:t(`settings.permissions.saved.retry`)})}),e[18]=d,e[19]=a.isFetching,e[20]=i.isFetching,e[21]=v,e[22]=t,e[23]=x):x=e[23];let S;e[24]!==c.isError||e[25]!==u||e[26]!==t?(S=u&&c.isError&&(0,$.jsx)(Br,{label:(0,$.jsx)(`span`,{role:`alert`,children:t(`settings.permissions.saved.deleteFailed`)}),children:null}),e[24]=c.isError,e[25]=u,e[26]=t,e[27]=S):S=e[27];let C;if(e[28]!==c.isPending||e[29]!==d||e[30]!==g||e[31]!==m||e[32]!==f||e[33]!==u||e[34]!==t){let n;e[36]!==c.isPending||e[37]!==d||e[38]!==g||e[39]!==f||e[40]!==u||e[41]!==t?(n=e=>(0,$.jsx)(Br,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:e.action}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground font-mono`,children:e.resource})]}),children:(0,$.jsx)(q,{type:`button`,variant:`ghost`,size:`xs`,disabled:d||f||!!(u&&c.isPending),onClick:()=>void g(e.id),children:t(`settings.permissions.saved.delete`)})},e.id),e[36]=c.isPending,e[37]=d,e[38]=g,e[39]=f,e[40]=u,e[41]=t,e[42]=n):n=e[42],C=m.map(n),e[28]=c.isPending,e[29]=d,e[30]=g,e[31]=m,e[32]=f,e[33]=u,e[34]=t,e[35]=C}else C=e[35];let w;return e[43]!==y||e[44]!==b||e[45]!==x||e[46]!==S||e[47]!==C?(w=(0,$.jsx)(`div`,{"data-settings-item":`permissions.saved`,className:`mb-6`,children:(0,$.jsxs)(Z,{label:y,description:b,children:[x,S,C]})}),e[43]=y,e[44]=b,e[45]=x,e[46]=S,e[47]=C,e[48]=w):w=e[48],w};function to(e){return e.currentDirectory}var no=[`*`,`read`,`edit`,`glob`,`grep`,`shell`,`subagent`,`skill`,`webfetch`,`websearch`,`question`,`external_directory`,`execute`,`browser`],ro={"*":`settings.agents.page.permissions.defaultLabel`,shell:`settings.agents.page.permissions.shell`,bash:`settings.agents.page.permissions.shell`,subagent:`settings.agents.page.permissions.subagent`,task:`settings.agents.page.permissions.subagent`,edit:`settings.agents.page.permissions.edit`,write:`settings.agents.page.permissions.edit`,patch:`settings.agents.page.permissions.edit`,apply_patch:`settings.agents.page.permissions.edit`,multiedit:`settings.agents.page.permissions.edit`,external_directory:`settings.agents.page.permissions.externalDirectory`,question:`settings.agents.page.permissions.question`,read:`settings.agents.page.permissions.read`,glob:`settings.agents.page.permissions.glob`,grep:`settings.agents.page.permissions.grep`,skill:`settings.agents.page.permissions.skill`,webfetch:`settings.agents.page.permissions.webfetch`,websearch:`settings.agents.page.permissions.websearch`,execute:`settings.agents.page.permissions.execute`,browser:`settings.agents.page.permissions.browser`,session_rename:`chat.tools.display.session_rename`,session_move:`chat.tools.display.session_move`},io=e=>e===`allow`||e===`ask`||e===`deny`,ao=(e,t)=>`${e}::${t}`,oo=e=>e===`bash`?`shell`:e===`task`?`subagent`:e===`write`||e===`patch`?`edit`:e,so=e=>{let t=new Map;for(let n of e){let e=oo(n.permission);!e||e===`invalid`||n.pattern&&io(n.action)&&t.set(ao(e,n.pattern),{permission:e,pattern:n.pattern,action:n.action})}return Array.from(t.values())},co=e=>{let t=new Map;for(let n of so(e))t.set(ao(n.permission,n.pattern),n);return t},lo=e=>[...e].sort((e,t)=>{let n=e.permission.localeCompare(t.permission);return n===0?e.pattern.localeCompare(t.pattern):n}),uo=(e,t)=>{let n=lo(so(e)),r=lo(so(t));return n.length===r.length&&n.every((e,t)=>{let n=r[t];return e.permission===n.permission&&e.pattern===n.pattern&&e.action===n.action})},fo=e=>e.find(e=>e.permission===`*`&&e.pattern===`*`)?.action??`allow`,po=(e,t)=>so(e).filter(e=>e.permission!==`*`||e.pattern!==`*`).filter(e=>e.pattern!==`*`||e.action!==t),mo=e=>{if(Array.isArray(e))return so(e.flatMap(e=>!e||typeof e!=`object`||typeof e.action!=`string`||typeof e.resource!=`string`||!io(e.effect)?[]:[{permission:e.action,pattern:e.resource,action:e.effect}]));if(io(e))return[{permission:`*`,pattern:`*`,action:e}];if(!e||typeof e!=`object`||Array.isArray(e))return[];let t=[];for(let[n,r]of Object.entries(e))if(n!==`__originalKeys`){if(io(r)){t.push({permission:n,pattern:`*`,action:r});continue}if(r&&typeof r==`object`&&!Array.isArray(r))for(let[e,i]of Object.entries(r))io(i)&&t.push({permission:n,pattern:e,action:i})}return t},ho=()=>{let{t:e}=Ne(),{selectedAgentName:t,getAgentByName:n,createAgent:r,updateAgent:i,agentDraft:a,setAgentDraft:o}=ft(ue(e=>({selectedAgentName:e.selectedAgentName,getAgentByName:e.getAgentByName,createAgent:e.createAgent,updateAgent:e.updateAgent,agentDraft:e.agentDraft,setAgentDraft:e.setAgentDraft}))),{data:s=[]}=ot(),c=t?n(t):null,u=!!(a&&a.name===t&&!c),[d,f]=Q.useState(``),[p,m]=Q.useState(`user`),[h,g]=Q.useState(``),[_,v]=Q.useState(`subagent`),[y,b]=Q.useState(``),[x,S]=Q.useState(``),[C,w]=Q.useState(!1),[T,E]=Q.useState(`allow`),[D,O]=Q.useState([]),[k,A]=Q.useState([]),[j,M]=Q.useState(``),[N,P]=Q.useState(`*`),[F,I]=Q.useState(!1),[L,R]=Q.useState(!1),z=Q.useRef(null),B=pe(e=>e.currentDirectory??null),[ee,V]=Q.useState([]),H=ct(e=>e.permission);Q.useEffect(()=>{let e=!1;return(async()=>{let t=await me.listToolIds({directory:B});if(e)return;let n=new Set([`write`,`patch`,`multiedit`]),r=t.map(e=>typeof e==`string`?e.trim():``).filter(Boolean).filter(e=>e!==`*`).filter(e=>e!==`invalid`).filter(e=>!n.has(e));V(Array.from(new Set(r)).sort((e,t)=>e.localeCompare(t)))})(),()=>{e=!0}},[B]);let U=Q.useMemo(()=>{let e=new Set;for(let t of s){let n=so(mo(t.permissions??t.permission));for(let t of n)t.permission&&t.permission!==`*`&&t.permission!==`invalid`&&e.add(t.permission)}for(let t of Object.values(H))for(let n of t){let t=n.permission?.trim();t&&t!==`invalid`&&e.add(t)}for(let t of ee)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[s,H,ee]),te=Q.useMemo(()=>co(D),[D]),W=Q.useMemo(()=>co(k),[k]),ne=e=>W.get(ao(e,`*`))?.action,re=e=>k.filter(t=>t.permission===e&&t.pattern!==`*`).sort((e,t)=>e.pattern.localeCompare(t.pattern)),ie=Q.useMemo(()=>{let e=new Set;for(let t of no)e.add(t);for(let t of U)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[U]),ae=e=>{let t=e===`*`?T:ne(e)??T,n=re(e),r=n.reduce((e,t)=>(e[t.action]=(e[t.action]??0)+1,e),{allow:0,ask:0,deny:0}),i=[`allow`,`ask`,`deny`].filter(e=>r[e]>0).map(e=>`${r[e]} ${e}`).join(`, `);return{defaultAction:t,patternRulesCount:n.length,patternSummary:i,hasDefaultHint:!1}},oe=t=>e(t===`allow`?`settings.common.permission.allow`:t===`deny`?`settings.common.permission.deny`:`settings.common.permission.ask`),se=t=>t===`global`?e(`settings.common.scope.global`):oe(t),ce=Q.useMemo(()=>{let e=new Set;for(let t of no)e.add(t);for(let t of U)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[U]),le=(e,t,n)=>{A(r=>{let i=co(r);return i.set(ao(e,t),{permission:e,pattern:t,action:n}),Array.from(i.values())})},de=(e,t)=>{A(n=>{let r=co(n);return r.delete(ao(e,t)),Array.from(r.values())})},fe=(e,t)=>{let n=te.get(ao(e,t));if(n){le(e,t,n.action);return}de(e,t)},he=(e,t,n)=>{le(e,t,n)},ge=e=>{E(e),A(t=>t.filter(t=>t.pattern!==`*`||t.action!==e))},_e=t=>{let n=j.trim();if(!n){J.error(e(`settings.agents.page.toast.permissionNameRequired`));return}let r=N.trim()||`*`;if(n===`*`&&r===`*`){ge(t),M(``),P(`*`);return}r===`*`&&n!==`*`&&t===T?de(n,`*`):le(n,r,t),M(``),P(`*`)},ve=t=>{let n=ro[t];return n?e(n):t.split(/[_-]+/g).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)};Q.useEffect(()=>{M(``),P(`*`);let e=e=>{let t=so(e),n=fo(t),r=po(t,n);return E(n),O(r),A(r),{global:n,rules:r}};if(u&&a){let t=a.name||``,n=a.scope||`user`,r=a.description||``,i=a.mode||`subagent`,o=a.model||``,s=a.system||``;f(t),m(n),g(r),v(i),b(o),S(s),w(!1);let c=e(mo(a.permissions));z.current={draftName:t,draftScope:n,description:r,mode:i,model:o,system:s,globalPermission:c.global,permissionRules:c.rules};return}if(c&&t===c.name){let t=c,n=c.description||``,r=c.mode||`subagent`,i=wa(c),a=t.scope===`project`?`project`:`user`;m(a),g(n),v(r),b(i),S(``),w(!1);let o=e(mo(t.permissions??c.permission));z.current={draftName:``,draftScope:a,description:n,mode:r,model:i,system:``,globalPermission:o.global,permissionRules:o.rules}}},[a,u,c,t]),Q.useEffect(()=>{if(!t||u)return;let e=new AbortController,n=Qe();return l(`/api/config/agents/${encodeURIComponent(t)}/config`,{signal:e.signal,headers:n?{"x-opencode-directory":n}:{}}).then(async t=>{if(!t.ok||e.signal.aborted)return;let n=Ca((await t.json()).config);e.signal.aborted||n===void 0||!z.current||(S(n),z.current={...z.current,system:n})}).catch(()=>void 0),()=>e.abort()},[u,t]);let ye=Q.useMemo(()=>{let e=z.current;return e?!!(u&&d!==e.draftName||p!==e.draftScope||h!==e.description||_!==e.mode||y!==e.model||x!==e.system||T!==e.globalPermission||!uo(k,e.permissionRules)):!1},[h,d,p,T,u,_,y,k,x]),G=(!u&&c?c.document:void 0)?.dropped?.map(e=>e.key)??[],be=!L&&ye;return t?(0,$.jsx)(Cr,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-page-content mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[(0,$.jsx)(eo,{}),(0,$.jsxs)(`div`,{className:`mb-4 flex items-center justify-between gap-4`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground truncate`,children:u?e(`settings.agents.page.title.new`):Da(t??``)}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:e(u?`settings.agents.page.subtitle.new`:`settings.agents.page.subtitle.edit`)})]}),(0,$.jsx)(q,{type:`button`,onClick:async()=>{let n=u?d.trim().replace(/\s+/g,`-`):t?.trim();if(!n){J.error(e(`settings.agents.sidebar.toast.agentNameRequired`));return}if(u&&s.some(e=>e.name===n)){J.error(e(`settings.agents.sidebar.toast.agentExists`));return}R(!0);try{let t={description:h,mode:_,model:y,system:x,globalPermission:T,permissionRules:k},s=z.current,c=s?{description:s.description,mode:s.mode,model:s.model,system:s.system,globalPermission:s.globalPermission,permissionRules:s.permissionRules}:null,l=Sa({isNewAgent:u,agentName:n,draftScope:p,initialScope:s?.draftScope,draftHasExplicitPermission:u&&a?.permissions!==void 0,current:t,initial:c,confirmDrop:C}),d;u?(d=await r(l),d.ok&&o(null)):d=await i(n,l),d.ok?d.requiresManualRestart?J.warning(e(`settings.agents.page.toast.savedManualRestart`)):J.success(e(`settings.agents.page.toast.savedNextRequest`)):J.error(e(u?`settings.agents.page.toast.createFailed`:`settings.agents.page.toast.updateFailed`))}catch(t){console.error(`Error saving agent:`,t);let n=t instanceof Error&&t.message?t.message:e(`settings.agents.page.toast.saveUnexpectedError`);J.error(n)}finally{R(!1)}},disabled:!be,children:e(L?`settings.common.actions.saving`:`settings.common.actions.saveChanges`)})]}),G.length>0?(0,$.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.agents.page.legacy.dropped`,{fields:G.join(`, `)})}),(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-meta text-foreground`,children:[(0,$.jsx)(nn,{checked:C,onChange:w,ariaLabel:e(`settings.agents.page.legacy.confirmDrop`)}),e(`settings.agents.page.legacy.confirmDrop`)]})]}):null,(0,$.jsxs)(Z,{label:e(`settings.agents.page.section.identityRole`),children:[(0,$.jsx)(Br,{itemId:`agents.scope`,label:e(`settings.agents.page.field.scope`),children:(0,$.jsxs)(un,{value:p,onValueChange:e=>m(e),children:[(0,$.jsx)(sn,{className:`w-fit min-w-[100px]`,children:(0,$.jsx)(fn,{placeholder:e(`settings.agents.page.field.scopePlaceholder`),children:t=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Y,{name:t===`project`?`folder`:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(t===`project`?`settings.common.scope.project`:`settings.common.scope.global`)})]})})}),(0,$.jsxs)(cn,{align:`end`,children:[(0,$.jsx)(an,{value:`user`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Y,{name:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.global`)})]})}),(0,$.jsx)(an,{value:`project`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Y,{name:`folder`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.project`)})]})})]})]})}),u&&(0,$.jsx)(Br,{itemId:`agents.name`,label:e(`settings.agents.page.field.agentName`),children:(0,$.jsxs)(`div`,{className:`flex items-center`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-muted-foreground mr-1`,children:`@`}),(0,$.jsx)(pn,{value:d,onChange:e=>f(e.target.value),placeholder:e(`settings.agents.page.field.agentNamePlaceholder`),className:`h-7 w-40 px-2`})]})}),(0,$.jsx)(Br,{label:e(`settings.common.field.description`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(wr,{embedded:!0,value:h,onChange:e=>g(e.target.value),placeholder:e(`settings.agents.page.field.descriptionPlaceholder`),rows:2,className:`w-full resize-none min-h-[60px] bg-transparent`})}),(0,$.jsx)(Br,{itemId:`agents.mode`,className:`oc-settings-agents-mode-row`,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:e(`settings.agents.page.field.mode`)}),(0,$.jsxs)(gn,{children:[(0,$.jsx)(mn,{asChild:!0,children:(0,$.jsx)(Y,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(hn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.agents.page.field.modeTooltip`)})]})]}),children:(0,$.jsxs)(`div`,{className:`flex flex-nowrap items-center justify-end gap-1`,children:[(0,$.jsx)(q,{variant:`chip`,size:`xs`,"aria-pressed":_===`primary`,onClick:()=>v(`primary`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.primary`)}),(0,$.jsx)(q,{variant:`chip`,size:`xs`,"aria-pressed":_===`subagent`,onClick:()=>v(`subagent`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.subagent`)}),(0,$.jsx)(q,{variant:`chip`,size:`xs`,"aria-pressed":_===`all`,onClick:()=>v(`all`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.all`)})]})})]}),(0,$.jsx)(Z,{label:e(`settings.agents.page.section.modelParameters`),children:(0,$.jsx)(Br,{itemId:`agents.model`,label:e(`settings.agents.page.field.overrideModel`),children:(0,$.jsx)(En,{providerId:Ta(y)?.providerId??``,modelId:Ta(y)?.modelId??``,variant:Ta(y)?.variant??``,onChange:(e,t,n)=>{b(e&&t?n?`${e}/${t}#${n}`:`${e}/${t}`:``)},className:`oc-settings-inline-value`})})}),(0,$.jsx)(Gr,{itemId:`agents.system-prompt`,label:e(`settings.agents.page.section.systemPrompt`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(wr,{embedded:!0,value:x,onChange:e=>S(e.target.value),placeholder:e(`settings.agents.page.field.systemPromptPlaceholder`),rows:8,className:`w-full font-mono typography-meta min-h-[120px] max-h-[60vh] bg-transparent resize-y`})}),(0,$.jsx)(`div`,{"data-settings-item":`agents.permissions`,children:(0,$.jsx)(Z,{label:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsx)(`span`,{children:e(`settings.agents.page.section.toolPermissions`)}),(0,$.jsx)(q,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>I(e=>!e),children:e(F?`settings.agents.page.permissions.hideEditor`:`settings.agents.page.permissions.advancedEditor`)})]}),children:F?(0,$.jsxs)(`div`,{className:`space-y-6 p-2`,children:[(0,$.jsx)(Br,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:e(`settings.agents.page.permissions.globalDefault`)}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 font-mono`,children:`*`})]}),children:(0,$.jsxs)(un,{value:T,onValueChange:e=>ge(e),children:[(0,$.jsx)(sn,{className:`w-[100px]`,children:(0,$.jsx)(fn,{children:oe(T)})}),(0,$.jsxs)(cn,{children:[(0,$.jsx)(an,{value:`allow`,children:e(`settings.common.permission.allow`)}),(0,$.jsx)(an,{value:`ask`,children:e(`settings.common.permission.ask`)}),(0,$.jsx)(an,{value:`deny`,children:e(`settings.common.permission.deny`)})]})]})}),(0,$.jsx)(`div`,{className:`space-y-4`,children:ie.filter(e=>e!==`*`).map(t=>{let n=ve(t),{defaultAction:r,patternRulesCount:i}=ae(t),a=ne(t),o=a??`global`,s=re(t),c=[`allow`,`ask`,`deny`].filter(e=>e!==T);return(0,$.jsxs)(`div`,{className:`border-t border-[var(--surface-subtle)] pt-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between py-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:n}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 font-mono`,children:t})]}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:i>0?e(`settings.agents.page.permissions.globalSummary`,{summary:r}):r})]}),(0,$.jsxs)(`div`,{className:`space-y-1 pl-2 mt-1`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 py-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:e(`settings.agents.page.permissions.pattern`)}),(0,$.jsx)(`span`,{className:`typography-micro font-mono text-foreground bg-[var(--surface-muted)] px-1 rounded`,children:`*`}),a&&(0,$.jsx)(q,{size:`sm`,variant:`ghost`,onClick:()=>fe(t,`*`),className:`px-1.5 py-0 h-5`,children:(0,$.jsx)(Y,{name:`subtract`,className:`h-3.5 w-3.5 text-muted-foreground hover:text-foreground`})})]}),(0,$.jsxs)(un,{value:o,onValueChange:e=>{if(e===`global`){de(t,`*`);return}le(t,`*`,e)},children:[(0,$.jsx)(sn,{className:`w-[90px]`,children:(0,$.jsx)(fn,{children:se(o)})}),(0,$.jsxs)(cn,{children:[(0,$.jsx)(an,{value:`global`,children:e(`settings.common.scope.global`)}),c.map(e=>(0,$.jsx)(an,{value:e,className:`capitalize`,children:oe(e)},e))]})]})]}),s.map(t=>{let n=ao(t.permission,t.pattern),r=te.get(n),i=!r,a=!!(r&&r.action!==t.action);return(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 py-0.5 border-t border-[var(--surface-subtle)]`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:e(`settings.agents.page.permissions.pattern`)}),(0,$.jsx)(`span`,{className:`typography-micro font-mono text-foreground bg-[var(--surface-muted)] px-1 rounded`,children:t.pattern}),i&&(0,$.jsx)(`span`,{className:`typography-micro text-[var(--status-success)]`,children:e(`settings.common.badge.new`)}),a&&(0,$.jsx)(`span`,{className:`typography-micro text-[var(--status-warning)]`,children:e(`settings.common.badge.modified`)}),(i||a)&&(0,$.jsx)(q,{size:`sm`,variant:`ghost`,onClick:()=>i?de(t.permission,t.pattern):fe(t.permission,t.pattern),className:`px-1.5 py-0 h-5`,children:(0,$.jsx)(Y,{name:`subtract`,className:`h-3.5 w-3.5 text-muted-foreground hover:text-foreground`})})]}),(0,$.jsxs)(un,{value:t.action,onValueChange:e=>he(t.permission,t.pattern,e),children:[(0,$.jsx)(sn,{className:`w-[90px]`,children:(0,$.jsx)(fn,{children:oe(t.action)})}),(0,$.jsxs)(cn,{children:[(0,$.jsx)(an,{value:`allow`,children:e(`settings.common.permission.allow`)}),(0,$.jsx)(an,{value:`ask`,children:e(`settings.common.permission.ask`)}),(0,$.jsx)(an,{value:`deny`,children:e(`settings.common.permission.deny`)})]})]})]},n)})]})]},t)})}),(0,$.jsxs)(`div`,{className:`border-t border-[var(--surface-subtle)] pt-3`,children:[(0,$.jsx)(`h4`,{className:`typography-ui-label text-foreground mb-2`,children:e(`settings.agents.page.permissions.addCustomRule`)}),(0,$.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-end sm:items-center gap-2`,children:[(0,$.jsxs)(un,{value:j,onValueChange:M,children:[(0,$.jsx)(sn,{className:`w-full sm:w-[160px]`,children:j?(0,$.jsx)(`span`,{className:`truncate`,children:ve(j)}):(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e(`settings.agents.page.permissions.permissionPlaceholder`)})}),(0,$.jsx)(cn,{children:ce.map(e=>(0,$.jsx)(an,{value:e,children:(0,$.jsx)(`div`,{className:`flex items-center justify-between gap-2 w-full`,children:(0,$.jsx)(`span`,{children:ve(e)})})},e))})]}),(0,$.jsx)(pn,{value:N,onChange:e=>P(e.target.value),placeholder:e(`settings.agents.page.permissions.patternPlaceholder`),className:`h-7 flex-1 font-mono text-xs`}),(0,$.jsxs)(`div`,{className:`flex gap-1`,children:[(0,$.jsx)(q,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>_e(`allow`),children:e(`settings.common.permission.allow`)}),(0,$.jsx)(q,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>_e(`ask`),children:e(`settings.common.permission.ask`)}),(0,$.jsx)(q,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>_e(`deny`),children:e(`settings.common.permission.deny`)})]})]})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground px-3 pt-2`,children:e(`settings.agents.page.permissions.lastMatchHint`)}),In(_r(k)).map((e,t)=>(0,$.jsx)(Br,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground font-mono`,children:t+1}),(0,$.jsx)(`span`,{children:e.action}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 font-mono`,children:e.resource})]}),children:(0,$.jsx)(`span`,{className:K(`typography-micro capitalize px-1.5 py-0.5 rounded`,e.effect===`allow`?`text-[var(--status-success)] bg-[var(--status-success)]/10`:e.effect===`deny`?`text-[var(--status-error)] bg-[var(--status-error)]/10`:`text-[var(--status-warning)] bg-[var(--status-warning)]/10`),children:e.effect})},`${e.action}::${e.resource}::${t}`))]})})})]})}):(0,$.jsx)(Cr,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-page-content mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[(0,$.jsx)(eo,{}),(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`robot-2`,className:`mx-auto mb-3 h-12 w-12 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.agents.page.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:e(`settings.agents.page.empty.description`)})]})})]})})},go=e=>{let t=(0,Fi.c)(23),{title:n,metadata:r,selected:i,onSelect:a,icon:o,actions:s,className:c}=e,l=i!==void 0&&i,u=s&&s.length>0,d=l?`bg-interactive-selection`:`hover:bg-interactive-hover`,f;t[0]!==c||t[1]!==d?(f=K(`oc-settings-group-row group relative flex items-center transition-colors duration-150`,d,c),t[0]=c,t[1]=d,t[2]=f):f=t[2];let p;t[3]===n?p=t[4]:(p=(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate text-foreground`,children:n}),t[3]=n,t[4]=p);let m;t[5]!==o||t[6]!==p?(m=(0,$.jsxs)(`div`,{className:`flex max-w-full min-w-0 items-center gap-1.5`,children:[o,p]}),t[5]=o,t[6]=p,t[7]=m):m=t[7];let h;t[8]===r?h=t[9]:(h=r&&(0,$.jsx)(`div`,{className:`max-w-full truncate typography-micro leading-tight text-muted-foreground/60`,children:r}),t[8]=r,t[9]=h);let g;t[10]!==a||t[11]!==m||t[12]!==h?(g=(0,$.jsxs)(`button`,{onClick:a,"data-mobile-press-feedback":`soft`,className:`flex min-w-0 flex-1 self-stretch flex-col justify-center gap-0 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,tabIndex:0,children:[m,h]}),t[10]=a,t[11]=m,t[12]=h,t[13]=g):g=t[13];let _;t[14]!==s||t[15]!==u?(_=u&&(0,$.jsxs)(lr,{children:[(0,$.jsx)(hr,{asChild:!0,children:(0,$.jsx)(q,{size:`icon`,variant:`ghost`,className:`h-6 w-6 flex-shrink-0 -mr-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100`,children:(0,$.jsx)(Y,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)($n,{align:`end`,className:`w-fit min-w-20`,children:s.map(_o)})]}),t[14]=s,t[15]=u,t[16]=_):_=t[16];let v;t[17]!==g||t[18]!==_?(v=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 self-stretch items-center`,children:[g,_]}),t[17]=g,t[18]=_,t[19]=v):v=t[19];let y;return t[20]!==f||t[21]!==v?(y=(0,$.jsx)(`div`,{className:f,children:v}),t[20]=f,t[21]=v,t[22]=y):y=t[22],y};function _o(e){let t=e.icon;return(0,$.jsxs)(Gn,{onClick:t=>{t.stopPropagation(),e.onClick()},className:K(e.destructive&&`text-destructive focus:text-destructive`),children:[t&&(0,$.jsx)(Y,{name:t,className:`h-4 w-4 mr-px`}),e.label]},e.label)}var vo=e=>{let t=(0,Fi.c)(8),{header:n,footer:r,children:i,className:a,variant:o}=e,s=o===void 0?`sidebar`:o,c=M(),l=s===`background`||c?`bg-background`:`bg-sidebar`,u;t[0]!==l||t[1]!==a?(u=K(`oc-settings-page-content h-full overflow-y-auto p-3`,l,a),t[0]=l,t[1]=a,t[2]=u):u=t[2];let d;return t[3]!==i||t[4]!==r||t[5]!==n||t[6]!==u?(d=(0,$.jsxs)(`div`,{className:u,children:[n,i,r]}),t[3]=i,t[4]=r,t[5]=n,t[6]=u,t[7]=d):d=t[7],d},yo=`__managed_workspace__`,bo=`__current_workspace__`,xo=`默认助理`,So=()=>{let e=Rt.getState(),t=e.settingsDefaultModel??(e.currentModelId?void 0:e.opencodeDefaultModel);if(t){let n=yt(t);if(n?.providerId&&n?.modelId)return{providerID:n.providerId,modelID:n.modelId,variant:n.variant??e.settingsDefaultVariant}}if(e.currentProviderId&&e.currentModelId)return{providerID:e.currentProviderId,modelID:e.currentModelId,variant:e.currentVariant};let n=e.providers;for(let e of n){let t=e.models;if(Array.isArray(t)&&t.length>0){let n=t[0];if(n?.id)return{providerID:e.id,modelID:n.id}}}return null},Co=(e=``)=>{let t=So();return{enabled:!0,name:e,defaultPrompt:``,workspacePath:null,providerID:t?.providerID??``,modelID:t?.modelID??``,variant:t?.variant??null}},wo=e=>({enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:e.providerID,modelID:e.modelID,variant:e.variant}),To=e=>({enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:e.providerID,modelID:e.modelID,variant:e.variant??null}),Eo=e=>e.label?.trim()||e.path.replace(/[\\/]+$/,``).split(/[\\/]/).filter(Boolean).at(-1)||e.path,Do=e=>{let t=Array.isArray(e.schedule.times)?e.schedule.times:e.schedule.time?[e.schedule.time]:[];return Array.from(new Set(t.filter(e=>/^([01]\d|2[0-3]):([0-5]\d)$/.test(e)))).sort((e,t)=>e.localeCompare(t))},Oo=e=>!!e&&typeof e==`object`&&!Array.isArray(e),ko=e=>{if(!Oo(e)||!Oo(e.schedule)||!Oo(e.execution)||!Oo(e.state))return!1;let t=e.schedule.times===void 0||Array.isArray(e.schedule.times)&&e.schedule.times.every(e=>typeof e==`string`),n=e.schedule.weekdays===void 0||Array.isArray(e.schedule.weekdays)&&e.schedule.weekdays.every(e=>typeof e==`number`),r=e.state.lastStatus===void 0||e.state.lastStatus===`idle`||e.state.lastStatus===`running`||e.state.lastStatus===`success`||e.state.lastStatus===`error`;return typeof e.id==`string`&&typeof e.name==`string`&&typeof e.enabled==`boolean`&&(e.schedule.kind===`daily`||e.schedule.kind===`weekly`||e.schedule.kind===`once`||e.schedule.kind===`cron`)&&t&&n&&r&&typeof e.execution.prompt==`string`&&typeof e.execution.providerID==`string`&&typeof e.execution.modelID==`string`},Ao=(e,t)=>{let n=Do(e).join(`, `)||`—`,r=e=>t(e===0?`sessions.scheduledTasks.dialog.schedule.weekdayShort.sun`:e===1?`sessions.scheduledTasks.dialog.schedule.weekdayShort.mon`:e===2?`sessions.scheduledTasks.dialog.schedule.weekdayShort.tue`:e===3?`sessions.scheduledTasks.dialog.schedule.weekdayShort.wed`:e===4?`sessions.scheduledTasks.dialog.schedule.weekdayShort.thu`:e===5?`sessions.scheduledTasks.dialog.schedule.weekdayShort.fri`:e===6?`sessions.scheduledTasks.dialog.schedule.weekdayShort.sat`:`sessions.scheduledTasks.dialog.schedule.weekdayShort.unknown`);if(e.schedule.kind===`daily`)return e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.dailyWithTimezone`,{time:n,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.daily`,{time:n});if(e.schedule.kind===`weekly`){let i=(e.schedule.weekdays??[]).map(r).join(`, `);return e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.weeklyWithTimezone`,{days:i,time:n,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.weekly`,{days:i,time:n})}if(e.schedule.kind===`once`){let n=e.schedule.date?.trim()||t(`sessions.scheduledTasks.dialog.schedule.unknownDate`),r=e.schedule.time?.trim()||`—`;return e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.onceWithTimezone`,{date:n,time:r,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.once`,{date:n,time:r})}return e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.cronWithTimezone`,{cron:e.schedule.cron??``,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.cron`,{cron:e.schedule.cron??``})},jo={paused:{icon:`pause`,className:`text-muted-foreground`},idle:{icon:`pulse`,className:`text-muted-foreground`},running:{icon:`loader-4`,className:`text-[var(--status-warning)]`},success:{icon:`checkbox-circle`,className:`text-[var(--status-success)]`},error:{icon:`error-warning`,className:`text-[var(--status-error)]`}},Mo=e=>`${e.projectId}:${e.task.id}`,No=e=>{let t=(0,Fi.c)(31),{assistantID:n}=e,{t:r}=Ne(),i=Ze(n),a=i.isError,o=Xe(n,a),s=Be(a),c=new Set;for(let e of o.data?.messages??[])for(let t of e.cards)t.cardType===`schedule`&&c.add(`${t.projectID}:${t.taskID}`);let l=(i.data?.tasks??[]).flatMap(Lo),u;t[0]===i.data?.tasks?u=t[1]:(u=i.data?.tasks.some(Ro),t[0]=i.data?.tasks,t[1]=u);let d=!!u,f=(s.data?.tasks??[]).filter(e=>c.has(Mo(e))),p=[...i.data?l:a?f:[]].sort(zo),m=(s.data?.failedProjectIds??[]).some(e=>Array.from(c).some(t=>t.startsWith(`${e}:`))),h=i.isPending||a&&(o.isPending||s.isPending),g=i.isError||o.isError||s.isError||m||d,_=je(Bo),v;t[2]!==o||t[3]!==a||t[4]!==s||t[5]!==i?(v=()=>{i.refetch(),a&&(o.refetch(),s.refetch())},t[2]=o,t[3]=a,t[4]=s,t[5]=i,t[6]=v):v=t[6];let y=je(v),b=Z,x;t[7]===r?x=t[8]:(x=r(`assistants.settings.scheduledTasks.title`),t[7]=r,t[8]=x);let S;t[9]===r?S=t[10]:(S=r(`assistants.settings.scheduledTasks.title`),t[9]=r,t[10]=S);let C=h&&p.length===0?(0,$.jsx)(Br,{label:r(`common.loading`),children:(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin text-muted-foreground`})}):null,w;t[11]!==_||t[12]!==r?(w=e=>{let t=e.task.enabled?e.task.state?.lastStatus??`idle`:`paused`,n=jo[t],i=r(t===`paused`?`sessions.scheduledTasks.dialog.taskToggle.paused`:t===`running`?`sessions.scheduledTasks.dialog.status.running`:t===`success`?`sessions.scheduledTasks.dialog.status.success`:t===`error`?`sessions.scheduledTasks.dialog.status.error`:`sessions.scheduledTasks.dialog.status.idle`);return(0,$.jsxs)(Br,{className:`group relative cursor-pointer transition-colors hover:bg-interactive-hover`,label:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-lg bg-[var(--surface-muted)] text-muted-foreground`,children:(0,$.jsx)(Y,{name:`calendar`,className:`size-3.5`})}),(0,$.jsxs)(`span`,{className:`min-w-0`,children:[(0,$.jsx)(`span`,{className:`block truncate typography-ui-label font-medium text-foreground`,children:e.task.name}),(0,$.jsx)(`span`,{className:`mt-0.5 block typography-micro truncate text-muted-foreground`,children:Ao(e.task,r)})]})]}),controlClassName:`min-w-fit`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 typography-micro ${n.className}`,children:[(0,$.jsx)(Y,{name:n.icon,className:`size-3.5 ${t===`running`?`animate-spin`:``}`}),i]}),(0,$.jsx)(Y,{name:`arrow-right-s`,className:`size-4`})]}),(0,$.jsx)(q,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute inset-0 z-10 h-auto w-auto rounded-none bg-transparent p-0 hover:bg-transparent focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--interactive-focus-ring)]`,onClick:_,"aria-label":r(`assistants.settings.scheduledTasks.open`,{name:e.task.name}),children:(0,$.jsx)(`span`,{className:`sr-only`,children:r(`assistants.settings.scheduledTasks.open`,{name:e.task.name})})})]},Mo(e))},t[11]=_,t[12]=r,t[13]=w):w=t[13];let T=p.map(w),E;t[14]!==g||t[15]!==y||t[16]!==r?(E=g?(0,$.jsx)(Br,{label:r(`assistants.settings.scheduledTasks.loadError`),children:(0,$.jsx)(q,{variant:`outline`,size:`sm`,onClick:y,children:r(`assistants.actions.retry`)})}):null,t[14]=g,t[15]=y,t[16]=r,t[17]=E):E=t[17];let D;t[18]!==g||t[19]!==h||t[20]!==r||t[21]!==p?(D=!h&&!g&&p.length===0?(0,$.jsx)(Br,{label:r(`assistants.settings.scheduledTasks.empty`),children:(0,$.jsx)(Y,{name:`calendar`,className:`size-4 text-muted-foreground`})}):null,t[18]=g,t[19]=h,t[20]=r,t[21]=p,t[22]=D):D=t[22];let O;return t[23]!==b||t[24]!==x||t[25]!==S||t[26]!==C||t[27]!==T||t[28]!==E||t[29]!==D?(O=(0,$.jsxs)(b,{label:x,ariaLabel:S,children:[C,T,E,D]}),t[23]=b,t[24]=x,t[25]=S,t[26]=C,t[27]=T,t[28]=E,t[29]=D,t[30]=O):O=t[30],O},Po=e=>{let t=(0,Fi.c)(11),{name:n,path:r,icon:i}=e,a=i===void 0?`folder`:i,o;t[0]===a?o=t[1]:(o=(0,$.jsx)(Y,{name:a,className:`size-4 shrink-0 text-muted-foreground`}),t[0]=a,t[1]=o);let s=r?`max-w-[40%] shrink-0 truncate typography-ui-label text-foreground`:`min-w-0 truncate typography-ui-label text-foreground`,c;t[2]!==n||t[3]!==s?(c=(0,$.jsx)(`span`,{className:s,children:n}),t[2]=n,t[3]=s,t[4]=c):c=t[4];let l;t[5]===r?l=t[6]:(l=r?(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-micro text-muted-foreground`,title:r,children:r}):null,t[5]=r,t[6]=l);let u;return t[7]!==o||t[8]!==c||t[9]!==l?(u=(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[o,c,l]}),t[7]=o,t[8]=c,t[9]=l,t[10]=u):u=t[10],u},Fo=({onItemSelect:e})=>{let{t}=Ne(),n=Ue(),r=Ve(),i=n.data,a=Jt(e=>e.settingsSelectedAssistantID),o=Jt(e=>e.selectSettingsAssistant),s=Jt(e=>e.requestCreate),[c,l]=Q.useState(!1);Q.useEffect(()=>{!e&&a===null&&i?.assistants[0]&&o(i.assistants[0].id)},[e,o,a,i?.assistants]),Q.useEffect(()=>{n.isSuccess&&a&&a!==`new`&&!i?.assistants.some(e=>e.id===a)&&o(e?null:i?.assistants[0]?.id??null)},[e,o,a,i?.assistants,n.isSuccess]);let u=je(()=>{s(),e?.()}),d=je(async e=>{if(i)try{if(await Ke(e,i.revision),e&&i.assistants.length===0){let e=So();if(e){let t=await qe({enabled:!0,name:xo,defaultPrompt:``,workspacePath:null,providerID:e.providerID,modelID:e.modelID,variant:e.variant});o(t.id)}}}catch{ke.error(t(`assistants.settings.toast.toggleFailed`))}});return r.isSuccess&&!r.data.supported?null:(0,$.jsx)(vo,{variant:`background`,header:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{description:(0,$.jsxs)($.Fragment,{children:[t(`assistants.settings.description`),(0,$.jsx)(`a`,{href:`#assistant-share-welcome`,className:`underline underline-offset-2`,onClick:e=>{e.preventDefault(),l(!0)},children:t(`assistants.settings.descriptionLearnMore`)})]}),children:(0,$.jsx)(Vr,{itemId:`assistants.instance-enabled`,checked:i?.enabled??!1,onChange:d,label:t(`assistants.settings.instanceEnabled`),ariaLabel:t(`assistants.settings.instanceEnabled`)})}),(0,$.jsx)(Yi,{open:c,onOpenChange:l})]}),children:(0,$.jsx)(Z,{label:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:t(`assistants.settings.listTitle`)}),(0,$.jsx)(q,{"data-settings-item":`assistants.create`,variant:`ghost`,size:`icon`,onClick:u,"aria-label":t(`assistants.settings.create`),children:(0,$.jsx)(Y,{name:`add`,className:`size-4`})})]}),children:n.isPending||r.isPending?(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex items-center justify-center text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader-4`,className:`mr-2 size-4 animate-spin`}),t(`common.loading`)]}):i?.assistants.length?i.assistants.map(t=>{let n=Le(t.name);return(0,$.jsx)(go,{title:n.displayName,selected:a===t.id,onSelect:()=>{o(t.id),e?.()},icon:(0,$.jsx)(tn,{name:t.id,emoji:n.avatarEmoji,size:24,label:n.displayName||t.name,shape:`circle`})},t.id)}):(0,$.jsx)(`div`,{className:`oc-settings-group-row text-muted-foreground`,children:t(`assistants.settings.empty`)})})})},Io=({onItemDeleted:e,assistantID:t})=>{let{t:n}=Ne(),r=Ue(),i=Ve(),a=r.data,o=Ht(e=>e.projects),s=Jt(e=>t??e.settingsSelectedAssistantID),c=Jt(e=>e.selectSettingsAssistant),l=Jt(e=>e.defaultShareAssistant),u=Jt(e=>e.setDefaultShareAssistant),d=Jt(e=>e.createRequestRevision),f=Jt(e=>e.requestCreate),[p,m]=Q.useState(Co),[h,g]=Q.useState(!1),_=Q.useRef(0),v=a?.assistants.find(e=>e.id===s)??null,y=v?Le(v.name):null,b=Le(p.name),x=p.workspacePath??v?.managedWorkspacePath??null,S=bt(x,{enabled:!0}).data??[];Q.useEffect(()=>{v&&m(wo(v))},[v]),Q.useEffect(()=>{t===void 0&&r.isSuccess&&s&&s!==`new`&&!v&&c(null)},[t,c,v,s,r.isSuccess]),Q.useEffect(()=>{s!==`new`||d<=_.current||(_.current=d,m(Co(a?.assistants.length?``:xo)),window.requestAnimationFrame(()=>document.getElementById(`assistant-name`)?.focus()))},[d,s,a?.assistants.length]),Q.useEffect(()=>{r.isSuccess&&i.data?.serverInstanceID&&l?.serverInstanceID===i.data.serverInstanceID&&!a?.assistants.some(e=>e.id===l.assistantID)&&u(null)},[i.data,l,u,a?.assistants,r.isSuccess]),Q.useEffect(()=>{r.isSuccess&&Re()},[a?.revision,r.isSuccess]);let C=(e,t)=>{m(n=>({...n,[e]:t}))},w=je(()=>f()),T=je(async()=>{if(!(t!==void 0&&!v)){if(!p.name.trim()||!p.providerID||!p.modelID){ke.error(n(`assistants.settings.validation.required`));return}g(!0);try{let e=v?await Ge(v,To(p)):await qe(p);t===void 0&&c(e.id),ke.success(n(`assistants.settings.toast.saved`))}catch{ke.error(n(`assistants.settings.toast.saveFailed`))}finally{g(!1)}}}),E=je(async()=>{if(!(!v||!window.confirm(n(`assistants.settings.deleteConfirm`,{name:v.name})))){g(!0);try{if(await He(v),l?.assistantID===v.id){let e=await Je();e.serverInstanceID&&l.serverInstanceID===e.serverInstanceID&&u(null)}t===void 0&&c(null),e?.(),ke.success(n(`assistants.settings.toast.deleted`))}catch{ke.error(n(`assistants.settings.toast.deleteFailed`))}finally{g(!1)}}}),D=je(async(e,t)=>{if(!t){u(null),ze();return}try{let t=await Je();if(!t.supported||!t.serverInstanceID)return;u({serverInstanceID:t.serverInstanceID,assistantID:e}),await ze()}catch{ke.error(n(`assistants.settings.toast.toggleFailed`))}}),O=p.workspacePath===null?null:o.find(e=>e.path===p.workspacePath)??null,k=p.workspacePath!==null&&!O?p.workspacePath:null,A=p.workspacePath===null?yo:O?O.id:bo,j=p.workspacePath===null?(0,$.jsx)(Po,{name:n(`assistants.settings.workspacePlaceholder`),icon:`cloud`}):O?(0,$.jsx)(Po,{name:Eo(O),path:O.path}):(0,$.jsx)(Po,{name:n(`assistants.settings.workspaceCurrentPath`),path:k??``,icon:`history`});return i.isSuccess&&!i.data.supported?null:r.isPending||i.isPending?(0,$.jsxs)(`div`,{className:`flex h-full items-center justify-center text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`loader-4`,className:`mr-2 size-4 animate-spin`}),n(`common.loading`)]}):r.isError&&!a||t!==void 0&&!v?(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 text-center`,children:[(0,$.jsx)(Y,{name:`cloud-off`,className:`size-6 text-muted-foreground`}),(0,$.jsx)(`p`,{className:`typography-ui text-muted-foreground`,children:n(`assistants.state.unavailable`)}),(0,$.jsx)(q,{variant:`outline`,size:`sm`,onClick:()=>void r.refetch(),children:n(`assistants.actions.retry`)})]}):(0,$.jsx)(Cr,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-page-content mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[r.isError&&a?(0,$.jsx)(`p`,{className:`mb-4 px-2 typography-meta text-[var(--status-warning)]`,children:n(`assistants.state.staleSnapshot`)}):null,s?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`mb-4 flex items-center gap-3`,children:[(0,$.jsx)(tn,{name:v?.id??`new`,emoji:b.avatarEmoji,size:38,label:b.displayName||p.name||n(`assistants.settings.create`),shape:`circle`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`h2`,{className:`truncate typography-ui-header font-semibold text-foreground`,children:v?y?.displayName:n(`assistants.settings.create`)}),p.providerID&&p.modelID?(0,$.jsx)(`p`,{className:`mt-0.5 typography-micro leading-none text-muted-foreground/70`,children:`${p.providerID}/${p.modelID}`}):null]}),v?(0,$.jsxs)(q,{variant:`ghost`,size:`sm`,onClick:E,disabled:h,className:`text-[var(--status-error)]`,children:[(0,$.jsx)(Y,{name:`delete-bin`,className:`size-4`}),n(`assistants.settings.delete`)]}):null]}),(0,$.jsxs)(Z,{children:[(0,$.jsx)(Br,{itemId:`assistants.name`,label:n(`assistants.settings.name`),children:(0,$.jsx)(pn,{id:`assistant-name`,value:p.name,onChange:e=>C(`name`,e.target.value),className:`min-w-0 flex-1`})}),(0,$.jsx)(Br,{label:n(`assistants.settings.enabled`),children:(0,$.jsx)(nn,{checked:p.enabled,onChange:e=>C(`enabled`,e),ariaLabel:n(`assistants.settings.enabled`)})}),v?(0,$.jsx)(Br,{itemId:`assistants.default-share`,label:n(`assistants.settings.defaultShare`),children:(0,$.jsx)(nn,{checked:l?.assistantID===v.id&&l.serverInstanceID===i.data?.serverInstanceID,onChange:e=>void D(v.id,e),ariaLabel:n(`assistants.settings.defaultShare`)})}):null]}),(0,$.jsx)(Gr,{itemId:`assistants.prompt`,label:n(`assistants.settings.defaultPrompt`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(wr,{embedded:!0,id:`assistant-prompt`,value:p.defaultPrompt,onChange:e=>C(`defaultPrompt`,e.target.value),placeholder:n(`assistants.settings.defaultPromptPlaceholder`),rows:12,outerClassName:`min-h-[240px] max-h-[70vh]`})}),(0,$.jsx)(Z,{label:n(`assistants.settings.runtime`),children:(0,$.jsx)(Br,{itemId:`assistants.model`,label:n(`assistants.settings.model`),children:(0,$.jsx)(En,{providerId:p.providerID,modelId:p.modelID,variant:p.variant??``,providers:S,onChange:(e,t,n)=>m(r=>({...r,providerID:e,modelID:t,variant:n||null})),className:`oc-settings-inline-value`})})}),(0,$.jsx)(Gr,{itemId:`assistants.workspace`,label:n(`assistants.settings.workspace`),description:n(`assistants.settings.workspaceChangeHint`),descriptionPlacement:`outside`,children:(0,$.jsxs)(un,{value:A,onValueChange:e=>{if(e===yo){C(`workspacePath`,null);return}let t=o.find(t=>t.id===e);t&&C(`workspacePath`,t.path)},children:[(0,$.jsx)(sn,{title:p.workspacePath??n(`assistants.settings.workspacePlaceholder`),className:`w-full max-w-xl [&_[data-slot=select-value]]:min-w-0 [&_[data-slot=select-value]]:flex-1 [&_[data-slot=select-value]]:overflow-hidden`,children:(0,$.jsx)(fn,{children:j})}),(0,$.jsxs)(cn,{align:`start`,className:`w-[min(32rem,calc(100vw-2rem))]`,children:[(0,$.jsx)(an,{value:yo,children:(0,$.jsx)(Po,{name:n(`assistants.settings.workspacePlaceholder`),icon:`cloud`})}),o.map(e=>(0,$.jsx)(an,{value:e.id,children:(0,$.jsx)(Po,{name:Eo(e),path:e.path})},e.id)),k?(0,$.jsx)(an,{value:bo,disabled:!0,children:(0,$.jsx)(Po,{name:n(`assistants.settings.workspaceCurrentPath`),path:k,icon:`history`})}):null]})]})}),v?(0,$.jsx)(No,{assistantID:v.id}):null,(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsxs)(q,{onClick:T,disabled:h,children:[h?(0,$.jsx)(Y,{name:`loader-4`,className:`size-4 animate-spin`}):null,n(`assistants.settings.save`)]})})]}):(0,$.jsxs)(`div`,{className:`flex min-h-80 flex-col items-center justify-center gap-3 px-6 text-center text-muted-foreground`,children:[(0,$.jsx)(tn,{name:`assistants-empty`,size:44,shape:`circle`}),(0,$.jsx)(`p`,{className:`typography-ui`,children:n(`assistants.settings.empty`)}),(0,$.jsxs)(q,{"data-settings-item":`assistants.create`,size:`sm`,onClick:w,children:[(0,$.jsx)(Y,{name:`add`,className:`size-4`}),n(`assistants.settings.create`)]})]})]})})};function Lo(e){return ko(e.task)?[{projectId:e.projectID,task:e.task}]:[]}function Ro(e){return!ko(e.task)}function zo(e,t){return e.task.enabled===t.task.enabled?e.task.name.localeCompare(t.task.name):e.task.enabled?-1:1}function Bo(){G.getState().setActiveMainTab(`schedule`),G.getState().setScheduledTasksDialogOpen(!0)}var Vo=`~/.config/opencode/AGENTS.md`,Ho=async(e,t)=>{let n=await e.json().catch(()=>null);return typeof n?.error==`string`&&n.error.trim()?n.error:t},Uo=e=>e.length>0&&!e.endsWith(`
|
|
2
2
|
`)?`${e}\n`:e,Wo={prompt:``,responseStyleEnabled:!1,responseStylePreset:`concise`,responseStyleCustomInstructions:``},Go=(e,t)=>e===`custom`?t:Dt(e),Ko=e=>e===`custom`?`custom`:St(e)?e:`concise`,qo={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`},Jo=async(e,t)=>{let n=await l(`/api/config/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(e)});if(!n.ok)throw Error(await Ho(n,t));return n.json().catch(()=>null)},Yo=()=>{let{t:e}=Ne(),t=Q.useSyncExternalStore(r,i,i),[n,a]=Q.useState(``),[o,s]=Q.useState(Wo.responseStyleEnabled),[c,u]=Q.useState(Wo.responseStylePreset),[d,f]=Q.useState(Wo.responseStyleCustomInstructions),[p,m]=Q.useState(!1),[h,g]=Q.useState(!1),[_,v]=Q.useState(!1),[y,b]=Q.useState(``),x=Q.useRef(null),C=Q.useRef(null),w=Q.useRef(0),T=Q.useRef(Promise.resolve());Q.useEffect(()=>{let e=!0;return g(!1),x.current=null,C.current=null,w.current+=1,O(t).then(n=>{if(!e||t!==i())return;let r={enabled:n.responseStyleEnabled===!0,preset:Ko(n.responseStylePreset),custom:typeof n.responseStyleCustomInstructions==`string`?n.responseStyleCustomInstructions:``};s(r.enabled),u(r.preset),f(r.custom),Ut({enabled:r.enabled,preset:r.preset,customInstructions:r.custom},t),x.current=r,C.current=r,g(!0)}).catch(t=>{e&&t?.name!==`AbortError`&&console.warn(`Failed to load behavior settings:`,t)}),()=>{e=!1,w.current+=1}},[t]),Q.useEffect(()=>{let e=new AbortController,n=!0;return m(!1),v(!1),(async()=>{try{let r=await l(`/api/behavior/agents-md`,{method:`GET`,headers:{Accept:`application/json`},signal:e.signal});if(!r.ok)throw Error(`Behavior prompt request failed (${r.status})`);let o=await r.json().catch(()=>null);if(typeof o?.content!=`string`)throw Error(`Invalid behavior prompt response`);if(!n||t!==i())return;a(o.content),b(o.content),m(!0)}catch(e){n&&e?.name!==`AbortError`&&console.warn(`Failed to load behavior prompt:`,e)}})(),()=>{n=!1,e.abort()}},[t]),Q.useEffect(()=>{if(!h)return;let n={enabled:o,preset:c,custom:d},r=C.current;if(r&&r.enabled===n.enabled&&r.preset===n.preset&&r.custom===n.custom)return;C.current=n;let a=w.current+1;w.current=a;let l=setTimeout(()=>{let r=async()=>{if(t===i())try{let r=await Jo({responseStyleEnabled:n.enabled,responseStylePreset:n.preset,responseStyleCustomInstructions:n.custom},e(`settings.behavior.page.toast.saveFailed`));if(t!==i())return;let o=N(r),c={enabled:o.responseStyleEnabled??n.enabled,preset:o.responseStylePreset??n.preset,custom:o.responseStyleCustomInstructions??n.custom};if(Ut({enabled:c.enabled,preset:c.preset,customInstructions:c.custom},t),S({responseStyleEnabled:c.enabled,responseStylePreset:c.preset,responseStyleCustomInstructions:c.custom},t),x.current=c,a!==w.current)return;C.current=c,s(c.enabled),u(c.preset),f(c.custom)}catch(n){if(t===i()&&a===w.current){let t=x.current;C.current=t,t&&(s(t.enabled),u(t.preset),f(t.custom));let r=n instanceof Error?n.message:e(`settings.behavior.page.toast.saveFailed`);J.error(r)}}};T.current=T.current.then(r,r)},400);return()=>clearTimeout(l)},[o,c,d,h,e,t]);let E=Go(c,d),D=n!==y;return(0,$.jsx)(Cr,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-page-content mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground`,children:e(`settings.behavior.page.title`)})}),(0,$.jsx)(Z,{itemId:`behavior.system-prompt`,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:e(`settings.behavior.page.section.systemPrompt`)}),(0,$.jsxs)(gn,{children:[(0,$.jsx)(mn,{asChild:!0,children:(0,$.jsx)(Y,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(hn,{sideOffset:8,className:`max-w-xs`,children:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:`font-medium text-foreground`,children:e(`settings.behavior.page.warning.title`)}),(0,$.jsx)(`p`,{children:e(`settings.behavior.page.warning.description`,{path:Vo})})]})})]})]}),children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-col gap-3`,children:[(0,$.jsx)(wr,{embedded:!0,value:n,onChange:e=>a(e.target.value),placeholder:e(`settings.behavior.page.field.systemPromptPlaceholder`),rows:12,disabled:!p,outerClassName:`min-h-[160px] max-h-[70vh]`,className:`w-full font-mono typography-meta bg-transparent`}),(0,$.jsx)(q,{onClick:async()=>{let r=t;if(r===i()){v(!0);try{let t=Uo(n),o=await l(`/api/behavior/agents-md`,{method:`PUT`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({content:t})});if(!o.ok)throw Error(await Ho(o,e(`settings.behavior.page.toast.saveFailed`)));if(r!==i()||(await Jo({globalBehaviorPrompt:t},e(`settings.behavior.page.toast.saveFailed`)),r!==i()))return;a(t),b(t),J.success(e(`settings.behavior.page.toast.saved`))}catch(t){if(r!==i())return;console.error(`Failed to save behavior:`,t);let n=t instanceof Error?t.message:e(`settings.behavior.page.toast.saveFailed`);J.error(n)}finally{r===i()&&v(!1)}}},disabled:_||!D||!p,size:`xs`,className:`!font-normal`,children:e(_?`settings.common.actions.saving`:`settings.common.actions.saveChanges`)})]})}),(0,$.jsxs)(Z,{itemId:`behavior.response-style`,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:e(`settings.behavior.page.section.responseStyle`)}),(0,$.jsxs)(gn,{children:[(0,$.jsx)(mn,{asChild:!0,children:(0,$.jsx)(Y,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(hn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.behavior.page.responseStyle.tooltip`)})]})]}),children:[(0,$.jsxs)(Br,{label:e(`settings.behavior.page.responseStyle.enable`),children:[(0,$.jsx)(nn,{checked:o,onChange:s,disabled:!h,ariaLabel:e(`settings.behavior.page.responseStyle.enableAria`)}),(0,$.jsxs)(un,{value:c,onValueChange:e=>u(e),disabled:!h||!o,children:[(0,$.jsx)(sn,{className:`w-full sm:w-56`,children:(0,$.jsx)(fn,{children:t=>t===`custom`?e(`settings.behavior.page.responseStyle.option.custom`):St(t)?e(qo[t]):null})}),(0,$.jsxs)(cn,{children:[Mt.map(t=>(0,$.jsx)(an,{value:t,children:e(qo[t])},t)),(0,$.jsx)(an,{value:`custom`,children:e(`settings.behavior.page.responseStyle.option.custom`)})]})]})]}),(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(wr,{embedded:!0,value:E,onChange:e=>f(e.target.value),placeholder:e(`settings.behavior.page.responseStyle.customPlaceholder`),rows:5,disabled:!h||!o||c!==`custom`,outerClassName:`min-h-[120px]`,className:`w-full font-mono typography-meta bg-transparent`})})]})]})})},Xo=e=>{let t=(0,Fi.c)(158),{onItemSelect:n}=e,{t:r}=Ne(),[i,a]=Q.useState(null),[o,s]=Q.useState(``),[c,l]=Q.useState(null),[u,d]=Q.useState(null),[f,p]=Q.useState(!1),[m,h]=Q.useState(null),{selectedCommandName:g,setSelectedCommand:_,setCommandDraft:v,createCommand:y,deleteCommand:b}=ea(ue(Qo)),x=Et(),S;t[0]===x.data?S=t[1]:(S=x.data??[],t[0]=x.data,t[1]=S);let C=S,w=mt(),T;t[2]===w.data?T=t[3]:(T=w.data??[],t[2]=w.data,t[3]=T);let E=T,{refetch:D}=w,O,k;t[4]===D?(O=t[5],k=t[6]):(O=()=>{D()},k=[D],t[4]=D,t[5]=O,t[6]=k),Q.useEffect(O,k);let A;t[7]===E?A=t[8]:(A=new Set(E.map($o)),t[7]=E,t[8]=A);let j=A,M;if(t[9]!==C||t[10]!==j){let e;t[12]===j?e=t[13]:(e=e=>!j.has(e.name),t[12]=j,t[13]=e),M=C.filter(e),t[9]=C,t[10]=j,t[11]=M}else M=t[11];let N=M,P,F;t[14]!==g||t[15]!==_||t[16]!==j?(P=()=>{g&&j.has(g)&&_(null)},F=[g,_,j],t[14]=g,t[15]=_,t[16]=j,t[17]=P,t[18]=F):(P=t[17],F=t[18]),Q.useEffect(P,F);let I;t[19]!==C||t[20]!==n||t[21]!==v||t[22]!==_?(I=()=>{let e=`new-command`,t=1;for(;C.some(t=>t.name===e);)e=`new-command-${t}`,t++;v({name:e,scope:`user`}),_(e),n?.()},t[19]=C,t[20]=n,t[21]=v,t[22]=_,t[23]=I):I=t[23];let L=I,R;t[24]===r?R=t[25]:(R=async e=>{if(Qi(e)){J.error(r(`settings.commands.sidebar.toast.builtInCannotDelete`));return}l(e),d(`delete`)},t[24]=r,t[25]=R);let z=R,B;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(B=async e=>{Qi(e)&&(l(e),d(`reset`))},t[26]=B):B=t[26];let ee=B,V;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(V=()=>{l(null),d(null)},t[27]=V):V=t[27];let H=V,U;t[28]!==c||t[29]!==u||t[30]!==b||t[31]!==r?(U=async()=>{!c||!u||(p(!0),await b(c.name)?(u===`delete`?J.success(r(`settings.commands.sidebar.toast.commandDeleted`,{name:c.name})):J.success(r(`settings.commands.sidebar.toast.commandReset`,{name:c.name})),H()):u===`delete`?J.error(r(`settings.commands.sidebar.toast.deleteFailed`)):J.error(r(`settings.commands.sidebar.toast.resetFailed`)),p(!1))},t[28]=c,t[29]=u,t[30]=b,t[31]=r,t[32]=U):U=t[32];let te=U,W;t[33]!==C||t[34]!==v||t[35]!==_?(W=e=>{let t=e.name,n=1,r=`${t}-copy`;for(;C.some(e=>e.name===r);)n++,r=`${t}-copy-${n}`;v({name:r,scope:e.scope||`user`,description:e.description,template:e.template,agent:e.agent,model:e.model}),_(r)},t[33]=C,t[34]=v,t[35]=_,t[36]=W):W=t[36];let ne=W,re;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(re=e=>{s(e.name),a(e)},t[37]=re):re=t[37];let ie=re,ae;t[38]!==C||t[39]!==y||t[40]!==b||t[41]!==i||t[42]!==o||t[43]!==_||t[44]!==r?(ae=async()=>{if(!i)return;let e=o.trim().replace(/\s+/g,`-`);if(!e){J.error(r(`settings.commands.sidebar.toast.commandNameRequired`));return}if(e===i.name){a(null);return}if(C.some(t=>t.name===e)){J.error(r(`settings.commands.sidebar.toast.commandExists`));return}await y({name:e,description:i.description,template:i.template,agent:i.agent,model:i.model})?await b(i.name)?(J.success(`Command renamed to "${e}"`),_(e)):J.error(r(`settings.commands.sidebar.toast.removeOldAfterRenameFailed`)):J.error(r(`settings.commands.sidebar.toast.renameFailed`)),a(null)},t[38]=C,t[39]=y,t[40]=b,t[41]=i,t[42]=o,t[43]=_,t[44]=r,t[45]=ae):ae=t[45];let oe=ae,se,ce,le;if(t[46]!==N||t[47]!==L||t[48]!==z||t[49]!==ne||t[50]!==n||t[51]!==m||t[52]!==g||t[53]!==_||t[54]!==r){let e=N.filter(Qi),i=N.filter(es),a;t[58]===r?a=t[59]:(a=r(`settings.commands.sidebar.section.custom`),t[58]=r,t[59]=a);let o;t[60]===a?o=t[61]:(o=(0,$.jsx)(`span`,{children:a}),t[60]=a,t[61]=o);let s;t[62]===r?s=t[63]:(s=r(`settings.commands.page.title.new`),t[62]=r,t[63]=s);let c;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Y,{name:`add`,className:`h-4 w-4`}),t[64]=c):c=t[64];let l;t[65]!==L||t[66]!==s?(l=(0,$.jsx)(q,{"data-settings-item":`commands.create`,size:`icon`,variant:`ghost`,onClick:L,"aria-label":s,children:c}),t[65]=L,t[66]=s,t[67]=l):l=t[67];let u;t[68]!==o||t[69]!==l?(u=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[o,l]}),t[68]=o,t[69]=l,t[70]=u):u=t[70];let d=u;se=`oc-settings-page-content h-full overflow-y-auto bg-background p-3`,t[71]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(Z,{children:(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(Oa,{})})}),t[71]=ce):ce=t[71],le=(0,$.jsx)($.Fragment,{children:N.length===0?(0,$.jsx)(Z,{label:d,children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`terminal-box`,className:`mx-auto mb-3 h-10 w-10 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-medium`,children:r(`settings.commands.sidebar.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:r(`settings.commands.sidebar.empty.description`)})]})}):(0,$.jsxs)($.Fragment,{children:[e.length>0&&(0,$.jsx)(Z,{label:r(`settings.commands.sidebar.section.builtIn`),children:[...e].sort(ts).map(e=>(0,$.jsx)(Zo,{command:e,isSelected:g===e.name,onSelect:()=>{_(e.name),n?.()},onReset:()=>ee(e),onDuplicate:()=>ne(e),isMenuOpen:m===e.name,onMenuOpenChange:t=>h(t?e.name:null)},e.name))}),i.length>0?(0,$.jsx)(Z,{label:d,children:[...i].sort(ns).map(e=>(0,$.jsx)(Zo,{command:e,isSelected:g===e.name,onSelect:()=>{_(e.name),n?.()},onRename:()=>ie(e),onDelete:()=>z(e),onDuplicate:()=>ne(e),isMenuOpen:m===e.name,onMenuOpenChange:t=>h(t?e.name:null)},e.name))}):(0,$.jsx)(Z,{label:d,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})})]})}),t[46]=N,t[47]=L,t[48]=z,t[49]=ne,t[50]=n,t[51]=m,t[52]=g,t[53]=_,t[54]=r,t[55]=se,t[56]=ce,t[57]=le}else se=t[55],ce=t[56],le=t[57];let de=c!==null&&u!==null,fe;t[72]===f?fe=t[73]:(fe=e=>{!e&&!f&&H()},t[72]=f,t[73]=fe);let pe;t[74]!==u||t[75]!==r?(pe=r(u===`delete`?`settings.commands.sidebar.dialog.deleteTitle`:`settings.commands.sidebar.dialog.resetTitle`),t[74]=u,t[75]=r,t[76]=pe):pe=t[76];let me;t[77]===pe?me=t[78]:(me=(0,$.jsx)(Qt,{children:pe}),t[77]=pe,t[78]=me);let he;t[79]!==c?.name||t[80]!==u||t[81]!==r?(he=r(u===`delete`?`settings.commands.sidebar.dialog.deleteDescription`:`settings.commands.sidebar.dialog.resetDescription`,{name:c?.name??``}),t[79]=c?.name,t[80]=u,t[81]=r,t[82]=he):he=t[82];let ge;t[83]===he?ge=t[84]:(ge=(0,$.jsx)($t,{children:he}),t[83]=he,t[84]=ge);let _e;t[85]!==me||t[86]!==ge?(_e=(0,$.jsxs)(Yt,{children:[me,ge]}),t[85]=me,t[86]=ge,t[87]=_e):_e=t[87];let ve;t[88]===r?ve=t[89]:(ve=r(`settings.common.actions.cancel`),t[88]=r,t[89]=ve);let ye;t[90]!==f||t[91]!==ve?(ye=(0,$.jsx)(q,{size:`sm`,variant:`ghost`,onClick:H,disabled:f,children:ve}),t[90]=f,t[91]=ve,t[92]=ye):ye=t[92];let G;t[93]!==u||t[94]!==r?(G=r(u===`delete`?`settings.common.actions.delete`:`settings.common.actions.reset`),t[93]=u,t[94]=r,t[95]=G):G=t[95];let be;t[96]!==te||t[97]!==f||t[98]!==G?(be=(0,$.jsx)(q,{size:`sm`,onClick:te,disabled:f,children:G}),t[96]=te,t[97]=f,t[98]=G,t[99]=be):be=t[99];let xe;t[100]!==ye||t[101]!==be?(xe=(0,$.jsxs)(Xt,{children:[ye,be]}),t[100]=ye,t[101]=be,t[102]=xe):xe=t[102];let Se;t[103]!==_e||t[104]!==xe?(Se=(0,$.jsxs)(Zt,{className:`max-w-md`,children:[_e,xe]}),t[103]=_e,t[104]=xe,t[105]=Se):Se=t[105];let Ce;t[106]!==de||t[107]!==fe||t[108]!==Se?(Ce=(0,$.jsx)(en,{open:de,onOpenChange:fe,children:Se}),t[106]=de,t[107]=fe,t[108]=Se,t[109]=Ce):Ce=t[109];let we=i!==null,Te;t[110]===Symbol.for(`react.memo_cache_sentinel`)?(Te=e=>!e&&a(null),t[110]=Te):Te=t[110];let Ee;t[111]===r?Ee=t[112]:(Ee=r(`settings.commands.sidebar.renameDialog.title`),t[111]=r,t[112]=Ee);let De;t[113]===Ee?De=t[114]:(De=(0,$.jsx)(Qt,{children:Ee}),t[113]=Ee,t[114]=De);let Oe=i?.name??``,ke;t[115]!==r||t[116]!==Oe?(ke=r(`settings.commands.sidebar.renameDialog.description`,{name:Oe}),t[115]=r,t[116]=Oe,t[117]=ke):ke=t[117];let Ae;t[118]===ke?Ae=t[119]:(Ae=(0,$.jsx)($t,{children:ke}),t[118]=ke,t[119]=Ae);let je;t[120]!==De||t[121]!==Ae?(je=(0,$.jsxs)(Yt,{children:[De,Ae]}),t[120]=De,t[121]=Ae,t[122]=je):je=t[122];let Me;t[123]===Symbol.for(`react.memo_cache_sentinel`)?(Me=e=>s(e.target.value),t[123]=Me):Me=t[123];let Pe;t[124]===r?Pe=t[125]:(Pe=r(`settings.commands.sidebar.renameDialog.placeholder`),t[124]=r,t[125]=Pe);let Fe;t[126]===oe?Fe=t[127]:(Fe=e=>{e.key===`Enter`&&oe()},t[126]=oe,t[127]=Fe);let Ie;t[128]!==o||t[129]!==Pe||t[130]!==Fe?(Ie=(0,$.jsx)(pn,{value:o,onChange:Me,placeholder:Pe,className:`text-foreground placeholder:text-muted-foreground`,onKeyDown:Fe}),t[128]=o,t[129]=Pe,t[130]=Fe,t[131]=Ie):Ie=t[131];let K;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(K=()=>a(null),t[132]=K):K=t[132];let Le;t[133]===r?Le=t[134]:(Le=r(`settings.common.actions.cancel`),t[133]=r,t[134]=Le);let Re;t[135]===Le?Re=t[136]:(Re=(0,$.jsx)(q,{size:`sm`,variant:`ghost`,onClick:K,children:Le}),t[135]=Le,t[136]=Re);let ze;t[137]===r?ze=t[138]:(ze=r(`settings.common.actions.rename`),t[137]=r,t[138]=ze);let Be;t[139]!==oe||t[140]!==ze?(Be=(0,$.jsx)(q,{size:`sm`,onClick:oe,children:ze}),t[139]=oe,t[140]=ze,t[141]=Be):Be=t[141];let Ve;t[142]!==Re||t[143]!==Be?(Ve=(0,$.jsxs)(Xt,{children:[Re,Be]}),t[142]=Re,t[143]=Be,t[144]=Ve):Ve=t[144];let He;t[145]!==je||t[146]!==Ie||t[147]!==Ve?(He=(0,$.jsxs)(Zt,{children:[je,Ie,Ve]}),t[145]=je,t[146]=Ie,t[147]=Ve,t[148]=He):He=t[148];let Ue;t[149]!==we||t[150]!==He?(Ue=(0,$.jsx)(en,{open:we,onOpenChange:Te,children:He}),t[149]=we,t[150]=He,t[151]=Ue):Ue=t[151];let We;return t[152]!==se||t[153]!==ce||t[154]!==le||t[155]!==Ce||t[156]!==Ue?(We=(0,$.jsxs)(`div`,{className:se,children:[ce,le,Ce,Ue]}),t[152]=se,t[153]=ce,t[154]=le,t[155]=Ce,t[156]=Ue,t[157]=We):We=t[157],We},Zo=e=>{let t=(0,Fi.c)(47),{command:n,isSelected:r,onSelect:i,onDelete:a,onReset:o,onRename:s,onDuplicate:c,isMenuOpen:l,onMenuOpenChange:u}=e,{t:d}=Ne(),f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=xr(),t[0]=f):f=t[0];let p=f,[m,h]=Q.useState(!1),g;t[1]!==a||t[2]!==c||t[3]!==s||t[4]!==o||t[5]!==d?(g=e=>(0,$.jsxs)($.Fragment,{children:[s&&(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),s()},children:[(0,$.jsx)(Y,{name:`edit`,className:`h-4 w-4 mr-px`}),d(`settings.common.actions.rename`)]}),(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),c()},children:[(0,$.jsx)(Y,{name:`file-copy`,className:`h-4 w-4 mr-px`}),d(`settings.common.actions.duplicate`)]}),o&&(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),o()},children:[(0,$.jsx)(Y,{name:`restart`,className:`h-4 w-4 mr-px`}),d(`settings.common.actions.reset`)]}),a&&(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),a()},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(Y,{name:`delete-bin`,className:`h-4 w-4 mr-px`}),d(`settings.common.actions.delete`)]})]}),t[1]=a,t[2]=c,t[3]=s,t[4]=o,t[5]=d,t[6]=g):g=t[6];let _=g,v=r?`bg-interactive-selection`:`hover:bg-interactive-hover`,y;t[7]===v?y=t[8]:(y=K(`oc-settings-group-row group relative flex items-center transition-colors duration-150 select-none`,v),t[7]=v,t[8]=y);let b;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=p?void 0:e=>{e.preventDefault(),h(!0)},t[9]=b):b=t[9];let x;t[10]===y?x=t[11]:(x=(0,$.jsx)(`div`,{className:y,onContextMenu:b}),t[10]=y,t[11]=x);let S;t[12]===n.name?S=t[13]:(S=(0,$.jsxs)(`span`,{className:`typography-ui-label font-normal truncate text-foreground`,children:[`/`,n.name]}),t[12]=n.name,t[13]=S);let C;t[14]!==n||t[15]!==d?(C=(n.scope||Qi(n))&&(0,$.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:Qi(n)?d(`settings.agents.sidebar.badge.system`):n.scope}),t[14]=n,t[15]=d,t[16]=C):C=t[16];let w;t[17]!==S||t[18]!==C?(w=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[S,C]}),t[17]=S,t[18]=C,t[19]=w):w=t[19];let T;t[20]===n.description?T=t[21]:(T=n.description&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/60 truncate leading-tight`,children:n.description}),t[20]=n.description,t[21]=T);let E;t[22]!==i||t[23]!==T||t[24]!==w?(E=(0,$.jsxs)(`button`,{onClick:i,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-primary/50`,tabIndex:0,children:[w,T]}),t[22]=i,t[23]=T,t[24]=w,t[25]=E):E=t[25];let D;t[26]===u?D=t[27]:(D=e=>{e&&h(!1),u(e)},t[26]=u,t[27]=D);let O;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(hr,{asChild:!0,children:(0,$.jsx)(q,{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:(0,$.jsx)(Y,{name:`more-2`,className:`h-3.5 w-3.5`})})}),t[28]=O):O=t[28];let k;t[29]===_?k=t[30]:(k=(0,$.jsx)($n,{align:`end`,className:`w-fit min-w-20`,children:_(Gn)}),t[29]=_,t[30]=k);let A;t[31]!==l||t[32]!==D||t[33]!==k?(A=(0,$.jsxs)(lr,{open:l,onOpenChange:D,children:[O,k]}),t[31]=l,t[32]=D,t[33]=k,t[34]=A):A=t[34];let j;t[35]!==E||t[36]!==A?(j=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:[E,A]}),t[35]=E,t[36]=A,t[37]=j):j=t[37];let M;t[38]!==j||t[39]!==x?(M=(0,$.jsx)(Ti,{render:x,children:j}),t[38]=j,t[39]=x,t[40]=M):M=t[40];let N;t[41]===_?N=t[42]:(N=(0,$.jsx)(Ei,{className:`w-fit min-w-20`,children:_(Di)}),t[41]=_,t[42]=N);let P;return t[43]!==m||t[44]!==M||t[45]!==N?(P=(0,$.jsxs)(Oi,{open:m,onOpenChange:h,children:[M,N]}),t[43]=m,t[44]=M,t[45]=N,t[46]=P):P=t[46],P};function Qo(e){return{selectedCommandName:e.selectedCommandName,setSelectedCommand:e.setSelectedCommand,setCommandDraft:e.setCommandDraft,createCommand:e.createCommand,deleteCommand:e.deleteCommand}}function $o(e){return e.name}function es(e){return!Qi(e)}function ts(e,t){return e.name.localeCompare(t.name)}function ns(e,t){return e.name.localeCompare(t.name)}var rs=()=>{let{t:e}=Ne(),{selectedCommandName:t,createCommand:n,updateCommand:r,commandDraft:i,setCommandDraft:a}=ea(ue(e=>({selectedCommandName:e.selectedCommandName,createCommand:e.createCommand,updateCommand:e.updateCommand,commandDraft:e.commandDraft,setCommandDraft:e.setCommandDraft}))),o=Et(),s=Q.useMemo(()=>o.data??[],[o.data]),c=t?s.find(e=>e.name===t):null,l=!!(i&&i.name===t&&!c),[u,d]=Q.useState(``),[f,p]=Q.useState(`user`),[m,h]=Q.useState(``),[g,_]=Q.useState(``),[v,y]=Q.useState(``),[b,x]=Q.useState(``),[S,C]=Q.useState(!1),w=Q.useRef(null);Q.useEffect(()=>{if(l&&i){let e=i.name||``,t=i.scope||`user`,n=i.description||``,r=i.agent||``,a=i.model||``,o=i.template||``;d(e),p(t),h(n),_(r),y(a),x(o),w.current={draftName:e,draftScope:t,description:n,agent:r,model:a,template:o}}else if(c){let e=c.description||``,t=c.agent||``,n=c.model||``,r=c.template||``;h(e),_(t),y(n),x(r),w.current={draftName:``,draftScope:`user`,description:e,agent:t,model:n,template:r}}},[c,l,t,s,i]);let T=Q.useMemo(()=>{let e=w.current;return e?!!(l&&(u!==e.draftName||f!==e.draftScope)||m!==e.description||g!==e.agent||v!==e.model||b!==e.template):!1},[g,m,u,f,l,v,b]);return t?(0,$.jsx)(Cr,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-page-content mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[(0,$.jsx)(`div`,{className:`mb-4 flex items-center justify-between gap-4`,children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground truncate`,children:l?e(`settings.commands.page.title.new`):`/${t}`}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:e(l?`settings.commands.page.subtitle.new`:`settings.commands.page.subtitle.edit`)})]})}),(0,$.jsxs)(Z,{label:e(`settings.commands.page.section.identity`),children:[l&&(0,$.jsxs)(Br,{itemId:`commands.name`,label:e(`settings.commands.page.field.commandName`),children:[(0,$.jsxs)(`div`,{className:`flex items-center`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-muted-foreground mr-1`,children:`/`}),(0,$.jsx)(pn,{value:u,onChange:e=>d(e.target.value),placeholder:e(`settings.commands.page.field.commandNamePlaceholder`),className:`h-7 w-40 px-2`})]}),(0,$.jsxs)(un,{value:f,onValueChange:e=>p(e),children:[(0,$.jsx)(sn,{className:`w-fit min-w-[100px]`,children:(0,$.jsx)(fn,{placeholder:e(`settings.agents.page.field.scopePlaceholder`)})}),(0,$.jsxs)(cn,{align:`end`,children:[(0,$.jsx)(an,{value:`user`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Y,{name:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.global`)})]})}),(0,$.jsx)(an,{value:`project`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Y,{name:`folder`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.project`)})]})})]})]})]}),(0,$.jsx)(Br,{label:e(`settings.common.field.description`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(wr,{embedded:!0,value:m,onChange:e=>h(e.target.value),placeholder:e(`settings.commands.page.field.descriptionPlaceholder`),rows:2,className:`w-full resize-none min-h-[60px] bg-transparent`})})]}),(0,$.jsxs)(Z,{label:e(`settings.commands.page.section.executionContext`),children:[(0,$.jsx)(Br,{itemId:`commands.agent`,label:e(`settings.commands.page.field.overrideAgent`),children:(0,$.jsx)(pr,{agentName:g,onChange:e=>_(e),className:`oc-settings-inline-value`})}),(0,$.jsx)(Br,{itemId:`commands.model`,label:e(`settings.agents.page.field.overrideModel`),children:(0,$.jsx)(En,{providerId:yt(v)?.providerId??``,modelId:yt(v)?.modelId??``,onChange:(e,t)=>{y(e&&t?`${e}/${t}`:``)},className:`oc-settings-inline-value`})})]}),(0,$.jsx)(Gr,{itemId:`commands.template`,label:e(`settings.commands.page.section.template`),description:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`code`,{className:`text-foreground`,children:`$ARGUMENTS`}),` `,e(`settings.commands.page.templateHint.userInput`),` ·`,` `,(0,$.jsx)(`code`,{className:`text-foreground`,children:"!`cmd`"}),` `,e(`settings.commands.page.templateHint.shellOutput`),` ·`,` `,(0,$.jsx)(`code`,{className:`text-foreground`,children:`@file`}),` `,e(`settings.commands.page.templateHint.fileContents`)]}),descriptionPlacement:`outside`,className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(wr,{embedded:!0,value:b,onChange:e=>x(e.target.value),placeholder:e(`settings.commands.page.field.templatePlaceholder`),rows:12,className:`w-full font-mono typography-meta min-h-[160px] max-h-[60vh] bg-transparent resize-y`})}),(0,$.jsx)(`div`,{className:`px-2 py-1`,children:(0,$.jsx)(q,{onClick:async()=>{let i=l?u.trim().replace(/\s+/g,`-`):t?.trim();if(!i){J.error(e(`settings.commands.sidebar.toast.commandNameRequired`));return}if(!b.trim()){J.error(e(`settings.commands.page.toast.templateRequired`));return}if(l&&s.some(e=>e.name===i)){J.error(e(`settings.commands.sidebar.toast.commandExists`));return}C(!0);try{let t=g.trim(),o=v.trim(),s=b.trim(),c={name:i,description:m.trim()||void 0,agent:t===``?null:t,model:o===``?null:o,template:s,scope:l?f:void 0},u;l?(u=await n(c),u&&a(null)):u=await r(i,c),u?J.success(e(l?`settings.commands.page.toast.created`:`settings.commands.page.toast.updated`)):J.error(e(l?`settings.commands.page.toast.createFailed`:`settings.commands.page.toast.updateFailed`))}catch(t){console.error(`Error saving command:`,t),J.error(e(`settings.commands.page.toast.saveUnexpectedError`))}finally{C(!1)}},disabled:S||!T,size:`xs`,className:`!font-normal`,children:e(S?`settings.common.actions.saving`:`settings.common.actions.saveChanges`)})})]})}):(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`terminal-box`,className:`mx-auto mb-3 h-12 w-12 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.commands.page.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:e(`settings.commands.page.empty.description`)})]})})},is=[],as=e=>{switch(e){case`connected`:return`success`;case`failed`:return`error`;case`needs_auth`:case`needs_client_registration`:return`warning`;default:return`idle`}},os=e=>{let t=(0,Fi.c)(5),{tone:n,enabled:r}=e;if(!r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full bg-muted-foreground/30 flex-shrink-0`}),t[0]=e):e=t[0],e}let i;t[1]===n?i=t[2]:(i=K(`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`}[n]),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,$.jsx)(`span`,{className:i}),t[3]=i,t[4]=a),a},ss=e=>{let t=(0,Fi.c)(115),{onItemSelect:n}=e,{t:r}=Ne(),{selectedMcpName:a,setSelectedMcp:o,setMcpDraft:s,deleteMcp:c}=oa(ue(cs)),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=wi(),t[0]=l):l=t[0];let u=l,d=yi(u),f=xi(u),p=d.data??is,m;t[1]===f.data?m=t[2]:(m=f.data??{},t[1]=f.data,t[2]=m);let h=m,[g,_]=Q.useState(null),[v,y]=Q.useState(!1),[b,x]=Q.useState(null),[S,C]=Q.useState(null),[T,E]=Q.useState(!1),D;t[3]===p?D=t[4]:(D=p.filter(ls),t[3]=p,t[4]=D);let O=D,k;t[5]===p?k=t[6]:(k=p.filter(us),t[5]=p,t[6]=k);let A=k,j;t[7]===T?j=t[8]:(j=()=>{if(T)return;E(!0);let e=new Promise(ds),t=i();Promise.all([Si(w,u,t),e]).catch(fs).finally(()=>{E(!1)})},t[7]=T,t[8]=j);let M=j,N;t[9]!==p||t[10]!==n||t[11]!==s||t[12]!==o?(N=()=>{let e=`new-mcp-server`,t=1;for(;p.some(t=>t.name===e);)e=`new-mcp-server-${t}`,t++;s({name:e,scope:`user`,type:`local`,command:[],url:``,environment:[],headers:[],oauthEnabled:!0,oauthClientId:``,oauthClientSecret:``,oauthScope:``,oauthRedirectUri:``,timeout:``,enabled:!0}),o(e),n?.()},t[9]=p,t[10]=n,t[11]=s,t[12]=o,t[13]=N):N=t[13];let P=N,F;t[14]!==c||t[15]!==g||t[16]!==r?(F=async()=>{if(!g)return;y(!0);let e=await c(g.name,{directory:wi(),transportIdentity:i()});e.ok?e.reloadFailed?J.warning(e.message||`MCP server "${g.name}" deleted, but OpenCode reload failed`,{description:e.warning||r(`settings.mcp.sidebar.toast.refreshListIfStale`)}):J.success(e.message||r(`settings.mcp.sidebar.toast.serverDeleted`,{name:g.name})):J.error(r(`settings.mcp.sidebar.toast.deleteFailed`)),_(null),y(!1)},t[14]=c,t[15]=g,t[16]=r,t[17]=F):F=t[17];let I=F,L;t[18]===r?L=t[19]:(L=(e,t)=>(0,$.jsxs)(t,{onClick:t=>{t.stopPropagation(),_(e)},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(Y,{name:`delete-bin`,className:`h-4 w-4 mr-px`}),r(`settings.common.actions.delete`)]}),t[18]=r,t[19]=L);let R=L,z;t[20]===r?z=t[21]:(z=r(`settings.mcp.sidebar.group.userServers`),t[20]=r,t[21]=z);let B;t[22]===z?B=t[23]:(B=(0,$.jsx)(`span`,{children:z}),t[22]=z,t[23]=B);let ee;t[24]===r?ee=t[25]:(ee=r(`settings.mcp.sidebar.actions.refreshStatusAria`),t[24]=r,t[25]=ee);let V;t[26]===r?V=t[27]:(V=r(`settings.mcp.sidebar.actions.refreshStatusTitle`),t[26]=r,t[27]=V);let H=T&&`animate-spin`,U;t[28]===H?U=t[29]:(U=K(`h-4 w-4`,H),t[28]=H,t[29]=U);let te;t[30]===U?te=t[31]:(te=(0,$.jsx)(Y,{name:`refresh`,className:U}),t[30]=U,t[31]=te);let W;t[32]!==M||t[33]!==T||t[34]!==ee||t[35]!==V||t[36]!==te?(W=(0,$.jsx)(q,{type:`button`,size:`icon`,variant:`ghost`,disabled:T,onClick:M,"aria-label":ee,title:V,children:te}),t[32]=M,t[33]=T,t[34]=ee,t[35]=V,t[36]=te,t[37]=W):W=t[37];let ne;t[38]===r?ne=t[39]:(ne=r(`settings.mcp.sidebar.actions.addServerTitle`),t[38]=r,t[39]=ne);let re;t[40]===r?re=t[41]:(re=r(`settings.mcp.sidebar.actions.addServerTitle`),t[40]=r,t[41]=re);let ie;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,$.jsx)(Y,{name:`add`,className:`h-4 w-4`}),t[42]=ie):ie=t[42];let ae;t[43]!==P||t[44]!==ne||t[45]!==re?(ae=(0,$.jsx)(q,{"data-settings-item":`mcp.create`,size:`icon`,variant:`ghost`,onClick:P,"aria-label":ne,title:re,children:ie}),t[43]=P,t[44]=ne,t[45]=re,t[46]=ae):ae=t[46];let oe;t[47]!==W||t[48]!==ae?(oe=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[W,ae]}),t[47]=W,t[48]=ae,t[49]=oe):oe=t[49];let se;t[50]!==B||t[51]!==oe?(se=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[B,oe]}),t[50]=B,t[51]=oe,t[52]=se):se=t[52];let ce=se,le;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(Z,{children:(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(Oa,{})})}),t[53]=le):le=t[53];let de;t[54]!==d.data||t[55]!==d.error||t[56]!==d.isError||t[57]!==p.length||t[58]!==h||t[59]!==n||t[60]!==b||t[61]!==O||t[62]!==R||t[63]!==S||t[64]!==a||t[65]!==s||t[66]!==o||t[67]!==f.data||t[68]!==f.error||t[69]!==f.isError||t[70]!==r||t[71]!==A||t[72]!==ce?(de=(0,$.jsx)($.Fragment,{children:d.isError&&!d.data?(0,$.jsx)(Z,{label:ce,children:(0,$.jsx)(`div`,{className:`oc-settings-group-row py-12 text-center typography-meta text-[var(--status-error)]`,children:d.error.message})}):p.length===0?(0,$.jsx)(Z,{label:ce,children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Y,{name:`plug`,className:`mx-auto mb-3 h-10 w-10 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-medium`,children:r(`settings.mcp.sidebar.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:r(`settings.mcp.sidebar.empty.description`)})]})}):(0,$.jsxs)($.Fragment,{children:[O.length>0&&(0,$.jsx)(Z,{label:r(`settings.mcp.sidebar.group.projectServers`),children:O.map(e=>{let t=as((h[e.name]??(f.isError&&!f.data?{status:`failed`,error:f.error.message}:void 0))?.status),i=a===e.name,c=xr();return(0,$.jsxs)(Oi,{open:S===e.name,onOpenChange:t=>C(t?e.name:null),children:[(0,$.jsxs)(Ti,{render:(0,$.jsx)(`div`,{className:K(`oc-settings-group-row group relative flex items-center transition-colors duration-150 select-none`,i?`bg-interactive-selection`:`hover:bg-interactive-hover`),onContextMenu:c?void 0:t=>{t.preventDefault(),C(e.name)}}),children:[(0,$.jsxs)(`button`,{onClick:()=>{o(e.name),s(null),n?.()},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-primary/50`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(os,{tone:t,enabled:e.enabled}),(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate text-foreground`,children:e.name}),(0,$.jsx)(`span`,{title:e.type===`local`?r(`settings.mcp.sidebar.serverType.localTitle`):r(`settings.mcp.sidebar.serverType.remoteTitle`),children:e.type===`local`?(0,$.jsx)(Y,{name:`server`,className:`h-3 w-3 text-muted-foreground/60 flex-shrink-0`}):(0,$.jsx)(Y,{name:`global`,className:`h-3 w-3 text-muted-foreground/60 flex-shrink-0`})})]}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/60 truncate leading-tight pl-4`,children:e.type===`local`?e.command?.join(` `)??``:e.url??``})]}),(0,$.jsxs)(lr,{open:b===e.name,onOpenChange:t=>{t&&C(null),x(t?e.name:null)},children:[(0,$.jsx)(hr,{asChild:!0,children:(0,$.jsx)(q,{size:`xs`,variant:`ghost`,className:`flex-shrink-0 -mr-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100`,children:(0,$.jsx)(Y,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)($n,{align:`end`,className:`w-fit min-w-20`,children:R(e,Gn)})]})]}),(0,$.jsx)(Ei,{className:`w-fit min-w-20`,children:R(e,Di)})]},e.name)})}),A.length>0&&(0,$.jsx)(Z,{label:ce,children:A.map(e=>{let t=as((h[e.name]??(f.isError&&!f.data?{status:`failed`,error:f.error.message}:void 0))?.status),i=a===e.name,c=xr();return(0,$.jsxs)(Oi,{open:S===e.name,onOpenChange:t=>C(t?e.name:null),children:[(0,$.jsxs)(Ti,{render:(0,$.jsx)(`div`,{className:K(`oc-settings-group-row group relative flex items-center transition-colors duration-150 select-none`,i?`bg-interactive-selection`:`hover:bg-interactive-hover`),onContextMenu:c?void 0:t=>{t.preventDefault(),C(e.name)}}),children:[(0,$.jsxs)(`button`,{onClick:()=>{o(e.name),s(null),n?.()},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-primary/50`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(os,{tone:t,enabled:e.enabled}),(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate text-foreground`,children:e.name}),(0,$.jsx)(`span`,{title:e.type===`local`?r(`settings.mcp.sidebar.serverType.localTitle`):r(`settings.mcp.sidebar.serverType.remoteTitle`),children:e.type===`local`?(0,$.jsx)(Y,{name:`server`,className:`h-3 w-3 text-muted-foreground/60 flex-shrink-0`}):(0,$.jsx)(Y,{name:`global`,className:`h-3 w-3 text-muted-foreground/60 flex-shrink-0`})})]}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/60 truncate leading-tight pl-4`,children:e.type===`local`?e.command?.join(` `)??``:e.url??``})]}),(0,$.jsxs)(lr,{open:b===e.name,onOpenChange:t=>{t&&C(null),x(t?e.name:null)},children:[(0,$.jsx)(hr,{asChild:!0,children:(0,$.jsx)(q,{size:`xs`,variant:`ghost`,className:`flex-shrink-0 -mr-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100`,children:(0,$.jsx)(Y,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)($n,{align:`end`,className:`w-fit min-w-20`,children:R(e,Gn)})]})]}),(0,$.jsx)(Ei,{className:`w-fit min-w-20`,children:R(e,Di)})]},e.name)})}),A.length===0&&(0,$.jsx)(Z,{label:ce,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})})]})}),t[54]=d.data,t[55]=d.error,t[56]=d.isError,t[57]=p.length,t[58]=h,t[59]=n,t[60]=b,t[61]=O,t[62]=R,t[63]=S,t[64]=a,t[65]=s,t[66]=o,t[67]=f.data,t[68]=f.error,t[69]=f.isError,t[70]=r,t[71]=A,t[72]=ce,t[73]=de):de=t[73];let fe=g!==null,pe;t[74]===v?pe=t[75]:(pe=e=>{!e&&!v&&_(null)},t[74]=v,t[75]=pe);let me;t[76]===r?me=t[77]:(me=r(`settings.mcp.sidebar.deleteDialog.title`),t[76]=r,t[77]=me);let he;t[78]===me?he=t[79]:(he=(0,$.jsx)(Qt,{children:me}),t[78]=me,t[79]=he);let ge=g?.name||``,_e;t[80]!==r||t[81]!==ge?(_e=r(`settings.mcp.sidebar.deleteDialog.descriptionPrefix`,{name:ge}),t[80]=r,t[81]=ge,t[82]=_e):_e=t[82];let ve;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,$.jsx)(`code`,{className:`text-foreground`,children:`opencode.json`}),t[83]=ve):ve=t[83];let ye;t[84]===_e?ye=t[85]:(ye=(0,$.jsxs)($t,{children:[_e,` `,ve,`.`]}),t[84]=_e,t[85]=ye);let G;t[86]!==he||t[87]!==ye?(G=(0,$.jsxs)(Yt,{children:[he,ye]}),t[86]=he,t[87]=ye,t[88]=G):G=t[88];let be;t[89]===Symbol.for(`react.memo_cache_sentinel`)?(be=()=>_(null),t[89]=be):be=t[89];let xe;t[90]===r?xe=t[91]:(xe=r(`settings.common.actions.cancel`),t[90]=r,t[91]=xe);let Se;t[92]!==v||t[93]!==xe?(Se=(0,$.jsx)(q,{size:`sm`,variant:`ghost`,onClick:be,disabled:v,children:xe}),t[92]=v,t[93]=xe,t[94]=Se):Se=t[94];let Ce;t[95]!==v||t[96]!==r?(Ce=r(v?`settings.mcp.sidebar.actions.deleting`:`settings.common.actions.delete`),t[95]=v,t[96]=r,t[97]=Ce):Ce=t[97];let we;t[98]!==I||t[99]!==v||t[100]!==Ce?(we=(0,$.jsx)(q,{size:`sm`,onClick:I,disabled:v,children:Ce}),t[98]=I,t[99]=v,t[100]=Ce,t[101]=we):we=t[101];let Te;t[102]!==Se||t[103]!==we?(Te=(0,$.jsxs)(Xt,{children:[Se,we]}),t[102]=Se,t[103]=we,t[104]=Te):Te=t[104];let Ee;t[105]!==G||t[106]!==Te?(Ee=(0,$.jsxs)(Zt,{className:`max-w-md`,children:[G,Te]}),t[105]=G,t[106]=Te,t[107]=Ee):Ee=t[107];let De;t[108]!==fe||t[109]!==pe||t[110]!==Ee?(De=(0,$.jsx)(en,{open:fe,onOpenChange:pe,children:Ee}),t[108]=fe,t[109]=pe,t[110]=Ee,t[111]=De):De=t[111];let Oe;return t[112]!==de||t[113]!==De?(Oe=(0,$.jsxs)(`div`,{className:`oc-settings-page-content h-full overflow-y-auto bg-background p-3`,children:[le,de,De]}),t[112]=de,t[113]=De,t[114]=Oe):Oe=t[114],Oe};function cs(e){return{selectedMcpName:e.selectedMcpName,setSelectedMcp:e.setSelectedMcp,setMcpDraft:e.setMcpDraft,deleteMcp:e.deleteMcp}}function ls(e){return e.scope===`project`}function us(e){return e.scope!==`project`}function ds(e){return setTimeout(e,500)}function fs(e){J.error(e instanceof Error?e.message:String(e))}function ps(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ms(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function hs(e,t){return t===void 0?{ok:!1,error:e}:{ok:!1,error:e,parsed:t}}function gs(e,t,n){return{ok:!0,name:e,type:t,command:_s(n),url:typeof n.url==`string`?n.url.trim():``,environment:vs(n,`env`,`environment`),headers:vs(n,`headers`),oauthEnabled:ys(n),oauthClientId:typeof n.oauth==`object`&&n.oauth!==null?String(n.oauth.clientId??``).trim():``,oauthClientSecret:typeof n.oauth==`object`&&n.oauth!==null?String(n.oauth.clientSecret??``).trim():``,oauthScope:typeof n.oauth==`object`&&n.oauth!==null?String(n.oauth.scope??``).trim():``,oauthRedirectUri:typeof n.oauth==`object`&&n.oauth!==null?String(n.oauth.redirectUri??``).trim():``,timeout:bs(n),enabled:xs(n)}}function _s(e){let t=e.command,n=e.args;if(ms(t)&&ms(n))return[...t,...n];if(ms(t))return t;if(typeof t==`string`&&t.trim()){let e=t.trim().split(/\s+/);return ms(n)?[...e,...n]:e}return ms(n)?n:[]}function vs(e,...t){for(let n of t){let t=e[n];if(!ps(t))continue;let r=Object.entries(t).filter(([e,t])=>e&&typeof t==`string`);if(r.length>0)return r.map(([e,t])=>({key:e,value:String(t)}))}return[]}function ys(e){if(e.oauth===!1||e.oauth===null||e.oauth===void 0||!ps(e.oauth))return!1;let t=e.oauth;return!!(typeof t.clientId==`string`&&t.clientId.trim()||typeof t.clientSecret==`string`&&t.clientSecret.trim()||typeof t.scope==`string`&&t.scope.trim()||typeof t.redirectUri==`string`&&t.redirectUri.trim())}function bs(e){let t=e.timeout;if(typeof t==`number`&&Number.isFinite(t)&&t>0)return String(Math.floor(t));if(typeof t==`string`&&t.trim()){let e=Number(t);if(Number.isFinite(e)&&e>0)return String(Math.floor(e))}return``}function xs(e){return`disabled`in e&&e.disabled===!0?!1:`enabled`in e?!!e.enabled:!0}function Ss(e){let t=e.mcpServers;if(ps(t)){let e=Object.keys(t);if(e.length===1){let n=e[0],r=t[n];if(ps(r))return{name:n,entry:r}}if(e.length>1)return null}let n=Object.keys(e).filter(t=>{let n=e[t];return t!==`mcpServers`&&ps(n)});if(n.length===1){let t=n[0],r=e[t];if(Cs(r))return{name:t,entry:r}}return null}function Cs(e){return e.type===`local`||e.type===`remote`||Array.isArray(e.command)||typeof e.url==`string`||Array.isArray(e.args)}function ws(e,t){let n;try{let t=e.trim();if(!t)return hs(`No JSON content provided`);n=JSON.parse(t)}catch(e){return hs(e instanceof Error?`Invalid JSON: ${e.message}`:`Invalid JSON`)}if(!ps(n))return hs(`Expected a JSON object, not an array or primitive`);let r=n,i=r.mcpServers;if(ps(i)){let e=Object.keys(i);if(e.length===0)return hs(`mcpServers object is empty`,n);if(e.length>1)return hs(`Paste one server at a time. Found `+e.length+` servers in mcpServers`,n);let t=e[0],r=i[t];return ps(r)?gs(t,Ts(r),r):hs(`Server entry is not a valid object`,n)}let a=r.mcp;if(ps(a)){let e=Object.keys(a);if(e.length===0)return hs(`mcp object is empty`,n);if(e.length>1)return hs(`Paste one server at a time. Found `+e.length+` servers in mcp`,n);let t=e[0],r=a[t];return ps(r)?gs(t,Ts(r),r):hs(`Server entry in mcp is not a valid object`,n)}let o=Ss(r);if(o)return gs(o.name,Ts(o.entry),o.entry);if(Cs(r)){let e=Ts(r);return gs(typeof r.name==`string`&&r.name.trim()?r.name.trim():t?.fallbackName,e,r)}return hs(`No recognizable MCP server configuration found in JSON`,n)}function Ts(e){return e.type===`remote`?`remote`:e.type===`local`?`local`:typeof e.url==`string`&&e.url.trim()?`remote`:(Array.isArray(e.command)||typeof e.command==`string`||Array.isArray(e.args),`local`)}function Es(e,t,n){let r=n?.isNewServer??!1,i=e.name,a=r&&i?i:t.name??``;return{...t,name:a,type:e.type,command:e.type===`local`?e.command:[],url:e.type===`remote`?e.url:``,environment:e.environment,headers:e.type===`remote`?e.headers:[],oauthEnabled:e.type===`remote`&&e.oauthEnabled,oauthClientId:e.type===`remote`?e.oauthClientId:``,oauthClientSecret:e.type===`remote`?e.oauthClientSecret:``,oauthScope:e.type===`remote`?e.oauthScope:``,oauthRedirectUri:e.type===`remote`?e.oauthRedirectUri:``,timeout:e.type===`remote`?e.timeout:``,enabled:e.enabled}}function Ds(e){let t=[],n=``,r=!1,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(o===`'`&&!i){r=!r;continue}if(o===`"`&&!r){i=!i;continue}if((o===` `||o===` `)&&!r&&!i){n&&=(t.push(n),``);continue}n+=o}return n&&t.push(n),t}function Os(e){let t=e.trim();if(!t)return{code:null,context:null,stateKey:null};try{let e=new URL(t),n=e.searchParams.get(`code`);if(typeof n==`string`&&n.trim())return{code:n.trim(),context:Ir(e.searchParams),stateKey:Wr(e.searchParams)}}catch{}return{code:t,context:null,stateKey:null}}var ks=({value:e,onChange:t,pasteCommandTitle:n,pasteCommandLabel:r,pasteSuccess:i,clipboardReadFailed:a,preview:o})=>{let[s,c]=Q.useState(()=>e.join(`
|
|
3
3
|
`)),l=Q.useRef(e);Q.useEffect(()=>{JSON.stringify(l.current)!==JSON.stringify(e)&&(l.current=e,c(e.join(`
|
|
4
4
|
`)))},[e]);let u=e=>{t(e.split(`
|