@openchambery/web 1.19.15-beta.5 → 1.19.15
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-BYhhmoA2.js → AssistantView-xdL1EvpR.js} +1 -1
- package/dist/assets/{DiagramView-BhZGZR7a.js → DiagramView-DPgkYU-_.js} +1 -1
- package/dist/assets/MarkdownRenderer-CP7UVZdr.js +2 -0
- package/dist/assets/{MarkdownRendererImpl-DVRCygDq.js → MarkdownRendererImpl-BB1Q1RWk.js} +1 -1
- package/dist/assets/{MarkstreamRendererImpl-D9n5y8Ya.js → MarkstreamRendererImpl-BjQrUIcq.js} +1 -1
- package/dist/assets/{MobileDetailNavigation-CjegoTpK.js → MobileDetailNavigation-Cyzs6cuR.js} +1 -1
- package/dist/assets/{MobileShareBridge-C3psjnIM.js → MobileShareBridge-A-Z6jMUn.js} +1 -1
- package/dist/assets/MobileSurface-DjDa20gx.js +2 -0
- package/dist/assets/{MultiRunWindow-ail0iv6X.js → MultiRunWindow-Cg5x-kJV.js} +1 -1
- package/dist/assets/{SettingsView-D8k2DBQR.js → SettingsView-CYrTHDdp.js} +1 -1
- package/dist/assets/{SettingsWindow-X8noQG66.js → SettingsWindow-CF-0Zgxr.js} +1 -1
- package/dist/assets/{TerminalView-C3El4ekK.js → TerminalView-CShou18D.js} +1 -1
- package/dist/assets/{ToolOutputDialog-Dwzyq-3O.js → ToolOutputDialog-BvmxlNOa.js} +1 -1
- package/dist/assets/{appThemeRegistry-DEvc-N79.js → appThemeRegistry-iqSTUpPj.js} +1 -1
- package/dist/assets/{fileMentionTouchSelection-CPVr_gQU.js → fileMentionTouchSelection-CddGH2aH.js} +1 -1
- package/dist/assets/{gitApi-BLjX-HPB.js → gitApi-BwuaHHRQ.js} +1 -1
- package/dist/assets/{insertionBoundaries-J-X6p8SZ.js → insertionBoundaries-og6NBgdn.js} +1 -1
- package/dist/assets/{main-D_CE0IdS.js → main-31g3JiQx.js} +4 -4
- package/dist/assets/{main-DE9ZPE7v.js → main-VD-QBM47.js} +2 -2
- package/dist/assets/{miniChat-DYzPkhik.js → miniChat-DwCMTamY.js} +2 -2
- package/dist/assets/{mobile-Bgjyr78h.js → mobile-C7q1yowe.js} +2 -2
- package/dist/assets/{multirun-C2B8paly.js → multirun-DcN5T0lN.js} +1 -1
- package/dist/assets/{projectMeta-CqNKRnOv.js → projectMeta-moNJYCK4.js} +1 -1
- package/dist/assets/{renderElectronMiniChatApp-B485dcjy.js → renderElectronMiniChatApp-DVkgKA6A.js} +2 -2
- package/dist/assets/{renderMobileApp-CDH1hj4K.js → renderMobileApp-BgEXZhCO.js} +4 -4
- package/dist/assets/{runtimeConfig-CVXjAkK_.js → runtimeConfig-B49cxtgI.js} +1 -1
- package/dist/assets/{runtimeEndpointReset-CPp_AS4G.js → runtimeEndpointReset-9K_Dj1qR.js} +1 -1
- package/dist/assets/{sessionLookup-DZv5D4F6.js → sessionLookup-m3h8c4xR.js} +1 -1
- package/dist/assets/{useAppFontEffects-BC0f-NKT.js → useAppFontEffects-DRFi4TCE.js} +5 -5
- package/dist/assets/{useDesktopWindowControlsLayout-CDn9P73b.js → useDesktopWindowControlsLayout-BdNR3zMN.js} +1 -1
- package/dist/assets/{useEffectiveDirectory-BP7xec6F.js → useEffectiveDirectory-COoPja_2.js} +1 -1
- package/dist/assets/{useMobileNavigationStore-C0wYiZ5R.js → useMobileNavigationStore-Cn0-ozUB.js} +1 -1
- package/dist/assets/{useSessionAutoCleanup-BBUtm7fU.js → useSessionAutoCleanup-XwgyzsEd.js} +1 -1
- package/dist/assets/{useWorkerHighlightedLines-D7Jpcbjg.js → useWorkerHighlightedLines-GgcqEoKY.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
- package/dist/assets/MarkdownRenderer-4ZqkTOkJ.js +0 -2
- package/dist/assets/MobileSurface-B2W_Ivc3.js +0 -2
|
@@ -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,r as o,t as s}from"./runtime-switch-LvWDU-SL.js";import{n as c}from"./runtime-fetch-zIalUnbb.js";import{Cn as l,D as u,E as d,Gt as f,Ht as p,Jt as m,O as h,Qt as g,R as _,Sn as v,Ut as y,Wt as b,Yt as x,Zt as S,_n as C,a as w,d as T,f as E,fn as D,gn as O,i as k,k as A,l as j,nn as M,nt as N,r as P,tn as F,u as I,un as L,vn as R}from"./persistence-DwRBC4zl.js";import{a as z,g as B,h as V,i as H,l as U,m as ee,n as W,p as te,r as ne,t as re,u as ie}from"./desktopHosts-B052a4UK.js";import{n as ae}from"./desktopRelayRestore-OjKNXr10.js";import{a as oe,i as se,r as ce,t as le}from"./vendor-zustand-B4dlGEM2.js";import{nt as ue,rt as de}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as fe,Nt as pe,n as me,t as he}from"./platform-DQ5_LNKO.js";import{a as ge,o as _e,r as ve,t as G,u as ye,y as be}from"./useUIStore-CxOoCv7B.js";import{n as xe}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as Se}from"./vendor-react-DLPElpoQ.js";import{s as Ce}from"./vendor-tanstack-react-query-D7pys_c9.js";import{W as we}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{r as Te}from"./vendor-sonner-DVzioF3d.js";import{c as Ee,n as De}from"./vendor-reactuses-core-BnW6GxJt.js";import{n as Oe,r as ke,t as Ae}from"./clipboard-GUUNlWIv.js";import{a as je,i as Me,r as Ne}from"./MobileShareBridge-C3psjnIM.js";import{_ as Pe,a as Fe,d as Ie,g as Le,h as Re,i as ze,m as Be,s as Ve,t as He,v as Ue,x as We,y as Ge}from"./MobileDetailNavigation-CjegoTpK.js";import{$a as Ke,Aa as qe,Co as Je,Da as Ye,Gi as Xe,Gt as Ze,Hi as Qe,Ja as $e,Ka as et,Ki as tt,Ma as nt,Qa as rt,Qi as it,Qr as at,So as ot,Ui as st,Vi as ct,Xa as lt,Ya as ut,Za as dt,Zr as ft,_o as pt,ao as mt,co as ht,do as gt,eo as _t,fo as vt,go as yt,ho as bt,hr as K,io as xt,ja as St,ka as Ct,lo as wt,mo as Tt,ni as Et,no as Dt,oo as Ot,po as kt,qa as At,qi as jt,r as Mt,ro as Nt,si as Pt,so as Ft,ti as It,to as Lt,uo as Rt,wo as zt,xo as Bt,yo as Vt}from"./useMobileNavigationStore-C0wYiZ5R.js";import{i as Ht}from"./useAssistantUIStore-CLPCNoj_.js";import{a as Ut,i as Wt,n as Gt,o as Kt,r as qt,t as Jt}from"./dialog-DhMGbF_B.js";import{i as Yt,t as q}from"./utils-2ZK8yboQ.js";import{t as Xt}from"./AgentAvatar-m1jNq4bX.js";import{n as J}from"./Icon-D1BcR8Tz.js";import{t as Y}from"./button-9R-WgVMl.js";import{T as Zt,Z as Qt,_ as $t,a as en,b as tn,h as nn,i as rn,m as an,n as on,q as sn,x as cn}from"./projectMeta-CqNKRnOv.js";import{t as ln}from"./input-Cd_1HyQv.js";import{i as un,n as dn,t as fn}from"./tooltip-DSjr26A_.js";import{$ as pn,A as mn,At as hn,B as gn,Ct as _n,D as vn,Dt as yn,E as bn,Et as xn,It as Sn,Jt as Cn,Kt as wn,Mt as Tn,N as En,Nt as Dn,Ot as On,Pt as kn,Qt as An,R as jn,S as Mn,St as Nn,Tt as Pn,Ut as Fn,Wt as In,X,Y as Ln,Yt as Rn,Z as zn,Zt as Bn,ct as Vn,et as Hn,ft as Un,ht as Wn,j as Gn,jt as Kn,k as qn,kt as Jn,mt as Yn,nt as Xn,ot as Zn,pt as Qn,q as $n,qt as er,rt as tr,st as nr,t as rr,v as ir,w as ar,wt as or,x as sr,xt as cr,y as lr}from"./useSessionAutoCleanup-BBUtm7fU.js";import{n as ur}from"./useThemeSystem-DMzWVJaW.js";import{i as dr,r as fr}from"./OverlayScrollbar-Bahg_P3r.js";import{n as pr}from"./useRuntimeAPIs-DSLXJybW.js";import{A as mr,N as hr,i as gr,n as _r}from"./appThemeRegistry-DEvc-N79.js";import{n as vr}from"./MarkdownRenderer-4ZqkTOkJ.js";import{n as yr,t as br}from"./textarea-B9CmN13Z.js";import{a as xr}from"./url-CMQwHq4k.js";import{c as Sr}from"./markdown-worker-CptoICmq.js";import{t as Cr}from"./sortable-tabs-strip-dYW6SH62.js";import{$ as wr,A as Tr,B as Er,C as Dr,D as Or,E as kr,F as Ar,G as jr,H as Mr,I as Nr,J as Pr,K as Fr,L as Ir,M as Lr,N as Rr,O as zr,P as Br,Q as Vr,R as Hr,S as Ur,T as Wr,U as Gr,V as Kr,W as qr,X as Jr,Y as Yr,Z as Xr,_ as Zr,a as Qr,b as $r,c as ei,et as ti,f as ni,g as ri,h as ii,j as ai,k as oi,l as si,m as ci,n as li,nt as ui,q as di,s as fi,tt as pi,u as mi,v as hi,x as gi,z as Z}from"./MobileSurface-B2W_Ivc3.js";import{a as _i,n as vi,r as yi,t as bi}from"./context-menu-CSyOhRz8.js";import{n as xi,r as Si,t as Ci}from"./collapsible-Bbz9KiJf.js";import{n as wi,t as Ti}from"./vendor-yaml-DIcAK3EC.js";import{t as Ei}from"./vendor-qrcode-DAuVxiQR.js";var Di=Se(),Q=e(de(),1),$=ue(),Oi=`https://github.com/yee94/openchamber`,ki=`${Oi}/issues/new`,Ai=`https://discord.gg/ZYRSdnwwKA`,ji=`https://x.com/openchamber_dev`,Mi=800,Ni=()=>{try{let e=xe;return((typeof e.getConfig==`function`?e.getConfig():void 0)??e.config)?.OpenChamberOTA?.channel===`stable`?`stable`:`beta`}catch{return`beta`}},Pi=({initialUpdateDialogOpen:e=!1})=>{let{t}=Oe(),[n,r]=Q.useState(e),[i,a]=Q.useState(!1),[o,s]=Q.useState(!1),[l,u]=Q.useState(null),[d,f]=Q.useState(null),[p,m]=Q.useState(null),[h,g]=Q.useState(null),_=Gr(le(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:v}=dr(),y=G(e=>e.otaChannelOverride),b=G(e=>e.setOtaChannelOverride),x=me(),S=Ni(),C=y===`beta`||y===null&&S===`beta`,[w,T]=Q.useState(!1),[E,D]=Q.useState(()=>Et()),O=De(e=>{Pt(e),D(e)}),k=De(async e=>{if(e){b(`beta`),await Gr.getState().checkForUpdates();return}b(`stable`),await Gr.getState().checkForUpdates();let{info:t,otaDecision:n}=Gr.getState();t?.isChannelRollback===!0&&n?.primaryAction===`apply_ota`&&a(!0)}),A=De(()=>{a(!1),b(`beta`),Gr.getState().checkForUpdates()}),j=De(()=>{a(!1),r(!0),Gr.getState().downloadUpdate()}),M=De(e=>{e||A()}),N=l||t(`settings.openchamber.about.state.unknown`),P=De(async()=>{if(!w){T(!0);try{let{outcome:e,eventCount:n}=await It();if(e===`cancelled`)return;if(e===`failed`){K.error(t(`settings.openchamber.about.diagnostics.toast.failed`));return}K.success(t(n>0?`settings.openchamber.about.diagnostics.toast.exported`:`settings.openchamber.about.diagnostics.toast.empty`))}catch{K.error(t(`settings.openchamber.about.diagnostics.toast.failed`))}finally{T(!1)}}});Q.useEffect(()=>{let e=!1;return Fr().then(t=>{e||u(t)}),jr().then(t=>{e||f(t)}),()=>{e=!0}},[]);let F=qr(l,d)??N;Q.useEffect(()=>{let e=!1;return(async()=>{try{let t=await c(`/api/system/info`,{method:`GET`,headers:{Accept:`application/json`}});if(!t.ok)return;let n=await t.json().catch(()=>null),r=typeof n?.openchamberVersion==`string`&&n.openchamberVersion.trim().length>0?n.openchamberVersion.trim():null;e||m(r)}catch{e||m(null)}})(),()=>{e=!0}},[]),Q.useEffect(()=>{let e=!1;return(async()=>{try{let t=await c(`/api/opencode/upgrade-status`,{method:`GET`,headers:{Accept:`application/json`}});if(!t.ok)return;let n=await t.json().catch(()=>null),r=typeof n?.currentVersion==`string`&&n.currentVersion.trim().length>0?n.currentVersion.trim():null;e||g(r)}catch{e||g(null)}})(),()=>{e=!0}},[]);let I=Q.useRef(!1);Q.useEffect(()=>{if(_.checking)s(!0),I.current=!0;else if(o){let e=setTimeout(()=>{s(!1),I.current&&_.error?(K.error(t(`settings.openchamber.about.toast.checkFailed`),{description:_.error}),I.current=!1):I.current&&!_.available&&!_.error&&(K.success(t(`settings.openchamber.about.toast.latestVersion`)),I.current=!1)},Mi);return()=>clearTimeout(e)}},[t,_.checking,o,_.available,_.error]);let L=_.checking||o;return v?(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)(hn,{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)(Er,{label:t(`settings.openchamber.about.field.clientVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:F})}),(0,$.jsx)(Er,{label:t(`settings.openchamber.about.field.instanceOpenChamberVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:p||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Er,{label:t(`settings.openchamber.about.field.instanceOpenCodeVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:h||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Er,{children:(0,$.jsxs)(`div`,{className:`flex flex-nowrap items-center justify-end gap-2`,children:[(0,$.jsx)(Y,{asChild:!0,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,children:(0,$.jsxs)(`a`,{href:ki,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(J,{name:`question`,className:`size-4`}),t(`settings.openchamber.about.actions.submitFeedback`)]})}),!L&&_.available?(0,$.jsxs)(Y,{type:`button`,variant:`default`,size:`sm`,className:`whitespace-nowrap`,onClick:()=>r(!0),children:[(0,$.jsx)(J,{name:`download`,className:`size-4`}),_.info?.inAppApply?t(`settings.openchamber.about.actions.applyOtaToVersion`,{version:_.info?.version||``}):_.info?.manualUpdate?t(`settings.openchamber.about.actions.installNativeToVersion`,{version:_.info?.version||``}):t(`settings.openchamber.about.actions.updateToVersion`,{version:_.info?.version||``})]}):(0,$.jsxs)(Y,{type:`button`,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,onClick:()=>_.checkForUpdates(),disabled:L,children:[L?(0,$.jsx)(J,{name:`loader`,className:`size-4 animate-spin`}):(0,$.jsx)(J,{name:`refresh`,className:`size-4`}),t(L?`settings.openchamber.about.state.checking`:`settings.openchamber.about.actions.checkForUpdates`)]})]})}),_.error&&(0,$.jsx)(Er,{children:(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:_.error})}),x&&(0,$.jsx)(Kr,{itemId:`about.beta-updates`,checked:C,onChange:k,label:t(`settings.openchamber.about.betaUpdates.label`),description:t(`settings.openchamber.about.betaUpdates.description`),ariaLabel:t(`settings.openchamber.about.betaUpdates.label`),disabled:L}),(0,$.jsx)(Kr,{itemId:`about.diagnostics`,checked:E,onChange:O,label:t(`settings.openchamber.about.diagnostics.label`),ariaLabel:t(`settings.openchamber.about.diagnostics.label`)}),E&&(0,$.jsx)(Er,{itemId:`about.export-diagnostics`,label:t(`settings.openchamber.about.diagnostics.export`),children:(0,$.jsx)(Y,{type:`button`,variant:`outline`,size:`sm`,disabled:w,onClick:()=>void P(),children:t(w?`settings.openchamber.about.diagnostics.exporting`:`settings.openchamber.about.diagnostics.export`)})})]}),(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 text-center`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-5`,children:[(0,$.jsxs)(`a`,{href:Oi,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)(J,{name:`github-fill`,className:`size-5`}),(0,$.jsx)(`span`,{children:`GitHub`})]}),(0,$.jsxs)(`a`,{href:Ai,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)(J,{name:`discord-fill`,className:`size-5`}),(0,$.jsx)(`span`,{children:`Discord`})]})]}),(0,$.jsxs)(`a`,{href:ji,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)(J,{name:`twitter-xfill`,className:`size-5`}),(0,$.jsx)(`span`,{children:`@openchamber_dev`})]})]}),(0,$.jsx)(`p`,{className:`text-center typography-ui text-muted-foreground/60`,children:t(`aboutDialog.footerNote`)}),(0,$.jsx)(Mr,{open:n,onOpenChange:r,info:_.info,downloading:_.downloading,downloaded:_.downloaded,progress:_.progress,error:_.error,onDownload:_.downloadUpdate,onRestart:_.restartToUpdate,runtimeType:_.runtimeType}),(0,$.jsx)(Jt,{open:i,onOpenChange:M,children:(0,$.jsxs)(Gt,{showCloseButton:!1,className:`max-w-sm gap-5`,children:[(0,$.jsxs)(Ut,{children:[(0,$.jsx)(Kt,{children:t(`settings.openchamber.about.betaUpdates.rollback.title`)}),(0,$.jsx)(qt,{children:t(`settings.openchamber.about.betaUpdates.rollback.description`,{version:_.info?.version||``})})]}),(0,$.jsxs)(Wt,{children:[(0,$.jsx)(Y,{type:`button`,size:`sm`,variant:`ghost`,onClick:A,children:t(`settings.openchamber.about.betaUpdates.rollback.actions.cancel`)}),(0,$.jsx)(Y,{type:`button`,size:`sm`,onClick:j,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)(Er,{label:t(`settings.openchamber.about.field.clientVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:N})}),(0,$.jsx)(Er,{label:t(`settings.openchamber.about.field.instanceOpenChamberVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:p||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Er,{label:t(`settings.openchamber.about.field.instanceOpenCodeVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:h||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Er,{children:(0,$.jsxs)(`div`,{className:`flex flex-nowrap items-center justify-end gap-3`,children:[(0,$.jsx)(Y,{asChild:!0,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,children:(0,$.jsxs)(`a`,{href:ki,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(J,{name:`question`,className:`size-4`}),t(`settings.openchamber.about.actions.submitFeedback`)]})}),_.checking&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsx)(J,{name:`loader`,className:`h-4 w-4 animate-spin`}),(0,$.jsx)(`span`,{className:`typography-meta`,children:t(`settings.openchamber.about.state.checking`)})]}),!_.checking&&_.available&&(0,$.jsxs)(Y,{size:`sm`,variant:`default`,onClick:()=>r(!0),children:[(0,$.jsx)(J,{name:`download`,className:`h-4 w-4 mr-1`}),t(`settings.openchamber.about.actions.updateToVersion`,{version:_.info?.version||``})]}),!_.checking&&!_.available&&!_.error&&(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:t(`settings.openchamber.about.state.upToDate`)}),(0,$.jsx)(Y,{size:`sm`,variant:`outline`,onClick:()=>_.checkForUpdates(),disabled:_.checking,children:t(`settings.openchamber.about.actions.checkForUpdates`)})]})}),_.error&&(0,$.jsx)(Er,{children:(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:_.error})}),(0,$.jsx)(Kr,{itemId:`about.diagnostics`,checked:E,onChange:O,label:t(`settings.openchamber.about.diagnostics.label`),ariaLabel:t(`settings.openchamber.about.diagnostics.label`)}),E&&(0,$.jsx)(Er,{itemId:`about.export-diagnostics`,label:t(`settings.openchamber.about.diagnostics.export`),children:(0,$.jsx)(Y,{type:`button`,variant:`outline`,size:`sm`,disabled:w,onClick:()=>void P(),children:t(w?`settings.openchamber.about.diagnostics.exporting`:`settings.openchamber.about.diagnostics.export`)})}),(0,$.jsxs)(Er,{controlClassName:`flex-wrap`,children:[(0,$.jsxs)(`a`,{href:Oi,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)(J,{name:`github-fill`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:`GitHub`})]}),(0,$.jsxs)(`a`,{href:ji,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)(J,{name:`twitter-xfill`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:`@openchamber_dev`})]})]})]}),(0,$.jsx)(Mr,{open:n,onOpenChange:r,info:_.info,downloading:_.downloading,downloaded:_.downloaded,progress:_.progress,error:_.error,onDownload:_.downloadUpdate,onRestart:_.restartToUpdate,runtimeType:_.runtimeType})]})},Fi=`/assets/android-direct-share-1a0lp154.jpg`,Ii=`/assets/ios-share-sheet-B3Dlufnc.jpg`,Li=`/assets/select-assistant-C89IRspC.jpg`,Ri=`openchamber:assistant-share-welcome:v1`,zi=[{image:Ii,titleKey:`assistants.shareWelcome.example.chat.title`,descriptionKey:`assistants.shareWelcome.example.chat.description`},{image:Fi,titleKey:`assistants.shareWelcome.example.article.title`,descriptionKey:`assistants.shareWelcome.example.article.description`},{image:Li,titleKey:`assistants.shareWelcome.example.note.title`,descriptionKey:`assistants.shareWelcome.example.note.description`}],Bi=e=>{let t=(0,Di.c)(40),{enabled:n,open:r,onOpenChange:i}=e,a=n!==void 0&&n,{t:o}=Oe(),[s,c]=Ee(Ri,!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=De(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)(J,{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)(Kt,{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)(qt,{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)(Ut,{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=zi.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)(J,{name:`arrow-right-s`,className:`size-4`}),t[28]=w):w=t[28];let T;t[29]!==f||t[30]!==C?(T=(0,$.jsx)(Wt,{className:`border-t border-border px-5 py-4 sm:px-8 sm:py-5`,children:(0,$.jsxs)(Y,{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)(Gt,{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)(Jt,{open:u,onOpenChange:p,children:E}),t[36]=u,t[37]=E,t[38]=p,t[39]=D):D=t[39],D},Vi=`useCommandsStore`,Hi=new Set([`init`,`review`]),Ui=e=>new Promise(t=>setTimeout(t,e)),Wi=e=>Hi.has(e.name),Gi=async(e,t)=>{await kt(I,e,t),i()===t&&ot(`commands`,{source:Vi})},Ki=oe()(ce(se(e=>({selectedCommandName:null,commandDraft:null,setSelectedCommand:t=>e({selectedCommandName:t}),setCommandDraft:t=>e({commandDraft:t}),loadCommands:async()=>{let e=Tt(),t=i();try{return await kt(I,e,t),!0}catch{return!1}},createCommand:async t=>qi(`POST`,t.name,t,e),updateCommand:async(t,n)=>qi(`PATCH`,t,n,e),deleteCommand:async t=>qi(`DELETE`,t,void 0,e),getCommandByName:e=>vt().find(t=>t.name===e)}),{name:`commands-store`,storage:be(),partialize:e=>({selectedCommandName:e.selectedCommandName})}),{name:`commands-store`}));async function qi(e,t,n,r){Vt(`${{POST:`Creating`,PATCH:`Updating`,DELETE:`Deleting`}[e]} command configuration…`);let a=Tt(),o=i(),s=!1;try{let i={};if(e===`POST`&&(i.template=n?.template||``,n?.description&&(i.description=n.description),n?.agent&&(i.agent=n.agent),n?.model&&(i.model=n.model),n?.scope&&(i.scope=n.scope)),e===`PATCH`)for(let e of[`description`,`agent`,`model`,`template`])n?.[e]!==void 0&&(i[e]=n[e]);let l=a?`?directory=${encodeURIComponent(a)}`:``,u=await c(`/api/config/commands/${encodeURIComponent(t)}${l}`,{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(i)}}),d=await u.json().catch(()=>null);if(!u.ok)throw Error(d?.error||`Failed to ${e.toLowerCase()} command`);return s=d?.requiresReload??!0,s?await Ji(a,o,{message:d?.message,delayMs:d?.reloadDelayMs}):await Gi(a,o),e===`DELETE`&&r({selectedCommandName:null}),!0}catch(e){return console.error(`[CommandsStore] Command mutation failed:`,e),!1}finally{pt()}}async function Ji(e,t,n){n.delayMs&&await Ui(n.delayMs),Bt(n.message||`Refreshing commands…`),await Gi(e,t)}typeof window<`u`&&(window.__zustand_commands_store__=Ki),zt(e=>{e.source!==Vi&&Je(e,`commands`)&&Ki.getState().loadCommands()});var Yi=()=>{try{let e=yt.getState().getActiveProject?.();if(e?.path?.trim())return e.path.trim();let t=pe.getDirectory();if(t?.trim())return t.trim()}catch(e){console.warn(`[McpConfigStore] Error resolving config directory:`,e)}return null},Xi=e=>e?Object.entries(e).map(([e,t])=>({key:e,value:t})):[],Zi=e=>{let t=e.filter(e=>e.key.trim());if(t.length!==0)return Object.fromEntries(t.map(e=>[e.key.trim(),e.value]))},Qi=e=>{if(typeof e==`string`)return e.trim()||void 0},$i=800,ea=oe()(ce(se((e,t)=>({selectedMcpName:null,mcpDraft:null,setSelectedMcp:t=>e({selectedMcpName:t}),setMcpDraft:t=>e({mcpDraft:t}),loadMcpConfigs:async e=>{let t=Yi();try{return!e?.force&&Pr(I,t).length>0||await Jr(I,t,i()),!0}catch(e){return console.error(`[McpConfigStore] Failed to load MCP configs:`,e),!1}},createMcp:async(e,t)=>{Vt(`Creating MCP server configuration…`);let n=!1,r=`directory`in(t??{})?t?.directory?.trim()||null:Yi(),a=t?.transportIdentity??i();try{let t=ta(e),i=r?`?directory=${encodeURIComponent(r)}`:``,o=await c(`/api/config/mcp/${encodeURIComponent(e.name)}${i}`,{method:`POST`,headers:{"Content-Type":`application/json`,...r?{"x-opencode-directory":r}:{}},body:JSON.stringify(t)}),s=await o.json().catch(()=>null);if(!o.ok)throw Error(s?.error||`Failed to create MCP server`);return s?.requiresReload?(n=!0,await $e({message:s.message,delayMs:s.reloadDelayMs??$i,scopes:[`mcp`],queryDirectory:r,transportIdentity:a}),await Jr(I,r,a),await Xr(I,r,a),{ok:!0,reloadFailed:s?.reloadFailed===!0,message:s?.message,warning:s?.warning}):(await Jr(I,r,a),await Xr(I,r,a),{ok:!0,reloadFailed:s?.reloadFailed===!0,message:s?.message,warning:s?.warning})}catch(e){return console.error(`[McpConfigStore] Failed to create MCP:`,e),{ok:!1}}finally{n||pt()}},updateMcp:async(e,t,n)=>{Vt(`Updating MCP server configuration…`);let r=!1,a=`directory`in(n??{})?n?.directory?.trim()||null:Yi(),o=n?.transportIdentity??i();try{let n=ta(t),i=a?`?directory=${encodeURIComponent(a)}`:``,s=await c(`/api/config/mcp/${encodeURIComponent(e)}${i}`,{method:`PATCH`,headers:{"Content-Type":`application/json`,...a?{"x-opencode-directory":a}:{}},body:JSON.stringify(n)}),l=await s.json().catch(()=>null);if(!s.ok)throw Error(l?.error||`Failed to update MCP server`);return l?.requiresReload?(r=!0,await $e({message:l.message,delayMs:l.reloadDelayMs??$i,scopes:[`mcp`],queryDirectory:a,transportIdentity:o}),await Jr(I,a,o),await Xr(I,a,o),{ok:!0,reloadFailed:l?.reloadFailed===!0,message:l?.message,warning:l?.warning}):(await Jr(I,a,o),await Xr(I,a,o),{ok:!0,reloadFailed:l?.reloadFailed===!0,message:l?.message,warning:l?.warning})}catch(e){throw console.error(`[McpConfigStore] Failed to update MCP:`,e),e}finally{r||pt()}},deleteMcp:async(n,r)=>{Vt(`Deleting MCP server configuration…`);let a=!1,o=`directory`in(r??{})?r?.directory?.trim()||null:Yi(),s=r?.transportIdentity??i();try{let r=o?`?directory=${encodeURIComponent(o)}`:``,i=await c(`/api/config/mcp/${encodeURIComponent(n)}${r}`,{method:`DELETE`,headers:o?{"x-opencode-directory":o}:void 0}),l=await i.json().catch(()=>null);if(!i.ok)throw Error(l?.error||`Failed to delete MCP server`);return l?.requiresReload&&(a=!0,await $e({message:l.message,delayMs:l.reloadDelayMs??$i,scopes:[`mcp`],queryDirectory:o,transportIdentity:s})),t().selectedMcpName===n&&e({selectedMcpName:null}),di.getState().clearDiagnostic(n,o,s),await Jr(I,o,s),await Xr(I,o,s),{ok:!0,reloadFailed:l?.reloadFailed===!0,message:l?.message,warning:l?.warning}}catch(e){return console.error(`[McpConfigStore] Failed to delete MCP:`,e),{ok:!1}}finally{a||pt()}}}),{name:`mcp-config-store`,storage:be(),partialize:e=>({selectedMcpName:e.selectedMcpName})}),{name:`mcp-config-store`}));function ta(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=Zi(e.environment)??{}),e.headers!==void 0&&(t.headers=Zi(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:Qi(e.oauthClientId),clientSecret:Qi(e.oauthClientSecret),scope:Qi(e.oauthScope),redirectUri:Qi(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 na=()=>{let e=pe.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},ra=`useSkillsStore`,ia=e=>new Promise(t=>setTimeout(t,e)),aa=e=>{if(e&&Object.prototype.hasOwnProperty.call(e,`directory`))return typeof e.directory==`string`&&e.directory.trim()||null;let t=na();return typeof t==`string`&&t.trim()||null},oa=2e4,sa=300,ca=4,la=800,ua=200,da=2e3,fa=oe()(ce(se((e,t)=>({selectedSkillName:null,skillDraft:null,setSelectedSkill:t=>{e({selectedSkillName:t})},setSkillDraft:t=>{e({skillDraft:t})},loadSkills:async()=>{try{return await rt(I,na(),i()),!0}catch{return!1}},getSkillDetail:async e=>{try{let t=na(),n=t?`?directory=${encodeURIComponent(t)}`:``,r=await c(`/api/config/skills/${encodeURIComponent(e)}${n}`);return r.ok?await r.json():null}catch{return null}},createSkill:async(e,t)=>{Vt(`Creating skill...`);let n=!1;try{let r={name:e.name,description:e.description};e.instructions&&(r.instructions=e.instructions),e.scope&&(r.scope=e.scope),e.source&&(r.source=e.source),e.supportingFiles&&(r.supportingFiles=e.supportingFiles);let a=aa(t),o=i(),s=a?`?directory=${encodeURIComponent(a)}`:``,l=await c(`/api/config/skills/${encodeURIComponent(e.name)}${s}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)}),u=await l.json().catch(()=>null);if(!l.ok){let e=u?.error||`Failed to create skill`;throw Error(e)}return u?.requiresReload??!1?(n=!0,await ma({message:u?.message,delayMs:u?.reloadDelayMs,directory:a,transportIdentity:o}),!0):(await rt(I,a,o),await Nt(I,a,o),ot(`skills`,{source:ra}),!0)}catch{return!1}finally{n||pt()}},updateSkill:async(e,t,n)=>{Vt(`Updating skill...`);let r=!1;try{let a={};t.description!==void 0&&(a.description=t.description),t.instructions!==void 0&&(a.instructions=t.instructions),t.supportingFiles!==void 0&&(a.supportingFiles=t.supportingFiles),t.targetPath!==void 0&&(a.targetPath=t.targetPath);let o=aa(n),s=i(),l=o?`?directory=${encodeURIComponent(o)}`:``,u=await c(`/api/config/skills/${encodeURIComponent(e)}${l}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(a)}),d=await u.json().catch(()=>null);if(!u.ok){let e=d?.error||`Failed to update skill`;throw Error(e)}return d?.requiresReload??!1?(r=!0,await ma({message:d?.message,delayMs:d?.reloadDelayMs,directory:o,transportIdentity:s}),!0):(await rt(I,o,s),await Nt(I,o,s),ot(`skills`,{source:ra}),!0)}catch{return!1}finally{r||pt()}},deleteSkill:async(n,r)=>{Vt(`Deleting skill...`);let a=!1;try{let o=aa(r),s=i(),l=o?`?directory=${encodeURIComponent(o)}`:``,u=await c(`/api/config/skills/${encodeURIComponent(n)}${l}`,{method:`DELETE`}),d=await u.json().catch(()=>null);if(!u.ok){let e=d?.error||`Failed to delete skill`;throw Error(e)}return d?.requiresReload??!1?(a=!0,await ma({message:d?.message,delayMs:d?.reloadDelayMs,directory:o,transportIdentity:s}),!0):(await rt(I,o,s),await Nt(I,o,s),ot(`skills`,{source:ra}),t().selectedSkillName===n&&e({selectedSkillName:null}),!0)}catch{return!1}finally{a||pt()}},getSkillByName:e=>dt(I,na()).find(t=>t.name===e),readSupportingFile:async(e,t)=>{try{let n=na(),r=n?`&directory=${encodeURIComponent(n)}`:``,i=await c(`/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=na(),i=r?`?directory=${encodeURIComponent(r)}`:``;return(await c(`/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=na(),r=n?`?directory=${encodeURIComponent(n)}`:``;return(await c(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}${r}`,{method:`DELETE`})).ok}catch{return!1}}}),{name:`skills-store`,storage:be(),partialize:e=>({selectedSkillName:e.selectedSkillName})}),{name:`skills-store`}));typeof window<`u`&&(window.__zustand_skills_store__=fa);async function pa(e){let t=typeof e==`number`&&e>0?Math.min(e,sa):0;t>0&&await ia(t);let n=Date.now(),r=0,i=null;for(;Date.now()-n<oa;){r+=1,Bt(`Waiting for OpenCode… (attempt ${r})`);try{if(await pe.checkHealth())return;i=Error(`OpenCode health check reported not ready`)}catch(e){i=e}let e=Date.now()-n;await ia(r<=ca&&e<1200?sa:Math.min(la+Math.max(0,r-ca)*ua,da))}throw i||Error(`OpenCode did not become ready in time`)}async function ma(e){let t=e&&`directory`in e?e.directory?.trim()||null:na(),n=e?.transportIdentity??i();try{Bt(e?.message||`Refreshing skills…`)}catch{}try{if(await pa(e?.delayMs),i()!==n||(Bt(`Refreshing skills…`),await rt(I,t,n),i()!==n))return;await Nt(I,t,n),ot(`skills`,{source:ra})}catch(e){throw Bt(`OpenCode refresh failed. Please retry.`),await ia(1500),e}finally{pt()}}var ha=null;ha||=zt(e=>{if(e.source!==ra&&Je(e,`skills`)){let e=na(),t=i();rt(I,e,t).then(()=>Nt(I,e,t)).catch(()=>void 0)}});var ga=e=>{let t=(0,Di.c)(37),{className:n}=e,{t:r}=Oe(),i=yt(_a),a=yt(va),o=yt(ya),s=F(),c;t[0]===i?c=t[1]:(c=[...i].sort(ba),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=q(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`)?(_=q(`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)(J,{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)(J,{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)(Xn,{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(xa),t[25]=l,t[26]=w);let T;t[27]!==S||t[28]!==C||t[29]!==w?(T=(0,$.jsx)(X,{align:`start`,className:`w-auto`,children:(0,$.jsx)(pn,{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)(Ln,{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 _a(e){return e.projects}function va(e){return e.activeProjectId}function ya(e){return e.setActiveProject}function ba(e,t){return(e.label||e.path).localeCompare(t.label||t.path)}function xa(e){let t=e.path.split(`/`).filter(Boolean).pop()||e.path;return(0,$.jsx)(Hn,{value:e.id,children:(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-ui`,children:t})},e.id)}function Sa(e,t){return`opencode:sidebar-group:${e}:${t}`}var Ca=e=>{let t=(0,Di.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=Sa(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(wa),t[10]=e):e=t[10];let i;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(i=q(`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=q(`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)(J,{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=q(_),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(Ta),t[34]=y):y=t[34];let b;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(b=q(`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=q(`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)(J,{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 wa(e){return!e}function Ta(e){return!e}var Ea=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n;typeof e.permission==`string`&&typeof e.pattern==`string`&&typeof e.action==`string`&&(e.action===`allow`||e.action===`ask`||e.action===`deny`)&&t.push({permission:e.permission,pattern:e.pattern,action:e.action})}return t},Da=e=>{let t=new Map;for(let n of e)!n.permission||n.permission===`invalid`||n.pattern&&t.set(`${n.permission}::${n.pattern}`,n);return Array.from(t.values())},Oa=e=>{let t=Da(Ea(e));if(t.length===0)return;let n={};for(let e of t)e.permission&&((n[e.permission]||={})[e.pattern]=e.action);let r={};for(let[e,t]of Object.entries(n)){let n=Object.keys(t);if(n.length===1&&n[0]===`*`){r[e]=t[`*`];continue}r[e]=t}return Object.keys(r).length>0?r:void 0},ka=({onItemSelect:e})=>{let{t}=Oe(),[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}=lt(le(e=>({selectedAgentName:e.selectedAgentName,setSelectedAgent:e.setSelectedAgent,setAgentDraft:e.setAgentDraft,createAgent:e.createAgent,deleteAgent:e.deleteAgent,loadAgents:e.loadAgents}))),{data:b=[]}=Rt();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(et(e)){K.error(t(`settings.agents.sidebar.toast.builtInCannotDelete`));return}s(e),l(`delete`)},C=async e=>{et(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?K.warning(t(`settings.agents.page.toast.savedManualRestart`)):c===`delete`?K.success(t(`settings.agents.sidebar.toast.agentDeleted`,{name:o.name})):K.success(t(`settings.agents.sidebar.toast.agentReset`,{name:o.name})),w()):c===`delete`?K.error(t(`settings.agents.sidebar.toast.deleteFailed`)):K.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`?K.error(t(r?`settings.agents.sidebar.toast.definitionNotFound`:`settings.agents.sidebar.toast.deleteFailed`)):K.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}`;let i=e,a=e.model?.providerID&&e.model?.modelID?`${e.model.providerID}/${e.model.modelID}`:null,o=e;g({name:r,scope:i.scope||`user`,description:e.description,model:a,variant:e.variant,temperature:e.temperature,top_p:e.topP,prompt:e.prompt,mode:e.mode,permission:Oa(e.permission),disable:o.disable}),h(r)},D=e=>{a(e.name),r(e)},O=async()=>{if(!n)return;let e=i.trim().replace(/\s+/g,`-`);if(!e){K.error(t(`settings.agents.sidebar.toast.agentNameRequired`));return}if(e===n.name){r(null);return}if(b.some(t=>t.name===e)){K.error(t(`settings.agents.sidebar.toast.agentExists`));return}let a=n.model?.providerID&&n.model?.modelID?`${n.model.providerID}/${n.model.modelID}`:null,o=n,s=await _({name:e,description:n.description,model:a,variant:n.variant,temperature:n.temperature,top_p:n.topP,prompt:n.prompt,mode:n.mode,permission:Oa(n.permission),disable:o.disable,scope:o.scope});if(s.ok){let r=await v(n.name,o.scope);r.ok?(s.requiresManualRestart||r.requiresManualRestart?K.warning(t(`settings.agents.page.toast.savedManualRestart`)):K.success(t(`settings.agents.sidebar.toast.agentRenamed`,{name:e})),h(e)):K.error(t(`settings.agents.sidebar.toast.removeOldAfterRenameFailed`))}else K.error(t(`settings.agents.sidebar.toast.renameFailed`));r(null)},k=e=>{switch(e){case`primary`:return(0,$.jsx)(J,{name:`ai-agent`,className:`h-3 w-3 text-primary`});case`all`:return(0,$.jsx)(J,{name:`ai-agent-fill`,className:`h-3 w-3 text-primary`});case`subagent`:return(0,$.jsx)(J,{name:`robot`,className:`h-3 w-3 text-primary`});default:return null}},A=b.filter(e=>!At(e)),j=A.filter(et),M=A.filter(e=>!et(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)(Y,{"data-settings-item":`agents.create`,size:`icon`,variant:`ghost`,onClick:x,"aria-label":t(`settings.agents.page.title.new`),children:(0,$.jsx)(J,{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)(ga,{}),(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)(J,{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)(Aa,{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)(Ca,{label:n,count:r.length,storageKey:`agents`,variant:`settings-card`,labelPrefix:t(`settings.agents.sidebar.section.custom`),children:r.map(t=>(0,$.jsx)(Aa,{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)(Aa,{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)(Jt,{open:o!==null&&c!==null,onOpenChange:e=>{!e&&!u&&w()},children:(0,$.jsxs)(Gt,{className:`max-w-md`,children:[(0,$.jsxs)(Ut,{children:[(0,$.jsx)(Kt,{children:t(c===`delete`?`settings.agents.sidebar.dialog.deleteTitle`:`settings.agents.sidebar.dialog.resetTitle`)}),(0,$.jsx)(qt,{children:t(c===`delete`?`settings.agents.sidebar.dialog.deleteDescription`:`settings.agents.sidebar.dialog.resetDescription`,{name:o?.name??``})})]}),(0,$.jsxs)(Wt,{children:[(0,$.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:w,disabled:u,children:t(`settings.common.actions.cancel`)}),(0,$.jsx)(Y,{size:`sm`,onClick:T,disabled:u,children:t(c===`delete`?`settings.common.actions.delete`:`settings.common.actions.reset`)})]})]})}),(0,$.jsx)(Jt,{open:n!==null,onOpenChange:e=>!e&&r(null),children:(0,$.jsxs)(Gt,{children:[(0,$.jsxs)(Ut,{children:[(0,$.jsx)(Kt,{children:t(`settings.agents.sidebar.renameDialog.title`)}),(0,$.jsx)(qt,{children:t(`settings.agents.sidebar.renameDialog.description`,{name:n?.name??``})})]}),(0,$.jsx)(ln,{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)(Wt,{children:[(0,$.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:()=>r(null),children:t(`settings.common.actions.cancel`)}),(0,$.jsx)(Y,{size:`sm`,onClick:O,children:t(`settings.common.actions.rename`)})]})]})})]})},Aa=e=>{let t=(0,Di.c)(52),{agent:n,isSelected:r,onSelect:i,onDelete:a,onReset:o,onRename:s,onDuplicate:c,getAgentModeIcon:l,isMenuOpen:u,onMenuOpenChange:d}=e,{t:f}=Oe(),p=n,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=fr(),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)(J,{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)(J,{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)(J,{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)(J,{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=q(`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=(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate text-foreground`,children:n.name}),t[12]=n.name,t[13]=w);let T;t[14]!==n.mode||t[15]!==l?(T=l(n.mode),t[14]=n.mode,t[15]=l,t[16]=T):T=t[16];let E;t[17]!==n||t[18]!==p.scope||t[19]!==f?(E=(p.scope||et(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:et(n)?f(`settings.agents.sidebar.badge.system`):p.scope}),t[17]=n,t[18]=p.scope,t[19]=f,t[20]=E):E=t[20];let D;t[21]!==w||t[22]!==T||t[23]!==E?(D=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[w,T,E]}),t[21]=w,t[22]=T,t[23]=E,t[24]=D):D=t[24];let O;t[25]===n.description?O=t[26]:(O=n.description&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/60 truncate leading-tight`,children:n.description}),t[25]=n.description,t[26]=O);let k;t[27]!==i||t[28]!==D||t[29]!==O?(k=(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:[D,O]}),t[27]=i,t[28]=D,t[29]=O,t[30]=k):k=t[30];let A;t[31]===d?A=t[32]:(A=e=>{e&&_(!1),d(e)},t[31]=d,t[32]=A);let j;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(Xn,{asChild:!0,children:(0,$.jsx)(Y,{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)(J,{name:`more-2`,className:`h-3.5 w-3.5`})})}),t[33]=j):j=t[33];let M;t[34]===y?M=t[35]:(M=(0,$.jsx)(X,{align:`end`,className:`w-fit min-w-20`,children:y(zn)}),t[34]=y,t[35]=M);let N;t[36]!==u||t[37]!==A||t[38]!==M?(N=(0,$.jsxs)(Ln,{open:u,onOpenChange:A,children:[j,M]}),t[36]=u,t[37]=A,t[38]=M,t[39]=N):N=t[39];let P;t[40]!==k||t[41]!==N?(P=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:[k,N]}),t[40]=k,t[41]=N,t[42]=P):P=t[42];let F;t[43]!==P||t[44]!==C?(F=(0,$.jsx)(_i,{render:C,children:P}),t[43]=P,t[44]=C,t[45]=F):F=t[45];let I;t[46]===y?I=t[47]:(I=(0,$.jsx)(vi,{className:`w-fit min-w-20`,children:y(yi)}),t[46]=y,t[47]=I);let L;return t[48]!==g||t[49]!==F||t[50]!==I?(L=(0,$.jsxs)(bi,{open:g,onOpenChange:_,children:[F,I]}),t[48]=g,t[49]=F,t[50]=I,t[51]=L):L=t[51],L},ja=e=>[...e].sort((e,t)=>{let n=e.permission.localeCompare(t.permission);return n===0?e.pattern.localeCompare(t.pattern):n}),Ma=(e,t)=>{let n=ja(e),r=ja(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})},Na=(e,t)=>t?e.globalPermission!==t.globalPermission||!Ma(e.permissionRules,t.permissionRules):!1,Pa=e=>{let t=e.trim();return t===``?null:t},Fa=e=>{let t=e.trim();return t===``?null:t},Ia=e=>e.trim()||void 0,La=e=>e.trim()||null,Ra=({isNewAgent:e,agentName:t,draftScope:n,draftHasExplicitPermission:r,current:i,initial:a,permissionConfig:o})=>{if(e){let e=Na(i,a)||r,s=i.description.trim(),c=Pa(i.model),l=Fa(i.variant),u=Ia(i.prompt);return{name:t,mode:i.mode,...s?{description:s}:{},...c?{model:c}:{},...l?{variant:l}:{},...i.temperature===void 0?{}:{temperature:i.temperature},...i.topP===void 0?{}:{top_p:i.topP},...u?{prompt:u}:{},...e?{permission:o}:{},...n?{scope:n}:{}}}let s={name:t};if(!a)return s;if(i.description!==a.description){let e=i.description.trim();e&&(s.description=e)}return i.mode!==a.mode&&(s.mode=i.mode),i.model!==a.model&&(s.model=Pa(i.model)),i.variant!==a.variant&&(s.variant=Fa(i.variant)??null),i.temperature!==a.temperature&&(s.temperature=i.temperature??null),i.topP!==a.topP&&(s.top_p=i.topP??null),i.prompt!==a.prompt&&(s.prompt=La(i.prompt)),Na(i,a)&&(s.permission=o),s},za=[`*`,`read`,`edit`,`glob`,`grep`,`list`,`bash`,`task`,`skill`,`lsp`,`todoread`,`todowrite`,`webfetch`,`websearch`,`codesearch`,`external_directory`,`doom_loop`,`question`],Ba=e=>e===`allow`||e===`ask`||e===`deny`,Va=(e,t)=>`${e}::${t}`,Ha=e=>{let t=new Map;for(let n of e)!n.permission||n.permission===`invalid`||n.pattern&&Ba(n.action)&&t.set(Va(n.permission,n.pattern),{permission:n.permission,pattern:n.pattern,action:n.action});return Array.from(t.values())},Ua=e=>{let t=new Map;for(let n of Ha(e))t.set(Va(n.permission,n.pattern),n);return t},Wa=e=>[...e].sort((e,t)=>{let n=e.permission.localeCompare(t.permission);return n===0?e.pattern.localeCompare(t.pattern):n}),Ga=(e,t)=>{let n=Wa(Ha(e)),r=Wa(Ha(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})},Ka=e=>e.find(e=>e.permission===`*`&&e.pattern===`*`)?.action??`allow`,qa=(e,t)=>Ha(e).filter(e=>e.permission!==`*`||e.pattern!==`*`).filter(e=>e.pattern!==`*`||e.action!==t),Ja=e=>{if(Array.isArray(e))return Ha(e);if(Ba(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(Ba(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))Ba(i)&&t.push({permission:n,pattern:e,action:i})}return t},Ya=(e,t)=>{let n=Ha(t),r={};for(let e of n)(r[e.permission]||={})[e.pattern]=e.action;let i={};for(let[e,t]of Object.entries(r))if(e!==`*`){if(Object.keys(t).length===1&&t[`*`]){i[e]=t[`*`];continue}i[e]=t}return Object.keys(i).length===0?e:(e!==`allow`&&(i[`*`]=e),i)},Xa=(e,t)=>{let n=nt(t);if(!n)return[];let r=e.find(e=>e.id===n.providerId)?.models?.find(e=>e.id===n.modelId);return r?.variants?Object.keys(r.variants):[]},Za=()=>{let{t:e}=Oe(),t=it(e=>e.providers),{selectedAgentName:n,getAgentByName:r,createAgent:i,updateAgent:a,agentDraft:o,setAgentDraft:s}=lt(le(e=>({selectedAgentName:e.selectedAgentName,getAgentByName:e.getAgentByName,createAgent:e.createAgent,updateAgent:e.updateAgent,agentDraft:e.agentDraft,setAgentDraft:e.setAgentDraft}))),{data:c=[]}=Rt(),l=n?r(n):null,u=!!(o&&o.name===n&&!l),[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(void 0),[T,E]=Q.useState(void 0),[D,O]=Q.useState(``),[k,A]=Q.useState(`allow`),[j,M]=Q.useState([]),[N,P]=Q.useState([]),[F,I]=Q.useState(``),[L,R]=Q.useState(`*`),[z,B]=Q.useState(!1),[V,H]=Q.useState(!1),U=Q.useRef(null),ee=fe(e=>e.currentDirectory??null),[W,te]=Q.useState([]),ne=Q.useMemo(()=>Xa(t,y),[y,t]),re=ne.length>0,ie=Q.useMemo(()=>!x||!ne.includes(x)?`__default`:x,[x,ne]),ae=re&&(!x||ne.includes(x)),oe=Ze(e=>e.permission);Q.useEffect(()=>{let e=!1;return(async()=>{let t=await pe.listToolIds({directory:ee});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));te(Array.from(new Set(r)).sort((e,t)=>e.localeCompare(t)))})(),()=>{e=!0}},[ee]);let se=Q.useMemo(()=>{let e=new Set;for(let t of c){let n=Ha(Ja(t.permission));for(let t of n)t.permission&&t.permission!==`*`&&t.permission!==`invalid`&&e.add(t.permission)}for(let t of Object.values(oe))for(let n of t){let t=n.permission?.trim();t&&t!==`invalid`&&e.add(t)}for(let t of W)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[c,oe,W]),ce=Q.useMemo(()=>Ua(j),[j]),ue=Q.useMemo(()=>Ua(N),[N]),de=Q.useCallback(e=>ue.get(Va(e,`*`))?.action,[ue]),me=Q.useCallback(e=>N.filter(t=>t.permission===e&&t.pattern!==`*`).sort((e,t)=>e.pattern.localeCompare(t.pattern)),[N]),he=Q.useMemo(()=>{let e=new Set;for(let t of za)e.add(t);for(let t of se)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[se]),ge=Q.useCallback(e=>{let t=e===`*`?k:de(e)??k,n=me(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}},[me,de,k]),_e=Q.useCallback(t=>e(t===`allow`?`settings.common.permission.allow`:t===`deny`?`settings.common.permission.deny`:`settings.common.permission.ask`),[e]),ve=Q.useCallback(t=>t===`global`?e(`settings.common.scope.global`):_e(t),[_e,e]),G=Q.useMemo(()=>{let e=new Set;for(let t of za)e.add(t);for(let t of se)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[se]),ye=Q.useCallback((e,t,n)=>{P(r=>{let i=Ua(r);return i.set(Va(e,t),{permission:e,pattern:t,action:n}),Array.from(i.values())})},[]),be=Q.useCallback((e,t)=>{P(n=>{let r=Ua(n);return r.delete(Va(e,t)),Array.from(r.values())})},[]),xe=Q.useCallback((e,t)=>{let n=ce.get(Va(e,t));if(n){ye(e,t,n.action);return}be(e,t)},[ce,be,ye]),Se=Q.useCallback((e,t,n)=>{ye(e,t,n)},[ye]),Ce=Q.useCallback(e=>{A(e),P(t=>t.filter(t=>t.pattern!==`*`||t.action!==e))},[]),we=Q.useCallback(t=>{let n=F.trim();if(!n){K.error(e(`settings.agents.page.toast.permissionNameRequired`));return}let r=L.trim()||`*`;if(n===`*`&&r===`*`){Ce(t),I(``),R(`*`);return}r===`*`&&n!==`*`&&t===k?be(n,`*`):ye(n,r,t),I(``),R(`*`)},[k,F,L,be,Ce,e,ye]),Te=Q.useCallback(t=>t===`*`?e(`settings.agents.page.permissions.defaultLabel`):t===`webfetch`?`WebFetch`:t===`websearch`?`WebSearch`:t===`codesearch`?`CodeSearch`:t===`doom_loop`?`Doom Loop`:t===`external_directory`?`External Directory`:t===`todowrite`?`TodoWrite`:t===`todoread`?`TodoRead`:t.split(/[_-]+/g).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),[e]);Q.useEffect(()=>{I(``),R(`*`);let e=e=>{let t=Ha(e),n=Ka(t),r=qa(t,n);return A(n),M(r),P(r),{global:n,rules:r}};if(u&&o){let t=o.name||``,n=o.scope||`user`,r=o.description||``,i=o.mode||`subagent`,a=o.model||``,s=o.variant||``,c=o.temperature??void 0,l=o.top_p??void 0,u=o.prompt||``;f(t),m(n),g(r),v(i),b(a),S(s),w(c),E(l),O(u);let d=e(Ja(o.permission));U.current={draftName:t,draftScope:n,description:r,mode:i,model:a,variant:s,temperature:c,topP:l,prompt:u,globalPermission:d.global,permissionRules:d.rules};return}if(l&&n===l.name){let t=l.description||``,n=l.mode||`subagent`,r=l.model?.providerID&&l.model?.modelID?`${l.model.providerID}/${l.model.modelID}`:``,i=l.variant||``,a=l.temperature,o=l.topP,s=l.prompt||``;g(t),v(n),b(r),S(i),w(a),E(o),O(s);let c=e(Ja(l.permission));U.current={draftName:``,draftScope:`user`,description:t,mode:n,model:r,variant:i,temperature:a,topP:o,prompt:s,globalPermission:c.global,permissionRules:c.rules}}},[o,u,l,n]);let Ee=Q.useMemo(()=>{let e=U.current;return e?!!(u&&(d!==e.draftName||p!==e.draftScope)||h!==e.description||_!==e.mode||y!==e.model||x!==e.variant||C!==e.temperature||T!==e.topP||D!==e.prompt||k!==e.globalPermission||!Ga(N,e.permissionRules)):!1},[h,d,p,k,u,_,y,N,D,C,T,x]);return n?(0,$.jsx)(yr,{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:u?e(`settings.agents.page.title.new`):n}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:e(u?`settings.agents.page.subtitle.new`:`settings.agents.page.subtitle.edit`)})]})}),(0,$.jsxs)(Z,{label:e(`settings.agents.page.section.identityRole`),children:[u&&(0,$.jsxs)(Er,{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)(ln,{value:d,onChange:e=>f(e.target.value),placeholder:e(`settings.agents.page.field.agentNamePlaceholder`),className:`h-7 w-40 px-2`})]}),(0,$.jsxs)(an,{value:p,onValueChange:e=>m(e),children:[(0,$.jsx)(tn,{className:`w-fit min-w-[100px]`,children:(0,$.jsx)(cn,{placeholder:e(`settings.agents.page.field.scopePlaceholder`)})}),(0,$.jsxs)(nn,{align:`end`,children:[(0,$.jsx)($t,{value:`user`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{name:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.global`)})]})}),(0,$.jsx)($t,{value:`project`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{name:`folder`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.project`)})]})})]})]})]}),(0,$.jsx)(Er,{label:e(`settings.common.field.description`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(br,{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)(Er,{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)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(J,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(dn,{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)(Y,{variant:`chip`,size:`xs`,"aria-pressed":_===`primary`,onClick:()=>v(`primary`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.primary`)}),(0,$.jsx)(Y,{variant:`chip`,size:`xs`,"aria-pressed":_===`subagent`,onClick:()=>v(`subagent`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.subagent`)}),(0,$.jsx)(Y,{variant:`chip`,size:`xs`,"aria-pressed":_===`all`,onClick:()=>v(`all`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.all`)})]})})]}),(0,$.jsxs)(Z,{label:e(`settings.agents.page.section.modelParameters`),children:[(0,$.jsx)(Er,{itemId:`agents.model`,label:e(`settings.agents.page.field.overrideModel`),children:(0,$.jsx)(gn,{providerId:nt(y)?.providerId??``,modelId:nt(y)?.modelId??``,onChange:(e,t)=>{b(e&&t?`${e}/${t}`:``),S(``)},className:`oc-settings-inline-value`})}),(0,$.jsx)(Er,{itemId:`agents.variant`,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:e(`settings.agents.page.field.variant`)}),(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(J,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(dn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.agents.page.field.variantTooltip`)})]})]}),description:e(`settings.agents.page.field.variantHint`),children:ae?(0,$.jsxs)(an,{value:ie,onValueChange:e=>S(e===`__default`?``:e),children:[(0,$.jsx)(tn,{className:`w-fit min-w-[10rem] max-w-full`,children:(0,$.jsx)(cn,{placeholder:e(`settings.agents.page.field.variantPlaceholder`),children:t=>t===`__default`?e(`chat.modelControls.default`):t})}),(0,$.jsxs)(nn,{children:[(0,$.jsx)($t,{value:`__default`,children:e(`chat.modelControls.default`)}),ne.map(e=>(0,$.jsx)($t,{value:e,children:e},e))]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ln,{value:x,onChange:e=>S(e.target.value),placeholder:e(`settings.agents.page.field.variantPlaceholder`),disabled:!y&&!x,className:`h-7 w-40 max-w-full`}),x&&(0,$.jsx)(Y,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>S(``),className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":e(`settings.common.actions.clear`),title:e(`settings.common.actions.clear`),children:(0,$.jsx)(J,{name:`close`,className:`h-3.5 w-3.5`})})]})}),(0,$.jsxs)(Er,{itemId:`agents.temperature`,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:e(`settings.agents.page.field.temperature`)}),(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(J,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(dn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.agents.page.field.temperatureTooltip`)})]})]}),description:e(`settings.agents.page.field.temperatureRange`),children:[(0,$.jsx)(Ir,{value:C,fallbackValue:.7,onValueChange:w,onClear:()=>w(void 0),min:0,max:2,step:.1,inputMode:`decimal`,placeholder:`—`,emptyLabel:`—`,className:`w-16`}),C!==void 0&&(0,$.jsx)(Y,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>w(void 0),className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":e(`settings.agents.page.field.clearTemperatureAria`),title:e(`settings.common.actions.clear`),children:(0,$.jsx)(J,{name:`close`,className:`h-3.5 w-3.5`})})]}),(0,$.jsxs)(Er,{itemId:`agents.top-p`,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:e(`settings.agents.page.field.topP`)}),(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(J,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(dn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.agents.page.field.topPTooltip`)})]})]}),description:e(`settings.agents.page.field.topPRange`),children:[(0,$.jsx)(Ir,{value:T,fallbackValue:.9,onValueChange:E,onClear:()=>E(void 0),min:0,max:1,step:.1,inputMode:`decimal`,placeholder:`—`,emptyLabel:`—`,className:`w-16`}),T!==void 0&&(0,$.jsx)(Y,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>E(void 0),className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":e(`settings.agents.page.field.clearTopPAria`),title:e(`settings.common.actions.clear`),children:(0,$.jsx)(J,{name:`close`,className:`h-3.5 w-3.5`})})]})]}),(0,$.jsx)(Hr,{itemId:`agents.system-prompt`,label:e(`settings.agents.page.section.systemPrompt`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(br,{embedded:!0,value:D,onChange:e=>O(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)(Y,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>B(e=>!e),children:e(z?`settings.agents.page.permissions.hideEditor`:`settings.agents.page.permissions.advancedEditor`)})]}),children:z?(0,$.jsxs)(`div`,{className:`space-y-6 p-2`,children:[(0,$.jsx)(Er,{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)(an,{value:k,onValueChange:e=>Ce(e),children:[(0,$.jsx)(tn,{className:`w-[100px]`,children:(0,$.jsx)(cn,{children:_e(k)})}),(0,$.jsxs)(nn,{children:[(0,$.jsx)($t,{value:`allow`,children:e(`settings.common.permission.allow`)}),(0,$.jsx)($t,{value:`ask`,children:e(`settings.common.permission.ask`)}),(0,$.jsx)($t,{value:`deny`,children:e(`settings.common.permission.deny`)})]})]})}),(0,$.jsx)(`div`,{className:`space-y-4`,children:he.filter(e=>e!==`*`).map(t=>{let n=Te(t),{defaultAction:r,patternRulesCount:i}=ge(t),a=de(t),o=a??`global`,s=me(t),c=[`allow`,`ask`,`deny`].filter(e=>e!==k);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)(Y,{size:`sm`,variant:`ghost`,onClick:()=>xe(t,`*`),className:`px-1.5 py-0 h-5`,children:(0,$.jsx)(J,{name:`subtract`,className:`h-3.5 w-3.5 text-muted-foreground hover:text-foreground`})})]}),(0,$.jsxs)(an,{value:o,onValueChange:e=>{if(e===`global`){be(t,`*`);return}ye(t,`*`,e)},children:[(0,$.jsx)(tn,{className:`w-[90px]`,children:(0,$.jsx)(cn,{children:ve(o)})}),(0,$.jsxs)(nn,{children:[(0,$.jsx)($t,{value:`global`,children:e(`settings.common.scope.global`)}),c.map(e=>(0,$.jsx)($t,{value:e,className:`capitalize`,children:_e(e)},e))]})]})]}),s.map(t=>{let n=Va(t.permission,t.pattern),r=ce.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)(Y,{size:`sm`,variant:`ghost`,onClick:()=>i?be(t.permission,t.pattern):xe(t.permission,t.pattern),className:`px-1.5 py-0 h-5`,children:(0,$.jsx)(J,{name:`subtract`,className:`h-3.5 w-3.5 text-muted-foreground hover:text-foreground`})})]}),(0,$.jsxs)(an,{value:t.action,onValueChange:e=>Se(t.permission,t.pattern,e),children:[(0,$.jsx)(tn,{className:`w-[90px]`,children:(0,$.jsx)(cn,{children:_e(t.action)})}),(0,$.jsxs)(nn,{children:[(0,$.jsx)($t,{value:`allow`,children:e(`settings.common.permission.allow`)}),(0,$.jsx)($t,{value:`ask`,children:e(`settings.common.permission.ask`)}),(0,$.jsx)($t,{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)(an,{value:F,onValueChange:I,children:[(0,$.jsx)(tn,{className:`w-full sm:w-[160px]`,children:F?(0,$.jsx)(`span`,{className:`truncate`,children:Te(F)}):(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e(`settings.agents.page.permissions.permissionPlaceholder`)})}),(0,$.jsx)(nn,{children:G.map(e=>(0,$.jsx)($t,{value:e,children:(0,$.jsx)(`div`,{className:`flex items-center justify-between gap-2 w-full`,children:(0,$.jsx)(`span`,{children:Te(e)})})},e))})]}),(0,$.jsx)(ln,{value:L,onChange:e=>R(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)(Y,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>we(`allow`),children:e(`settings.common.permission.allow`)}),(0,$.jsx)(Y,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>we(`ask`),children:e(`settings.common.permission.ask`)}),(0,$.jsx)(Y,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>we(`deny`),children:e(`settings.common.permission.deny`)})]})]})]})]}):(0,$.jsx)($.Fragment,{children:he.map(t=>{let{defaultAction:n,patternRulesCount:r,patternSummary:i,hasDefaultHint:a}=ge(t),o=Te(t),s=a?`${n} (env blocked)`:n;return(0,$.jsx)(Er,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:o}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 font-mono hidden sm:inline-block`,children:t})]}),children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[r>0?(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground bg-[var(--surface-muted)] px-1.5 py-0.5 rounded`,children:e(`settings.agents.page.permissions.globalSummary`,{summary:s})}):(0,$.jsx)(`span`,{className:q(`typography-micro capitalize px-1.5 py-0.5 rounded`,s===`allow`?`text-[var(--status-success)] bg-[var(--status-success)]/10`:s===`deny`?`text-[var(--status-error)] bg-[var(--status-error)]/10`:`text-[var(--status-warning)] bg-[var(--status-warning)]/10`),children:s}),r>0&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground bg-[var(--surface-muted)] px-1.5 py-0.5 rounded`,children:e(`settings.agents.page.permissions.rulesSummary`,{summary:i})})]})},t)})})})}),(0,$.jsx)(`div`,{className:`px-2 py-1`,children:(0,$.jsx)(Y,{onClick:async()=>{let t=u?d.trim().replace(/\s+/g,`-`):n?.trim();if(!t){K.error(e(`settings.agents.sidebar.toast.agentNameRequired`));return}if(u&&c.some(e=>e.name===t)){K.error(e(`settings.agents.sidebar.toast.agentExists`));return}H(!0);try{let n={description:h,mode:_,model:y,variant:x,temperature:C,topP:T,prompt:D,globalPermission:k,permissionRules:N},r=U.current,c=r?{description:r.description,mode:r.mode,model:r.model,variant:r.variant,temperature:r.temperature,topP:r.topP,prompt:r.prompt,globalPermission:r.globalPermission,permissionRules:r.permissionRules}:null,l=Ra({isNewAgent:u,agentName:t,draftScope:u?p:void 0,draftHasExplicitPermission:u&&o?.permission!==void 0,current:n,initial:c,permissionConfig:Ya(k,N)}),d;u?(d=await i(l),d.ok&&s(null)):d=await a(t,l),d.ok?d.requiresManualRestart?K.warning(e(`settings.agents.page.toast.savedManualRestart`)):K.success(e(u?`settings.agents.page.toast.created`:`settings.agents.page.toast.updated`)):K.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`);K.error(n)}finally{H(!1)}},disabled:V||!Ee,size:`xs`,className:`!font-normal`,children:e(V?`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)(J,{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`)})]})})},Qa=e=>{let t=(0,Di.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=q(`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)(Ln,{children:[(0,$.jsx)(Xn,{asChild:!0,children:(0,$.jsx)(Y,{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)(J,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(X,{align:`end`,className:`w-fit min-w-20`,children:s.map($a)})]}),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 $a(e){let t=e.icon;return(0,$.jsxs)(zn,{onClick:t=>{t.stopPropagation(),e.onClick()},className:q(e.destructive&&`text-destructive focus:text-destructive`),children:[t&&(0,$.jsx)(J,{name:t,className:`h-4 w-4 mr-px`}),e.label]},e.label)}var eo=e=>{let t=(0,Di.c)(8),{header:n,footer:r,children:i,className:a,variant:o}=e,s=o===void 0?`sidebar`:o,c=F(),l=s===`background`||c?`bg-background`:`bg-sidebar`,u;t[0]!==l||t[1]!==a?(u=q(`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},to=`__managed_workspace__`,no=`__current_workspace__`,ro=`默认助理`,io=()=>{let e=it.getState(),t=e.settingsDefaultModel;if(t){let e=nt(t);if(e?.providerId&&e?.modelId)return{providerID:e.providerId,modelID:e.modelId}}if(e.currentProviderId&&e.currentModelId)return{providerID:e.currentProviderId,modelID:e.currentModelId};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},ao=(e=``)=>{let t=io();return{enabled:!0,name:e,defaultPrompt:``,workspacePath:null,providerID:t?.providerID??``,modelID:t?.modelID??``,variant:null}},oo=e=>({enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:e.providerID,modelID:e.modelID,variant:e.variant}),so=e=>({enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:e.providerID,modelID:e.modelID,variant:e.variant??null}),co=e=>e.label?.trim()||e.path.replace(/[\\/]+$/,``).split(/[\\/]/).filter(Boolean).at(-1)||e.path,lo=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))},uo=e=>!!e&&typeof e==`object`&&!Array.isArray(e),fo=e=>{if(!uo(e)||!uo(e.schedule)||!uo(e.execution)||!uo(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`},po=(e,t)=>{let n=lo(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??``})},mo={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)]`}},ho=e=>`${e.projectId}:${e.task.id}`,go=e=>{let t=(0,Di.c)(31),{assistantID:n}=e,{t:r}=Oe(),i=Ue(n),a=i.isError,o=Pe(n,a),s=We(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(bo),u;t[0]===i.data?.tasks?u=t[1]:(u=i.data?.tasks.some(xo),t[0]=i.data?.tasks,t[1]=u);let d=!!u,f=(s.data?.tasks??[]).filter(e=>c.has(ho(e))),p=[...i.data?l:a?f:[]].sort(So),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,_=De(Co),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=De(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)(Er,{label:r(`common.loading`),children:(0,$.jsx)(J,{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=mo[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)(Er,{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)(J,{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:po(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)(J,{name:n.icon,className:`size-3.5 ${t===`running`?`animate-spin`:``}`}),i]}),(0,$.jsx)(J,{name:`arrow-right-s`,className:`size-4`})]}),(0,$.jsx)(Y,{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})})})]},ho(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)(Er,{label:r(`assistants.settings.scheduledTasks.loadError`),children:(0,$.jsx)(Y,{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)(Er,{label:r(`assistants.settings.scheduledTasks.empty`),children:(0,$.jsx)(J,{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},_o=e=>{let t=(0,Di.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)(J,{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},vo=({onItemSelect:e})=>{let{t}=Oe(),n=Ge(),r=Le(),i=n.data,a=Ht(e=>e.settingsSelectedAssistantID),o=Ht(e=>e.selectSettingsAssistant),s=Ht(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=De(()=>{s(),e?.()}),d=De(async e=>{if(i)try{if(await Be(e,i.revision),e&&i.assistants.length===0){let e=io();if(e){let t=await ze({enabled:!0,name:ro,defaultPrompt:``,workspacePath:null,providerID:e.providerID,modelID:e.modelID});o(t.id)}}}catch{Te.error(t(`assistants.settings.toast.toggleFailed`))}});return r.isSuccess&&!r.data.supported?null:(0,$.jsx)(eo,{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)(Kr,{itemId:`assistants.instance-enabled`,checked:i?.enabled??!1,onChange:d,label:t(`assistants.settings.instanceEnabled`),ariaLabel:t(`assistants.settings.instanceEnabled`)})}),(0,$.jsx)(Bi,{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)(Y,{"data-settings-item":`assistants.create`,variant:`ghost`,size:`icon`,onClick:u,"aria-label":t(`assistants.settings.create`),children:(0,$.jsx)(J,{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)(J,{name:`loader-4`,className:`mr-2 size-4 animate-spin`}),t(`common.loading`)]}):i?.assistants.length?i.assistants.map(t=>{let n=je(t.name);return(0,$.jsx)(Qa,{title:n.displayName,selected:a===t.id,onSelect:()=>{o(t.id),e?.()},icon:(0,$.jsx)(Xt,{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`)})})})},yo=({onItemDeleted:e,assistantID:t})=>{let{t:n}=Oe(),r=Ge(),i=Le(),a=r.data,o=yt(e=>e.projects),s=Ht(e=>t??e.settingsSelectedAssistantID),c=Ht(e=>e.selectSettingsAssistant),l=Ht(e=>e.defaultShareAssistant),u=Ht(e=>e.setDefaultShareAssistant),d=Ht(e=>e.createRequestRevision),f=Ht(e=>e.requestCreate),[p,m]=Q.useState(ao),[h,g]=Q.useState(!1),_=Q.useRef(0),v=a?.assistants.find(e=>e.id===s)??null,y=v?je(v.name):null,b=je(p.name),x=p.workspacePath??v?.managedWorkspacePath??null,S=gt(x,{enabled:!0}).data??[];Q.useEffect(()=>{v&&m(oo(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(ao(a?.assistants.length?``:ro)),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&&Me()},[a?.revision,r.isSuccess]);let C=(e,t)=>{m(n=>({...n,[e]:t}))},w=De(()=>f()),T=De(async()=>{if(!(t!==void 0&&!v)){if(!p.name.trim()||!p.providerID||!p.modelID){Te.error(n(`assistants.settings.validation.required`));return}g(!0);try{let e=v?await Re(v,so(p)):await ze(p);t===void 0&&c(e.id),Te.success(n(`assistants.settings.toast.saved`))}catch{Te.error(n(`assistants.settings.toast.saveFailed`))}finally{g(!1)}}}),E=De(async()=>{if(!(!v||!window.confirm(n(`assistants.settings.deleteConfirm`,{name:v.name})))){g(!0);try{if(await Fe(v),l?.assistantID===v.id){let e=await Ve();e.serverInstanceID&&l.serverInstanceID===e.serverInstanceID&&u(null)}t===void 0&&c(null),e?.(),Te.success(n(`assistants.settings.toast.deleted`))}catch{Te.error(n(`assistants.settings.toast.deleteFailed`))}finally{g(!1)}}}),D=De(async(e,t)=>{if(!t){u(null),Ne();return}try{let t=await Ve();if(!t.supported||!t.serverInstanceID)return;u({serverInstanceID:t.serverInstanceID,assistantID:e}),await Ne()}catch{Te.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?to:O?O.id:no,j=p.workspacePath===null?(0,$.jsx)(_o,{name:n(`assistants.settings.workspacePlaceholder`),icon:`cloud`}):O?(0,$.jsx)(_o,{name:co(O),path:O.path}):(0,$.jsx)(_o,{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)(J,{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)(J,{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)(Y,{variant:`outline`,size:`sm`,onClick:()=>void r.refetch(),children:n(`assistants.actions.retry`)})]}):(0,$.jsx)(yr,{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)(Xt,{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)(Y,{variant:`ghost`,size:`sm`,onClick:E,disabled:h,className:`text-[var(--status-error)]`,children:[(0,$.jsx)(J,{name:`delete-bin`,className:`size-4`}),n(`assistants.settings.delete`)]}):null]}),(0,$.jsxs)(Z,{children:[(0,$.jsx)(Er,{itemId:`assistants.name`,label:n(`assistants.settings.name`),children:(0,$.jsx)(ln,{id:`assistant-name`,value:p.name,onChange:e=>C(`name`,e.target.value),className:`min-w-0 flex-1`})}),(0,$.jsx)(Er,{label:n(`assistants.settings.enabled`),children:(0,$.jsx)(Qt,{checked:p.enabled,onChange:e=>C(`enabled`,e),ariaLabel:n(`assistants.settings.enabled`)})}),v?(0,$.jsx)(Er,{itemId:`assistants.default-share`,label:n(`assistants.settings.defaultShare`),children:(0,$.jsx)(Qt,{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)(Hr,{itemId:`assistants.prompt`,label:n(`assistants.settings.defaultPrompt`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(br,{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)(Er,{itemId:`assistants.model`,label:n(`assistants.settings.model`),children:(0,$.jsx)(gn,{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)(Hr,{itemId:`assistants.workspace`,label:n(`assistants.settings.workspace`),description:n(`assistants.settings.workspaceChangeHint`),descriptionPlacement:`outside`,children:(0,$.jsxs)(an,{value:A,onValueChange:e=>{if(e===to){C(`workspacePath`,null);return}let t=o.find(t=>t.id===e);t&&C(`workspacePath`,t.path)},children:[(0,$.jsx)(tn,{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)(cn,{children:j})}),(0,$.jsxs)(nn,{align:`start`,className:`w-[min(32rem,calc(100vw-2rem))]`,children:[(0,$.jsx)($t,{value:to,children:(0,$.jsx)(_o,{name:n(`assistants.settings.workspacePlaceholder`),icon:`cloud`})}),o.map(e=>(0,$.jsx)($t,{value:e.id,children:(0,$.jsx)(_o,{name:co(e),path:e.path})},e.id)),k?(0,$.jsx)($t,{value:no,disabled:!0,children:(0,$.jsx)(_o,{name:n(`assistants.settings.workspaceCurrentPath`),path:k,icon:`history`})}):null]})]})}),v?(0,$.jsx)(go,{assistantID:v.id}):null,(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsxs)(Y,{onClick:T,disabled:h,children:[h?(0,$.jsx)(J,{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)(Xt,{name:`assistants-empty`,size:44,shape:`circle`}),(0,$.jsx)(`p`,{className:`typography-ui`,children:n(`assistants.settings.empty`)}),(0,$.jsxs)(Y,{"data-settings-item":`assistants.create`,size:`sm`,onClick:w,children:[(0,$.jsx)(J,{name:`add`,className:`size-4`}),n(`assistants.settings.create`)]})]})]})})};function bo(e){return fo(e.task)?[{projectId:e.projectID,task:e.task}]:[]}function xo(e){return!fo(e.task)}function So(e,t){return e.task.enabled===t.task.enabled?e.task.name.localeCompare(t.task.name):e.task.enabled?-1:1}function Co(){G.getState().setActiveMainTab(`schedule`),G.getState().setScheduledTasksDialogOpen(!0)}var wo=`~/.config/opencode/AGENTS.md`,To=async(e,t)=>{let n=await e.json().catch(()=>null);return typeof n?.error==`string`&&n.error.trim()?n.error:t},Eo=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,r as o,t as s}from"./runtime-switch-LvWDU-SL.js";import{n as c}from"./runtime-fetch-zIalUnbb.js";import{Cn as l,D as u,E as d,Gt as f,Ht as p,Jt as m,O as h,Qt as g,R as _,Sn as v,Ut as y,Wt as b,Yt as x,Zt as S,_n as C,a as w,d as T,f as E,fn as D,gn as O,i as k,k as A,l as j,nn as M,nt as N,r as P,tn as F,u as I,un as L,vn as R}from"./persistence-DwRBC4zl.js";import{a as z,g as B,h as V,i as H,l as U,m as ee,n as W,p as te,r as ne,t as re,u as ie}from"./desktopHosts-B052a4UK.js";import{n as ae}from"./desktopRelayRestore-OjKNXr10.js";import{a as oe,i as se,r as ce,t as le}from"./vendor-zustand-B4dlGEM2.js";import{nt as ue,rt as de}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as fe,Nt as pe,n as me,t as he}from"./platform-DQ5_LNKO.js";import{a as ge,o as _e,r as ve,t as G,u as ye,y as be}from"./useUIStore-CxOoCv7B.js";import{n as xe}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as Se}from"./vendor-react-DLPElpoQ.js";import{s as Ce}from"./vendor-tanstack-react-query-D7pys_c9.js";import{W as we}from"./vendor-codemirror-autocomplete-DHomsvW7.js";import{r as Te}from"./vendor-sonner-DVzioF3d.js";import{c as Ee,n as De}from"./vendor-reactuses-core-BnW6GxJt.js";import{n as Oe,r as ke,t as Ae}from"./clipboard-GUUNlWIv.js";import{a as je,i as Me,r as Ne}from"./MobileShareBridge-A-Z6jMUn.js";import{_ as Pe,a as Fe,d as Ie,g as Le,h as Re,i as ze,m as Be,s as Ve,t as He,v as Ue,x as We,y as Ge}from"./MobileDetailNavigation-Cyzs6cuR.js";import{$a as Ke,Aa as qe,Co as Je,Da as Ye,Gi as Xe,Gt as Ze,Hi as Qe,Ja as $e,Ka as et,Ki as tt,Ma as nt,Qa as rt,Qi as it,Qr as at,So as ot,Ui as st,Vi as ct,Xa as lt,Ya as ut,Za as dt,Zr as ft,_o as pt,ao as mt,co as ht,do as gt,eo as _t,fo as vt,go as yt,ho as bt,hr as K,io as xt,ja as St,ka as Ct,lo as wt,mo as Tt,ni as Et,no as Dt,oo as Ot,po as kt,qa as At,qi as jt,r as Mt,ro as Nt,si as Pt,so as Ft,ti as It,to as Lt,uo as Rt,wo as zt,xo as Bt,yo as Vt}from"./useMobileNavigationStore-Cn0-ozUB.js";import{i as Ht}from"./useAssistantUIStore-CLPCNoj_.js";import{a as Ut,i as Wt,n as Gt,o as Kt,r as qt,t as Jt}from"./dialog-DhMGbF_B.js";import{i as Yt,t as q}from"./utils-2ZK8yboQ.js";import{t as Xt}from"./AgentAvatar-m1jNq4bX.js";import{n as J}from"./Icon-D1BcR8Tz.js";import{t as Y}from"./button-9R-WgVMl.js";import{T as Zt,Z as Qt,_ as $t,a as en,b as tn,h as nn,i as rn,m as an,n as on,q as sn,x as cn}from"./projectMeta-moNJYCK4.js";import{t as ln}from"./input-Cd_1HyQv.js";import{i as un,n as dn,t as fn}from"./tooltip-DSjr26A_.js";import{$ as pn,A as mn,At as hn,B as gn,Ct as _n,D as vn,Dt as yn,E as bn,Et as xn,It as Sn,Jt as Cn,Kt as wn,Mt as Tn,N as En,Nt as Dn,Ot as On,Pt as kn,Qt as An,R as jn,S as Mn,St as Nn,Tt as Pn,Ut as Fn,Wt as In,X,Y as Ln,Yt as Rn,Z as zn,Zt as Bn,ct as Vn,et as Hn,ft as Un,ht as Wn,j as Gn,jt as Kn,k as qn,kt as Jn,mt as Yn,nt as Xn,ot as Zn,pt as Qn,q as $n,qt as er,rt as tr,st as nr,t as rr,v as ir,w as ar,wt as or,x as sr,xt as cr,y as lr}from"./useSessionAutoCleanup-XwgyzsEd.js";import{n as ur}from"./useThemeSystem-DMzWVJaW.js";import{i as dr,r as fr}from"./OverlayScrollbar-Bahg_P3r.js";import{n as pr}from"./useRuntimeAPIs-DSLXJybW.js";import{A as mr,N as hr,i as gr,n as _r}from"./appThemeRegistry-iqSTUpPj.js";import{n as vr}from"./MarkdownRenderer-CP7UVZdr.js";import{n as yr,t as br}from"./textarea-B9CmN13Z.js";import{a as xr}from"./url-CMQwHq4k.js";import{c as Sr}from"./markdown-worker-CptoICmq.js";import{t as Cr}from"./sortable-tabs-strip-dYW6SH62.js";import{$ as wr,A as Tr,B as Er,C as Dr,D as Or,E as kr,F as Ar,G as jr,H as Mr,I as Nr,J as Pr,K as Fr,L as Ir,M as Lr,N as Rr,O as zr,P as Br,Q as Vr,R as Hr,S as Ur,T as Wr,U as Gr,V as Kr,W as qr,X as Jr,Y as Yr,Z as Xr,_ as Zr,a as Qr,b as $r,c as ei,et as ti,f as ni,g as ri,h as ii,j as ai,k as oi,l as si,m as ci,n as li,nt as ui,q as di,s as fi,tt as pi,u as mi,v as hi,x as gi,z as Z}from"./MobileSurface-DjDa20gx.js";import{a as _i,n as vi,r as yi,t as bi}from"./context-menu-CSyOhRz8.js";import{n as xi,r as Si,t as Ci}from"./collapsible-Bbz9KiJf.js";import{n as wi,t as Ti}from"./vendor-yaml-DIcAK3EC.js";import{t as Ei}from"./vendor-qrcode-DAuVxiQR.js";var Di=Se(),Q=e(de(),1),$=ue(),Oi=`https://github.com/yee94/openchamber`,ki=`${Oi}/issues/new`,Ai=`https://discord.gg/ZYRSdnwwKA`,ji=`https://x.com/openchamber_dev`,Mi=800,Ni=()=>{try{let e=xe;return((typeof e.getConfig==`function`?e.getConfig():void 0)??e.config)?.OpenChamberOTA?.channel===`stable`?`stable`:`beta`}catch{return`beta`}},Pi=({initialUpdateDialogOpen:e=!1})=>{let{t}=Oe(),[n,r]=Q.useState(e),[i,a]=Q.useState(!1),[o,s]=Q.useState(!1),[l,u]=Q.useState(null),[d,f]=Q.useState(null),[p,m]=Q.useState(null),[h,g]=Q.useState(null),_=Gr(le(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:v}=dr(),y=G(e=>e.otaChannelOverride),b=G(e=>e.setOtaChannelOverride),x=me(),S=Ni(),C=y===`beta`||y===null&&S===`beta`,[w,T]=Q.useState(!1),[E,D]=Q.useState(()=>Et()),O=De(e=>{Pt(e),D(e)}),k=De(async e=>{if(e){b(`beta`),await Gr.getState().checkForUpdates();return}b(`stable`),await Gr.getState().checkForUpdates();let{info:t,otaDecision:n}=Gr.getState();t?.isChannelRollback===!0&&n?.primaryAction===`apply_ota`&&a(!0)}),A=De(()=>{a(!1),b(`beta`),Gr.getState().checkForUpdates()}),j=De(()=>{a(!1),r(!0),Gr.getState().downloadUpdate()}),M=De(e=>{e||A()}),N=l||t(`settings.openchamber.about.state.unknown`),P=De(async()=>{if(!w){T(!0);try{let{outcome:e,eventCount:n}=await It();if(e===`cancelled`)return;if(e===`failed`){K.error(t(`settings.openchamber.about.diagnostics.toast.failed`));return}K.success(t(n>0?`settings.openchamber.about.diagnostics.toast.exported`:`settings.openchamber.about.diagnostics.toast.empty`))}catch{K.error(t(`settings.openchamber.about.diagnostics.toast.failed`))}finally{T(!1)}}});Q.useEffect(()=>{let e=!1;return Fr().then(t=>{e||u(t)}),jr().then(t=>{e||f(t)}),()=>{e=!0}},[]);let F=qr(l,d)??N;Q.useEffect(()=>{let e=!1;return(async()=>{try{let t=await c(`/api/system/info`,{method:`GET`,headers:{Accept:`application/json`}});if(!t.ok)return;let n=await t.json().catch(()=>null),r=typeof n?.openchamberVersion==`string`&&n.openchamberVersion.trim().length>0?n.openchamberVersion.trim():null;e||m(r)}catch{e||m(null)}})(),()=>{e=!0}},[]),Q.useEffect(()=>{let e=!1;return(async()=>{try{let t=await c(`/api/opencode/upgrade-status`,{method:`GET`,headers:{Accept:`application/json`}});if(!t.ok)return;let n=await t.json().catch(()=>null),r=typeof n?.currentVersion==`string`&&n.currentVersion.trim().length>0?n.currentVersion.trim():null;e||g(r)}catch{e||g(null)}})(),()=>{e=!0}},[]);let I=Q.useRef(!1);Q.useEffect(()=>{if(_.checking)s(!0),I.current=!0;else if(o){let e=setTimeout(()=>{s(!1),I.current&&_.error?(K.error(t(`settings.openchamber.about.toast.checkFailed`),{description:_.error}),I.current=!1):I.current&&!_.available&&!_.error&&(K.success(t(`settings.openchamber.about.toast.latestVersion`)),I.current=!1)},Mi);return()=>clearTimeout(e)}},[t,_.checking,o,_.available,_.error]);let L=_.checking||o;return v?(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)(hn,{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)(Er,{label:t(`settings.openchamber.about.field.clientVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:F})}),(0,$.jsx)(Er,{label:t(`settings.openchamber.about.field.instanceOpenChamberVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:p||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Er,{label:t(`settings.openchamber.about.field.instanceOpenCodeVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:h||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Er,{children:(0,$.jsxs)(`div`,{className:`flex flex-nowrap items-center justify-end gap-2`,children:[(0,$.jsx)(Y,{asChild:!0,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,children:(0,$.jsxs)(`a`,{href:ki,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(J,{name:`question`,className:`size-4`}),t(`settings.openchamber.about.actions.submitFeedback`)]})}),!L&&_.available?(0,$.jsxs)(Y,{type:`button`,variant:`default`,size:`sm`,className:`whitespace-nowrap`,onClick:()=>r(!0),children:[(0,$.jsx)(J,{name:`download`,className:`size-4`}),_.info?.inAppApply?t(`settings.openchamber.about.actions.applyOtaToVersion`,{version:_.info?.version||``}):_.info?.manualUpdate?t(`settings.openchamber.about.actions.installNativeToVersion`,{version:_.info?.version||``}):t(`settings.openchamber.about.actions.updateToVersion`,{version:_.info?.version||``})]}):(0,$.jsxs)(Y,{type:`button`,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,onClick:()=>_.checkForUpdates(),disabled:L,children:[L?(0,$.jsx)(J,{name:`loader`,className:`size-4 animate-spin`}):(0,$.jsx)(J,{name:`refresh`,className:`size-4`}),t(L?`settings.openchamber.about.state.checking`:`settings.openchamber.about.actions.checkForUpdates`)]})]})}),_.error&&(0,$.jsx)(Er,{children:(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:_.error})}),x&&(0,$.jsx)(Kr,{itemId:`about.beta-updates`,checked:C,onChange:k,label:t(`settings.openchamber.about.betaUpdates.label`),description:t(`settings.openchamber.about.betaUpdates.description`),ariaLabel:t(`settings.openchamber.about.betaUpdates.label`),disabled:L}),(0,$.jsx)(Kr,{itemId:`about.diagnostics`,checked:E,onChange:O,label:t(`settings.openchamber.about.diagnostics.label`),ariaLabel:t(`settings.openchamber.about.diagnostics.label`)}),E&&(0,$.jsx)(Er,{itemId:`about.export-diagnostics`,label:t(`settings.openchamber.about.diagnostics.export`),children:(0,$.jsx)(Y,{type:`button`,variant:`outline`,size:`sm`,disabled:w,onClick:()=>void P(),children:t(w?`settings.openchamber.about.diagnostics.exporting`:`settings.openchamber.about.diagnostics.export`)})})]}),(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 text-center`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-5`,children:[(0,$.jsxs)(`a`,{href:Oi,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)(J,{name:`github-fill`,className:`size-5`}),(0,$.jsx)(`span`,{children:`GitHub`})]}),(0,$.jsxs)(`a`,{href:Ai,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)(J,{name:`discord-fill`,className:`size-5`}),(0,$.jsx)(`span`,{children:`Discord`})]})]}),(0,$.jsxs)(`a`,{href:ji,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)(J,{name:`twitter-xfill`,className:`size-5`}),(0,$.jsx)(`span`,{children:`@openchamber_dev`})]})]}),(0,$.jsx)(`p`,{className:`text-center typography-ui text-muted-foreground/60`,children:t(`aboutDialog.footerNote`)}),(0,$.jsx)(Mr,{open:n,onOpenChange:r,info:_.info,downloading:_.downloading,downloaded:_.downloaded,progress:_.progress,error:_.error,onDownload:_.downloadUpdate,onRestart:_.restartToUpdate,runtimeType:_.runtimeType}),(0,$.jsx)(Jt,{open:i,onOpenChange:M,children:(0,$.jsxs)(Gt,{showCloseButton:!1,className:`max-w-sm gap-5`,children:[(0,$.jsxs)(Ut,{children:[(0,$.jsx)(Kt,{children:t(`settings.openchamber.about.betaUpdates.rollback.title`)}),(0,$.jsx)(qt,{children:t(`settings.openchamber.about.betaUpdates.rollback.description`,{version:_.info?.version||``})})]}),(0,$.jsxs)(Wt,{children:[(0,$.jsx)(Y,{type:`button`,size:`sm`,variant:`ghost`,onClick:A,children:t(`settings.openchamber.about.betaUpdates.rollback.actions.cancel`)}),(0,$.jsx)(Y,{type:`button`,size:`sm`,onClick:j,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)(Er,{label:t(`settings.openchamber.about.field.clientVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:N})}),(0,$.jsx)(Er,{label:t(`settings.openchamber.about.field.instanceOpenChamberVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:p||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Er,{label:t(`settings.openchamber.about.field.instanceOpenCodeVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:h||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Er,{children:(0,$.jsxs)(`div`,{className:`flex flex-nowrap items-center justify-end gap-3`,children:[(0,$.jsx)(Y,{asChild:!0,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,children:(0,$.jsxs)(`a`,{href:ki,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(J,{name:`question`,className:`size-4`}),t(`settings.openchamber.about.actions.submitFeedback`)]})}),_.checking&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsx)(J,{name:`loader`,className:`h-4 w-4 animate-spin`}),(0,$.jsx)(`span`,{className:`typography-meta`,children:t(`settings.openchamber.about.state.checking`)})]}),!_.checking&&_.available&&(0,$.jsxs)(Y,{size:`sm`,variant:`default`,onClick:()=>r(!0),children:[(0,$.jsx)(J,{name:`download`,className:`h-4 w-4 mr-1`}),t(`settings.openchamber.about.actions.updateToVersion`,{version:_.info?.version||``})]}),!_.checking&&!_.available&&!_.error&&(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:t(`settings.openchamber.about.state.upToDate`)}),(0,$.jsx)(Y,{size:`sm`,variant:`outline`,onClick:()=>_.checkForUpdates(),disabled:_.checking,children:t(`settings.openchamber.about.actions.checkForUpdates`)})]})}),_.error&&(0,$.jsx)(Er,{children:(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:_.error})}),(0,$.jsx)(Kr,{itemId:`about.diagnostics`,checked:E,onChange:O,label:t(`settings.openchamber.about.diagnostics.label`),ariaLabel:t(`settings.openchamber.about.diagnostics.label`)}),E&&(0,$.jsx)(Er,{itemId:`about.export-diagnostics`,label:t(`settings.openchamber.about.diagnostics.export`),children:(0,$.jsx)(Y,{type:`button`,variant:`outline`,size:`sm`,disabled:w,onClick:()=>void P(),children:t(w?`settings.openchamber.about.diagnostics.exporting`:`settings.openchamber.about.diagnostics.export`)})}),(0,$.jsxs)(Er,{controlClassName:`flex-wrap`,children:[(0,$.jsxs)(`a`,{href:Oi,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)(J,{name:`github-fill`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:`GitHub`})]}),(0,$.jsxs)(`a`,{href:ji,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)(J,{name:`twitter-xfill`,className:`h-4 w-4`}),(0,$.jsx)(`span`,{children:`@openchamber_dev`})]})]})]}),(0,$.jsx)(Mr,{open:n,onOpenChange:r,info:_.info,downloading:_.downloading,downloaded:_.downloaded,progress:_.progress,error:_.error,onDownload:_.downloadUpdate,onRestart:_.restartToUpdate,runtimeType:_.runtimeType})]})},Fi=`/assets/android-direct-share-1a0lp154.jpg`,Ii=`/assets/ios-share-sheet-B3Dlufnc.jpg`,Li=`/assets/select-assistant-C89IRspC.jpg`,Ri=`openchamber:assistant-share-welcome:v1`,zi=[{image:Ii,titleKey:`assistants.shareWelcome.example.chat.title`,descriptionKey:`assistants.shareWelcome.example.chat.description`},{image:Fi,titleKey:`assistants.shareWelcome.example.article.title`,descriptionKey:`assistants.shareWelcome.example.article.description`},{image:Li,titleKey:`assistants.shareWelcome.example.note.title`,descriptionKey:`assistants.shareWelcome.example.note.description`}],Bi=e=>{let t=(0,Di.c)(40),{enabled:n,open:r,onOpenChange:i}=e,a=n!==void 0&&n,{t:o}=Oe(),[s,c]=Ee(Ri,!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=De(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)(J,{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)(Kt,{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)(qt,{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)(Ut,{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=zi.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)(J,{name:`arrow-right-s`,className:`size-4`}),t[28]=w):w=t[28];let T;t[29]!==f||t[30]!==C?(T=(0,$.jsx)(Wt,{className:`border-t border-border px-5 py-4 sm:px-8 sm:py-5`,children:(0,$.jsxs)(Y,{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)(Gt,{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)(Jt,{open:u,onOpenChange:p,children:E}),t[36]=u,t[37]=E,t[38]=p,t[39]=D):D=t[39],D},Vi=`useCommandsStore`,Hi=new Set([`init`,`review`]),Ui=e=>new Promise(t=>setTimeout(t,e)),Wi=e=>Hi.has(e.name),Gi=async(e,t)=>{await kt(I,e,t),i()===t&&ot(`commands`,{source:Vi})},Ki=oe()(ce(se(e=>({selectedCommandName:null,commandDraft:null,setSelectedCommand:t=>e({selectedCommandName:t}),setCommandDraft:t=>e({commandDraft:t}),loadCommands:async()=>{let e=Tt(),t=i();try{return await kt(I,e,t),!0}catch{return!1}},createCommand:async t=>qi(`POST`,t.name,t,e),updateCommand:async(t,n)=>qi(`PATCH`,t,n,e),deleteCommand:async t=>qi(`DELETE`,t,void 0,e),getCommandByName:e=>vt().find(t=>t.name===e)}),{name:`commands-store`,storage:be(),partialize:e=>({selectedCommandName:e.selectedCommandName})}),{name:`commands-store`}));async function qi(e,t,n,r){Vt(`${{POST:`Creating`,PATCH:`Updating`,DELETE:`Deleting`}[e]} command configuration…`);let a=Tt(),o=i(),s=!1;try{let i={};if(e===`POST`&&(i.template=n?.template||``,n?.description&&(i.description=n.description),n?.agent&&(i.agent=n.agent),n?.model&&(i.model=n.model),n?.scope&&(i.scope=n.scope)),e===`PATCH`)for(let e of[`description`,`agent`,`model`,`template`])n?.[e]!==void 0&&(i[e]=n[e]);let l=a?`?directory=${encodeURIComponent(a)}`:``,u=await c(`/api/config/commands/${encodeURIComponent(t)}${l}`,{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(i)}}),d=await u.json().catch(()=>null);if(!u.ok)throw Error(d?.error||`Failed to ${e.toLowerCase()} command`);return s=d?.requiresReload??!0,s?await Ji(a,o,{message:d?.message,delayMs:d?.reloadDelayMs}):await Gi(a,o),e===`DELETE`&&r({selectedCommandName:null}),!0}catch(e){return console.error(`[CommandsStore] Command mutation failed:`,e),!1}finally{pt()}}async function Ji(e,t,n){n.delayMs&&await Ui(n.delayMs),Bt(n.message||`Refreshing commands…`),await Gi(e,t)}typeof window<`u`&&(window.__zustand_commands_store__=Ki),zt(e=>{e.source!==Vi&&Je(e,`commands`)&&Ki.getState().loadCommands()});var Yi=()=>{try{let e=yt.getState().getActiveProject?.();if(e?.path?.trim())return e.path.trim();let t=pe.getDirectory();if(t?.trim())return t.trim()}catch(e){console.warn(`[McpConfigStore] Error resolving config directory:`,e)}return null},Xi=e=>e?Object.entries(e).map(([e,t])=>({key:e,value:t})):[],Zi=e=>{let t=e.filter(e=>e.key.trim());if(t.length!==0)return Object.fromEntries(t.map(e=>[e.key.trim(),e.value]))},Qi=e=>{if(typeof e==`string`)return e.trim()||void 0},$i=800,ea=oe()(ce(se((e,t)=>({selectedMcpName:null,mcpDraft:null,setSelectedMcp:t=>e({selectedMcpName:t}),setMcpDraft:t=>e({mcpDraft:t}),loadMcpConfigs:async e=>{let t=Yi();try{return!e?.force&&Pr(I,t).length>0||await Jr(I,t,i()),!0}catch(e){return console.error(`[McpConfigStore] Failed to load MCP configs:`,e),!1}},createMcp:async(e,t)=>{Vt(`Creating MCP server configuration…`);let n=!1,r=`directory`in(t??{})?t?.directory?.trim()||null:Yi(),a=t?.transportIdentity??i();try{let t=ta(e),i=r?`?directory=${encodeURIComponent(r)}`:``,o=await c(`/api/config/mcp/${encodeURIComponent(e.name)}${i}`,{method:`POST`,headers:{"Content-Type":`application/json`,...r?{"x-opencode-directory":r}:{}},body:JSON.stringify(t)}),s=await o.json().catch(()=>null);if(!o.ok)throw Error(s?.error||`Failed to create MCP server`);return s?.requiresReload?(n=!0,await $e({message:s.message,delayMs:s.reloadDelayMs??$i,scopes:[`mcp`],queryDirectory:r,transportIdentity:a}),await Jr(I,r,a),await Xr(I,r,a),{ok:!0,reloadFailed:s?.reloadFailed===!0,message:s?.message,warning:s?.warning}):(await Jr(I,r,a),await Xr(I,r,a),{ok:!0,reloadFailed:s?.reloadFailed===!0,message:s?.message,warning:s?.warning})}catch(e){return console.error(`[McpConfigStore] Failed to create MCP:`,e),{ok:!1}}finally{n||pt()}},updateMcp:async(e,t,n)=>{Vt(`Updating MCP server configuration…`);let r=!1,a=`directory`in(n??{})?n?.directory?.trim()||null:Yi(),o=n?.transportIdentity??i();try{let n=ta(t),i=a?`?directory=${encodeURIComponent(a)}`:``,s=await c(`/api/config/mcp/${encodeURIComponent(e)}${i}`,{method:`PATCH`,headers:{"Content-Type":`application/json`,...a?{"x-opencode-directory":a}:{}},body:JSON.stringify(n)}),l=await s.json().catch(()=>null);if(!s.ok)throw Error(l?.error||`Failed to update MCP server`);return l?.requiresReload?(r=!0,await $e({message:l.message,delayMs:l.reloadDelayMs??$i,scopes:[`mcp`],queryDirectory:a,transportIdentity:o}),await Jr(I,a,o),await Xr(I,a,o),{ok:!0,reloadFailed:l?.reloadFailed===!0,message:l?.message,warning:l?.warning}):(await Jr(I,a,o),await Xr(I,a,o),{ok:!0,reloadFailed:l?.reloadFailed===!0,message:l?.message,warning:l?.warning})}catch(e){throw console.error(`[McpConfigStore] Failed to update MCP:`,e),e}finally{r||pt()}},deleteMcp:async(n,r)=>{Vt(`Deleting MCP server configuration…`);let a=!1,o=`directory`in(r??{})?r?.directory?.trim()||null:Yi(),s=r?.transportIdentity??i();try{let r=o?`?directory=${encodeURIComponent(o)}`:``,i=await c(`/api/config/mcp/${encodeURIComponent(n)}${r}`,{method:`DELETE`,headers:o?{"x-opencode-directory":o}:void 0}),l=await i.json().catch(()=>null);if(!i.ok)throw Error(l?.error||`Failed to delete MCP server`);return l?.requiresReload&&(a=!0,await $e({message:l.message,delayMs:l.reloadDelayMs??$i,scopes:[`mcp`],queryDirectory:o,transportIdentity:s})),t().selectedMcpName===n&&e({selectedMcpName:null}),di.getState().clearDiagnostic(n,o,s),await Jr(I,o,s),await Xr(I,o,s),{ok:!0,reloadFailed:l?.reloadFailed===!0,message:l?.message,warning:l?.warning}}catch(e){return console.error(`[McpConfigStore] Failed to delete MCP:`,e),{ok:!1}}finally{a||pt()}}}),{name:`mcp-config-store`,storage:be(),partialize:e=>({selectedMcpName:e.selectedMcpName})}),{name:`mcp-config-store`}));function ta(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=Zi(e.environment)??{}),e.headers!==void 0&&(t.headers=Zi(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:Qi(e.oauthClientId),clientSecret:Qi(e.oauthClientSecret),scope:Qi(e.oauthScope),redirectUri:Qi(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 na=()=>{let e=pe.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},ra=`useSkillsStore`,ia=e=>new Promise(t=>setTimeout(t,e)),aa=e=>{if(e&&Object.prototype.hasOwnProperty.call(e,`directory`))return typeof e.directory==`string`&&e.directory.trim()||null;let t=na();return typeof t==`string`&&t.trim()||null},oa=2e4,sa=300,ca=4,la=800,ua=200,da=2e3,fa=oe()(ce(se((e,t)=>({selectedSkillName:null,skillDraft:null,setSelectedSkill:t=>{e({selectedSkillName:t})},setSkillDraft:t=>{e({skillDraft:t})},loadSkills:async()=>{try{return await rt(I,na(),i()),!0}catch{return!1}},getSkillDetail:async e=>{try{let t=na(),n=t?`?directory=${encodeURIComponent(t)}`:``,r=await c(`/api/config/skills/${encodeURIComponent(e)}${n}`);return r.ok?await r.json():null}catch{return null}},createSkill:async(e,t)=>{Vt(`Creating skill...`);let n=!1;try{let r={name:e.name,description:e.description};e.instructions&&(r.instructions=e.instructions),e.scope&&(r.scope=e.scope),e.source&&(r.source=e.source),e.supportingFiles&&(r.supportingFiles=e.supportingFiles);let a=aa(t),o=i(),s=a?`?directory=${encodeURIComponent(a)}`:``,l=await c(`/api/config/skills/${encodeURIComponent(e.name)}${s}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)}),u=await l.json().catch(()=>null);if(!l.ok){let e=u?.error||`Failed to create skill`;throw Error(e)}return u?.requiresReload??!1?(n=!0,await ma({message:u?.message,delayMs:u?.reloadDelayMs,directory:a,transportIdentity:o}),!0):(await rt(I,a,o),await Nt(I,a,o),ot(`skills`,{source:ra}),!0)}catch{return!1}finally{n||pt()}},updateSkill:async(e,t,n)=>{Vt(`Updating skill...`);let r=!1;try{let a={};t.description!==void 0&&(a.description=t.description),t.instructions!==void 0&&(a.instructions=t.instructions),t.supportingFiles!==void 0&&(a.supportingFiles=t.supportingFiles),t.targetPath!==void 0&&(a.targetPath=t.targetPath);let o=aa(n),s=i(),l=o?`?directory=${encodeURIComponent(o)}`:``,u=await c(`/api/config/skills/${encodeURIComponent(e)}${l}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(a)}),d=await u.json().catch(()=>null);if(!u.ok){let e=d?.error||`Failed to update skill`;throw Error(e)}return d?.requiresReload??!1?(r=!0,await ma({message:d?.message,delayMs:d?.reloadDelayMs,directory:o,transportIdentity:s}),!0):(await rt(I,o,s),await Nt(I,o,s),ot(`skills`,{source:ra}),!0)}catch{return!1}finally{r||pt()}},deleteSkill:async(n,r)=>{Vt(`Deleting skill...`);let a=!1;try{let o=aa(r),s=i(),l=o?`?directory=${encodeURIComponent(o)}`:``,u=await c(`/api/config/skills/${encodeURIComponent(n)}${l}`,{method:`DELETE`}),d=await u.json().catch(()=>null);if(!u.ok){let e=d?.error||`Failed to delete skill`;throw Error(e)}return d?.requiresReload??!1?(a=!0,await ma({message:d?.message,delayMs:d?.reloadDelayMs,directory:o,transportIdentity:s}),!0):(await rt(I,o,s),await Nt(I,o,s),ot(`skills`,{source:ra}),t().selectedSkillName===n&&e({selectedSkillName:null}),!0)}catch{return!1}finally{a||pt()}},getSkillByName:e=>dt(I,na()).find(t=>t.name===e),readSupportingFile:async(e,t)=>{try{let n=na(),r=n?`&directory=${encodeURIComponent(n)}`:``,i=await c(`/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=na(),i=r?`?directory=${encodeURIComponent(r)}`:``;return(await c(`/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=na(),r=n?`?directory=${encodeURIComponent(n)}`:``;return(await c(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}${r}`,{method:`DELETE`})).ok}catch{return!1}}}),{name:`skills-store`,storage:be(),partialize:e=>({selectedSkillName:e.selectedSkillName})}),{name:`skills-store`}));typeof window<`u`&&(window.__zustand_skills_store__=fa);async function pa(e){let t=typeof e==`number`&&e>0?Math.min(e,sa):0;t>0&&await ia(t);let n=Date.now(),r=0,i=null;for(;Date.now()-n<oa;){r+=1,Bt(`Waiting for OpenCode… (attempt ${r})`);try{if(await pe.checkHealth())return;i=Error(`OpenCode health check reported not ready`)}catch(e){i=e}let e=Date.now()-n;await ia(r<=ca&&e<1200?sa:Math.min(la+Math.max(0,r-ca)*ua,da))}throw i||Error(`OpenCode did not become ready in time`)}async function ma(e){let t=e&&`directory`in e?e.directory?.trim()||null:na(),n=e?.transportIdentity??i();try{Bt(e?.message||`Refreshing skills…`)}catch{}try{if(await pa(e?.delayMs),i()!==n||(Bt(`Refreshing skills…`),await rt(I,t,n),i()!==n))return;await Nt(I,t,n),ot(`skills`,{source:ra})}catch(e){throw Bt(`OpenCode refresh failed. Please retry.`),await ia(1500),e}finally{pt()}}var ha=null;ha||=zt(e=>{if(e.source!==ra&&Je(e,`skills`)){let e=na(),t=i();rt(I,e,t).then(()=>Nt(I,e,t)).catch(()=>void 0)}});var ga=e=>{let t=(0,Di.c)(37),{className:n}=e,{t:r}=Oe(),i=yt(_a),a=yt(va),o=yt(ya),s=F(),c;t[0]===i?c=t[1]:(c=[...i].sort(ba),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=q(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`)?(_=q(`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)(J,{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)(J,{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)(Xn,{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(xa),t[25]=l,t[26]=w);let T;t[27]!==S||t[28]!==C||t[29]!==w?(T=(0,$.jsx)(X,{align:`start`,className:`w-auto`,children:(0,$.jsx)(pn,{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)(Ln,{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 _a(e){return e.projects}function va(e){return e.activeProjectId}function ya(e){return e.setActiveProject}function ba(e,t){return(e.label||e.path).localeCompare(t.label||t.path)}function xa(e){let t=e.path.split(`/`).filter(Boolean).pop()||e.path;return(0,$.jsx)(Hn,{value:e.id,children:(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-ui`,children:t})},e.id)}function Sa(e,t){return`opencode:sidebar-group:${e}:${t}`}var Ca=e=>{let t=(0,Di.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=Sa(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(wa),t[10]=e):e=t[10];let i;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(i=q(`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=q(`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)(J,{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=q(_),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(Ta),t[34]=y):y=t[34];let b;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(b=q(`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=q(`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)(J,{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 wa(e){return!e}function Ta(e){return!e}var Ea=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n;typeof e.permission==`string`&&typeof e.pattern==`string`&&typeof e.action==`string`&&(e.action===`allow`||e.action===`ask`||e.action===`deny`)&&t.push({permission:e.permission,pattern:e.pattern,action:e.action})}return t},Da=e=>{let t=new Map;for(let n of e)!n.permission||n.permission===`invalid`||n.pattern&&t.set(`${n.permission}::${n.pattern}`,n);return Array.from(t.values())},Oa=e=>{let t=Da(Ea(e));if(t.length===0)return;let n={};for(let e of t)e.permission&&((n[e.permission]||={})[e.pattern]=e.action);let r={};for(let[e,t]of Object.entries(n)){let n=Object.keys(t);if(n.length===1&&n[0]===`*`){r[e]=t[`*`];continue}r[e]=t}return Object.keys(r).length>0?r:void 0},ka=({onItemSelect:e})=>{let{t}=Oe(),[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}=lt(le(e=>({selectedAgentName:e.selectedAgentName,setSelectedAgent:e.setSelectedAgent,setAgentDraft:e.setAgentDraft,createAgent:e.createAgent,deleteAgent:e.deleteAgent,loadAgents:e.loadAgents}))),{data:b=[]}=Rt();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(et(e)){K.error(t(`settings.agents.sidebar.toast.builtInCannotDelete`));return}s(e),l(`delete`)},C=async e=>{et(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?K.warning(t(`settings.agents.page.toast.savedManualRestart`)):c===`delete`?K.success(t(`settings.agents.sidebar.toast.agentDeleted`,{name:o.name})):K.success(t(`settings.agents.sidebar.toast.agentReset`,{name:o.name})),w()):c===`delete`?K.error(t(`settings.agents.sidebar.toast.deleteFailed`)):K.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`?K.error(t(r?`settings.agents.sidebar.toast.definitionNotFound`:`settings.agents.sidebar.toast.deleteFailed`)):K.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}`;let i=e,a=e.model?.providerID&&e.model?.modelID?`${e.model.providerID}/${e.model.modelID}`:null,o=e;g({name:r,scope:i.scope||`user`,description:e.description,model:a,variant:e.variant,temperature:e.temperature,top_p:e.topP,prompt:e.prompt,mode:e.mode,permission:Oa(e.permission),disable:o.disable}),h(r)},D=e=>{a(e.name),r(e)},O=async()=>{if(!n)return;let e=i.trim().replace(/\s+/g,`-`);if(!e){K.error(t(`settings.agents.sidebar.toast.agentNameRequired`));return}if(e===n.name){r(null);return}if(b.some(t=>t.name===e)){K.error(t(`settings.agents.sidebar.toast.agentExists`));return}let a=n.model?.providerID&&n.model?.modelID?`${n.model.providerID}/${n.model.modelID}`:null,o=n,s=await _({name:e,description:n.description,model:a,variant:n.variant,temperature:n.temperature,top_p:n.topP,prompt:n.prompt,mode:n.mode,permission:Oa(n.permission),disable:o.disable,scope:o.scope});if(s.ok){let r=await v(n.name,o.scope);r.ok?(s.requiresManualRestart||r.requiresManualRestart?K.warning(t(`settings.agents.page.toast.savedManualRestart`)):K.success(t(`settings.agents.sidebar.toast.agentRenamed`,{name:e})),h(e)):K.error(t(`settings.agents.sidebar.toast.removeOldAfterRenameFailed`))}else K.error(t(`settings.agents.sidebar.toast.renameFailed`));r(null)},k=e=>{switch(e){case`primary`:return(0,$.jsx)(J,{name:`ai-agent`,className:`h-3 w-3 text-primary`});case`all`:return(0,$.jsx)(J,{name:`ai-agent-fill`,className:`h-3 w-3 text-primary`});case`subagent`:return(0,$.jsx)(J,{name:`robot`,className:`h-3 w-3 text-primary`});default:return null}},A=b.filter(e=>!At(e)),j=A.filter(et),M=A.filter(e=>!et(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)(Y,{"data-settings-item":`agents.create`,size:`icon`,variant:`ghost`,onClick:x,"aria-label":t(`settings.agents.page.title.new`),children:(0,$.jsx)(J,{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)(ga,{}),(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)(J,{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)(Aa,{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)(Ca,{label:n,count:r.length,storageKey:`agents`,variant:`settings-card`,labelPrefix:t(`settings.agents.sidebar.section.custom`),children:r.map(t=>(0,$.jsx)(Aa,{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)(Aa,{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)(Jt,{open:o!==null&&c!==null,onOpenChange:e=>{!e&&!u&&w()},children:(0,$.jsxs)(Gt,{className:`max-w-md`,children:[(0,$.jsxs)(Ut,{children:[(0,$.jsx)(Kt,{children:t(c===`delete`?`settings.agents.sidebar.dialog.deleteTitle`:`settings.agents.sidebar.dialog.resetTitle`)}),(0,$.jsx)(qt,{children:t(c===`delete`?`settings.agents.sidebar.dialog.deleteDescription`:`settings.agents.sidebar.dialog.resetDescription`,{name:o?.name??``})})]}),(0,$.jsxs)(Wt,{children:[(0,$.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:w,disabled:u,children:t(`settings.common.actions.cancel`)}),(0,$.jsx)(Y,{size:`sm`,onClick:T,disabled:u,children:t(c===`delete`?`settings.common.actions.delete`:`settings.common.actions.reset`)})]})]})}),(0,$.jsx)(Jt,{open:n!==null,onOpenChange:e=>!e&&r(null),children:(0,$.jsxs)(Gt,{children:[(0,$.jsxs)(Ut,{children:[(0,$.jsx)(Kt,{children:t(`settings.agents.sidebar.renameDialog.title`)}),(0,$.jsx)(qt,{children:t(`settings.agents.sidebar.renameDialog.description`,{name:n?.name??``})})]}),(0,$.jsx)(ln,{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)(Wt,{children:[(0,$.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:()=>r(null),children:t(`settings.common.actions.cancel`)}),(0,$.jsx)(Y,{size:`sm`,onClick:O,children:t(`settings.common.actions.rename`)})]})]})})]})},Aa=e=>{let t=(0,Di.c)(52),{agent:n,isSelected:r,onSelect:i,onDelete:a,onReset:o,onRename:s,onDuplicate:c,getAgentModeIcon:l,isMenuOpen:u,onMenuOpenChange:d}=e,{t:f}=Oe(),p=n,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=fr(),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)(J,{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)(J,{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)(J,{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)(J,{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=q(`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=(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate text-foreground`,children:n.name}),t[12]=n.name,t[13]=w);let T;t[14]!==n.mode||t[15]!==l?(T=l(n.mode),t[14]=n.mode,t[15]=l,t[16]=T):T=t[16];let E;t[17]!==n||t[18]!==p.scope||t[19]!==f?(E=(p.scope||et(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:et(n)?f(`settings.agents.sidebar.badge.system`):p.scope}),t[17]=n,t[18]=p.scope,t[19]=f,t[20]=E):E=t[20];let D;t[21]!==w||t[22]!==T||t[23]!==E?(D=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[w,T,E]}),t[21]=w,t[22]=T,t[23]=E,t[24]=D):D=t[24];let O;t[25]===n.description?O=t[26]:(O=n.description&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/60 truncate leading-tight`,children:n.description}),t[25]=n.description,t[26]=O);let k;t[27]!==i||t[28]!==D||t[29]!==O?(k=(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:[D,O]}),t[27]=i,t[28]=D,t[29]=O,t[30]=k):k=t[30];let A;t[31]===d?A=t[32]:(A=e=>{e&&_(!1),d(e)},t[31]=d,t[32]=A);let j;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(Xn,{asChild:!0,children:(0,$.jsx)(Y,{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)(J,{name:`more-2`,className:`h-3.5 w-3.5`})})}),t[33]=j):j=t[33];let M;t[34]===y?M=t[35]:(M=(0,$.jsx)(X,{align:`end`,className:`w-fit min-w-20`,children:y(zn)}),t[34]=y,t[35]=M);let N;t[36]!==u||t[37]!==A||t[38]!==M?(N=(0,$.jsxs)(Ln,{open:u,onOpenChange:A,children:[j,M]}),t[36]=u,t[37]=A,t[38]=M,t[39]=N):N=t[39];let P;t[40]!==k||t[41]!==N?(P=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:[k,N]}),t[40]=k,t[41]=N,t[42]=P):P=t[42];let F;t[43]!==P||t[44]!==C?(F=(0,$.jsx)(_i,{render:C,children:P}),t[43]=P,t[44]=C,t[45]=F):F=t[45];let I;t[46]===y?I=t[47]:(I=(0,$.jsx)(vi,{className:`w-fit min-w-20`,children:y(yi)}),t[46]=y,t[47]=I);let L;return t[48]!==g||t[49]!==F||t[50]!==I?(L=(0,$.jsxs)(bi,{open:g,onOpenChange:_,children:[F,I]}),t[48]=g,t[49]=F,t[50]=I,t[51]=L):L=t[51],L},ja=e=>[...e].sort((e,t)=>{let n=e.permission.localeCompare(t.permission);return n===0?e.pattern.localeCompare(t.pattern):n}),Ma=(e,t)=>{let n=ja(e),r=ja(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})},Na=(e,t)=>t?e.globalPermission!==t.globalPermission||!Ma(e.permissionRules,t.permissionRules):!1,Pa=e=>{let t=e.trim();return t===``?null:t},Fa=e=>{let t=e.trim();return t===``?null:t},Ia=e=>e.trim()||void 0,La=e=>e.trim()||null,Ra=({isNewAgent:e,agentName:t,draftScope:n,draftHasExplicitPermission:r,current:i,initial:a,permissionConfig:o})=>{if(e){let e=Na(i,a)||r,s=i.description.trim(),c=Pa(i.model),l=Fa(i.variant),u=Ia(i.prompt);return{name:t,mode:i.mode,...s?{description:s}:{},...c?{model:c}:{},...l?{variant:l}:{},...i.temperature===void 0?{}:{temperature:i.temperature},...i.topP===void 0?{}:{top_p:i.topP},...u?{prompt:u}:{},...e?{permission:o}:{},...n?{scope:n}:{}}}let s={name:t};if(!a)return s;if(i.description!==a.description){let e=i.description.trim();e&&(s.description=e)}return i.mode!==a.mode&&(s.mode=i.mode),i.model!==a.model&&(s.model=Pa(i.model)),i.variant!==a.variant&&(s.variant=Fa(i.variant)??null),i.temperature!==a.temperature&&(s.temperature=i.temperature??null),i.topP!==a.topP&&(s.top_p=i.topP??null),i.prompt!==a.prompt&&(s.prompt=La(i.prompt)),Na(i,a)&&(s.permission=o),s},za=[`*`,`read`,`edit`,`glob`,`grep`,`list`,`bash`,`task`,`skill`,`lsp`,`todoread`,`todowrite`,`webfetch`,`websearch`,`codesearch`,`external_directory`,`doom_loop`,`question`],Ba=e=>e===`allow`||e===`ask`||e===`deny`,Va=(e,t)=>`${e}::${t}`,Ha=e=>{let t=new Map;for(let n of e)!n.permission||n.permission===`invalid`||n.pattern&&Ba(n.action)&&t.set(Va(n.permission,n.pattern),{permission:n.permission,pattern:n.pattern,action:n.action});return Array.from(t.values())},Ua=e=>{let t=new Map;for(let n of Ha(e))t.set(Va(n.permission,n.pattern),n);return t},Wa=e=>[...e].sort((e,t)=>{let n=e.permission.localeCompare(t.permission);return n===0?e.pattern.localeCompare(t.pattern):n}),Ga=(e,t)=>{let n=Wa(Ha(e)),r=Wa(Ha(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})},Ka=e=>e.find(e=>e.permission===`*`&&e.pattern===`*`)?.action??`allow`,qa=(e,t)=>Ha(e).filter(e=>e.permission!==`*`||e.pattern!==`*`).filter(e=>e.pattern!==`*`||e.action!==t),Ja=e=>{if(Array.isArray(e))return Ha(e);if(Ba(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(Ba(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))Ba(i)&&t.push({permission:n,pattern:e,action:i})}return t},Ya=(e,t)=>{let n=Ha(t),r={};for(let e of n)(r[e.permission]||={})[e.pattern]=e.action;let i={};for(let[e,t]of Object.entries(r))if(e!==`*`){if(Object.keys(t).length===1&&t[`*`]){i[e]=t[`*`];continue}i[e]=t}return Object.keys(i).length===0?e:(e!==`allow`&&(i[`*`]=e),i)},Xa=(e,t)=>{let n=nt(t);if(!n)return[];let r=e.find(e=>e.id===n.providerId)?.models?.find(e=>e.id===n.modelId);return r?.variants?Object.keys(r.variants):[]},Za=()=>{let{t:e}=Oe(),t=it(e=>e.providers),{selectedAgentName:n,getAgentByName:r,createAgent:i,updateAgent:a,agentDraft:o,setAgentDraft:s}=lt(le(e=>({selectedAgentName:e.selectedAgentName,getAgentByName:e.getAgentByName,createAgent:e.createAgent,updateAgent:e.updateAgent,agentDraft:e.agentDraft,setAgentDraft:e.setAgentDraft}))),{data:c=[]}=Rt(),l=n?r(n):null,u=!!(o&&o.name===n&&!l),[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(void 0),[T,E]=Q.useState(void 0),[D,O]=Q.useState(``),[k,A]=Q.useState(`allow`),[j,M]=Q.useState([]),[N,P]=Q.useState([]),[F,I]=Q.useState(``),[L,R]=Q.useState(`*`),[z,B]=Q.useState(!1),[V,H]=Q.useState(!1),U=Q.useRef(null),ee=fe(e=>e.currentDirectory??null),[W,te]=Q.useState([]),ne=Q.useMemo(()=>Xa(t,y),[y,t]),re=ne.length>0,ie=Q.useMemo(()=>!x||!ne.includes(x)?`__default`:x,[x,ne]),ae=re&&(!x||ne.includes(x)),oe=Ze(e=>e.permission);Q.useEffect(()=>{let e=!1;return(async()=>{let t=await pe.listToolIds({directory:ee});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));te(Array.from(new Set(r)).sort((e,t)=>e.localeCompare(t)))})(),()=>{e=!0}},[ee]);let se=Q.useMemo(()=>{let e=new Set;for(let t of c){let n=Ha(Ja(t.permission));for(let t of n)t.permission&&t.permission!==`*`&&t.permission!==`invalid`&&e.add(t.permission)}for(let t of Object.values(oe))for(let n of t){let t=n.permission?.trim();t&&t!==`invalid`&&e.add(t)}for(let t of W)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[c,oe,W]),ce=Q.useMemo(()=>Ua(j),[j]),ue=Q.useMemo(()=>Ua(N),[N]),de=Q.useCallback(e=>ue.get(Va(e,`*`))?.action,[ue]),me=Q.useCallback(e=>N.filter(t=>t.permission===e&&t.pattern!==`*`).sort((e,t)=>e.pattern.localeCompare(t.pattern)),[N]),he=Q.useMemo(()=>{let e=new Set;for(let t of za)e.add(t);for(let t of se)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[se]),ge=Q.useCallback(e=>{let t=e===`*`?k:de(e)??k,n=me(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}},[me,de,k]),_e=Q.useCallback(t=>e(t===`allow`?`settings.common.permission.allow`:t===`deny`?`settings.common.permission.deny`:`settings.common.permission.ask`),[e]),ve=Q.useCallback(t=>t===`global`?e(`settings.common.scope.global`):_e(t),[_e,e]),G=Q.useMemo(()=>{let e=new Set;for(let t of za)e.add(t);for(let t of se)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[se]),ye=Q.useCallback((e,t,n)=>{P(r=>{let i=Ua(r);return i.set(Va(e,t),{permission:e,pattern:t,action:n}),Array.from(i.values())})},[]),be=Q.useCallback((e,t)=>{P(n=>{let r=Ua(n);return r.delete(Va(e,t)),Array.from(r.values())})},[]),xe=Q.useCallback((e,t)=>{let n=ce.get(Va(e,t));if(n){ye(e,t,n.action);return}be(e,t)},[ce,be,ye]),Se=Q.useCallback((e,t,n)=>{ye(e,t,n)},[ye]),Ce=Q.useCallback(e=>{A(e),P(t=>t.filter(t=>t.pattern!==`*`||t.action!==e))},[]),we=Q.useCallback(t=>{let n=F.trim();if(!n){K.error(e(`settings.agents.page.toast.permissionNameRequired`));return}let r=L.trim()||`*`;if(n===`*`&&r===`*`){Ce(t),I(``),R(`*`);return}r===`*`&&n!==`*`&&t===k?be(n,`*`):ye(n,r,t),I(``),R(`*`)},[k,F,L,be,Ce,e,ye]),Te=Q.useCallback(t=>t===`*`?e(`settings.agents.page.permissions.defaultLabel`):t===`webfetch`?`WebFetch`:t===`websearch`?`WebSearch`:t===`codesearch`?`CodeSearch`:t===`doom_loop`?`Doom Loop`:t===`external_directory`?`External Directory`:t===`todowrite`?`TodoWrite`:t===`todoread`?`TodoRead`:t.split(/[_-]+/g).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),[e]);Q.useEffect(()=>{I(``),R(`*`);let e=e=>{let t=Ha(e),n=Ka(t),r=qa(t,n);return A(n),M(r),P(r),{global:n,rules:r}};if(u&&o){let t=o.name||``,n=o.scope||`user`,r=o.description||``,i=o.mode||`subagent`,a=o.model||``,s=o.variant||``,c=o.temperature??void 0,l=o.top_p??void 0,u=o.prompt||``;f(t),m(n),g(r),v(i),b(a),S(s),w(c),E(l),O(u);let d=e(Ja(o.permission));U.current={draftName:t,draftScope:n,description:r,mode:i,model:a,variant:s,temperature:c,topP:l,prompt:u,globalPermission:d.global,permissionRules:d.rules};return}if(l&&n===l.name){let t=l.description||``,n=l.mode||`subagent`,r=l.model?.providerID&&l.model?.modelID?`${l.model.providerID}/${l.model.modelID}`:``,i=l.variant||``,a=l.temperature,o=l.topP,s=l.prompt||``;g(t),v(n),b(r),S(i),w(a),E(o),O(s);let c=e(Ja(l.permission));U.current={draftName:``,draftScope:`user`,description:t,mode:n,model:r,variant:i,temperature:a,topP:o,prompt:s,globalPermission:c.global,permissionRules:c.rules}}},[o,u,l,n]);let Ee=Q.useMemo(()=>{let e=U.current;return e?!!(u&&(d!==e.draftName||p!==e.draftScope)||h!==e.description||_!==e.mode||y!==e.model||x!==e.variant||C!==e.temperature||T!==e.topP||D!==e.prompt||k!==e.globalPermission||!Ga(N,e.permissionRules)):!1},[h,d,p,k,u,_,y,N,D,C,T,x]);return n?(0,$.jsx)(yr,{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:u?e(`settings.agents.page.title.new`):n}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:e(u?`settings.agents.page.subtitle.new`:`settings.agents.page.subtitle.edit`)})]})}),(0,$.jsxs)(Z,{label:e(`settings.agents.page.section.identityRole`),children:[u&&(0,$.jsxs)(Er,{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)(ln,{value:d,onChange:e=>f(e.target.value),placeholder:e(`settings.agents.page.field.agentNamePlaceholder`),className:`h-7 w-40 px-2`})]}),(0,$.jsxs)(an,{value:p,onValueChange:e=>m(e),children:[(0,$.jsx)(tn,{className:`w-fit min-w-[100px]`,children:(0,$.jsx)(cn,{placeholder:e(`settings.agents.page.field.scopePlaceholder`)})}),(0,$.jsxs)(nn,{align:`end`,children:[(0,$.jsx)($t,{value:`user`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{name:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.global`)})]})}),(0,$.jsx)($t,{value:`project`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{name:`folder`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.project`)})]})})]})]})]}),(0,$.jsx)(Er,{label:e(`settings.common.field.description`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(br,{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)(Er,{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)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(J,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(dn,{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)(Y,{variant:`chip`,size:`xs`,"aria-pressed":_===`primary`,onClick:()=>v(`primary`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.primary`)}),(0,$.jsx)(Y,{variant:`chip`,size:`xs`,"aria-pressed":_===`subagent`,onClick:()=>v(`subagent`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.subagent`)}),(0,$.jsx)(Y,{variant:`chip`,size:`xs`,"aria-pressed":_===`all`,onClick:()=>v(`all`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.all`)})]})})]}),(0,$.jsxs)(Z,{label:e(`settings.agents.page.section.modelParameters`),children:[(0,$.jsx)(Er,{itemId:`agents.model`,label:e(`settings.agents.page.field.overrideModel`),children:(0,$.jsx)(gn,{providerId:nt(y)?.providerId??``,modelId:nt(y)?.modelId??``,onChange:(e,t)=>{b(e&&t?`${e}/${t}`:``),S(``)},className:`oc-settings-inline-value`})}),(0,$.jsx)(Er,{itemId:`agents.variant`,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:e(`settings.agents.page.field.variant`)}),(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(J,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(dn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.agents.page.field.variantTooltip`)})]})]}),description:e(`settings.agents.page.field.variantHint`),children:ae?(0,$.jsxs)(an,{value:ie,onValueChange:e=>S(e===`__default`?``:e),children:[(0,$.jsx)(tn,{className:`w-fit min-w-[10rem] max-w-full`,children:(0,$.jsx)(cn,{placeholder:e(`settings.agents.page.field.variantPlaceholder`),children:t=>t===`__default`?e(`chat.modelControls.default`):t})}),(0,$.jsxs)(nn,{children:[(0,$.jsx)($t,{value:`__default`,children:e(`chat.modelControls.default`)}),ne.map(e=>(0,$.jsx)($t,{value:e,children:e},e))]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ln,{value:x,onChange:e=>S(e.target.value),placeholder:e(`settings.agents.page.field.variantPlaceholder`),disabled:!y&&!x,className:`h-7 w-40 max-w-full`}),x&&(0,$.jsx)(Y,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>S(``),className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":e(`settings.common.actions.clear`),title:e(`settings.common.actions.clear`),children:(0,$.jsx)(J,{name:`close`,className:`h-3.5 w-3.5`})})]})}),(0,$.jsxs)(Er,{itemId:`agents.temperature`,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:e(`settings.agents.page.field.temperature`)}),(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(J,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(dn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.agents.page.field.temperatureTooltip`)})]})]}),description:e(`settings.agents.page.field.temperatureRange`),children:[(0,$.jsx)(Ir,{value:C,fallbackValue:.7,onValueChange:w,onClear:()=>w(void 0),min:0,max:2,step:.1,inputMode:`decimal`,placeholder:`—`,emptyLabel:`—`,className:`w-16`}),C!==void 0&&(0,$.jsx)(Y,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>w(void 0),className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":e(`settings.agents.page.field.clearTemperatureAria`),title:e(`settings.common.actions.clear`),children:(0,$.jsx)(J,{name:`close`,className:`h-3.5 w-3.5`})})]}),(0,$.jsxs)(Er,{itemId:`agents.top-p`,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:e(`settings.agents.page.field.topP`)}),(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(J,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(dn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.agents.page.field.topPTooltip`)})]})]}),description:e(`settings.agents.page.field.topPRange`),children:[(0,$.jsx)(Ir,{value:T,fallbackValue:.9,onValueChange:E,onClear:()=>E(void 0),min:0,max:1,step:.1,inputMode:`decimal`,placeholder:`—`,emptyLabel:`—`,className:`w-16`}),T!==void 0&&(0,$.jsx)(Y,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>E(void 0),className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":e(`settings.agents.page.field.clearTopPAria`),title:e(`settings.common.actions.clear`),children:(0,$.jsx)(J,{name:`close`,className:`h-3.5 w-3.5`})})]})]}),(0,$.jsx)(Hr,{itemId:`agents.system-prompt`,label:e(`settings.agents.page.section.systemPrompt`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(br,{embedded:!0,value:D,onChange:e=>O(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)(Y,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>B(e=>!e),children:e(z?`settings.agents.page.permissions.hideEditor`:`settings.agents.page.permissions.advancedEditor`)})]}),children:z?(0,$.jsxs)(`div`,{className:`space-y-6 p-2`,children:[(0,$.jsx)(Er,{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)(an,{value:k,onValueChange:e=>Ce(e),children:[(0,$.jsx)(tn,{className:`w-[100px]`,children:(0,$.jsx)(cn,{children:_e(k)})}),(0,$.jsxs)(nn,{children:[(0,$.jsx)($t,{value:`allow`,children:e(`settings.common.permission.allow`)}),(0,$.jsx)($t,{value:`ask`,children:e(`settings.common.permission.ask`)}),(0,$.jsx)($t,{value:`deny`,children:e(`settings.common.permission.deny`)})]})]})}),(0,$.jsx)(`div`,{className:`space-y-4`,children:he.filter(e=>e!==`*`).map(t=>{let n=Te(t),{defaultAction:r,patternRulesCount:i}=ge(t),a=de(t),o=a??`global`,s=me(t),c=[`allow`,`ask`,`deny`].filter(e=>e!==k);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)(Y,{size:`sm`,variant:`ghost`,onClick:()=>xe(t,`*`),className:`px-1.5 py-0 h-5`,children:(0,$.jsx)(J,{name:`subtract`,className:`h-3.5 w-3.5 text-muted-foreground hover:text-foreground`})})]}),(0,$.jsxs)(an,{value:o,onValueChange:e=>{if(e===`global`){be(t,`*`);return}ye(t,`*`,e)},children:[(0,$.jsx)(tn,{className:`w-[90px]`,children:(0,$.jsx)(cn,{children:ve(o)})}),(0,$.jsxs)(nn,{children:[(0,$.jsx)($t,{value:`global`,children:e(`settings.common.scope.global`)}),c.map(e=>(0,$.jsx)($t,{value:e,className:`capitalize`,children:_e(e)},e))]})]})]}),s.map(t=>{let n=Va(t.permission,t.pattern),r=ce.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)(Y,{size:`sm`,variant:`ghost`,onClick:()=>i?be(t.permission,t.pattern):xe(t.permission,t.pattern),className:`px-1.5 py-0 h-5`,children:(0,$.jsx)(J,{name:`subtract`,className:`h-3.5 w-3.5 text-muted-foreground hover:text-foreground`})})]}),(0,$.jsxs)(an,{value:t.action,onValueChange:e=>Se(t.permission,t.pattern,e),children:[(0,$.jsx)(tn,{className:`w-[90px]`,children:(0,$.jsx)(cn,{children:_e(t.action)})}),(0,$.jsxs)(nn,{children:[(0,$.jsx)($t,{value:`allow`,children:e(`settings.common.permission.allow`)}),(0,$.jsx)($t,{value:`ask`,children:e(`settings.common.permission.ask`)}),(0,$.jsx)($t,{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)(an,{value:F,onValueChange:I,children:[(0,$.jsx)(tn,{className:`w-full sm:w-[160px]`,children:F?(0,$.jsx)(`span`,{className:`truncate`,children:Te(F)}):(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e(`settings.agents.page.permissions.permissionPlaceholder`)})}),(0,$.jsx)(nn,{children:G.map(e=>(0,$.jsx)($t,{value:e,children:(0,$.jsx)(`div`,{className:`flex items-center justify-between gap-2 w-full`,children:(0,$.jsx)(`span`,{children:Te(e)})})},e))})]}),(0,$.jsx)(ln,{value:L,onChange:e=>R(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)(Y,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>we(`allow`),children:e(`settings.common.permission.allow`)}),(0,$.jsx)(Y,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>we(`ask`),children:e(`settings.common.permission.ask`)}),(0,$.jsx)(Y,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>we(`deny`),children:e(`settings.common.permission.deny`)})]})]})]})]}):(0,$.jsx)($.Fragment,{children:he.map(t=>{let{defaultAction:n,patternRulesCount:r,patternSummary:i,hasDefaultHint:a}=ge(t),o=Te(t),s=a?`${n} (env blocked)`:n;return(0,$.jsx)(Er,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:o}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 font-mono hidden sm:inline-block`,children:t})]}),children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[r>0?(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground bg-[var(--surface-muted)] px-1.5 py-0.5 rounded`,children:e(`settings.agents.page.permissions.globalSummary`,{summary:s})}):(0,$.jsx)(`span`,{className:q(`typography-micro capitalize px-1.5 py-0.5 rounded`,s===`allow`?`text-[var(--status-success)] bg-[var(--status-success)]/10`:s===`deny`?`text-[var(--status-error)] bg-[var(--status-error)]/10`:`text-[var(--status-warning)] bg-[var(--status-warning)]/10`),children:s}),r>0&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground bg-[var(--surface-muted)] px-1.5 py-0.5 rounded`,children:e(`settings.agents.page.permissions.rulesSummary`,{summary:i})})]})},t)})})})}),(0,$.jsx)(`div`,{className:`px-2 py-1`,children:(0,$.jsx)(Y,{onClick:async()=>{let t=u?d.trim().replace(/\s+/g,`-`):n?.trim();if(!t){K.error(e(`settings.agents.sidebar.toast.agentNameRequired`));return}if(u&&c.some(e=>e.name===t)){K.error(e(`settings.agents.sidebar.toast.agentExists`));return}H(!0);try{let n={description:h,mode:_,model:y,variant:x,temperature:C,topP:T,prompt:D,globalPermission:k,permissionRules:N},r=U.current,c=r?{description:r.description,mode:r.mode,model:r.model,variant:r.variant,temperature:r.temperature,topP:r.topP,prompt:r.prompt,globalPermission:r.globalPermission,permissionRules:r.permissionRules}:null,l=Ra({isNewAgent:u,agentName:t,draftScope:u?p:void 0,draftHasExplicitPermission:u&&o?.permission!==void 0,current:n,initial:c,permissionConfig:Ya(k,N)}),d;u?(d=await i(l),d.ok&&s(null)):d=await a(t,l),d.ok?d.requiresManualRestart?K.warning(e(`settings.agents.page.toast.savedManualRestart`)):K.success(e(u?`settings.agents.page.toast.created`:`settings.agents.page.toast.updated`)):K.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`);K.error(n)}finally{H(!1)}},disabled:V||!Ee,size:`xs`,className:`!font-normal`,children:e(V?`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)(J,{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`)})]})})},Qa=e=>{let t=(0,Di.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=q(`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)(Ln,{children:[(0,$.jsx)(Xn,{asChild:!0,children:(0,$.jsx)(Y,{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)(J,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(X,{align:`end`,className:`w-fit min-w-20`,children:s.map($a)})]}),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 $a(e){let t=e.icon;return(0,$.jsxs)(zn,{onClick:t=>{t.stopPropagation(),e.onClick()},className:q(e.destructive&&`text-destructive focus:text-destructive`),children:[t&&(0,$.jsx)(J,{name:t,className:`h-4 w-4 mr-px`}),e.label]},e.label)}var eo=e=>{let t=(0,Di.c)(8),{header:n,footer:r,children:i,className:a,variant:o}=e,s=o===void 0?`sidebar`:o,c=F(),l=s===`background`||c?`bg-background`:`bg-sidebar`,u;t[0]!==l||t[1]!==a?(u=q(`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},to=`__managed_workspace__`,no=`__current_workspace__`,ro=`默认助理`,io=()=>{let e=it.getState(),t=e.settingsDefaultModel;if(t){let e=nt(t);if(e?.providerId&&e?.modelId)return{providerID:e.providerId,modelID:e.modelId}}if(e.currentProviderId&&e.currentModelId)return{providerID:e.currentProviderId,modelID:e.currentModelId};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},ao=(e=``)=>{let t=io();return{enabled:!0,name:e,defaultPrompt:``,workspacePath:null,providerID:t?.providerID??``,modelID:t?.modelID??``,variant:null}},oo=e=>({enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:e.providerID,modelID:e.modelID,variant:e.variant}),so=e=>({enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:e.providerID,modelID:e.modelID,variant:e.variant??null}),co=e=>e.label?.trim()||e.path.replace(/[\\/]+$/,``).split(/[\\/]/).filter(Boolean).at(-1)||e.path,lo=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))},uo=e=>!!e&&typeof e==`object`&&!Array.isArray(e),fo=e=>{if(!uo(e)||!uo(e.schedule)||!uo(e.execution)||!uo(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`},po=(e,t)=>{let n=lo(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??``})},mo={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)]`}},ho=e=>`${e.projectId}:${e.task.id}`,go=e=>{let t=(0,Di.c)(31),{assistantID:n}=e,{t:r}=Oe(),i=Ue(n),a=i.isError,o=Pe(n,a),s=We(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(bo),u;t[0]===i.data?.tasks?u=t[1]:(u=i.data?.tasks.some(xo),t[0]=i.data?.tasks,t[1]=u);let d=!!u,f=(s.data?.tasks??[]).filter(e=>c.has(ho(e))),p=[...i.data?l:a?f:[]].sort(So),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,_=De(Co),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=De(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)(Er,{label:r(`common.loading`),children:(0,$.jsx)(J,{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=mo[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)(Er,{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)(J,{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:po(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)(J,{name:n.icon,className:`size-3.5 ${t===`running`?`animate-spin`:``}`}),i]}),(0,$.jsx)(J,{name:`arrow-right-s`,className:`size-4`})]}),(0,$.jsx)(Y,{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})})})]},ho(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)(Er,{label:r(`assistants.settings.scheduledTasks.loadError`),children:(0,$.jsx)(Y,{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)(Er,{label:r(`assistants.settings.scheduledTasks.empty`),children:(0,$.jsx)(J,{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},_o=e=>{let t=(0,Di.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)(J,{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},vo=({onItemSelect:e})=>{let{t}=Oe(),n=Ge(),r=Le(),i=n.data,a=Ht(e=>e.settingsSelectedAssistantID),o=Ht(e=>e.selectSettingsAssistant),s=Ht(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=De(()=>{s(),e?.()}),d=De(async e=>{if(i)try{if(await Be(e,i.revision),e&&i.assistants.length===0){let e=io();if(e){let t=await ze({enabled:!0,name:ro,defaultPrompt:``,workspacePath:null,providerID:e.providerID,modelID:e.modelID});o(t.id)}}}catch{Te.error(t(`assistants.settings.toast.toggleFailed`))}});return r.isSuccess&&!r.data.supported?null:(0,$.jsx)(eo,{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)(Kr,{itemId:`assistants.instance-enabled`,checked:i?.enabled??!1,onChange:d,label:t(`assistants.settings.instanceEnabled`),ariaLabel:t(`assistants.settings.instanceEnabled`)})}),(0,$.jsx)(Bi,{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)(Y,{"data-settings-item":`assistants.create`,variant:`ghost`,size:`icon`,onClick:u,"aria-label":t(`assistants.settings.create`),children:(0,$.jsx)(J,{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)(J,{name:`loader-4`,className:`mr-2 size-4 animate-spin`}),t(`common.loading`)]}):i?.assistants.length?i.assistants.map(t=>{let n=je(t.name);return(0,$.jsx)(Qa,{title:n.displayName,selected:a===t.id,onSelect:()=>{o(t.id),e?.()},icon:(0,$.jsx)(Xt,{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`)})})})},yo=({onItemDeleted:e,assistantID:t})=>{let{t:n}=Oe(),r=Ge(),i=Le(),a=r.data,o=yt(e=>e.projects),s=Ht(e=>t??e.settingsSelectedAssistantID),c=Ht(e=>e.selectSettingsAssistant),l=Ht(e=>e.defaultShareAssistant),u=Ht(e=>e.setDefaultShareAssistant),d=Ht(e=>e.createRequestRevision),f=Ht(e=>e.requestCreate),[p,m]=Q.useState(ao),[h,g]=Q.useState(!1),_=Q.useRef(0),v=a?.assistants.find(e=>e.id===s)??null,y=v?je(v.name):null,b=je(p.name),x=p.workspacePath??v?.managedWorkspacePath??null,S=gt(x,{enabled:!0}).data??[];Q.useEffect(()=>{v&&m(oo(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(ao(a?.assistants.length?``:ro)),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&&Me()},[a?.revision,r.isSuccess]);let C=(e,t)=>{m(n=>({...n,[e]:t}))},w=De(()=>f()),T=De(async()=>{if(!(t!==void 0&&!v)){if(!p.name.trim()||!p.providerID||!p.modelID){Te.error(n(`assistants.settings.validation.required`));return}g(!0);try{let e=v?await Re(v,so(p)):await ze(p);t===void 0&&c(e.id),Te.success(n(`assistants.settings.toast.saved`))}catch{Te.error(n(`assistants.settings.toast.saveFailed`))}finally{g(!1)}}}),E=De(async()=>{if(!(!v||!window.confirm(n(`assistants.settings.deleteConfirm`,{name:v.name})))){g(!0);try{if(await Fe(v),l?.assistantID===v.id){let e=await Ve();e.serverInstanceID&&l.serverInstanceID===e.serverInstanceID&&u(null)}t===void 0&&c(null),e?.(),Te.success(n(`assistants.settings.toast.deleted`))}catch{Te.error(n(`assistants.settings.toast.deleteFailed`))}finally{g(!1)}}}),D=De(async(e,t)=>{if(!t){u(null),Ne();return}try{let t=await Ve();if(!t.supported||!t.serverInstanceID)return;u({serverInstanceID:t.serverInstanceID,assistantID:e}),await Ne()}catch{Te.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?to:O?O.id:no,j=p.workspacePath===null?(0,$.jsx)(_o,{name:n(`assistants.settings.workspacePlaceholder`),icon:`cloud`}):O?(0,$.jsx)(_o,{name:co(O),path:O.path}):(0,$.jsx)(_o,{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)(J,{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)(J,{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)(Y,{variant:`outline`,size:`sm`,onClick:()=>void r.refetch(),children:n(`assistants.actions.retry`)})]}):(0,$.jsx)(yr,{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)(Xt,{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)(Y,{variant:`ghost`,size:`sm`,onClick:E,disabled:h,className:`text-[var(--status-error)]`,children:[(0,$.jsx)(J,{name:`delete-bin`,className:`size-4`}),n(`assistants.settings.delete`)]}):null]}),(0,$.jsxs)(Z,{children:[(0,$.jsx)(Er,{itemId:`assistants.name`,label:n(`assistants.settings.name`),children:(0,$.jsx)(ln,{id:`assistant-name`,value:p.name,onChange:e=>C(`name`,e.target.value),className:`min-w-0 flex-1`})}),(0,$.jsx)(Er,{label:n(`assistants.settings.enabled`),children:(0,$.jsx)(Qt,{checked:p.enabled,onChange:e=>C(`enabled`,e),ariaLabel:n(`assistants.settings.enabled`)})}),v?(0,$.jsx)(Er,{itemId:`assistants.default-share`,label:n(`assistants.settings.defaultShare`),children:(0,$.jsx)(Qt,{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)(Hr,{itemId:`assistants.prompt`,label:n(`assistants.settings.defaultPrompt`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(br,{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)(Er,{itemId:`assistants.model`,label:n(`assistants.settings.model`),children:(0,$.jsx)(gn,{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)(Hr,{itemId:`assistants.workspace`,label:n(`assistants.settings.workspace`),description:n(`assistants.settings.workspaceChangeHint`),descriptionPlacement:`outside`,children:(0,$.jsxs)(an,{value:A,onValueChange:e=>{if(e===to){C(`workspacePath`,null);return}let t=o.find(t=>t.id===e);t&&C(`workspacePath`,t.path)},children:[(0,$.jsx)(tn,{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)(cn,{children:j})}),(0,$.jsxs)(nn,{align:`start`,className:`w-[min(32rem,calc(100vw-2rem))]`,children:[(0,$.jsx)($t,{value:to,children:(0,$.jsx)(_o,{name:n(`assistants.settings.workspacePlaceholder`),icon:`cloud`})}),o.map(e=>(0,$.jsx)($t,{value:e.id,children:(0,$.jsx)(_o,{name:co(e),path:e.path})},e.id)),k?(0,$.jsx)($t,{value:no,disabled:!0,children:(0,$.jsx)(_o,{name:n(`assistants.settings.workspaceCurrentPath`),path:k,icon:`history`})}):null]})]})}),v?(0,$.jsx)(go,{assistantID:v.id}):null,(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsxs)(Y,{onClick:T,disabled:h,children:[h?(0,$.jsx)(J,{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)(Xt,{name:`assistants-empty`,size:44,shape:`circle`}),(0,$.jsx)(`p`,{className:`typography-ui`,children:n(`assistants.settings.empty`)}),(0,$.jsxs)(Y,{"data-settings-item":`assistants.create`,size:`sm`,onClick:w,children:[(0,$.jsx)(J,{name:`add`,className:`size-4`}),n(`assistants.settings.create`)]})]})]})})};function bo(e){return fo(e.task)?[{projectId:e.projectID,task:e.task}]:[]}function xo(e){return!fo(e.task)}function So(e,t){return e.task.enabled===t.task.enabled?e.task.name.localeCompare(t.task.name):e.task.enabled?-1:1}function Co(){G.getState().setActiveMainTab(`schedule`),G.getState().setScheduledTasksDialogOpen(!0)}var wo=`~/.config/opencode/AGENTS.md`,To=async(e,t)=>{let n=await e.json().catch(()=>null);return typeof n?.error==`string`&&n.error.trim()?n.error:t},Eo=e=>e.length>0&&!e.endsWith(`
|
|
2
2
|
`)?`${e}\n`:e,Do={prompt:``,responseStyleEnabled:!1,responseStylePreset:`concise`,responseStyleCustomInstructions:``},Oo=(e,t)=>e===`custom`?t:Ct(e),ko=e=>e===`custom`?`custom`:qe(e)?e:`concise`,Ao={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 c(`/api/config/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(e)});if(!n.ok)throw Error(await To(n,t));return n.json().catch(()=>null)},Mo=()=>{let{t:e}=Oe(),t=Q.useSyncExternalStore(r,i,i),[n,a]=Q.useState(``),[o,s]=Q.useState(Do.responseStyleEnabled),[l,u]=Q.useState(Do.responseStylePreset),[d,f]=Q.useState(Do.responseStyleCustomInstructions),[p,m]=Q.useState(!1),[h,g]=Q.useState(!1),[_,v]=Q.useState(!1),[y,b]=Q.useState(``),x=Q.useRef(null),S=Q.useRef(null),C=Q.useRef(0),T=Q.useRef(Promise.resolve());Q.useEffect(()=>{let e=!0;return g(!1),x.current=null,S.current=null,C.current+=1,k(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),St({enabled:r.enabled,preset:r.preset,customInstructions:r.custom},t),x.current=r,S.current=r,g(!0)}).catch(t=>{e&&t?.name!==`AbortError`&&console.warn(`Failed to load behavior settings:`,t)}),()=>{e=!1,C.current+=1}},[t]),Q.useEffect(()=>{let e=new AbortController,n=!0;return m(!1),v(!1),(async()=>{try{let r=await c(`/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:l,custom:d},r=S.current;if(r&&r.enabled===n.enabled&&r.preset===n.preset&&r.custom===n.custom)return;S.current=n;let a=C.current+1;C.current=a;let c=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=E(r),c={enabled:o.responseStyleEnabled??n.enabled,preset:o.responseStylePreset??n.preset,custom:o.responseStyleCustomInstructions??n.custom};if(St({enabled:c.enabled,preset:c.preset,customInstructions:c.custom},t),w({responseStyleEnabled:c.enabled,responseStylePreset:c.preset,responseStyleCustomInstructions:c.custom},t),x.current=c,a!==C.current)return;S.current=c,s(c.enabled),u(c.preset),f(c.custom)}catch(n){if(t===i()&&a===C.current){let t=x.current;S.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`);K.error(r)}}};T.current=T.current.then(r,r)},400);return()=>clearTimeout(c)},[o,l,d,h,e,t]);let D=Oo(l,d),O=n!==y;return(0,$.jsx)(yr,{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)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(J,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(dn,{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:wo})})]})})]})]}),children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-col gap-3`,children:[(0,$.jsx)(br,{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)(Y,{onClick:async()=>{let r=t;if(r===i()){v(!0);try{let t=Eo(n),o=await c(`/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 To(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),K.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`);K.error(n)}finally{r===i()&&v(!1)}}},disabled:_||!O||!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)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(J,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(dn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.behavior.page.responseStyle.tooltip`)})]})]}),children:[(0,$.jsxs)(Er,{label:e(`settings.behavior.page.responseStyle.enable`),children:[(0,$.jsx)(Qt,{checked:o,onChange:s,disabled:!h,ariaLabel:e(`settings.behavior.page.responseStyle.enableAria`)}),(0,$.jsxs)(an,{value:l,onValueChange:e=>u(e),disabled:!h||!o,children:[(0,$.jsx)(tn,{className:`w-full sm:w-56`,children:(0,$.jsx)(cn,{children:t=>t===`custom`?e(`settings.behavior.page.responseStyle.option.custom`):qe(t)?e(Ao[t]):null})}),(0,$.jsxs)(nn,{children:[Ye.map(t=>(0,$.jsx)($t,{value:t,children:e(Ao[t])},t)),(0,$.jsx)($t,{value:`custom`,children:e(`settings.behavior.page.responseStyle.option.custom`)})]})]})]}),(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(br,{embedded:!0,value:D,onChange:e=>f(e.target.value),placeholder:e(`settings.behavior.page.responseStyle.customPlaceholder`),rows:5,disabled:!h||!o||l!==`custom`,outerClassName:`min-h-[120px]`,className:`w-full font-mono typography-meta bg-transparent`})})]})]})})},No=e=>{let t=(0,Di.c)(158),{onItemSelect:n}=e,{t:r}=Oe(),[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}=Ki(le(Fo)),x=bt(),S;t[0]===x.data?S=t[1]:(S=x.data??[],t[0]=x.data,t[1]=S);let C=S,w=_t(),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(Io)),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(Wi(e)){K.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=>{Wi(e)&&(l(e),d(`reset`))},t[26]=B):B=t[26];let V=B,H;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>{l(null),d(null)},t[27]=H):H=t[27];let U=H,ee;t[28]!==c||t[29]!==u||t[30]!==b||t[31]!==r?(ee=async()=>{!c||!u||(p(!0),await b(c.name)?(u===`delete`?K.success(r(`settings.commands.sidebar.toast.commandDeleted`,{name:c.name})):K.success(r(`settings.commands.sidebar.toast.commandReset`,{name:c.name})),U()):u===`delete`?K.error(r(`settings.commands.sidebar.toast.deleteFailed`)):K.error(r(`settings.commands.sidebar.toast.resetFailed`)),p(!1))},t[28]=c,t[29]=u,t[30]=b,t[31]=r,t[32]=ee):ee=t[32];let W=ee,te;t[33]!==C||t[34]!==v||t[35]!==_?(te=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]=te):te=t[36];let ne=te,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){K.error(r(`settings.commands.sidebar.toast.commandNameRequired`));return}if(e===i.name){a(null);return}if(C.some(t=>t.name===e)){K.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)?(K.success(`Command renamed to "${e}"`),_(e)):K.error(r(`settings.commands.sidebar.toast.removeOldAfterRenameFailed`)):K.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,ue;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(Wi),i=N.filter(Lo),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)(J,{name:`add`,className:`h-4 w-4`}),t[64]=c):c=t[64];let l;t[65]!==L||t[66]!==s?(l=(0,$.jsx)(Y,{"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)(ga,{})})}),t[71]=ce):ce=t[71],ue=(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)(J,{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(Ro).map(e=>(0,$.jsx)(Po,{command:e,isSelected:g===e.name,onSelect:()=>{_(e.name),n?.()},onReset:()=>V(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(zo).map(e=>(0,$.jsx)(Po,{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]=ue}else se=t[55],ce=t[56],ue=t[57];let de=c!==null&&u!==null,fe;t[72]===f?fe=t[73]:(fe=e=>{!e&&!f&&U()},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)(Kt,{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)(qt,{children:he}),t[83]=he,t[84]=ge);let _e;t[85]!==me||t[86]!==ge?(_e=(0,$.jsxs)(Ut,{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 G;t[90]!==f||t[91]!==ve?(G=(0,$.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:U,disabled:f,children:ve}),t[90]=f,t[91]=ve,t[92]=G):G=t[92];let ye;t[93]!==u||t[94]!==r?(ye=r(u===`delete`?`settings.common.actions.delete`:`settings.common.actions.reset`),t[93]=u,t[94]=r,t[95]=ye):ye=t[95];let be;t[96]!==W||t[97]!==f||t[98]!==ye?(be=(0,$.jsx)(Y,{size:`sm`,onClick:W,disabled:f,children:ye}),t[96]=W,t[97]=f,t[98]=ye,t[99]=be):be=t[99];let xe;t[100]!==G||t[101]!==be?(xe=(0,$.jsxs)(Wt,{children:[G,be]}),t[100]=G,t[101]=be,t[102]=xe):xe=t[102];let Se;t[103]!==_e||t[104]!==xe?(Se=(0,$.jsxs)(Gt,{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)(Jt,{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)(Kt,{children:Ee}),t[113]=Ee,t[114]=De);let ke=i?.name??``,Ae;t[115]!==r||t[116]!==ke?(Ae=r(`settings.commands.sidebar.renameDialog.description`,{name:ke}),t[115]=r,t[116]=ke,t[117]=Ae):Ae=t[117];let je;t[118]===Ae?je=t[119]:(je=(0,$.jsx)(qt,{children:Ae}),t[118]=Ae,t[119]=je);let Me;t[120]!==De||t[121]!==je?(Me=(0,$.jsxs)(Ut,{children:[De,je]}),t[120]=De,t[121]=je,t[122]=Me):Me=t[122];let Ne;t[123]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=e=>s(e.target.value),t[123]=Ne):Ne=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)(ln,{value:o,onChange:Ne,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 Le;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(Le=()=>a(null),t[132]=Le):Le=t[132];let Re;t[133]===r?Re=t[134]:(Re=r(`settings.common.actions.cancel`),t[133]=r,t[134]=Re);let ze;t[135]===Re?ze=t[136]:(ze=(0,$.jsx)(Y,{size:`sm`,variant:`ghost`,onClick:Le,children:Re}),t[135]=Re,t[136]=ze);let Be;t[137]===r?Be=t[138]:(Be=r(`settings.common.actions.rename`),t[137]=r,t[138]=Be);let Ve;t[139]!==oe||t[140]!==Be?(Ve=(0,$.jsx)(Y,{size:`sm`,onClick:oe,children:Be}),t[139]=oe,t[140]=Be,t[141]=Ve):Ve=t[141];let He;t[142]!==ze||t[143]!==Ve?(He=(0,$.jsxs)(Wt,{children:[ze,Ve]}),t[142]=ze,t[143]=Ve,t[144]=He):He=t[144];let Ue;t[145]!==Me||t[146]!==Ie||t[147]!==He?(Ue=(0,$.jsxs)(Gt,{children:[Me,Ie,He]}),t[145]=Me,t[146]=Ie,t[147]=He,t[148]=Ue):Ue=t[148];let We;t[149]!==we||t[150]!==Ue?(We=(0,$.jsx)(Jt,{open:we,onOpenChange:Te,children:Ue}),t[149]=we,t[150]=Ue,t[151]=We):We=t[151];let Ge;return t[152]!==se||t[153]!==ce||t[154]!==ue||t[155]!==Ce||t[156]!==We?(Ge=(0,$.jsxs)(`div`,{className:se,children:[ce,ue,Ce,We]}),t[152]=se,t[153]=ce,t[154]=ue,t[155]=Ce,t[156]=We,t[157]=Ge):Ge=t[157],Ge},Po=e=>{let t=(0,Di.c)(47),{command:n,isSelected:r,onSelect:i,onDelete:a,onReset:o,onRename:s,onDuplicate:c,isMenuOpen:l,onMenuOpenChange:u}=e,{t:d}=Oe(),f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=fr(),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)(J,{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)(J,{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)(J,{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)(J,{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=q(`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||Wi(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:Wi(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)(Xn,{asChild:!0,children:(0,$.jsx)(Y,{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)(J,{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)(X,{align:`end`,className:`w-fit min-w-20`,children:_(zn)}),t[29]=_,t[30]=k);let A;t[31]!==l||t[32]!==D||t[33]!==k?(A=(0,$.jsxs)(Ln,{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)(_i,{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)(vi,{className:`w-fit min-w-20`,children:_(yi)}),t[41]=_,t[42]=N);let P;return t[43]!==m||t[44]!==M||t[45]!==N?(P=(0,$.jsxs)(bi,{open:m,onOpenChange:h,children:[M,N]}),t[43]=m,t[44]=M,t[45]=N,t[46]=P):P=t[46],P};function Fo(e){return{selectedCommandName:e.selectedCommandName,setSelectedCommand:e.setSelectedCommand,setCommandDraft:e.setCommandDraft,createCommand:e.createCommand,deleteCommand:e.deleteCommand}}function Io(e){return e.name}function Lo(e){return!Wi(e)}function Ro(e,t){return e.name.localeCompare(t.name)}function zo(e,t){return e.name.localeCompare(t.name)}var Bo=()=>{let{t:e}=Oe(),{selectedCommandName:t,createCommand:n,updateCommand:r,commandDraft:i,setCommandDraft:a}=Ki(le(e=>({selectedCommandName:e.selectedCommandName,createCommand:e.createCommand,updateCommand:e.updateCommand,commandDraft:e.commandDraft,setCommandDraft:e.setCommandDraft}))),o=bt(),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)(yr,{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)(Er,{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)(ln,{value:u,onChange:e=>d(e.target.value),placeholder:e(`settings.commands.page.field.commandNamePlaceholder`),className:`h-7 w-40 px-2`})]}),(0,$.jsxs)(an,{value:f,onValueChange:e=>p(e),children:[(0,$.jsx)(tn,{className:`w-fit min-w-[100px]`,children:(0,$.jsx)(cn,{placeholder:e(`settings.agents.page.field.scopePlaceholder`)})}),(0,$.jsxs)(nn,{align:`end`,children:[(0,$.jsx)($t,{value:`user`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{name:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.global`)})]})}),(0,$.jsx)($t,{value:`project`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{name:`folder`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.project`)})]})})]})]})]}),(0,$.jsx)(Er,{label:e(`settings.common.field.description`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(br,{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)(Er,{itemId:`commands.agent`,label:e(`settings.commands.page.field.overrideAgent`),children:(0,$.jsx)($n,{agentName:g,onChange:e=>_(e),className:`oc-settings-inline-value`})}),(0,$.jsx)(Er,{itemId:`commands.model`,label:e(`settings.agents.page.field.overrideModel`),children:(0,$.jsx)(gn,{providerId:nt(v)?.providerId??``,modelId:nt(v)?.modelId??``,onChange:(e,t)=>{y(e&&t?`${e}/${t}`:``)},className:`oc-settings-inline-value`})})]}),(0,$.jsx)(Hr,{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)(br,{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)(Y,{onClick:async()=>{let i=l?u.trim().replace(/\s+/g,`-`):t?.trim();if(!i){K.error(e(`settings.commands.sidebar.toast.commandNameRequired`));return}if(!b.trim()){K.error(e(`settings.commands.page.toast.templateRequired`));return}if(l&&s.some(e=>e.name===i)){K.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?K.success(e(l?`settings.commands.page.toast.created`:`settings.commands.page.toast.updated`)):K.error(e(l?`settings.commands.page.toast.createFailed`:`settings.commands.page.toast.updateFailed`))}catch(t){console.error(`Error saving command:`,t),K.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)(J,{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`)})]})})},Vo=[],Ho=e=>{switch(e){case`connected`:return`success`;case`failed`:return`error`;case`needs_auth`:case`needs_client_registration`:return`warning`;default:return`idle`}},Uo=e=>{let t=(0,Di.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=q(`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},Wo=e=>{let t=(0,Di.c)(115),{onItemSelect:n}=e,{t:r}=Oe(),{selectedMcpName:a,setSelectedMcp:o,setMcpDraft:s,deleteMcp:c}=ea(le(Go)),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=Vr(),t[0]=l):l=t[0];let u=l,d=wr(u),f=ti(u),p=d.data??Vo,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),[w,T]=Q.useState(!1),E;t[3]===p?E=t[4]:(E=p.filter(Ko),t[3]=p,t[4]=E);let D=E,O;t[5]===p?O=t[6]:(O=p.filter(qo),t[5]=p,t[6]=O);let k=O,A;t[7]===w?A=t[8]:(A=()=>{if(w)return;T(!0);let e=new Promise(Jo),t=i();Promise.all([Xr(I,u,t),e]).catch(Yo).finally(()=>{T(!1)})},t[7]=w,t[8]=A);let j=A,M;t[9]!==p||t[10]!==n||t[11]!==s||t[12]!==o?(M=()=>{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]=M):M=t[13];let N=M,P;t[14]!==c||t[15]!==g||t[16]!==r?(P=async()=>{if(!g)return;y(!0);let e=await c(g.name,{directory:Vr(),transportIdentity:i()});e.ok?e.reloadFailed?K.warning(e.message||`MCP server "${g.name}" deleted, but OpenCode reload failed`,{description:e.warning||r(`settings.mcp.sidebar.toast.refreshListIfStale`)}):K.success(e.message||r(`settings.mcp.sidebar.toast.serverDeleted`,{name:g.name})):K.error(r(`settings.mcp.sidebar.toast.deleteFailed`)),_(null),y(!1)},t[14]=c,t[15]=g,t[16]=r,t[17]=P):P=t[17];let F=P,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)(J,{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 V;t[24]===r?V=t[25]:(V=r(`settings.mcp.sidebar.actions.refreshStatusAria`),t[24]=r,t[25]=V);let H;t[26]===r?H=t[27]:(H=r(`settings.mcp.sidebar.actions.refreshStatusTitle`),t[26]=r,t[27]=H);let U=w&&`animate-spin`,ee;t[28]===U?ee=t[29]:(ee=q(`h-4 w-4`,U),t[28]=U,t[29]=ee);let W;t[30]===ee?W=t[31]:(W=(0,$.jsx)(J,{name:`refresh`,className:ee}),t[30]=ee,t[31]=W);let te;t[32]!==j||t[33]!==w||t[34]!==V||t[35]!==H||t[36]!==W?(te=(0,$.jsx)(Y,{type:`button`,size:`icon`,variant:`ghost`,disabled:w,onClick:j,"aria-label":V,title:H,children:W}),t[32]=j,t[33]=w,t[34]=V,t[35]=H,t[36]=W,t[37]=te):te=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)(J,{name:`add`,className:`h-4 w-4`}),t[42]=ie):ie=t[42];let ae;t[43]!==N||t[44]!==ne||t[45]!==re?(ae=(0,$.jsx)(Y,{"data-settings-item":`mcp.create`,size:`icon`,variant:`ghost`,onClick:N,"aria-label":ne,title:re,children:ie}),t[43]=N,t[44]=ne,t[45]=re,t[46]=ae):ae=t[46];let oe;t[47]!==te||t[48]!==ae?(oe=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[te,ae]}),t[47]=te,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,ue;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(Z,{children:(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(ga,{})})}),t[53]=ue):ue=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]!==D||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]!==k||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)(J,{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:[D.length>0&&(0,$.jsx)(Z,{label:r(`settings.mcp.sidebar.group.projectServers`),children:D.map(e=>{let t=Ho((h[e.name]??(f.isError&&!f.data?{status:`failed`,error:f.error.message}:void 0))?.status),i=a===e.name,c=fr();return(0,$.jsxs)(bi,{open:S===e.name,onOpenChange:t=>C(t?e.name:null),children:[(0,$.jsxs)(_i,{render:(0,$.jsx)(`div`,{className:q(`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)(Uo,{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)(J,{name:`server`,className:`h-3 w-3 text-muted-foreground/60 flex-shrink-0`}):(0,$.jsx)(J,{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)(Ln,{open:b===e.name,onOpenChange:t=>{t&&C(null),x(t?e.name:null)},children:[(0,$.jsx)(Xn,{asChild:!0,children:(0,$.jsx)(Y,{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)(J,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(X,{align:`end`,className:`w-fit min-w-20`,children:R(e,zn)})]})]}),(0,$.jsx)(vi,{className:`w-fit min-w-20`,children:R(e,yi)})]},e.name)})}),k.length>0&&(0,$.jsx)(Z,{label:ce,children:k.map(e=>{let t=Ho((h[e.name]??(f.isError&&!f.data?{status:`failed`,error:f.error.message}:void 0))?.status),i=a===e.name,c=fr();return(0,$.jsxs)(bi,{open:S===e.name,onOpenChange:t=>C(t?e.name:null),children:[(0,$.jsxs)(_i,{render:(0,$.jsx)(`div`,{className:q(`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)(Uo,{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)(J,{name:`server`,className:`h-3 w-3 text-muted-foreground/60 flex-shrink-0`}):(0,$.jsx)(J,{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)(Ln,{open:b===e.name,onOpenChange:t=>{t&&C(null),x(t?e.name:null)},children:[(0,$.jsx)(Xn,{asChild:!0,children:(0,$.jsx)(Y,{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)(J,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(X,{align:`end`,className:`w-fit min-w-20`,children:R(e,zn)})]})]}),(0,$.jsx)(vi,{className:`w-fit min-w-20`,children:R(e,yi)})]},e.name)})}),k.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]=D,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]=k,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)(Kt,{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 G;t[84]===_e?G=t[85]:(G=(0,$.jsxs)(qt,{children:[_e,` `,ve,`.`]}),t[84]=_e,t[85]=G);let ye;t[86]!==he||t[87]!==G?(ye=(0,$.jsxs)(Ut,{children:[he,G]}),t[86]=he,t[87]=G,t[88]=ye):ye=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)(Y,{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]!==F||t[99]!==v||t[100]!==Ce?(we=(0,$.jsx)(Y,{size:`sm`,onClick:F,disabled:v,children:Ce}),t[98]=F,t[99]=v,t[100]=Ce,t[101]=we):we=t[101];let Te;t[102]!==Se||t[103]!==we?(Te=(0,$.jsxs)(Wt,{children:[Se,we]}),t[102]=Se,t[103]=we,t[104]=Te):Te=t[104];let Ee;t[105]!==ye||t[106]!==Te?(Ee=(0,$.jsxs)(Gt,{className:`max-w-md`,children:[ye,Te]}),t[105]=ye,t[106]=Te,t[107]=Ee):Ee=t[107];let De;t[108]!==fe||t[109]!==pe||t[110]!==Ee?(De=(0,$.jsx)(Jt,{open:fe,onOpenChange:pe,children:Ee}),t[108]=fe,t[109]=pe,t[110]=Ee,t[111]=De):De=t[111];let ke;return t[112]!==de||t[113]!==De?(ke=(0,$.jsxs)(`div`,{className:`oc-settings-page-content h-full overflow-y-auto bg-background p-3`,children:[ue,de,De]}),t[112]=de,t[113]=De,t[114]=ke):ke=t[114],ke};function Go(e){return{selectedMcpName:e.selectedMcpName,setSelectedMcp:e.setSelectedMcp,setMcpDraft:e.setMcpDraft,deleteMcp:e.deleteMcp}}function Ko(e){return e.scope===`project`}function qo(e){return e.scope!==`project`}function Jo(e){return setTimeout(e,500)}function Yo(e){K.error(e instanceof Error?e.message:String(e))}function Xo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Zo(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function Qo(e,t){return t===void 0?{ok:!1,error:e}:{ok:!1,error:e,parsed:t}}function $o(e,t,n){return{ok:!0,name:e,type:t,command:es(n),url:typeof n.url==`string`?n.url.trim():``,environment:ts(n,`env`,`environment`),headers:ts(n,`headers`),oauthEnabled:ns(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:rs(n),enabled:is(n)}}function es(e){let t=e.command,n=e.args;if(Zo(t)&&Zo(n))return[...t,...n];if(Zo(t))return t;if(typeof t==`string`&&t.trim()){let e=t.trim().split(/\s+/);return Zo(n)?[...e,...n]:e}return Zo(n)?n:[]}function ts(e,...t){for(let n of t){let t=e[n];if(!Xo(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 ns(e){if(e.oauth===!1||e.oauth===null||e.oauth===void 0||!Xo(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 rs(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 is(e){return`disabled`in e&&e.disabled===!0?!1:`enabled`in e?!!e.enabled:!0}function as(e){let t=e.mcpServers;if(Xo(t)){let e=Object.keys(t);if(e.length===1){let n=e[0],r=t[n];if(Xo(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`&&Xo(n)});if(n.length===1){let t=n[0],r=e[t];if(os(r))return{name:t,entry:r}}return null}function os(e){return e.type===`local`||e.type===`remote`||Array.isArray(e.command)||typeof e.url==`string`||Array.isArray(e.args)}function ss(e,t){let n;try{let t=e.trim();if(!t)return Qo(`No JSON content provided`);n=JSON.parse(t)}catch(e){return Qo(e instanceof Error?`Invalid JSON: ${e.message}`:`Invalid JSON`)}if(!Xo(n))return Qo(`Expected a JSON object, not an array or primitive`);let r=n,i=r.mcpServers;if(Xo(i)){let e=Object.keys(i);if(e.length===0)return Qo(`mcpServers object is empty`,n);if(e.length>1)return Qo(`Paste one server at a time. Found `+e.length+` servers in mcpServers`,n);let t=e[0],r=i[t];return Xo(r)?$o(t,cs(r),r):Qo(`Server entry is not a valid object`,n)}let a=r.mcp;if(Xo(a)){let e=Object.keys(a);if(e.length===0)return Qo(`mcp object is empty`,n);if(e.length>1)return Qo(`Paste one server at a time. Found `+e.length+` servers in mcp`,n);let t=e[0],r=a[t];return Xo(r)?$o(t,cs(r),r):Qo(`Server entry in mcp is not a valid object`,n)}let o=as(r);if(o)return $o(o.name,cs(o.entry),o.entry);if(os(r)){let e=cs(r);return $o(typeof r.name==`string`&&r.name.trim()?r.name.trim():t?.fallbackName,e,r)}return Qo(`No recognizable MCP server configuration found in JSON`,n)}function cs(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 ls(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 us(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 ds(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:Ar(e.searchParams),stateKey:Nr(e.searchParams)}}catch{}return{code:t,context:null,stateKey:null}}var fs=({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(`
|
|
@@ -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{n as l}from"./clipboard-GUUNlWIv.js";import{t as u}from"./utils-2ZK8yboQ.js";import{t as d}from"./SettingsView-
|
|
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{n as l}from"./clipboard-GUUNlWIv.js";import{t as u}from"./utils-2ZK8yboQ.js";import{t as d}from"./SettingsView-CYrTHDdp.js";var f=c(),p=e(s(),1),m=o(),h=e=>{let o=(0,f.c)(19),{open:s,onOpenChange:c}=e,{t:h}=l(),_=p.useId(),v=g,y;o[0]===c?y=o[1]:(y=e=>{!e&&v()||c(e)},o[0]=c,o[1]=y);let b;o[2]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,m.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]=b):b=o[2];let x;o[3]===Symbol.for(`react.memo_cache_sentinel`)?(x=u(`relative pointer-events-auto`,`w-[90vw] max-w-[1200px] h-[85vh] max-h-[900px]`,`rounded-xl border shadow-none overflow-hidden origin-center`,`bg-background`,`transition-all duration-150 ease-out`,`data-[starting-style]:opacity-0 data-[starting-style]:scale-[0.98]`,`data-[ending-style]:opacity-0 data-[ending-style]:scale-[0.98]`,`data-[nested-dialog-open]:brightness-[0.55] dark:data-[nested-dialog-open]:brightness-[0.4]`),o[3]=x):x=o[3];let S;o[4]===h?S=o[5]:(S=h(`settings.window.description`),o[4]=h,o[5]=S);let C;o[6]!==_||o[7]!==S?(C=(0,m.jsx)(a,{id:_,className:`sr-only`,children:S}),o[6]=_,o[7]=S,o[8]=C):C=o[8];let w;o[9]===c?w=o[10]:(w=(0,m.jsx)(d,{onClose:()=>c(!1),isWindowed:!0}),o[9]=c,o[10]=w);let T;o[11]!==_||o[12]!==C||o[13]!==w?(T=(0,m.jsxs)(i,{children:[b,(0,m.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center pointer-events-none`,children:(0,m.jsxs)(r,{"aria-describedby":_,className:x,children:[C,w]})})]}),o[11]=_,o[12]=C,o[13]=w,o[14]=T):T=o[14];let E;return o[15]!==s||o[16]!==y||o[17]!==T?(E=(0,m.jsx)(n,{open:s,onOpenChange:y,children:T}),o[15]=s,o[16]=y,o[17]=T,o[18]=E):E=o[18],E};function g(){return typeof document>`u`?!1:!!document.querySelector(`[data-slot="dropdown-menu-content"][data-open], [data-slot="select-content"][data-open]`)}export{h as SettingsWindow};
|