@openchambery/web 2.1.8-beta.6 → 2.1.8-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/assets/{AgentAvatar-qSjSZvIG.js → AgentAvatar-E6PHIbw0.js} +1 -1
  2. package/dist/assets/AssistantView-CrPmjRtv.js +3 -0
  3. package/dist/assets/{DiagramView-BRZo734k.js → DiagramView-CCzzM-fz.js} +1 -1
  4. package/dist/assets/{FadeInOnReveal-CD5d1k_u.js → FadeInOnReveal-xpZjAd1R.js} +1 -1
  5. package/dist/assets/{Icon-QASb6r3F.js → Icon-Ck4jqC3w.js} +1 -1
  6. package/dist/assets/{ImageLoadingPlaceholder-BuGiEI7w.js → ImageLoadingPlaceholder-Dq1QizPZ.js} +1 -1
  7. package/dist/assets/{LoadingImage-FRySi1BM.js → LoadingImage-BJoCBGIj.js} +1 -1
  8. package/dist/assets/{MarkdownRenderer-DDqE2UK9.js → MarkdownRenderer-B6MQVdvh.js} +2 -2
  9. package/dist/assets/{MarkdownRendererImpl-bng3kEQL.js → MarkdownRendererImpl-BWzO09y-.js} +2 -2
  10. package/dist/assets/{MarkstreamRendererImpl-BFmqgj-J.js → MarkstreamRendererImpl-Dk-TtCMB.js} +1 -1
  11. package/dist/assets/{MobileDetailNavigation-CK7C09Q-.js → MobileDetailNavigation-B_6fTiJ5.js} +1 -1
  12. package/dist/assets/{MobileShareBridge-tKpVD0C_.js → MobileShareBridge-DvZmmS4t.js} +1 -1
  13. package/dist/assets/{MobileTabPageHeader-DyILETej.js → MobileTabPageHeader-DA7J54Rh.js} +1 -1
  14. package/dist/assets/{MultiRunWindow-C5Z7HQxI.js → MultiRunWindow-_gV3YG6-.js} +1 -1
  15. package/dist/assets/{OnboardingScreen-CHa767GT.js → OnboardingScreen-DL7A9CIA.js} +1 -1
  16. package/dist/assets/{OverlayScrollbar-C7Ls30Hy.js → OverlayScrollbar-Ds68zSwB.js} +1 -1
  17. package/dist/assets/{SettingsView-C1kqMaPC.js → SettingsView-WbtiYsNN.js} +6 -6
  18. package/dist/assets/{SettingsWindow-ZMIn5k6r.js → SettingsWindow-xi8slLEy.js} +1 -1
  19. package/dist/assets/{TerminalView-BWBJDK_M.js → TerminalView-B7-AnhDP.js} +1 -1
  20. package/dist/assets/{ToolOutputDialog-DP1UbrUO.js → ToolOutputDialog-DUB8jV8h.js} +1 -1
  21. package/dist/assets/{appThemeRegistry-CFUjnNsk.js → appThemeRegistry-dZvExJC7.js} +1 -1
  22. package/dist/assets/{button-DOrwfkre.js → button-BidoKJDv.js} +1 -1
  23. package/dist/assets/{collapsible-BJwPZMpo.js → collapsible-CvUPZkE7.js} +1 -1
  24. package/dist/assets/{diagram-BFevUcKu.js → diagram-S5dT10Wc.js} +1 -1
  25. package/dist/assets/{dialog-FSXwOR2i.js → dialog-C8RKHhJ5.js} +1 -1
  26. package/dist/assets/{dropdown-menu.styles-CfTQwJHe.js → dropdown-menu.styles-f8GwJpe8.js} +1 -1
  27. package/dist/assets/{es-VbQQdCdi.js → es-Bm0MbIOW.js} +1 -1
  28. package/dist/assets/{fileMentionTouchSelection-4QMgvjMz.js → fileMentionTouchSelection-GJdFmrrQ.js} +1 -1
  29. package/dist/assets/{fr-BotRbS9t.js → fr-BwfOHzhU.js} +1 -1
  30. package/dist/assets/{gitApi-CU2FOcfV.js → gitApi-BOOTkw_q.js} +1 -1
  31. package/dist/assets/{input-Ctgb06ot.js → input-CFl_7BAn.js} +1 -1
  32. package/dist/assets/insertionBoundaries-Bx9ENE3b.js +1 -0
  33. package/dist/assets/{ja-l_gq6Coh.js → ja-CwKRZPvS.js} +1 -1
  34. package/dist/assets/{ko-yhU5rfe5.js → ko-BeSVeShr.js} +1 -1
  35. package/dist/assets/{main-BJ18z3BH.js → main-BQTHxROo.js} +2 -2
  36. package/dist/assets/main-Bx-ZOlR4.js +169 -0
  37. package/dist/assets/{markdownHeightCache-B6drDnVO.js → markdownHeightCache-B5Wct8zF.js} +1 -1
  38. package/dist/assets/{mcpQueries-XyOWHETV.js → mcpQueries-CIyYw1VL.js} +1 -1
  39. package/dist/assets/{miniChat-Cd2w89kB.js → miniChat-D_ZNs48R.js} +2 -2
  40. package/dist/assets/{mobile-CF_zxU1q.js → mobile-Bn8qQUfc.js} +2 -2
  41. package/dist/assets/{multirun-F1wVEoca.js → multirun-CnXinACF.js} +1 -1
  42. package/dist/assets/{pl-BkynZgOJ.js → pl-BMj_nSdU.js} +1 -1
  43. package/dist/assets/{projectMeta-GUcIt3IO.js → projectMeta-DAdDjK8k.js} +1 -1
  44. package/dist/assets/{pt-BR-Dw_Dokez.js → pt-BR-NVS-v7Sy.js} +1 -1
  45. package/dist/assets/{renderElectronMiniChatApp-DXtaZEcs.js → renderElectronMiniChatApp-CpcK2vb4.js} +2 -2
  46. package/dist/assets/renderMobileApp-x12aD8-c.js +28 -0
  47. package/dist/assets/{runtimeConfig-GQzSTrhB.js → runtimeConfig-NJMSLiAh.js} +1 -1
  48. package/dist/assets/{runtimeEndpointReset-CkSOnEwz.js → runtimeEndpointReset-ynhyvgjk.js} +15 -15
  49. package/dist/assets/{scheduledTaskNavigation-DEMPeoot.js → scheduledTaskNavigation-s5_c3gNQ.js} +1 -1
  50. package/dist/assets/{sessionChangeSummary-Bh6u5Aff.js → sessionChangeSummary-BEjJ2gf-.js} +1 -1
  51. package/dist/assets/{sessionLookup-Cbk5VY_o.js → sessionLookup-BDUIB_qx.js} +1 -1
  52. package/dist/assets/{sortable-tabs-strip-BVnwfMAa.js → sortable-tabs-strip-DVn55-Ri.js} +1 -1
  53. package/dist/assets/speechSettingsQueries-C-8YcLM1.js +4 -0
  54. package/dist/assets/{src-C9BNQK0O.css → src-OjoeiMbd.css} +1 -1
  55. package/dist/assets/{store-COtDAfPx.js → store-BUI-iRhM.js} +2 -2
  56. package/dist/assets/{textarea-DJ52TDJj.js → textarea-BJAl-1yB.js} +1 -1
  57. package/dist/assets/{tooltip-JgW0lJaV.js → tooltip-CBIMCP7g.js} +1 -1
  58. package/dist/assets/{uk-DSl09YqU.js → uk-CDPvEnfr.js} +1 -1
  59. package/dist/assets/{useAppFontEffects-CnKbngkX.js → useAppFontEffects-HXChXK4t.js} +26 -26
  60. package/dist/assets/{useDesktopWindowControlsLayout-DKFQlS7E.js → useDesktopWindowControlsLayout-ChUCpDR9.js} +1 -1
  61. package/dist/assets/{useEffectiveDirectory-DBVgmClb.js → useEffectiveDirectory-CWSf_QKs.js} +1 -1
  62. package/dist/assets/useMobileNavigationStore-B4hTCxg2.js +417 -0
  63. package/dist/assets/{useWorkerHighlightedLines-BsXRz5Z3.js → useWorkerHighlightedLines-UcbAXl3h.js} +1 -1
  64. package/dist/assets/{zh-CN-NtO1bA00.js → zh-CN-DQV_0Jdv.js} +1 -1
  65. package/dist/assets/{zh-TW-CF0z_L0k.js → zh-TW-BsnIeuGE.js} +1 -1
  66. package/dist/index.html +3 -3
  67. package/dist/mini-chat.html +3 -3
  68. package/dist/mobile.html +3 -3
  69. package/package.json +1 -1
  70. package/server/lib/assistants/DOCUMENTATION.md +1 -1
  71. package/server/lib/assistants/harness.js +1 -1
  72. package/server/lib/assistants/harness.test.js +1 -1
  73. package/server/lib/opencode/feature-routes-runtime.js +1 -0
  74. package/server/lib/session-folders/DOCUMENTATION.md +20 -0
  75. package/server/lib/session-folders/order-routes.js +69 -0
  76. package/server/lib/session-folders/routes.js +3 -0
  77. package/server/lib/session-folders/routes.test.js +49 -0
  78. package/dist/assets/AssistantView-DkBZnKTg.js +0 -3
  79. package/dist/assets/insertionBoundaries-d15008qA.js +0 -1
  80. package/dist/assets/main-CtgP4TQO.js +0 -169
  81. package/dist/assets/renderMobileApp-DJ4DB0g_.js +0 -28
  82. package/dist/assets/speechSettingsQueries-Zydyn2ef.js +0 -4
  83. package/dist/assets/useMobileNavigationStore-D6F8KKwN.js +0 -417
@@ -1,5 +1,5 @@
1
- import{n as e,r as t}from"./rolldown-runtime-hePW80VL.js";import{E as n}from"./runtime-auth-C8w0nlKy.js";import{c as r,i,l as a,n as o,r as s,t as c}from"./runtime-switch-3ad3yzM7.js";import{n as l}from"./runtime-fetch-QCWYlAx0.js";import{$t as u,Dn as d,En as f,Jt as p,M as m,Mn as h,N as g,Qt as _,Tn as v,U as y,Xt as b,Zt as x,an as S,g as C,h as w,i as T,jn as E,ln as D,m as O,nn as k,o as A,on as j,p as M,rn as N,s as P,sn as F,st as I,un as L,xn as R,yn as z}from"./persistence-B7ORJ371.js";import{a as B,g as V,h as H,i as U,l as W,m as ee,n as G,p as te,r as ne,t as re,u as ie}from"./desktopHosts-DSBZ-9-L.js";import{n as ae}from"./desktopRelayRestore-DK8TzHRx.js";import{a as oe,i as se,r as ce,t as le}from"./vendor-zustand-o69pgTEK.js";import{it as ue,nt as de,rt as fe}from"./vendor-base-ui-CdzJ6My_.js";import{Ct as pe,Nt as me,n as he,t as ge}from"./platform-CiBU2bCp.js";import{b as _e,d as ve,i as ye,n as K,o as be,s as xe}from"./useUIStore-CDMI_Yzu.js";import{n as Se}from"./vendor-react-BP2cRVqX.js";import{n as Ce}from"./vendor-aparajita-capacitor-secure-storage-xol_6BsB.js";import{l as we,n as Te,o as Ee,s as De}from"./vendor-tanstack-react-query-CdqCAt40.js";import{H as Oe}from"./vendor-codemirror-autocomplete-7c2L_4dM.js";import{r as ke}from"./vendor-sonner-ZS8XIOVl.js";import{a as Ae,c as je,n as Me,r as Ne}from"./vendor-reactuses-core-BpfIZ1tg.js";import{d as Pe,f as Fe,n as Ie,o as Le,p as Re,r as q,t as J}from"./button-DOrwfkre.js";import{a as ze,i as Be,r as Ve}from"./MobileShareBridge-tKpVD0C_.js";import{C as He,_ as Ue,a as We,b as Ge,c as Ke,f as qe,g as Je,h as Ye,o as Xe,t as Ze,v as Qe,y as $e}from"./MobileDetailNavigation-CK7C09Q-.js";import{$a as et,Ba as tt,Ca as nt,Ei as rt,Ga as it,Gn as at,Ha as ot,Ia as st,Ja as ct,Ka as lt,Kn as ut,Kt as dt,La as ft,Pr as Y,Qa as pt,Ra as mt,Ta as ht,Ua as gt,Va as _t,Wa as vt,Xa as yt,Ya as bt,Za as xt,ao as St,ba as Ct,bi as wt,co as Tt,da as Et,do as Dt,eo as Ot,fo as kt,gi as At,ha as jt,ho as Mt,io as Nt,la as Pt,ma as Ft,no as It,o as X,oo as Lt,pa as Rt,po as zt,qa as Bt,ro as Vt,so as Ht,to as Ut,ua as Wt,wa as Gt,xa as Kt,xi as qt,yi as Jt,za as Yt}from"./useMobileNavigationStore-D6F8KKwN.js";import{i as Xt}from"./useAssistantUIStore-Dlvb7P0q.js";import{t as Zt}from"./AgentAvatar-qSjSZvIG.js";import{n as Qt}from"./useThemeSystem-8jhE4Zyk.js";import{n as Z}from"./Icon-QASb6r3F.js";import{a as $t,i as en,n as tn,o as nn,r as rn,t as an}from"./dialog-FSXwOR2i.js";import{A as on,T as sn,_ as cn,a as ln,b as un,h as dn,i as fn,m as pn,n as mn,x as hn}from"./projectMeta-GUcIt3IO.js";import{t as gn}from"./input-Ctgb06ot.js";import{i as _n,n as vn,t as yn}from"./tooltip-JgW0lJaV.js";import{$t as bn,At as xn,B as Sn,Bt as Cn,Ct as wn,Ft as Tn,Gt as En,H as Dn,Ht as On,I as kn,It as An,Lt as jn,M as Mn,Mt as Nn,Nt as Pn,O as Fn,P as In,Pt as Ln,Qt as Rn,R as zn,Rt as Bn,St as Vn,U as Hn,Ut as Un,V as Wn,Vt as Gn,Y as Kn,_t as qn,at as Jn,c as Yn,ct as Xn,dt as Zn,ft as Qn,gt as $n,ht as er,i as tr,in as nr,it as rr,j as ir,jt as ar,k as or,l as sr,lt as cr,nn as lr,nt as ur,on as dr,ot as fr,p as pr,q as mr,r as hr,rn as gr,s as _r,sn as vr,t as yr,tn as br,wt as xr,xt as Sr,z as Cr,zt as wr}from"./speechSettingsQueries-Zydyn2ef.js";import{i as Tr,r as Er}from"./OverlayScrollbar-C7Ls30Hy.js";import{a as Dr,o as Or}from"./dropdown-menu.styles-CfTQwJHe.js";import{n as kr}from"./useRuntimeAPIs-Cx8S1HLz.js";import{n as Ar,t as jr}from"./textarea-DJ52TDJj.js";import{P as Mr,i as Nr,j as Pr,n as Fr}from"./appThemeRegistry-CFUjnNsk.js";import{n as Ir}from"./MarkdownRenderer-DDqE2UK9.js";import{a as Lr}from"./url-nbXEti6c.js";import{l as Rr}from"./markdown-worker-DFNZ3KJ_.js";import{t as zr}from"./sortable-tabs-strip-BVnwfMAa.js";import{A as Br,B as Vr,C as Hr,D as Ur,F as Wr,H as Gr,I as Kr,L as qr,M as Jr,N as Yr,O as Xr,P as Zr,R as Qr,S as $r,T as ei,U as ti,V as ni,_ as ri,a as ii,b as ai,c as oi,d as si,f as ci,g as li,j as ui,k as di,l as fi,m as pi,o as mi,p as hi,r as gi,s as _i,t as vi,v as yi,w as bi,x as xi,y as Si,z as Ci}from"./MobileTabPageHeader-DyILETej.js";import{a as wi,c as Ti,i as Ei,l as Di,o as Oi,r as ki,s as Ai}from"./mcpQueries-XyOWHETV.js";import{a as ji,d as Mi,f as Ni,l as Pi,m as Fi,o as Ii,p as Li,s as Ri,t as zi}from"./scheduledTaskNavigation-DEMPeoot.js";import{n as Bi,r as Vi,t as Hi}from"./collapsible-BJwPZMpo.js";import{n as Ui,t as Wi}from"./vendor-yaml-C9KlJAlj.js";import{t as Gi}from"./vendor-qrcode-D7jBCyl-.js";var Ki=Se(),qi=t(de(),1),Q=t(ue(),1),$=fe(),Ji=`https://github.com/yee94/openchamber`,Yi=`${Ji}/issues/new`,Xi=800,Zi={"manual-global":`settings.openchamber.about.opencodeManagement.manual-global`,"manual-external":`settings.openchamber.about.opencodeManagement.manual-external`,bundled:`settings.openchamber.about.opencodeManagement.bundled`,"in-app":`settings.openchamber.about.opencodeManagement.in-app`,none:`settings.openchamber.about.opencodeManagement.none`},Qi=e=>typeof e==`string`&&e.trim()?e.trim():null,$i=(e,t,n)=>({queryKey:[t,`about`,n,e],queryFn:async({signal:r})=>{if(t!==i()||n!==o())throw Error(`Stale About runtime`);let a=await l(e,{method:`GET`,headers:{Accept:`application/json`},signal:r});if(!a.ok)throw Error(`About snapshot: ${a.status}`);let s=await a.json();if(!s||typeof s!=`object`||Array.isArray(s))throw Error(`Invalid About snapshot`);if(r.aborted||t!==i()||n!==o())throw Error(`Stale About runtime`);return s},retry:!1,staleTime:3e4}),ea=()=>{try{let e=Ce;return((typeof e.getConfig==`function`?e.getConfig():void 0)??e.config)?.OpenChamberOTA?.channel===`stable`?`stable`:`beta`}catch{return`beta`}},ta=({initialUpdateDialogOpen:e=!1})=>{let{t}=Fe(),[n,a]=Q.useState(e),[s,c]=Q.useState(!1),[l,u]=Q.useState(!1),[d,f]=Q.useState(null),[m,h]=Q.useState(null),g=Q.useSyncExternalStore(r,i,i),_=Q.useSyncExternalStore(r,o,o),v=De($i(`/api/system/info`,g,_)),y=De($i(`/api/opencode/upgrade-status`,g,_)),b=Qi(v.data?.openchamberVersion),x=y.data,S=Qi(x?.serveVersion)??Qi(x?.currentVersion),C=Qi(x?.management),w=C&&Object.hasOwn(Zi,C)?Zi[C]:null,T=x?.canManage===!1&&w?t(w):null,E=S&&T?t(`settings.openchamber.about.opencodeVersionWithManagement`,{version:S,management:T}):S,D=x?.canManage===!1?C===`manual-global`?t(`settings.openchamber.about.opencodeGuidance.manualGlobal`):C===`manual-external`?t(`settings.openchamber.about.opencodeGuidance.manualExternal`):C===`bundled`?t(`settings.openchamber.about.opencodeGuidance.bundled`):null:null,O=Kr(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}))),k=K(e=>e.otaChannelOverride),A=K(e=>e.setOtaChannelOverride),j=he(),[M,N]=Q.useState(`stable`);Q.useEffect(()=>{F()&&p().then(e=>N(e?.includes(`-`)?`beta`:`stable`))},[]);let P=ea(),I=k===`beta`||k===null&&(F()?M:P)===`beta`,[L,R]=Q.useState(!1),[z,B]=Q.useState(()=>qt()),V=Me(e=>{rt(e),B(e)}),H=Me(async e=>{if(e){A(`beta`),await Kr.getState().checkForUpdates();return}A(`stable`),await Kr.getState().checkForUpdates();let{info:t,otaDecision:n}=Kr.getState();t?.isChannelRollback===!0&&n?.primaryAction===`apply_ota`&&c(!0)}),U=Me(()=>{c(!1),A(`beta`),Kr.getState().checkForUpdates()}),W=Me(()=>{c(!1),a(!0),Kr.getState().downloadUpdate()}),ee=Me(e=>{e||U()}),G=d||t(`settings.openchamber.about.state.unknown`),te=Me(async()=>{if(!L){R(!0);try{let{outcome:e,eventCount:n}=await wt();if(e===`cancelled`)return;if(e===`failed`){Y.error(t(`settings.openchamber.about.diagnostics.toast.failed`));return}Y.success(t(n>0?`settings.openchamber.about.diagnostics.toast.exported`:`settings.openchamber.about.diagnostics.toast.empty`))}catch{Y.error(t(`settings.openchamber.about.diagnostics.toast.failed`))}finally{R(!1)}}});Q.useEffect(()=>{let e=!1;return Ci().then(t=>{e||f(t)}),Qr().then(t=>{e||h(t)}),()=>{e=!0}},[]);let ne=qr(d,m)??G,re=Q.useRef(!1);Q.useEffect(()=>{if(O.checking)u(!0),re.current=!0;else if(l){let e=setTimeout(()=>{u(!1),re.current&&O.error?(Y.error(t(`settings.openchamber.about.toast.checkFailed`),{description:O.error}),re.current=!1):re.current&&!O.available&&!O.error&&(Y.success(t(`settings.openchamber.about.toast.latestVersion`)),re.current=!1)},Xi);return()=>clearTimeout(e)}},[t,O.checking,l,O.available,O.error]);let ie=O.checking||l;return(0,$.jsxs)(`div`,{className:`oc-settings-section-stack w-full`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,$.jsx)(wr,{width:72,height:72}),(0,$.jsx)(`h2`,{className:`mt-4 typography-ui-header font-semibold text-foreground`,children:`OpenChamberY`})]}),(0,$.jsxs)(Jr,{className:`oc-settings-about`,children:[(0,$.jsx)(Yr,{label:t(`settings.openchamber.about.field.clientVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:ne})}),(0,$.jsx)(Yr,{label:t(`settings.openchamber.about.field.instanceOpenChamberVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:b||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Yr,{label:t(`settings.openchamber.about.field.instanceOpenCodeVersion`),description:D,children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:E||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Yr,{className:`oc-settings-split-row-stacked`,copyClassName:`hidden`,children:(0,$.jsxs)(`div`,{className:`flex w-full flex-wrap items-center justify-end gap-2`,children:[(0,$.jsx)(J,{asChild:!0,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,"data-settings-item":`about.feedback`,children:(0,$.jsxs)(`a`,{href:Yi,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(Z,{name:`question`,className:`size-4`}),t(`settings.openchamber.about.actions.submitFeedback`)]})}),!ie&&O.available?(0,$.jsxs)(J,{type:`button`,variant:`default`,size:`sm`,className:`whitespace-nowrap`,onClick:()=>a(!0),"data-settings-item":`about.check-updates`,children:[(0,$.jsx)(Z,{name:`download`,className:`size-4`}),O.info?.inAppApply?t(`settings.openchamber.about.actions.applyOtaToVersion`,{version:O.info?.version||``}):O.info?.manualUpdate?t(`settings.openchamber.about.actions.installNativeToVersion`,{version:O.info?.version||``}):t(`settings.openchamber.about.actions.updateToVersion`,{version:O.info?.version||``})]}):(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,onClick:()=>O.checkForUpdates(),"data-settings-item":`about.check-updates`,disabled:ie,children:[ie?(0,$.jsx)(Z,{name:`loader`,className:`size-4 animate-spin`}):(0,$.jsx)(Z,{name:`refresh`,className:`size-4`}),t(ie?`settings.openchamber.about.state.checking`:`settings.openchamber.about.actions.checkForUpdates`)]})]})}),O.error&&(0,$.jsx)(Yr,{children:(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:O.error})}),(j||F())&&(0,$.jsx)(Zr,{itemId:`about.beta-updates`,checked:I,onChange:H,label:t(`settings.openchamber.about.betaUpdates.label`),description:t(`settings.openchamber.about.betaUpdates.description`),ariaLabel:t(`settings.openchamber.about.betaUpdates.label`),disabled:ie}),(0,$.jsx)(Zr,{itemId:`about.diagnostics`,checked:z,onChange:V,label:t(`settings.openchamber.about.diagnostics.label`),ariaLabel:t(`settings.openchamber.about.diagnostics.label`)}),z&&(0,$.jsx)(Yr,{itemId:`about.export-diagnostics`,label:t(`settings.openchamber.about.diagnostics.export`),children:(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`sm`,disabled:L,onClick:()=>void te(),children:t(L?`settings.openchamber.about.diagnostics.exporting`:`settings.openchamber.about.diagnostics.export`)})})]}),(0,$.jsx)(`div`,{className:`flex flex-col items-center gap-3 text-center`,children:(0,$.jsx)(`div`,{className:`flex items-center justify-center gap-5`,children:(0,$.jsxs)(`a`,{href: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)(Z,{name:`github-fill`,className:`size-5`}),(0,$.jsx)(`span`,{children:`GitHub`})]})})}),(0,$.jsx)(`p`,{className:`text-center typography-ui text-muted-foreground/60`,children:t(`aboutDialog.footerNote`)}),(0,$.jsx)(Wr,{open:n,onOpenChange:a,info:O.info,downloading:O.downloading,downloaded:O.downloaded,progress:O.progress,error:O.error,onDownload:O.downloadUpdate,onRestart:O.restartToUpdate,runtimeType:O.runtimeType}),(0,$.jsx)(an,{open:s,onOpenChange:ee,children:(0,$.jsxs)(tn,{showCloseButton:!1,className:`max-w-sm gap-5`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:t(`settings.openchamber.about.betaUpdates.rollback.title`)}),(0,$.jsx)(rn,{children:t(`settings.openchamber.about.betaUpdates.rollback.description`,{version:O.info?.version||``})})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{type:`button`,size:`sm`,variant:`ghost`,onClick:U,children:t(`settings.openchamber.about.betaUpdates.rollback.actions.cancel`)}),(0,$.jsx)(J,{type:`button`,size:`sm`,onClick:W,children:t(`settings.openchamber.about.betaUpdates.rollback.actions.confirm`)})]})]})})]})},na=`/assets/android-direct-share-1a0lp154.jpg`,ra=`/assets/ios-share-sheet-B3Dlufnc.jpg`,ia=`/assets/select-assistant-C89IRspC.jpg`,aa=`openchamber:assistant-share-welcome:v1`,oa=[{image:ra,titleKey:`assistants.shareWelcome.example.chat.title`,descriptionKey:`assistants.shareWelcome.example.chat.description`},{image:na,titleKey:`assistants.shareWelcome.example.article.title`,descriptionKey:`assistants.shareWelcome.example.article.description`},{image:ia,titleKey:`assistants.shareWelcome.example.note.title`,descriptionKey:`assistants.shareWelcome.example.note.description`}],sa=e=>{let t=(0,Ki.c)(40),{enabled:n,open:r,onOpenChange:i}=e,a=n!==void 0&&n,{t:o}=Fe(),[s,c]=je(aa,!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=Me(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)(Z,{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)(nn,{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)(rn,{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)($t,{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=oa.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)(Z,{name:`arrow-right-s`,className:`size-4`}),t[28]=w):w=t[28];let T;t[29]!==f||t[30]!==C?(T=(0,$.jsx)(en,{className:`border-t border-border px-5 py-4 sm:px-8 sm:py-5`,children:(0,$.jsxs)(J,{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)(tn,{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)(an,{open:u,onOpenChange:p,children:E}),t[36]=u,t[37]=E,t[38]=p,t[39]=D):D=t[39],D},ca=`useCommandsStore`,la=new Set([`init`,`review`]),ua=e=>la.has(e.name),da=async(e,t)=>{await St(O,e,t),i()===t&&Dt(`commands`,{source:ca})},fa=oe()(ce(se(e=>({selectedCommandName:null,commandDraft:null,setSelectedCommand:t=>e({selectedCommandName:t}),setCommandDraft:t=>e({commandDraft:t}),loadCommands:async()=>{let e=Lt(),t=i();try{return await St(O,e,t),!0}catch{return!1}},createCommand:async t=>pa(`POST`,t.name,t,e),updateCommand:async(t,n)=>pa(`PATCH`,t,n,e),deleteCommand:async t=>pa(`DELETE`,t,void 0,e),getCommandByName:e=>Nt().find(t=>t.name===e)}),{name:`commands-store`,storage:_e(),partialize:e=>({selectedCommandName:e.selectedCommandName})}),{name:`commands-store`}));async function pa(e,t,n,r){let a=Lt(),o=i();try{let s={};if(e===`POST`&&(s.template=n?.template||``,n?.description&&(s.description=n.description),n?.agent&&(s.agent=n.agent),n?.model&&(s.model=n.model),n?.scope&&(s.scope=n.scope)),e===`PATCH`)for(let e of[`description`,`agent`,`model`,`template`])n?.[e]!==void 0&&(s[e]=n[e]);let c=a?`?directory=${encodeURIComponent(a)}`:``,u=await l(`/api/config/commands/${encodeURIComponent(t)}${c}`,{method:e,headers:e===`DELETE`?a?{"x-opencode-directory":a}:void 0:{"Content-Type":`application/json`,...a?{"x-opencode-directory":a}:{}},...e===`DELETE`?{}:{body:JSON.stringify(s)}}),d=await u.json().catch(()=>null);if(!u.ok)throw Error(d?.error||`Failed to ${e.toLowerCase()} command`);return i()!==o||(await da(a,o),i()!==o)||e===`DELETE`&&r({selectedCommandName:null}),!0}catch(e){return console.error(`[CommandsStore] Command mutation failed:`,e),!1}}typeof window<`u`&&(window.__zustand_commands_store__=fa),zt(e=>{e.source!==ca&&kt(e,`commands`)&&fa.getState().loadCommands()});var ma=()=>{try{let e=Tt.getState().getActiveProject?.();if(e?.path?.trim())return e.path.trim();let t=me.getDirectory();if(t?.trim())return t.trim()}catch(e){console.warn(`[McpConfigStore] Error resolving config directory:`,e)}return null},ha=e=>e?Object.entries(e).map(([e,t])=>({key:e,value:t})):[],ga=e=>{let t=e.filter(e=>e.key.trim());if(t.length!==0)return Object.fromEntries(t.map(e=>[e.key.trim(),e.value]))},_a=e=>{if(typeof e==`string`)return e.trim()||void 0},va=oe()(ce(se((e,t)=>({selectedMcpName:null,mcpDraft:null,setSelectedMcp:t=>e({selectedMcpName:t}),setMcpDraft:t=>e({mcpDraft:t}),loadMcpConfigs:async e=>{let t=ma();try{return!e?.force&&ki(O,t).length>0||await wi(O,t,i()),!0}catch(e){return console.error(`[McpConfigStore] Failed to load MCP configs:`,e),!1}},createMcp:async(e,t)=>{let n=`directory`in(t??{})?t?.directory?.trim()||null:ma(),r=t?.transportIdentity??i();try{let t=ya(e),a=n?`?directory=${encodeURIComponent(n)}`:``,o=await l(`/api/config/mcp/${encodeURIComponent(e.name)}${a}`,{method:`POST`,headers:{"Content-Type":`application/json`,...n?{"x-opencode-directory":n}:{}},body:JSON.stringify(t)}),s=await o.json().catch(()=>null);if(!o.ok)throw Error(s?.error||`Failed to create MCP server`);return i()===r?(await wi(O,n,r),await Oi(O,n,r),{ok:!0,reloadFailed:s?.reloadFailed===!0,message:s?.message,warning:s?.warning}):{ok:!0}}catch(e){return console.error(`[McpConfigStore] Failed to create MCP:`,e),{ok:!1}}},updateMcp:async(e,t,n)=>{let r=`directory`in(n??{})?n?.directory?.trim()||null:ma(),a=n?.transportIdentity??i();try{let n=ya(t),o=r?`?directory=${encodeURIComponent(r)}`:``,s=await l(`/api/config/mcp/${encodeURIComponent(e)}${o}`,{method:`PATCH`,headers:{"Content-Type":`application/json`,...r?{"x-opencode-directory":r}:{}},body:JSON.stringify(n)}),c=await s.json().catch(()=>null);if(!s.ok)throw Error(c?.error||`Failed to update MCP server`);return i()===a?(await wi(O,r,a),await Oi(O,r,a),{ok:!0,reloadFailed:c?.reloadFailed===!0,message:c?.message,warning:c?.warning}):{ok:!0}}catch(e){throw console.error(`[McpConfigStore] Failed to update MCP:`,e),e}},deleteMcp:async(n,r)=>{let a=`directory`in(r??{})?r?.directory?.trim()||null:ma(),o=r?.transportIdentity??i();try{let r=a?`?directory=${encodeURIComponent(a)}`:``,s=await l(`/api/config/mcp/${encodeURIComponent(n)}${r}`,{method:`DELETE`,headers:a?{"x-opencode-directory":a}:void 0}),c=await s.json().catch(()=>null);if(!s.ok)throw Error(c?.error||`Failed to delete MCP server`);return Vr.getState().clearDiagnostic(n,a,o),i()===o?(t().selectedMcpName===n&&e({selectedMcpName:null}),await wi(O,a,o),await Oi(O,a,o),{ok:!0,reloadFailed:c?.reloadFailed===!0,message:c?.message,warning:c?.warning}):{ok:!0}}catch(e){return console.error(`[McpConfigStore] Failed to delete MCP:`,e),{ok:!1}}}}),{name:`mcp-config-store`,storage:_e(),partialize:e=>({selectedMcpName:e.selectedMcpName})}),{name:`mcp-config-store`}));function ya(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=ga(e.environment)??{}),e.headers!==void 0&&(t.headers=ga(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:_a(e.oauthClientId),clientSecret:_a(e.oauthClientSecret),scope:_a(e.oauthScope),redirectUri:_a(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 ba=()=>{let e=me.getDirectory();if(typeof e==`string`&&e.trim().length>0)return e;try{let e=window.__zustand_directory_store__;if(e)return e.getState().currentDirectory}catch{}return null},xa=`useSkillsStore`,Sa=e=>{if(e&&Object.prototype.hasOwnProperty.call(e,`directory`))return typeof e.directory==`string`&&e.directory.trim()||null;let t=ba();return typeof t==`string`&&t.trim()||null},Ca=oe()(ce(se((e,t)=>({selectedSkillName:null,skillDraft:null,setSelectedSkill:t=>{e({selectedSkillName:t})},setSkillDraft:t=>{e({skillDraft:t})},loadSkills:async()=>{try{return await gt(O,ba(),i()),!0}catch{return!1}},getSkillDetail:async e=>{try{let t=ba(),n=t?`?directory=${encodeURIComponent(t)}`:``,r=await l(`/api/config/skills/${encodeURIComponent(e)}${n}`);return r.ok?await r.json():null}catch{return null}},createSkill:async(e,t)=>{try{let n={name:e.name,description:e.description};e.instructions&&(n.instructions=e.instructions),e.scope&&(n.scope=e.scope),e.source&&(n.source=e.source),e.supportingFiles&&(n.supportingFiles=e.supportingFiles);let r=Sa(t),a=i(),o=r?`?directory=${encodeURIComponent(r)}`:``,s=await l(`/api/config/skills/${encodeURIComponent(e.name)}${o}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)}),c=await s.json().catch(()=>null);if(!s.ok){let e=c?.error||`Failed to create skill`;throw Error(e)}return await wa({directory:r,transportIdentity:a}),!0}catch{return!1}},updateSkill:async(e,t,n)=>{try{let r={};t.description!==void 0&&(r.description=t.description),t.instructions!==void 0&&(r.instructions=t.instructions),t.supportingFiles!==void 0&&(r.supportingFiles=t.supportingFiles),t.targetPath!==void 0&&(r.targetPath=t.targetPath);let a=Sa(n),o=i(),s=a?`?directory=${encodeURIComponent(a)}`:``,c=await l(`/api/config/skills/${encodeURIComponent(e)}${s}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)}),u=await c.json().catch(()=>null);if(!c.ok){let e=u?.error||`Failed to update skill`;throw Error(e)}return await wa({directory:a,transportIdentity:o}),!0}catch{return!1}},deleteSkill:async(n,r)=>{try{let a=Sa(r),o=i(),s=a?`?directory=${encodeURIComponent(a)}`:``,c=await l(`/api/config/skills/${encodeURIComponent(n)}${s}`,{method:`DELETE`}),u=await c.json().catch(()=>null);if(!c.ok){let e=u?.error||`Failed to delete skill`;throw Error(e)}return await wa({directory:a,transportIdentity:o}),i()===o&&t().selectedSkillName===n&&e({selectedSkillName:null}),!0}catch{return!1}},getSkillByName:e=>ot(O,ba()).find(t=>t.name===e),readSupportingFile:async(e,t)=>{try{let n=ba(),r=n?`&directory=${encodeURIComponent(n)}`:``,i=await l(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}?${r.slice(1)}`);return i.ok?(await i.json()).content??null:null}catch{return null}},writeSupportingFile:async(e,t,n)=>{try{let r=ba(),i=r?`?directory=${encodeURIComponent(r)}`:``;return(await l(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}${i}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({content:n})})).ok}catch{return!1}},deleteSupportingFile:async(e,t)=>{try{let n=ba(),r=n?`?directory=${encodeURIComponent(n)}`:``;return(await l(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}${r}`,{method:`DELETE`})).ok}catch{return!1}}}),{name:`skills-store`,storage:_e(),partialize:e=>({selectedSkillName:e.selectedSkillName})}),{name:`skills-store`}));typeof window<`u`&&(window.__zustand_skills_store__=Ca);async function wa(e){let t=e&&`directory`in e?e.directory?.trim()||null:ba(),n=e?.transportIdentity??i();i()===n&&(await gt(O,t,n),i()===n&&(await ct(O,t,n),i()===n&&Dt(`skills`,{source:xa})))}var Ta=null;Ta||=zt(e=>{if(e.source!==xa&&kt(e,`skills`)){let e=ba(),t=i();gt(O,e,t).then(()=>ct(O,e,t)).catch(()=>void 0)}});var Ea=/^#[0-9a-fA-F]{6}$/,Da=/^\{file:.+\}$/i,Oa=e=>[...e].sort((e,t)=>{let n=e.permission.localeCompare(t.permission);return n===0?e.pattern.localeCompare(t.pattern):n}),ka=(e,t)=>{let n=Oa(e),r=Oa(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})},Aa=(e,t)=>t?e.globalPermission!==t.globalPermission||!ka(e.permissionRules,t.permissionRules):!1,ja=e=>e===`bash`?`shell`:e===`task`?`subagent`:e===`write`||e===`patch`?`edit`:e,Ma=(e,t)=>{let n=[{action:`*`,resource:`*`,effect:e}];for(let e of t)!e.permission||!e.pattern||(e.permission!==`*`||e.pattern!==`*`)&&n.push({action:ja(e.permission),resource:e.pattern,effect:e.action});return n},Na=e=>{let t=e.trim();return t===``?null:t},Pa=({isNewAgent:e,agentName:t,draftScope:n,initialScope:r,draftHasExplicitPermission:i,current:a,initial:o,confirmDrop:s})=>{let c=Ma(a.globalPermission,a.permissionRules);if(e){let e=a.description.trim(),r=Na(a.model),l=a.system.trim(),u=Aa(a,o)||i;return{name:t,mode:a.mode,...e?{description:e}:{},...r?{model:r}:{},...l?{system:l}:{},...u?{permissions:c}:{},...n?{scope:n}:{},...s?{confirmDrop:!0}:{}}}let l={name:t,...s?{confirmDrop:!0}:{}};return o?(a.description!==o.description&&(l.description=a.description.trim()||null),a.mode!==o.mode&&(l.mode=a.mode),a.model!==o.model&&(l.model=Na(a.model)),a.system!==o.system&&(l.system=a.system.trim()||null),Aa(a,o)&&(l.permissions=c),n&&r&&n!==r&&(l.scope=n),l):l},Fa=e=>{if(e){if(typeof e.prompt==`string`)return Da.test(e.prompt.trim())?void 0:e.prompt;if(typeof e.system==`string`)return e.system}},Ia=e=>{let t=e?.model?.providerID,n=e?.model?.modelID||e?.model?.id;if(!t||!n)return``;let r=e?.model?.variant||e?.variant;return r?`${t}/${n}#${r}`:`${t}/${n}`},La=e=>{let t=e.trim(),n=t.indexOf(`/`);if(n<=0||n>=t.length-1)return null;let r=t.slice(0,n),i=t.slice(n+1),a=i.indexOf(`#`);return a===-1?{providerId:r,modelId:i,variant:``}:{providerId:r,modelId:i.slice(0,a),variant:i.slice(a+1)}},Ra=e=>Ea.test(e.trim()),za=e=>{let t=e.trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)},Ba=e=>{let t=(0,Ki.c)(37),{className:n}=e,{t:r}=Fe(),i=Tt(Va),a=Tt(Ha),o=Tt(Ua),s=D(),c;t[0]===i?c=t[1]:(c=[...i].sort(Wa),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)(Z,{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)(Z,{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)(Zn,{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(Ga),t[25]=l,t[26]=w);let T;t[27]!==S||t[28]!==C||t[29]!==w?(T=(0,$.jsx)(Jn,{align:`start`,className:`w-auto`,children:(0,$.jsx)(Xn,{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)(rr,{children:[x,T]}),t[31]=x,t[32]=T,t[33]=E):E=t[33];let O;return t[34]!==E||t[35]!==m?(O=(0,$.jsx)(`div`,{className:m,children:E}),t[34]=E,t[35]=m,t[36]=O):O=t[36],O};function Va(e){return e.projects}function Ha(e){return e.activeProjectId}function Ua(e){return e.setActiveProject}function Wa(e,t){return(e.label||e.path).localeCompare(t.label||t.path)}function Ga(e){let t=e.path.split(`/`).filter(Boolean).pop()||e.path;return(0,$.jsx)(cr,{value:e.id,children:(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-ui`,children:t})},e.id)}function Ka(e,t){return`opencode:sidebar-group:${e}:${t}`}var qa=e=>{let t=(0,Ki.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=Ka(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(Ja),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)(Z,{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)(Jr,{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(Ya),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)(Z,{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 Ja(e){return!e}function Ya(e){return!e}var Xa=e=>e===`bash`?`shell`:e===`task`?`subagent`:e===`write`||e===`patch`?`edit`:e,Za=e=>{let t=Hn(e).map(e=>({action:Xa(e.action),resource:e.resource,effect:e.effect}));return t.length>0?t:void 0},Qa=(e,t)=>{let n=e,r=st(e)?void 0:typeof n.system==`string`?n.system:typeof e.prompt==`string`?e.prompt:void 0,i=typeof n.color==`string`&&Ra(n.color)?n.color:void 0;return{name:t,scope:n.scope||`user`,description:e.description,model:Ia(e)||null,...r?{system:r}:{},mode:e.mode,...typeof n.steps==`number`?{steps:n.steps}:{},...e.hidden===!0?{hidden:!0}:{},...n.disabledOverride?{disabled:!0}:{},...i?{color:i}:{},permissions:Za(n.permissions??e.permission)}},$a=({onItemSelect:e})=>{let{t}=Fe(),[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}=_t(le(e=>({selectedAgentName:e.selectedAgentName,setSelectedAgent:e.setSelectedAgent,setAgentDraft:e.setAgentDraft,createAgent:e.createAgent,deleteAgent:e.deleteAgent,loadAgents:e.loadAgents}))),{data:b=[]}=Ut();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(st(e)){Y.error(t(`settings.agents.sidebar.toast.builtInCannotDelete`));return}s(e),l(`delete`)},C=async e=>{st(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?Y.warning(t(`settings.agents.page.toast.savedManualRestart`)):c===`delete`?Y.success(t(`settings.agents.sidebar.toast.agentDeleted`,{name:o.name})):Y.success(t(`settings.agents.sidebar.toast.agentReset`,{name:o.name})),w()):c===`delete`?Y.error(t(`settings.agents.sidebar.toast.deleteFailed`)):Y.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`?Y.error(t(r?`settings.agents.sidebar.toast.definitionNotFound`:`settings.agents.sidebar.toast.deleteFailed`)):Y.error(t(`settings.agents.sidebar.toast.resetFailed`))}d(!1)}},E=e=>{let t=e.name,n=1,r=`${t}-copy`;for(;b.some(e=>e.name===r);)n++,r=`${t}-copy-${n}`;g(Qa(e,r)),h(r)},D=e=>{a(e.name),r(e)},O=async()=>{if(!n)return;let e=i.trim().replace(/\s+/g,`-`);if(!e){Y.error(t(`settings.agents.sidebar.toast.agentNameRequired`));return}if(e===n.name){r(null);return}if(b.some(t=>t.name===e)){Y.error(t(`settings.agents.sidebar.toast.agentExists`));return}let a=n,o=await _({...Qa(n,e),scope:a.scope});if(o.ok){let r=await v(n.name,a.scope);r.ok?(o.requiresManualRestart||r.requiresManualRestart?Y.warning(t(`settings.agents.page.toast.savedManualRestart`)):Y.success(t(`settings.agents.sidebar.toast.agentRenamed`,{name:e})),h(e)):Y.error(t(`settings.agents.sidebar.toast.removeOldAfterRenameFailed`))}else Y.error(t(`settings.agents.sidebar.toast.renameFailed`));r(null)},k=e=>{switch(e){case`primary`:return(0,$.jsx)(Z,{name:`ai-agent`,className:`h-3 w-3 text-primary`});case`all`:return(0,$.jsx)(Z,{name:`ai-agent-fill`,className:`h-3 w-3 text-primary`});case`subagent`:return(0,$.jsx)(Z,{name:`robot`,className:`h-3 w-3 text-primary`});default:return null}},A=b.filter(e=>{let t=e;return!ft(e)||!!t.scope||t.disabledOverride===!0}),j=A.filter(st),M=A.filter(e=>!st(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)(J,{"data-settings-item":`agents.create`,size:`icon`,variant:`ghost`,onClick:x,"aria-label":t(`settings.agents.page.title.new`),children:(0,$.jsx)(Z,{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)(Ba,{}),(0,$.jsx)($.Fragment,{children:A.length===0?(0,$.jsx)(Jr,{children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{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)(Jr,{label:t(`settings.agents.sidebar.section.builtIn`),children:j.map(t=>(0,$.jsx)(eo,{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)(qa,{label:n,count:r.length,storageKey:`agents`,variant:`settings-card`,labelPrefix:t(`settings.agents.sidebar.section.custom`),children:r.map(t=>(0,$.jsx)(eo,{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)(Jr,{label:F,children:P.map(t=>(0,$.jsx)(eo,{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)(Jr,{label:F,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})})]}),M.length===0&&(0,$.jsx)(Jr,{label:F,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})})]})}),(0,$.jsx)(an,{open:o!==null&&c!==null,onOpenChange:e=>{!e&&!u&&w()},children:(0,$.jsxs)(tn,{className:`max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:t(c===`delete`?`settings.agents.sidebar.dialog.deleteTitle`:`settings.agents.sidebar.dialog.resetTitle`)}),(0,$.jsx)(rn,{children:t(c===`delete`?`settings.agents.sidebar.dialog.deleteDescription`:`settings.agents.sidebar.dialog.resetDescription`,{name:o?.name??``})})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:w,disabled:u,children:t(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,onClick:T,disabled:u,children:t(c===`delete`?`settings.common.actions.delete`:`settings.common.actions.reset`)})]})]})}),(0,$.jsx)(an,{open:n!==null,onOpenChange:e=>!e&&r(null),children:(0,$.jsxs)(tn,{children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:t(`settings.agents.sidebar.renameDialog.title`)}),(0,$.jsx)(rn,{children:t(`settings.agents.sidebar.renameDialog.description`,{name:n?.name??``})})]}),(0,$.jsx)(gn,{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)(en,{children:[(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>r(null),children:t(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,onClick:O,children:t(`settings.common.actions.rename`)})]})]})})]})},eo=e=>{let t=(0,Ki.c)(55),{agent:n,isSelected:r,onSelect:i,onDelete:a,onReset:o,onRename:s,onDuplicate:c,getAgentModeIcon:l,isMenuOpen:u,onMenuOpenChange:d}=e,{t:f}=Fe(),p=n,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=Er(),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)(Z,{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)(Z,{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)(Z,{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)(Z,{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=za(n.name),t[12]=n.name,t[13]=w);let T;t[14]===w?T=t[15]:(T=(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate text-foreground`,children:w}),t[14]=w,t[15]=T);let E;t[16]!==n.mode||t[17]!==l?(E=l(n.mode),t[16]=n.mode,t[17]=l,t[18]=E):E=t[18];let D;t[19]!==n||t[20]!==p.disabledOverride||t[21]!==p.scope||t[22]!==f?(D=(p.scope||st(n)||p.disabledOverride)&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground bg-muted px-1 rounded flex-shrink-0 leading-none pb-px border border-border/50`,children:p.disabledOverride?f(`settings.agents.sidebar.badge.disabled`):st(n)?f(`settings.agents.sidebar.badge.system`):p.scope===`project`?f(`settings.common.scope.project`):f(`settings.common.scope.global`)}),t[19]=n,t[20]=p.disabledOverride,t[21]=p.scope,t[22]=f,t[23]=D):D=t[23];let O;t[24]!==D||t[25]!==T||t[26]!==E?(O=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[T,E,D]}),t[24]=D,t[25]=T,t[26]=E,t[27]=O):O=t[27];let k;t[28]===n.description?k=t[29]:(k=n.description&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/60 truncate leading-tight`,children:n.description}),t[28]=n.description,t[29]=k);let A;t[30]!==i||t[31]!==O||t[32]!==k?(A=(0,$.jsxs)(`button`,{onClick:i,className:`flex min-w-0 flex-1 flex-col gap-0 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,tabIndex:0,children:[O,k]}),t[30]=i,t[31]=O,t[32]=k,t[33]=A):A=t[33];let j;t[34]===d?j=t[35]:(j=e=>{e&&_(!1),d(e)},t[34]=d,t[35]=j);let M;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsx)(J,{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)(Z,{name:`more-2`,className:`h-3.5 w-3.5`})})}),t[36]=M):M=t[36];let N;t[37]===y?N=t[38]:(N=(0,$.jsx)(Jn,{align:`end`,className:`w-fit min-w-20`,children:y(fr)}),t[37]=y,t[38]=N);let P;t[39]!==u||t[40]!==j||t[41]!==N?(P=(0,$.jsxs)(rr,{open:u,onOpenChange:j,children:[M,N]}),t[39]=u,t[40]=j,t[41]=N,t[42]=P):P=t[42];let F;t[43]!==A||t[44]!==P?(F=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:[A,P]}),t[43]=A,t[44]=P,t[45]=F):F=t[45];let I;t[46]!==F||t[47]!==C?(I=(0,$.jsx)(Pi,{render:C,children:F}),t[46]=F,t[47]=C,t[48]=I):I=t[48];let L;t[49]===y?L=t[50]:(L=(0,$.jsx)(Ii,{className:`w-fit min-w-20`,children:y(Ri)}),t[49]=y,t[50]=L);let R;return t[51]!==g||t[52]!==I||t[53]!==L?(R=(0,$.jsxs)(ji,{open:g,onOpenChange:_,children:[I,L]}),t[51]=g,t[52]=I,t[53]=L,t[54]=R):R=t[54],R};function to(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function no(e){return typeof e==`string`&&e.length>0?e:void 0}function ro(e){let t=to(e)?e:null,n=t&&Array.isArray(t.data)?t.data:Array.isArray(e)?e:null;if(!n)throw Error(`permission saved: expected list payload`);return n.map(e=>{if(!to(e))throw Error(`permission saved: invalid rule`);let t=no(e.id),n=no(e.projectID),r=no(e.action),i=no(e.resource);if(!t||!n||!r||!i)throw Error(`permission saved: invalid rule`);return{id:t,projectID:n,action:r,resource:i}})}async function io(e,t){if(!e.trim())throw Error(`permission saved: directory required`);t?.throwIfAborted();let n=await me.getApiClient().location.get({location:{directory:e}},{signal:t});t?.throwIfAborted();let r=no(n?.project?.id);if(!r)throw Error(`permission saved: project ID required`);return r}async function ao(e){e.signal?.throwIfAborted();let t=await me.getApiClient().permission.saved.list({projectID:e.projectID??void 0},{signal:e.signal});e.signal?.throwIfAborted();let n=ro(t);if(e.projectID&&n.some(t=>t.projectID!==e.projectID))throw Error(`permission saved: project mismatch`);return n}async function oo(e){e.signal?.throwIfAborted(),await me.getApiClient().permission.saved.remove({id:e.id},{signal:e.signal})}function so(e){if(e.transport!==i()||e.generation!==o())throw Error(`Saved permission runtime changed`)}var co=e=>Ee({queryKey:[e.transport,e.generation,`saved-permission-project`,e.directory],queryFn:async({signal:t})=>{so(e);let n=await io(e.directory,t);return so(e),n},retry:!1}),lo=e=>Ee({queryKey:[e.transport,e.generation,`saved-permissions`,e.directory,e.projectID],queryFn:async({signal:t})=>{if(so(e),!e.directory||!e.projectID)throw Error(`Saved permission scope required`);let n=await ao({projectID:e.projectID,signal:t});return so(e),n},retry:!1});function uo(e){let t=(0,Ki.c)(3),n=(0,Q.useSyncExternalStore)(r,o,o),a={transport:i(),generation:n,directory:e.trim()},s=De({...co(a),enabled:!!a.directory}),c={...a,projectID:s.data??``},l=lo(c),u=!!(a.directory&&s.data)&&!s.isError,d;return t[0]!==l||t[1]!==u?(d={...l,enabled:u},t[0]=l,t[1]=u,t[2]=d):d=t[2],{project:s,list:De(d),scope:c}}async function fo(e,t,n){so(t);let r=lo(t).queryKey;if(!e.getQueryData(r)?.some(e=>e.id===n&&e.projectID===t.projectID))throw Error(`Saved permission is outside the captured scope`);await oo({id:n}),t.transport===i()&&t.generation===o()&&(await e.cancelQueries({queryKey:r,exact:!0}),t.transport===i()&&t.generation===o()&&e.setQueryData(r,e=>e?.filter(e=>e.id!==n)))}var po=()=>{let e=(0,Ki.c)(49),{t}=Fe(),n=pe(mo),r=we(),{project:i,list:a,scope:o}=uo(n),s;e[0]===r?s=e[1]:(s={mutationFn:e=>{let{scope:t,id:n}=e;return fo(r,t,n)}},e[0]=r,e[1]=s);let c=Te(s),l;e[2]!==c.variables||e[3]!==o?(l=c.variables&&JSON.stringify(c.variables.scope)===JSON.stringify(o),e[2]=c.variables,e[3]=o,e[4]=l):l=e[4];let u=l,d=i.isError||a.isError,f=!!o.directory&&(i.isPending||a.isPending)&&!d,p;e[5]===a.data?p=e[6]:(p=a.data??[],e[5]=a.data,e[6]=p);let m=p,h;e[7]!==c||e[8]!==o?(h=e=>c.mutate({scope:o,id:e}),e[7]=c,e[8]=o,e[9]=h):h=e[9];let g=Me(h),_;e[10]!==a||e[11]!==i?(_=()=>{i.isError?i.refetch():a.refetch()},e[10]=a,e[11]=i,e[12]=_):_=e[12];let v=Me(_);if(!d&&!f&&m.length===0)return null;let y;e[13]===t?y=e[14]:(y=t(`settings.permissions.saved.title`),e[13]=t,e[14]=y);let b;e[15]!==f||e[16]!==t?(b=f?t(`common.loading`):void 0,e[15]=f,e[16]=t,e[17]=b):b=e[17];let x;e[18]!==d||e[19]!==a.isFetching||e[20]!==i.isFetching||e[21]!==v||e[22]!==t?(x=d&&(0,$.jsx)(Yr,{label:(0,$.jsx)(`span`,{role:`alert`,children:t(`settings.permissions.saved.loadFailed`)}),children:(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,onClick:v,disabled:i.isFetching||a.isFetching,children:t(`settings.permissions.saved.retry`)})}),e[18]=d,e[19]=a.isFetching,e[20]=i.isFetching,e[21]=v,e[22]=t,e[23]=x):x=e[23];let S;e[24]!==c.isError||e[25]!==u||e[26]!==t?(S=u&&c.isError&&(0,$.jsx)(Yr,{label:(0,$.jsx)(`span`,{role:`alert`,children:t(`settings.permissions.saved.deleteFailed`)}),children:null}),e[24]=c.isError,e[25]=u,e[26]=t,e[27]=S):S=e[27];let C;if(e[28]!==c.isPending||e[29]!==d||e[30]!==g||e[31]!==m||e[32]!==f||e[33]!==u||e[34]!==t){let n;e[36]!==c.isPending||e[37]!==d||e[38]!==g||e[39]!==f||e[40]!==u||e[41]!==t?(n=e=>(0,$.jsx)(Yr,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:e.action}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground font-mono`,children:e.resource})]}),children:(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,disabled:d||f||!!(u&&c.isPending),onClick:()=>void g(e.id),children:t(`settings.permissions.saved.delete`)})},e.id),e[36]=c.isPending,e[37]=d,e[38]=g,e[39]=f,e[40]=u,e[41]=t,e[42]=n):n=e[42],C=m.map(n),e[28]=c.isPending,e[29]=d,e[30]=g,e[31]=m,e[32]=f,e[33]=u,e[34]=t,e[35]=C}else C=e[35];let w;return e[43]!==y||e[44]!==b||e[45]!==x||e[46]!==S||e[47]!==C?(w=(0,$.jsx)(`div`,{"data-settings-item":`permissions.saved`,className:`mb-6`,children:(0,$.jsxs)(Jr,{label:y,description:b,children:[x,S,C]})}),e[43]=y,e[44]=b,e[45]=x,e[46]=S,e[47]=C,e[48]=w):w=e[48],w};function mo(e){return e.currentDirectory}var ho=[`*`,`read`,`edit`,`glob`,`grep`,`shell`,`subagent`,`skill`,`webfetch`,`websearch`,`question`,`external_directory`,`execute`,`browser`],go={"*":`settings.agents.page.permissions.defaultLabel`,shell:`settings.agents.page.permissions.shell`,bash:`settings.agents.page.permissions.shell`,subagent:`settings.agents.page.permissions.subagent`,task:`settings.agents.page.permissions.subagent`,edit:`settings.agents.page.permissions.edit`,write:`settings.agents.page.permissions.edit`,patch:`settings.agents.page.permissions.edit`,apply_patch:`settings.agents.page.permissions.edit`,multiedit:`settings.agents.page.permissions.edit`,external_directory:`settings.agents.page.permissions.externalDirectory`,question:`settings.agents.page.permissions.question`,read:`settings.agents.page.permissions.read`,glob:`settings.agents.page.permissions.glob`,grep:`settings.agents.page.permissions.grep`,skill:`settings.agents.page.permissions.skill`,webfetch:`settings.agents.page.permissions.webfetch`,websearch:`settings.agents.page.permissions.websearch`,execute:`settings.agents.page.permissions.execute`,browser:`settings.agents.page.permissions.browser`,session_rename:`chat.tools.display.session_rename`,session_move:`chat.tools.display.session_move`},_o=e=>e===`allow`||e===`ask`||e===`deny`,vo=(e,t)=>`${e}::${t}`,yo=e=>e===`bash`?`shell`:e===`task`?`subagent`:e===`write`||e===`patch`?`edit`:e,bo=e=>{let t=new Map;for(let n of e){let e=yo(n.permission);!e||e===`invalid`||n.pattern&&_o(n.action)&&t.set(vo(e,n.pattern),{permission:e,pattern:n.pattern,action:n.action})}return Array.from(t.values())},xo=e=>{let t=new Map;for(let n of bo(e))t.set(vo(n.permission,n.pattern),n);return t},So=e=>[...e].sort((e,t)=>{let n=e.permission.localeCompare(t.permission);return n===0?e.pattern.localeCompare(t.pattern):n}),Co=(e,t)=>{let n=So(bo(e)),r=So(bo(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})},wo=e=>e.find(e=>e.permission===`*`&&e.pattern===`*`)?.action??`allow`,To=(e,t)=>bo(e).filter(e=>e.permission!==`*`||e.pattern!==`*`).filter(e=>e.pattern!==`*`||e.action!==t),Eo=e=>{if(Array.isArray(e))return bo(e.flatMap(e=>!e||typeof e!=`object`||typeof e.action!=`string`||typeof e.resource!=`string`||!_o(e.effect)?[]:[{permission:e.action,pattern:e.resource,action:e.effect}]));if(_o(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(_o(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))_o(i)&&t.push({permission:n,pattern:e,action:i})}return t},Do=()=>{let{t:e}=Fe(),{selectedAgentName:t,getAgentByName:n,createAgent:r,updateAgent:i,agentDraft:a,setAgentDraft:o}=_t(le(e=>({selectedAgentName:e.selectedAgentName,getAgentByName:e.getAgentByName,createAgent:e.createAgent,updateAgent:e.updateAgent,agentDraft:e.agentDraft,setAgentDraft:e.setAgentDraft}))),{data:s=[]}=Ut(),c=t?n(t):null,u=!!(a&&a.name===t&&!c),[d,f]=Q.useState(``),[p,m]=Q.useState(`user`),[h,g]=Q.useState(``),[_,v]=Q.useState(`subagent`),[y,b]=Q.useState(``),[x,S]=Q.useState(``),[C,w]=Q.useState(!1),[T,E]=Q.useState(`allow`),[D,O]=Q.useState([]),[k,A]=Q.useState([]),[j,M]=Q.useState(``),[N,P]=Q.useState(`*`),[F,I]=Q.useState(!1),[L,R]=Q.useState(!1),z=Q.useRef(null),B=pe(e=>e.currentDirectory??null),[V,H]=Q.useState([]),U=dt(e=>e.permission);Q.useEffect(()=>{let e=!1;return(async()=>{let t=await me.listToolIds({directory:B});if(e)return;let n=new Set([`write`,`patch`,`multiedit`]),r=t.map(e=>typeof e==`string`?e.trim():``).filter(Boolean).filter(e=>e!==`*`).filter(e=>e!==`invalid`).filter(e=>!n.has(e));H(Array.from(new Set(r)).sort((e,t)=>e.localeCompare(t)))})(),()=>{e=!0}},[B]);let W=Q.useMemo(()=>{let e=new Set;for(let t of s){let n=bo(Eo(t.permissions??t.permission));for(let t of n)t.permission&&t.permission!==`*`&&t.permission!==`invalid`&&e.add(t.permission)}for(let t of Object.values(U))for(let n of t){let t=n.permission?.trim();t&&t!==`invalid`&&e.add(t)}for(let t of V)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[s,U,V]),ee=Q.useMemo(()=>xo(D),[D]),G=Q.useMemo(()=>xo(k),[k]),te=e=>G.get(vo(e,`*`))?.action,ne=e=>k.filter(t=>t.permission===e&&t.pattern!==`*`).sort((e,t)=>e.pattern.localeCompare(t.pattern)),re=Q.useMemo(()=>{let e=new Set;for(let t of ho)e.add(t);for(let t of W)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[W]),ie=e=>{let t=e===`*`?T:te(e)??T,n=ne(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}},ae=t=>e(t===`allow`?`settings.common.permission.allow`:t===`deny`?`settings.common.permission.deny`:`settings.common.permission.ask`),oe=t=>t===`global`?e(`settings.common.scope.global`):ae(t),se=Q.useMemo(()=>{let e=new Set;for(let t of ho)e.add(t);for(let t of W)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[W]),ce=(e,t,n)=>{A(r=>{let i=xo(r);return i.set(vo(e,t),{permission:e,pattern:t,action:n}),Array.from(i.values())})},ue=(e,t)=>{A(n=>{let r=xo(n);return r.delete(vo(e,t)),Array.from(r.values())})},de=(e,t)=>{let n=ee.get(vo(e,t));if(n){ce(e,t,n.action);return}ue(e,t)},fe=(e,t,n)=>{ce(e,t,n)},he=e=>{E(e),A(t=>t.filter(t=>t.pattern!==`*`||t.action!==e))},ge=t=>{let n=j.trim();if(!n){Y.error(e(`settings.agents.page.toast.permissionNameRequired`));return}let r=N.trim()||`*`;if(n===`*`&&r===`*`){he(t),M(``),P(`*`);return}r===`*`&&n!==`*`&&t===T?ue(n,`*`):ce(n,r,t),M(``),P(`*`)},_e=t=>{let n=go[t];return n?e(n):t.split(/[_-]+/g).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)};Q.useEffect(()=>{M(``),P(`*`);let e=e=>{let t=bo(e),n=wo(t),r=To(t,n);return E(n),O(r),A(r),{global:n,rules:r}};if(u&&a){let t=a.name||``,n=a.scope||`user`,r=a.description||``,i=a.mode||`subagent`,o=a.model||``,s=a.system||``;f(t),m(n),g(r),v(i),b(o),S(s),w(!1);let c=e(Eo(a.permissions));z.current={draftName:t,draftScope:n,description:r,mode:i,model:o,system:s,globalPermission:c.global,permissionRules:c.rules};return}if(c&&t===c.name){let t=c,n=c.description||``,r=c.mode||`subagent`,i=Ia(c),a=t.scope===`project`?`project`:`user`;m(a),g(n),v(r),b(i),S(``),w(!1);let o=e(Eo(t.permissions??c.permission));z.current={draftName:``,draftScope:a,description:n,mode:r,model:i,system:``,globalPermission:o.global,permissionRules:o.rules}}},[a,u,c,t]),Q.useEffect(()=>{if(!t||u)return;let e=new AbortController,n=Lt();return l(`/api/config/agents/${encodeURIComponent(t)}/config`,{signal:e.signal,headers:n?{"x-opencode-directory":n}:{}}).then(async t=>{if(!t.ok||e.signal.aborted)return;let n=Fa((await t.json()).config);e.signal.aborted||n===void 0||!z.current||(S(n),z.current={...z.current,system:n})}).catch(()=>void 0),()=>e.abort()},[u,t]);let ve=Q.useMemo(()=>{let e=z.current;return e?!!(u&&d!==e.draftName||p!==e.draftScope||h!==e.description||_!==e.mode||y!==e.model||x!==e.system||T!==e.globalPermission||!Co(k,e.permissionRules)):!1},[h,d,p,T,u,_,y,k,x]),ye=(!u&&c?c.document:void 0)?.dropped?.map(e=>e.key)??[],K=!L&&ve;return t?(0,$.jsx)(Ar,{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)(po,{}),(0,$.jsxs)(`div`,{className:`mb-4 flex items-center justify-between gap-4`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground truncate`,children:u?e(`settings.agents.page.title.new`):za(t??``)}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:e(u?`settings.agents.page.subtitle.new`:`settings.agents.page.subtitle.edit`)})]}),(0,$.jsx)(J,{type:`button`,onClick:async()=>{let n=u?d.trim().replace(/\s+/g,`-`):t?.trim();if(!n){Y.error(e(`settings.agents.sidebar.toast.agentNameRequired`));return}if(u&&s.some(e=>e.name===n)){Y.error(e(`settings.agents.sidebar.toast.agentExists`));return}R(!0);try{let t={description:h,mode:_,model:y,system:x,globalPermission:T,permissionRules:k},s=z.current,c=s?{description:s.description,mode:s.mode,model:s.model,system:s.system,globalPermission:s.globalPermission,permissionRules:s.permissionRules}:null,l=Pa({isNewAgent:u,agentName:n,draftScope:p,initialScope:s?.draftScope,draftHasExplicitPermission:u&&a?.permissions!==void 0,current:t,initial:c,confirmDrop:C}),d;u?(d=await r(l),d.ok&&o(null)):d=await i(n,l),d.ok?d.requiresManualRestart?Y.warning(e(`settings.agents.page.toast.savedManualRestart`)):Y.success(e(`settings.agents.page.toast.savedNextRequest`)):Y.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`);Y.error(n)}finally{R(!1)}},disabled:!K,children:e(L?`settings.common.actions.saving`:`settings.common.actions.saveChanges`)})]}),ye.length>0?(0,$.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.agents.page.legacy.dropped`,{fields:ye.join(`, `)})}),(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-meta text-foreground`,children:[(0,$.jsx)(on,{checked:C,onChange:w,ariaLabel:e(`settings.agents.page.legacy.confirmDrop`)}),e(`settings.agents.page.legacy.confirmDrop`)]})]}):null,(0,$.jsxs)(Jr,{label:e(`settings.agents.page.section.identityRole`),children:[(0,$.jsx)(Yr,{itemId:`agents.scope`,label:e(`settings.agents.page.field.scope`),children:(0,$.jsxs)(pn,{value:p,onValueChange:e=>m(e),children:[(0,$.jsx)(un,{className:`w-fit min-w-[100px]`,children:(0,$.jsx)(hn,{placeholder:e(`settings.agents.page.field.scopePlaceholder`),children:t=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{name:t===`project`?`folder`:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(t===`project`?`settings.common.scope.project`:`settings.common.scope.global`)})]})})}),(0,$.jsxs)(dn,{align:`end`,children:[(0,$.jsx)(cn,{value:`user`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{name:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.global`)})]})}),(0,$.jsx)(cn,{value:`project`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{name:`folder`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.project`)})]})})]})]})}),u&&(0,$.jsx)(Yr,{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)(gn,{value:d,onChange:e=>f(e.target.value),placeholder:e(`settings.agents.page.field.agentNamePlaceholder`),className:`h-7 w-40 px-2`})]})}),(0,$.jsx)(Yr,{label:e(`settings.common.field.description`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(jr,{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)(Yr,{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)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{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)(J,{variant:`chip`,size:`xs`,"aria-pressed":_===`primary`,onClick:()=>v(`primary`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.primary`)}),(0,$.jsx)(J,{variant:`chip`,size:`xs`,"aria-pressed":_===`subagent`,onClick:()=>v(`subagent`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.subagent`)}),(0,$.jsx)(J,{variant:`chip`,size:`xs`,"aria-pressed":_===`all`,onClick:()=>v(`all`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.all`)})]})})]}),(0,$.jsx)(Jr,{label:e(`settings.agents.page.section.modelParameters`),children:(0,$.jsx)(Yr,{itemId:`agents.model`,label:e(`settings.agents.page.field.overrideModel`),children:(0,$.jsx)(Kn,{providerId:La(y)?.providerId??``,modelId:La(y)?.modelId??``,variant:La(y)?.variant??``,onChange:(e,t,n)=>{b(e&&t?n?`${e}/${t}#${n}`:`${e}/${t}`:``)},className:`oc-settings-inline-value`})})}),(0,$.jsx)(ui,{itemId:`agents.system-prompt`,label:e(`settings.agents.page.section.systemPrompt`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(jr,{embedded:!0,value:x,onChange:e=>S(e.target.value),placeholder:e(`settings.agents.page.field.systemPromptPlaceholder`),rows:8,className:`w-full font-mono typography-meta min-h-[120px] max-h-[60vh] bg-transparent resize-y`})}),(0,$.jsx)(`div`,{"data-settings-item":`agents.permissions`,children:(0,$.jsx)(Jr,{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)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>I(e=>!e),children:e(F?`settings.agents.page.permissions.hideEditor`:`settings.agents.page.permissions.advancedEditor`)})]}),children:F?(0,$.jsxs)(`div`,{className:`space-y-6 p-2`,children:[(0,$.jsx)(Yr,{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)(pn,{value:T,onValueChange:e=>he(e),children:[(0,$.jsx)(un,{className:`w-[100px]`,children:(0,$.jsx)(hn,{children:ae(T)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`allow`,children:e(`settings.common.permission.allow`)}),(0,$.jsx)(cn,{value:`ask`,children:e(`settings.common.permission.ask`)}),(0,$.jsx)(cn,{value:`deny`,children:e(`settings.common.permission.deny`)})]})]})}),(0,$.jsx)(`div`,{className:`space-y-4`,children:re.filter(e=>e!==`*`).map(t=>{let n=_e(t),{defaultAction:r,patternRulesCount:i}=ie(t),a=te(t),o=a??`global`,s=ne(t),c=[`allow`,`ask`,`deny`].filter(e=>e!==T);return(0,$.jsxs)(`div`,{className:`border-t border-[var(--surface-subtle)] pt-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between py-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:n}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 font-mono`,children:t})]}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:i>0?e(`settings.agents.page.permissions.globalSummary`,{summary:r}):r})]}),(0,$.jsxs)(`div`,{className:`space-y-1 pl-2 mt-1`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 py-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:e(`settings.agents.page.permissions.pattern`)}),(0,$.jsx)(`span`,{className:`typography-micro font-mono text-foreground bg-[var(--surface-muted)] px-1 rounded`,children:`*`}),a&&(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>de(t,`*`),className:`px-1.5 py-0 h-5`,children:(0,$.jsx)(Z,{name:`subtract`,className:`h-3.5 w-3.5 text-muted-foreground hover:text-foreground`})})]}),(0,$.jsxs)(pn,{value:o,onValueChange:e=>{if(e===`global`){ue(t,`*`);return}ce(t,`*`,e)},children:[(0,$.jsx)(un,{className:`w-[90px]`,children:(0,$.jsx)(hn,{children:oe(o)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`global`,children:e(`settings.common.scope.global`)}),c.map(e=>(0,$.jsx)(cn,{value:e,className:`capitalize`,children:ae(e)},e))]})]})]}),s.map(t=>{let n=vo(t.permission,t.pattern),r=ee.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)(J,{size:`sm`,variant:`ghost`,onClick:()=>i?ue(t.permission,t.pattern):de(t.permission,t.pattern),className:`px-1.5 py-0 h-5`,children:(0,$.jsx)(Z,{name:`subtract`,className:`h-3.5 w-3.5 text-muted-foreground hover:text-foreground`})})]}),(0,$.jsxs)(pn,{value:t.action,onValueChange:e=>fe(t.permission,t.pattern,e),children:[(0,$.jsx)(un,{className:`w-[90px]`,children:(0,$.jsx)(hn,{children:ae(t.action)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`allow`,children:e(`settings.common.permission.allow`)}),(0,$.jsx)(cn,{value:`ask`,children:e(`settings.common.permission.ask`)}),(0,$.jsx)(cn,{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)(pn,{value:j,onValueChange:M,children:[(0,$.jsx)(un,{className:`w-full sm:w-[160px]`,children:j?(0,$.jsx)(`span`,{className:`truncate`,children:_e(j)}):(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e(`settings.agents.page.permissions.permissionPlaceholder`)})}),(0,$.jsx)(dn,{children:se.map(e=>(0,$.jsx)(cn,{value:e,children:(0,$.jsx)(`div`,{className:`flex items-center justify-between gap-2 w-full`,children:(0,$.jsx)(`span`,{children:_e(e)})})},e))})]}),(0,$.jsx)(gn,{value:N,onChange:e=>P(e.target.value),placeholder:e(`settings.agents.page.permissions.patternPlaceholder`),className:`h-7 flex-1 font-mono text-xs`}),(0,$.jsxs)(`div`,{className:`flex gap-1`,children:[(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>ge(`allow`),children:e(`settings.common.permission.allow`)}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>ge(`ask`),children:e(`settings.common.permission.ask`)}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>ge(`deny`),children:e(`settings.common.permission.deny`)})]})]})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground px-3 pt-2`,children:e(`settings.agents.page.permissions.lastMatchHint`)}),Dn(Hn(k)).map((e,t)=>(0,$.jsx)(Yr,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground font-mono`,children:t+1}),(0,$.jsx)(`span`,{children:e.action}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 font-mono`,children:e.resource})]}),children:(0,$.jsx)(`span`,{className:q(`typography-micro capitalize px-1.5 py-0.5 rounded`,e.effect===`allow`?`text-[var(--status-success)] bg-[var(--status-success)]/10`:e.effect===`deny`?`text-[var(--status-error)] bg-[var(--status-error)]/10`:`text-[var(--status-warning)] bg-[var(--status-warning)]/10`),children:e.effect})},`${e.action}::${e.resource}::${t}`))]})})})]})}):(0,$.jsx)(Ar,{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)(po,{}),(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{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`)})]})})]})})},Oo=e=>{let t=(0,Ki.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 min-w-0 font-normal whitespace-normal [overflow-wrap:anywhere] 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 whitespace-normal [overflow-wrap:anywhere] 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)(rr,{children:[(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsx)(J,{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)(Z,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(Jn,{align:`end`,className:`w-fit min-w-20`,children:s.map(ko)})]}),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 ko(e){let t=e.icon;return(0,$.jsxs)(fr,{onClick:t=>{t.stopPropagation(),e.onClick()},className:q(e.destructive&&`text-destructive focus:text-destructive`),children:[t&&(0,$.jsx)(Z,{name:t,className:`h-4 w-4 mr-px`}),e.label]},e.label)}var Ao=e=>{let t=(0,Ki.c)(8),{header:n,footer:r,children:i,className:a,variant:o}=e,s=o===void 0?`sidebar`:o,c=D(),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},jo=`__managed_workspace__`,Mo=`__current_workspace__`,No=`默认助理`,Po=()=>{let e=Ct.getState(),t=e.settingsDefaultModel??(e.currentModelId?void 0:e.opencodeDefaultModel);if(t){let n=Vt(t);if(n?.providerId&&n?.modelId)return{providerID:n.providerId,modelID:n.modelId,variant:n.variant??e.settingsDefaultVariant}}if(e.currentProviderId&&e.currentModelId)return{providerID:e.currentProviderId,modelID:e.currentModelId,variant:e.currentVariant};let n=e.providers;for(let e of n){let t=e.models;if(Array.isArray(t)&&t.length>0){let n=t[0];if(n?.id)return{providerID:e.id,modelID:n.id}}}return null},Fo=(e=``)=>{let t=Po();return{enabled:!0,name:e,avatarSeed:crypto.randomUUID(),defaultPrompt:``,workspacePath:null,providerID:t?.providerID??``,modelID:t?.modelID??``,variant:t?.variant??null}},Io=e=>({avatarSeed:e.avatarSeed??e.id,enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:e.providerID,modelID:e.modelID,variant:e.variant}),Lo=e=>({avatarSeed:e.avatarSeed,enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:e.providerID,modelID:e.modelID,variant:e.variant??null}),Ro=e=>e.label?.trim()||e.path.replace(/[\\/]+$/,``).split(/[\\/]/).filter(Boolean).at(-1)||e.path,zo=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))},Bo=e=>!!e&&typeof e==`object`&&!Array.isArray(e),Vo=e=>{if(!Bo(e)||!Bo(e.schedule)||!Bo(e.execution)||!Bo(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`},Ho=(e,t)=>{let n=zo(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??``})},Uo={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)]`}},Wo=e=>`${e.projectId}:${e.task.id}`,Go=e=>{let t=(0,Ki.c)(30),{assistantID:n}=e,{t:r}=Fe(),i=$e(n),a=i.isError,o=Qe(n,a),s=He(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(Yo),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(Wo(e))),p=[...i.data?l:a?f:[]].sort(Zo),m=(s.data?.failedProjectIds??[]).some(e=>Array.from(c).some(t=>t.startsWith(`${e}:`))),h=i.isPending||a&&(o.isPending||s.isPending),g=i.isError||o.isError||s.isError||m||d,_;t[2]!==o||t[3]!==a||t[4]!==s||t[5]!==i?(_=()=>{i.refetch(),a&&(o.refetch(),s.refetch())},t[2]=o,t[3]=a,t[4]=s,t[5]=i,t[6]=_):_=t[6];let v=Me(_),y=Jr,b;t[7]===r?b=t[8]:(b=r(`assistants.settings.scheduledTasks.title`),t[7]=r,t[8]=b);let x;t[9]===r?x=t[10]:(x=r(`assistants.settings.scheduledTasks.title`),t[9]=r,t[10]=x);let S=h&&p.length===0?(0,$.jsx)(Yr,{label:r(`common.loading`),children:(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin text-muted-foreground`})}):null,C;t[11]===r?C=t[12]:(C=e=>{let t=e.task.enabled?e.task.state?.lastStatus??`idle`:`paused`,n=Uo[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)(Yr,{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)(Z,{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:Ho(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)(Z,{name:n.icon,className:`size-3.5 ${t===`running`?`animate-spin`:``}`}),i]}),(0,$.jsx)(Z,{name:`arrow-right-s`,className:`size-4`})]}),(0,$.jsx)(J,{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:()=>zi(e.projectId,e.task.id),"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})})})]},Wo(e))},t[11]=r,t[12]=C);let w=p.map(C),T;t[13]!==g||t[14]!==v||t[15]!==r?(T=g?(0,$.jsx)(Yr,{label:r(`assistants.settings.scheduledTasks.loadError`),children:(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:v,children:r(`assistants.actions.retry`)})}):null,t[13]=g,t[14]=v,t[15]=r,t[16]=T):T=t[16];let E;t[17]!==g||t[18]!==h||t[19]!==r||t[20]!==p?(E=!h&&!g&&p.length===0?(0,$.jsx)(Yr,{label:r(`assistants.settings.scheduledTasks.empty`),children:(0,$.jsx)(Z,{name:`calendar`,className:`size-4 text-muted-foreground`})}):null,t[17]=g,t[18]=h,t[19]=r,t[20]=p,t[21]=E):E=t[21];let D;return t[22]!==y||t[23]!==b||t[24]!==x||t[25]!==S||t[26]!==w||t[27]!==T||t[28]!==E?(D=(0,$.jsxs)(y,{label:b,ariaLabel:x,children:[S,w,T,E]}),t[22]=y,t[23]=b,t[24]=x,t[25]=S,t[26]=w,t[27]=T,t[28]=E,t[29]=D):D=t[29],D},Ko=e=>{let t=(0,Ki.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)(Z,{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},qo=({onItemSelect:e})=>{let{t}=Fe(),n=Ge(),r=Ue(),i=n.data,a=Xt(e=>e.settingsSelectedAssistantID),o=Xt(e=>e.selectSettingsAssistant),s=Xt(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=Me(()=>{s(),e?.()}),d=Me(async e=>{if(i)try{if(await Ye(e,i.revision),e&&i.assistants.length===0){let e=Po();if(e){let t=await We({enabled:!0,name:No,defaultPrompt:``,workspacePath:null,providerID:e.providerID,modelID:e.modelID,variant:e.variant});o(t.id)}}}catch{ke.error(t(`assistants.settings.toast.toggleFailed`))}});return r.isSuccess&&!r.data.supported?null:(0,$.jsx)(Ao,{variant:`background`,header:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Jr,{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)(Zr,{itemId:`assistants.instance-enabled`,checked:i?.enabled??!1,onChange:d,label:t(`assistants.settings.instanceEnabled`),ariaLabel:t(`assistants.settings.instanceEnabled`)})}),(0,$.jsx)(sa,{open:c,onOpenChange:l})]}),children:(0,$.jsx)(Jr,{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)(J,{"data-settings-item":`assistants.create`,variant:`ghost`,size:`icon`,onClick:u,"aria-label":t(`assistants.settings.create`),children:(0,$.jsx)(Z,{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)(Z,{name:`loader-4`,className:`mr-2 size-4 animate-spin`}),t(`common.loading`)]}):i?.assistants.length?i.assistants.map(t=>{let n=ze(t.name);return(0,$.jsx)(Oo,{title:n.displayName,selected:a===t.id,onSelect:()=>{o(t.id),e?.()},icon:(0,$.jsx)(Zt,{kind:`assistant`,name:t.avatarSeed??t.id,size:32,label:n.displayName||t.name,shape:`rounded`,className:`rounded-[0.5rem]`})},t.id)}):(0,$.jsx)(`div`,{className:`oc-settings-group-row text-muted-foreground`,children:t(`assistants.settings.empty`)})})})},Jo=({onItemDeleted:e,assistantID:t,saveActionContainer:n})=>{let{t:r}=Fe(),i=Ge(),a=Ue(),o=i.data,s=Tt(e=>e.projects),c=Xt(e=>t??e.settingsSelectedAssistantID),l=Xt(e=>e.selectSettingsAssistant),u=Xt(e=>e.defaultShareAssistant),d=Xt(e=>e.setDefaultShareAssistant),f=Xt(e=>e.createRequestRevision),p=Xt(e=>e.requestCreate),[m,h]=Q.useState(Fo),[g,_]=Q.useState(!1),v=Q.useRef(0),y=o?.assistants.find(e=>e.id===c)??null,b=y?ze(y.name):null,x=ze(m.name),S=m.workspacePath??y?.managedWorkspacePath??null,C=It(S,{enabled:!0}).data??[];Q.useEffect(()=>{y&&h(Io(y))},[y]),Q.useEffect(()=>{t===void 0&&i.isSuccess&&c&&c!==`new`&&!y&&l(null)},[t,l,y,c,i.isSuccess]),Q.useEffect(()=>{c!==`new`||f<=v.current||(v.current=f,h(Fo(o?.assistants.length?``:No)),window.requestAnimationFrame(()=>document.getElementById(`assistant-name`)?.focus()))},[f,c,o?.assistants.length]),Q.useEffect(()=>{i.isSuccess&&a.data?.serverInstanceID&&u?.serverInstanceID===a.data.serverInstanceID&&!o?.assistants.some(e=>e.id===u.assistantID)&&d(null)},[a.data,u,d,o?.assistants,i.isSuccess]),Q.useEffect(()=>{i.isSuccess&&Be()},[o?.revision,i.isSuccess]);let w=(e,t)=>{h(n=>({...n,[e]:t}))},T=Me(()=>p()),E=Me(async()=>{if(!(t!==void 0&&!y)){if(!m.name.trim()||!m.providerID||!m.modelID){ke.error(r(`assistants.settings.validation.required`));return}_(!0);try{let e=y?await Je(y,Lo(m)):await We(m);t===void 0&&l(e.id),ke.success(r(`assistants.settings.toast.saved`))}catch{ke.error(r(`assistants.settings.toast.saveFailed`))}finally{_(!1)}}}),D=Me(async()=>{if(!(!y||!window.confirm(r(`assistants.settings.deleteConfirm`,{name:y.name})))){_(!0);try{if(await Xe(y),u?.assistantID===y.id){let e=await Ke();e.serverInstanceID&&u.serverInstanceID===e.serverInstanceID&&d(null)}t===void 0&&l(null),e?.(),ke.success(r(`assistants.settings.toast.deleted`))}catch{ke.error(r(`assistants.settings.toast.deleteFailed`))}finally{_(!1)}}}),O=Me(async(e,t)=>{if(!t){d(null),Ve();return}try{let t=await Ke();if(!t.supported||!t.serverInstanceID)return;d({serverInstanceID:t.serverInstanceID,assistantID:e}),await Ve()}catch{ke.error(r(`assistants.settings.toast.toggleFailed`))}}),k=m.workspacePath===null?null:s.find(e=>e.path===m.workspacePath)??null,A=m.workspacePath!==null&&!k?m.workspacePath:null,j=m.workspacePath===null?jo:k?k.id:Mo,M=m.workspacePath===null?(0,$.jsx)(Ko,{name:r(`assistants.settings.workspacePlaceholder`),icon:`cloud`}):k?(0,$.jsx)(Ko,{name:Ro(k),path:k.path}):(0,$.jsx)(Ko,{name:r(`assistants.settings.workspaceCurrentPath`),path:A??``,icon:`history`});return a.isSuccess&&!a.data.supported?null:i.isPending||a.isPending?(0,$.jsxs)(`div`,{className:`flex h-full items-center justify-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`mr-2 size-4 animate-spin`}),r(`common.loading`)]}):i.isError&&!o||t!==void 0&&!y?(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 text-center`,children:[(0,$.jsx)(Z,{name:`cloud-off`,className:`size-6 text-muted-foreground`}),(0,$.jsx)(`p`,{className:`typography-ui text-muted-foreground`,children:r(`assistants.state.unavailable`)}),(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:()=>void i.refetch(),children:r(`assistants.actions.retry`)})]}):(0,$.jsx)(Ar,{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:[i.isError&&o?(0,$.jsx)(`p`,{className:`mb-4 px-2 typography-meta text-[var(--status-warning)]`,children:r(`assistants.state.staleSnapshot`)}):null,c?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`mb-4 flex items-center gap-3`,children:[(0,$.jsxs)(`div`,{className:`group/avatar relative shrink-0`,children:[(0,$.jsx)(Zt,{kind:`assistant`,name:m.avatarSeed??y?.id??`new`,size:40,label:x.displayName||m.name||r(`assistants.settings.create`),shape:`rounded`,className:`rounded-[0.5rem]`}),(0,$.jsx)(J,{variant:`link`,size:`icon`,disabled:g,className:`absolute inset-0 h-full w-full p-0 text-muted-foreground opacity-0 transition-opacity hover:no-underline group-hover/avatar:opacity-100 group-focus-within/avatar:opacity-100 [@media(hover:none)]:opacity-100`,"aria-label":r(`assistants.settings.randomAvatar`),title:r(`assistants.settings.randomAvatar`),onClick:()=>w(`avatarSeed`,crypto.randomUUID()),children:(0,$.jsx)(`span`,{className:`absolute -right-1 -bottom-1 flex size-5 items-center justify-center rounded-full bg-[var(--oc-settings-avatar-action-background)] text-[var(--oc-settings-avatar-action-foreground)] shadow-sm`,children:(0,$.jsx)(Z,{name:`refresh`,className:`size-3.5`})})})]}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`h2`,{className:`truncate typography-ui-header font-semibold text-foreground`,children:y?b?.displayName:r(`assistants.settings.create`)}),m.providerID&&m.modelID?(0,$.jsx)(`p`,{className:`mt-0.5 typography-micro leading-none text-muted-foreground/70`,children:`${m.providerID}/${m.modelID}`}):null]}),y?(0,$.jsxs)(J,{variant:`ghost`,size:`sm`,onClick:D,disabled:g,className:`text-[var(--status-error)]`,children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4`}),r(`assistants.settings.delete`)]}):null]}),(0,$.jsxs)(Jr,{children:[(0,$.jsx)(Yr,{itemId:`assistants.name`,label:r(`assistants.settings.name`),children:(0,$.jsx)(gn,{id:`assistant-name`,value:m.name,onChange:e=>w(`name`,e.target.value),className:`min-w-0 flex-1`})}),(0,$.jsx)(Yr,{label:r(`assistants.settings.enabled`),children:(0,$.jsx)(on,{checked:m.enabled,onChange:e=>w(`enabled`,e),ariaLabel:r(`assistants.settings.enabled`)})}),y?(0,$.jsx)(Yr,{itemId:`assistants.default-share`,label:r(`assistants.settings.defaultShare`),children:(0,$.jsx)(on,{checked:u?.assistantID===y.id&&u.serverInstanceID===a.data?.serverInstanceID,onChange:e=>void O(y.id,e),ariaLabel:r(`assistants.settings.defaultShare`)})}):null]}),(0,$.jsx)(ui,{itemId:`assistants.prompt`,label:r(`assistants.settings.defaultPrompt`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(jr,{embedded:!0,id:`assistant-prompt`,value:m.defaultPrompt,onChange:e=>w(`defaultPrompt`,e.target.value),placeholder:r(`assistants.settings.defaultPromptPlaceholder`),rows:12,outerClassName:`min-h-[240px] max-h-[70vh]`})}),(0,$.jsx)(Jr,{label:r(`assistants.settings.runtime`),children:(0,$.jsx)(Yr,{itemId:`assistants.model`,label:r(`assistants.settings.model`),children:(0,$.jsx)(Kn,{providerId:m.providerID,modelId:m.modelID,variant:m.variant??``,providers:C,onChange:(e,t,n)=>h(r=>({...r,providerID:e,modelID:t,variant:n||null})),className:`oc-settings-inline-value`})})}),(0,$.jsx)(ui,{itemId:`assistants.workspace`,label:r(`assistants.settings.workspace`),description:r(`assistants.settings.workspaceChangeHint`),descriptionPlacement:`outside`,children:(0,$.jsxs)(pn,{value:j,onValueChange:e=>{if(e===jo){w(`workspacePath`,null);return}let t=s.find(t=>t.id===e);t&&w(`workspacePath`,t.path)},children:[(0,$.jsx)(un,{title:m.workspacePath??r(`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)(hn,{children:M})}),(0,$.jsxs)(dn,{align:`start`,className:`w-[min(32rem,calc(100vw-2rem))]`,children:[(0,$.jsx)(cn,{value:jo,children:(0,$.jsx)(Ko,{name:r(`assistants.settings.workspacePlaceholder`),icon:`cloud`})}),s.map(e=>(0,$.jsx)(cn,{value:e.id,children:(0,$.jsx)(Ko,{name:Ro(e),path:e.path})},e.id)),A?(0,$.jsx)(cn,{value:Mo,disabled:!0,children:(0,$.jsx)(Ko,{name:r(`assistants.settings.workspaceCurrentPath`),path:A,icon:`history`})}):null]})]})}),y?(0,$.jsx)(Go,{assistantID:y.id}):null,n?(0,qi.createPortal)((0,$.jsx)(J,{type:`button`,variant:`mobileGlass`,size:`mobileIcon`,className:`text-primary`,onClick:E,disabled:g,"aria-label":r(`assistants.settings.save`),"aria-busy":g,children:(0,$.jsx)(Z,{name:g?`loader-4`:`check`,className:g?`size-5 animate-spin motion-reduce:animate-none`:`size-5`})}),n):(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsxs)(J,{onClick:E,disabled:g,children:[g?(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}):null,r(`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)(Zt,{kind:`assistant`,name:`assistants-empty`,size:44,shape:`rounded`,className:`rounded-[0.5rem]`}),(0,$.jsx)(`p`,{className:`typography-ui`,children:r(`assistants.settings.empty`)}),(0,$.jsxs)(J,{"data-settings-item":`assistants.create`,size:`sm`,onClick:T,children:[(0,$.jsx)(Z,{name:`add`,className:`size-4`}),r(`assistants.settings.create`)]})]})]})})};function Yo(e){return Vo(e.task)?[{projectId:e.projectID,task:e.task}]:[]}function Xo(e){return!Vo(e.task)}function Zo(e,t){return e.task.enabled===t.task.enabled?e.task.name.localeCompare(t.task.name):e.task.enabled?-1:1}var Qo=`~/.config/opencode/AGENTS.md`,$o=async(e,t)=>{let n=await e.json().catch(()=>null);return typeof n?.error==`string`&&n.error.trim()?n.error:t},es=e=>e.length>0&&!e.endsWith(`
2
- `)?`${e}\n`:e,ts={prompt:``,responseStyleEnabled:!1,responseStylePreset:`concise`,responseStyleCustomInstructions:``},ns=(e,t)=>e===`custom`?t:nt(e),rs=e=>e===`custom`?`custom`:Gt(e)?e:`concise`,is={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`},as=async(e,t)=>{let n=await l(`/api/config/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(e)});if(!n.ok)throw Error(await $o(n,t));return n.json().catch(()=>null)},os=()=>{let{t:e}=Fe(),t=Q.useSyncExternalStore(r,i,i),[n,a]=Q.useState(``),[o,s]=Q.useState(ts.responseStyleEnabled),[c,u]=Q.useState(ts.responseStylePreset),[d,f]=Q.useState(ts.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),w=Q.useRef(0),T=Q.useRef(Promise.resolve());Q.useEffect(()=>{let e=!0;return g(!1),x.current=null,S.current=null,w.current+=1,A(t).then(n=>{if(!e||t!==i())return;let r={enabled:n.responseStyleEnabled===!0,preset:rs(n.responseStylePreset),custom:typeof n.responseStyleCustomInstructions==`string`?n.responseStyleCustomInstructions:``};s(r.enabled),u(r.preset),f(r.custom),ht({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,w.current+=1}},[t]),Q.useEffect(()=>{let e=new AbortController,n=!0;return m(!1),v(!1),(async()=>{try{let r=await l(`/api/behavior/agents-md`,{method:`GET`,headers:{Accept:`application/json`},signal:e.signal});if(!r.ok)throw Error(`Behavior prompt request failed (${r.status})`);let o=await r.json().catch(()=>null);if(typeof o?.content!=`string`)throw Error(`Invalid behavior prompt response`);if(!n||t!==i())return;a(o.content),b(o.content),m(!0)}catch(e){n&&e?.name!==`AbortError`&&console.warn(`Failed to load behavior prompt:`,e)}})(),()=>{n=!1,e.abort()}},[t]),Q.useEffect(()=>{if(!h)return;let n={enabled:o,preset:c,custom:d},r=S.current;if(r&&r.enabled===n.enabled&&r.preset===n.preset&&r.custom===n.custom)return;S.current=n;let a=w.current+1;w.current=a;let l=setTimeout(()=>{let r=async()=>{if(t===i())try{let r=await as({responseStyleEnabled:n.enabled,responseStylePreset:n.preset,responseStyleCustomInstructions:n.custom},e(`settings.behavior.page.toast.saveFailed`));if(t!==i())return;let o=C(r),c={enabled:o.responseStyleEnabled??n.enabled,preset:o.responseStylePreset??n.preset,custom:o.responseStyleCustomInstructions??n.custom};if(ht({enabled:c.enabled,preset:c.preset,customInstructions:c.custom},t),P({responseStyleEnabled:c.enabled,responseStylePreset:c.preset,responseStyleCustomInstructions:c.custom},t),x.current=c,a!==w.current)return;S.current=c,s(c.enabled),u(c.preset),f(c.custom)}catch(n){if(t===i()&&a===w.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`);Y.error(r)}}};T.current=T.current.then(r,r)},400);return()=>clearTimeout(l)},[o,c,d,h,e,t]);let E=ns(c,d),D=n!==y;return(0,$.jsx)(Ar,{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)(Jr,{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)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{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:Qo})})]})})]})]}),children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-col gap-3`,children:[(0,$.jsx)(jr,{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)(J,{onClick:async()=>{let r=t;if(r===i()){v(!0);try{let t=es(n),o=await l(`/api/behavior/agents-md`,{method:`PUT`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({content:t})});if(!o.ok)throw Error(await $o(o,e(`settings.behavior.page.toast.saveFailed`)));if(r!==i()||(await as({globalBehaviorPrompt:t},e(`settings.behavior.page.toast.saveFailed`)),r!==i()))return;a(t),b(t),Y.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`);Y.error(n)}finally{r===i()&&v(!1)}}},disabled:_||!D||!p,size:`xs`,className:`!font-normal`,children:e(_?`settings.common.actions.saving`:`settings.common.actions.saveChanges`)})]})}),(0,$.jsxs)(Jr,{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)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.behavior.page.responseStyle.tooltip`)})]})]}),children:[(0,$.jsxs)(Yr,{label:e(`settings.behavior.page.responseStyle.enable`),children:[(0,$.jsx)(on,{checked:o,onChange:s,disabled:!h,ariaLabel:e(`settings.behavior.page.responseStyle.enableAria`)}),(0,$.jsxs)(pn,{value:c,onValueChange:e=>u(e),disabled:!h||!o,children:[(0,$.jsx)(un,{className:`w-full sm:w-56`,children:(0,$.jsx)(hn,{children:t=>t===`custom`?e(`settings.behavior.page.responseStyle.option.custom`):Gt(t)?e(is[t]):null})}),(0,$.jsxs)(dn,{children:[Kt.map(t=>(0,$.jsx)(cn,{value:t,children:e(is[t])},t)),(0,$.jsx)(cn,{value:`custom`,children:e(`settings.behavior.page.responseStyle.option.custom`)})]})]})]}),(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(jr,{embedded:!0,value:E,onChange:e=>f(e.target.value),placeholder:e(`settings.behavior.page.responseStyle.customPlaceholder`),rows:5,disabled:!h||!o||c!==`custom`,outerClassName:`min-h-[120px]`,className:`w-full font-mono typography-meta bg-transparent`})})]})]})})},ss=e=>{let t=(0,Ki.c)(158),{onItemSelect:n}=e,{t:r}=Fe(),[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}=fa(le(ls)),x=Ht(),S;t[0]===x.data?S=t[1]:(S=x.data??[],t[0]=x.data,t[1]=S);let C=S,w=it(),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(us)),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(ua(e)){Y.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=>{ua(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,W;t[28]!==c||t[29]!==u||t[30]!==b||t[31]!==r?(W=async()=>{!c||!u||(p(!0),await b(c.name)?(u===`delete`?Y.success(r(`settings.commands.sidebar.toast.commandDeleted`,{name:c.name})):Y.success(r(`settings.commands.sidebar.toast.commandReset`,{name:c.name})),U()):u===`delete`?Y.error(r(`settings.commands.sidebar.toast.deleteFailed`)):Y.error(r(`settings.commands.sidebar.toast.resetFailed`)),p(!1))},t[28]=c,t[29]=u,t[30]=b,t[31]=r,t[32]=W):W=t[32];let ee=W,G;t[33]!==C||t[34]!==v||t[35]!==_?(G=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]=G):G=t[36];let te=G,ne;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(ne=e=>{s(e.name),a(e)},t[37]=ne):ne=t[37];let re=ne,ie;t[38]!==C||t[39]!==y||t[40]!==b||t[41]!==i||t[42]!==o||t[43]!==_||t[44]!==r?(ie=async()=>{if(!i)return;let e=o.trim().replace(/\s+/g,`-`);if(!e){Y.error(r(`settings.commands.sidebar.toast.commandNameRequired`));return}if(e===i.name){a(null);return}if(C.some(t=>t.name===e)){Y.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)?(Y.success(`Command renamed to "${e}"`),_(e)):Y.error(r(`settings.commands.sidebar.toast.removeOldAfterRenameFailed`)):Y.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]=ie):ie=t[45];let ae=ie,oe,se,ce;if(t[46]!==N||t[47]!==L||t[48]!==z||t[49]!==te||t[50]!==n||t[51]!==m||t[52]!==g||t[53]!==_||t[54]!==r){let e=N.filter(ua),i=N.filter(ds),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)(Z,{name:`add`,className:`h-4 w-4`}),t[64]=c):c=t[64];let l;t[65]!==L||t[66]!==s?(l=(0,$.jsx)(J,{"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;oe=`oc-settings-page-content h-full overflow-y-auto bg-background p-3`,t[71]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(Jr,{children:(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(Ba,{})})}),t[71]=se):se=t[71],ce=(0,$.jsx)($.Fragment,{children:N.length===0?(0,$.jsx)(Jr,{label:d,children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{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)(Jr,{label:r(`settings.commands.sidebar.section.builtIn`),children:[...e].sort(fs).map(e=>(0,$.jsx)(cs,{command:e,isSelected:g===e.name,onSelect:()=>{_(e.name),n?.()},onReset:()=>V(e),onDuplicate:()=>te(e),isMenuOpen:m===e.name,onMenuOpenChange:t=>h(t?e.name:null)},e.name))}),i.length>0?(0,$.jsx)(Jr,{label:d,children:[...i].sort(ps).map(e=>(0,$.jsx)(cs,{command:e,isSelected:g===e.name,onSelect:()=>{_(e.name),n?.()},onRename:()=>re(e),onDelete:()=>z(e),onDuplicate:()=>te(e),isMenuOpen:m===e.name,onMenuOpenChange:t=>h(t?e.name:null)},e.name))}):(0,$.jsx)(Jr,{label:d,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})})]})}),t[46]=N,t[47]=L,t[48]=z,t[49]=te,t[50]=n,t[51]=m,t[52]=g,t[53]=_,t[54]=r,t[55]=oe,t[56]=se,t[57]=ce}else oe=t[55],se=t[56],ce=t[57];let ue=c!==null&&u!==null,de;t[72]===f?de=t[73]:(de=e=>{!e&&!f&&U()},t[72]=f,t[73]=de);let fe;t[74]!==u||t[75]!==r?(fe=r(u===`delete`?`settings.commands.sidebar.dialog.deleteTitle`:`settings.commands.sidebar.dialog.resetTitle`),t[74]=u,t[75]=r,t[76]=fe):fe=t[76];let pe;t[77]===fe?pe=t[78]:(pe=(0,$.jsx)(nn,{children:fe}),t[77]=fe,t[78]=pe);let me;t[79]!==c?.name||t[80]!==u||t[81]!==r?(me=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]=me):me=t[82];let he;t[83]===me?he=t[84]:(he=(0,$.jsx)(rn,{children:me}),t[83]=me,t[84]=he);let ge;t[85]!==pe||t[86]!==he?(ge=(0,$.jsxs)($t,{children:[pe,he]}),t[85]=pe,t[86]=he,t[87]=ge):ge=t[87];let _e;t[88]===r?_e=t[89]:(_e=r(`settings.common.actions.cancel`),t[88]=r,t[89]=_e);let ve;t[90]!==f||t[91]!==_e?(ve=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:U,disabled:f,children:_e}),t[90]=f,t[91]=_e,t[92]=ve):ve=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 K;t[96]!==ee||t[97]!==f||t[98]!==ye?(K=(0,$.jsx)(J,{size:`sm`,onClick:ee,disabled:f,children:ye}),t[96]=ee,t[97]=f,t[98]=ye,t[99]=K):K=t[99];let be;t[100]!==ve||t[101]!==K?(be=(0,$.jsxs)(en,{children:[ve,K]}),t[100]=ve,t[101]=K,t[102]=be):be=t[102];let xe;t[103]!==ge||t[104]!==be?(xe=(0,$.jsxs)(tn,{className:`max-w-md`,children:[ge,be]}),t[103]=ge,t[104]=be,t[105]=xe):xe=t[105];let Se;t[106]!==ue||t[107]!==de||t[108]!==xe?(Se=(0,$.jsx)(an,{open:ue,onOpenChange:de,children:xe}),t[106]=ue,t[107]=de,t[108]=xe,t[109]=Se):Se=t[109];let Ce=i!==null,we;t[110]===Symbol.for(`react.memo_cache_sentinel`)?(we=e=>!e&&a(null),t[110]=we):we=t[110];let Te;t[111]===r?Te=t[112]:(Te=r(`settings.commands.sidebar.renameDialog.title`),t[111]=r,t[112]=Te);let Ee;t[113]===Te?Ee=t[114]:(Ee=(0,$.jsx)(nn,{children:Te}),t[113]=Te,t[114]=Ee);let De=i?.name??``,Oe;t[115]!==r||t[116]!==De?(Oe=r(`settings.commands.sidebar.renameDialog.description`,{name:De}),t[115]=r,t[116]=De,t[117]=Oe):Oe=t[117];let ke;t[118]===Oe?ke=t[119]:(ke=(0,$.jsx)(rn,{children:Oe}),t[118]=Oe,t[119]=ke);let Ae;t[120]!==Ee||t[121]!==ke?(Ae=(0,$.jsxs)($t,{children:[Ee,ke]}),t[120]=Ee,t[121]=ke,t[122]=Ae):Ae=t[122];let je;t[123]===Symbol.for(`react.memo_cache_sentinel`)?(je=e=>s(e.target.value),t[123]=je):je=t[123];let Me;t[124]===r?Me=t[125]:(Me=r(`settings.commands.sidebar.renameDialog.placeholder`),t[124]=r,t[125]=Me);let Ne;t[126]===ae?Ne=t[127]:(Ne=e=>{e.key===`Enter`&&ae()},t[126]=ae,t[127]=Ne);let Pe;t[128]!==o||t[129]!==Me||t[130]!==Ne?(Pe=(0,$.jsx)(gn,{value:o,onChange:je,placeholder:Me,className:`text-foreground placeholder:text-muted-foreground`,onKeyDown:Ne}),t[128]=o,t[129]=Me,t[130]=Ne,t[131]=Pe):Pe=t[131];let Ie;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=()=>a(null),t[132]=Ie):Ie=t[132];let Le;t[133]===r?Le=t[134]:(Le=r(`settings.common.actions.cancel`),t[133]=r,t[134]=Le);let Re;t[135]===Le?Re=t[136]:(Re=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:Ie,children:Le}),t[135]=Le,t[136]=Re);let q;t[137]===r?q=t[138]:(q=r(`settings.common.actions.rename`),t[137]=r,t[138]=q);let ze;t[139]!==ae||t[140]!==q?(ze=(0,$.jsx)(J,{size:`sm`,onClick:ae,children:q}),t[139]=ae,t[140]=q,t[141]=ze):ze=t[141];let Be;t[142]!==Re||t[143]!==ze?(Be=(0,$.jsxs)(en,{children:[Re,ze]}),t[142]=Re,t[143]=ze,t[144]=Be):Be=t[144];let Ve;t[145]!==Ae||t[146]!==Pe||t[147]!==Be?(Ve=(0,$.jsxs)(tn,{children:[Ae,Pe,Be]}),t[145]=Ae,t[146]=Pe,t[147]=Be,t[148]=Ve):Ve=t[148];let He;t[149]!==Ce||t[150]!==Ve?(He=(0,$.jsx)(an,{open:Ce,onOpenChange:we,children:Ve}),t[149]=Ce,t[150]=Ve,t[151]=He):He=t[151];let Ue;return t[152]!==oe||t[153]!==se||t[154]!==ce||t[155]!==Se||t[156]!==He?(Ue=(0,$.jsxs)(`div`,{className:oe,children:[se,ce,Se,He]}),t[152]=oe,t[153]=se,t[154]=ce,t[155]=Se,t[156]=He,t[157]=Ue):Ue=t[157],Ue},cs=e=>{let t=(0,Ki.c)(47),{command:n,isSelected:r,onSelect:i,onDelete:a,onReset:o,onRename:s,onDuplicate:c,isMenuOpen:l,onMenuOpenChange:u}=e,{t:d}=Fe(),f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=Er(),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)(Z,{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)(Z,{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)(Z,{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)(Z,{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||ua(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:ua(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)(Zn,{asChild:!0,children:(0,$.jsx)(J,{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)(Z,{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)(Jn,{align:`end`,className:`w-fit min-w-20`,children:_(fr)}),t[29]=_,t[30]=k);let A;t[31]!==l||t[32]!==D||t[33]!==k?(A=(0,$.jsxs)(rr,{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)(Pi,{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)(Ii,{className:`w-fit min-w-20`,children:_(Ri)}),t[41]=_,t[42]=N);let P;return t[43]!==m||t[44]!==M||t[45]!==N?(P=(0,$.jsxs)(ji,{open:m,onOpenChange:h,children:[M,N]}),t[43]=m,t[44]=M,t[45]=N,t[46]=P):P=t[46],P};function ls(e){return{selectedCommandName:e.selectedCommandName,setSelectedCommand:e.setSelectedCommand,setCommandDraft:e.setCommandDraft,createCommand:e.createCommand,deleteCommand:e.deleteCommand}}function us(e){return e.name}function ds(e){return!ua(e)}function fs(e,t){return e.name.localeCompare(t.name)}function ps(e,t){return e.name.localeCompare(t.name)}var ms=()=>{let{t:e}=Fe(),{selectedCommandName:t,createCommand:n,updateCommand:r,commandDraft:i,setCommandDraft:a}=fa(le(e=>({selectedCommandName:e.selectedCommandName,createCommand:e.createCommand,updateCommand:e.updateCommand,commandDraft:e.commandDraft,setCommandDraft:e.setCommandDraft}))),o=Ht(),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)(Ar,{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)(Jr,{label:e(`settings.commands.page.section.identity`),children:[l&&(0,$.jsxs)(Yr,{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)(gn,{value:u,onChange:e=>d(e.target.value),placeholder:e(`settings.commands.page.field.commandNamePlaceholder`),className:`h-7 w-40 px-2`})]}),(0,$.jsxs)(pn,{value:f,onValueChange:e=>p(e),children:[(0,$.jsx)(un,{className:`w-fit min-w-[100px]`,children:(0,$.jsx)(hn,{placeholder:e(`settings.agents.page.field.scopePlaceholder`)})}),(0,$.jsxs)(dn,{align:`end`,children:[(0,$.jsx)(cn,{value:`user`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{name:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.global`)})]})}),(0,$.jsx)(cn,{value:`project`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{name:`folder`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.project`)})]})})]})]})]}),(0,$.jsx)(Yr,{label:e(`settings.common.field.description`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(jr,{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)(Jr,{label:e(`settings.commands.page.section.executionContext`),children:[(0,$.jsx)(Yr,{itemId:`commands.agent`,label:e(`settings.commands.page.field.overrideAgent`),children:(0,$.jsx)(ur,{agentName:g,onChange:e=>_(e),className:`oc-settings-inline-value`})}),(0,$.jsx)(Yr,{itemId:`commands.model`,label:e(`settings.agents.page.field.overrideModel`),children:(0,$.jsx)(Kn,{providerId:Vt(v)?.providerId??``,modelId:Vt(v)?.modelId??``,onChange:(e,t)=>{y(e&&t?`${e}/${t}`:``)},className:`oc-settings-inline-value`})})]}),(0,$.jsx)(ui,{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)(jr,{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)(J,{onClick:async()=>{let i=l?u.trim().replace(/\s+/g,`-`):t?.trim();if(!i){Y.error(e(`settings.commands.sidebar.toast.commandNameRequired`));return}if(!b.trim()){Y.error(e(`settings.commands.page.toast.templateRequired`));return}if(l&&s.some(e=>e.name===i)){Y.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?Y.success(e(l?`settings.commands.page.toast.created`:`settings.commands.page.toast.updated`)):Y.error(e(l?`settings.commands.page.toast.createFailed`:`settings.commands.page.toast.updateFailed`))}catch(t){console.error(`Error saving command:`,t),Y.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)(Z,{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`)})]})})},hs=[],gs=e=>{switch(e){case`connected`:return`success`;case`failed`:return`error`;case`needs_auth`:case`needs_client_registration`:return`warning`;default:return`idle`}},_s=e=>{let t=(0,Ki.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},vs=e=>{let t=(0,Ki.c)(115),{onItemSelect:n}=e,{t:r}=Fe(),{selectedMcpName:a,setSelectedMcp:o,setMcpDraft:s,deleteMcp:c}=va(le(ys)),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=Ai(),t[0]=l):l=t[0];let u=l,d=Ti(u),f=Di(u),p=d.data??hs,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(bs),t[3]=p,t[4]=E);let D=E,k;t[5]===p?k=t[6]:(k=p.filter(xs),t[5]=p,t[6]=k);let A=k,j;t[7]===w?j=t[8]:(j=()=>{if(w)return;T(!0);let e=new Promise(Ss),t=i();Promise.all([Oi(O,u,t),e]).catch(Cs).finally(()=>{T(!1)})},t[7]=w,t[8]=j);let M=j,N;t[9]!==p||t[10]!==n||t[11]!==s||t[12]!==o?(N=()=>{let e=`new-mcp-server`,t=1;for(;p.some(t=>t.name===e);)e=`new-mcp-server-${t}`,t++;s({name:e,scope:`user`,type:`local`,command:[],url:``,environment:[],headers:[],oauthEnabled:!0,oauthClientId:``,oauthClientSecret:``,oauthScope:``,oauthRedirectUri:``,timeout:``,enabled:!0}),o(e),n?.()},t[9]=p,t[10]=n,t[11]=s,t[12]=o,t[13]=N):N=t[13];let P=N,F;t[14]!==c||t[15]!==g||t[16]!==r?(F=async()=>{if(!g)return;y(!0);let e=await c(g.name,{directory:Ai(),transportIdentity:i()});e.ok?e.reloadFailed?Y.warning(e.message||`MCP server "${g.name}" deleted, but OpenCode reload failed`,{description:e.warning||r(`settings.mcp.sidebar.toast.refreshListIfStale`)}):Y.success(e.message||r(`settings.mcp.sidebar.toast.serverDeleted`,{name:g.name})):Y.error(r(`settings.mcp.sidebar.toast.deleteFailed`)),_(null),y(!1)},t[14]=c,t[15]=g,t[16]=r,t[17]=F):F=t[17];let I=F,L;t[18]===r?L=t[19]:(L=(e,t)=>(0,$.jsxs)(t,{onClick:t=>{t.stopPropagation(),_(e)},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(Z,{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`,W;t[28]===U?W=t[29]:(W=q(`h-4 w-4`,U),t[28]=U,t[29]=W);let ee;t[30]===W?ee=t[31]:(ee=(0,$.jsx)(Z,{name:`refresh`,className:W}),t[30]=W,t[31]=ee);let G;t[32]!==M||t[33]!==w||t[34]!==V||t[35]!==H||t[36]!==ee?(G=(0,$.jsx)(J,{type:`button`,size:`icon`,variant:`ghost`,disabled:w,onClick:M,"aria-label":V,title:H,children:ee}),t[32]=M,t[33]=w,t[34]=V,t[35]=H,t[36]=ee,t[37]=G):G=t[37];let te;t[38]===r?te=t[39]:(te=r(`settings.mcp.sidebar.actions.addServerTitle`),t[38]=r,t[39]=te);let ne;t[40]===r?ne=t[41]:(ne=r(`settings.mcp.sidebar.actions.addServerTitle`),t[40]=r,t[41]=ne);let re;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,$.jsx)(Z,{name:`add`,className:`h-4 w-4`}),t[42]=re):re=t[42];let ie;t[43]!==P||t[44]!==te||t[45]!==ne?(ie=(0,$.jsx)(J,{"data-settings-item":`mcp.create`,size:`icon`,variant:`ghost`,onClick:P,"aria-label":te,title:ne,children:re}),t[43]=P,t[44]=te,t[45]=ne,t[46]=ie):ie=t[46];let ae;t[47]!==G||t[48]!==ie?(ae=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[G,ie]}),t[47]=G,t[48]=ie,t[49]=ae):ae=t[49];let oe;t[50]!==B||t[51]!==ae?(oe=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[B,ae]}),t[50]=B,t[51]=ae,t[52]=oe):oe=t[52];let se=oe,ce;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(Jr,{children:(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(Ba,{})})}),t[53]=ce):ce=t[53];let ue;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]!==A||t[72]!==se?(ue=(0,$.jsx)($.Fragment,{children:d.isError&&!d.data?(0,$.jsx)(Jr,{label:se,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)(Jr,{label:se,children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{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)(Jr,{label:r(`settings.mcp.sidebar.group.projectServers`),children:D.map(e=>{let t=gs((h[e.name]??(f.isError&&!f.data?{status:`failed`,error:f.error.message}:void 0))?.status),i=a===e.name,c=Er();return(0,$.jsxs)(ji,{open:S===e.name,onOpenChange:t=>C(t?e.name:null),children:[(0,$.jsxs)(Pi,{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)(_s,{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)(Z,{name:`server`,className:`h-3 w-3 text-muted-foreground/60 flex-shrink-0`}):(0,$.jsx)(Z,{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)(rr,{open:b===e.name,onOpenChange:t=>{t&&C(null),x(t?e.name:null)},children:[(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsx)(J,{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)(Z,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(Jn,{align:`end`,className:`w-fit min-w-20`,children:R(e,fr)})]})]}),(0,$.jsx)(Ii,{className:`w-fit min-w-20`,children:R(e,Ri)})]},e.name)})}),A.length>0&&(0,$.jsx)(Jr,{label:se,children:A.map(e=>{let t=gs((h[e.name]??(f.isError&&!f.data?{status:`failed`,error:f.error.message}:void 0))?.status),i=a===e.name,c=Er();return(0,$.jsxs)(ji,{open:S===e.name,onOpenChange:t=>C(t?e.name:null),children:[(0,$.jsxs)(Pi,{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)(_s,{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)(Z,{name:`server`,className:`h-3 w-3 text-muted-foreground/60 flex-shrink-0`}):(0,$.jsx)(Z,{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)(rr,{open:b===e.name,onOpenChange:t=>{t&&C(null),x(t?e.name:null)},children:[(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsx)(J,{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)(Z,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(Jn,{align:`end`,className:`w-fit min-w-20`,children:R(e,fr)})]})]}),(0,$.jsx)(Ii,{className:`w-fit min-w-20`,children:R(e,Ri)})]},e.name)})}),A.length===0&&(0,$.jsx)(Jr,{label:se,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]=A,t[72]=se,t[73]=ue):ue=t[73];let de=g!==null,fe;t[74]===v?fe=t[75]:(fe=e=>{!e&&!v&&_(null)},t[74]=v,t[75]=fe);let pe;t[76]===r?pe=t[77]:(pe=r(`settings.mcp.sidebar.deleteDialog.title`),t[76]=r,t[77]=pe);let me;t[78]===pe?me=t[79]:(me=(0,$.jsx)(nn,{children:pe}),t[78]=pe,t[79]=me);let he=g?.name||``,ge;t[80]!==r||t[81]!==he?(ge=r(`settings.mcp.sidebar.deleteDialog.descriptionPrefix`,{name:he}),t[80]=r,t[81]=he,t[82]=ge):ge=t[82];let _e;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(`code`,{className:`text-foreground`,children:`opencode.json`}),t[83]=_e):_e=t[83];let ve;t[84]===ge?ve=t[85]:(ve=(0,$.jsxs)(rn,{children:[ge,` `,_e,`.`]}),t[84]=ge,t[85]=ve);let ye;t[86]!==me||t[87]!==ve?(ye=(0,$.jsxs)($t,{children:[me,ve]}),t[86]=me,t[87]=ve,t[88]=ye):ye=t[88];let K;t[89]===Symbol.for(`react.memo_cache_sentinel`)?(K=()=>_(null),t[89]=K):K=t[89];let be;t[90]===r?be=t[91]:(be=r(`settings.common.actions.cancel`),t[90]=r,t[91]=be);let xe;t[92]!==v||t[93]!==be?(xe=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:K,disabled:v,children:be}),t[92]=v,t[93]=be,t[94]=xe):xe=t[94];let Se;t[95]!==v||t[96]!==r?(Se=r(v?`settings.mcp.sidebar.actions.deleting`:`settings.common.actions.delete`),t[95]=v,t[96]=r,t[97]=Se):Se=t[97];let Ce;t[98]!==I||t[99]!==v||t[100]!==Se?(Ce=(0,$.jsx)(J,{size:`sm`,onClick:I,disabled:v,children:Se}),t[98]=I,t[99]=v,t[100]=Se,t[101]=Ce):Ce=t[101];let we;t[102]!==xe||t[103]!==Ce?(we=(0,$.jsxs)(en,{children:[xe,Ce]}),t[102]=xe,t[103]=Ce,t[104]=we):we=t[104];let Te;t[105]!==ye||t[106]!==we?(Te=(0,$.jsxs)(tn,{className:`max-w-md`,children:[ye,we]}),t[105]=ye,t[106]=we,t[107]=Te):Te=t[107];let Ee;t[108]!==de||t[109]!==fe||t[110]!==Te?(Ee=(0,$.jsx)(an,{open:de,onOpenChange:fe,children:Te}),t[108]=de,t[109]=fe,t[110]=Te,t[111]=Ee):Ee=t[111];let De;return t[112]!==ue||t[113]!==Ee?(De=(0,$.jsxs)(`div`,{className:`oc-settings-page-content h-full overflow-y-auto bg-background p-3`,children:[ce,ue,Ee]}),t[112]=ue,t[113]=Ee,t[114]=De):De=t[114],De};function ys(e){return{selectedMcpName:e.selectedMcpName,setSelectedMcp:e.setSelectedMcp,setMcpDraft:e.setMcpDraft,deleteMcp:e.deleteMcp}}function bs(e){return e.scope===`project`}function xs(e){return e.scope!==`project`}function Ss(e){return setTimeout(e,500)}function Cs(e){Y.error(e instanceof Error?e.message:String(e))}function ws(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ts(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function Es(e,t){return t===void 0?{ok:!1,error:e}:{ok:!1,error:e,parsed:t}}function Ds(e,t,n){return{ok:!0,name:e,type:t,command:Os(n),url:typeof n.url==`string`?n.url.trim():``,environment:ks(n,`env`,`environment`),headers:ks(n,`headers`),oauthEnabled:As(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:js(n),enabled:Ms(n)}}function Os(e){let t=e.command,n=e.args;if(Ts(t)&&Ts(n))return[...t,...n];if(Ts(t))return t;if(typeof t==`string`&&t.trim()){let e=t.trim().split(/\s+/);return Ts(n)?[...e,...n]:e}return Ts(n)?n:[]}function ks(e,...t){for(let n of t){let t=e[n];if(!ws(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 As(e){if(e.oauth===!1||e.oauth===null||e.oauth===void 0||!ws(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 js(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 Ms(e){return`disabled`in e&&e.disabled===!0?!1:`enabled`in e?!!e.enabled:!0}function Ns(e){let t=e.mcpServers;if(ws(t)){let e=Object.keys(t);if(e.length===1){let n=e[0],r=t[n];if(ws(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`&&ws(n)});if(n.length===1){let t=n[0],r=e[t];if(Ps(r))return{name:t,entry:r}}return null}function Ps(e){return e.type===`local`||e.type===`remote`||Array.isArray(e.command)||typeof e.url==`string`||Array.isArray(e.args)}function Fs(e,t){let n;try{let t=e.trim();if(!t)return Es(`No JSON content provided`);n=JSON.parse(t)}catch(e){return Es(e instanceof Error?`Invalid JSON: ${e.message}`:`Invalid JSON`)}if(!ws(n))return Es(`Expected a JSON object, not an array or primitive`);let r=n,i=r.mcpServers;if(ws(i)){let e=Object.keys(i);if(e.length===0)return Es(`mcpServers object is empty`,n);if(e.length>1)return Es(`Paste one server at a time. Found `+e.length+` servers in mcpServers`,n);let t=e[0],r=i[t];return ws(r)?Ds(t,Is(r),r):Es(`Server entry is not a valid object`,n)}let a=r.mcp;if(ws(a)){let e=Object.keys(a);if(e.length===0)return Es(`mcp object is empty`,n);if(e.length>1)return Es(`Paste one server at a time. Found `+e.length+` servers in mcp`,n);let t=e[0],r=a[t];return ws(r)?Ds(t,Is(r),r):Es(`Server entry in mcp is not a valid object`,n)}let o=Ns(r);if(o)return Ds(o.name,Is(o.entry),o.entry);if(Ps(r)){let e=Is(r);return Ds(typeof r.name==`string`&&r.name.trim()?r.name.trim():t?.fallbackName,e,r)}return Es(`No recognizable MCP server configuration found in JSON`,n)}function Is(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 Rs(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 zs(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:di(e.searchParams),stateKey:Br(e.searchParams)}}catch{}return{code:t,context:null,stateKey:null}}var Bs=({value:e,onChange:t,pasteCommandTitle:n,pasteCommandLabel:r,pasteSuccess:i,clipboardReadFailed:a,preview:o})=>{let[s,c]=Q.useState(()=>e.join(`
1
+ import{n as e,r as t}from"./rolldown-runtime-hePW80VL.js";import{E as n}from"./runtime-auth-C8w0nlKy.js";import{c as r,i,l as a,n as o,r as s,t as c}from"./runtime-switch-3ad3yzM7.js";import{n as l}from"./runtime-fetch-QCWYlAx0.js";import{$t as u,Dn as d,En as f,Jt as p,M as m,Mn as h,N as g,Qt as _,Tn as v,U as y,Xt as b,Zt as x,an as S,g as C,h as w,i as T,jn as E,ln as D,m as O,nn as k,o as A,on as j,p as M,rn as N,s as P,sn as F,st as I,un as L,xn as R,yn as z}from"./persistence-B7ORJ371.js";import{a as B,g as V,h as H,i as U,l as W,m as ee,n as G,p as te,r as ne,t as re,u as ie}from"./desktopHosts-DSBZ-9-L.js";import{n as ae}from"./desktopRelayRestore-DK8TzHRx.js";import{a as oe,i as se,r as ce,t as le}from"./vendor-zustand-o69pgTEK.js";import{it as ue,nt as de,rt as fe}from"./vendor-base-ui-CdzJ6My_.js";import{Ct as pe,Nt as me,n as he,t as ge}from"./platform-CiBU2bCp.js";import{b as _e,d as ve,i as ye,n as K,o as be,s as xe}from"./useUIStore-CDMI_Yzu.js";import{n as Se}from"./vendor-react-BP2cRVqX.js";import{n as Ce}from"./vendor-aparajita-capacitor-secure-storage-xol_6BsB.js";import{l as we,n as Te,o as Ee,s as De}from"./vendor-tanstack-react-query-CdqCAt40.js";import{H as Oe}from"./vendor-codemirror-autocomplete-7c2L_4dM.js";import{r as ke}from"./vendor-sonner-ZS8XIOVl.js";import{a as Ae,c as je,n as Me,r as Ne}from"./vendor-reactuses-core-BpfIZ1tg.js";import{d as Pe,f as Fe,n as Ie,o as Le,p as Re,r as q,t as J}from"./button-BidoKJDv.js";import{a as ze,i as Be,r as Ve}from"./MobileShareBridge-DvZmmS4t.js";import{C as He,_ as Ue,a as We,b as Ge,c as Ke,f as qe,g as Je,h as Ye,o as Xe,t as Ze,v as Qe,y as $e}from"./MobileDetailNavigation-B_6fTiJ5.js";import{$a as et,Ba as tt,Ca as nt,Ci as rt,Da as it,Ea as at,Ga as ot,Gn as st,Ha as ct,Ir as Y,Ja as lt,Ka as ut,Kn as dt,Kt as ft,Oi as pt,Qa as mt,Ra as ht,Sa as gt,Si as _t,Ta as vt,Ua as yt,Va as bt,Wa as xt,Xa as St,Ya as Ct,Za as wt,_a as Tt,_o as Et,ao as Dt,co as Ot,da as kt,eo as At,fa as jt,ga as Mt,ha as Nt,ho as Pt,io as Ft,lo as It,mo as X,no as Lt,o as Rt,oo as zt,pa as Bt,po as Vt,qa as Ht,ro as Ut,so as Wt,to as Gt,uo as Kt,vi as qt,xi as Jt,za as Yt}from"./useMobileNavigationStore-B4hTCxg2.js";import{i as Xt}from"./useAssistantUIStore-Dlvb7P0q.js";import{t as Zt}from"./AgentAvatar-E6PHIbw0.js";import{n as Qt}from"./useThemeSystem-8jhE4Zyk.js";import{n as Z}from"./Icon-Ck4jqC3w.js";import{a as $t,i as en,n as tn,o as nn,r as rn,t as an}from"./dialog-C8RKHhJ5.js";import{A as on,T as sn,_ as cn,a as ln,b as un,h as dn,i as fn,m as pn,n as mn,x as hn}from"./projectMeta-DAdDjK8k.js";import{t as gn}from"./input-CFl_7BAn.js";import{i as _n,n as vn,t as yn}from"./tooltip-CBIMCP7g.js";import{$t as bn,At as xn,B as Sn,Bt as Cn,Ct as wn,Ft as Tn,Gt as En,H as Dn,Ht as On,I as kn,It as An,Lt as jn,M as Mn,Mt as Nn,Nt as Pn,O as Fn,P as In,Pt as Ln,Qt as Rn,R as zn,Rt as Bn,St as Vn,U as Hn,Ut as Un,V as Wn,Vt as Gn,Y as Kn,_t as qn,at as Jn,c as Yn,ct as Xn,dt as Zn,ft as Qn,gt as $n,ht as er,i as tr,in as nr,it as rr,j as ir,jt as ar,k as or,l as sr,lt as cr,nn as lr,nt as ur,on as dr,ot as fr,p as pr,q as mr,r as hr,rn as gr,s as _r,sn as vr,t as yr,tn as br,wt as xr,xt as Sr,z as Cr,zt as wr}from"./speechSettingsQueries-C-8YcLM1.js";import{i as Tr,r as Er}from"./OverlayScrollbar-Ds68zSwB.js";import{a as Dr,o as Or}from"./dropdown-menu.styles-f8GwJpe8.js";import{n as kr}from"./useRuntimeAPIs-Cx8S1HLz.js";import{n as Ar,t as jr}from"./textarea-BJAl-1yB.js";import{P as Mr,i as Nr,j as Pr,n as Fr}from"./appThemeRegistry-dZvExJC7.js";import{n as Ir}from"./MarkdownRenderer-B6MQVdvh.js";import{a as Lr}from"./url-nbXEti6c.js";import{l as Rr}from"./markdown-worker-DFNZ3KJ_.js";import{t as zr}from"./sortable-tabs-strip-DVn55-Ri.js";import{A as Br,B as Vr,C as Hr,D as Ur,F as Wr,H as Gr,I as Kr,L as qr,M as Jr,N as Yr,O as Xr,P as Zr,R as Qr,S as $r,T as ei,U as ti,V as ni,_ as ri,a as ii,b as ai,c as oi,d as si,f as ci,g as li,j as ui,k as di,l as fi,m as pi,o as mi,p as hi,r as gi,s as _i,t as vi,v as yi,w as bi,x as xi,y as Si,z as Ci}from"./MobileTabPageHeader-DA7J54Rh.js";import{a as wi,c as Ti,i as Ei,l as Di,o as Oi,r as ki,s as Ai}from"./mcpQueries-CIyYw1VL.js";import{a as ji,d as Mi,f as Ni,l as Pi,m as Fi,o as Ii,p as Li,s as Ri,t as zi}from"./scheduledTaskNavigation-s5_c3gNQ.js";import{n as Bi,r as Vi,t as Hi}from"./collapsible-CvUPZkE7.js";import{n as Ui,t as Wi}from"./vendor-yaml-C9KlJAlj.js";import{t as Gi}from"./vendor-qrcode-D7jBCyl-.js";var Ki=Se(),qi=t(de(),1),Q=t(ue(),1),$=fe(),Ji=`https://github.com/yee94/openchamber`,Yi=`${Ji}/issues/new`,Xi=800,Zi={"manual-global":`settings.openchamber.about.opencodeManagement.manual-global`,"manual-external":`settings.openchamber.about.opencodeManagement.manual-external`,bundled:`settings.openchamber.about.opencodeManagement.bundled`,"in-app":`settings.openchamber.about.opencodeManagement.in-app`,none:`settings.openchamber.about.opencodeManagement.none`},Qi=e=>typeof e==`string`&&e.trim()?e.trim():null,$i=(e,t,n)=>({queryKey:[t,`about`,n,e],queryFn:async({signal:r})=>{if(t!==i()||n!==o())throw Error(`Stale About runtime`);let a=await l(e,{method:`GET`,headers:{Accept:`application/json`},signal:r});if(!a.ok)throw Error(`About snapshot: ${a.status}`);let s=await a.json();if(!s||typeof s!=`object`||Array.isArray(s))throw Error(`Invalid About snapshot`);if(r.aborted||t!==i()||n!==o())throw Error(`Stale About runtime`);return s},retry:!1,staleTime:3e4}),ea=()=>{try{let e=Ce;return((typeof e.getConfig==`function`?e.getConfig():void 0)??e.config)?.OpenChamberOTA?.channel===`stable`?`stable`:`beta`}catch{return`beta`}},ta=({initialUpdateDialogOpen:e=!1})=>{let{t}=Fe(),[n,a]=Q.useState(e),[s,c]=Q.useState(!1),[l,u]=Q.useState(!1),[d,f]=Q.useState(null),[m,h]=Q.useState(null),g=Q.useSyncExternalStore(r,i,i),_=Q.useSyncExternalStore(r,o,o),v=De($i(`/api/system/info`,g,_)),y=De($i(`/api/opencode/upgrade-status`,g,_)),b=Qi(v.data?.openchamberVersion),x=y.data,S=Qi(x?.serveVersion)??Qi(x?.currentVersion),C=Qi(x?.management),w=C&&Object.hasOwn(Zi,C)?Zi[C]:null,T=x?.canManage===!1&&w?t(w):null,E=S&&T?t(`settings.openchamber.about.opencodeVersionWithManagement`,{version:S,management:T}):S,D=x?.canManage===!1?C===`manual-global`?t(`settings.openchamber.about.opencodeGuidance.manualGlobal`):C===`manual-external`?t(`settings.openchamber.about.opencodeGuidance.manualExternal`):C===`bundled`?t(`settings.openchamber.about.opencodeGuidance.bundled`):null:null,O=Kr(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}))),k=K(e=>e.otaChannelOverride),A=K(e=>e.setOtaChannelOverride),j=he(),[M,N]=Q.useState(`stable`);Q.useEffect(()=>{F()&&p().then(e=>N(e?.includes(`-`)?`beta`:`stable`))},[]);let P=ea(),I=k===`beta`||k===null&&(F()?M:P)===`beta`,[L,R]=Q.useState(!1),[z,B]=Q.useState(()=>rt()),V=Me(e=>{pt(e),B(e)}),H=Me(async e=>{if(e){A(`beta`),await Kr.getState().checkForUpdates();return}A(`stable`),await Kr.getState().checkForUpdates();let{info:t,otaDecision:n}=Kr.getState();t?.isChannelRollback===!0&&n?.primaryAction===`apply_ota`&&c(!0)}),U=Me(()=>{c(!1),A(`beta`),Kr.getState().checkForUpdates()}),W=Me(()=>{c(!1),a(!0),Kr.getState().downloadUpdate()}),ee=Me(e=>{e||U()}),G=d||t(`settings.openchamber.about.state.unknown`),te=Me(async()=>{if(!L){R(!0);try{let{outcome:e,eventCount:n}=await _t();if(e===`cancelled`)return;if(e===`failed`){Y.error(t(`settings.openchamber.about.diagnostics.toast.failed`));return}Y.success(t(n>0?`settings.openchamber.about.diagnostics.toast.exported`:`settings.openchamber.about.diagnostics.toast.empty`))}catch{Y.error(t(`settings.openchamber.about.diagnostics.toast.failed`))}finally{R(!1)}}});Q.useEffect(()=>{let e=!1;return Ci().then(t=>{e||f(t)}),Qr().then(t=>{e||h(t)}),()=>{e=!0}},[]);let ne=qr(d,m)??G,re=Q.useRef(!1);Q.useEffect(()=>{if(O.checking)u(!0),re.current=!0;else if(l){let e=setTimeout(()=>{u(!1),re.current&&O.error?(Y.error(t(`settings.openchamber.about.toast.checkFailed`),{description:O.error}),re.current=!1):re.current&&!O.available&&!O.error&&(Y.success(t(`settings.openchamber.about.toast.latestVersion`)),re.current=!1)},Xi);return()=>clearTimeout(e)}},[t,O.checking,l,O.available,O.error]);let ie=O.checking||l;return(0,$.jsxs)(`div`,{className:`oc-settings-section-stack w-full`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,$.jsx)(wr,{width:72,height:72}),(0,$.jsx)(`h2`,{className:`mt-4 typography-ui-header font-semibold text-foreground`,children:`OpenChamberY`})]}),(0,$.jsxs)(Jr,{className:`oc-settings-about`,children:[(0,$.jsx)(Yr,{label:t(`settings.openchamber.about.field.clientVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:ne})}),(0,$.jsx)(Yr,{label:t(`settings.openchamber.about.field.instanceOpenChamberVersion`),children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:b||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Yr,{label:t(`settings.openchamber.about.field.instanceOpenCodeVersion`),description:D,children:(0,$.jsx)(`span`,{className:`typography-ui-label font-mono text-foreground text-right`,children:E||t(`settings.openchamber.about.state.unknown`)})}),(0,$.jsx)(Yr,{className:`oc-settings-split-row-stacked`,copyClassName:`hidden`,children:(0,$.jsxs)(`div`,{className:`flex w-full flex-wrap items-center justify-end gap-2`,children:[(0,$.jsx)(J,{asChild:!0,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,"data-settings-item":`about.feedback`,children:(0,$.jsxs)(`a`,{href:Yi,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(Z,{name:`question`,className:`size-4`}),t(`settings.openchamber.about.actions.submitFeedback`)]})}),!ie&&O.available?(0,$.jsxs)(J,{type:`button`,variant:`default`,size:`sm`,className:`whitespace-nowrap`,onClick:()=>a(!0),"data-settings-item":`about.check-updates`,children:[(0,$.jsx)(Z,{name:`download`,className:`size-4`}),O.info?.inAppApply?t(`settings.openchamber.about.actions.applyOtaToVersion`,{version:O.info?.version||``}):O.info?.manualUpdate?t(`settings.openchamber.about.actions.installNativeToVersion`,{version:O.info?.version||``}):t(`settings.openchamber.about.actions.updateToVersion`,{version:O.info?.version||``})]}):(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`sm`,className:`whitespace-nowrap`,onClick:()=>O.checkForUpdates(),"data-settings-item":`about.check-updates`,disabled:ie,children:[ie?(0,$.jsx)(Z,{name:`loader`,className:`size-4 animate-spin`}):(0,$.jsx)(Z,{name:`refresh`,className:`size-4`}),t(ie?`settings.openchamber.about.state.checking`:`settings.openchamber.about.actions.checkForUpdates`)]})]})}),O.error&&(0,$.jsx)(Yr,{children:(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:O.error})}),(j||F())&&(0,$.jsx)(Zr,{itemId:`about.beta-updates`,checked:I,onChange:H,label:t(`settings.openchamber.about.betaUpdates.label`),description:t(`settings.openchamber.about.betaUpdates.description`),ariaLabel:t(`settings.openchamber.about.betaUpdates.label`),disabled:ie}),(0,$.jsx)(Zr,{itemId:`about.diagnostics`,checked:z,onChange:V,label:t(`settings.openchamber.about.diagnostics.label`),ariaLabel:t(`settings.openchamber.about.diagnostics.label`)}),z&&(0,$.jsx)(Yr,{itemId:`about.export-diagnostics`,label:t(`settings.openchamber.about.diagnostics.export`),children:(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`sm`,disabled:L,onClick:()=>void te(),children:t(L?`settings.openchamber.about.diagnostics.exporting`:`settings.openchamber.about.diagnostics.export`)})})]}),(0,$.jsx)(`div`,{className:`flex flex-col items-center gap-3 text-center`,children:(0,$.jsx)(`div`,{className:`flex items-center justify-center gap-5`,children:(0,$.jsxs)(`a`,{href: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)(Z,{name:`github-fill`,className:`size-5`}),(0,$.jsx)(`span`,{children:`GitHub`})]})})}),(0,$.jsx)(`p`,{className:`text-center typography-ui text-muted-foreground/60`,children:t(`aboutDialog.footerNote`)}),(0,$.jsx)(Wr,{open:n,onOpenChange:a,info:O.info,downloading:O.downloading,downloaded:O.downloaded,progress:O.progress,error:O.error,onDownload:O.downloadUpdate,onRestart:O.restartToUpdate,runtimeType:O.runtimeType}),(0,$.jsx)(an,{open:s,onOpenChange:ee,children:(0,$.jsxs)(tn,{showCloseButton:!1,className:`max-w-sm gap-5`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:t(`settings.openchamber.about.betaUpdates.rollback.title`)}),(0,$.jsx)(rn,{children:t(`settings.openchamber.about.betaUpdates.rollback.description`,{version:O.info?.version||``})})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{type:`button`,size:`sm`,variant:`ghost`,onClick:U,children:t(`settings.openchamber.about.betaUpdates.rollback.actions.cancel`)}),(0,$.jsx)(J,{type:`button`,size:`sm`,onClick:W,children:t(`settings.openchamber.about.betaUpdates.rollback.actions.confirm`)})]})]})})]})},na=`/assets/android-direct-share-1a0lp154.jpg`,ra=`/assets/ios-share-sheet-B3Dlufnc.jpg`,ia=`/assets/select-assistant-C89IRspC.jpg`,aa=`openchamber:assistant-share-welcome:v1`,oa=[{image:ra,titleKey:`assistants.shareWelcome.example.chat.title`,descriptionKey:`assistants.shareWelcome.example.chat.description`},{image:na,titleKey:`assistants.shareWelcome.example.article.title`,descriptionKey:`assistants.shareWelcome.example.article.description`},{image:ia,titleKey:`assistants.shareWelcome.example.note.title`,descriptionKey:`assistants.shareWelcome.example.note.description`}],sa=e=>{let t=(0,Ki.c)(40),{enabled:n,open:r,onOpenChange:i}=e,a=n!==void 0&&n,{t:o}=Fe(),[s,c]=je(aa,!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=Me(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)(Z,{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)(nn,{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)(rn,{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)($t,{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=oa.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)(Z,{name:`arrow-right-s`,className:`size-4`}),t[28]=w):w=t[28];let T;t[29]!==f||t[30]!==C?(T=(0,$.jsx)(en,{className:`border-t border-border px-5 py-4 sm:px-8 sm:py-5`,children:(0,$.jsxs)(J,{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)(tn,{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)(an,{open:u,onOpenChange:p,children:E}),t[36]=u,t[37]=E,t[38]=p,t[39]=D):D=t[39],D},ca=`useCommandsStore`,la=new Set([`init`,`review`]),ua=e=>la.has(e.name),da=async(e,t)=>{await Wt(O,e,t),i()===t&&Vt(`commands`,{source:ca})},fa=oe()(ce(se(e=>({selectedCommandName:null,commandDraft:null,setSelectedCommand:t=>e({selectedCommandName:t}),setCommandDraft:t=>e({commandDraft:t}),loadCommands:async()=>{let e=Ot(),t=i();try{return await Wt(O,e,t),!0}catch{return!1}},createCommand:async t=>pa(`POST`,t.name,t,e),updateCommand:async(t,n)=>pa(`PATCH`,t,n,e),deleteCommand:async t=>pa(`DELETE`,t,void 0,e),getCommandByName:e=>zt().find(t=>t.name===e)}),{name:`commands-store`,storage:_e(),partialize:e=>({selectedCommandName:e.selectedCommandName})}),{name:`commands-store`}));async function pa(e,t,n,r){let a=Ot(),o=i();try{let s={};if(e===`POST`&&(s.template=n?.template||``,n?.description&&(s.description=n.description),n?.agent&&(s.agent=n.agent),n?.model&&(s.model=n.model),n?.scope&&(s.scope=n.scope)),e===`PATCH`)for(let e of[`description`,`agent`,`model`,`template`])n?.[e]!==void 0&&(s[e]=n[e]);let c=a?`?directory=${encodeURIComponent(a)}`:``,u=await l(`/api/config/commands/${encodeURIComponent(t)}${c}`,{method:e,headers:e===`DELETE`?a?{"x-opencode-directory":a}:void 0:{"Content-Type":`application/json`,...a?{"x-opencode-directory":a}:{}},...e===`DELETE`?{}:{body:JSON.stringify(s)}}),d=await u.json().catch(()=>null);if(!u.ok)throw Error(d?.error||`Failed to ${e.toLowerCase()} command`);return i()!==o||(await da(a,o),i()!==o)||e===`DELETE`&&r({selectedCommandName:null}),!0}catch(e){return console.error(`[CommandsStore] Command mutation failed:`,e),!1}}typeof window<`u`&&(window.__zustand_commands_store__=fa),Pt(e=>{e.source!==ca&&X(e,`commands`)&&fa.getState().loadCommands()});var ma=()=>{try{let e=Kt.getState().getActiveProject?.();if(e?.path?.trim())return e.path.trim();let t=me.getDirectory();if(t?.trim())return t.trim()}catch(e){console.warn(`[McpConfigStore] Error resolving config directory:`,e)}return null},ha=e=>e?Object.entries(e).map(([e,t])=>({key:e,value:t})):[],ga=e=>{let t=e.filter(e=>e.key.trim());if(t.length!==0)return Object.fromEntries(t.map(e=>[e.key.trim(),e.value]))},_a=e=>{if(typeof e==`string`)return e.trim()||void 0},va=oe()(ce(se((e,t)=>({selectedMcpName:null,mcpDraft:null,setSelectedMcp:t=>e({selectedMcpName:t}),setMcpDraft:t=>e({mcpDraft:t}),loadMcpConfigs:async e=>{let t=ma();try{return!e?.force&&ki(O,t).length>0||await wi(O,t,i()),!0}catch(e){return console.error(`[McpConfigStore] Failed to load MCP configs:`,e),!1}},createMcp:async(e,t)=>{let n=`directory`in(t??{})?t?.directory?.trim()||null:ma(),r=t?.transportIdentity??i();try{let t=ya(e),a=n?`?directory=${encodeURIComponent(n)}`:``,o=await l(`/api/config/mcp/${encodeURIComponent(e.name)}${a}`,{method:`POST`,headers:{"Content-Type":`application/json`,...n?{"x-opencode-directory":n}:{}},body:JSON.stringify(t)}),s=await o.json().catch(()=>null);if(!o.ok)throw Error(s?.error||`Failed to create MCP server`);return i()===r?(await wi(O,n,r),await Oi(O,n,r),{ok:!0,reloadFailed:s?.reloadFailed===!0,message:s?.message,warning:s?.warning}):{ok:!0}}catch(e){return console.error(`[McpConfigStore] Failed to create MCP:`,e),{ok:!1}}},updateMcp:async(e,t,n)=>{let r=`directory`in(n??{})?n?.directory?.trim()||null:ma(),a=n?.transportIdentity??i();try{let n=ya(t),o=r?`?directory=${encodeURIComponent(r)}`:``,s=await l(`/api/config/mcp/${encodeURIComponent(e)}${o}`,{method:`PATCH`,headers:{"Content-Type":`application/json`,...r?{"x-opencode-directory":r}:{}},body:JSON.stringify(n)}),c=await s.json().catch(()=>null);if(!s.ok)throw Error(c?.error||`Failed to update MCP server`);return i()===a?(await wi(O,r,a),await Oi(O,r,a),{ok:!0,reloadFailed:c?.reloadFailed===!0,message:c?.message,warning:c?.warning}):{ok:!0}}catch(e){throw console.error(`[McpConfigStore] Failed to update MCP:`,e),e}},deleteMcp:async(n,r)=>{let a=`directory`in(r??{})?r?.directory?.trim()||null:ma(),o=r?.transportIdentity??i();try{let r=a?`?directory=${encodeURIComponent(a)}`:``,s=await l(`/api/config/mcp/${encodeURIComponent(n)}${r}`,{method:`DELETE`,headers:a?{"x-opencode-directory":a}:void 0}),c=await s.json().catch(()=>null);if(!s.ok)throw Error(c?.error||`Failed to delete MCP server`);return Vr.getState().clearDiagnostic(n,a,o),i()===o?(t().selectedMcpName===n&&e({selectedMcpName:null}),await wi(O,a,o),await Oi(O,a,o),{ok:!0,reloadFailed:c?.reloadFailed===!0,message:c?.message,warning:c?.warning}):{ok:!0}}catch(e){return console.error(`[McpConfigStore] Failed to delete MCP:`,e),{ok:!1}}}}),{name:`mcp-config-store`,storage:_e(),partialize:e=>({selectedMcpName:e.selectedMcpName})}),{name:`mcp-config-store`}));function ya(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=ga(e.environment)??{}),e.headers!==void 0&&(t.headers=ga(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:_a(e.oauthClientId),clientSecret:_a(e.oauthClientSecret),scope:_a(e.oauthScope),redirectUri:_a(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 ba=()=>{let e=me.getDirectory();if(typeof e==`string`&&e.trim().length>0)return e;try{let e=window.__zustand_directory_store__;if(e)return e.getState().currentDirectory}catch{}return null},xa=`useSkillsStore`,Sa=e=>{if(e&&Object.prototype.hasOwnProperty.call(e,`directory`))return typeof e.directory==`string`&&e.directory.trim()||null;let t=ba();return typeof t==`string`&&t.trim()||null},Ca=oe()(ce(se((e,t)=>({selectedSkillName:null,skillDraft:null,setSelectedSkill:t=>{e({selectedSkillName:t})},setSkillDraft:t=>{e({skillDraft:t})},loadSkills:async()=>{try{return await ot(O,ba(),i()),!0}catch{return!1}},getSkillDetail:async e=>{try{let t=ba(),n=t?`?directory=${encodeURIComponent(t)}`:``,r=await l(`/api/config/skills/${encodeURIComponent(e)}${n}`);return r.ok?await r.json():null}catch{return null}},createSkill:async(e,t)=>{try{let n={name:e.name,description:e.description};e.instructions&&(n.instructions=e.instructions),e.scope&&(n.scope=e.scope),e.source&&(n.source=e.source),e.supportingFiles&&(n.supportingFiles=e.supportingFiles);let r=Sa(t),a=i(),o=r?`?directory=${encodeURIComponent(r)}`:``,s=await l(`/api/config/skills/${encodeURIComponent(e.name)}${o}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)}),c=await s.json().catch(()=>null);if(!s.ok){let e=c?.error||`Failed to create skill`;throw Error(e)}return await wa({directory:r,transportIdentity:a}),!0}catch{return!1}},updateSkill:async(e,t,n)=>{try{let r={};t.description!==void 0&&(r.description=t.description),t.instructions!==void 0&&(r.instructions=t.instructions),t.supportingFiles!==void 0&&(r.supportingFiles=t.supportingFiles),t.targetPath!==void 0&&(r.targetPath=t.targetPath);let a=Sa(n),o=i(),s=a?`?directory=${encodeURIComponent(a)}`:``,c=await l(`/api/config/skills/${encodeURIComponent(e)}${s}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)}),u=await c.json().catch(()=>null);if(!c.ok){let e=u?.error||`Failed to update skill`;throw Error(e)}return await wa({directory:a,transportIdentity:o}),!0}catch{return!1}},deleteSkill:async(n,r)=>{try{let a=Sa(r),o=i(),s=a?`?directory=${encodeURIComponent(a)}`:``,c=await l(`/api/config/skills/${encodeURIComponent(n)}${s}`,{method:`DELETE`}),u=await c.json().catch(()=>null);if(!c.ok){let e=u?.error||`Failed to delete skill`;throw Error(e)}return await wa({directory:a,transportIdentity:o}),i()===o&&t().selectedSkillName===n&&e({selectedSkillName:null}),!0}catch{return!1}},getSkillByName:e=>xt(O,ba()).find(t=>t.name===e),readSupportingFile:async(e,t)=>{try{let n=ba(),r=n?`&directory=${encodeURIComponent(n)}`:``,i=await l(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}?${r.slice(1)}`);return i.ok?(await i.json()).content??null:null}catch{return null}},writeSupportingFile:async(e,t,n)=>{try{let r=ba(),i=r?`?directory=${encodeURIComponent(r)}`:``;return(await l(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}${i}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({content:n})})).ok}catch{return!1}},deleteSupportingFile:async(e,t)=>{try{let n=ba(),r=n?`?directory=${encodeURIComponent(n)}`:``;return(await l(`/api/config/skills/${encodeURIComponent(e)}/files/${encodeURIComponent(t)}${r}`,{method:`DELETE`})).ok}catch{return!1}}}),{name:`skills-store`,storage:_e(),partialize:e=>({selectedSkillName:e.selectedSkillName})}),{name:`skills-store`}));typeof window<`u`&&(window.__zustand_skills_store__=Ca);async function wa(e){let t=e&&`directory`in e?e.directory?.trim()||null:ba(),n=e?.transportIdentity??i();i()===n&&(await ot(O,t,n),i()===n&&(await St(O,t,n),i()===n&&Vt(`skills`,{source:xa})))}var Ta=null;Ta||=Pt(e=>{if(e.source!==xa&&X(e,`skills`)){let e=ba(),t=i();ot(O,e,t).then(()=>St(O,e,t)).catch(()=>void 0)}});var Ea=/^#[0-9a-fA-F]{6}$/,Da=/^\{file:.+\}$/i,Oa=e=>[...e].sort((e,t)=>{let n=e.permission.localeCompare(t.permission);return n===0?e.pattern.localeCompare(t.pattern):n}),ka=(e,t)=>{let n=Oa(e),r=Oa(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})},Aa=(e,t)=>t?e.globalPermission!==t.globalPermission||!ka(e.permissionRules,t.permissionRules):!1,ja=e=>e===`bash`?`shell`:e===`task`?`subagent`:e===`write`||e===`patch`?`edit`:e,Ma=(e,t)=>{let n=[{action:`*`,resource:`*`,effect:e}];for(let e of t)!e.permission||!e.pattern||(e.permission!==`*`||e.pattern!==`*`)&&n.push({action:ja(e.permission),resource:e.pattern,effect:e.action});return n},Na=e=>{let t=e.trim();return t===``?null:t},Pa=({isNewAgent:e,agentName:t,draftScope:n,initialScope:r,draftHasExplicitPermission:i,current:a,initial:o,confirmDrop:s})=>{let c=Ma(a.globalPermission,a.permissionRules);if(e){let e=a.description.trim(),r=Na(a.model),l=a.system.trim(),u=Aa(a,o)||i;return{name:t,mode:a.mode,...e?{description:e}:{},...r?{model:r}:{},...l?{system:l}:{},...u?{permissions:c}:{},...n?{scope:n}:{},...s?{confirmDrop:!0}:{}}}let l={name:t,...s?{confirmDrop:!0}:{}};return o?(a.description!==o.description&&(l.description=a.description.trim()||null),a.mode!==o.mode&&(l.mode=a.mode),a.model!==o.model&&(l.model=Na(a.model)),a.system!==o.system&&(l.system=a.system.trim()||null),Aa(a,o)&&(l.permissions=c),n&&r&&n!==r&&(l.scope=n),l):l},Fa=e=>{if(e){if(typeof e.prompt==`string`)return Da.test(e.prompt.trim())?void 0:e.prompt;if(typeof e.system==`string`)return e.system}},Ia=e=>{let t=e?.model?.providerID,n=e?.model?.modelID||e?.model?.id;if(!t||!n)return``;let r=e?.model?.variant||e?.variant;return r?`${t}/${n}#${r}`:`${t}/${n}`},La=e=>{let t=e.trim(),n=t.indexOf(`/`);if(n<=0||n>=t.length-1)return null;let r=t.slice(0,n),i=t.slice(n+1),a=i.indexOf(`#`);return a===-1?{providerId:r,modelId:i,variant:``}:{providerId:r,modelId:i.slice(0,a),variant:i.slice(a+1)}},Ra=e=>Ea.test(e.trim()),za=e=>{let t=e.trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)},Ba=e=>{let t=(0,Ki.c)(37),{className:n}=e,{t:r}=Fe(),i=Kt(Va),a=Kt(Ha),o=Kt(Ua),s=D(),c;t[0]===i?c=t[1]:(c=[...i].sort(Wa),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)(Z,{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)(Z,{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)(Zn,{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(Ga),t[25]=l,t[26]=w);let T;t[27]!==S||t[28]!==C||t[29]!==w?(T=(0,$.jsx)(Jn,{align:`start`,className:`w-auto`,children:(0,$.jsx)(Xn,{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)(rr,{children:[x,T]}),t[31]=x,t[32]=T,t[33]=E):E=t[33];let O;return t[34]!==E||t[35]!==m?(O=(0,$.jsx)(`div`,{className:m,children:E}),t[34]=E,t[35]=m,t[36]=O):O=t[36],O};function Va(e){return e.projects}function Ha(e){return e.activeProjectId}function Ua(e){return e.setActiveProject}function Wa(e,t){return(e.label||e.path).localeCompare(t.label||t.path)}function Ga(e){let t=e.path.split(`/`).filter(Boolean).pop()||e.path;return(0,$.jsx)(cr,{value:e.id,children:(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-ui`,children:t})},e.id)}function Ka(e,t){return`opencode:sidebar-group:${e}:${t}`}var qa=e=>{let t=(0,Ki.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=Ka(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(Ja),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)(Z,{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)(Jr,{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(Ya),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)(Z,{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 Ja(e){return!e}function Ya(e){return!e}var Xa=e=>e===`bash`?`shell`:e===`task`?`subagent`:e===`write`||e===`patch`?`edit`:e,Za=e=>{let t=Hn(e).map(e=>({action:Xa(e.action),resource:e.resource,effect:e.effect}));return t.length>0?t:void 0},Qa=(e,t)=>{let n=e,r=ht(e)?void 0:typeof n.system==`string`?n.system:typeof e.prompt==`string`?e.prompt:void 0,i=typeof n.color==`string`&&Ra(n.color)?n.color:void 0;return{name:t,scope:n.scope||`user`,description:e.description,model:Ia(e)||null,...r?{system:r}:{},mode:e.mode,...typeof n.steps==`number`?{steps:n.steps}:{},...e.hidden===!0?{hidden:!0}:{},...n.disabledOverride?{disabled:!0}:{},...i?{color:i}:{},permissions:Za(n.permissions??e.permission)}},$a=({onItemSelect:e})=>{let{t}=Fe(),[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}=yt(le(e=>({selectedAgentName:e.selectedAgentName,setSelectedAgent:e.setSelectedAgent,setAgentDraft:e.setAgentDraft,createAgent:e.createAgent,deleteAgent:e.deleteAgent,loadAgents:e.loadAgents}))),{data:b=[]}=Ut();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(ht(e)){Y.error(t(`settings.agents.sidebar.toast.builtInCannotDelete`));return}s(e),l(`delete`)},C=async e=>{ht(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?Y.warning(t(`settings.agents.page.toast.savedManualRestart`)):c===`delete`?Y.success(t(`settings.agents.sidebar.toast.agentDeleted`,{name:o.name})):Y.success(t(`settings.agents.sidebar.toast.agentReset`,{name:o.name})),w()):c===`delete`?Y.error(t(`settings.agents.sidebar.toast.deleteFailed`)):Y.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`?Y.error(t(r?`settings.agents.sidebar.toast.definitionNotFound`:`settings.agents.sidebar.toast.deleteFailed`)):Y.error(t(`settings.agents.sidebar.toast.resetFailed`))}d(!1)}},E=e=>{let t=e.name,n=1,r=`${t}-copy`;for(;b.some(e=>e.name===r);)n++,r=`${t}-copy-${n}`;g(Qa(e,r)),h(r)},D=e=>{a(e.name),r(e)},O=async()=>{if(!n)return;let e=i.trim().replace(/\s+/g,`-`);if(!e){Y.error(t(`settings.agents.sidebar.toast.agentNameRequired`));return}if(e===n.name){r(null);return}if(b.some(t=>t.name===e)){Y.error(t(`settings.agents.sidebar.toast.agentExists`));return}let a=n,o=await _({...Qa(n,e),scope:a.scope});if(o.ok){let r=await v(n.name,a.scope);r.ok?(o.requiresManualRestart||r.requiresManualRestart?Y.warning(t(`settings.agents.page.toast.savedManualRestart`)):Y.success(t(`settings.agents.sidebar.toast.agentRenamed`,{name:e})),h(e)):Y.error(t(`settings.agents.sidebar.toast.removeOldAfterRenameFailed`))}else Y.error(t(`settings.agents.sidebar.toast.renameFailed`));r(null)},k=e=>{switch(e){case`primary`:return(0,$.jsx)(Z,{name:`ai-agent`,className:`h-3 w-3 text-primary`});case`all`:return(0,$.jsx)(Z,{name:`ai-agent-fill`,className:`h-3 w-3 text-primary`});case`subagent`:return(0,$.jsx)(Z,{name:`robot`,className:`h-3 w-3 text-primary`});default:return null}},A=b.filter(e=>{let t=e;return!Yt(e)||!!t.scope||t.disabledOverride===!0}),j=A.filter(ht),M=A.filter(e=>!ht(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)(J,{"data-settings-item":`agents.create`,size:`icon`,variant:`ghost`,onClick:x,"aria-label":t(`settings.agents.page.title.new`),children:(0,$.jsx)(Z,{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)(Ba,{}),(0,$.jsx)($.Fragment,{children:A.length===0?(0,$.jsx)(Jr,{children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{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)(Jr,{label:t(`settings.agents.sidebar.section.builtIn`),children:j.map(t=>(0,$.jsx)(eo,{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)(qa,{label:n,count:r.length,storageKey:`agents`,variant:`settings-card`,labelPrefix:t(`settings.agents.sidebar.section.custom`),children:r.map(t=>(0,$.jsx)(eo,{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)(Jr,{label:F,children:P.map(t=>(0,$.jsx)(eo,{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)(Jr,{label:F,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})})]}),M.length===0&&(0,$.jsx)(Jr,{label:F,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})})]})}),(0,$.jsx)(an,{open:o!==null&&c!==null,onOpenChange:e=>{!e&&!u&&w()},children:(0,$.jsxs)(tn,{className:`max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:t(c===`delete`?`settings.agents.sidebar.dialog.deleteTitle`:`settings.agents.sidebar.dialog.resetTitle`)}),(0,$.jsx)(rn,{children:t(c===`delete`?`settings.agents.sidebar.dialog.deleteDescription`:`settings.agents.sidebar.dialog.resetDescription`,{name:o?.name??``})})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:w,disabled:u,children:t(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,onClick:T,disabled:u,children:t(c===`delete`?`settings.common.actions.delete`:`settings.common.actions.reset`)})]})]})}),(0,$.jsx)(an,{open:n!==null,onOpenChange:e=>!e&&r(null),children:(0,$.jsxs)(tn,{children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:t(`settings.agents.sidebar.renameDialog.title`)}),(0,$.jsx)(rn,{children:t(`settings.agents.sidebar.renameDialog.description`,{name:n?.name??``})})]}),(0,$.jsx)(gn,{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)(en,{children:[(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>r(null),children:t(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,onClick:O,children:t(`settings.common.actions.rename`)})]})]})})]})},eo=e=>{let t=(0,Ki.c)(55),{agent:n,isSelected:r,onSelect:i,onDelete:a,onReset:o,onRename:s,onDuplicate:c,getAgentModeIcon:l,isMenuOpen:u,onMenuOpenChange:d}=e,{t:f}=Fe(),p=n,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=Er(),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)(Z,{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)(Z,{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)(Z,{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)(Z,{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=za(n.name),t[12]=n.name,t[13]=w);let T;t[14]===w?T=t[15]:(T=(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate text-foreground`,children:w}),t[14]=w,t[15]=T);let E;t[16]!==n.mode||t[17]!==l?(E=l(n.mode),t[16]=n.mode,t[17]=l,t[18]=E):E=t[18];let D;t[19]!==n||t[20]!==p.disabledOverride||t[21]!==p.scope||t[22]!==f?(D=(p.scope||ht(n)||p.disabledOverride)&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground bg-muted px-1 rounded flex-shrink-0 leading-none pb-px border border-border/50`,children:p.disabledOverride?f(`settings.agents.sidebar.badge.disabled`):ht(n)?f(`settings.agents.sidebar.badge.system`):p.scope===`project`?f(`settings.common.scope.project`):f(`settings.common.scope.global`)}),t[19]=n,t[20]=p.disabledOverride,t[21]=p.scope,t[22]=f,t[23]=D):D=t[23];let O;t[24]!==D||t[25]!==T||t[26]!==E?(O=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[T,E,D]}),t[24]=D,t[25]=T,t[26]=E,t[27]=O):O=t[27];let k;t[28]===n.description?k=t[29]:(k=n.description&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/60 truncate leading-tight`,children:n.description}),t[28]=n.description,t[29]=k);let A;t[30]!==i||t[31]!==O||t[32]!==k?(A=(0,$.jsxs)(`button`,{onClick:i,className:`flex min-w-0 flex-1 flex-col gap-0 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,tabIndex:0,children:[O,k]}),t[30]=i,t[31]=O,t[32]=k,t[33]=A):A=t[33];let j;t[34]===d?j=t[35]:(j=e=>{e&&_(!1),d(e)},t[34]=d,t[35]=j);let M;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsx)(J,{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)(Z,{name:`more-2`,className:`h-3.5 w-3.5`})})}),t[36]=M):M=t[36];let N;t[37]===y?N=t[38]:(N=(0,$.jsx)(Jn,{align:`end`,className:`w-fit min-w-20`,children:y(fr)}),t[37]=y,t[38]=N);let P;t[39]!==u||t[40]!==j||t[41]!==N?(P=(0,$.jsxs)(rr,{open:u,onOpenChange:j,children:[M,N]}),t[39]=u,t[40]=j,t[41]=N,t[42]=P):P=t[42];let F;t[43]!==A||t[44]!==P?(F=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:[A,P]}),t[43]=A,t[44]=P,t[45]=F):F=t[45];let I;t[46]!==F||t[47]!==C?(I=(0,$.jsx)(Pi,{render:C,children:F}),t[46]=F,t[47]=C,t[48]=I):I=t[48];let L;t[49]===y?L=t[50]:(L=(0,$.jsx)(Ii,{className:`w-fit min-w-20`,children:y(Ri)}),t[49]=y,t[50]=L);let R;return t[51]!==g||t[52]!==I||t[53]!==L?(R=(0,$.jsxs)(ji,{open:g,onOpenChange:_,children:[I,L]}),t[51]=g,t[52]=I,t[53]=L,t[54]=R):R=t[54],R};function to(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function no(e){return typeof e==`string`&&e.length>0?e:void 0}function ro(e){let t=to(e)?e:null,n=t&&Array.isArray(t.data)?t.data:Array.isArray(e)?e:null;if(!n)throw Error(`permission saved: expected list payload`);return n.map(e=>{if(!to(e))throw Error(`permission saved: invalid rule`);let t=no(e.id),n=no(e.projectID),r=no(e.action),i=no(e.resource);if(!t||!n||!r||!i)throw Error(`permission saved: invalid rule`);return{id:t,projectID:n,action:r,resource:i}})}async function io(e,t){if(!e.trim())throw Error(`permission saved: directory required`);t?.throwIfAborted();let n=await me.getApiClient().location.get({location:{directory:e}},{signal:t});t?.throwIfAborted();let r=no(n?.project?.id);if(!r)throw Error(`permission saved: project ID required`);return r}async function ao(e){e.signal?.throwIfAborted();let t=await me.getApiClient().permission.saved.list({projectID:e.projectID??void 0},{signal:e.signal});e.signal?.throwIfAborted();let n=ro(t);if(e.projectID&&n.some(t=>t.projectID!==e.projectID))throw Error(`permission saved: project mismatch`);return n}async function oo(e){e.signal?.throwIfAborted(),await me.getApiClient().permission.saved.remove({id:e.id},{signal:e.signal})}function so(e){if(e.transport!==i()||e.generation!==o())throw Error(`Saved permission runtime changed`)}var co=e=>Ee({queryKey:[e.transport,e.generation,`saved-permission-project`,e.directory],queryFn:async({signal:t})=>{so(e);let n=await io(e.directory,t);return so(e),n},retry:!1}),lo=e=>Ee({queryKey:[e.transport,e.generation,`saved-permissions`,e.directory,e.projectID],queryFn:async({signal:t})=>{if(so(e),!e.directory||!e.projectID)throw Error(`Saved permission scope required`);let n=await ao({projectID:e.projectID,signal:t});return so(e),n},retry:!1});function uo(e){let t=(0,Ki.c)(3),n=(0,Q.useSyncExternalStore)(r,o,o),a={transport:i(),generation:n,directory:e.trim()},s=De({...co(a),enabled:!!a.directory}),c={...a,projectID:s.data??``},l=lo(c),u=!!(a.directory&&s.data)&&!s.isError,d;return t[0]!==l||t[1]!==u?(d={...l,enabled:u},t[0]=l,t[1]=u,t[2]=d):d=t[2],{project:s,list:De(d),scope:c}}async function fo(e,t,n){so(t);let r=lo(t).queryKey;if(!e.getQueryData(r)?.some(e=>e.id===n&&e.projectID===t.projectID))throw Error(`Saved permission is outside the captured scope`);await oo({id:n}),t.transport===i()&&t.generation===o()&&(await e.cancelQueries({queryKey:r,exact:!0}),t.transport===i()&&t.generation===o()&&e.setQueryData(r,e=>e?.filter(e=>e.id!==n)))}var po=()=>{let e=(0,Ki.c)(49),{t}=Fe(),n=pe(mo),r=we(),{project:i,list:a,scope:o}=uo(n),s;e[0]===r?s=e[1]:(s={mutationFn:e=>{let{scope:t,id:n}=e;return fo(r,t,n)}},e[0]=r,e[1]=s);let c=Te(s),l;e[2]!==c.variables||e[3]!==o?(l=c.variables&&JSON.stringify(c.variables.scope)===JSON.stringify(o),e[2]=c.variables,e[3]=o,e[4]=l):l=e[4];let u=l,d=i.isError||a.isError,f=!!o.directory&&(i.isPending||a.isPending)&&!d,p;e[5]===a.data?p=e[6]:(p=a.data??[],e[5]=a.data,e[6]=p);let m=p,h;e[7]!==c||e[8]!==o?(h=e=>c.mutate({scope:o,id:e}),e[7]=c,e[8]=o,e[9]=h):h=e[9];let g=Me(h),_;e[10]!==a||e[11]!==i?(_=()=>{i.isError?i.refetch():a.refetch()},e[10]=a,e[11]=i,e[12]=_):_=e[12];let v=Me(_);if(!d&&!f&&m.length===0)return null;let y;e[13]===t?y=e[14]:(y=t(`settings.permissions.saved.title`),e[13]=t,e[14]=y);let b;e[15]!==f||e[16]!==t?(b=f?t(`common.loading`):void 0,e[15]=f,e[16]=t,e[17]=b):b=e[17];let x;e[18]!==d||e[19]!==a.isFetching||e[20]!==i.isFetching||e[21]!==v||e[22]!==t?(x=d&&(0,$.jsx)(Yr,{label:(0,$.jsx)(`span`,{role:`alert`,children:t(`settings.permissions.saved.loadFailed`)}),children:(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,onClick:v,disabled:i.isFetching||a.isFetching,children:t(`settings.permissions.saved.retry`)})}),e[18]=d,e[19]=a.isFetching,e[20]=i.isFetching,e[21]=v,e[22]=t,e[23]=x):x=e[23];let S;e[24]!==c.isError||e[25]!==u||e[26]!==t?(S=u&&c.isError&&(0,$.jsx)(Yr,{label:(0,$.jsx)(`span`,{role:`alert`,children:t(`settings.permissions.saved.deleteFailed`)}),children:null}),e[24]=c.isError,e[25]=u,e[26]=t,e[27]=S):S=e[27];let C;if(e[28]!==c.isPending||e[29]!==d||e[30]!==g||e[31]!==m||e[32]!==f||e[33]!==u||e[34]!==t){let n;e[36]!==c.isPending||e[37]!==d||e[38]!==g||e[39]!==f||e[40]!==u||e[41]!==t?(n=e=>(0,$.jsx)(Yr,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:e.action}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground font-mono`,children:e.resource})]}),children:(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,disabled:d||f||!!(u&&c.isPending),onClick:()=>void g(e.id),children:t(`settings.permissions.saved.delete`)})},e.id),e[36]=c.isPending,e[37]=d,e[38]=g,e[39]=f,e[40]=u,e[41]=t,e[42]=n):n=e[42],C=m.map(n),e[28]=c.isPending,e[29]=d,e[30]=g,e[31]=m,e[32]=f,e[33]=u,e[34]=t,e[35]=C}else C=e[35];let w;return e[43]!==y||e[44]!==b||e[45]!==x||e[46]!==S||e[47]!==C?(w=(0,$.jsx)(`div`,{"data-settings-item":`permissions.saved`,className:`mb-6`,children:(0,$.jsxs)(Jr,{label:y,description:b,children:[x,S,C]})}),e[43]=y,e[44]=b,e[45]=x,e[46]=S,e[47]=C,e[48]=w):w=e[48],w};function mo(e){return e.currentDirectory}var ho=[`*`,`read`,`edit`,`glob`,`grep`,`shell`,`subagent`,`skill`,`webfetch`,`websearch`,`question`,`external_directory`,`execute`,`browser`],go={"*":`settings.agents.page.permissions.defaultLabel`,shell:`settings.agents.page.permissions.shell`,bash:`settings.agents.page.permissions.shell`,subagent:`settings.agents.page.permissions.subagent`,task:`settings.agents.page.permissions.subagent`,edit:`settings.agents.page.permissions.edit`,write:`settings.agents.page.permissions.edit`,patch:`settings.agents.page.permissions.edit`,apply_patch:`settings.agents.page.permissions.edit`,multiedit:`settings.agents.page.permissions.edit`,external_directory:`settings.agents.page.permissions.externalDirectory`,question:`settings.agents.page.permissions.question`,read:`settings.agents.page.permissions.read`,glob:`settings.agents.page.permissions.glob`,grep:`settings.agents.page.permissions.grep`,skill:`settings.agents.page.permissions.skill`,webfetch:`settings.agents.page.permissions.webfetch`,websearch:`settings.agents.page.permissions.websearch`,execute:`settings.agents.page.permissions.execute`,browser:`settings.agents.page.permissions.browser`,session_rename:`chat.tools.display.session_rename`,session_move:`chat.tools.display.session_move`},_o=e=>e===`allow`||e===`ask`||e===`deny`,vo=(e,t)=>`${e}::${t}`,yo=e=>e===`bash`?`shell`:e===`task`?`subagent`:e===`write`||e===`patch`?`edit`:e,bo=e=>{let t=new Map;for(let n of e){let e=yo(n.permission);!e||e===`invalid`||n.pattern&&_o(n.action)&&t.set(vo(e,n.pattern),{permission:e,pattern:n.pattern,action:n.action})}return Array.from(t.values())},xo=e=>{let t=new Map;for(let n of bo(e))t.set(vo(n.permission,n.pattern),n);return t},So=e=>[...e].sort((e,t)=>{let n=e.permission.localeCompare(t.permission);return n===0?e.pattern.localeCompare(t.pattern):n}),Co=(e,t)=>{let n=So(bo(e)),r=So(bo(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})},wo=e=>e.find(e=>e.permission===`*`&&e.pattern===`*`)?.action??`allow`,To=(e,t)=>bo(e).filter(e=>e.permission!==`*`||e.pattern!==`*`).filter(e=>e.pattern!==`*`||e.action!==t),Eo=e=>{if(Array.isArray(e))return bo(e.flatMap(e=>!e||typeof e!=`object`||typeof e.action!=`string`||typeof e.resource!=`string`||!_o(e.effect)?[]:[{permission:e.action,pattern:e.resource,action:e.effect}]));if(_o(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(_o(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))_o(i)&&t.push({permission:n,pattern:e,action:i})}return t},Do=()=>{let{t:e}=Fe(),{selectedAgentName:t,getAgentByName:n,createAgent:r,updateAgent:i,agentDraft:a,setAgentDraft:o}=yt(le(e=>({selectedAgentName:e.selectedAgentName,getAgentByName:e.getAgentByName,createAgent:e.createAgent,updateAgent:e.updateAgent,agentDraft:e.agentDraft,setAgentDraft:e.setAgentDraft}))),{data:s=[]}=Ut(),c=t?n(t):null,u=!!(a&&a.name===t&&!c),[d,f]=Q.useState(``),[p,m]=Q.useState(`user`),[h,g]=Q.useState(``),[_,v]=Q.useState(`subagent`),[y,b]=Q.useState(``),[x,S]=Q.useState(``),[C,w]=Q.useState(!1),[T,E]=Q.useState(`allow`),[D,O]=Q.useState([]),[k,A]=Q.useState([]),[j,M]=Q.useState(``),[N,P]=Q.useState(`*`),[F,I]=Q.useState(!1),[L,R]=Q.useState(!1),z=Q.useRef(null),B=pe(e=>e.currentDirectory??null),[V,H]=Q.useState([]),U=ft(e=>e.permission);Q.useEffect(()=>{let e=!1;return(async()=>{let t=await me.listToolIds({directory:B});if(e)return;let n=new Set([`write`,`patch`,`multiedit`]),r=t.map(e=>typeof e==`string`?e.trim():``).filter(Boolean).filter(e=>e!==`*`).filter(e=>e!==`invalid`).filter(e=>!n.has(e));H(Array.from(new Set(r)).sort((e,t)=>e.localeCompare(t)))})(),()=>{e=!0}},[B]);let W=Q.useMemo(()=>{let e=new Set;for(let t of s){let n=bo(Eo(t.permissions??t.permission));for(let t of n)t.permission&&t.permission!==`*`&&t.permission!==`invalid`&&e.add(t.permission)}for(let t of Object.values(U))for(let n of t){let t=n.permission?.trim();t&&t!==`invalid`&&e.add(t)}for(let t of V)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[s,U,V]),ee=Q.useMemo(()=>xo(D),[D]),G=Q.useMemo(()=>xo(k),[k]),te=e=>G.get(vo(e,`*`))?.action,ne=e=>k.filter(t=>t.permission===e&&t.pattern!==`*`).sort((e,t)=>e.pattern.localeCompare(t.pattern)),re=Q.useMemo(()=>{let e=new Set;for(let t of ho)e.add(t);for(let t of W)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[W]),ie=e=>{let t=e===`*`?T:te(e)??T,n=ne(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}},ae=t=>e(t===`allow`?`settings.common.permission.allow`:t===`deny`?`settings.common.permission.deny`:`settings.common.permission.ask`),oe=t=>t===`global`?e(`settings.common.scope.global`):ae(t),se=Q.useMemo(()=>{let e=new Set;for(let t of ho)e.add(t);for(let t of W)e.add(t);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[W]),ce=(e,t,n)=>{A(r=>{let i=xo(r);return i.set(vo(e,t),{permission:e,pattern:t,action:n}),Array.from(i.values())})},ue=(e,t)=>{A(n=>{let r=xo(n);return r.delete(vo(e,t)),Array.from(r.values())})},de=(e,t)=>{let n=ee.get(vo(e,t));if(n){ce(e,t,n.action);return}ue(e,t)},fe=(e,t,n)=>{ce(e,t,n)},he=e=>{E(e),A(t=>t.filter(t=>t.pattern!==`*`||t.action!==e))},ge=t=>{let n=j.trim();if(!n){Y.error(e(`settings.agents.page.toast.permissionNameRequired`));return}let r=N.trim()||`*`;if(n===`*`&&r===`*`){he(t),M(``),P(`*`);return}r===`*`&&n!==`*`&&t===T?ue(n,`*`):ce(n,r,t),M(``),P(`*`)},_e=t=>{let n=go[t];return n?e(n):t.split(/[_-]+/g).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)};Q.useEffect(()=>{M(``),P(`*`);let e=e=>{let t=bo(e),n=wo(t),r=To(t,n);return E(n),O(r),A(r),{global:n,rules:r}};if(u&&a){let t=a.name||``,n=a.scope||`user`,r=a.description||``,i=a.mode||`subagent`,o=a.model||``,s=a.system||``;f(t),m(n),g(r),v(i),b(o),S(s),w(!1);let c=e(Eo(a.permissions));z.current={draftName:t,draftScope:n,description:r,mode:i,model:o,system:s,globalPermission:c.global,permissionRules:c.rules};return}if(c&&t===c.name){let t=c,n=c.description||``,r=c.mode||`subagent`,i=Ia(c),a=t.scope===`project`?`project`:`user`;m(a),g(n),v(r),b(i),S(``),w(!1);let o=e(Eo(t.permissions??c.permission));z.current={draftName:``,draftScope:a,description:n,mode:r,model:i,system:``,globalPermission:o.global,permissionRules:o.rules}}},[a,u,c,t]),Q.useEffect(()=>{if(!t||u)return;let e=new AbortController,n=Ot();return l(`/api/config/agents/${encodeURIComponent(t)}/config`,{signal:e.signal,headers:n?{"x-opencode-directory":n}:{}}).then(async t=>{if(!t.ok||e.signal.aborted)return;let n=Fa((await t.json()).config);e.signal.aborted||n===void 0||!z.current||(S(n),z.current={...z.current,system:n})}).catch(()=>void 0),()=>e.abort()},[u,t]);let ve=Q.useMemo(()=>{let e=z.current;return e?!!(u&&d!==e.draftName||p!==e.draftScope||h!==e.description||_!==e.mode||y!==e.model||x!==e.system||T!==e.globalPermission||!Co(k,e.permissionRules)):!1},[h,d,p,T,u,_,y,k,x]),ye=(!u&&c?c.document:void 0)?.dropped?.map(e=>e.key)??[],K=!L&&ve;return t?(0,$.jsx)(Ar,{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)(po,{}),(0,$.jsxs)(`div`,{className:`mb-4 flex items-center justify-between gap-4`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground truncate`,children:u?e(`settings.agents.page.title.new`):za(t??``)}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:e(u?`settings.agents.page.subtitle.new`:`settings.agents.page.subtitle.edit`)})]}),(0,$.jsx)(J,{type:`button`,onClick:async()=>{let n=u?d.trim().replace(/\s+/g,`-`):t?.trim();if(!n){Y.error(e(`settings.agents.sidebar.toast.agentNameRequired`));return}if(u&&s.some(e=>e.name===n)){Y.error(e(`settings.agents.sidebar.toast.agentExists`));return}R(!0);try{let t={description:h,mode:_,model:y,system:x,globalPermission:T,permissionRules:k},s=z.current,c=s?{description:s.description,mode:s.mode,model:s.model,system:s.system,globalPermission:s.globalPermission,permissionRules:s.permissionRules}:null,l=Pa({isNewAgent:u,agentName:n,draftScope:p,initialScope:s?.draftScope,draftHasExplicitPermission:u&&a?.permissions!==void 0,current:t,initial:c,confirmDrop:C}),d;u?(d=await r(l),d.ok&&o(null)):d=await i(n,l),d.ok?d.requiresManualRestart?Y.warning(e(`settings.agents.page.toast.savedManualRestart`)):Y.success(e(`settings.agents.page.toast.savedNextRequest`)):Y.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`);Y.error(n)}finally{R(!1)}},disabled:!K,children:e(L?`settings.common.actions.saving`:`settings.common.actions.saveChanges`)})]}),ye.length>0?(0,$.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.agents.page.legacy.dropped`,{fields:ye.join(`, `)})}),(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-meta text-foreground`,children:[(0,$.jsx)(on,{checked:C,onChange:w,ariaLabel:e(`settings.agents.page.legacy.confirmDrop`)}),e(`settings.agents.page.legacy.confirmDrop`)]})]}):null,(0,$.jsxs)(Jr,{label:e(`settings.agents.page.section.identityRole`),children:[(0,$.jsx)(Yr,{itemId:`agents.scope`,label:e(`settings.agents.page.field.scope`),children:(0,$.jsxs)(pn,{value:p,onValueChange:e=>m(e),children:[(0,$.jsx)(un,{className:`w-fit min-w-[100px]`,children:(0,$.jsx)(hn,{placeholder:e(`settings.agents.page.field.scopePlaceholder`),children:t=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{name:t===`project`?`folder`:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(t===`project`?`settings.common.scope.project`:`settings.common.scope.global`)})]})})}),(0,$.jsxs)(dn,{align:`end`,children:[(0,$.jsx)(cn,{value:`user`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{name:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.global`)})]})}),(0,$.jsx)(cn,{value:`project`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{name:`folder`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.project`)})]})})]})]})}),u&&(0,$.jsx)(Yr,{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)(gn,{value:d,onChange:e=>f(e.target.value),placeholder:e(`settings.agents.page.field.agentNamePlaceholder`),className:`h-7 w-40 px-2`})]})}),(0,$.jsx)(Yr,{label:e(`settings.common.field.description`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(jr,{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)(Yr,{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)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{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)(J,{variant:`chip`,size:`xs`,"aria-pressed":_===`primary`,onClick:()=>v(`primary`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.primary`)}),(0,$.jsx)(J,{variant:`chip`,size:`xs`,"aria-pressed":_===`subagent`,onClick:()=>v(`subagent`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.subagent`)}),(0,$.jsx)(J,{variant:`chip`,size:`xs`,"aria-pressed":_===`all`,onClick:()=>v(`all`),className:`!font-normal shrink-0`,children:e(`settings.agents.page.mode.all`)})]})})]}),(0,$.jsx)(Jr,{label:e(`settings.agents.page.section.modelParameters`),children:(0,$.jsx)(Yr,{itemId:`agents.model`,label:e(`settings.agents.page.field.overrideModel`),children:(0,$.jsx)(Kn,{providerId:La(y)?.providerId??``,modelId:La(y)?.modelId??``,variant:La(y)?.variant??``,onChange:(e,t,n)=>{b(e&&t?n?`${e}/${t}#${n}`:`${e}/${t}`:``)},className:`oc-settings-inline-value`})})}),(0,$.jsx)(ui,{itemId:`agents.system-prompt`,label:e(`settings.agents.page.section.systemPrompt`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(jr,{embedded:!0,value:x,onChange:e=>S(e.target.value),placeholder:e(`settings.agents.page.field.systemPromptPlaceholder`),rows:8,className:`w-full font-mono typography-meta min-h-[120px] max-h-[60vh] bg-transparent resize-y`})}),(0,$.jsx)(`div`,{"data-settings-item":`agents.permissions`,children:(0,$.jsx)(Jr,{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)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>I(e=>!e),children:e(F?`settings.agents.page.permissions.hideEditor`:`settings.agents.page.permissions.advancedEditor`)})]}),children:F?(0,$.jsxs)(`div`,{className:`space-y-6 p-2`,children:[(0,$.jsx)(Yr,{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)(pn,{value:T,onValueChange:e=>he(e),children:[(0,$.jsx)(un,{className:`w-[100px]`,children:(0,$.jsx)(hn,{children:ae(T)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`allow`,children:e(`settings.common.permission.allow`)}),(0,$.jsx)(cn,{value:`ask`,children:e(`settings.common.permission.ask`)}),(0,$.jsx)(cn,{value:`deny`,children:e(`settings.common.permission.deny`)})]})]})}),(0,$.jsx)(`div`,{className:`space-y-4`,children:re.filter(e=>e!==`*`).map(t=>{let n=_e(t),{defaultAction:r,patternRulesCount:i}=ie(t),a=te(t),o=a??`global`,s=ne(t),c=[`allow`,`ask`,`deny`].filter(e=>e!==T);return(0,$.jsxs)(`div`,{className:`border-t border-[var(--surface-subtle)] pt-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between py-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:n}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 font-mono`,children:t})]}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:i>0?e(`settings.agents.page.permissions.globalSummary`,{summary:r}):r})]}),(0,$.jsxs)(`div`,{className:`space-y-1 pl-2 mt-1`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 py-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:e(`settings.agents.page.permissions.pattern`)}),(0,$.jsx)(`span`,{className:`typography-micro font-mono text-foreground bg-[var(--surface-muted)] px-1 rounded`,children:`*`}),a&&(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>de(t,`*`),className:`px-1.5 py-0 h-5`,children:(0,$.jsx)(Z,{name:`subtract`,className:`h-3.5 w-3.5 text-muted-foreground hover:text-foreground`})})]}),(0,$.jsxs)(pn,{value:o,onValueChange:e=>{if(e===`global`){ue(t,`*`);return}ce(t,`*`,e)},children:[(0,$.jsx)(un,{className:`w-[90px]`,children:(0,$.jsx)(hn,{children:oe(o)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`global`,children:e(`settings.common.scope.global`)}),c.map(e=>(0,$.jsx)(cn,{value:e,className:`capitalize`,children:ae(e)},e))]})]})]}),s.map(t=>{let n=vo(t.permission,t.pattern),r=ee.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)(J,{size:`sm`,variant:`ghost`,onClick:()=>i?ue(t.permission,t.pattern):de(t.permission,t.pattern),className:`px-1.5 py-0 h-5`,children:(0,$.jsx)(Z,{name:`subtract`,className:`h-3.5 w-3.5 text-muted-foreground hover:text-foreground`})})]}),(0,$.jsxs)(pn,{value:t.action,onValueChange:e=>fe(t.permission,t.pattern,e),children:[(0,$.jsx)(un,{className:`w-[90px]`,children:(0,$.jsx)(hn,{children:ae(t.action)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`allow`,children:e(`settings.common.permission.allow`)}),(0,$.jsx)(cn,{value:`ask`,children:e(`settings.common.permission.ask`)}),(0,$.jsx)(cn,{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)(pn,{value:j,onValueChange:M,children:[(0,$.jsx)(un,{className:`w-full sm:w-[160px]`,children:j?(0,$.jsx)(`span`,{className:`truncate`,children:_e(j)}):(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e(`settings.agents.page.permissions.permissionPlaceholder`)})}),(0,$.jsx)(dn,{children:se.map(e=>(0,$.jsx)(cn,{value:e,children:(0,$.jsx)(`div`,{className:`flex items-center justify-between gap-2 w-full`,children:(0,$.jsx)(`span`,{children:_e(e)})})},e))})]}),(0,$.jsx)(gn,{value:N,onChange:e=>P(e.target.value),placeholder:e(`settings.agents.page.permissions.patternPlaceholder`),className:`h-7 flex-1 font-mono text-xs`}),(0,$.jsxs)(`div`,{className:`flex gap-1`,children:[(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>ge(`allow`),children:e(`settings.common.permission.allow`)}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>ge(`ask`),children:e(`settings.common.permission.ask`)}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>ge(`deny`),children:e(`settings.common.permission.deny`)})]})]})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground px-3 pt-2`,children:e(`settings.agents.page.permissions.lastMatchHint`)}),Dn(Hn(k)).map((e,t)=>(0,$.jsx)(Yr,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground font-mono`,children:t+1}),(0,$.jsx)(`span`,{children:e.action}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 font-mono`,children:e.resource})]}),children:(0,$.jsx)(`span`,{className:q(`typography-micro capitalize px-1.5 py-0.5 rounded`,e.effect===`allow`?`text-[var(--status-success)] bg-[var(--status-success)]/10`:e.effect===`deny`?`text-[var(--status-error)] bg-[var(--status-error)]/10`:`text-[var(--status-warning)] bg-[var(--status-warning)]/10`),children:e.effect})},`${e.action}::${e.resource}::${t}`))]})})})]})}):(0,$.jsx)(Ar,{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)(po,{}),(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{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`)})]})})]})})},Oo=e=>{let t=(0,Ki.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 min-w-0 font-normal whitespace-normal [overflow-wrap:anywhere] 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 whitespace-normal [overflow-wrap:anywhere] 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)(rr,{children:[(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsx)(J,{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)(Z,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(Jn,{align:`end`,className:`w-fit min-w-20`,children:s.map(ko)})]}),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 ko(e){let t=e.icon;return(0,$.jsxs)(fr,{onClick:t=>{t.stopPropagation(),e.onClick()},className:q(e.destructive&&`text-destructive focus:text-destructive`),children:[t&&(0,$.jsx)(Z,{name:t,className:`h-4 w-4 mr-px`}),e.label]},e.label)}var Ao=e=>{let t=(0,Ki.c)(8),{header:n,footer:r,children:i,className:a,variant:o}=e,s=o===void 0?`sidebar`:o,c=D(),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},jo=`__managed_workspace__`,Mo=`__current_workspace__`,No=`默认助理`,Po=()=>{let e=gt.getState(),t=e.settingsDefaultModel??(e.currentModelId?void 0:e.opencodeDefaultModel);if(t){let n=Dt(t);if(n?.providerId&&n?.modelId)return{providerID:n.providerId,modelID:n.modelId,variant:n.variant??e.settingsDefaultVariant}}if(e.currentProviderId&&e.currentModelId)return{providerID:e.currentProviderId,modelID:e.currentModelId,variant:e.currentVariant};let n=e.providers;for(let e of n){let t=e.models;if(Array.isArray(t)&&t.length>0){let n=t[0];if(n?.id)return{providerID:e.id,modelID:n.id}}}return null},Fo=(e=``)=>{let t=Po();return{enabled:!0,name:e,avatarSeed:crypto.randomUUID(),defaultPrompt:``,workspacePath:null,providerID:t?.providerID??``,modelID:t?.modelID??``,variant:t?.variant??null}},Io=e=>({avatarSeed:e.avatarSeed??e.id,enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:e.providerID,modelID:e.modelID,variant:e.variant}),Lo=e=>({avatarSeed:e.avatarSeed,enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:e.providerID,modelID:e.modelID,variant:e.variant??null}),Ro=e=>e.label?.trim()||e.path.replace(/[\\/]+$/,``).split(/[\\/]/).filter(Boolean).at(-1)||e.path,zo=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))},Bo=e=>!!e&&typeof e==`object`&&!Array.isArray(e),Vo=e=>{if(!Bo(e)||!Bo(e.schedule)||!Bo(e.execution)||!Bo(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`},Ho=(e,t)=>{let n=zo(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??``})},Uo={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)]`}},Wo=e=>`${e.projectId}:${e.task.id}`,Go=e=>{let t=(0,Ki.c)(30),{assistantID:n}=e,{t:r}=Fe(),i=$e(n),a=i.isError,o=Qe(n,a),s=He(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(Yo),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(Wo(e))),p=[...i.data?l:a?f:[]].sort(Zo),m=(s.data?.failedProjectIds??[]).some(e=>Array.from(c).some(t=>t.startsWith(`${e}:`))),h=i.isPending||a&&(o.isPending||s.isPending),g=i.isError||o.isError||s.isError||m||d,_;t[2]!==o||t[3]!==a||t[4]!==s||t[5]!==i?(_=()=>{i.refetch(),a&&(o.refetch(),s.refetch())},t[2]=o,t[3]=a,t[4]=s,t[5]=i,t[6]=_):_=t[6];let v=Me(_),y=Jr,b;t[7]===r?b=t[8]:(b=r(`assistants.settings.scheduledTasks.title`),t[7]=r,t[8]=b);let x;t[9]===r?x=t[10]:(x=r(`assistants.settings.scheduledTasks.title`),t[9]=r,t[10]=x);let S=h&&p.length===0?(0,$.jsx)(Yr,{label:r(`common.loading`),children:(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin text-muted-foreground`})}):null,C;t[11]===r?C=t[12]:(C=e=>{let t=e.task.enabled?e.task.state?.lastStatus??`idle`:`paused`,n=Uo[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)(Yr,{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)(Z,{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:Ho(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)(Z,{name:n.icon,className:`size-3.5 ${t===`running`?`animate-spin`:``}`}),i]}),(0,$.jsx)(Z,{name:`arrow-right-s`,className:`size-4`})]}),(0,$.jsx)(J,{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:()=>zi(e.projectId,e.task.id),"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})})})]},Wo(e))},t[11]=r,t[12]=C);let w=p.map(C),T;t[13]!==g||t[14]!==v||t[15]!==r?(T=g?(0,$.jsx)(Yr,{label:r(`assistants.settings.scheduledTasks.loadError`),children:(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:v,children:r(`assistants.actions.retry`)})}):null,t[13]=g,t[14]=v,t[15]=r,t[16]=T):T=t[16];let E;t[17]!==g||t[18]!==h||t[19]!==r||t[20]!==p?(E=!h&&!g&&p.length===0?(0,$.jsx)(Yr,{label:r(`assistants.settings.scheduledTasks.empty`),children:(0,$.jsx)(Z,{name:`calendar`,className:`size-4 text-muted-foreground`})}):null,t[17]=g,t[18]=h,t[19]=r,t[20]=p,t[21]=E):E=t[21];let D;return t[22]!==y||t[23]!==b||t[24]!==x||t[25]!==S||t[26]!==w||t[27]!==T||t[28]!==E?(D=(0,$.jsxs)(y,{label:b,ariaLabel:x,children:[S,w,T,E]}),t[22]=y,t[23]=b,t[24]=x,t[25]=S,t[26]=w,t[27]=T,t[28]=E,t[29]=D):D=t[29],D},Ko=e=>{let t=(0,Ki.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)(Z,{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},qo=({onItemSelect:e})=>{let{t}=Fe(),n=Ge(),r=Ue(),i=n.data,a=Xt(e=>e.settingsSelectedAssistantID),o=Xt(e=>e.selectSettingsAssistant),s=Xt(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=Me(()=>{s(),e?.()}),d=Me(async e=>{if(i)try{if(await Ye(e,i.revision),e&&i.assistants.length===0){let e=Po();if(e){let t=await We({enabled:!0,name:No,defaultPrompt:``,workspacePath:null,providerID:e.providerID,modelID:e.modelID,variant:e.variant});o(t.id)}}}catch{ke.error(t(`assistants.settings.toast.toggleFailed`))}});return r.isSuccess&&!r.data.supported?null:(0,$.jsx)(Ao,{variant:`background`,header:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Jr,{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)(Zr,{itemId:`assistants.instance-enabled`,checked:i?.enabled??!1,onChange:d,label:t(`assistants.settings.instanceEnabled`),ariaLabel:t(`assistants.settings.instanceEnabled`)})}),(0,$.jsx)(sa,{open:c,onOpenChange:l})]}),children:(0,$.jsx)(Jr,{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)(J,{"data-settings-item":`assistants.create`,variant:`ghost`,size:`icon`,onClick:u,"aria-label":t(`assistants.settings.create`),children:(0,$.jsx)(Z,{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)(Z,{name:`loader-4`,className:`mr-2 size-4 animate-spin`}),t(`common.loading`)]}):i?.assistants.length?i.assistants.map(t=>{let n=ze(t.name);return(0,$.jsx)(Oo,{title:n.displayName,selected:a===t.id,onSelect:()=>{o(t.id),e?.()},icon:(0,$.jsx)(Zt,{kind:`assistant`,name:t.avatarSeed??t.id,size:32,label:n.displayName||t.name,shape:`rounded`,className:`rounded-[0.5rem]`})},t.id)}):(0,$.jsx)(`div`,{className:`oc-settings-group-row text-muted-foreground`,children:t(`assistants.settings.empty`)})})})},Jo=({onItemDeleted:e,assistantID:t,saveActionContainer:n})=>{let{t:r}=Fe(),i=Ge(),a=Ue(),o=i.data,s=Kt(e=>e.projects),c=Xt(e=>t??e.settingsSelectedAssistantID),l=Xt(e=>e.selectSettingsAssistant),u=Xt(e=>e.defaultShareAssistant),d=Xt(e=>e.setDefaultShareAssistant),f=Xt(e=>e.createRequestRevision),p=Xt(e=>e.requestCreate),[m,h]=Q.useState(Fo),[g,_]=Q.useState(!1),v=Q.useRef(0),y=o?.assistants.find(e=>e.id===c)??null,b=y?ze(y.name):null,x=ze(m.name),S=m.workspacePath??y?.managedWorkspacePath??null,C=Ft(S,{enabled:!0}).data??[];Q.useEffect(()=>{y&&h(Io(y))},[y]),Q.useEffect(()=>{t===void 0&&i.isSuccess&&c&&c!==`new`&&!y&&l(null)},[t,l,y,c,i.isSuccess]),Q.useEffect(()=>{c!==`new`||f<=v.current||(v.current=f,h(Fo(o?.assistants.length?``:No)),window.requestAnimationFrame(()=>document.getElementById(`assistant-name`)?.focus()))},[f,c,o?.assistants.length]),Q.useEffect(()=>{i.isSuccess&&a.data?.serverInstanceID&&u?.serverInstanceID===a.data.serverInstanceID&&!o?.assistants.some(e=>e.id===u.assistantID)&&d(null)},[a.data,u,d,o?.assistants,i.isSuccess]),Q.useEffect(()=>{i.isSuccess&&Be()},[o?.revision,i.isSuccess]);let w=(e,t)=>{h(n=>({...n,[e]:t}))},T=Me(()=>p()),E=Me(async()=>{if(!(t!==void 0&&!y)){if(!m.name.trim()||!m.providerID||!m.modelID){ke.error(r(`assistants.settings.validation.required`));return}_(!0);try{let e=y?await Je(y,Lo(m)):await We(m);t===void 0&&l(e.id),ke.success(r(`assistants.settings.toast.saved`))}catch{ke.error(r(`assistants.settings.toast.saveFailed`))}finally{_(!1)}}}),D=Me(async()=>{if(!(!y||!window.confirm(r(`assistants.settings.deleteConfirm`,{name:y.name})))){_(!0);try{if(await Xe(y),u?.assistantID===y.id){let e=await Ke();e.serverInstanceID&&u.serverInstanceID===e.serverInstanceID&&d(null)}t===void 0&&l(null),e?.(),ke.success(r(`assistants.settings.toast.deleted`))}catch{ke.error(r(`assistants.settings.toast.deleteFailed`))}finally{_(!1)}}}),O=Me(async(e,t)=>{if(!t){d(null),Ve();return}try{let t=await Ke();if(!t.supported||!t.serverInstanceID)return;d({serverInstanceID:t.serverInstanceID,assistantID:e}),await Ve()}catch{ke.error(r(`assistants.settings.toast.toggleFailed`))}}),k=m.workspacePath===null?null:s.find(e=>e.path===m.workspacePath)??null,A=m.workspacePath!==null&&!k?m.workspacePath:null,j=m.workspacePath===null?jo:k?k.id:Mo,M=m.workspacePath===null?(0,$.jsx)(Ko,{name:r(`assistants.settings.workspacePlaceholder`),icon:`cloud`}):k?(0,$.jsx)(Ko,{name:Ro(k),path:k.path}):(0,$.jsx)(Ko,{name:r(`assistants.settings.workspaceCurrentPath`),path:A??``,icon:`history`});return a.isSuccess&&!a.data.supported?null:i.isPending||a.isPending?(0,$.jsxs)(`div`,{className:`flex h-full items-center justify-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`mr-2 size-4 animate-spin`}),r(`common.loading`)]}):i.isError&&!o||t!==void 0&&!y?(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 text-center`,children:[(0,$.jsx)(Z,{name:`cloud-off`,className:`size-6 text-muted-foreground`}),(0,$.jsx)(`p`,{className:`typography-ui text-muted-foreground`,children:r(`assistants.state.unavailable`)}),(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:()=>void i.refetch(),children:r(`assistants.actions.retry`)})]}):(0,$.jsx)(Ar,{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:[i.isError&&o?(0,$.jsx)(`p`,{className:`mb-4 px-2 typography-meta text-[var(--status-warning)]`,children:r(`assistants.state.staleSnapshot`)}):null,c?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`mb-4 flex items-center gap-3`,children:[(0,$.jsxs)(`div`,{className:`group/avatar relative shrink-0`,children:[(0,$.jsx)(Zt,{kind:`assistant`,name:m.avatarSeed??y?.id??`new`,size:40,label:x.displayName||m.name||r(`assistants.settings.create`),shape:`rounded`,className:`rounded-[0.5rem]`}),(0,$.jsx)(J,{variant:`link`,size:`icon`,disabled:g,className:`absolute inset-0 h-full w-full p-0 text-muted-foreground opacity-0 transition-opacity hover:no-underline group-hover/avatar:opacity-100 group-focus-within/avatar:opacity-100 [@media(hover:none)]:opacity-100`,"aria-label":r(`assistants.settings.randomAvatar`),title:r(`assistants.settings.randomAvatar`),onClick:()=>w(`avatarSeed`,crypto.randomUUID()),children:(0,$.jsx)(`span`,{className:`absolute -right-1 -bottom-1 flex size-5 items-center justify-center rounded-full bg-[var(--oc-settings-avatar-action-background)] text-[var(--oc-settings-avatar-action-foreground)] shadow-sm`,children:(0,$.jsx)(Z,{name:`refresh`,className:`size-3.5`})})})]}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`h2`,{className:`truncate typography-ui-header font-semibold text-foreground`,children:y?b?.displayName:r(`assistants.settings.create`)}),m.providerID&&m.modelID?(0,$.jsx)(`p`,{className:`mt-0.5 typography-micro leading-none text-muted-foreground/70`,children:`${m.providerID}/${m.modelID}`}):null]}),y?(0,$.jsxs)(J,{variant:`ghost`,size:`sm`,onClick:D,disabled:g,className:`text-[var(--status-error)]`,children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4`}),r(`assistants.settings.delete`)]}):null]}),(0,$.jsxs)(Jr,{children:[(0,$.jsx)(Yr,{itemId:`assistants.name`,label:r(`assistants.settings.name`),children:(0,$.jsx)(gn,{id:`assistant-name`,value:m.name,onChange:e=>w(`name`,e.target.value),className:`min-w-0 flex-1`})}),(0,$.jsx)(Yr,{label:r(`assistants.settings.enabled`),children:(0,$.jsx)(on,{checked:m.enabled,onChange:e=>w(`enabled`,e),ariaLabel:r(`assistants.settings.enabled`)})}),y?(0,$.jsx)(Yr,{itemId:`assistants.default-share`,label:r(`assistants.settings.defaultShare`),children:(0,$.jsx)(on,{checked:u?.assistantID===y.id&&u.serverInstanceID===a.data?.serverInstanceID,onChange:e=>void O(y.id,e),ariaLabel:r(`assistants.settings.defaultShare`)})}):null]}),(0,$.jsx)(ui,{itemId:`assistants.prompt`,label:r(`assistants.settings.defaultPrompt`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(jr,{embedded:!0,id:`assistant-prompt`,value:m.defaultPrompt,onChange:e=>w(`defaultPrompt`,e.target.value),placeholder:r(`assistants.settings.defaultPromptPlaceholder`),rows:12,outerClassName:`min-h-[240px] max-h-[70vh]`})}),(0,$.jsx)(Jr,{label:r(`assistants.settings.runtime`),children:(0,$.jsx)(Yr,{itemId:`assistants.model`,label:r(`assistants.settings.model`),children:(0,$.jsx)(Kn,{providerId:m.providerID,modelId:m.modelID,variant:m.variant??``,providers:C,onChange:(e,t,n)=>h(r=>({...r,providerID:e,modelID:t,variant:n||null})),className:`oc-settings-inline-value`})})}),(0,$.jsx)(ui,{itemId:`assistants.workspace`,label:r(`assistants.settings.workspace`),description:r(`assistants.settings.workspaceChangeHint`),descriptionPlacement:`outside`,children:(0,$.jsxs)(pn,{value:j,onValueChange:e=>{if(e===jo){w(`workspacePath`,null);return}let t=s.find(t=>t.id===e);t&&w(`workspacePath`,t.path)},children:[(0,$.jsx)(un,{title:m.workspacePath??r(`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)(hn,{children:M})}),(0,$.jsxs)(dn,{align:`start`,className:`w-[min(32rem,calc(100vw-2rem))]`,children:[(0,$.jsx)(cn,{value:jo,children:(0,$.jsx)(Ko,{name:r(`assistants.settings.workspacePlaceholder`),icon:`cloud`})}),s.map(e=>(0,$.jsx)(cn,{value:e.id,children:(0,$.jsx)(Ko,{name:Ro(e),path:e.path})},e.id)),A?(0,$.jsx)(cn,{value:Mo,disabled:!0,children:(0,$.jsx)(Ko,{name:r(`assistants.settings.workspaceCurrentPath`),path:A,icon:`history`})}):null]})]})}),y?(0,$.jsx)(Go,{assistantID:y.id}):null,n?(0,qi.createPortal)((0,$.jsx)(J,{type:`button`,variant:`mobileGlass`,size:`mobileIcon`,className:`text-primary`,onClick:E,disabled:g,"aria-label":r(`assistants.settings.save`),"aria-busy":g,children:(0,$.jsx)(Z,{name:g?`loader-4`:`check`,className:g?`size-5 animate-spin motion-reduce:animate-none`:`size-5`})}),n):(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsxs)(J,{onClick:E,disabled:g,children:[g?(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}):null,r(`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)(Zt,{kind:`assistant`,name:`assistants-empty`,size:44,shape:`rounded`,className:`rounded-[0.5rem]`}),(0,$.jsx)(`p`,{className:`typography-ui`,children:r(`assistants.settings.empty`)}),(0,$.jsxs)(J,{"data-settings-item":`assistants.create`,size:`sm`,onClick:T,children:[(0,$.jsx)(Z,{name:`add`,className:`size-4`}),r(`assistants.settings.create`)]})]})]})})};function Yo(e){return Vo(e.task)?[{projectId:e.projectID,task:e.task}]:[]}function Xo(e){return!Vo(e.task)}function Zo(e,t){return e.task.enabled===t.task.enabled?e.task.name.localeCompare(t.task.name):e.task.enabled?-1:1}var Qo=`~/.config/opencode/AGENTS.md`,$o=async(e,t)=>{let n=await e.json().catch(()=>null);return typeof n?.error==`string`&&n.error.trim()?n.error:t},es=e=>e.length>0&&!e.endsWith(`
2
+ `)?`${e}\n`:e,ts={prompt:``,responseStyleEnabled:!1,responseStylePreset:`concise`,responseStyleCustomInstructions:``},ns=(e,t)=>e===`custom`?t:vt(e),rs=e=>e===`custom`?`custom`:at(e)?e:`concise`,is={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`},as=async(e,t)=>{let n=await l(`/api/config/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(e)});if(!n.ok)throw Error(await $o(n,t));return n.json().catch(()=>null)},os=()=>{let{t:e}=Fe(),t=Q.useSyncExternalStore(r,i,i),[n,a]=Q.useState(``),[o,s]=Q.useState(ts.responseStyleEnabled),[c,u]=Q.useState(ts.responseStylePreset),[d,f]=Q.useState(ts.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),w=Q.useRef(0),T=Q.useRef(Promise.resolve());Q.useEffect(()=>{let e=!0;return g(!1),x.current=null,S.current=null,w.current+=1,A(t).then(n=>{if(!e||t!==i())return;let r={enabled:n.responseStyleEnabled===!0,preset:rs(n.responseStylePreset),custom:typeof n.responseStyleCustomInstructions==`string`?n.responseStyleCustomInstructions:``};s(r.enabled),u(r.preset),f(r.custom),it({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,w.current+=1}},[t]),Q.useEffect(()=>{let e=new AbortController,n=!0;return m(!1),v(!1),(async()=>{try{let r=await l(`/api/behavior/agents-md`,{method:`GET`,headers:{Accept:`application/json`},signal:e.signal});if(!r.ok)throw Error(`Behavior prompt request failed (${r.status})`);let o=await r.json().catch(()=>null);if(typeof o?.content!=`string`)throw Error(`Invalid behavior prompt response`);if(!n||t!==i())return;a(o.content),b(o.content),m(!0)}catch(e){n&&e?.name!==`AbortError`&&console.warn(`Failed to load behavior prompt:`,e)}})(),()=>{n=!1,e.abort()}},[t]),Q.useEffect(()=>{if(!h)return;let n={enabled:o,preset:c,custom:d},r=S.current;if(r&&r.enabled===n.enabled&&r.preset===n.preset&&r.custom===n.custom)return;S.current=n;let a=w.current+1;w.current=a;let l=setTimeout(()=>{let r=async()=>{if(t===i())try{let r=await as({responseStyleEnabled:n.enabled,responseStylePreset:n.preset,responseStyleCustomInstructions:n.custom},e(`settings.behavior.page.toast.saveFailed`));if(t!==i())return;let o=C(r),c={enabled:o.responseStyleEnabled??n.enabled,preset:o.responseStylePreset??n.preset,custom:o.responseStyleCustomInstructions??n.custom};if(it({enabled:c.enabled,preset:c.preset,customInstructions:c.custom},t),P({responseStyleEnabled:c.enabled,responseStylePreset:c.preset,responseStyleCustomInstructions:c.custom},t),x.current=c,a!==w.current)return;S.current=c,s(c.enabled),u(c.preset),f(c.custom)}catch(n){if(t===i()&&a===w.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`);Y.error(r)}}};T.current=T.current.then(r,r)},400);return()=>clearTimeout(l)},[o,c,d,h,e,t]);let E=ns(c,d),D=n!==y;return(0,$.jsx)(Ar,{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)(Jr,{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)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{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:Qo})})]})})]})]}),children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-col gap-3`,children:[(0,$.jsx)(jr,{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)(J,{onClick:async()=>{let r=t;if(r===i()){v(!0);try{let t=es(n),o=await l(`/api/behavior/agents-md`,{method:`PUT`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({content:t})});if(!o.ok)throw Error(await $o(o,e(`settings.behavior.page.toast.saveFailed`)));if(r!==i()||(await as({globalBehaviorPrompt:t},e(`settings.behavior.page.toast.saveFailed`)),r!==i()))return;a(t),b(t),Y.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`);Y.error(n)}finally{r===i()&&v(!1)}}},disabled:_||!D||!p,size:`xs`,className:`!font-normal`,children:e(_?`settings.common.actions.saving`:`settings.common.actions.saveChanges`)})]})}),(0,$.jsxs)(Jr,{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)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.behavior.page.responseStyle.tooltip`)})]})]}),children:[(0,$.jsxs)(Yr,{label:e(`settings.behavior.page.responseStyle.enable`),children:[(0,$.jsx)(on,{checked:o,onChange:s,disabled:!h,ariaLabel:e(`settings.behavior.page.responseStyle.enableAria`)}),(0,$.jsxs)(pn,{value:c,onValueChange:e=>u(e),disabled:!h||!o,children:[(0,$.jsx)(un,{className:`w-full sm:w-56`,children:(0,$.jsx)(hn,{children:t=>t===`custom`?e(`settings.behavior.page.responseStyle.option.custom`):at(t)?e(is[t]):null})}),(0,$.jsxs)(dn,{children:[nt.map(t=>(0,$.jsx)(cn,{value:t,children:e(is[t])},t)),(0,$.jsx)(cn,{value:`custom`,children:e(`settings.behavior.page.responseStyle.option.custom`)})]})]})]}),(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(jr,{embedded:!0,value:E,onChange:e=>f(e.target.value),placeholder:e(`settings.behavior.page.responseStyle.customPlaceholder`),rows:5,disabled:!h||!o||c!==`custom`,outerClassName:`min-h-[120px]`,className:`w-full font-mono typography-meta bg-transparent`})})]})]})})},ss=e=>{let t=(0,Ki.c)(158),{onItemSelect:n}=e,{t:r}=Fe(),[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}=fa(le(ls)),x=It(),S;t[0]===x.data?S=t[1]:(S=x.data??[],t[0]=x.data,t[1]=S);let C=S,w=Ht(),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(us)),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(ua(e)){Y.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=>{ua(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,W;t[28]!==c||t[29]!==u||t[30]!==b||t[31]!==r?(W=async()=>{!c||!u||(p(!0),await b(c.name)?(u===`delete`?Y.success(r(`settings.commands.sidebar.toast.commandDeleted`,{name:c.name})):Y.success(r(`settings.commands.sidebar.toast.commandReset`,{name:c.name})),U()):u===`delete`?Y.error(r(`settings.commands.sidebar.toast.deleteFailed`)):Y.error(r(`settings.commands.sidebar.toast.resetFailed`)),p(!1))},t[28]=c,t[29]=u,t[30]=b,t[31]=r,t[32]=W):W=t[32];let ee=W,G;t[33]!==C||t[34]!==v||t[35]!==_?(G=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]=G):G=t[36];let te=G,ne;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(ne=e=>{s(e.name),a(e)},t[37]=ne):ne=t[37];let re=ne,ie;t[38]!==C||t[39]!==y||t[40]!==b||t[41]!==i||t[42]!==o||t[43]!==_||t[44]!==r?(ie=async()=>{if(!i)return;let e=o.trim().replace(/\s+/g,`-`);if(!e){Y.error(r(`settings.commands.sidebar.toast.commandNameRequired`));return}if(e===i.name){a(null);return}if(C.some(t=>t.name===e)){Y.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)?(Y.success(`Command renamed to "${e}"`),_(e)):Y.error(r(`settings.commands.sidebar.toast.removeOldAfterRenameFailed`)):Y.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]=ie):ie=t[45];let ae=ie,oe,se,ce;if(t[46]!==N||t[47]!==L||t[48]!==z||t[49]!==te||t[50]!==n||t[51]!==m||t[52]!==g||t[53]!==_||t[54]!==r){let e=N.filter(ua),i=N.filter(ds),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)(Z,{name:`add`,className:`h-4 w-4`}),t[64]=c):c=t[64];let l;t[65]!==L||t[66]!==s?(l=(0,$.jsx)(J,{"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;oe=`oc-settings-page-content h-full overflow-y-auto bg-background p-3`,t[71]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(Jr,{children:(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(Ba,{})})}),t[71]=se):se=t[71],ce=(0,$.jsx)($.Fragment,{children:N.length===0?(0,$.jsx)(Jr,{label:d,children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{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)(Jr,{label:r(`settings.commands.sidebar.section.builtIn`),children:[...e].sort(fs).map(e=>(0,$.jsx)(cs,{command:e,isSelected:g===e.name,onSelect:()=>{_(e.name),n?.()},onReset:()=>V(e),onDuplicate:()=>te(e),isMenuOpen:m===e.name,onMenuOpenChange:t=>h(t?e.name:null)},e.name))}),i.length>0?(0,$.jsx)(Jr,{label:d,children:[...i].sort(ps).map(e=>(0,$.jsx)(cs,{command:e,isSelected:g===e.name,onSelect:()=>{_(e.name),n?.()},onRename:()=>re(e),onDelete:()=>z(e),onDuplicate:()=>te(e),isMenuOpen:m===e.name,onMenuOpenChange:t=>h(t?e.name:null)},e.name))}):(0,$.jsx)(Jr,{label:d,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})})]})}),t[46]=N,t[47]=L,t[48]=z,t[49]=te,t[50]=n,t[51]=m,t[52]=g,t[53]=_,t[54]=r,t[55]=oe,t[56]=se,t[57]=ce}else oe=t[55],se=t[56],ce=t[57];let ue=c!==null&&u!==null,de;t[72]===f?de=t[73]:(de=e=>{!e&&!f&&U()},t[72]=f,t[73]=de);let fe;t[74]!==u||t[75]!==r?(fe=r(u===`delete`?`settings.commands.sidebar.dialog.deleteTitle`:`settings.commands.sidebar.dialog.resetTitle`),t[74]=u,t[75]=r,t[76]=fe):fe=t[76];let pe;t[77]===fe?pe=t[78]:(pe=(0,$.jsx)(nn,{children:fe}),t[77]=fe,t[78]=pe);let me;t[79]!==c?.name||t[80]!==u||t[81]!==r?(me=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]=me):me=t[82];let he;t[83]===me?he=t[84]:(he=(0,$.jsx)(rn,{children:me}),t[83]=me,t[84]=he);let ge;t[85]!==pe||t[86]!==he?(ge=(0,$.jsxs)($t,{children:[pe,he]}),t[85]=pe,t[86]=he,t[87]=ge):ge=t[87];let _e;t[88]===r?_e=t[89]:(_e=r(`settings.common.actions.cancel`),t[88]=r,t[89]=_e);let ve;t[90]!==f||t[91]!==_e?(ve=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:U,disabled:f,children:_e}),t[90]=f,t[91]=_e,t[92]=ve):ve=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 K;t[96]!==ee||t[97]!==f||t[98]!==ye?(K=(0,$.jsx)(J,{size:`sm`,onClick:ee,disabled:f,children:ye}),t[96]=ee,t[97]=f,t[98]=ye,t[99]=K):K=t[99];let be;t[100]!==ve||t[101]!==K?(be=(0,$.jsxs)(en,{children:[ve,K]}),t[100]=ve,t[101]=K,t[102]=be):be=t[102];let xe;t[103]!==ge||t[104]!==be?(xe=(0,$.jsxs)(tn,{className:`max-w-md`,children:[ge,be]}),t[103]=ge,t[104]=be,t[105]=xe):xe=t[105];let Se;t[106]!==ue||t[107]!==de||t[108]!==xe?(Se=(0,$.jsx)(an,{open:ue,onOpenChange:de,children:xe}),t[106]=ue,t[107]=de,t[108]=xe,t[109]=Se):Se=t[109];let Ce=i!==null,we;t[110]===Symbol.for(`react.memo_cache_sentinel`)?(we=e=>!e&&a(null),t[110]=we):we=t[110];let Te;t[111]===r?Te=t[112]:(Te=r(`settings.commands.sidebar.renameDialog.title`),t[111]=r,t[112]=Te);let Ee;t[113]===Te?Ee=t[114]:(Ee=(0,$.jsx)(nn,{children:Te}),t[113]=Te,t[114]=Ee);let De=i?.name??``,Oe;t[115]!==r||t[116]!==De?(Oe=r(`settings.commands.sidebar.renameDialog.description`,{name:De}),t[115]=r,t[116]=De,t[117]=Oe):Oe=t[117];let ke;t[118]===Oe?ke=t[119]:(ke=(0,$.jsx)(rn,{children:Oe}),t[118]=Oe,t[119]=ke);let Ae;t[120]!==Ee||t[121]!==ke?(Ae=(0,$.jsxs)($t,{children:[Ee,ke]}),t[120]=Ee,t[121]=ke,t[122]=Ae):Ae=t[122];let je;t[123]===Symbol.for(`react.memo_cache_sentinel`)?(je=e=>s(e.target.value),t[123]=je):je=t[123];let Me;t[124]===r?Me=t[125]:(Me=r(`settings.commands.sidebar.renameDialog.placeholder`),t[124]=r,t[125]=Me);let Ne;t[126]===ae?Ne=t[127]:(Ne=e=>{e.key===`Enter`&&ae()},t[126]=ae,t[127]=Ne);let Pe;t[128]!==o||t[129]!==Me||t[130]!==Ne?(Pe=(0,$.jsx)(gn,{value:o,onChange:je,placeholder:Me,className:`text-foreground placeholder:text-muted-foreground`,onKeyDown:Ne}),t[128]=o,t[129]=Me,t[130]=Ne,t[131]=Pe):Pe=t[131];let Ie;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=()=>a(null),t[132]=Ie):Ie=t[132];let Le;t[133]===r?Le=t[134]:(Le=r(`settings.common.actions.cancel`),t[133]=r,t[134]=Le);let Re;t[135]===Le?Re=t[136]:(Re=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:Ie,children:Le}),t[135]=Le,t[136]=Re);let q;t[137]===r?q=t[138]:(q=r(`settings.common.actions.rename`),t[137]=r,t[138]=q);let ze;t[139]!==ae||t[140]!==q?(ze=(0,$.jsx)(J,{size:`sm`,onClick:ae,children:q}),t[139]=ae,t[140]=q,t[141]=ze):ze=t[141];let Be;t[142]!==Re||t[143]!==ze?(Be=(0,$.jsxs)(en,{children:[Re,ze]}),t[142]=Re,t[143]=ze,t[144]=Be):Be=t[144];let Ve;t[145]!==Ae||t[146]!==Pe||t[147]!==Be?(Ve=(0,$.jsxs)(tn,{children:[Ae,Pe,Be]}),t[145]=Ae,t[146]=Pe,t[147]=Be,t[148]=Ve):Ve=t[148];let He;t[149]!==Ce||t[150]!==Ve?(He=(0,$.jsx)(an,{open:Ce,onOpenChange:we,children:Ve}),t[149]=Ce,t[150]=Ve,t[151]=He):He=t[151];let Ue;return t[152]!==oe||t[153]!==se||t[154]!==ce||t[155]!==Se||t[156]!==He?(Ue=(0,$.jsxs)(`div`,{className:oe,children:[se,ce,Se,He]}),t[152]=oe,t[153]=se,t[154]=ce,t[155]=Se,t[156]=He,t[157]=Ue):Ue=t[157],Ue},cs=e=>{let t=(0,Ki.c)(47),{command:n,isSelected:r,onSelect:i,onDelete:a,onReset:o,onRename:s,onDuplicate:c,isMenuOpen:l,onMenuOpenChange:u}=e,{t:d}=Fe(),f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=Er(),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)(Z,{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)(Z,{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)(Z,{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)(Z,{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||ua(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:ua(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)(Zn,{asChild:!0,children:(0,$.jsx)(J,{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)(Z,{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)(Jn,{align:`end`,className:`w-fit min-w-20`,children:_(fr)}),t[29]=_,t[30]=k);let A;t[31]!==l||t[32]!==D||t[33]!==k?(A=(0,$.jsxs)(rr,{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)(Pi,{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)(Ii,{className:`w-fit min-w-20`,children:_(Ri)}),t[41]=_,t[42]=N);let P;return t[43]!==m||t[44]!==M||t[45]!==N?(P=(0,$.jsxs)(ji,{open:m,onOpenChange:h,children:[M,N]}),t[43]=m,t[44]=M,t[45]=N,t[46]=P):P=t[46],P};function ls(e){return{selectedCommandName:e.selectedCommandName,setSelectedCommand:e.setSelectedCommand,setCommandDraft:e.setCommandDraft,createCommand:e.createCommand,deleteCommand:e.deleteCommand}}function us(e){return e.name}function ds(e){return!ua(e)}function fs(e,t){return e.name.localeCompare(t.name)}function ps(e,t){return e.name.localeCompare(t.name)}var ms=()=>{let{t:e}=Fe(),{selectedCommandName:t,createCommand:n,updateCommand:r,commandDraft:i,setCommandDraft:a}=fa(le(e=>({selectedCommandName:e.selectedCommandName,createCommand:e.createCommand,updateCommand:e.updateCommand,commandDraft:e.commandDraft,setCommandDraft:e.setCommandDraft}))),o=It(),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)(Ar,{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)(Jr,{label:e(`settings.commands.page.section.identity`),children:[l&&(0,$.jsxs)(Yr,{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)(gn,{value:u,onChange:e=>d(e.target.value),placeholder:e(`settings.commands.page.field.commandNamePlaceholder`),className:`h-7 w-40 px-2`})]}),(0,$.jsxs)(pn,{value:f,onValueChange:e=>p(e),children:[(0,$.jsx)(un,{className:`w-fit min-w-[100px]`,children:(0,$.jsx)(hn,{placeholder:e(`settings.agents.page.field.scopePlaceholder`)})}),(0,$.jsxs)(dn,{align:`end`,children:[(0,$.jsx)(cn,{value:`user`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{name:`user-3`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.global`)})]})}),(0,$.jsx)(cn,{value:`project`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Z,{name:`folder`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{children:e(`settings.common.scope.project`)})]})})]})]})]}),(0,$.jsx)(Yr,{label:e(`settings.common.field.description`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(jr,{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)(Jr,{label:e(`settings.commands.page.section.executionContext`),children:[(0,$.jsx)(Yr,{itemId:`commands.agent`,label:e(`settings.commands.page.field.overrideAgent`),children:(0,$.jsx)(ur,{agentName:g,onChange:e=>_(e),className:`oc-settings-inline-value`})}),(0,$.jsx)(Yr,{itemId:`commands.model`,label:e(`settings.agents.page.field.overrideModel`),children:(0,$.jsx)(Kn,{providerId:Dt(v)?.providerId??``,modelId:Dt(v)?.modelId??``,onChange:(e,t)=>{y(e&&t?`${e}/${t}`:``)},className:`oc-settings-inline-value`})})]}),(0,$.jsx)(ui,{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)(jr,{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)(J,{onClick:async()=>{let i=l?u.trim().replace(/\s+/g,`-`):t?.trim();if(!i){Y.error(e(`settings.commands.sidebar.toast.commandNameRequired`));return}if(!b.trim()){Y.error(e(`settings.commands.page.toast.templateRequired`));return}if(l&&s.some(e=>e.name===i)){Y.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?Y.success(e(l?`settings.commands.page.toast.created`:`settings.commands.page.toast.updated`)):Y.error(e(l?`settings.commands.page.toast.createFailed`:`settings.commands.page.toast.updateFailed`))}catch(t){console.error(`Error saving command:`,t),Y.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)(Z,{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`)})]})})},hs=[],gs=e=>{switch(e){case`connected`:return`success`;case`failed`:return`error`;case`needs_auth`:case`needs_client_registration`:return`warning`;default:return`idle`}},_s=e=>{let t=(0,Ki.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},vs=e=>{let t=(0,Ki.c)(115),{onItemSelect:n}=e,{t:r}=Fe(),{selectedMcpName:a,setSelectedMcp:o,setMcpDraft:s,deleteMcp:c}=va(le(ys)),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=Ai(),t[0]=l):l=t[0];let u=l,d=Ti(u),f=Di(u),p=d.data??hs,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(bs),t[3]=p,t[4]=E);let D=E,k;t[5]===p?k=t[6]:(k=p.filter(xs),t[5]=p,t[6]=k);let A=k,j;t[7]===w?j=t[8]:(j=()=>{if(w)return;T(!0);let e=new Promise(Ss),t=i();Promise.all([Oi(O,u,t),e]).catch(Cs).finally(()=>{T(!1)})},t[7]=w,t[8]=j);let M=j,N;t[9]!==p||t[10]!==n||t[11]!==s||t[12]!==o?(N=()=>{let e=`new-mcp-server`,t=1;for(;p.some(t=>t.name===e);)e=`new-mcp-server-${t}`,t++;s({name:e,scope:`user`,type:`local`,command:[],url:``,environment:[],headers:[],oauthEnabled:!0,oauthClientId:``,oauthClientSecret:``,oauthScope:``,oauthRedirectUri:``,timeout:``,enabled:!0}),o(e),n?.()},t[9]=p,t[10]=n,t[11]=s,t[12]=o,t[13]=N):N=t[13];let P=N,F;t[14]!==c||t[15]!==g||t[16]!==r?(F=async()=>{if(!g)return;y(!0);let e=await c(g.name,{directory:Ai(),transportIdentity:i()});e.ok?e.reloadFailed?Y.warning(e.message||`MCP server "${g.name}" deleted, but OpenCode reload failed`,{description:e.warning||r(`settings.mcp.sidebar.toast.refreshListIfStale`)}):Y.success(e.message||r(`settings.mcp.sidebar.toast.serverDeleted`,{name:g.name})):Y.error(r(`settings.mcp.sidebar.toast.deleteFailed`)),_(null),y(!1)},t[14]=c,t[15]=g,t[16]=r,t[17]=F):F=t[17];let I=F,L;t[18]===r?L=t[19]:(L=(e,t)=>(0,$.jsxs)(t,{onClick:t=>{t.stopPropagation(),_(e)},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(Z,{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`,W;t[28]===U?W=t[29]:(W=q(`h-4 w-4`,U),t[28]=U,t[29]=W);let ee;t[30]===W?ee=t[31]:(ee=(0,$.jsx)(Z,{name:`refresh`,className:W}),t[30]=W,t[31]=ee);let G;t[32]!==M||t[33]!==w||t[34]!==V||t[35]!==H||t[36]!==ee?(G=(0,$.jsx)(J,{type:`button`,size:`icon`,variant:`ghost`,disabled:w,onClick:M,"aria-label":V,title:H,children:ee}),t[32]=M,t[33]=w,t[34]=V,t[35]=H,t[36]=ee,t[37]=G):G=t[37];let te;t[38]===r?te=t[39]:(te=r(`settings.mcp.sidebar.actions.addServerTitle`),t[38]=r,t[39]=te);let ne;t[40]===r?ne=t[41]:(ne=r(`settings.mcp.sidebar.actions.addServerTitle`),t[40]=r,t[41]=ne);let re;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,$.jsx)(Z,{name:`add`,className:`h-4 w-4`}),t[42]=re):re=t[42];let ie;t[43]!==P||t[44]!==te||t[45]!==ne?(ie=(0,$.jsx)(J,{"data-settings-item":`mcp.create`,size:`icon`,variant:`ghost`,onClick:P,"aria-label":te,title:ne,children:re}),t[43]=P,t[44]=te,t[45]=ne,t[46]=ie):ie=t[46];let ae;t[47]!==G||t[48]!==ie?(ae=(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[G,ie]}),t[47]=G,t[48]=ie,t[49]=ae):ae=t[49];let oe;t[50]!==B||t[51]!==ae?(oe=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[B,ae]}),t[50]=B,t[51]=ae,t[52]=oe):oe=t[52];let se=oe,ce;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(Jr,{children:(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(Ba,{})})}),t[53]=ce):ce=t[53];let ue;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]!==A||t[72]!==se?(ue=(0,$.jsx)($.Fragment,{children:d.isError&&!d.data?(0,$.jsx)(Jr,{label:se,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)(Jr,{label:se,children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{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)(Jr,{label:r(`settings.mcp.sidebar.group.projectServers`),children:D.map(e=>{let t=gs((h[e.name]??(f.isError&&!f.data?{status:`failed`,error:f.error.message}:void 0))?.status),i=a===e.name,c=Er();return(0,$.jsxs)(ji,{open:S===e.name,onOpenChange:t=>C(t?e.name:null),children:[(0,$.jsxs)(Pi,{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)(_s,{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)(Z,{name:`server`,className:`h-3 w-3 text-muted-foreground/60 flex-shrink-0`}):(0,$.jsx)(Z,{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)(rr,{open:b===e.name,onOpenChange:t=>{t&&C(null),x(t?e.name:null)},children:[(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsx)(J,{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)(Z,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(Jn,{align:`end`,className:`w-fit min-w-20`,children:R(e,fr)})]})]}),(0,$.jsx)(Ii,{className:`w-fit min-w-20`,children:R(e,Ri)})]},e.name)})}),A.length>0&&(0,$.jsx)(Jr,{label:se,children:A.map(e=>{let t=gs((h[e.name]??(f.isError&&!f.data?{status:`failed`,error:f.error.message}:void 0))?.status),i=a===e.name,c=Er();return(0,$.jsxs)(ji,{open:S===e.name,onOpenChange:t=>C(t?e.name:null),children:[(0,$.jsxs)(Pi,{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)(_s,{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)(Z,{name:`server`,className:`h-3 w-3 text-muted-foreground/60 flex-shrink-0`}):(0,$.jsx)(Z,{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)(rr,{open:b===e.name,onOpenChange:t=>{t&&C(null),x(t?e.name:null)},children:[(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsx)(J,{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)(Z,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(Jn,{align:`end`,className:`w-fit min-w-20`,children:R(e,fr)})]})]}),(0,$.jsx)(Ii,{className:`w-fit min-w-20`,children:R(e,Ri)})]},e.name)})}),A.length===0&&(0,$.jsx)(Jr,{label:se,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]=A,t[72]=se,t[73]=ue):ue=t[73];let de=g!==null,fe;t[74]===v?fe=t[75]:(fe=e=>{!e&&!v&&_(null)},t[74]=v,t[75]=fe);let pe;t[76]===r?pe=t[77]:(pe=r(`settings.mcp.sidebar.deleteDialog.title`),t[76]=r,t[77]=pe);let me;t[78]===pe?me=t[79]:(me=(0,$.jsx)(nn,{children:pe}),t[78]=pe,t[79]=me);let he=g?.name||``,ge;t[80]!==r||t[81]!==he?(ge=r(`settings.mcp.sidebar.deleteDialog.descriptionPrefix`,{name:he}),t[80]=r,t[81]=he,t[82]=ge):ge=t[82];let _e;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(`code`,{className:`text-foreground`,children:`opencode.json`}),t[83]=_e):_e=t[83];let ve;t[84]===ge?ve=t[85]:(ve=(0,$.jsxs)(rn,{children:[ge,` `,_e,`.`]}),t[84]=ge,t[85]=ve);let ye;t[86]!==me||t[87]!==ve?(ye=(0,$.jsxs)($t,{children:[me,ve]}),t[86]=me,t[87]=ve,t[88]=ye):ye=t[88];let K;t[89]===Symbol.for(`react.memo_cache_sentinel`)?(K=()=>_(null),t[89]=K):K=t[89];let be;t[90]===r?be=t[91]:(be=r(`settings.common.actions.cancel`),t[90]=r,t[91]=be);let xe;t[92]!==v||t[93]!==be?(xe=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:K,disabled:v,children:be}),t[92]=v,t[93]=be,t[94]=xe):xe=t[94];let Se;t[95]!==v||t[96]!==r?(Se=r(v?`settings.mcp.sidebar.actions.deleting`:`settings.common.actions.delete`),t[95]=v,t[96]=r,t[97]=Se):Se=t[97];let Ce;t[98]!==I||t[99]!==v||t[100]!==Se?(Ce=(0,$.jsx)(J,{size:`sm`,onClick:I,disabled:v,children:Se}),t[98]=I,t[99]=v,t[100]=Se,t[101]=Ce):Ce=t[101];let we;t[102]!==xe||t[103]!==Ce?(we=(0,$.jsxs)(en,{children:[xe,Ce]}),t[102]=xe,t[103]=Ce,t[104]=we):we=t[104];let Te;t[105]!==ye||t[106]!==we?(Te=(0,$.jsxs)(tn,{className:`max-w-md`,children:[ye,we]}),t[105]=ye,t[106]=we,t[107]=Te):Te=t[107];let Ee;t[108]!==de||t[109]!==fe||t[110]!==Te?(Ee=(0,$.jsx)(an,{open:de,onOpenChange:fe,children:Te}),t[108]=de,t[109]=fe,t[110]=Te,t[111]=Ee):Ee=t[111];let De;return t[112]!==ue||t[113]!==Ee?(De=(0,$.jsxs)(`div`,{className:`oc-settings-page-content h-full overflow-y-auto bg-background p-3`,children:[ce,ue,Ee]}),t[112]=ue,t[113]=Ee,t[114]=De):De=t[114],De};function ys(e){return{selectedMcpName:e.selectedMcpName,setSelectedMcp:e.setSelectedMcp,setMcpDraft:e.setMcpDraft,deleteMcp:e.deleteMcp}}function bs(e){return e.scope===`project`}function xs(e){return e.scope!==`project`}function Ss(e){return setTimeout(e,500)}function Cs(e){Y.error(e instanceof Error?e.message:String(e))}function ws(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ts(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function Es(e,t){return t===void 0?{ok:!1,error:e}:{ok:!1,error:e,parsed:t}}function Ds(e,t,n){return{ok:!0,name:e,type:t,command:Os(n),url:typeof n.url==`string`?n.url.trim():``,environment:ks(n,`env`,`environment`),headers:ks(n,`headers`),oauthEnabled:As(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:js(n),enabled:Ms(n)}}function Os(e){let t=e.command,n=e.args;if(Ts(t)&&Ts(n))return[...t,...n];if(Ts(t))return t;if(typeof t==`string`&&t.trim()){let e=t.trim().split(/\s+/);return Ts(n)?[...e,...n]:e}return Ts(n)?n:[]}function ks(e,...t){for(let n of t){let t=e[n];if(!ws(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 As(e){if(e.oauth===!1||e.oauth===null||e.oauth===void 0||!ws(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 js(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 Ms(e){return`disabled`in e&&e.disabled===!0?!1:`enabled`in e?!!e.enabled:!0}function Ns(e){let t=e.mcpServers;if(ws(t)){let e=Object.keys(t);if(e.length===1){let n=e[0],r=t[n];if(ws(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`&&ws(n)});if(n.length===1){let t=n[0],r=e[t];if(Ps(r))return{name:t,entry:r}}return null}function Ps(e){return e.type===`local`||e.type===`remote`||Array.isArray(e.command)||typeof e.url==`string`||Array.isArray(e.args)}function Fs(e,t){let n;try{let t=e.trim();if(!t)return Es(`No JSON content provided`);n=JSON.parse(t)}catch(e){return Es(e instanceof Error?`Invalid JSON: ${e.message}`:`Invalid JSON`)}if(!ws(n))return Es(`Expected a JSON object, not an array or primitive`);let r=n,i=r.mcpServers;if(ws(i)){let e=Object.keys(i);if(e.length===0)return Es(`mcpServers object is empty`,n);if(e.length>1)return Es(`Paste one server at a time. Found `+e.length+` servers in mcpServers`,n);let t=e[0],r=i[t];return ws(r)?Ds(t,Is(r),r):Es(`Server entry is not a valid object`,n)}let a=r.mcp;if(ws(a)){let e=Object.keys(a);if(e.length===0)return Es(`mcp object is empty`,n);if(e.length>1)return Es(`Paste one server at a time. Found `+e.length+` servers in mcp`,n);let t=e[0],r=a[t];return ws(r)?Ds(t,Is(r),r):Es(`Server entry in mcp is not a valid object`,n)}let o=Ns(r);if(o)return Ds(o.name,Is(o.entry),o.entry);if(Ps(r)){let e=Is(r);return Ds(typeof r.name==`string`&&r.name.trim()?r.name.trim():t?.fallbackName,e,r)}return Es(`No recognizable MCP server configuration found in JSON`,n)}function Is(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 Rs(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 zs(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:di(e.searchParams),stateKey:Br(e.searchParams)}}catch{}return{code:t,context:null,stateKey:null}}var Bs=({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(`
5
5
  `).filter(e=>e.trim().length>0))};return(0,$.jsxs)(`div`,{className:`space-y-2`,"data-bwignore":`true`,"data-1p-ignore":`true`,"data-lpignore":`true`,children:[(0,$.jsx)(`div`,{className:`flex items-center justify-end gap-2`,children:(0,$.jsxs)(J,{variant:`ghost`,size:`xs`,className:`!font-normal gap-1 text-muted-foreground`,onClick:async()=>{try{let e=(await navigator.clipboard.readText()).trim(),n=e.includes(`
@@ -18,9 +18,9 @@ postgresql://user:pass@host/db`,rows:Math.max(4,e.length+1),className:`font-mono
18
18
  "args": ["-y", "@modelcontextprotocol/server-postgres"]
19
19
  }
20
20
  }
21
- }`,rows:8,className:`font-mono typography-meta resize-y`,spellCheck:!1,"data-bwignore":`true`,"data-1p-ignore":`true`}),We&&(0,$.jsx)(`p`,{className:`typography-micro text-[var(--status-error)]`,children:We}),(0,$.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:(0,$.jsxs)(J,{variant:`outline`,size:`xs`,className:`!font-normal gap-1`,onClick:Ze,type:`button`,children:[(0,$.jsx)(Z,{name:`clipboard`,className:`h-3.5 w-3.5`}),e(`settings.mcp.page.importDialog.pasteFromClipboard`)]})})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{variant:`outline`,onClick:()=>{Ve(!1),Ue(``),Ge(null)},className:`text-foreground`,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{onClick:Qe,disabled:!He.trim(),size:`sm`,children:e(`settings.common.actions.import`)})]})]})}),(0,$.jsx)(an,{open:pe,onOpenChange:e=>{!e&&!he&&me(!1)},children:(0,$.jsxs)(tn,{className:`max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:e(`settings.mcp.page.deleteDialog.title`,{name:n??``})}),(0,$.jsxs)(rn,{children:[e(`settings.mcp.page.deleteDialog.descriptionPrefix`),` `,(0,$.jsx)(`code`,{className:`text-foreground`,children:`opencode.json`}),`.`,` `,e(`settings.mcp.page.deleteDialog.descriptionSuffix`)]})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{variant:`outline`,onClick:()=>me(!1),disabled:he,className:`text-foreground`,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{variant:`destructive`,size:`sm`,onClick:tt,disabled:he,children:e(he?`settings.mcp.page.actions.deleting`:`settings.common.actions.delete`)})]})]})})]})},ec=Q.memo(function(e){let t=(0,Ki.c)(24),{checked:n,onChange:r,disabled:i,ariaLabel:a,className:o,iconClassName:s}=e,c=i!==void 0&&i,l;t[0]!==n||t[1]!==c||t[2]!==r?(l=e=>{e.preventDefault(),e.stopPropagation(),!c&&!n&&r()},t[0]=n,t[1]=c,t[2]=r,t[3]=l):l=t[3];let u=l,d;t[4]!==n||t[5]!==c||t[6]!==r?(d=e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),!c&&!n&&r())},t[4]=n,t[5]=c,t[6]=r,t[7]=d):d=t[7];let f=d,p=n?`bg-[color-mix(in_srgb,var(--primary-base)_80%,transparent)] shadow-none hover:bg-[var(--primary-base)]`:`bg-[var(--surface-muted)] shadow-[inset_0_0_0_1px_var(--interactive-border)] hover:bg-[var(--interactive-hover)]`,m;t[8]!==o||t[9]!==p?(m=q(`group/radio relative flex h-[14px] w-[14px] min-h-[14px] min-w-[14px] shrink-0 self-center items-center justify-center rounded-full outline-none`,`transition-[background-color,box-shadow] duration-200 ease-out`,p,`focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] focus-visible:ring-offset-1 focus-visible:ring-offset-background`,`disabled:cursor-not-allowed disabled:opacity-50`,o),t[8]=o,t[9]=p,t[10]=m):m=t[10];let h=!n&&`opacity-0`,g;t[11]!==s||t[12]!==h?(g=q(`block h-[5px] w-[5px] rounded-full bg-white`,h,s),t[11]=s,t[12]=h,t[13]=g):g=t[13];let _;t[14]===g?_=t[15]:(_=(0,$.jsx)(`span`,{"aria-hidden":!0,className:g}),t[14]=g,t[15]=_);let v;return t[16]!==a||t[17]!==n||t[18]!==c||t[19]!==u||t[20]!==f||t[21]!==m||t[22]!==_?(v=(0,$.jsx)(`button`,{type:`button`,role:`radio`,onClick:u,onKeyDown:f,disabled:c,"aria-checked":n,"aria-label":a,className:m,children:_}),t[16]=a,t[17]=n,t[18]=c,t[19]=u,t[20]=f,t[21]=m,t[22]=_,t[23]=v):v=t[23],v}),tc=e=>{let t=e?.trim();return t?{location:{directory:t}}:void 0},nc=()=>{let e=me.getSdkClient().plugin;if(!e?.list||!e.check||!e.update)throw Error(`OpenCode plugin status is not available`);return e},rc=e=>{switch(e.type){case`package`:return{kind:`package`,target:e.target,version:e.version??null,outdated:e.outdated===!0,updating:e.updating===!0};case`local`:return{kind:`local`,path:e.path};case`builtin`:case`sdk`:return{kind:`builtin`};default:throw Error(`Unexpected plugin source: ${JSON.stringify(e)}`)}},ic=e=>{if(e.status===`active`)return{kind:`active`};if(e.status===`failed`)return{kind:`failed`,error:e.error,ref:e.ref??null};throw Error(`Unexpected plugin state: ${JSON.stringify(e)}`)},ac=e=>({source:rc(e.source),state:ic(e.state)}),oc=e=>{if(!Array.isArray(e))throw Error(`OpenCode plugin status payload is invalid`);return e.map(e=>ac(e))};async function sc(e,t){return oc((await nc().list(tc(e),t?{signal:t}:void 0))?.data)}async function cc(e,t){return oc((await nc().check(tc(e),t?{signal:t}:void 0))?.data)}async function lc(e,t,n){let r=t.trim();if(!r)throw Error(`plugin.update requires a target`);await nc().update({...tc(e),targets:[r]},n?{signal:n}:void 0)}function uc(e){return e instanceof Error&&e.message.trim()?e.message:typeof e==`string`&&e.trim()?e:`plugin operation failed`}var dc=1500,fc=e=>e?.trim()||null,pc=(e,t=i())=>w.plugins.list(e,t),mc=(e,t,n=!1,r=i())=>w.plugins.registry(e,t,n,r),hc=(e,t=i())=>w.plugins.runtime(e,t),gc=0,_c=()=>(gc+=1,gc),vc=()=>{gc+=1},yc=(e,t,n)=>e.getQueryData(hc(t,n)),bc=(e=Lt(),t=i())=>{let n=fc(e);return{queryKey:pc(n,t),queryFn:async({signal:e})=>{let t=await l(Mc(`/api/config/plugins`,n),{headers:Fc(n),signal:e});if(!t.ok)throw Error(`Failed to load plugins`);let r=await t.json();return{entries:r.entries??[],files:r.files??[]}},staleTime:5e3,retry:2}},xc=(e,t,n=!1,r=i())=>{let a=fc(e),o=M(t);return{queryKey:mc(a,o,n,r),queryFn:async({signal:e})=>{let t={};for(let r of Pc(o)){let i=await l(Nc(r,n,a),{headers:Fc(a),signal:e});if(!i.ok)throw Error(`Failed to load plugin registry info`);let o=await i.json();for(let e of o.results??[])t[e.spec]=e}return t},staleTime:n?0:3e5,retry:2}},Sc=(e=Lt(),t=i())=>{let n=fc(e);return{queryKey:hc(n,t),queryFn:async({signal:e})=>{let r=_c(),i=await sc(n,e);if(r!==gc){let e=yc(O,n,t);if(e)return e;throw Error(`Stale plugin runtime read`)}return i},staleTime:5e3,retry:!1}},Cc=(e,t,n=i())=>JSON.stringify([n,fc(e)??``,t]),wc=e=>{let t=(0,Ki.c)(7),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let r=n,i=Tt(Ic),a;t[2]===i?a=t[3]:(a=bc(fc(i)??fc(me.getDirectory())),t[2]=i,t[3]=a);let o;return t[4]!==r.enabled||t[5]!==a?(o={...a,enabled:r.enabled},t[4]=r.enabled,t[5]=a,t[6]=o):o=t[6],De(o)},Tc=(e,t)=>{let n=(0,Ki.c)(6),r=t!==void 0&&t,i=Tt(Lc),a;n[0]!==i||n[1]!==r||n[2]!==e?(a=xc(fc(i)??fc(me.getDirectory()),e,r),n[0]=i,n[1]=r,n[2]=e,n[3]=a):a=n[3];let o;return n[4]===a?o=n[5]:(o={...a},n[4]=a,n[5]=o),De(o)},Ec=()=>{let e=(0,Ki.c)(2),t=Tt(Rc),n;return e[0]===t?n=e[1]:(n=fc(t)??fc(me.getDirectory()),e[0]=t,e[1]=n),n},Dc=e=>{let t=(0,Ki.c)(7),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let r=n,i=Ec(),a;t[2]===i?a=t[3]:(a=Sc(i),t[2]=i,t[3]=a);let o;return t[4]!==r.enabled||t[5]!==a?(o={...a,enabled:r.enabled},t[4]=r.enabled,t[5]=a,t[6]=o):o=t[6],De(o)},Oc=async(e,t,n)=>{let r=fc(t);return i()===n?e.fetchQuery({...bc(r,n),staleTime:0}):e.getQueryData(pc(r,n))??{entries:[],files:[]}},kc=async(e=O,t,n)=>{let r=fc(t),a=i(),o=await xc(r,n,!0,a).queryFn({signal:new AbortController().signal});return e.setQueryData(mc(r,n,!1,a),o),o},Ac=async(e,t,n)=>{let r=fc(t);if(i()!==n)return yc(e,r,n);let a=_c(),o=await sc(r);return a!==gc||i()!==n?yc(e,r,n):(e.setQueryData(hc(r,n),o),o)},jc=async(e=Lt(),t=O)=>{let n=fc(e),r=i(),a=await cc(n);return vc(),i()===r&&t.setQueryData(hc(n,r),a),a};function Mc(e,t){return`${e}${t?`?directory=${encodeURIComponent(t)}`:``}`}function Nc(e,t,n){let r=new URLSearchParams;t&&r.set(`refresh`,`true`),n&&r.set(`directory`,n);let i=r.toString();return`/api/config/plugins/registry?${`specs=${e.map(encodeURIComponent).join(`,`)}`}${i?`&${i}`:``}`}function Pc(e){let t=[],n=[],r=0;for(let i of e){let e=encodeURIComponent(i),a=n.length===0?e.length:r+1+e.length;if(n.length>0&&a>dc){t.push(n),n=[i],r=e.length;continue}n.push(i),r=a}return n.length>0&&t.push(n),t}function Fc(e){return e?{"x-opencode-directory":e}:void 0}function Ic(e){return e.getActiveProject?.()?.path??null}function Lc(e){return e.getActiveProject?.()?.path??null}function Rc(e){return e.getActiveProject?.()?.path??null}var zc=()=>{try{let e=Tt.getState().getActiveProject?.();if(e?.path?.trim())return e.path.trim();let t=me.getDirectory();if(t?.trim())return t.trim()}catch(e){console.warn(`[PluginsStore] Error resolving config directory:`,e)}return null},Bc=5e3,Vc=`__default__`,Hc=new Map,Uc=new Map,Wc=1500,Gc=e=>e?.trim()||Vc,Kc=e=>{Hc.delete(Gc(e))},qc=oe()(ce(se((e,t)=>({entries:[],files:[],selectedId:null,isLoading:!1,registryInfo:{},isLoadingRegistry:!1,draft:null,packageUpdates:{},setSelected:t=>e({selectedId:t}),setDraft:t=>e({draft:t}),loadPlugins:async n=>{let r=zc(),a=i(),s=o(),c=()=>a===i()&&s===o()&&r===zc(),l=Gc(r),u=Date.now(),d=Hc.get(l)??0,f=t().entries.length>0||t().files.length>0;if(!n?.force&&f&&u-d<Bc)return!0;let p=Uc.get(l);if(!n?.force&&p)return p;let m=(async()=>{e({isLoading:!0});try{let i=n?.force?await Oc(O,r,a):await O.fetchQuery(bc(r,a));return c()?(e({entries:i.entries??[],files:i.files??[],isLoading:!1}),Hc.set(l,Date.now()),n?.force||t().loadRegistryInfo(),!0):!1}catch(t){return console.error(`[PluginsStore] Failed to load plugins:`,t),c()&&e({isLoading:!1}),!1}})();Uc.set(l,m);try{return await m}finally{Uc.delete(l)}},loadRegistryInfo:async n=>{let r=Xc(n?.specs??t().entries.map(e=>e.spec));if(r.length===0){e({isLoadingRegistry:!1});return}e({isLoadingRegistry:!0});try{let i=zc(),a={...t().registryInfo};for(let e of Zc(r)){let t=await l(Yc(e,n?.force===!0,i),{headers:Qc(i)});if(!t.ok)throw Error(`Failed to load plugin registry info`);let r=await nl(t);for(let e of r.results??[])a[e.spec]=e}e({registryInfo:a,isLoadingRegistry:!1})}catch(t){console.error(`[PluginsStore] Failed to load plugin registry info:`,t),e({isLoadingRegistry:!1})}},updateToLatest:async e=>{let n=t().entries.find(t=>t.id===e);if(!n)return{ok:!1};let r=t().registryInfo[n.spec];return!r||r.kind!==`npm-ok`||!r.hasUpdate||!r.latestVersion?{ok:!1}:await t().updateEntry(e,{spec:`${r.name}@${r.latestVersion}`})},updatePackage:async n=>{let r=zc(),a=i(),o=Cc(r,n,a);if(t().packageUpdates[o]?.kind===`running`)return!1;e({packageUpdates:{...t().packageUpdates,[o]:{kind:`running`}}});try{if(await lc(r,n),i()===a)try{await Ac(O,r,a)}catch(e){console.error(`[PluginsStore] Plugin updated, but status could not be reread:`,e)}let s={...t().packageUpdates};return delete s[o],e({packageUpdates:s}),!0}catch(n){return console.error(`[PluginsStore] Failed to update plugin package:`,n),e({packageUpdates:{...t().packageUpdates,[o]:{kind:`failed`,error:uc(n)}}}),!1}},createEntry:async e=>{let n=await tl(async t=>await l(Jc(`/api/config/plugins/entry`,t),{method:`POST`,headers:$c(t),body:JSON.stringify(el(e))}));return n.ok&&t().loadRegistryInfo({specs:[e.spec],force:!0}),n},updateEntry:async(e,n)=>{let r=t().entries.find(t=>t.id===e)?.spec,i=n.spec??r,a=await tl(async t=>await l(Jc(`/api/config/plugins/entry/${encodeURIComponent(e)}`,t),{method:`PATCH`,headers:$c(t),body:JSON.stringify(el(n))}));return a.ok&&i&&t().loadRegistryInfo({specs:[i],force:!0}),a},deleteEntry:async n=>{let r=t().entries.find(e=>e.id===n),i=await tl(async e=>await l(Jc(`/api/config/plugins/entry/${encodeURIComponent(n)}`,e),{method:`DELETE`,headers:Qc(e)}));if(i.ok&&t().selectedId===n&&e({selectedId:null}),i.ok&&r){let n={...t().registryInfo};delete n[r.spec],e({registryInfo:n})}return i},readFile:async e=>{try{let t=zc(),n=await l(Jc(`/api/config/plugins/file/${encodeURIComponent(e)}`,t),{headers:Qc(t)});if(!n.ok)throw Error(`Failed to read plugin file`);return await nl(n)}catch(e){return console.error(`[PluginsStore] Failed to read plugin file:`,e),null}},createFile:async e=>tl(async t=>await l(Jc(`/api/config/plugins/file`,t),{method:`POST`,headers:$c(t),body:JSON.stringify(e)})),updateFile:async(e,t)=>tl(async n=>await l(Jc(`/api/config/plugins/file/${encodeURIComponent(e)}`,n),{method:`PUT`,headers:$c(n),body:JSON.stringify(t)})),deleteFile:async n=>{let r=await tl(async e=>await l(Jc(`/api/config/plugins/file/${encodeURIComponent(n)}`,e),{method:`DELETE`,headers:Qc(e)}));return r.ok&&t().selectedId===n&&e({selectedId:null}),r},getById:e=>t().entries.find(t=>t.id===e)??t().files.find(t=>t.id===e)}),{name:`plugins-store`,storage:_e(),partialize:e=>({selectedId:e.selectedId})}),{name:`plugins-store`}));function Jc(e,t){return`${e}${t?`?directory=${encodeURIComponent(t)}`:``}`}function Yc(e,t,n){let r=new URLSearchParams;t&&r.set(`refresh`,`true`),n&&r.set(`directory`,n);let i=r.toString();return`/api/config/plugins/registry?${`specs=${e.map(encodeURIComponent).join(`,`)}`}${i?`&${i}`:``}`}function Xc(e){return Array.from(new Set(e.map(e=>e.trim()).filter(Boolean)))}function Zc(e){let t=[],n=[],r=0;for(let i of e){let e=encodeURIComponent(i),a=n.length===0?e.length:r+1+e.length;n.length>0&&a>Wc?(t.push(n),n=[i],r=e.length):(n.push(i),r=a)}return n.length>0&&t.push(n),t}function Qc(e){return e?{"x-opencode-directory":e}:void 0}function $c(e){return{"Content-Type":`application/json`,...e?{"x-opencode-directory":e}:{}}}function el(e){let t={};return e.spec!==void 0&&(t.spec=e.spec),e.options!==void 0&&(t.options=e.options),e.scope!==void 0&&(t.scope=e.scope),t}async function tl(e){let t=i(),n=o();try{let r=zc(),a=await e(r),s=await nl(a).catch(()=>null);if(!a.ok)throw Error(s?.error||`Failed to update plugin configuration`);if(t!==i()||n!==o())return{ok:!0};Kc(r);let c=await Oc(O,r,t);return r===zc()&&t===i()&&n===o()&&(qc.setState({entries:c.entries,files:c.files}),Hc.set(Gc(r),Date.now())),{ok:!0,reloadFailed:s?.reloadFailed===!0,message:s?.message,warning:s?.warning}}catch(e){return console.error(`[PluginsStore] Failed to update plugin configuration:`,e),{ok:!1}}}async function nl(e){return await e.json()}var rl=/^[a-z0-9][a-z0-9-_.]*\.(js|ts|mjs|cjs)$/;function il(e){let t=e.trim();if(t===``)return{ok:!0,value:void 0};try{let e=JSON.parse(t);return typeof e!=`object`||!e||Array.isArray(e)?{ok:!1}:{ok:!0,value:e}}catch{return{ok:!1}}}var al=({open:e,onOpenChange:t,defaultScope:n=`user`})=>{let{t:r}=Fe(),i=qc(e=>e.createEntry),a=qc(e=>e.createFile),[o,s]=Q.useState(`npm`),[c,l]=Q.useState(``),[u,d]=Q.useState(``),[f,p]=Q.useState(``),[m,h]=Q.useState(``),[g,_]=Q.useState(n),[v,y]=Q.useState(!1),b=Q.useCallback(()=>{l(``),d(``),p(``),h(``),_(n)},[n]);Q.useEffect(()=>{e&&(s(`npm`),b())},[e,b]);let x=e=>{e!==o&&(s(e),b())},S=Q.useMemo(()=>il(u),[u]),C=!S.ok,w=o===`file`&&f.trim()!==``&&!rl.test(f.trim()),T=(o===`npm`||o===`path`)&&c.trim()===``,E=o===`file`&&m.trim()===``,D=o===`file`&&f.trim()===``,O=v||C||o===`npm`&&T||o===`path`&&T||o===`file`&&(D||w||E),k=async()=>{if(!O){y(!0);try{let e;e=o===`file`?await a({fileName:f.trim(),content:m,scope:g}):await i({spec:c.trim(),options:S.ok?S.value:void 0,scope:g}),e.ok?(Y.success(e.message||r(`settings.plugins.toast.created`)),e.reloadFailed&&Y.warning(r(`settings.plugins.toast.reloadFailed`)),t(!1)):Y.error(e.message||r(`settings.plugins.sidebar.toast.deleteFailed`))}finally{y(!1)}}},A=Q.useMemo(()=>[{id:`npm`,label:r(`settings.plugins.dialog.add.tab.npm`)},{id:`path`,label:r(`settings.plugins.dialog.add.tab.path`)},{id:`file`,label:r(`settings.plugins.dialog.add.tab.file`)}],[r]);return(0,$.jsx)(an,{open:e,onOpenChange:e=>{!e&&v||t(e)},children:(0,$.jsxs)(tn,{className:`max-w-xl`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:r(`settings.plugins.dialog.add.title`)}),(0,$.jsx)(rn,{children:r(`settings.plugins.sidebar.empty.description`)})]}),(0,$.jsx)(zr,{items:A,activeId:o,onSelect:e=>x(e),layoutMode:`fit`,variant:`active-pill`,activePillLowercase:!1,className:`h-10`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(o===`npm`||o===`path`)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{"data-settings-item":`plugins.spec`,className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`plugin-spec`,className:`typography-ui-label text-foreground`,children:r(`settings.plugins.page.field.spec`)}),(0,$.jsx)(gn,{id:`plugin-spec`,value:c,onChange:e=>l(e.target.value),placeholder:r(`settings.plugins.page.field.spec.placeholder`),"aria-invalid":!T&&void 0,disabled:v}),T&&(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:r(`settings.plugins.validation.specRequired`)})]}),(0,$.jsxs)(`div`,{"data-settings-item":`plugins.options`,className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`plugin-options`,className:`typography-ui-label text-foreground`,children:r(`settings.plugins.page.field.options`)}),(0,$.jsx)(jr,{id:`plugin-options`,value:u,onChange:e=>d(e.target.value),rows:5,className:`font-mono`,hasError:C,disabled:v}),C&&(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:r(`settings.plugins.page.field.options.invalidJson`)})]})]}),o===`file`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{"data-settings-item":`plugins.content`,className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`plugin-filename`,className:`typography-ui-label text-foreground`,children:r(`settings.plugins.page.field.fileName`)}),(0,$.jsx)(gn,{id:`plugin-filename`,value:f,onChange:e=>p(e.target.value),placeholder:`my-plugin.ts`,"aria-invalid":w||void 0,disabled:v}),w&&(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:r(`settings.plugins.validation.fileName`)})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`plugin-content`,className:`typography-ui-label text-foreground`,children:r(`settings.plugins.page.field.content`)}),(0,$.jsx)(jr,{id:`plugin-content`,value:m,onChange:e=>h(e.target.value),rows:16,className:`font-mono`,disabled:v})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:r(`settings.plugins.page.field.scope`)}),(0,$.jsx)(`div`,{className:`flex items-center gap-4`,children:[`user`,`project`].map(e=>{let t=g===e,n=r(e===`user`?`settings.plugins.scope.user`:`settings.plugins.scope.project`);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>_(e),disabled:v,className:`flex items-center gap-2 py-1 text-left disabled:opacity-50`,children:[(0,$.jsx)(ec,{checked:t,onChange:()=>_(e),ariaLabel:n}),(0,$.jsx)(`span`,{className:q(`typography-ui-label font-normal`,t?`text-foreground`:`text-foreground/60`),children:n})]},e)})})]})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>t(!1),disabled:v,children:r(`settings.plugins.dialog.add.action.cancel`)}),(0,$.jsxs)(J,{size:`sm`,onClick:()=>{k()},disabled:O,children:[v?(0,$.jsx)(Z,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin`}):null,r(`settings.plugins.dialog.add.action.submit`)]})]})]})})},ol=e=>{let t=(0,Ki.c)(31),{info:n}=e,{t:r}=Fe();if(!n)return null;let i=sl;switch(n.kind){case`npm-ok`:{if(!n.hasUpdate||!n.latestVersion)return null;let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`arrow-up-s`,className:`h-3 w-3`}),t[0]=e):e=t[0];let a;t[1]===n.latestVersion?a=t[2]:(a=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 text-[var(--status-success)]`,children:[e,n.latestVersion]}),t[1]=n.latestVersion,t[2]=a);let o;return t[3]!==n.currentVersion||t[4]!==n.latestVersion||t[5]!==r||t[6]!==a?(o=i(a,r(`settings.plugins.registry.badge.update.tooltip`,{current:n.currentVersion??``,latest:n.latestVersion})),t[3]=n.currentVersion,t[4]=n.latestVersion,t[5]=r,t[6]=a,t[7]=o):o=t[7],o}case`npm-missing-version`:{let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`h-3 w-3 text-[var(--status-warning)]`}),t[8]=e):e=t[8];let a;return t[9]!==n.currentVersion||t[10]!==n.name||t[11]!==r?(a=i(e,r(`settings.plugins.registry.badge.missingVersion.tooltip`,{version:n.currentVersion,name:n.name})),t[9]=n.currentVersion,t[10]=n.name,t[11]=r,t[12]=a):a=t[12],a}case`npm-missing-package`:{let e;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`h-3 w-3 text-[var(--status-error)]`}),t[13]=e):e=t[13];let a;return t[14]!==n.name||t[15]!==r?(a=i(e,r(`settings.plugins.registry.badge.missingPackage.tooltip`,{name:n.name})),t[14]=n.name,t[15]=r,t[16]=a):a=t[16],a}case`npm-malformed`:{let e;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`h-3 w-3 text-[var(--status-error)]`}),t[17]=e):e=t[17];let n;return t[18]===r?n=t[19]:(n=i(e,r(`settings.plugins.registry.badge.malformed.tooltip`)),t[18]=r,t[19]=n),n}case`npm-network`:{let e;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`cloud-off`,className:`h-3 w-3 text-muted-foreground`}),t[20]=e):e=t[20];let n;return t[21]===r?n=t[22]:(n=i(e,r(`settings.plugins.registry.badge.network.tooltip`)),t[21]=r,t[22]=n),n}case`path-missing`:{let e;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`h-3 w-3 text-[var(--status-error)]`}),t[23]=e):e=t[23];let a;return t[24]!==n.absolutePath||t[25]!==r?(a=i(e,r(`settings.plugins.registry.badge.pathMissing.tooltip`,{path:n.absolutePath})),t[24]=n.absolutePath,t[25]=r,t[26]=a):a=t[26],a}case`path-unreadable`:{let e;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`h-3 w-3 text-[var(--status-warning)]`}),t[27]=e):e=t[27];let a;return t[28]!==n.absolutePath||t[29]!==r?(a=i(e,r(`settings.plugins.registry.badge.pathUnreadable.tooltip`,{path:n.absolutePath})),t[28]=n.absolutePath,t[29]=r,t[30]=a):a=t[30],a}case`path-ok`:return null;default:return null}};function sl(e,t){return(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex shrink-0 items-center gap-0.5 text-xs`,children:e})}),(0,$.jsx)(vn,{children:t})]})}var cl=e=>e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e),ll=e=>{let t=e.replace(/\\/g,`/`),n=[],[r,...i]=t.split(`/`);for(let e of i)if(e!==``&&e!==`.`){if(e===`..`){n.pop();continue}n.push(e)}return`${/^[A-Za-z]:$/.test(r)?`${r.toUpperCase()}/`:`/`}${n.join(`/`)}`},ul=e=>ll(`${e.replace(/\\/g,`/`)}/..`),dl=e=>{try{let t=decodeURIComponent(new URL(e).pathname);return/^\/[A-Za-z]:\//.test(t)?t.slice(1):t}catch{return null}};function fl(e,t){if(e.startsWith(`file://`)){let t=dl(e);return t?{kind:`local`,path:ll(t)}:null}return e.startsWith(`./`)||e.startsWith(`../`)?t?{kind:`local`,path:ll(`${ul(t)}/${e}`)}:null:cl(e)?{kind:`local`,path:ll(e)}:{kind:`package`,target:e}}function pl(e){return e?{kind:`local`,path:ll(e)}:null}var ml=(e,t)=>{if(e.kind===`package`)return t.source.kind===`package`&&t.source.target===e.target;if(t.source.kind!==`local`)return!1;let n=ll(t.source.path);return n===e.path||n.startsWith(`${e.path}/`)};function hl(e,t){return t.filter(t=>ml(e,t))}function gl(e){let t=e.find(e=>e.state.kind===`failed`);if(t&&t.state.kind===`failed`)return{kind:`failed`,error:t.state.error,ref:t.state.ref};let n=e[0];return n?{kind:`active`,version:n.source.kind===`package`?n.source.version:null}:{kind:`notReported`}}function _l(e){let t=e.flatMap(e=>e.source.kind===`package`?[e.source]:[]);return t.some(e=>e.updating)?`updating`:t.some(e=>e.outdated)?`available`:`none`}function vl(e){let t=(0,Ki.c)(18),n=Dc(),r;t[0]===n?r=t[1]:(r=()=>{n.refetch()},t[0]=n,t[1]=r);let i=Me(r),a;bb0:{if(n.isPending&&n.data===void 0){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e={kind:`loading`},t[2]=e):e=t[2],a=e;break bb0}if(n.data===void 0||!e){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e={kind:`unknown`},t[3]=e):e=t[3],a=e;break bb0}let r,i,o;if(t[4]!==n.data||t[5]!==e){let a=hl(e,n.data);r=`known`,i=gl(a),o=_l(a),t[4]=n.data,t[5]=e,t[6]=r,t[7]=i,t[8]=o}else r=t[6],i=t[7],o=t[8];let s;t[9]!==r||t[10]!==i||t[11]!==o||t[12]!==e?(s={kind:r,load:i,update:o,target:e},t[9]=r,t[10]=i,t[11]=o,t[12]=e,t[13]=s):s=t[13],a=s}let o=a,s;return t[14]!==n.isFetching||t[15]!==i||t[16]!==o?(s={status:o,retry:i,isRefreshing:n.isFetching},t[14]=n.isFetching,t[15]=i,t[16]=o,t[17]=s):s=t[17],s}function yl(e){let t=(0,Ki.c)(5),n=Ec(),r;t[0]!==n||t[1]!==e?(r=e?.kind===`package`?Cc(n,e.target):null,t[0]=n,t[1]=e,t[2]=r):r=t[2];let i=r,a;return t[3]===i?a=t[4]:(a=e=>i?e.packageUpdates[i]??null:null,t[3]=i,t[4]=a),qc(a)}var bl=e=>{let t=(0,Ki.c)(35),{target:n}=e,{t:r}=Fe(),{status:i}=vl(n),a=yl(n);if(i.kind!==`known`)return null;let o;bb0:{if(i.update===`updating`||a?.kind===`running`){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`loader-4`,className:`h-3 w-3 animate-spin text-muted-foreground`}),t[0]=e):e=t[0];let n;t[1]===r?n=t[2]:(n=r(`settings.plugins.update.running`),t[1]=r,t[2]=n);let i;t[3]===n?i=t[4]:(i={icon:e,label:n},t[3]=n,t[4]=i),o=i;break bb0}if(i.load.kind===`failed`){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`h-3 w-3 text-[var(--status-error)]`}),t[5]=e):e=t[5];let n;t[6]===r?n=t[7]:(n=r(`settings.plugins.status.failed.title`),t[6]=r,t[7]=n);let i;t[8]===n?i=t[9]:(i={icon:e,label:n},t[8]=n,t[9]=i),o=i;break bb0}if(i.load.kind===`notReported`){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`time`,className:`h-3 w-3 text-muted-foreground`}),t[10]=e):e=t[10];let n;t[11]===r?n=t[12]:(n=r(`settings.plugins.status.notReported.title`),t[11]=r,t[12]=n);let i;t[13]===n?i=t[14]:(i={icon:e,label:n},t[13]=n,t[14]=i),o=i;break bb0}if(i.update===`available`){let e;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`arrow-up-s`,className:`h-3 w-3 text-[var(--status-success)]`}),t[15]=e):e=t[15];let n;t[16]===r?n=t[17]:(n=r(`settings.plugins.update.available.title`),t[16]=r,t[17]=n);let i;t[18]===n?i=t[19]:(i={icon:e,label:n},t[18]=n,t[19]=i),o=i;break bb0}let e;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`checkbox-circle`,className:`h-3 w-3 text-[var(--status-success)]`}),t[20]=e):e=t[20];let n;t[21]!==i.load.version||t[22]!==r?(n=i.load.version?r(`settings.plugins.status.loadedVersion`,{version:i.load.version}):r(`settings.plugins.status.loaded`),t[21]=i.load.version,t[22]=r,t[23]=n):n=t[23];let s;t[24]===n?s=t[25]:(s={icon:e,label:n},t[24]=n,t[25]=s),o=s}let s=o,c;t[26]!==s.icon||t[27]!==s.label||t[28]!==i.load.kind?(c=(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex shrink-0 items-center`,"aria-label":s.label,"data-plugin-load-state":i.load.kind,children:s.icon})}),t[26]=s.icon,t[27]=s.label,t[28]=i.load.kind,t[29]=c):c=t[29];let l;t[30]===s.label?l=t[31]:(l=(0,$.jsx)(vn,{children:s.label}),t[30]=s.label,t[31]=l);let u;return t[32]!==c||t[33]!==l?(u=(0,$.jsxs)(yn,{children:[c,l]}),t[32]=c,t[33]=l,t[34]=u):u=t[34],u},xl=e=>e.parsedKind===`npm`?`code-box`:`folder`,Sl=e=>{let t=(0,Ki.c)(167),{onItemSelect:n,onAddClick:r}=e,{t:i}=Fe(),{selectedId:a,setSelected:o,deleteEntry:s,deleteFile:c,loadPlugins:l,updateEntry:u,updatePackage:d,packageUpdates:f}=qc(le(Cl)),p=wc();p.data?.entries;let m;t[0]===p.data?.entries?m=t[1]:(m=p.data?.entries??[],t[0]=p.data?.entries,t[1]=m);let h=m,g;t[2]===p.data?.files?g=t[3]:(g=()=>p.data?.files??[],t[2]=p.data?.files,t[3]=g),p.data?.files;let _;t[4]===g?_=t[5]:(_=g(),t[4]=g,t[5]=_);let v=_,y;t[6]===h?y=t[7]:(y=h.map(wl),t[6]=h,t[7]=y);let b=y,{data:x,isFetching:S}=Tc(b,!1),C;t[8]===x?C=t[9]:(C=x??{},t[8]=x,t[9]=C);let w=C,T=Ec(),E=Dc(),D=E.isError&&E.data===void 0,[O,k]=Q.useState(!1),[A,j]=Q.useState(null),[M,N]=Q.useState(!1),[P,F]=Q.useState(!1),I,L;t[10]===l?(I=t[11],L=t[12]):(I=()=>{l()},L=[l],t[10]=l,t[11]=I,t[12]=L),Q.useEffect(I,L);let R,z;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(R=()=>{let e=()=>F(!0);return window.addEventListener(`openchamber:settings-open-plugin-add`,e),()=>window.removeEventListener(`openchamber:settings-open-plugin-add`,e)},z=[],t[13]=R,t[14]=z):(R=t[13],z=t[14]),Q.useEffect(R,z);let B;if(t[15]!==h||t[16]!==v){B=new Map;for(let e of h)B.set(e.id,fl(e.spec,e.sourcePath));for(let e of v)B.set(e.id,pl(e.absolutePath));t[15]=h,t[16]=v,t[17]=B}else B=t[17];let V=B,H;if(t[18]!==T||t[19]!==h||t[20]!==f||t[21]!==E.data||t[22]!==V){bb0:{let e=E.data,t=new Map;if(!e){H=t;break bb0}for(let n of h){let r=V.get(n.id);r?.kind===`package`&&f[Cc(T,r.target)]?.kind!==`running`&&_l(hl(r,e))===`available`&&t.set(n.id,r.target)}H=t}t[18]=T,t[19]=h,t[20]=f,t[21]=E.data,t[22]=V,t[23]=H}else H=t[23];let U=H,W;if(t[24]!==h||t[25]!==U||t[26]!==w){W={userEntries:0,projectEntries:0};for(let e of h){let t=w[e.spec];(t?.kind===`npm-ok`&&t.hasUpdate||U.has(e.id))&&(e.scope===`user`?W.userEntries+=1:e.scope===`project`&&(W.projectEntries+=1))}t[24]=h,t[25]=U,t[26]=w,t[27]=W}else W=t[27];let ee=W,G;t[28]===h?G=t[29]:(G=h.filter(Tl),t[28]=h,t[29]=G);let te=G,ne;t[30]===h?ne=t[31]:(ne=h.filter(El),t[30]=h,t[31]=ne);let re=ne,ie;t[32]===v?ie=t[33]:(ie=v.filter(Dl),t[32]=v,t[33]=ie);let ae=ie,oe;t[34]===v?oe=t[35]:(oe=v.filter(Ol),t[34]=v,t[35]=oe);let se=oe,ce=h.length+v.length===0,ue;t[36]===r?ue=t[37]:(ue=()=>{r?r():F(!0)},t[36]=r,t[37]=ue);let de=ue,fe;t[38]!==n||t[39]!==o?(fe=e=>{o(e),n?.()},t[38]=n,t[39]=o,t[40]=fe):fe=t[40];let pe=fe,me;t[41]!==h||t[42]!==w||t[43]!==i||t[44]!==u?(me=async e=>{let t=h.find(t=>t.id===e);if(!t)return;let n=w[t.spec];if(!n||n.kind!==`npm-ok`||!n.hasUpdate||!n.latestVersion)return;let r=n.latestVersion;(await u(e,{spec:`${n.name}@${r}`})).ok?Y.success(i(`settings.plugins.toast.updatedToLatest`,{version:r})):Y.error(i(`settings.plugins.toast.refreshFailed`))},t[41]=h,t[42]=w,t[43]=i,t[44]=u,t[45]=me):me=t[45];let he=me,ge;t[46]!==i||t[47]!==d?(ge=async(e,t)=>{await d(e)?Y.success(i(`settings.plugins.update.toast.done`,{name:t})):Y.error(i(`settings.plugins.update.toast.failed`,{name:t}))},t[46]=i,t[47]=d,t[48]=ge):ge=t[48];let _e=Me(ge),ve;t[49]!==T||t[50]!==b||t[51]!==i?(ve=async()=>{Y.info(i(`settings.plugins.toast.refreshing`)),k(!0);let e=await kc(void 0,Lt(),b).then(kl).catch(Al),t=await jc(T).then(jl).catch(Ml);k(!1),e||Y.error(i(`settings.plugins.toast.refreshFailed`)),t||Y.error(i(`settings.plugins.toast.checkFailed`))},t[49]=T,t[50]=b,t[51]=i,t[52]=ve):ve=t[52];let ye=Me(ve),K;t[53]!==s||t[54]!==c||t[55]!==A||t[56]!==i?(K=async()=>{if(!A)return;N(!0);let e=A.kind===`entry`?await s(A.id):await c(A.id);e.ok?Y.success(e.message||i(`settings.plugins.sidebar.toast.deleted`,{name:A.label})):Y.error(i(`settings.plugins.sidebar.toast.deleteFailed`)),j(null),N(!1)},t[53]=s,t[54]=c,t[55]=A,t[56]=i,t[57]=K):K=t[57];let be=K,xe;t[58]!==_e||t[59]!==pe||t[60]!==he||t[61]!==U||t[62]!==w||t[63]!==V||t[64]!==a||t[65]!==i?(xe=e=>{let t=w[e.spec],n=t?.kind===`npm-ok`&&t.hasUpdate&&!!t.latestVersion,r=U.get(e.id)??null,o=[];return r?o.push({label:i(`settings.plugins.update.action`),icon:`arrow-up-s`,onClick:()=>void _e(r,e.spec)}):n&&o.push({label:i(`settings.plugins.sidebar.actions.updateToLatest`),icon:`arrow-up-s`,onClick:()=>void he(e.id)}),o.push({label:i(`settings.common.actions.delete`),icon:`delete-bin`,destructive:!0,onClick:()=>j({kind:`entry`,id:e.id,label:e.spec})}),(0,$.jsx)(Oo,{title:(0,$.jsx)(`span`,{title:e.spec,children:e.spec}),metadata:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-1.5`,children:[(0,$.jsx)(bl,{target:V.get(e.id)??null}),(0,$.jsx)(`span`,{children:e.parsedKind===`npm`?i(`settings.plugins.sidebar.kind.npm`):i(`settings.plugins.sidebar.kind.path`)}),(0,$.jsx)(ol,{info:t})]}),selected:a===e.id,onSelect:()=>pe(e.id),icon:(0,$.jsx)(Z,{name:xl(e),className:`h-4 w-4 flex-shrink-0 text-muted-foreground/70`}),actions:o},e.id)},t[58]=_e,t[59]=pe,t[60]=he,t[61]=U,t[62]=w,t[63]=V,t[64]=a,t[65]=i,t[66]=xe):xe=t[66];let Se=xe,Ce;t[67]!==pe||t[68]!==V||t[69]!==a||t[70]!==i?(Ce=e=>(0,$.jsx)(Oo,{title:(0,$.jsx)(`span`,{title:e.fileName,children:e.fileName}),metadata:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(bl,{target:V.get(e.id)??null}),(0,$.jsx)(`span`,{children:i(`settings.plugins.sidebar.kind.file`)})]}),selected:a===e.id,onSelect:()=>pe(e.id),icon:(0,$.jsx)(Z,{name:`file-text`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/70`}),actions:[{label:i(`settings.common.actions.delete`),icon:`delete-bin`,destructive:!0,onClick:()=>j({kind:`file`,id:e.id,label:e.fileName})}]},e.id),t[67]=pe,t[68]=V,t[69]=a,t[70]=i,t[71]=Ce):Ce=t[71];let we=Ce,Te;t[72]===i?Te=t[73]:(Te=(e,t,n,r,a)=>{let o=n===void 0?0:n;return(0,$.jsx)(Jr,{cardClassName:a!==void 0&&a?`hidden`:void 0,label:(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,$.jsxs)(`span`,{className:`min-w-0`,children:[e,o>0&&(0,$.jsx)(`span`,{className:`block text-[var(--status-success)]`,children:i(o===1?`settings.plugins.sidebar.group.updatesAvailable_one`:`settings.plugins.sidebar.group.updatesAvailable_other`,{count:o})})]}),r]}),children:t})},t[72]=i,t[73]=Te);let Ee=Te,De;t[74]===ye?De=t[75]:(De=()=>void ye(),t[74]=ye,t[75]=De);let Oe=S||E.isFetching||O,ke;t[76]===i?ke=t[77]:(ke=i(`settings.plugins.sidebar.actions.refresh`),t[76]=i,t[77]=ke);let Ae;t[78]===i?Ae=t[79]:(Ae=i(`settings.plugins.sidebar.actions.refresh`),t[78]=i,t[79]=Ae);let je=S||E.isFetching||O?`size-4 animate-spin`:`size-4`,Ne;t[80]===je?Ne=t[81]:(Ne=(0,$.jsx)(Z,{name:`refresh`,className:je}),t[80]=je,t[81]=Ne);let Pe;t[82]!==De||t[83]!==Oe||t[84]!==ke||t[85]!==Ae||t[86]!==Ne?(Pe=(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`icon`,onClick:De,disabled:Oe,"aria-label":ke,title:Ae,children:Ne}),t[82]=De,t[83]=Oe,t[84]=ke,t[85]=Ae,t[86]=Ne,t[87]=Pe):Pe=t[87];let Ie;t[88]===i?Ie=t[89]:(Ie=i(`settings.plugins.sidebar.actions.addTitle`),t[88]=i,t[89]=Ie);let Le;t[90]===i?Le=t[91]:(Le=i(`settings.plugins.sidebar.actions.addTitle`),t[90]=i,t[91]=Le);let Re;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,$.jsx)(Z,{name:`add`,className:`size-4`}),t[92]=Re):Re=t[92];let q;t[93]!==de||t[94]!==Ie||t[95]!==Le?(q=(0,$.jsx)(J,{"data-settings-item":`plugins.create`,type:`button`,variant:`ghost`,size:`icon`,onClick:de,"aria-label":Ie,title:Le,children:Re}),t[93]=de,t[94]=Ie,t[95]=Le,t[96]=q):q=t[96];let ze;t[97]!==Pe||t[98]!==q?(ze=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[Pe,q]}),t[97]=Pe,t[98]=q,t[99]=ze):ze=t[99];let Be=ze,Ve;t[100]!==D||t[101]!==i?(Ve=D?(0,$.jsxs)(`p`,{className:`typography-micro mb-2 flex items-center gap-1 text-muted-foreground`,role:`status`,children:[(0,$.jsx)(Z,{name:`question`,className:`size-3 shrink-0`}),i(`settings.plugins.status.sidebar.unavailable`)]}):void 0,t[100]=D,t[101]=i,t[102]=Ve):Ve=t[102];let He;t[103]!==Be||t[104]!==Se||t[105]!==Ee||t[106]!==i||t[107]!==ee||t[108]!==te?(He=te.length>0?Ee(i(`settings.plugins.sidebar.group.userEntries`),te.map(Se),ee.userEntries,Be):Ee(i(`settings.plugins.sidebar.group.userEntries`),(0,$.jsx)(`span`,{}),0,Be,!0),t[103]=Be,t[104]=Se,t[105]=Ee,t[106]=i,t[107]=ee,t[108]=te,t[109]=He):He=t[109];let Ue;t[110]!==ce||t[111]!==re||t[112]!==se||t[113]!==Se||t[114]!==we||t[115]!==Ee||t[116]!==i||t[117]!==ee||t[118]!==ae?(Ue=ce?(0,$.jsx)(Jr,{children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`plug`,className:`mx-auto mb-3 h-10 w-10 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-medium`,children:i(`settings.plugins.sidebar.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:i(`settings.plugins.sidebar.empty.description`)})]})}):(0,$.jsxs)($.Fragment,{children:[ae.length>0&&Ee(i(`settings.plugins.sidebar.group.userFiles`),ae.map(we)),re.length>0&&Ee(i(`settings.plugins.sidebar.group.projectEntries`),re.map(Se),ee.projectEntries),se.length>0&&Ee(i(`settings.plugins.sidebar.group.projectFiles`),se.map(we))]}),t[110]=ce,t[111]=re,t[112]=se,t[113]=Se,t[114]=we,t[115]=Ee,t[116]=i,t[117]=ee,t[118]=ae,t[119]=Ue):Ue=t[119];let We;t[120]!==Ve||t[121]!==He||t[122]!==Ue?(We=(0,$.jsxs)(Ao,{variant:`background`,header:Ve,children:[He,Ue]}),t[120]=Ve,t[121]=He,t[122]=Ue,t[123]=We):We=t[123];let Ge;t[124]===P?Ge=t[125]:(Ge=(0,$.jsx)(al,{open:P,onOpenChange:F}),t[124]=P,t[125]=Ge);let Ke=A!==null,qe;t[126]===M?qe=t[127]:(qe=e=>{!e&&!M&&j(null)},t[126]=M,t[127]=qe);let Je;t[128]===i?Je=t[129]:(Je=i(`settings.plugins.sidebar.deleteDialog.title`),t[128]=i,t[129]=Je);let Ye;t[130]===Je?Ye=t[131]:(Ye=(0,$.jsx)(nn,{children:Je}),t[130]=Je,t[131]=Ye);let Xe=A?.label??``,Ze;t[132]!==i||t[133]!==Xe?(Ze=i(`settings.plugins.sidebar.deleteDialog.description`,{name:Xe}),t[132]=i,t[133]=Xe,t[134]=Ze):Ze=t[134];let Qe;t[135]===Ze?Qe=t[136]:(Qe=(0,$.jsx)(rn,{children:Ze}),t[135]=Ze,t[136]=Qe);let $e;t[137]!==Ye||t[138]!==Qe?($e=(0,$.jsxs)($t,{children:[Ye,Qe]}),t[137]=Ye,t[138]=Qe,t[139]=$e):$e=t[139];let et;t[140]===Symbol.for(`react.memo_cache_sentinel`)?(et=()=>j(null),t[140]=et):et=t[140];let tt;t[141]===i?tt=t[142]:(tt=i(`settings.common.actions.cancel`),t[141]=i,t[142]=tt);let nt;t[143]!==M||t[144]!==tt?(nt=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:et,disabled:M,children:tt}),t[143]=M,t[144]=tt,t[145]=nt):nt=t[145];let rt;t[146]!==M||t[147]!==i?(rt=i(M?`settings.plugins.sidebar.actions.deleting`:`settings.common.actions.delete`),t[146]=M,t[147]=i,t[148]=rt):rt=t[148];let it;t[149]!==be||t[150]!==M||t[151]!==rt?(it=(0,$.jsx)(J,{size:`sm`,variant:`destructive`,onClick:be,disabled:M,children:rt}),t[149]=be,t[150]=M,t[151]=rt,t[152]=it):it=t[152];let at;t[153]!==nt||t[154]!==it?(at=(0,$.jsxs)(en,{children:[nt,it]}),t[153]=nt,t[154]=it,t[155]=at):at=t[155];let ot;t[156]!==$e||t[157]!==at?(ot=(0,$.jsxs)(tn,{className:`max-w-md`,children:[$e,at]}),t[156]=$e,t[157]=at,t[158]=ot):ot=t[158];let st;t[159]!==Ke||t[160]!==qe||t[161]!==ot?(st=(0,$.jsx)(an,{open:Ke,onOpenChange:qe,children:ot}),t[159]=Ke,t[160]=qe,t[161]=ot,t[162]=st):st=t[162];let ct;return t[163]!==We||t[164]!==Ge||t[165]!==st?(ct=(0,$.jsxs)($.Fragment,{children:[We,Ge,st]}),t[163]=We,t[164]=Ge,t[165]=st,t[166]=ct):ct=t[166],ct};function Cl(e){return{selectedId:e.selectedId,setSelected:e.setSelected,deleteEntry:e.deleteEntry,deleteFile:e.deleteFile,loadPlugins:e.loadPlugins,updateEntry:e.updateEntry,updatePackage:e.updatePackage,packageUpdates:e.packageUpdates}}function wl(e){return e.spec}function Tl(e){return e.scope===`user`}function El(e){return e.scope===`project`}function Dl(e){return e.scope===`user`}function Ol(e){return e.scope===`project`}function kl(){return!0}function Al(){return!1}function jl(){return!0}function Ml(){return!1}var Nl=e=>{let t=(0,Ki.c)(10),{children:n,className:r,outerClassName:i}=e,a;t[0]===i?a=t[1]:(a=q(`h-full`,i),t[0]=i,t[1]=a);let o;t[2]===r?o=t[3]:(o=q(`oc-settings-page-content mx-auto max-w-3xl p-3 sm:p-6 sm:pt-8`,r),t[2]=r,t[3]=o);let s;t[4]!==n||t[5]!==o?(s=(0,$.jsx)(`div`,{className:o,children:n}),t[4]=n,t[5]=o,t[6]=s):s=t[6];let c;return t[7]!==a||t[8]!==s?(c=(0,$.jsx)(Ar,{outerClassName:a,className:`w-full`,children:s}),t[7]=a,t[8]=s,t[9]=c):c=t[9],c},Pl=({entryId:e,spec:t})=>{let{t:n}=Fe(),{data:r}=Tc([t]),i=r?.[t],a=qc(e=>e.updateEntry),[o,s]=Q.useState(!1);if(!i)return null;if(i.kind===`npm-ok`){if(!i.hasUpdate||!i.latestVersion)return null;let t=i.latestVersion,r=i.currentVersion??``,c=async()=>{s(!0);try{(await a(e,{spec:`${i.name}@latest`})).ok?Y.success(n(`settings.plugins.toast.updatedToLatest`,{version:t})):Y.error(n(`settings.plugins.toast.refreshFailed`))}finally{s(!1)}};return(0,$.jsxs)(`div`,{className:`rounded-md border border-border bg-card p-3 flex items-start gap-3`,children:[(0,$.jsx)(Z,{name:`arrow-up`,className:`h-5 w-5 text-[var(--status-success)] shrink-0 mt-0.5`}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsx)(`p`,{className:`typography-label text-[var(--status-success)]`,children:n(`settings.plugins.registry.banner.updateAvailable.title`)}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground mt-0.5`,children:n(`settings.plugins.registry.banner.updateAvailable.description`,{current:r,latest:t})})]}),(0,$.jsx)(J,{variant:`default`,size:`sm`,onClick:()=>void c(),disabled:o,children:n(`settings.plugins.registry.banner.updateAvailable.action`,{latest:t})})]})}if(i.kind===`path-ok`)return null;if(i.kind===`npm-network`)return(0,$.jsxs)(`div`,{className:`rounded-md border border-border bg-card p-3 flex items-start gap-3`,children:[(0,$.jsx)(Z,{name:`cloud-off`,className:`h-5 w-5 text-muted-foreground shrink-0 mt-0.5`}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:n(`settings.plugins.registry.badge.network.tooltip`)})})]});let c=i.kind===`path-unreadable`,l=c?`var(--status-warning)`:`var(--status-error)`,u=c?`alert`:`error-warning`,d=(()=>{switch(i.kind){case`npm-missing-version`:return n(`settings.plugins.registry.banner.invalid.missingVersion`);case`npm-missing-package`:return n(`settings.plugins.registry.banner.invalid.missingPackage`);case`npm-malformed`:return n(`settings.plugins.registry.banner.invalid.malformed`);case`path-missing`:return n(`settings.plugins.registry.banner.invalid.pathMissing`);case`path-unreadable`:return n(`settings.plugins.registry.banner.invalid.pathUnreadable`)}})();return(0,$.jsxs)(`div`,{className:`rounded-md border border-border bg-card p-3 flex items-start gap-3`,children:[(0,$.jsx)(Z,{name:u,className:`h-5 w-5 shrink-0 mt-0.5`,style:{color:l}}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsx)(`p`,{className:`typography-label`,style:{color:l},children:n(`settings.plugins.registry.banner.invalid.title`)}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground mt-0.5`,children:d})]})]})},Fl=e=>{let t=(0,Ki.c)(69),{target:n,name:r}=e,{t:i}=Fe(),{status:a,retry:o,isRefreshing:s}=vl(n),c=yl(n),l=qc(Il),u=a.kind===`known`&&a.target.kind===`package`?a.target.target:null,d=a.kind===`known`&&(a.update===`updating`||c?.kind===`running`),f;t[0]===o?f=t[1]:(f=()=>{o()},t[0]=o,t[1]=f);let p=Me(f),m;t[2]!==r||t[3]!==u||t[4]!==i||t[5]!==l?(m=async()=>{u&&(await l(u)?Y.success(i(`settings.plugins.update.toast.done`,{name:r})):Y.error(i(`settings.plugins.update.toast.failed`,{name:r})))},t[2]=r,t[3]=u,t[4]=i,t[5]=l,t[6]=m):m=t[6];let h=Me(m);if(a.kind===`loading`)return null;if(a.kind===`unknown`){let e;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`question`,className:`mt-0.5 h-5 w-5 shrink-0 text-muted-foreground`}),t[7]=e):e=t[7];let n;t[8]===i?n=t[9]:(n=i(`settings.plugins.status.unknown.title`),t[8]=i,t[9]=n);let r;t[10]===n?r=t[11]:(r=(0,$.jsx)(`p`,{className:`typography-label text-foreground`,children:n}),t[10]=n,t[11]=r);let a;t[12]===i?a=t[13]:(a=i(`settings.plugins.status.unknown.description`),t[12]=i,t[13]=a);let o;t[14]===a?o=t[15]:(o=(0,$.jsx)(`p`,{className:`typography-micro mt-0.5 text-muted-foreground`,children:a}),t[14]=a,t[15]=o);let c;t[16]!==r||t[17]!==o?(c=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r,o]}),t[16]=r,t[17]=o,t[18]=c):c=t[18];let l;t[19]===i?l=t[20]:(l=i(`settings.plugins.status.retry`),t[19]=i,t[20]=l);let u;t[21]!==p||t[22]!==s||t[23]!==l?(u=(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:p,disabled:s,children:l}),t[21]=p,t[22]=s,t[23]=l,t[24]=u):u=t[24];let d;return t[25]!==u||t[26]!==c?(d=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3 rounded-md border border-border bg-card p-3`,role:`status`,"data-plugin-load-state":`unknown`,children:[e,c,u]}),t[25]=u,t[26]=c,t[27]=d):d=t[27],d}let{load:g,update:_}=a,v=u!==null&&(_!==`none`||c!==null),y;bb0:{switch(g.kind){case`active`:{let e;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`checkbox-circle`,className:`h-4 w-4 text-[var(--status-success)]`}),t[28]=e):e=t[28];let n;t[29]!==g.version||t[30]!==i?(n=g.version?i(`settings.plugins.status.loadedVersion`,{version:g.version}):i(`settings.plugins.status.loaded`),t[29]=g.version,t[30]=i,t[31]=n):n=t[31];let r;t[32]===n?r=t[33]:(r=(0,$.jsxs)(`p`,{className:`typography-meta flex items-center gap-1.5 text-muted-foreground`,role:`status`,"data-plugin-load-state":`active`,children:[e,n]}),t[32]=n,t[33]=r),y=r;break bb0}case`notReported`:{let e;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`time`,className:`mt-0.5 h-5 w-5 shrink-0 text-muted-foreground`}),t[34]=e):e=t[34];let n;t[35]===i?n=t[36]:(n=i(`settings.plugins.status.notReported.title`),t[35]=i,t[36]=n);let r;t[37]===n?r=t[38]:(r=(0,$.jsx)(`p`,{className:`typography-label text-foreground`,children:n}),t[37]=n,t[38]=r);let a;t[39]===i?a=t[40]:(a=i(`settings.plugins.status.notReported.description`),t[39]=i,t[40]=a);let o;t[41]===a?o=t[42]:(o=(0,$.jsx)(`p`,{className:`typography-micro mt-0.5 text-muted-foreground`,children:a}),t[41]=a,t[42]=o);let s;t[43]!==r||t[44]!==o?(s=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3 rounded-md border border-border bg-card p-3`,role:`status`,"data-plugin-load-state":`notReported`,children:[e,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r,o]})]}),t[43]=r,t[44]=o,t[45]=s):s=t[45],y=s;break bb0}case`failed`:{let e;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--status-error)]`}),t[46]=e):e=t[46];let n;t[47]===i?n=t[48]:(n=i(`settings.plugins.status.failed.title`),t[47]=i,t[48]=n);let r;t[49]===n?r=t[50]:(r=(0,$.jsx)(`p`,{className:`typography-label text-[var(--status-error)]`,children:n}),t[49]=n,t[50]=r);let a;t[51]===g.error?a=t[52]:(a=(0,$.jsx)(`p`,{className:`typography-micro mt-1 whitespace-pre-wrap break-words font-mono text-foreground`,children:g.error}),t[51]=g.error,t[52]=a);let o;t[53]!==g.ref||t[54]!==i?(o=g.ref?(0,$.jsx)(`p`,{className:`typography-micro mt-1 text-muted-foreground`,children:i(`settings.plugins.status.failed.ref`,{ref:g.ref})}):null,t[53]=g.ref,t[54]=i,t[55]=o):o=t[55];let s;t[56]!==r||t[57]!==a||t[58]!==o?(s=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3 rounded-md border border-border bg-card p-3`,role:`alert`,"data-plugin-load-state":`failed`,children:[e,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r,a,o]})]}),t[56]=r,t[57]=a,t[58]=o,t[59]=s):s=t[59],y=s;break bb0}}y=void 0}let b=y,x;t[60]!==h||t[61]!==d||t[62]!==c||t[63]!==v||t[64]!==i?(x=v?(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3 rounded-md border border-border bg-card p-3`,children:[(0,$.jsx)(Z,{name:`arrow-up`,className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--status-success)]`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`typography-label text-[var(--status-success)]`,children:i(`settings.plugins.update.available.title`)}),(0,$.jsx)(`p`,{className:`typography-micro mt-0.5 text-muted-foreground`,children:i(`settings.plugins.update.available.description`)}),c?.kind===`failed`?(0,$.jsxs)(`div`,{className:`mt-2`,role:`alert`,children:[(0,$.jsx)(`p`,{className:`typography-micro text-[var(--status-error)]`,children:i(`settings.plugins.update.failed.title`)}),(0,$.jsx)(`p`,{className:`typography-micro mt-0.5 whitespace-pre-wrap break-words font-mono text-foreground`,children:c.error})]}):null]}),(0,$.jsx)(J,{variant:`default`,size:`sm`,onClick:()=>void h(),disabled:d,children:d?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}),i(`settings.plugins.update.running`)]}):i(`settings.plugins.update.action`)})]}):null,t[60]=h,t[61]=d,t[62]=c,t[63]=v,t[64]=i,t[65]=x):x=t[65];let S;return t[66]!==b||t[67]!==x?(S=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[b,x]}),t[66]=b,t[67]=x,t[68]=S):S=t[68],S};function Il(e){return e.updatePackage}function Ll(e){let t=e.trim();if(t.length===0)return{ok:!0,value:void 0};try{let e=JSON.parse(t);return typeof e!=`object`||!e||Array.isArray(e)?{ok:!1}:{ok:!0,value:e}}catch{return{ok:!1}}}function Rl(e){return!e||Object.keys(e).length===0?``:JSON.stringify(e,null,2)}function zl(e){return{mode:`entry`,scope:e.scope,spec:e.spec,optionsJson:Rl(e.options),fileName:``,content:``}}function Bl(e,t){return{mode:`file`,scope:e.scope,spec:``,optionsJson:``,fileName:e.fileName,content:t}}var Vl=e=>{let t=(0,Ki.c)(4),{scope:n,label:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=q(`typography-micro font-medium rounded-full px-2 py-0.5`,`bg-[var(--surface-elevated)] text-muted-foreground`,`border border-[var(--interactive-border)]`),t[0]=i):i=t[0];let a;return t[1]!==r||t[2]!==n?(a=(0,$.jsx)(`span`,{className:i,"data-scope":n,children:r}),t[1]=r,t[2]=n,t[3]=a):a=t[3],a},Hl=()=>{let{t:e}=Fe(),t=qc(e=>e.selectedId),n=wc(),r=Q.useMemo(()=>n.data?.entries??[],[n.data?.entries]),i=Q.useMemo(()=>n.data?.files??[],[n.data?.files]),a=qc(e=>e.draft),o=qc(e=>e.setDraft),s=qc(e=>e.updateEntry),c=qc(e=>e.updateFile),l=qc(e=>e.readFile),u=Q.useMemo(()=>t?r.find(e=>e.id===t)??null:null,[r,t]),d=Q.useMemo(()=>t?i.find(e=>e.id===t)??null:null,[i,t]),f=Q.useMemo(()=>u?fl(u.spec,u.sourcePath):null,[u]),p=Q.useMemo(()=>d?pl(d.absolutePath):null,[d]),[m,h]=Q.useState(!1),[g,_]=Q.useState(!1),v=Q.useRef(new Map);if(Q.useEffect(()=>{let e=!1;return u?(o(zl(u)),()=>{e=!0}):d?(_(!0),(async()=>{let t=await l(d.id);if(e)return;_(!1);let n=t?.content??``;v.current.set(d.id,n),o(Bl(d,n))})(),()=>{e=!0}):(o(null),()=>{e=!0})},[u,d,l,o]),!t)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`plug`,className:`mx-auto mb-3 h-12 w-12 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.plugins.page.empty.select`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:e(`settings.plugins.page.empty.add`)})]})});if(u&&a&&a.mode===`entry`){let t=Ll(a.optionsJson),n=t.ok,r=a.spec!==u.spec||a.optionsJson!==Rl(u.options),i=()=>{o(zl(u))},c=async()=>{if(!n)return;let r=a.spec.trim();if(!r){Y.error(e(`settings.plugins.validation.specRequired`));return}h(!0);try{let n=await s(u.id,{spec:r,options:t.value});n.ok?n.reloadFailed?Y.warning(n.message||e(`settings.plugins.toast.reloadFailed`),{description:n.warning}):Y.success(n.message||e(`settings.plugins.toast.updated`)):Y.error(n.message||e(`settings.plugins.toast.reloadFailed`))}finally{h(!1)}};return(0,$.jsxs)(Nl,{children:[(0,$.jsx)(`div`,{children:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground break-all`,children:u.spec}),(0,$.jsx)(Vl,{scope:u.scope,label:u.scope===`project`?e(`settings.plugins.sidebar.group.projectEntries`):e(`settings.plugins.sidebar.group.userEntries`)})]})}),(0,$.jsx)(Fl,{target:f,name:u.spec}),(0,$.jsx)(Pl,{entryId:u.id,spec:u.spec}),(0,$.jsx)(`div`,{"data-settings-item":`plugins.spec`,children:(0,$.jsx)(Jr,{label:e(`settings.plugins.page.field.spec`),cardClassName:`p-3`,children:(0,$.jsx)(gn,{value:a.spec,"aria-label":e(`settings.plugins.page.field.spec`),onChange:e=>o({...a,spec:e.target.value}),placeholder:e(`settings.plugins.page.field.spec.placeholder`),className:`font-mono typography-meta`,spellCheck:!1})})}),(0,$.jsx)(`div`,{"data-settings-item":`plugins.options`,children:(0,$.jsx)(Jr,{label:e(`settings.plugins.page.field.options`),description:n?void 0:e(`settings.plugins.page.field.options.invalidJson`),cardClassName:`p-3`,children:(0,$.jsx)(jr,{embedded:!0,value:a.optionsJson,"aria-label":e(`settings.plugins.page.field.options`),"aria-invalid":!n,onChange:e=>o({...a,optionsJson:e.target.value}),rows:6,className:q(`font-mono typography-meta min-h-[144px] resize-y`,!n&&`border-[var(--status-error-border)]`),spellCheck:!1,placeholder:`{ }`})})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{variant:`default`,size:`sm`,onClick:()=>void c(),disabled:!r||!n||m,children:e(`settings.plugins.page.action.save`)}),(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:i,disabled:!r||m,children:e(`settings.plugins.page.action.discard`)})]})]})}if(d&&a&&a.mode===`file`){let t=v.current.get(d.id)??``,n=a.content!==t||a.fileName!==d.fileName,r=()=>{(async()=>{_(!0);let e=(await l(d.id))?.content??``;_(!1),v.current.set(d.id,e),o(Bl(d,e))})()},i=async()=>{h(!0);try{let t=await c(d.id,{content:a.content});t.ok?(v.current.set(d.id,a.content),t.reloadFailed?Y.warning(t.message||e(`settings.plugins.toast.reloadFailed`),{description:t.warning}):Y.success(t.message||e(`settings.plugins.toast.updated`))):Y.error(t.message||e(`settings.plugins.toast.reloadFailed`))}finally{h(!1)}};return(0,$.jsxs)(Nl,{children:[(0,$.jsx)(`div`,{children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0 flex-wrap`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground break-all`,children:d.fileName}),(0,$.jsx)(Vl,{scope:d.scope,label:d.scope===`project`?e(`settings.plugins.sidebar.group.projectFiles`):e(`settings.plugins.sidebar.group.userFiles`)})]})}),(0,$.jsx)(Fl,{target:p,name:d.fileName}),(0,$.jsx)(`div`,{"data-settings-item":`plugins.content`,children:(0,$.jsx)(Jr,{label:e(`settings.plugins.page.field.content`),cardClassName:`p-3`,children:(0,$.jsx)(jr,{embedded:!0,value:a.content,"aria-label":e(`settings.plugins.page.field.content`),onChange:e=>o({...a,content:e.target.value}),rows:16,className:`font-mono typography-meta min-h-[320px]`,spellCheck:!1,disabled:g})})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{variant:`default`,size:`sm`,onClick:()=>void i(),disabled:!n||m||g,children:e(`settings.plugins.page.action.save`)}),(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:r,disabled:m||g,children:e(`settings.plugins.page.action.discard`)})]})]})}return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsx)(`div`,{className:`text-center text-muted-foreground`,children:(0,$.jsx)(Z,{name:`loader-4`,className:`mx-auto mb-3 h-6 w-6 animate-spin opacity-50`})})})},Ul={opencode:`OpenCode`,"oh-my-opencode-slim":`oh-my-opencode-slim`,"oh-my-openagent":`oh-my-openagent`};async function Wl(e,t){let n=await e.json().catch(()=>null);return typeof n?.error==`string`&&n.error.trim()?n.error:t}function Gl(){let{t:e}=Fe(),{currentTheme:t}=Qt(),[n,r]=Q.useState([]),[i,a]=Q.useState(null),[o,s]=Q.useState(``),[c,u]=Q.useState(``),[d,f]=Q.useState(``),[p,m]=Q.useState(!0),[h,g]=Q.useState(!1),[_,v]=Q.useState(!1),[y,b]=Q.useState(!1),x=Q.useMemo(()=>{let e=d||`opencode.json`,n=e.endsWith(`.jsonc`)?`jsonc`:`json`,r=[bi(t,{syntaxColors:!1})],i=ei(e);return i&&r.push(i),r.push(Hr({language:n,themeName:t.metadata.id,theme:Fr(t)})),r},[t,d]),S=Q.useCallback(async t=>{m(!0);try{let n=await l(`/api/config/global/${t}`);if(!n.ok)throw Error(await Wl(n,e(`settings.globalConfig.toast.loadFailed`)));let r=await n.json(),i=typeof r.content==`string`?r.content:``;s(i),u(i),f(typeof r.fileName==`string`?r.fileName:``)}catch(t){s(``),u(``),f(``),Y.error(t instanceof Error?t.message:e(`settings.globalConfig.toast.loadFailed`))}finally{m(!1)}},[e]);Q.useEffect(()=>{let t=!1;return(async()=>{m(!0);try{let n=await l(`/api/config/global`);if(!n.ok)throw Error(await Wl(n,e(`settings.globalConfig.toast.loadFailed`)));let i=await n.json(),o=Array.isArray(i.targets)?i.targets.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;if(typeof t.target!=`string`||typeof t.fileName!=`string`||!(t.target in Ul))return[];let n=t.target;return[{id:n,label:Ul[n],fileName:t.fileName}]}):[];if(t)return;r(o),a(e=>o.some(t=>t.id===e)?e:o[0]?.id||null)}catch(n){t||(r([]),a(null),Y.error(n instanceof Error?n.message:e(`settings.globalConfig.toast.loadFailed`)))}finally{t||m(!1)}})(),()=>{t=!0}},[e]),Q.useEffect(()=>{i&&S(i)},[S,i]);let C=async()=>{if(i){g(!0);try{let t=await l(`/api/config/global/${i}`,{method:`PUT`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({content:o})});if(!t.ok)throw Error(await Wl(t,e(`settings.globalConfig.toast.saveFailed`)));let n=await t.json(),r=typeof n.content==`string`?n.content:o;s(r),u(r),Y.success(e(`settings.globalConfig.toast.saved`)),v(n.requiresManualRestart===!0)}catch(t){Y.error(t instanceof Error?t.message:e(`settings.globalConfig.toast.saveFailed`))}finally{g(!1)}}},w=async()=>{b(!0);try{await tt({message:e(`settings.view.actions.reloadOpenCode`),mode:`projects`,scopes:[`all`]}),v(!1)}catch(t){Y.error(t instanceof Error?t.message:e(`settings.view.actions.reloadOpenCode`))}finally{b(!1)}};return(0,$.jsxs)(Ar,{outerClassName:`h-full`,className:`w-full`,children:[(0,$.jsx)(`div`,{className:`oc-settings-page-content mx-auto w-full max-w-4xl p-3 sm:p-6 sm:pt-8`,children:(0,$.jsx)(Jr,{itemId:`global-config.editor`,label:e(`settings.globalConfig.title`),description:e(`settings.globalConfig.description`),cardClassName:`p-3`,children:n.length>0?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(`div`,{className:`flex flex-wrap items-center gap-1`,children:n.map(e=>(0,$.jsx)(J,{variant:`chip`,size:`xs`,"aria-pressed":i===e.id,onClick:()=>a(e.id),children:e.label},e.id))}),(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3 px-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta truncate text-muted-foreground`,children:d}),i&&(0,$.jsx)(J,{variant:`ghost`,size:`xs`,onClick:()=>void S(i),disabled:p||h,children:e(`settings.globalConfig.actions.reload`)})]}),i&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`h-[clamp(420px,62dvh,760px)] overflow-hidden bg-background`,children:(0,$.jsx)(Ur,{value:o,onChange:s,readOnly:p,extensions:x,className:`h-full`,enableSearch:!0})}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,$.jsx)(J,{onClick:C,disabled:p||h||o===c,size:`sm`,children:e(h?`settings.common.actions.saving`:`settings.common.actions.saveChanges`)}),i!==`opencode`&&(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.globalConfig.restartHint`)})]})]})]}):(0,$.jsx)(`div`,{className:`min-h-12`,"aria-busy":p})})}),(0,$.jsx)(an,{open:_,onOpenChange:e=>!y&&v(e),children:(0,$.jsxs)(tn,{className:`max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:e(`settings.view.actions.reloadOpenCode`)}),(0,$.jsx)(rn,{children:e(`settings.globalConfig.restartHint`)})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{variant:`ghost`,size:`sm`,onClick:()=>v(!1),disabled:y,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,onClick:()=>void w(),disabled:y,children:e(`settings.view.actions.reloadOpenCode`)})]})]})})]})}var Kl=`<built-in>`,ql=e=>e?.path===Kl,Jl=e=>{let t=(0,Ki.c)(172),{onItemSelect:n}=e,{t:r}=Fe(),[i,a]=Q.useState(null),[o,s]=Q.useState(``),[c,l]=Q.useState(null),[u,d]=Q.useState(!1),[f,p]=Q.useState(null),{selectedSkillName:m,setSelectedSkill:h,setSkillDraft:g,createSkill:_,deleteSkill:v,getSkillDetail:y}=Ca(le(Xl)),b=it(),x;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(x=vt(),t[0]=x):x=t[0];let S=x,C;t[1]===b.data?C=t[2]:(C=b.data??[],t[1]=b.data,t[2]=C);let w=C,T;t[3]!==n||t[4]!==h||t[5]!==g||t[6]!==w?(T=()=>{let e=`new-skill`,t=1;for(;w.some(t=>t.name===e);)e=`new-skill-${t}`,t++;g({name:e,scope:`user`,source:`opencode`,description:``}),h(e),n?.()},t[3]=n,t[4]=h,t[5]=g,t[6]=w,t[7]=T):T=t[7];let E=T,D;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(D=async e=>{ql(e)||l(e)},t[8]=D):D=t[8];let O=D,k;t[9]!==c||t[10]!==v||t[11]!==r?(k=async()=>{if(c){if(ql(c)){l(null);return}d(!0),await v(c.name,{directory:S})?(Y.success(r(`settings.skills.sidebar.toast.skillDeleted`,{name:c.name})),l(null)):Y.error(r(`settings.skills.sidebar.toast.deleteSkillFailed`)),d(!1)}},t[9]=c,t[10]=v,t[11]=r,t[12]=k):k=t[12];let A=k,j;t[13]!==y||t[14]!==h||t[15]!==g||t[16]!==w||t[17]!==r?(j=async e=>{if(ql(e))return;let t=e.name,n=1,i=`${t}-copy`;for(;w.some(e=>e.name===i);)n++,i=`${t}-copy-${n}`;let a=await y(e.name);if(!a){Y.error(r(`settings.skills.sidebar.toast.duplicateLoadFailed`));return}g({name:i,scope:e.scope||`user`,source:e.source||`opencode`,description:(a.sources.md.fields.includes(`description`),``),instructions:``}),h(i)},t[13]=y,t[14]=h,t[15]=g,t[16]=w,t[17]=r,t[18]=j):j=t[18];let M=j,N;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(N=e=>{ql(e)||(s(e.name),a(e))},t[19]=N):N=t[19];let P=N,F;t[20]!==_||t[21]!==v||t[22]!==y||t[23]!==i||t[24]!==o||t[25]!==h||t[26]!==w||t[27]!==r?(F=async()=>{if(!i)return;if(ql(i)){a(null);return}let e=o.trim().replace(/\s+/g,`-`).toLowerCase();if(!e){Y.error(r(`settings.skills.page.toast.skillNameRequired`));return}if(e===i.name){a(null);return}if(w.some(t=>t.name===e)){Y.error(r(`settings.skills.page.toast.skillExists`));return}if(!await y(i.name)){Y.error(r(`settings.skills.sidebar.toast.renameLoadFailed`)),a(null);return}await _({name:e,description:`Renamed skill`,scope:i.scope,source:i.source},{directory:S})?await v(i.name,{directory:S})?(Y.success(`Skill renamed to "${e}"`),h(e)):Y.error(r(`settings.skills.sidebar.toast.removeOldAfterRenameFailed`)):Y.error(r(`settings.skills.sidebar.toast.renameFailed`)),a(null)},t[20]=_,t[21]=v,t[22]=y,t[23]=i,t[24]=o,t[25]=h,t[26]=w,t[27]=r,t[28]=F):F=t[28];let I=F,L;t[29]===w?L=t[30]:(L=w.filter(Zl),t[29]=w,t[30]=L);let R=L,z;t[31]===w?z=t[32]:(z=w.filter(Ql),t[31]=w,t[32]=z);let B=z,V;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(V=function(e){let t={},n=[];for(let r of e)r.group?(t[r.group]||(t[r.group]=[]),t[r.group].push(r)):n.push(r);let r=Object.keys(t).sort($l).map(e=>({name:e,skills:[...t[e]].sort(eu)}));return n.sort(tu),{sortedGroups:r,ungrouped:n}},t[33]=V):V=t[33];let H=V,U;t[34]===R?U=t[35]:(U=H(R),t[34]=R,t[35]=U);let W=U,ee;t[36]===B?ee=t[37]:(ee=H(B),t[36]=B,t[37]=ee);let G=ee,te;t[38]===r?te=t[39]:(te=r(`settings.skills.sidebar.section.project`),t[38]=r,t[39]=te);let ne=te,re;t[40]===r?re=t[41]:(re=r(`settings.skills.sidebar.section.user`),t[40]=r,t[41]=re);let ie=re,ae;t[42]===ne?ae=t[43]:(ae=(0,$.jsx)(`span`,{children:ne}),t[42]=ne,t[43]=ae);let oe;t[44]===r?oe=t[45]:(oe=r(`settings.skills.page.title.newSkill`),t[44]=r,t[45]=oe);let se;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(Z,{name:`add`,className:`h-4 w-4`}),t[46]=se):se=t[46];let ce;t[47]!==E||t[48]!==oe?(ce=(0,$.jsx)(J,{"data-settings-item":`skills.create`,size:`icon`,variant:`ghost`,"aria-label":oe,onClick:E,children:se}),t[47]=E,t[48]=oe,t[49]=ce):ce=t[49];let ue;t[50]!==ae||t[51]!==ce?(ue=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[ae,ce]}),t[50]=ae,t[51]=ce,t[52]=ue):ue=t[52];let de=ue,fe;t[53]!==M||t[54]!==n||t[55]!==f||t[56]!==m||t[57]!==h?(fe=e=>(0,$.jsx)(Yl,{skill:e,isSelected:m===e.name,onSelect:()=>{h(e.name),n?.()},onRename:()=>P(e),onDelete:()=>O(e),onDuplicate:()=>M(e),isMenuOpen:f===e.name,onMenuOpenChange:t=>p(t?e.name:null)},e.name),t[53]=M,t[54]=n,t[55]=f,t[56]=m,t[57]=h,t[58]=fe):fe=t[58];let pe=fe,me,he;t[59]===Symbol.for(`react.memo_cache_sentinel`)?(me=q(`oc-settings-page-content h-full overflow-y-auto p-3`,`bg-background`),he=(0,$.jsx)(Ba,{}),t[59]=me,t[60]=he):(me=t[59],he=t[60]);let ge;t[61]!==w.length||t[62]!==r?(ge=w.length===0?(0,$.jsx)(Jr,{children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`book-open`,className:`mx-auto mb-3 h-10 w-10 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-medium`,children:r(`settings.skills.sidebar.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:r(`settings.skills.sidebar.empty.description`)})]})}):null,t[61]=w.length,t[62]=r,t[63]=ge):ge=t[63];let _e;t[64]!==W.ungrouped||t[65]!==de||t[66]!==pe?(_e=W.ungrouped.length>0?(0,$.jsx)(Jr,{label:de,children:W.ungrouped.map(pe)}):(0,$.jsx)(Jr,{label:de,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})}),t[64]=W.ungrouped,t[65]=de,t[66]=pe,t[67]=_e):_e=t[67];let ve;if(t[68]!==W.sortedGroups||t[69]!==ne||t[70]!==pe){let e;t[72]!==ne||t[73]!==pe?(e=e=>{let{name:t,skills:n}=e;return(0,$.jsx)(qa,{label:t,labelPrefix:ne,count:n.length,storageKey:`project-skills`,variant:`settings-card`,children:n.map(pe)},t)},t[72]=ne,t[73]=pe,t[74]=e):e=t[74],ve=W.sortedGroups.map(e),t[68]=W.sortedGroups,t[69]=ne,t[70]=pe,t[71]=ve}else ve=t[71];let ye;t[75]!==G.ungrouped||t[76]!==pe||t[77]!==ie?(ye=G.ungrouped.length>0?(0,$.jsx)(Jr,{label:ie,children:G.ungrouped.map(pe)}):null,t[75]=G.ungrouped,t[76]=pe,t[77]=ie,t[78]=ye):ye=t[78];let K;if(t[79]!==G.sortedGroups||t[80]!==pe||t[81]!==ie){let e;t[83]!==pe||t[84]!==ie?(e=e=>{let{name:t,skills:n}=e;return(0,$.jsx)(qa,{label:t,labelPrefix:ie,count:n.length,storageKey:`user-skills`,variant:`settings-card`,children:n.map(pe)},t)},t[83]=pe,t[84]=ie,t[85]=e):e=t[85],K=G.sortedGroups.map(e),t[79]=G.sortedGroups,t[80]=pe,t[81]=ie,t[82]=K}else K=t[82];let be=c!==null,xe;t[86]===u?xe=t[87]:(xe=e=>{!e&&!u&&l(null)},t[86]=u,t[87]=xe);let Se;t[88]===r?Se=t[89]:(Se=r(`settings.skills.sidebar.deleteDialog.title`),t[88]=r,t[89]=Se);let Ce;t[90]===Se?Ce=t[91]:(Ce=(0,$.jsx)(nn,{children:Se}),t[90]=Se,t[91]=Ce);let we=c?.name??``,Te;t[92]!==r||t[93]!==we?(Te=r(`settings.skills.sidebar.deleteDialog.description`,{name:we}),t[92]=r,t[93]=we,t[94]=Te):Te=t[94];let Ee;t[95]===Te?Ee=t[96]:(Ee=(0,$.jsx)(rn,{children:Te}),t[95]=Te,t[96]=Ee);let De;t[97]!==Ce||t[98]!==Ee?(De=(0,$.jsxs)($t,{children:[Ce,Ee]}),t[97]=Ce,t[98]=Ee,t[99]=De):De=t[99];let Oe;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=()=>l(null),t[100]=Oe):Oe=t[100];let ke;t[101]===r?ke=t[102]:(ke=r(`settings.common.actions.cancel`),t[101]=r,t[102]=ke);let Ae;t[103]!==u||t[104]!==ke?(Ae=(0,$.jsx)(J,{size:`sm`,className:`text-foreground hover:bg-interactive-hover hover:text-foreground`,variant:`ghost`,onClick:Oe,disabled:u,children:ke}),t[103]=u,t[104]=ke,t[105]=Ae):Ae=t[105];let je;t[106]===r?je=t[107]:(je=r(`settings.common.actions.delete`),t[106]=r,t[107]=je);let Me;t[108]!==A||t[109]!==u||t[110]!==je?(Me=(0,$.jsx)(J,{size:`sm`,onClick:A,disabled:u,children:je}),t[108]=A,t[109]=u,t[110]=je,t[111]=Me):Me=t[111];let Ne;t[112]!==Ae||t[113]!==Me?(Ne=(0,$.jsxs)(en,{children:[Ae,Me]}),t[112]=Ae,t[113]=Me,t[114]=Ne):Ne=t[114];let Pe;t[115]!==De||t[116]!==Ne?(Pe=(0,$.jsxs)(tn,{className:`max-w-md`,children:[De,Ne]}),t[115]=De,t[116]=Ne,t[117]=Pe):Pe=t[117];let Ie;t[118]!==be||t[119]!==xe||t[120]!==Pe?(Ie=(0,$.jsx)(an,{open:be,onOpenChange:xe,children:Pe}),t[118]=be,t[119]=xe,t[120]=Pe,t[121]=Ie):Ie=t[121];let Le=i!==null,Re;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(Re=e=>!e&&a(null),t[122]=Re):Re=t[122];let ze;t[123]===r?ze=t[124]:(ze=r(`settings.skills.sidebar.renameDialog.title`),t[123]=r,t[124]=ze);let Be;t[125]===ze?Be=t[126]:(Be=(0,$.jsx)(nn,{children:ze}),t[125]=ze,t[126]=Be);let Ve=i?.name??``,He;t[127]!==r||t[128]!==Ve?(He=r(`settings.skills.sidebar.renameDialog.description`,{name:Ve}),t[127]=r,t[128]=Ve,t[129]=He):He=t[129];let Ue;t[130]===He?Ue=t[131]:(Ue=(0,$.jsx)(rn,{children:He}),t[130]=He,t[131]=Ue);let We;t[132]!==Be||t[133]!==Ue?(We=(0,$.jsxs)($t,{children:[Be,Ue]}),t[132]=Be,t[133]=Ue,t[134]=We):We=t[134];let Ge;t[135]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=e=>s(e.target.value),t[135]=Ge):Ge=t[135];let Ke;t[136]===r?Ke=t[137]:(Ke=r(`settings.skills.sidebar.renameDialog.placeholder`),t[136]=r,t[137]=Ke);let qe;t[138]===I?qe=t[139]:(qe=e=>{e.key===`Enter`&&I()},t[138]=I,t[139]=qe);let Je;t[140]!==o||t[141]!==Ke||t[142]!==qe?(Je=(0,$.jsx)(gn,{value:o,onChange:Ge,placeholder:Ke,className:`text-foreground placeholder:text-muted-foreground`,onKeyDown:qe}),t[140]=o,t[141]=Ke,t[142]=qe,t[143]=Je):Je=t[143];let Ye;t[144]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=()=>a(null),t[144]=Ye):Ye=t[144];let Xe;t[145]===r?Xe=t[146]:(Xe=r(`settings.common.actions.cancel`),t[145]=r,t[146]=Xe);let Ze;t[147]===Xe?Ze=t[148]:(Ze=(0,$.jsx)(J,{size:`sm`,className:`text-foreground hover:bg-interactive-hover hover:text-foreground`,variant:`ghost`,onClick:Ye,children:Xe}),t[147]=Xe,t[148]=Ze);let Qe;t[149]===r?Qe=t[150]:(Qe=r(`settings.common.actions.rename`),t[149]=r,t[150]=Qe);let $e;t[151]!==I||t[152]!==Qe?($e=(0,$.jsx)(J,{size:`sm`,onClick:I,children:Qe}),t[151]=I,t[152]=Qe,t[153]=$e):$e=t[153];let et;t[154]!==Ze||t[155]!==$e?(et=(0,$.jsxs)(en,{children:[Ze,$e]}),t[154]=Ze,t[155]=$e,t[156]=et):et=t[156];let tt;t[157]!==We||t[158]!==Je||t[159]!==et?(tt=(0,$.jsxs)(tn,{children:[We,Je,et]}),t[157]=We,t[158]=Je,t[159]=et,t[160]=tt):tt=t[160];let nt;t[161]!==Le||t[162]!==tt?(nt=(0,$.jsx)(an,{open:Le,onOpenChange:Re,children:tt}),t[161]=Le,t[162]=tt,t[163]=nt):nt=t[163];let rt;return t[164]!==ge||t[165]!==_e||t[166]!==ve||t[167]!==ye||t[168]!==K||t[169]!==Ie||t[170]!==nt?(rt=(0,$.jsxs)(`div`,{className:me,children:[he,ge,_e,ve,ye,K,Ie,nt]}),t[164]=ge,t[165]=_e,t[166]=ve,t[167]=ye,t[168]=K,t[169]=Ie,t[170]=nt,t[171]=rt):rt=t[171],rt},Yl=e=>{let t=(0,Ki.c)(51),{skill:n,isSelected:r,onSelect:i,onDelete:a,onRename:o,onDuplicate:s,isMenuOpen:c,onMenuOpenChange:l}=e,{t:u}=Fe(),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=Er(),t[0]=d):d=t[0];let f=d,p;t[1]!==n.source||t[2]!==u?(p=n.source===`claude`?u(`settings.skills.sidebar.badge.claude`):n.source===`agents`?u(`settings.skills.sidebar.badge.agents`):u(`settings.skills.sidebar.badge.opencode`),t[1]=n.source,t[2]=u,t[3]=p):p=t[3];let m=p,h;t[4]===n?h=t[5]:(h=ql(n),t[4]=n,t[5]=h);let g=h,[_,v]=Q.useState(!1),y;t[6]!==a||t[7]!==s||t[8]!==o||t[9]!==u?(y=e=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),o()},children:[(0,$.jsx)(Z,{name:`edit`,className:`h-4 w-4 mr-px`}),u(`settings.common.actions.rename`)]}),(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),s()},children:[(0,$.jsx)(Z,{name:`file-copy`,className:`h-4 w-4 mr-px`}),u(`settings.common.actions.duplicate`)]}),(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),a()},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`h-4 w-4 mr-px`}),u(`settings.common.actions.delete`)]})]}),t[6]=a,t[7]=s,t[8]=o,t[9]=u,t[10]=y):y=t[10];let b=y,x=!g&&_,S=r?`bg-interactive-selection`:`hover:bg-interactive-hover`,C;t[11]===S?C=t[12]:(C=q(`oc-settings-group-row group relative flex items-center transition-colors duration-150 select-none`,S),t[11]=S,t[12]=C);let w;t[13]===g?w=t[14]:(w=!f&&!g?e=>{e.preventDefault(),v(!0)}:void 0,t[13]=g,t[14]=w);let T;t[15]!==C||t[16]!==w?(T=(0,$.jsx)(`div`,{className:C,onContextMenu:w}),t[15]=C,t[16]=w,t[17]=T):T=t[17];let E;t[18]===n.name?E=t[19]:(E=(0,$.jsx)(`span`,{className:`typography-ui-label font-normal whitespace-normal [overflow-wrap:anywhere] text-foreground`,children:n.name}),t[18]=n.name,t[19]=E);let D;t[20]===n.scope?D=t[21]:(D=(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground bg-[var(--surface-muted)] px-1 rounded flex-shrink-0 leading-none pb-px border border-[var(--interactive-border)]/50`,children:n.scope}),t[20]=n.scope,t[21]=D);let O;t[22]===m?O=t[23]:(O=(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground bg-[var(--surface-muted)] px-1 rounded flex-shrink-0 leading-none pb-px border border-[var(--interactive-border)]/50`,children:m}),t[22]=m,t[23]=O);let k;t[24]!==D||t[25]!==O?(k=(0,$.jsxs)(`span`,{className:`flex flex-wrap items-center gap-1.5`,children:[D,O]}),t[24]=D,t[25]=O,t[26]=k):k=t[26];let A;t[27]!==E||t[28]!==k?(A=(0,$.jsxs)(`div`,{className:`flex min-w-0 max-w-full flex-col items-start gap-1.5`,children:[E,k]}),t[27]=E,t[28]=k,t[29]=A):A=t[29];let j;t[30]!==i||t[31]!==A?(j=(0,$.jsx)(`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:A}),t[30]=i,t[31]=A,t[32]=j):j=t[32];let M;t[33]!==g||t[34]!==c||t[35]!==l||t[36]!==b?(M=g?null:(0,$.jsxs)(rr,{open:c,onOpenChange:e=>{e&&v(!1),l(e)},children:[(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsx)(J,{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)(Z,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(Jn,{align:`end`,className:`w-fit min-w-20`,children:b(fr)})]}),t[33]=g,t[34]=c,t[35]=l,t[36]=b,t[37]=M):M=t[37];let N;t[38]!==j||t[39]!==M?(N=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:[j,M]}),t[38]=j,t[39]=M,t[40]=N):N=t[40];let P;t[41]!==N||t[42]!==T?(P=(0,$.jsx)(Pi,{render:T,children:N}),t[41]=N,t[42]=T,t[43]=P):P=t[43];let F;t[44]!==g||t[45]!==b?(F=g?null:(0,$.jsx)(Ii,{className:`w-fit min-w-20`,children:b(Ri)}),t[44]=g,t[45]=b,t[46]=F):F=t[46];let I;return t[47]!==P||t[48]!==F||t[49]!==x?(I=(0,$.jsxs)(ji,{open:x,onOpenChange:v,children:[P,F]}),t[47]=P,t[48]=F,t[49]=x,t[50]=I):I=t[50],I};function Xl(e){return{selectedSkillName:e.selectedSkillName,setSelectedSkill:e.setSelectedSkill,setSkillDraft:e.setSkillDraft,createSkill:e.createSkill,deleteSkill:e.deleteSkill,getSkillDetail:e.getSkillDetail}}function Zl(e){return e.scope===`project`}function Ql(e){return e.scope===`user`}function $l(e,t){return e.localeCompare(t)}function eu(e,t){return e.name.localeCompare(t.name)}function tu(e,t){return e.name.localeCompare(t.name)}var nu=()=>{let e=me.getDirectory();if(typeof e==`string`&&e.trim().length>0)return e;try{let e=window.__zustand_directory_store__;if(e)return e.getState().currentDirectory}catch{}return null},ru=oe()(ce(e=>({selectedSourceId:lt[0]?.id??null,isScanning:!1,isInstalling:!1,lastScanError:null,lastInstallError:null,scanResults:null,setSelectedSource:t=>e({selectedSourceId:t}),scanRepo:async(t,n)=>{e({isScanning:!0,lastScanError:null,scanResults:null});try{let r=n&&Object.prototype.hasOwnProperty.call(n,`directory`)?typeof n?.directory==`string`&&n.directory.trim()||null:nu(),i=r?`?directory=${encodeURIComponent(r)}`:``,a=await l(`/api/config/skills/scan${i}`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(t)}),o=await a.json().catch(()=>null);if(!a.ok||!o){let t=o?.error||{kind:`unknown`,message:`Failed to scan repository`};return e({lastScanError:t}),{ok:!1,error:t}}return o.ok?(e({scanResults:o.items||[]}),o):(e({lastScanError:o.error||{kind:`unknown`,message:`Failed to scan repository`}}),o)}finally{e({isScanning:!1})}},installSkills:async(t,n)=>{let r=n&&Object.prototype.hasOwnProperty.call(n,`directory`)?typeof n?.directory==`string`&&n.directory.trim()||null:nu(),a=n?.transportIdentity??i();if(i()!==a)return{ok:!1,error:{kind:`unknown`,message:`Failed to install skills`}};e({isInstalling:!0,lastInstallError:null});try{let n=r?`?directory=${encodeURIComponent(r)}`:``,o=await l(`/api/config/skills/install${n}`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(t)}),s=await o.json().catch(()=>null);if(!s){let t={kind:`unknown`,message:`Failed to install skills`};return e({lastInstallError:t}),{ok:!1,error:t}}if(!o.ok||!s.ok){let t=s.error||{kind:`unknown`,message:`Failed to install skills`};return e({lastInstallError:t}),{ok:!1,error:t}}return i()===a?(await gt(O,r,a),i()===a&&await ct(O,r,a),s):s}catch(t){let n={kind:`unknown`,message:t instanceof Error?t.message:String(t)};return e({lastInstallError:n}),{ok:!1,error:n}}finally{e({isInstalling:!1})}}}),{name:`skills-catalog-store`})),iu=()=>`custom:${Date.now()}-${Math.random().toString(16).slice(2)}`,au=e=>{let t=e.trim(),n=t.startsWith(`https://`)?`https`:t.startsWith(`git@`)?`ssh`:`shorthand`;if(n===`ssh`)return`${t.split(`:`)[1].replace(/\.git$/i,``)}`;if(n===`https`)return t.split(`/`).slice(3).filter(Boolean).join(`/`).replace(/\.git$/i,``);let r=t.match(/^([^/\s]+)\/([^/\s]+)(?:\/.+)?$/);return r?`${r[1]}/${r[2].replace(/\.git$/i,``)}`:t},ou=async()=>{try{let e=h()?.settings;if(e)return(await e.load())?.settings||{};let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});return t.ok?await t.json().catch(()=>null):null}catch{return null}},su=e=>{let t=(0,Ki.c)(158),{open:n,onOpenChange:r}=e,{t:a}=Fe(),o=ru(cu),s=ru(lu),c=ru(uu),l=xi(du),u=xi(fu),[d,f]=Q.useState(``),[p,m]=Q.useState(``),[h,g]=Q.useState(``),_;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(_=[],t[0]=_):_=t[0];let[v,y]=Q.useState(_),[b,x]=Q.useState(null),[S,C]=Q.useState(!1),w;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(w=[],t[1]=w):w=t[1];let[E,k]=Q.useState(w),[A,j]=Q.useState(null),M=Q.useRef(0),N=Q.useRef(null),P;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(P=e=>{M.current+=1,C(!1),x(null),N.current=null,e?.clearIdentity&&(k([]),j(null))},t[2]=P):P=t[2];let F=P,I,L;t[3]!==u||t[4]!==n?(I=()=>{n&&(M.current+=1,f(``),m(``),g(``),x(null),C(!1),N.current=null,k([]),j(null),u(),(async()=>{let e=await ou(),t=Array.isArray(e?.skillCatalogs)?e?.skillCatalogs:[];y(t||[])})())},L=[n,u],t[3]=u,t[4]=n,t[5]=I,t[6]=L):(I=t[5],L=t[6]),Q.useEffect(I,L);let R;t[7]===p?R=t[8]:(R=p.trim(),t[7]=p,t[8]=R);let z=R,B;t[9]===h?B=t[10]:(B=h.trim(),t[9]=h,t[10]=B);let V=B,H;if(t[11]!==v||t[12]!==z||t[13]!==V){let e;t[15]!==z||t[16]!==V?(e=e=>{let t=(e.source||``).trim(),n=(e.subpath||``).trim();return t===z&&n===V},t[15]=z,t[16]=V,t[17]=e):e=t[17],H=v.some(e),t[11]=v,t[12]=z,t[13]=V,t[14]=H}else H=t[14];let U=H,W;t[18]!==l||t[19]!==A||t[20]!==d||t[21]!==o||t[22]!==p||t[23]!==h||t[24]!==a?(W=async()=>{let e=p.trim();if(!e){Y.error(a(`settings.skills.catalog.add.toast.repositoryRequired`));return}d.trim()||f(au(e)),C(!1),x(null);let t=M.current+1;M.current=t;let n=xt(),r=i(),s=await o({source:e,subpath:h.trim()||void 0,gitIdentityId:A||void 0},{directory:n});if(M.current!==t||i()!==r||xt()!==n)return;if(!s.ok){if(s.error?.kind===`authRequired`){if(D()){Y.error(a(`settings.skills.catalog.shared.toast.privateRepoNotSupportedVsCode`));return}let e=s.error.identities||[];if(k(e),!A&&e.length>0){let t=l&&l!==`global`&&e.some(e=>e.id===l)?l:e[0].id;j(t)}Y.error(a(`settings.skills.catalog.add.toast.authenticationRequiredScan`));return}Y.error(s.error?.message||a(`settings.skills.catalog.add.toast.scanFailed`));return}let c=s.items?.length||0;if(x(c),c===0){Y.error(a(`settings.skills.catalog.add.toast.noSkillsFound`)),C(!1);return}k([]),C(!0),N.current={directory:n,transport:r},Y.success(a(`settings.skills.catalog.shared.toast.foundSkills`,{count:c}))},t[18]=l,t[19]=A,t[20]=d,t[21]=o,t[22]=p,t[23]=h,t[24]=a,t[25]=W):W=t[25];let ee=W,G;t[26]!==v||t[27]!==A||t[28]!==U||t[29]!==d||t[30]!==r||t[31]!==S||t[32]!==s||t[33]!==p||t[34]!==h||t[35]!==a?(G=async()=>{let e=d.trim(),t=p.trim(),n=h.trim();if(!e){Y.error(a(`settings.skills.catalog.add.toast.catalogNameRequired`));return}if(!t){Y.error(a(`settings.skills.catalog.add.toast.repositoryRequired`));return}let o=xt(),c=i();if(!S||N.current?.directory!==o||N.current?.transport!==c){C(!1),N.current=null,Y.error(a(`settings.skills.catalog.add.toast.scanBeforeAdd`));return}if(U){Y.error(a(`settings.skills.catalog.add.toast.catalogAlreadyExists`));return}let l={id:iu(),label:e,source:t,...n?{subpath:n}:{},...A?{gitIdentityId:A}:{}},u=[...v,l],f=xt(),m=i();try{await T({skillCatalogs:u}),y(u),Y.success(a(`settings.skills.catalog.add.toast.catalogAdded`)),await O.invalidateQueries({queryKey:[m,`skillsCatalog`,`sources`],exact:!1}),await yt(O,f,m),await bt(O,f,l.id,m),i()===m&&(s(l.id),r(!1))}catch(e){let t=e;Y.error(t instanceof Error?t.message:a(`settings.skills.catalog.add.toast.saveFailed`))}},t[26]=v,t[27]=A,t[28]=U,t[29]=d,t[30]=r,t[31]=S,t[32]=s,t[33]=p,t[34]=h,t[35]=a,t[36]=G):G=t[36];let te=G,ne;t[37]===a?ne=t[38]:(ne=a(`settings.skills.catalog.add.title`),t[37]=a,t[38]=ne);let re;t[39]===ne?re=t[40]:(re=(0,$.jsx)(nn,{children:ne}),t[39]=ne,t[40]=re);let ie;t[41]===a?ie=t[42]:(ie=a(`settings.skills.catalog.add.descriptionPrefix`),t[41]=a,t[42]=ie);let ae;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(`code`,{className:`font-mono`,children:`SKILL.md`}),t[43]=ae):ae=t[43];let oe;t[44]===a?oe=t[45]:(oe=a(`settings.skills.catalog.add.descriptionSuffix`),t[44]=a,t[45]=oe);let se;t[46]!==ie||t[47]!==oe?(se=(0,$.jsxs)(rn,{children:[ie,` `,ae,oe]}),t[46]=ie,t[47]=oe,t[48]=se):se=t[48];let ce;t[49]!==re||t[50]!==se?(ce=(0,$.jsxs)($t,{children:[re,se]}),t[49]=re,t[50]=se,t[51]=ce):ce=t[51];let le;t[52]===a?le=t[53]:(le=a(`settings.skills.catalog.add.field.catalogName`),t[52]=a,t[53]=le);let ue;t[54]===le?ue=t[55]:(ue=(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:le}),t[54]=le,t[55]=ue);let de;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(de=e=>f(e.target.value),t[56]=de):de=t[56];let fe;t[57]===a?fe=t[58]:(fe=a(`settings.skills.catalog.add.field.catalogNamePlaceholder`),t[57]=a,t[58]=fe);let pe;t[59]!==d||t[60]!==fe?(pe=(0,$.jsx)(gn,{value:d,onChange:de,placeholder:fe}),t[59]=d,t[60]=fe,t[61]=pe):pe=t[61];let me;t[62]!==ue||t[63]!==pe?(me=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[ue,pe]}),t[62]=ue,t[63]=pe,t[64]=me):me=t[64];let he;t[65]===a?he=t[66]:(he=a(`settings.skills.catalog.add.field.repository`),t[65]=a,t[66]=he);let ge;t[67]===he?ge=t[68]:(ge=(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:he}),t[67]=he,t[68]=ge);let _e;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(_e=e=>{m(e.target.value),F({clearIdentity:!0})},t[69]=_e):_e=t[69];let ve;t[70]===a?ve=t[71]:(ve=a(`settings.skills.catalog.shared.field.repositoryPlaceholder`),t[70]=a,t[71]=ve);let ye;t[72]!==p||t[73]!==ve?(ye=(0,$.jsx)(gn,{value:p,onChange:_e,placeholder:ve}),t[72]=p,t[73]=ve,t[74]=ye):ye=t[74];let K;t[75]===a?K=t[76]:(K=a(`settings.skills.catalog.add.field.repositoryHint`),t[75]=a,t[76]=K);let be;t[77]===K?be=t[78]:(be=(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:K}),t[77]=K,t[78]=be);let xe;t[79]!==ge||t[80]!==ye||t[81]!==be?(xe=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[ge,ye,be]}),t[79]=ge,t[80]=ye,t[81]=be,t[82]=xe):xe=t[82];let Se;t[83]===a?Se=t[84]:(Se=a(`settings.skills.catalog.add.field.optionalSubpath`),t[83]=a,t[84]=Se);let Ce;t[85]===Se?Ce=t[86]:(Ce=(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:Se}),t[85]=Se,t[86]=Ce);let we;t[87]===Symbol.for(`react.memo_cache_sentinel`)?(we=e=>{g(e.target.value),F({clearIdentity:!0})},t[87]=we):we=t[87];let Te;t[88]===a?Te=t[89]:(Te=a(`settings.skills.catalog.shared.field.subpathPlaceholder`),t[88]=a,t[89]=Te);let Ee;t[90]!==h||t[91]!==Te?(Ee=(0,$.jsx)(gn,{value:h,onChange:we,placeholder:Te}),t[90]=h,t[91]=Te,t[92]=Ee):Ee=t[92];let De;t[93]!==Ce||t[94]!==Ee?(De=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[Ce,Ee]}),t[93]=Ce,t[94]=Ee,t[95]=De):De=t[95];let Oe;t[96]!==A||t[97]!==E||t[98]!==a?(Oe=E.length>0&&!D()?(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-[var(--status-warning)]`,children:a(`settings.skills.catalog.shared.auth.title`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground ml-2`,children:a(`settings.skills.catalog.shared.auth.description`)})]}),(0,$.jsxs)(pn,{value:A||``,onValueChange:e=>{j(e),F()},children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(`span`,{children:E.find(e=>e.id===A)?.name||a(`settings.skills.catalog.shared.auth.chooseIdentity`)})}),(0,$.jsx)(dn,{align:`start`,children:E.map(pu)})]}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:a(`settings.skills.catalog.shared.auth.footerHint`)})]}):null,t[96]=A,t[97]=E,t[98]=a,t[99]=Oe):Oe=t[99];let ke;t[100]!==b||t[101]!==a?(ke=b===null?null:(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:a(`settings.skills.catalog.add.scanResult`,{count:b})}),t[100]=b,t[101]=a,t[102]=ke):ke=t[102];let Ae;t[103]!==U||t[104]!==a?(Ae=U?(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:a(`settings.skills.catalog.add.duplicateMessage`)}):null,t[103]=U,t[104]=a,t[105]=Ae):Ae=t[105];let je;t[106]!==me||t[107]!==xe||t[108]!==De||t[109]!==Oe||t[110]!==ke||t[111]!==Ae?(je=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[me,xe,De,Oe,ke,Ae]}),t[106]=me,t[107]=xe,t[108]=De,t[109]=Oe,t[110]=ke,t[111]=Ae,t[112]=je):je=t[112];let Me;t[113]===r?Me=t[114]:(Me=()=>r(!1),t[113]=r,t[114]=Me);let Ne;t[115]===a?Ne=t[116]:(Ne=a(`settings.common.actions.cancel`),t[115]=a,t[116]=Ne);let Pe;t[117]!==Me||t[118]!==Ne?(Pe=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:Me,children:Ne}),t[117]=Me,t[118]=Ne,t[119]=Pe):Pe=t[119];let Ie;t[120]===ee?Ie=t[121]:(Ie=()=>void ee(),t[120]=ee,t[121]=Ie);let Le;t[122]!==c||t[123]!==p?(Le=c||!p.trim(),t[122]=c,t[123]=p,t[124]=Le):Le=t[124];let Re;t[125]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,$.jsx)(Z,{name:`git-repository`,className:`h-4 w-4`}),t[125]=Re):Re=t[125];let q;t[126]!==c||t[127]!==a?(q=a(c?`settings.skills.catalog.shared.actions.scanning`:`settings.skills.catalog.shared.actions.scan`),t[126]=c,t[127]=a,t[128]=q):q=t[128];let ze;t[129]!==Ie||t[130]!==Le||t[131]!==q?(ze=(0,$.jsxs)(J,{size:`sm`,className:`gap-2`,variant:`ghost`,onClick:Ie,disabled:Le,children:[Re,q]}),t[129]=Ie,t[130]=Le,t[131]=q,t[132]=ze):ze=t[132];let Be;t[133]===te?Be=t[134]:(Be=()=>void te(),t[133]=te,t[134]=Be);let Ve;t[135]!==U||t[136]!==d||t[137]!==S||t[138]!==p?(Ve=!S||U||!d.trim()||!p.trim(),t[135]=U,t[136]=d,t[137]=S,t[138]=p,t[139]=Ve):Ve=t[139];let He;t[140]===a?He=t[141]:(He=a(`settings.skills.catalog.add.actions.addCatalog`),t[140]=a,t[141]=He);let Ue;t[142]!==Be||t[143]!==Ve||t[144]!==He?(Ue=(0,$.jsx)(J,{size:`sm`,onClick:Be,disabled:Ve,children:He}),t[142]=Be,t[143]=Ve,t[144]=He,t[145]=Ue):Ue=t[145];let We;t[146]!==Pe||t[147]!==ze||t[148]!==Ue?(We=(0,$.jsxs)(en,{children:[Pe,ze,Ue]}),t[146]=Pe,t[147]=ze,t[148]=Ue,t[149]=We):We=t[149];let Ge;t[150]!==ce||t[151]!==je||t[152]!==We?(Ge=(0,$.jsxs)(tn,{className:`max-w-xl`,children:[ce,je,We]}),t[150]=ce,t[151]=je,t[152]=We,t[153]=Ge):Ge=t[153];let Ke;return t[154]!==r||t[155]!==n||t[156]!==Ge?(Ke=(0,$.jsx)(an,{open:n,onOpenChange:r,children:Ge}),t[154]=r,t[155]=n,t[156]=Ge,t[157]=Ke):Ke=t[157],Ke};function cu(e){return e.scanRepo}function lu(e){return e.setSelectedSource}function uu(e){return e.isScanning}function du(e){return e.defaultGitIdentityId}function fu(e){return e.loadDefaultGitIdentityId}function pu(e){return(0,$.jsx)(cn,{value:e.id,children:e.name},e.id)}var mu=e=>{let t=(0,Ki.c)(85),{open:n,onOpenChange:r,conflicts:i,onConfirm:a}=e,{t:o}=Fe(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={},t[0]=s):s=t[0];let[c,l]=Q.useState(s),u,d;t[1]!==i||t[2]!==n?(u=()=>{if(!n)return;let e={};for(let t of i)e[t.skillName]=`skip`;l(e)},d=[n,i],t[1]=i,t[2]=n,t[3]=u,t[4]=d):(u=t[3],d=t[4]),Q.useEffect(u,d);let f;t[5]===i?f=t[6]:(f=e=>{let t={};for(let n of i)t[n.skillName]=e;l(t)},t[5]=i,t[6]=f);let p=f,m;t[7]!==i||t[8]!==c?(m=i.length>0&&i.every(e=>c[e.skillName]),t[7]=i,t[8]=c,t[9]=m):m=t[9];let h=m,g;t[10]===o?g=t[11]:(g=o(`settings.skills.catalog.conflicts.title`),t[10]=o,t[11]=g);let _;t[12]===g?_=t[13]:(_=(0,$.jsx)(nn,{children:g}),t[12]=g,t[13]=_);let v;t[14]===o?v=t[15]:(v=o(`settings.skills.catalog.conflicts.description`),t[14]=o,t[15]=v);let y;t[16]===v?y=t[17]:(y=(0,$.jsx)(rn,{children:v}),t[16]=v,t[17]=y);let b;t[18]!==_||t[19]!==y?(b=(0,$.jsxs)($t,{children:[_,y]}),t[18]=_,t[19]=y,t[20]=b):b=t[20];let x;t[21]!==i.length||t[22]!==o?(x=o(`settings.skills.catalog.conflicts.count`,{count:i.length}),t[21]=i.length,t[22]=o,t[23]=x):x=t[23];let S;t[24]===x?S=t[25]:(S=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:x}),t[24]=x,t[25]=S);let C;t[26]===p?C=t[27]:(C=()=>p(`skip`),t[26]=p,t[27]=C);let w;t[28]===o?w=t[29]:(w=o(`settings.skills.catalog.conflicts.actions.skipAll`),t[28]=o,t[29]=w);let T;t[30]!==C||t[31]!==w?(T=(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:C,children:w}),t[30]=C,t[31]=w,t[32]=T):T=t[32];let E;t[33]===p?E=t[34]:(E=()=>p(`overwrite`),t[33]=p,t[34]=E);let D;t[35]===o?D=t[36]:(D=o(`settings.skills.catalog.conflicts.actions.overwriteAll`),t[35]=o,t[36]=D);let O;t[37]!==E||t[38]!==D?(O=(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:E,children:D}),t[37]=E,t[38]=D,t[39]=O):O=t[39];let k;t[40]!==T||t[41]!==O?(k=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[T,O]}),t[40]=T,t[41]=O,t[42]=k):k=t[42];let A;t[43]!==S||t[44]!==k?(A=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[S,k]}),t[43]=S,t[44]=k,t[45]=A):A=t[45];let j;if(t[46]!==i||t[47]!==c||t[48]!==o){let e;t[50]!==c||t[51]!==o?(e=e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1.5`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label truncate`,children:e.skillName}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:o(`settings.skills.catalog.conflicts.installedIn`,{scope:e.scope===`project`?o(`settings.skills.catalog.conflicts.scope.project`):o(`settings.skills.catalog.conflicts.scope.user`),source:e.source===`agents`?o(`settings.skills.catalog.conflicts.source.agents`):o(`settings.skills.catalog.conflicts.source.opencode`)})})]}),(0,$.jsxs)(pn,{value:c[e.skillName]||`skip`,onValueChange:t=>l(n=>({...n,[e.skillName]:t})),children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(`span`,{className:`capitalize`,children:(c[e.skillName]||`skip`)===`overwrite`?o(`settings.skills.catalog.conflicts.decision.overwrite`):o(`settings.skills.catalog.conflicts.decision.skip`)})}),(0,$.jsxs)(dn,{align:`end`,children:[(0,$.jsx)(cn,{value:`skip`,className:`pr-2 [&>span:first-child]:hidden`,children:o(`settings.skills.catalog.conflicts.decision.skip`)}),(0,$.jsx)(cn,{value:`overwrite`,className:`pr-2 [&>span:first-child]:hidden`,children:o(`settings.skills.catalog.conflicts.decision.overwrite`)})]})]})]},e.skillName),t[50]=c,t[51]=o,t[52]=e):e=t[52],j=i.map(e),t[46]=i,t[47]=c,t[48]=o,t[49]=j}else j=t[49];let M;t[53]===j?M=t[54]:(M=(0,$.jsx)(`div`,{className:`space-y-2`,children:j}),t[53]=j,t[54]=M);let N;t[55]!==A||t[56]!==M?(N=(0,$.jsxs)(`div`,{className:`space-y-3`,children:[A,M]}),t[55]=A,t[56]=M,t[57]=N):N=t[57];let P;t[58]===r?P=t[59]:(P=()=>r(!1),t[58]=r,t[59]=P);let F;t[60]===o?F=t[61]:(F=o(`settings.common.actions.cancel`),t[60]=o,t[61]=F);let I;t[62]!==P||t[63]!==F?(I=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:P,children:F}),t[62]=P,t[63]=F,t[64]=I):I=t[64];let L;t[65]!==c||t[66]!==a?(L=()=>a(c),t[65]=c,t[66]=a,t[67]=L):L=t[67];let R=!h,z;t[68]===o?z=t[69]:(z=o(`settings.skills.catalog.conflicts.actions.continue`),t[68]=o,t[69]=z);let B;t[70]!==L||t[71]!==R||t[72]!==z?(B=(0,$.jsx)(J,{size:`sm`,onClick:L,disabled:R,children:z}),t[70]=L,t[71]=R,t[72]=z,t[73]=B):B=t[73];let V;t[74]!==I||t[75]!==B?(V=(0,$.jsxs)(en,{children:[I,B]}),t[74]=I,t[75]=B,t[76]=V):V=t[76];let H;t[77]!==b||t[78]!==N||t[79]!==V?(H=(0,$.jsxs)(tn,{className:`max-w-2xl`,children:[b,N,V]}),t[77]=b,t[78]=N,t[79]=V,t[80]=H):H=t[80];let U;return t[81]!==r||t[82]!==n||t[83]!==H?(U=(0,$.jsx)(an,{open:n,onOpenChange:r,children:H}),t[81]=r,t[82]=n,t[83]=H,t[84]=U):U=t[84],U},hu=[{value:`user-opencode`,scope:`user`,source:`opencode`,label:`User / OpenCode`,description:`Global OpenCode config location`},{value:`project-opencode`,scope:`project`,source:`opencode`,label:`Project / OpenCode`,description:`Current project .opencode location`},{value:`user-agents`,scope:`user`,source:`agents`,label:`User / Agents`,description:`Global .agents compatibility location`},{value:`project-agents`,scope:`project`,source:`agents`,label:`Project / Agents`,description:`Current project .agents compatibility location`}];function gu(e,t){return e===`project`&&t===`claude`?`project-claude`:e===`project`&&t===`agents`?`project-agents`:t===`claude`?`user-claude`:e===`project`?`project-opencode`:t===`agents`?`user-agents`:`user-opencode`}function _u(e){if(e===`user-claude`)return{scope:`user`,source:`claude`};if(e===`project-claude`)return{scope:`project`,source:`claude`};let t=hu.find(t=>t.value===e);return t?{scope:t.scope,source:t.source}:{scope:`user`,source:`opencode`}}var vu=e=>{let t=(0,Ki.c)(124),{open:n,onOpenChange:r,item:a}=e,{t:o}=Fe(),s=ru(yu),c=ru(bu),[l,u]=Q.useState(`user`),[d,f]=Q.useState(`opencode`),p=Tt(xu),m=Tt(Su),[h,g]=Q.useState(null),[_,v]=Q.useState(!1),y;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=[],t[0]=y):y=t[0];let[b,x]=Q.useState(y),[S,C]=Q.useState(null),w,T;t[1]!==m||t[2]!==n?(w=()=>{n&&(u(`user`),f(`opencode`),g(m),v(!1),x([]),C(null))},T=[n,m],t[1]=m,t[2]=n,t[3]=w,t[4]=T):(w=t[3],T=t[4]),Q.useEffect(w,T);let E;t[5]===o?E=t[6]:(E=e=>{switch(e){case`project-opencode`:return o(`settings.skills.location.option.projectOpencode.label`);case`user-agents`:return o(`settings.skills.location.option.userAgents.label`);case`project-agents`:return o(`settings.skills.location.option.projectAgents.label`);default:return o(`settings.skills.location.option.userOpencode.label`)}},t[5]=o,t[6]=E);let D=E,O;t[7]===o?O=t[8]:(O=e=>{switch(e){case`project-opencode`:return o(`settings.skills.location.option.projectOpencode.description`);case`user-agents`:return o(`settings.skills.location.option.userAgents.description`);case`project-agents`:return o(`settings.skills.location.option.projectAgents.description`);default:return o(`settings.skills.location.option.userOpencode.description`)}},t[7]=o,t[8]=O);let k=O,A;bb0:{if(p.length===0){A=null;break bb0}if(h&&p.some(e=>e.id===h)){A=h;break bb0}if(m&&p.some(e=>e.id===m)){A=m;break bb0}A=p[0]?.id??null}let j=A,M;bb1:{if(l!==`project`){M=null;break bb1}let e=j;if(!e){M=null;break bb1}let n;if(t[9]!==e||t[10]!==p){let r;t[12]===e?r=t[13]:(r=t=>t.id===e,t[12]=e,t[13]=r),n=p.find(r),t[9]=e,t[10]=p,t[11]=n}else n=t[11];M=n?.path??null}let N=M,P;t[14]!==s||t[15]!==a||t[16]!==r||t[17]!==o?(P=async e=>{let t={skillDir:e.skillDir};a?.clawdhub&&(t.clawdhub={slug:a.clawdhub.slug,version:a.clawdhub.version});let n=await s({source:e.source,subpath:e.subpath,gitIdentityId:a?.gitIdentityId,scope:e.scope,targetSource:e.targetSource,selections:[t],conflictPolicy:`prompt`,conflictDecisions:e.conflictDecisions},{directory:e.effectiveDirectory,transportIdentity:e.transportIdentity});if(n.ok){Y.success(o(`settings.skills.catalog.installSkill.toast.installed`)),r(!1);return}if(n.error?.kind===`conflicts`){C({source:e.source,subpath:e.subpath,scope:e.scope,targetSource:e.targetSource,skillDir:e.skillDir,directoryOverride:e.directoryOverride??null,effectiveDirectory:e.effectiveDirectory,transportIdentity:e.transportIdentity}),x(n.error.conflicts),v(!0);return}if(n.error?.kind===`authRequired`){Y.error(n.error.message||o(`settings.skills.catalog.installSkill.toast.authRequired`));return}Y.error(n.error?.message||o(`settings.skills.catalog.installSkill.toast.installFailed`))},t[14]=s,t[15]=a,t[16]=r,t[17]=o,t[18]=P):P=t[18];let F=P;if(!a)return null;let I;t[19]===o?I=t[20]:(I=o(`settings.skills.catalog.installSkill.title`),t[19]=o,t[20]=I);let L;t[21]===I?L=t[22]:(L=(0,$.jsx)(nn,{children:I}),t[21]=I,t[22]=L);let R;t[23]===o?R=t[24]:(R=o(`settings.skills.catalog.installSkill.descriptionPrefix`),t[23]=o,t[24]=R);let z;t[25]===a.skillName?z=t[26]:(z=(0,$.jsx)(`span`,{className:`font-semibold text-foreground`,children:a.skillName}),t[25]=a.skillName,t[26]=z);let B;t[27]===o?B=t[28]:(B=o(`settings.skills.catalog.installSkill.descriptionSuffix`),t[27]=o,t[28]=B);let V;t[29]!==R||t[30]!==z||t[31]!==B?(V=(0,$.jsxs)(rn,{children:[R,` `,z,` `,B]}),t[29]=R,t[30]=z,t[31]=B,t[32]=V):V=t[32];let H;t[33]!==L||t[34]!==V?(H=(0,$.jsxs)($t,{children:[L,V]}),t[33]=L,t[34]=V,t[35]=H):H=t[35];let U;t[36]===o?U=t[37]:(U=o(`settings.skills.catalog.installSkill.field.destination`),t[36]=o,t[37]=U);let W;t[38]===U?W=t[39]:(W=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:U}),t[38]=U,t[39]=W);let ee;t[40]!==l||t[41]!==d?(ee=gu(l,d),t[40]=l,t[41]=d,t[42]=ee):ee=t[42];let G;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(G=e=>{let t=_u(e);u(t.scope),f(t.source===`agents`?`agents`:`opencode`)},t[43]=G):G=t[43];let te;t[44]===l?te=t[45]:(te=l===`user`?(0,$.jsx)(Z,{name:`user-3`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`folder`,className:`h-3.5 w-3.5`}),t[44]=l,t[45]=te);let ne;t[46]===d?ne=t[47]:(ne=d===`agents`?(0,$.jsx)(Z,{name:`robot-2`,className:`h-3.5 w-3.5`}):null,t[46]=d,t[47]=ne);let re;t[48]!==D||t[49]!==l||t[50]!==d?(re=D(gu(l,d)),t[48]=D,t[49]=l,t[50]=d,t[51]=re):re=t[51];let ie;t[52]===re?ie=t[53]:(ie=(0,$.jsx)(`span`,{children:re}),t[52]=re,t[53]=ie);let ae;t[54]!==te||t[55]!==ne||t[56]!==ie?(ae=(0,$.jsxs)(un,{className:`w-fit gap-1.5`,children:[te,ne,ie]}),t[54]=te,t[55]=ne,t[56]=ie,t[57]=ae):ae=t[57];let oe;t[58]!==k||t[59]!==D?(oe=hu.map(e=>(0,$.jsx)(cn,{value:e.value,className:`pr-2 [&>span:first-child]:hidden`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.scope===`user`?(0,$.jsx)(Z,{name:`user-3`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`folder`,className:`h-3.5 w-3.5`}),e.source===`agents`?(0,$.jsx)(Z,{name:`robot-2`,className:`h-3.5 w-3.5`}):null,(0,$.jsx)(`span`,{children:D(e.value)})]}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground ml-5`,children:k(e.value)})]})},e.value)),t[58]=k,t[59]=D,t[60]=oe):oe=t[60];let se;t[61]===oe?se=t[62]:(se=(0,$.jsx)(dn,{align:`start`,children:oe}),t[61]=oe,t[62]=se);let ce;t[63]!==ee||t[64]!==ae||t[65]!==se?(ce=(0,$.jsxs)(pn,{value:ee,onValueChange:G,children:[ae,se]}),t[63]=ee,t[64]=ae,t[65]=se,t[66]=ce):ce=t[66];let le;t[67]!==W||t[68]!==ce?(le=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[W,ce]}),t[67]=W,t[68]=ce,t[69]=le):le=t[69];let ue;t[70]!==p||t[71]!==j||t[72]!==l||t[73]!==o?(ue=l===`project`&&(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.skills.catalog.installSkill.field.project`)}),p.length===0?(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:o(`settings.skills.catalog.installSkill.field.noProjects`)}):(0,$.jsxs)(pn,{value:j??``,onValueChange:e=>g(e),disabled:p.length===1,children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:o(`settings.skills.catalog.installSkill.field.chooseProjectPlaceholder`)})}),(0,$.jsx)(dn,{align:`start`,children:p.map(Cu)})]})]}),t[70]=p,t[71]=j,t[72]=l,t[73]=o,t[74]=ue):ue=t[74];let de;t[75]===a.warnings?de=t[76]:(de=a.warnings?.length?(0,$.jsx)(`div`,{className:`typography-micro text-[var(--status-warning)] bg-[var(--status-warning)]/10 px-2 py-1.5 rounded`,children:a.warnings.join(` · `)}):null,t[75]=a.warnings,t[76]=de);let fe;t[77]!==le||t[78]!==ue||t[79]!==de?(fe=(0,$.jsxs)(`div`,{className:`mt-2 space-y-3`,children:[le,ue,de]}),t[77]=le,t[78]=ue,t[79]=de,t[80]=fe):fe=t[80];let pe;t[81]===r?pe=t[82]:(pe=()=>r(!1),t[81]=r,t[82]=pe);let me;t[83]===o?me=t[84]:(me=o(`settings.common.actions.cancel`),t[83]=o,t[84]=me);let he;t[85]!==pe||t[86]!==me?(he=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:pe,children:me}),t[85]=pe,t[86]=me,t[87]=he):he=t[87];let ge=c||!a.installable||l===`project`&&!N,_e;t[88]!==N||t[89]!==F||t[90]!==a.repoSource||t[91]!==a.repoSubpath||t[92]!==a.skillDir||t[93]!==l||t[94]!==d?(_e=()=>void F({source:a.repoSource,subpath:a.repoSubpath,scope:l,targetSource:d,skillDir:a.skillDir,directoryOverride:N,effectiveDirectory:N??xt(),transportIdentity:i()}),t[88]=N,t[89]=F,t[90]=a.repoSource,t[91]=a.repoSubpath,t[92]=a.skillDir,t[93]=l,t[94]=d,t[95]=_e):_e=t[95];let ve;t[96]!==c||t[97]!==o?(ve=o(c?`settings.skills.catalog.installSkill.actions.installing`:`settings.skills.catalog.installSkill.actions.install`),t[96]=c,t[97]=o,t[98]=ve):ve=t[98];let ye;t[99]!==ge||t[100]!==_e||t[101]!==ve?(ye=(0,$.jsx)(J,{size:`sm`,disabled:ge,onClick:_e,children:ve}),t[99]=ge,t[100]=_e,t[101]=ve,t[102]=ye):ye=t[102];let K;t[103]!==he||t[104]!==ye?(K=(0,$.jsxs)(en,{children:[he,ye]}),t[103]=he,t[104]=ye,t[105]=K):K=t[105];let be;t[106]!==H||t[107]!==fe||t[108]!==K?(be=(0,$.jsxs)(tn,{className:`max-w-md`,children:[H,fe,K]}),t[106]=H,t[107]=fe,t[108]=K,t[109]=be):be=t[109];let xe;t[110]!==r||t[111]!==n||t[112]!==be?(xe=(0,$.jsx)(an,{open:n,onOpenChange:r,children:be}),t[110]=r,t[111]=n,t[112]=be,t[113]=xe):xe=t[113];let Se;t[114]!==S||t[115]!==F?(Se=e=>{S&&(F({source:S.source,subpath:S.subpath,scope:S.scope,targetSource:S.targetSource,skillDir:S.skillDir,conflictDecisions:e,directoryOverride:S.directoryOverride??null,effectiveDirectory:S.effectiveDirectory,transportIdentity:S.transportIdentity}),v(!1))},t[114]=S,t[115]=F,t[116]=Se):Se=t[116];let Ce;t[117]!==b||t[118]!==_||t[119]!==Se?(Ce=(0,$.jsx)(mu,{open:_,onOpenChange:v,conflicts:b,onConfirm:Se}),t[117]=b,t[118]=_,t[119]=Se,t[120]=Ce):Ce=t[120];let we;return t[121]!==xe||t[122]!==Ce?(we=(0,$.jsxs)($.Fragment,{children:[xe,Ce]}),t[121]=xe,t[122]=Ce,t[123]=we):we=t[123],we};function yu(e){return e.installSkills}function bu(e){return e.isInstalling}function xu(e){return e.projects}function Su(e){return e.activeProjectId}function Cu(e){return(0,$.jsx)(cn,{value:e.id,children:e.label||e.path},e.id)}var wu=async()=>{try{let e=h()?.settings;if(e)return(await e.load())?.settings||{};let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});return t.ok?await t.json().catch(()=>null):null}catch{return null}},Tu=({mode:e,onModeChange:t,showModeTabs:n=!0})=>{let{t:r}=Fe(),{selectedSourceId:a,setSelectedSource:o}=ru(le(e=>({selectedSourceId:e.selectedSourceId,setSelectedSource:e.setSelectedSource}))),s=et(),c=s.data??lt,l=c.some(e=>e.id===a)?a:null,u=pt(l??``,{enabled:!!l}),[d,f]=Q.useState(``),[p,m]=Q.useState(!1),[h,g]=Q.useState(!1),[_,v]=Q.useState(null),[y,b]=Q.useState(!1),[x,S]=Q.useState(!1),[C,w]=Q.useState(!1),[E,D]=Q.useState(null);Q.useEffect(()=>{!s.data&&s.isFetching||c.some(e=>e.id===a)||o(c[0]?.id??null)},[a,o,c,s.data,s.isFetching]);let k=xt(),A=i();Q.useEffect(()=>{D(null)},[l,k,A]);let j=Q.useMemo(()=>Bt(u.data?.pages??[]),[u.data]),M=Q.useMemo(()=>{let e=d.trim().toLowerCase();return e?j.filter(t=>{let n=t.skillName.toLowerCase(),r=(t.description||``).toLowerCase(),i=(t.frontmatterName||``).toLowerCase();return n.includes(e)||r.includes(e)||i.includes(e)}):j},[j,d]),N=Q.useMemo(()=>c.find(e=>e.id===l)||null,[c,l]),P=!!(l&&l.startsWith(`custom:`)),F=N?.source===`clawdhub:registry`||N?.sourceType===`clawdhub`,I=s.isLoading&&!s.data,L=u.isLoading&&!u.data,R=u.isFetchingNextPage,z=E??s.error??u.error,B=async()=>{if(!l||!P)return;let e=xt(),t=i();b(!0),D(null);try{let n=await wu(),r=(Array.isArray(n?.skillCatalogs)?n?.skillCatalogs:[]).filter(e=>e.id!==l);await T({skillCatalogs:r}),O.setQueriesData({queryKey:[t,`skillsCatalog`,`sources`],exact:!1},e=>e?.filter(e=>e.id!==l)),O.removeQueries({queryKey:[t,`skillsCatalog`,`source`],exact:!1,predicate:e=>e.queryKey[4]===l}),i()===t&&(o(null),S(!1)),await yt(O,e,t)}catch(n){i()===t&&xt()===e&&D(n instanceof Error?n:Error(String(n)))}finally{b(!1)}},V=async()=>{let e=xt(),t=i(),n=l;w(!0),D(null);try{n?await bt(O,e,n,t):await yt(O,e,t)}catch(r){let a=ru.getState().selectedSourceId;i()===t&&xt()===e&&a===n&&D(r instanceof Error?r:Error(String(r)))}finally{w(!1)}};return(0,$.jsx)(Ar,{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:[n&&(0,$.jsx)(`div`,{className:`h-10`,children:(0,$.jsx)(zr,{items:[{id:`manual`,label:r(`settings.skills.catalog.page.mode.manual`)},{id:`external`,label:r(`settings.skills.catalog.page.mode.external`)}],activeId:e,onSelect:e=>t(e),layoutMode:`fit`,variant:`animated`,animateActivePill:!1,className:`h-full`})}),(0,$.jsx)(`div`,{"data-settings-item":`skills.catalog.source`,children:(0,$.jsx)(Jr,{label:r(`settings.skills.catalog.page.section.sourceRepository`),cardClassName:`p-3`,children:(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 py-1.5`,children:[(0,$.jsxs)(pn,{value:l||``,onValueChange:e=>o(e),children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:r(`settings.skills.catalog.page.field.selectSourcePlaceholder`),children:N?.label})}),(0,$.jsx)(dn,{align:`start`,children:c.map(e=>(0,$.jsx)(cn,{value:e.id,children:e.label},e.id))})]}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal h-6 w-6 px-0`,onClick:()=>void V(),disabled:C,title:r(`settings.skills.catalog.page.actions.refreshTitle`),children:(0,$.jsx)(Z,{name:`refresh`,className:q(`h-3.5 w-3.5`,C&&`animate-spin`)})}),P&&(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`!font-normal h-6 w-6 px-0 text-[var(--status-error)] hover:text-[var(--status-error)]`,onClick:()=>S(!0),disabled:y,title:r(`settings.skills.catalog.page.actions.removeCatalogTitle`),children:(0,$.jsx)(Z,{name:`delete-bin`,className:`h-3.5 w-3.5`})}),(0,$.jsxs)(J,{"data-settings-item":`skills.catalog.add-catalog`,size:`xs`,className:`!font-normal gap-1`,onClick:()=>m(!0),children:[(0,$.jsx)(Z,{name:`add`,className:`h-3.5 w-3.5`}),` `,r(`settings.skills.catalog.page.actions.addCatalog`)]})]}),(0,$.jsxs)(`div`,{"data-settings-item":`skills.catalog.search`,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Z,{name:`search`,className:`absolute left-2 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground`}),(0,$.jsx)(gn,{value:d,onChange:e=>f(e.target.value),placeholder:r(`settings.skills.catalog.shared.field.searchSkillsPlaceholder`),className:`h-7 pl-8 w-full sm:w-64`})]}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground mt-1 block`,children:I?r(`settings.skills.catalog.page.loading.catalog`):r(`settings.skills.catalog.page.foundCount`,{count:M.length})})]})]})})}),z&&(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--status-error-border)] bg-[var(--status-error-background)] px-4 py-3`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-medium text-[var(--status-error)]`,children:r(`settings.skills.catalog.page.error.catalogTitle`)}),(0,$.jsx)(`div`,{className:`typography-meta text-[var(--status-error)]/80 mt-1`,children:z.message})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{children:M.length===0&&!L?(0,$.jsxs)(`div`,{className:`py-8 text-center text-muted-foreground`,children:[(0,$.jsx)(`p`,{className:`typography-body`,children:r(`settings.skills.catalog.page.empty.noSkillsTitle`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:r(`settings.skills.catalog.page.empty.noSkillsDescription`)})]}):L?(0,$.jsxs)(`div`,{className:`py-8 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`refresh`,className:`mx-auto mb-3 h-5 w-5 animate-spin opacity-50`}),(0,$.jsx)(`p`,{className:`typography-meta`,children:r(`settings.skills.catalog.page.loading.skills`)})]}):(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)]`,children:M.map(e=>{let t=e.installed?.isInstalled,n=e.installed?.scope;return(0,$.jsx)(`div`,{className:`py-2`,children:(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label font-medium text-foreground truncate`,children:e.skillName}),t&&(0,$.jsx)(`span`,{className:`typography-micro text-[var(--status-success)] bg-[var(--status-success)]/10 px-1.5 py-0.5 rounded flex-shrink-0`,children:r(`settings.skills.catalog.page.badge.installed`,{scope:n||r(`settings.skills.catalog.page.badge.unknown`)})}),!e.installable&&(0,$.jsx)(`span`,{className:`typography-micro text-[var(--status-warning)] bg-[var(--status-warning)]/10 px-1.5 py-0.5 rounded flex-shrink-0`,children:r(`settings.skills.catalog.page.badge.notInstallable`)})]}),e.description?(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mt-0.5 line-clamp-2`,children:e.description}):(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground/50 mt-0.5 italic`,children:r(`settings.skills.catalog.shared.noDescription`)}),e.clawdhub&&(0,$.jsxs)(`div`,{className:`typography-micro text-muted-foreground mt-1.5 flex items-center gap-3`,children:[e.clawdhub.owner&&(0,$.jsxs)(`span`,{children:[r(`settings.skills.catalog.page.byOwnerPrefix`),` `,(0,$.jsx)(`span`,{className:`font-medium text-foreground/80`,children:e.clawdhub.owner})]}),(0,$.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(Z,{name:`download`,className:`h-3 w-3`}),e.clawdhub.downloads?.toLocaleString()??0]}),(e.clawdhub.stars??0)>0&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(Z,{name:`star`,className:`h-3 w-3`}),e.clawdhub.stars]}),(0,$.jsxs)(`span`,{className:`bg-[var(--surface-muted)] px-1.5 py-0.5 rounded`,children:[`v`,e.clawdhub.version]})]}),e.warnings?.length?(0,$.jsx)(`div`,{className:`typography-micro text-[var(--status-warning)] mt-1.5 bg-[var(--status-warning)]/10 px-2 py-1 rounded w-fit`,children:e.warnings.join(` · `)}):null]}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal shrink-0`,disabled:!e.installable,onClick:()=>{v(e),g(!0)},children:r(`settings.skills.catalog.shared.actions.install`)})]})},`${e.sourceId}:${e.skillDir}`)})})}),F&&u.hasNextPage&&!L&&M.length>0&&(0,$.jsx)(`div`,{className:`flex justify-center mt-2 px-2`,children:(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>void u.fetchNextPage(),disabled:R,children:r(R?`settings.skills.catalog.page.loading.more`:`settings.skills.catalog.page.actions.loadMoreSkills`)})})]}),(0,$.jsx)(su,{open:p,onOpenChange:m}),(0,$.jsx)(vu,{open:h,onOpenChange:g,item:_}),(0,$.jsx)(an,{open:x,onOpenChange:e=>{y||S(e)},children:(0,$.jsxs)(tn,{className:`max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:r(`settings.skills.catalog.page.removeDialog.title`)}),(0,$.jsx)(rn,{children:r(`settings.skills.catalog.page.removeDialog.description`)})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>S(!1),disabled:y,children:r(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,variant:`destructive`,onClick:()=>void B(),disabled:y,children:r(`settings.skills.catalog.page.actions.removeCatalog`)})]})]})})]})})},Eu=()=>{let e=(0,Ki.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(Tu,{mode:`external`,onModeChange:Fu,showModeTabs:!1}),e[0]=t):t=e[0],t},Du=`SKILL.md`,Ou=`h-[clamp(320px,58dvh,680px)] min-h-[260px] max-h-[calc(100dvh-220px)]`,ku=(e,t)=>{let n=Ui({description:e}).trimEnd(),r=t.trimStart();return`---\n${n}\n---${r?`\n\n${r}`:`
22
- `}`},Au=e=>typeof e==`object`&&!!e&&!Array.isArray(e),ju=e=>{let t=e.match(/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)([\s\S]*)$/);if(!t)return{description:null,instructions:e};let n=null;try{let e=Wi(t[1]);if(Au(e)){let t=e.description;typeof t==`string`&&(n=t)}}catch{n=null}return{description:n,instructions:t[2].replace(/^\r?\n/,``)}},Mu=(e,t)=>ku(t,ju(e).instructions),Nu=()=>{let{t:e}=Fe(),{currentTheme:t}=Qt(),{selectedSkillName:n,getSkillDetail:r,createSkill:i,updateSkill:a,skillDraft:o,setSkillDraft:s,setSelectedSkill:c}=Ca(le(e=>({selectedSkillName:e.selectedSkillName,getSkillDetail:e.getSkillDetail,createSkill:e.createSkill,updateSkill:e.updateSkill,skillDraft:e.skillDraft,setSkillDraft:e.setSkillDraft,setSelectedSkill:e.setSelectedSkill}))),l=it(),u=vt(),d=Q.useMemo(()=>l.data??[],[l.data]),f=n?d.find(e=>e.name===n)??null:null,p=!!(o&&o.name===n&&!f),m=!!(n&&!f&&!o),h=f?.path===`<built-in>`;Q.useEffect(()=>{m&&c(null)},[m,c]);let[g,_]=Q.useState(``),[v,y]=Q.useState(`user`),[b,x]=Q.useState(`opencode`),[S,C]=Q.useState(``),[w,T]=Q.useState(``),[E,D]=Q.useState(()=>ku(``,``)),[O,k]=Q.useState(`edit`),[A,j]=Q.useState([]),[M,N]=Q.useState([]),[P,F]=Q.useState(!1),[I,L]=Q.useState(!1),[R,z]=Q.useState(``),[B,V]=Q.useState(``),[H,U]=Q.useState(!1),[W,ee]=Q.useState(``),[G,te]=Q.useState(``),[ne,re]=Q.useState(null),[ie,ae]=Q.useState(!1),[oe,se]=Q.useState(``),[ce,ue]=Q.useState(null),[de,fe]=Q.useState(!1),pe=p?g.trim()!==``||S.trim()!==``||w.trim()!==``||M.length>0:S!==R||w!==B,me=ne?G!==oe:W.trim()!==``,he=Q.useCallback(t=>{switch(t){case`project-opencode`:return e(`settings.skills.location.option.projectOpencode.label`);case`user-claude`:return e(`settings.skills.location.option.userClaude.label`);case`project-claude`:return e(`settings.skills.location.option.projectClaude.label`);case`user-agents`:return e(`settings.skills.location.option.userAgents.label`);case`project-agents`:return e(`settings.skills.location.option.projectAgents.label`);default:return e(`settings.skills.location.option.userOpencode.label`)}},[e]),ge=Q.useCallback(t=>{switch(t){case`project-opencode`:return e(`settings.skills.location.option.projectOpencode.description`);case`user-claude`:return e(`settings.skills.location.option.userClaude.description`);case`project-claude`:return e(`settings.skills.location.option.projectClaude.description`);case`user-agents`:return e(`settings.skills.location.option.userAgents.description`);case`project-agents`:return e(`settings.skills.location.option.projectAgents.description`);default:return e(`settings.skills.location.option.userOpencode.description`)}},[e]);Q.useEffect(()=>{(async()=>{if(p&&o){let e=o.description||``,t=o.instructions||``;_(o.name||``),y(o.scope||`user`),x(o.source===`agents`?`agents`:`opencode`),C(e),T(t),D(ku(e,t)),z(``),V(``),j([]),N(o.pendingFiles||[])}else if(n&&f){L(!0);try{let e=await r(n);if(e){let t=e.sources.md,n=t.description||``,r=t.instructions||``;C(n),T(r),D(ku(n,r)),z(n),V(r),j(t.supportingFiles||[])}}catch(e){console.error(`Failed to load skill details:`,e)}finally{L(!1)}}})()},[f,p,n,d,o,r]);let _e=K(e=>e.editorFontSize),ve=Q.useMemo(()=>{let e=[bi(t,{fontSize:_e})],n=ei(Du);return n&&e.push(n),e.push(Oe.lineWrapping),e},[t,_e]),ye=Q.useMemo(()=>{let e=W.trim()||`supporting-file.md`,n=Rr(e),r=!!n&&n!==`markdown`,i=[bi(t,r?{syntaxColors:!1,fontSize:_e}:{fontSize:_e})],a=ei(e);return a&&i.push(a),r&&n&&i.push(Hr({language:n,themeName:t.metadata.id,theme:Fr(t)})),i.push(Oe.lineWrapping),i},[t,W,_e]),be=Q.useCallback(e=>{C(e),D(t=>Mu(t,e))},[]),xe=Q.useCallback(e=>{D(e);let t=ju(e);C(t.description??``),T(t.instructions)},[]),Se=async()=>{let t=p?g.trim().replace(/\s+/g,`-`).toLowerCase():n?.trim();if(!t){Y.error(e(`settings.skills.page.toast.skillNameRequired`));return}if(!/^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/.test(t)||t.length>64){Y.error(e(`settings.skills.page.toast.invalidSkillName`));return}if(!S.trim()){Y.error(e(`settings.skills.page.toast.descriptionRequired`));return}if(p&&d.some(e=>e.name===t)){Y.error(e(`settings.skills.page.toast.skillExists`));return}F(!0);try{let n={name:t,description:S.trim(),instructions:w.trim()||void 0,scope:p?v:void 0,source:p?b:void 0,targetPath:p?void 0:f?.path,supportingFiles:p&&M.length>0?M:void 0},r;p?(r=await i(n,{directory:u}),r&&(s(null),N([]),c(t))):(r=await a(t,n,{directory:u}),r&&(z(S.trim()),V(w.trim()))),r?Y.success(e(p?`settings.skills.page.toast.skillCreated`:`settings.skills.page.toast.skillUpdated`)):Y.error(e(p?`settings.skills.page.toast.createSkillFailed`:`settings.skills.page.toast.updateSkillFailed`))}catch(t){console.error(`Error saving skill:`,t),Y.error(e(`settings.skills.page.toast.saveUnexpectedError`))}finally{F(!1)}},Ce=()=>{re(null),ee(``),te(``),se(``),U(!0)},we=async t=>{if(re(t),ee(t),p){let e=M.find(e=>e.path===t)?.content||``;te(e),se(e),U(!0);return}if(n){ae(!0),U(!0);try{let{readSupportingFile:e}=Ca.getState(),r=await e(n,t);te(r||``),se(r||``)}catch{Y.error(e(`settings.skills.page.toast.loadFileContentFailed`)),te(``),se(``)}finally{ae(!1)}}},Te=async()=>{if(!W.trim()){Y.error(e(`settings.skills.page.toast.fileNameRequired`));return}let t=W.trim(),i=ne!==null;if(p){if(i)N(e=>e.map(e=>e.path===ne?{path:t,content:G}:e)),Y.success(e(`settings.skills.page.toast.fileUpdated`,{path:t}));else{if(M.some(e=>e.path===t)){Y.error(e(`settings.skills.page.toast.fileExists`));return}N(e=>[...e,{path:t,content:G}]),Y.success(e(`settings.skills.page.toast.fileAdded`,{path:t}))}U(!1),re(null);return}if(!n){Y.error(e(`settings.skills.page.toast.noSkillSelected`));return}let{writeSupportingFile:a}=Ca.getState();if(await a(n,t,G)){Y.success(e(i?`settings.skills.page.toast.fileUpdated`:`settings.skills.page.toast.fileCreated`,{path:t})),U(!1),re(null);let a=await r(n);a&&j(a.sources.md.supportingFiles||[])}else Y.error(e(i?`settings.skills.page.toast.updateFileFailed`:`settings.skills.page.toast.createFileFailed`))},Ee=t=>{if(p){N(e=>e.filter(e=>e.path!==t)),Y.success(e(`settings.skills.page.toast.fileRemoved`,{path:t}));return}n&&ue(t)};return!n&&!o||m?(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-4`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`book-open`,className:`mx-auto mb-3 h-10 w-10 sm:h-12 sm:w-12 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.skills.page.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:e(`settings.skills.page.empty.description`)})]})}):I?(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-4`,children:(0,$.jsx)(`div`,{className:`text-center text-muted-foreground`,children:(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.skills.page.loading.details`)})})}):(0,$.jsxs)(Ar,{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`,{children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground truncate flex items-center gap-2`,children:p?e(`settings.skills.page.title.newSkill`):n}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:f?e(`settings.skills.page.subtitle.skillLocation`,{location:he(gu(f.scope,f.source))}):e(`settings.skills.page.subtitle.newSkill`)})]})}),(0,$.jsx)(`div`,{"data-settings-item":`skills.basic-information`,children:(0,$.jsx)(Jr,{label:e(`settings.skills.page.section.basicInformation`),cardClassName:`p-3`,children:(0,$.jsxs)(`div`,{className:`space-y-3`,children:[p&&(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.skills.page.field.skillNameLocation`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground ml-2`,children:e(`settings.skills.page.field.skillNameHint`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-1.5`,children:[(0,$.jsx)(gn,{value:g,onChange:e=>_(e.target.value.toLowerCase().replace(/\s+/g,`-`)),placeholder:e(`settings.skills.page.field.skillNamePlaceholder`),className:`h-7 w-40 px-2`}),(0,$.jsxs)(pn,{value:gu(v,b),onValueChange:e=>{let t=_u(e);y(t.scope),x(t.source===`agents`?`agents`:`opencode`)},children:[(0,$.jsxs)(un,{className:`w-fit gap-1.5`,children:[v===`user`?(0,$.jsx)(Z,{name:`user-3`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`folder`,className:`h-3.5 w-3.5`}),b===`agents`?(0,$.jsx)(Z,{name:`robot-2`,className:`h-3.5 w-3.5`}):null,(0,$.jsx)(`span`,{children:he(gu(v,b))})]}),(0,$.jsx)(dn,{align:`start`,children:hu.map(e=>(0,$.jsx)(cn,{value:e.value,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.scope===`user`?(0,$.jsx)(Z,{name:`user-3`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`folder`,className:`h-3.5 w-3.5`}),e.source===`agents`?(0,$.jsx)(Z,{name:`robot-2`,className:`h-3.5 w-3.5`}):null,(0,$.jsx)(`span`,{children:he(e.value)})]}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground ml-6`,children:ge(e.value)})]})},e.value))})]})]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`span`,{className:`typography-ui-label text-foreground`,children:[e(`settings.common.field.description`),` `,(0,$.jsx)(`span`,{className:`text-[var(--status-error)]`,children:`*`})]}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground ml-2`,children:e(`settings.skills.page.field.descriptionHint`)}),(0,$.jsx)(`div`,{className:`mt-1.5`,children:(0,$.jsx)(jr,{embedded:!0,value:S,onChange:e=>be(e.target.value),placeholder:e(`settings.skills.page.field.descriptionPlaceholder`),rows:2,className:`w-full resize-none min-h-[60px] max-h-32 bg-transparent`,disabled:h})})]})]})})}),(0,$.jsx)(`div`,{"data-settings-item":`skills.instructions`,children:(0,$.jsx)(Jr,{label:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{children:e(`settings.skills.page.section.instructions`)}),(0,$.jsx)($r,{currentMode:O===`preview`?`preview`:`edit`,onToggle:()=>k(e=>e===`preview`?`edit`:`preview`)})]}),cardClassName:`p-3`,children:(0,$.jsx)(`div`,{className:q(`overflow-hidden bg-background`,Ou),children:O===`preview`?(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`h-full`,children:(0,$.jsx)(`div`,{className:`min-h-full px-4 py-3`,children:(0,$.jsx)(Ir,{content:E,className:`typography-markdown-body`,stripFrontmatter:!0,enableFileReferences:!1})})}):(0,$.jsx)(Ur,{value:E,onChange:xe,readOnly:h,extensions:ve,className:`h-full`,enableSearch:!0})})})}),(0,$.jsx)(`div`,{"data-settings-item":`skills.supporting-files`,children:(0,$.jsx)(Jr,{label:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{children:e(`settings.skills.page.section.supportingFiles`)}),(0,$.jsxs)(J,{variant:`outline`,size:`xs`,className:`!font-normal gap-1`,onClick:Ce,disabled:h,children:[(0,$.jsx)(Z,{name:`add`,className:`h-3.5 w-3.5`}),` `,e(`settings.skills.page.actions.addFile`)]})]}),cardClassName:`p-3`,children:(()=>{let t=p?M:A;return t.length===0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground py-1.5`,children:e(`settings.skills.page.supportingFiles.empty`)}):(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)]`,children:t.map(t=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-1.5 cursor-pointer group`,onClick:()=>we(t.path),children:[(0,$.jsx)(Z,{name:`file`,className:`h-3.5 w-3.5 text-muted-foreground flex-shrink-0`}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:t.path}),p&&(0,$.jsx)(`span`,{className:`typography-micro text-[var(--status-warning)] bg-[var(--status-warning)]/10 px-1.5 py-0.5 rounded flex-shrink-0`,children:e(`settings.skills.page.badge.pending`)}),!h&&(0,$.jsx)(J,{size:`sm`,variant:`ghost`,className:`h-5 w-5 px-0 flex-shrink-0 text-muted-foreground hover:text-[var(--status-error)] opacity-0 group-hover:opacity-100 transition-opacity`,onClick:e=>{e.stopPropagation(),Ee(t.path)},children:(0,$.jsx)(Z,{name:`delete-bin`,className:`h-3 w-3`})})]},t.path))})})()})}),(0,$.jsx)(`div`,{children:(0,$.jsx)(J,{onClick:Se,disabled:h||P||!pe,size:`xs`,className:`!font-normal`,children:e(P?`settings.common.actions.saving`:p?`settings.skills.page.actions.createSkill`:`settings.common.actions.saveChanges`)})})]}),(0,$.jsx)(an,{open:ce!==null,onOpenChange:e=>{!e&&!de&&ue(null)},children:(0,$.jsxs)(tn,{className:`max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:e(`settings.skills.page.deleteFileDialog.title`)}),(0,$.jsx)(rn,{children:e(`settings.skills.page.deleteFileDialog.description`,{path:ce??``})})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>ue(null),disabled:de,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,variant:`destructive`,onClick:async()=>{if(!ce||!n)return;fe(!0);let{deleteSupportingFile:t}=Ca.getState();if(await t(n,ce)){Y.success(e(`settings.skills.page.toast.fileDeleted`,{path:ce}));let t=await r(n);t&&j(t.sources.md.supportingFiles||[]),ue(null)}else Y.error(e(`settings.skills.page.toast.deleteFileFailed`));fe(!1)},disabled:de,children:e(`settings.common.actions.delete`)})]})]})}),(0,$.jsx)(an,{open:H,onOpenChange:e=>{U(e),e||re(null)},children:(0,$.jsxs)(tn,{className:`max-w-3xl max-h-[85vh] flex flex-col`,children:[(0,$.jsxs)($t,{className:`flex-shrink-0`,children:[(0,$.jsx)(nn,{children:e(ne?`settings.skills.page.fileDialog.titleEdit`:`settings.skills.page.fileDialog.titleAdd`)}),(0,$.jsx)(rn,{children:e(ne?`settings.skills.page.fileDialog.descriptionEdit`:`settings.skills.page.fileDialog.descriptionAdd`)})]}),ie?(0,$.jsx)(`div`,{className:`flex-1 flex items-center justify-center py-8`,children:(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e(`settings.skills.page.loading.fileContent`)})}):(0,$.jsxs)(`div`,{className:`space-y-4 flex-1 min-h-0 flex flex-col pt-2`,children:[(0,$.jsxs)(`div`,{className:`space-y-2 flex-shrink-0`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label font-medium text-foreground`,children:e(`settings.skills.page.fileDialog.field.filePath`)}),(0,$.jsx)(gn,{value:W,onChange:e=>ee(e.target.value),placeholder:e(`settings.skills.page.fileDialog.field.filePathPlaceholder`),className:`text-foreground placeholder:text-muted-foreground focus-visible:ring-[var(--primary-base)]`,disabled:ne!==null}),!ne&&(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:e(`settings.skills.page.fileDialog.field.filePathHint`)})]}),(0,$.jsxs)(`div`,{className:`space-y-2 flex-1 min-h-0 flex flex-col`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label font-medium text-foreground flex-shrink-0`,children:e(`settings.skills.page.fileDialog.field.content`)}),(0,$.jsx)(`div`,{className:`h-[45vh] min-h-[250px] max-h-[55vh] overflow-hidden rounded-md border border-[var(--surface-subtle)] bg-background`,children:(0,$.jsx)(Ur,{value:G,onChange:te,extensions:ye,className:`h-full`,enableSearch:!0})})]})]}),(0,$.jsxs)(en,{className:`mt-4`,children:[(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>{U(!1),re(null)},children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,onClick:Te,disabled:ie||!me,children:e(ne?`settings.common.actions.saveChanges`:`settings.skills.page.actions.createFile`)})]})]})})]})},Pu=e=>{let t=(0,Ki.c)(2),{view:n}=e,r=n===void 0?`installed`:n,i;return t[0]===r?i=t[1]:(i=r===`catalog`?(0,$.jsx)(Eu,{}):(0,$.jsx)(Nu,{}),t[0]=r,t[1]=i),i};function Fu(){}var Iu=e=>{let t=(0,Ki.c)(26),{onItemSelect:n}=e,{t:r}=Fe(),i=Tt(Lu),a=Tt(Ru),o=K(zu),s=K(Bu),c=Q.useRef(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=new Set,t[0]=l):l=t[0];let u=Q.useRef(l),d;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(d=D(),t[1]=d):d=t[1];let f=d,p=Vu,m,h;t[2]!==a||t[3]!==i||t[4]!==o||t[5]!==s?(m=()=>{let e=new Set(i.map(Hu)),t=c.current;if(t)for(let n of e)t.has(n)||u.current.add(n);if(c.current=e,a&&u.current.delete(a)){s(a);return}if(i.length===0){o!==null&&s(null);return}o&&i.some(e=>e.id===o)||s(i[0].id)},h=[a,i,o,s],t[2]=a,t[3]=i,t[4]=o,t[5]=s,t[6]=m,t[7]=h):(m=t[6],h=t[7]),Q.useEffect(m,h);let g;t[8]!==i.length||t[9]!==r?(g=r(`settings.projects.sidebar.total`,{count:i.length}),t[8]=i.length,t[9]=r,t[10]=g):g=t[10];let _;t[11]===g?_=t[12]:(_=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:g}),t[11]=g,t[12]=_);let v;t[13]===r?v=t[14]:(v=!f&&(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`icon`,className:`h-7 w-7 -my-1 text-muted-foreground`,onClick:p,"aria-label":r(`settings.projects.sidebar.actions.addProject`),children:(0,$.jsx)(Z,{name:`add`,className:`size-4`})}),t[13]=r,t[14]=v);let y;t[15]!==_||t[16]!==v?(y=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-2 px-[var(--oc-settings-row-inset)]`,children:[_,v]}),t[15]=_,t[16]=v,t[17]=y):y=t[17];let b;t[18]!==n||t[19]!==i||t[20]!==o||t[21]!==s?(b=i.length>0?(0,$.jsx)(Jr,{children:i.map(e=>{let t=e.id===o,r=e.icon?fn[e.icon]:null,i=e.color?mn[e.color]:void 0,a=(0,$.jsx)(Z,{name:r??`folder`,className:`h-4 w-4`,style:i?{color:i}:void 0}),c=(0,$.jsx)(`span`,{className:q(`flex size-5 shrink-0 items-center justify-center overflow-hidden`,t?`text-foreground`:`text-muted-foreground`),children:e.iconImage?(0,$.jsx)(ln,{project:e,className:`size-full object-contain`,fallback:a}):a});return(0,$.jsx)(Oo,{title:e.path.split(/[\\/]/).filter(Boolean).at(-1)||e.path,icon:c,selected:t,onSelect:()=>{s(e.id),n?.()}},e.id)})}):null,t[18]=n,t[19]=i,t[20]=o,t[21]=s,t[22]=b):b=t[22];let x;return t[23]!==y||t[24]!==b?(x=(0,$.jsx)(Ao,{variant:`background`,header:y,children:b}),t[23]=y,t[24]=b,t[25]=x):x=t[25],x};function Lu(e){return e.projects}function Ru(e){return e.activeProjectId}function zu(e){return e.settingsProjectsSelectedId}function Bu(e){return e.setSettingsProjectsSelectedId}function Vu(){At.requestDirectoryDialog()}function Hu(e){return e.id}var Uu=()=>{let e=(0,Ki.c)(18),{t}=Fe(),n=Tt(Wu),r=Tt(Gu),i=K(Ku),a=K(qu),o;bb0:{if(!i){o=null;break bb0}let t;e[0]!==n||e[1]!==i?(t=n.find(e=>e.id===i)??null,e[0]=n,e[1]=i,e[2]=t):t=e[2],o=t}let s=o,c,l;e[3]!==n||e[4]!==i||e[5]!==a?(c=()=>{if(n.length===0){a(null);return}i&&n.some(e=>e.id===i)||a(n[0].id)},l=[n,i,a],e[3]=n,e[4]=i,e[5]=a,e[6]=c,e[7]=l):(c=e[6],l=e[7]),Q.useEffect(c,l);let u;e[8]!==s||e[9]!==r?(u=async e=>{s&&r(s.id,{label:e.label,icon:e.icon,color:e.color,iconBackground:e.iconBackground,defaultModel:e.defaultModel??null})},e[8]=s,e[9]=r,e[10]=u):u=e[10];let d=u;if(!s){let n;e[11]===t?n=e[12]:(n=t(`settings.projects.page.empty.noProjects`),e[11]=t,e[12]=n);let r;return e[13]===n?r=e[14]:(r=(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-4xl p-3 sm:p-6 sm:pt-8`,children:(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:n})})}),e[13]=n,e[14]=r),r}let f;return e[15]!==d||e[16]!==s?(f=(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`w-full bg-background`,children:(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-4xl p-3 sm:p-6 sm:pt-8`,children:(0,$.jsx)(Si,{project:s,onIdentitySave:d})})}),e[15]=d,e[16]=s,e[17]=f):f=e[17],f};function Wu(e){return e.projects}function Gu(e){return e.updateProjectMeta}function Ku(e){return e.settingsProjectsSelectedId}function qu(e){return e.setSettingsProjectsSelectedId}var Ju=t(Gi(),1),Yu={justNowMinutes:1,minutes:60,hours:24,days:30,months:12},Xu=6e4,Zu=60*Xu,Qu=24*Zu,$u=30*Qu;function ed(e,t={}){if(typeof e!=`number`||!Number.isFinite(e))return``;let n=t.now??Date.now(),r=t.buckets??Yu,i=e-n,a=Math.abs(i),o=new Intl.RelativeTimeFormat(t.locale,{numeric:`auto`});return a<r.justNowMinutes*Xu?o.format(0,`second`):a<r.minutes*Xu?o.format(Math.round(i/Xu),`minute`):a<r.hours*Zu?o.format(Math.round(i/Zu),`hour`):a<r.days*Qu?o.format(Math.round(i/Qu),`day`):a<r.months*$u?o.format(Math.round(i/$u),`month`):o.format(Math.round(i/(12*$u)),`year`)}var td=16384,nd=globalThis,rd=e=>{if(nd.Buffer)return nd.Buffer.from(e,`utf8`).toString(`base64url`);let t=new TextEncoder().encode(e),n=``;for(let e=0;e<t.length;e+=32768)n+=String.fromCharCode(...t.slice(e,e+32768));return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)},id=e=>{try{if(nd.Buffer)return nd.Buffer.from(e,`base64url`).toString(`utf8`);let t=e.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(Math.ceil(e.length/4)*4,`=`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e+=1)r[e]=n.charCodeAt(e);return new TextDecoder().decode(r)}catch{return null}},ad=e=>{if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;try{let e=new URL(t);return e.protocol!==`http:`&&e.protocol!==`https:`?null:(e.hash=``,e.toString().replace(/\/+$/g,``))}catch{return null}},od=e=>{if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;try{let e=new URL(t);return e.protocol!==`ws:`&&e.protocol!==`wss:`||e.username||e.password?null:(e.username=``,e.password=``,e.hash=``,e.search=``,e.toString())}catch{return null}},sd=e=>typeof e==`string`&&e.length>0,cd=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e;return t.kty!==`EC`||t.crv!==`P-256`||!sd(t.x)||!sd(t.y)?null:{kty:`EC`,crv:`P-256`,x:t.x,y:t.y}},ld=e=>typeof e==`number`&&Number.isFinite(e)?e:void 0,ud=e=>{if(!e||typeof e!=`object`)return null;let t=e,n=ld(t.priority);if(t.type===`lan`||t.type===`tunnel`){let e=ad(t.url);return e?n===void 0?{type:t.type,url:e}:{type:t.type,url:e,priority:n}:null}if(t.type===`relay`){let e=od(t.relayUrl);if(!e)return null;let r=typeof t.serverId==`string`?t.serverId.trim():``;if(!r)return null;let i=cd(t.hostEncPubJwk);if(!i)return null;let a=typeof t.grant==`string`&&t.grant.trim()?t.grant.trim():void 0;return{type:`relay`,relayUrl:e,serverId:r,hostEncPubJwk:i,...a?{grant:a}:{},...n===void 0?{}:{priority:n}}}return null},dd=e=>{if(!e||typeof e!=`object`)return null;let t=e;if(t.v!==2)return null;let n=typeof t.pairingId==`string`?t.pairingId.trim():``,r=typeof t.secret==`string`?t.secret.trim():``;if(!n||!r)return null;let i=Array.isArray(t.candidates)?t.candidates.map(ud).filter(e=>!!e):[];if(i.length===0)return null;let a=typeof t.expiresAt==`string`&&t.expiresAt.trim()?t.expiresAt.trim():void 0;if(a){let e=Date.parse(a);if(!Number.isFinite(e)||e<=Date.now())return null}let o=typeof t.label==`string`&&t.label.trim()?t.label.trim():void 0,s=typeof t.fingerprint==`string`&&t.fingerprint.trim()?t.fingerprint.trim():void 0;return{v:2,pairingId:n,secret:r,...o?{label:o}:{},...s?{fingerprint:s}:{},...a?{expiresAt:a}:{},candidates:i}},fd=e=>({v:2,pairingId:e.pairingId.trim(),secret:e.secret.trim(),...e.label?.trim()?{label:e.label.trim()}:{},...e.fingerprint?.trim()?{fingerprint:e.fingerprint.trim()}:{},...e.expiresAt?.trim()?{expiresAt:e.expiresAt.trim()}:{},candidates:e.candidates}),pd=e=>{let t=dd(e);if(!t)throw Error(`Invalid pairing connection payload`);let n=new URLSearchParams;return n.set(`v`,`2`),n.set(`p`,rd(JSON.stringify(t))),`openchamber://connect?${n.toString()}`},md=e=>{let t=e.trim();if(!t||t.length>td)return null;let n=t.indexOf(`?`);if(n===-1||!/^openchamber:\/\/connect\/?$/i.test(t.slice(0,n)))return null;let r=null,i=null;for(let e of t.slice(n+1).split(`&`)){let t=e.indexOf(`=`);if(t===-1)continue;let n=e.slice(0,t),a=e.slice(t+1);n===`v`?r=a:n===`p`&&(i=a)}if(r!==`2`||!i||i.length>td)return null;let a=id(i);if(!a||a.length>td)return null;try{return dd(JSON.parse(a))}catch{return null}},hd=e=>{let t=e.trim();if(!t||t.length>td)return null;try{let e=new URL(t);if(e.protocol===`openchamber:`&&e.hostname===`connect`){if(e.searchParams.get(`v`)!==`2`)return null;let t=e.searchParams.get(`p`)||``;if(!t||t.length>td)return null;let n=id(t);return!n||n.length>td?null:dd(JSON.parse(n))}}catch{}return md(t)},gd=`relay_identity_changed`,_d=class extends Error{code=gd;expectedServerId;actualServerId;constructor(e,t){super(`Relay identity changed (expected ${e}, got ${t||`unknown`})`),this.name=`RelayIdentityChangedError`,this.expectedServerId=e,this.actualServerId=t}},vd=new Map,yd=e=>{let t=e.trim();if(!t)throw Error(`Relay serverId is required`);return`relay:${t}`},bd=e=>{let t={Accept:`application/json`},n=typeof e.clientToken==`string`?e.clientToken.trim():``;if(n&&(t.Authorization=`Bearer ${n}`),e.requestHeaders)for(let[n,r]of Object.entries(e.requestHeaders))!n.trim()||!r.trim()||n.trim().toLowerCase()!==`authorization`&&(t[n.trim()]=r.trim());return t},xd=e=>({files:e?.files?.length??0,directories:e?.directories?.length??0,deletes:e?.deletes?.length??0,totalBytes:e?.totalBytes??0}),Sd=async e=>{k()&&await N(`desktop_sync_runs_append`,{record:e})},Cd=async(e,t)=>{if(!t)return;let n=await t().catch(()=>null),r=typeof n?.serverId==`string`?n.serverId.trim():``;if(r&&r!==e)throw new _d(e,r)},wd=e=>({ok:!0,files:0,directories:0,deletes:e.deletes.length,totalBytes:0,agentsRoot:null,providerCredentials:null,plan:e}),Td=e=>{let t=e?.selectionShape;if(!t)throw Error(`Local sync inventory missing selectionShape (update the OpenChamberY desktop app)`);return t},Ed=(e,t)=>{let n=En(e,{includeProviderCredentials:!1}),r=t.selections;return{fileGroups:r?.fileGroups??n.fileGroups,singleFiles:r?.singleFiles??n.singleFiles,directories:r?.directories??n.directories,agentsRoot:r?.agentsRoot!==!1,providerCredentials:r?.providerCredentials===!0,magpie:r?.magpie===!0}},Dd=(e,t,n)=>{let r=e.inventory&&typeof e.inventory==`object`?e.inventory:null;if(n.providerCredentials&&(!r||!Object.hasOwn(r,`providerCredentials`)))throw Error(`Provider credential inventory is missing`);if(n.magpie&&!r?.magpie?.available)throw Error(`Magpie source configuration is unavailable`);return{direction:`pull`,magpieAvailable:r?.magpie?.available===!0,magpie:n.magpie&&r?.magpie?.available?{bytes:0}:null,files:r?.files??t?.files??[],directories:r?.directories??t?.directories??[],agentsRoot:n.agentsRoot?r?.agentsRoot??null:null,providerCredentials:n.providerCredentials?r?.providerCredentials??null:null,deletes:t?.deletes??[],totalBytes:t?.totalBytes??0,selections:n}},Od=(e,t)=>({...e,direction:`push`,providerCredentials:t.providerCredentials?e.providerCredentials:null,magpie:t.magpie?e.magpie:null,agentsRoot:t.agentsRoot?e.agentsRoot:null,selections:t}),kd=e=>e.files.length>0||e.directories.length>0||!!e.agentsRoot||!!e.providerCredentials||!!e.magpie,Ad=(e,t)=>{let r=n({relayUrl:e.relayUrl,serverId:e.serverId,hostEncPubJwk:e.hostEncPubJwk}),i=bd(t),a=async(e,t,n)=>{let a=await r.fetch(t,{method:e,headers:{...i,...n===void 0?{}:{"Content-Type":`application/json`}},body:n===void 0?void 0:JSON.stringify(n)}),o=await a.json().catch(()=>({}));if(!a.ok){let n=Error(typeof o.error==`string`?o.error:`Relay sync ${e} ${t} failed (${a.status})`);throw typeof o.code==`string`&&(n.code=o.code),n}return o};return{tunnel:r,async probe(e){let t=await a(`POST`,`/api/openchamber/config-sync/probe`,{plan:e});return{remoteExisting:Array.isArray(t.remoteExisting)?t.remoteExisting:[],remoteAgentsRootExists:t.remoteAgentsRootExists===!0,remoteProviderCredentialsExists:t.remoteProviderCredentialsExists===!0,inventory:t.inventory}},async prepare(e,t){await a(`POST`,`/api/openchamber/config-sync/prepare`,{plan:e,syncRunId:t})},async putTar(e,t,n){let a=await r.fetch(`/api/openchamber/config-sync/put/${encodeURIComponent(e)}?syncRunId=${encodeURIComponent(n)}`,{method:`PUT`,headers:{...i,"Content-Type":e===`credentials`||e===`magpie`?`application/octet-stream`:`application/gzip`},body:new Blob([new Uint8Array(t)],{type:e===`credentials`||e===`magpie`?`application/octet-stream`:`application/gzip`})}),o=await a.json().catch(()=>({}));if(!a.ok){let t=Error(typeof o.error==`string`?o.error:`Relay sync put ${e} failed (${a.status})`);throw typeof o.code==`string`&&(t.code=o.code),t}},async download(e){let t=await r.fetch(`/api/openchamber/config-sync/download/${encodeURIComponent(e)}`,{method:`GET`,headers:i});if(!t.ok){let n=await t.json().catch(()=>({})),r=Error(typeof n.error==`string`?n.error:`Relay sync download ${e} failed (${t.status})`);throw typeof n.code==`string`&&(r.code=n.code),r}return new Uint8Array(await t.arrayBuffer())},async finalize(e){let t=await a(`POST`,`/api/openchamber/config-sync/finalize`,{syncRunId:e});return Array.isArray(t.magpieWarnings)?t.magpieWarnings.filter(e=>e===`sign_in_required`||e===`agent_settings_skipped`):[]},async abort(e){await a(`POST`,`/api/openchamber/config-sync/abort`,{syncRunId:e}).catch(()=>void 0)},close(){r.close()}}},jd=async(e,t,n,r)=>{if(vd.has(e)){let t=Error(`Config sync already in progress for ${e}`);throw t.code=`sync_in_progress`,t}let i=crypto.randomUUID(),a=new Date().toISOString();vd.set(e,i);try{let o=await r({syncRunId:i});return await Sd({syncRunId:i,targetId:e,stage:t,direction:n,startedAt:a,endedAt:new Date().toISOString(),result:`success`,summary:xd(o.plan)}),{...o,syncRunId:i}}catch(r){throw await Sd({syncRunId:i,targetId:e,stage:t,direction:n,startedAt:a,endedAt:new Date().toISOString(),result:`failure`,summary:xd(null),error:r instanceof Error?r.message:String(r)}).catch(()=>void 0),r}finally{vd.get(e)===i&&vd.delete(e)}},Md=async(e,t)=>{let n=await lr({direction:e,targetKind:`relay`}),r=Td(n),i=Ed(r,t),a=e===`push`?await lr({direction:e,selections:i,targetKind:`relay`}):n;if(e===`push`&&!a)throw Error(`Local sync inventory unavailable`);return{selectionShape:r,selections:i,localPlan:a}},Nd=async(e,t={},n={})=>{let r=e.relay,i=yd(r.serverId),a=t.direction===`pull`?`pull`:`push`;return jd(i,`preview`,a,async()=>{await Cd(r.serverId,n.refreshCandidates);let{selectionShape:i,selections:o,localPlan:s}=await Md(a,t),c=Ad(r,e);try{if(a===`pull`){let e=await c.probe({selections:o});return{plan:Dd(e,s,o),remoteExisting:e.remoteExisting,remoteAgentsRootExists:e.remoteAgentsRootExists,remoteProviderCredentialsExists:e.remoteProviderCredentialsExists,selectionShape:i}}let e=Od(s,o),t=await c.probe(e);return{plan:e,remoteExisting:t.remoteExisting,remoteAgentsRootExists:t.remoteAgentsRootExists,remoteProviderCredentialsExists:t.remoteProviderCredentialsExists,selectionShape:s?.selectionShape??i}}finally{c.close()}})},Pd=async(e,t={},n={})=>{let r=e.relay,i=yd(r.serverId),a=t.direction===`pull`?`pull`:`push`;return jd(i,`apply`,a,async({syncRunId:i})=>{await Cd(r.serverId,n.refreshCandidates);let{selections:o,localPlan:s}=await Md(a,t),c=Ad(r,e);try{if(a===`pull`){let e=Dd(await c.probe({selections:o}),s,o);if(!kd(e))return wd(e);let t=e.files.length>0||e.directories.length>0?await c.download(`config`):null,n=e.agentsRoot?await c.download(`agents`):null,r=e.providerCredentials?await c.download(`credentials`):null,a=e.magpie?await c.download(`magpie`):null;if(!k())throw Error(`Relay pull apply requires the OpenChamberY desktop app`);let l=await N(`desktop_relay_sync_apply_local`,{syncRunId:i,plan:e,configTar:t,agentsTar:n,credentialPayload:r,magpiePayload:a});if(!l?.ok)throw Error(`Relay pull local apply failed`);return{...l,plan:e}}let e=Od(s,o);if(!kd(e))return wd(e);if(!k())throw Error(`Relay push apply requires the OpenChamberY desktop app`);let t=await N(`desktop_relay_sync_pack_local`,{plan:e});if(!t)throw Error(`Relay push local pack failed`);await c.prepare(e,i);let n=[];try{if(e.magpie){if(!t.magpiePayload?.byteLength)throw Error(`Magpie transfer incomplete`);await c.putTar(`magpie`,t.magpiePayload,i)}t.configTar&&t.configTar.byteLength>0&&await c.putTar(`config`,t.configTar,i),t.agentsTar&&t.agentsTar.byteLength>0&&await c.putTar(`agents`,t.agentsTar,i),t.credentialPayload&&t.credentialPayload.byteLength>0&&await c.putTar(`credentials`,t.credentialPayload,i),n=await c.finalize(i)}catch(e){throw await c.abort(i),e}return{ok:!0,files:e.files.length,directories:e.directories.length,deletes:e.deletes.length,totalBytes:e.totalBytes,agentsRoot:e.agentsRoot?{fileCount:e.agentsRoot.fileCount}:null,providerCredentials:e.providerCredentials?{bytes:e.providerCredentials.bytes}:null,...n.length?{magpieWarnings:n}:{},plan:e}}finally{c.close()}})},Fd=()=>{let{t:e}=Fe(),t=j()&&S(),[n,r]=Q.useState(!1),[i,a]=Q.useState(!1),[o,s]=Q.useState(``),[u,d]=Q.useState(``),[f,p]=Q.useState(!1),[m,h]=Q.useState(null),[g,_]=Q.useState(!0),[v,y]=Q.useState(!1),[b,C]=Q.useState(null),[w,T]=Q.useState(null);Q.useEffect(()=>{if(!t){_(!1);return}let n=!1;return(async()=>{try{let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});if(!t.ok)throw Error(e(`settings.openchamber.desktopNetwork.error.loadFailed`));let i=await t.json().catch(()=>null);if(n)return;let o=i?.desktopLanAccessEnabled===!0,c=typeof i?.desktopUiPassword==`string`?i.desktopUiPassword:``;r(o),a(o),s(c),d(c),p(i?.desktopLanAccessActive===!0),h(typeof i?.desktopLanAccessBlockedReason==`string`?i.desktopLanAccessBlockedReason:null),C(null)}catch(t){n||C(t instanceof Error?t.message:e(`settings.openchamber.desktopNetwork.error.loadFailed`))}finally{n||_(!1)}})(),()=>{n=!0}},[t,e]),Q.useEffect(()=>{if(!t||!i){T(null);return}let e=!1;return(async()=>{let t=await x();e||T(t)})(),()=>{e=!0}},[i,t]);let E=i!==n||u!==o,D=Q.useMemo(()=>{if(typeof window>`u`)return null;let e=c()||window.location.href,t=0;try{t=Number(new URL(e).port)}catch{t=Number(window.location.port)}return Number.isFinite(t)&&t>0?t:null},[]),O=i&&f&&w&&D?`http://${w}:${D}`:null,k=i&&!u.trim(),A=n&&!f&&m===`missing-password`,M=g||v||!E||k,N=Q.useCallback(()=>{a(e=>!e)},[]),P=Q.useCallback(e=>{d(e),e.trim()||a(!1)},[]),F=Q.useCallback(async()=>{if(E){y(!0),C(null);try{if(!(await l(`/api/config/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({desktopLanAccessEnabled:i,desktopUiPassword:u})})).ok)throw Error(e(`settings.openchamber.desktopNetwork.error.saveFailed`));if(r(i),s(u),!await R())throw Error(e(`settings.openchamber.desktopNetwork.error.savedRestartFailed`))}catch(t){C(t instanceof Error?t.message:e(`settings.openchamber.desktopNetwork.error.saveFailed`)),y(!1)}}},[u,i,E,e]);return t?(0,$.jsxs)(Jr,{className:`oc-settings-detail-group`,label:e(`settings.openchamber.desktopNetwork.title`),children:[(0,$.jsx)(Yr,{itemId:`remote-instances.desktop-ui-password`,label:(0,$.jsx)(`label`,{htmlFor:`desktop-ui-password`,children:e(`settings.openchamber.desktopPassword.field.password`)}),description:e(`settings.openchamber.desktopPassword.field.passwordDescription`),children:(0,$.jsx)(gn,{id:`desktop-ui-password`,type:`password`,className:`max-w-sm`,value:u,onChange:e=>P(e.target.value),placeholder:e(`settings.openchamber.desktopPassword.field.passwordPlaceholder`),disabled:g||v,required:i,"aria-invalid":k})}),(0,$.jsxs)(`div`,{"data-settings-item":`remote-instances.desktop-lan-access`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,onClick:N,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),N())},children:[(0,$.jsxs)(`div`,{className:`oc-settings-split-row-copy`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.desktopNetwork.field.allowLanAccess`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:e(`settings.openchamber.desktopNetwork.field.allowLanAccessDescription`)}),(0,$.jsx)(`div`,{className:`typography-meta text-[var(--status-warning)]/85`,children:e(`settings.openchamber.desktopNetwork.field.warning`)}),k||A?(0,$.jsx)(`div`,{className:`typography-meta text-[var(--status-warning)]/85`,children:e(`settings.openchamber.desktopNetwork.field.passwordRequiredWarning`)}):null]}),(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:i,onChange:N,ariaLabel:e(`settings.openchamber.desktopNetwork.field.allowLanAccessAria`),disabled:g||v})})]}),b?(0,$.jsx)(`div`,{className:`oc-settings-group-row typography-meta text-[var(--status-error)]`,children:b}):null,O?(0,$.jsxs)(`div`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,children:[e(E&&!n?`settings.openchamber.desktopNetwork.hint.openAfterRestart`:`settings.openchamber.desktopNetwork.hint.openNow`),(0,$.jsx)(`span`,{className:`font-mono text-foreground`,children:O})]}):null,(0,$.jsx)(`div`,{className:`oc-settings-group-row flex justify-end`,children:(0,$.jsx)(J,{type:`button`,size:`xs`,onClick:F,disabled:M,className:`shrink-0 !font-normal`,children:e(v?`settings.common.actions.saving`:`settings.openchamber.desktopNetwork.actions.saveAndRestart`)})})]}):null},Id=`wss://relay.openchamber.dev/ws`,Ld=`openchamber.pairing.relayUrl.v1`,Rd=e=>{if(typeof e!=`string`||!e.trim())return null;try{let t=new URL(e.trim());return t.protocol!==`ws:`&&t.protocol!==`wss:`||t.username||t.password?null:(t.username=``,t.password=``,t.hash=``,t.search=``,t.toString())}catch{return null}},zd=(e=typeof window>`u`?null:window.localStorage)=>{if(!e)return null;try{return Rd(e.getItem(Ld))}catch{return null}},Bd=(e,t=typeof window>`u`?null:window.localStorage)=>{if(!t)return;let n=Rd(e);if(n)try{t.setItem(Ld,n)}catch{}},Vd=`https://github.com/yee94/openchambery/tree/main/packages/relay-server`,Hd=()=>Math.floor(2e4+Math.random()*3e4),Ud=e=>{if(!Number.isFinite(e)||e<0)return`0 B`;if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`,`TB`],n=e/1024;for(let e of t){if(n<1024||e===t[t.length-1])return`${n.toFixed(n>=10?0:1)} ${e}`;n/=1024}return`${e} B`},Wd={fileGroups:[],singleFiles:[],directories:[],agentsRoot:!0,providerCredentials:!1},Gd=e=>{let t=e.selectionShape;if(!t||typeof t!=`object`)return null;let n=typeof t.fileGroups==`number`?t.fileGroups:null,r=typeof t.singleFiles==`number`?t.singleFiles:null,i=typeof t.directories==`number`?t.directories:null;return n===null||r===null||i===null||n<0||r<0||i<0?null:{fileGroups:n,singleFiles:r,directories:i}},Kd=(e,t)=>e.fileGroups.length===t.fileGroups&&e.singleFiles.length===t.singleFiles&&e.directories.length===t.directories,qd=[`settings.remoteInstances.page.sync.step.scanLocal`,`settings.remoteInstances.page.sync.step.compareRemote`,`settings.remoteInstances.page.sync.step.confirm`],Jd=({open:e,instanceId:t,targetKind:n=`ssh`,relayHost:r=null,onOpenChange:i})=>{let{t:a}=Fe(),[o,s]=Q.useState(1),[c,l]=Q.useState(`scanning-local`),[u,d]=Q.useState(`push`),[f,p]=Q.useState(Wd),[m,h]=Q.useState(null),[g,_]=Q.useState(null),[v,y]=Q.useState(null),[b,x]=Q.useState(null),[S,C]=Q.useState(null),w=Q.useRef(Wd),T=m!=null&&Kd(f,m),E=Me(()=>{s(1),l(`scanning-local`),d(`push`),p(Wd),h(null),_(null),y(null),x(null),C(null),w.current=Wd}),D=Me(async(e=u,i=f)=>{if(t){s(2),l(`comparing-remote`),x(null),C(null),y(null);try{let o=n===`relay`?r?await Nd(r,{direction:e,selections:i}):null:await gr(t,{targetKind:n,direction:e,selections:i});if(!o){x(a(`settings.remoteInstances.page.sync.state.unavailable`)),C(2),l(`error`);return}y(o),w.current=i,s(3),l(`review`)}catch(e){console.error(`[remote-instances] config sync compare-remote failed`,e),x(e instanceof Error?e.message:String(e)),C(2),l(`error`)}}}),O=Me(async(e=u,r=f)=>{if(t){s(1),l(`scanning-local`),x(null),C(null),_(null),y(null);try{let t=m!=null&&Kd(r,m),i=await lr(t?{targetKind:n,direction:e,selections:r}:{targetKind:n,direction:e});if(!i){h(null),x(a(`settings.remoteInstances.page.sync.state.unavailable`)),C(1),l(`error`);return}let o=Gd(i);if(!o){h(null),p(Wd),x(a(`settings.remoteInstances.page.sync.state.unavailable`)),C(1),l(`error`);return}h(o);let s=t?r:En(o,{includeProviderCredentials:!1});p(s),_(i),await D(e,s)}catch(e){console.error(`[remote-instances] config sync scan-local failed`,e),x(e instanceof Error?e.message:String(e)),C(1),l(`error`)}}});Q.useEffect(()=>{!e||!t||O(`push`)},[e,t]),Q.useEffect(()=>{e||E()},[e]);let k=Q.useMemo(()=>new Set(v?.remoteExisting??[]),[v]),A=v?.plan??g,j=!!(A&&(A.files.length>0||A.directories.length>0||A.agentsRoot!=null||A.providerCredentials!=null||A.magpie!=null)),M=c===`applying`,N=c===`review`||c===`applying`&&o===3,P=A?A.deletes.length+(A.agentsRoot&&v?.remoteAgentsRootExists?1:0):0,F=Me(()=>{if(S===2){D(u,f);return}O(u,f)}),I=Me(e=>{if(e===u||M)return;d(e),y(null),_(null);let t={...f,magpie:!1};p(t),O(e,t)}),L=Me(async()=>{if(!(!t||!j||M||c!==`review`)){l(`applying`);try{let e=n===`relay`?r?await Pd(r,{direction:u,selections:w.current}):null:await br(t,{targetKind:n,direction:u,selections:w.current});if(!e)throw Error(`Sync bridge unavailable`);let o=[...e.magpieWarnings?.includes(`sign_in_required`)?[a(`settings.remoteInstances.page.sync.magpie.signInRequired`)]:[],...e.magpieWarnings?.includes(`agent_settings_skipped`)?[a(`settings.remoteInstances.page.sync.magpie.agentsSkipped`)]:[]];o.length?Y.warning(a(`settings.remoteInstances.page.sync.toast.success`),{description:o.join(`
21
+ }`,rows:8,className:`font-mono typography-meta resize-y`,spellCheck:!1,"data-bwignore":`true`,"data-1p-ignore":`true`}),We&&(0,$.jsx)(`p`,{className:`typography-micro text-[var(--status-error)]`,children:We}),(0,$.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:(0,$.jsxs)(J,{variant:`outline`,size:`xs`,className:`!font-normal gap-1`,onClick:Ze,type:`button`,children:[(0,$.jsx)(Z,{name:`clipboard`,className:`h-3.5 w-3.5`}),e(`settings.mcp.page.importDialog.pasteFromClipboard`)]})})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{variant:`outline`,onClick:()=>{Ve(!1),Ue(``),Ge(null)},className:`text-foreground`,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{onClick:Qe,disabled:!He.trim(),size:`sm`,children:e(`settings.common.actions.import`)})]})]})}),(0,$.jsx)(an,{open:pe,onOpenChange:e=>{!e&&!he&&me(!1)},children:(0,$.jsxs)(tn,{className:`max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:e(`settings.mcp.page.deleteDialog.title`,{name:n??``})}),(0,$.jsxs)(rn,{children:[e(`settings.mcp.page.deleteDialog.descriptionPrefix`),` `,(0,$.jsx)(`code`,{className:`text-foreground`,children:`opencode.json`}),`.`,` `,e(`settings.mcp.page.deleteDialog.descriptionSuffix`)]})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{variant:`outline`,onClick:()=>me(!1),disabled:he,className:`text-foreground`,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{variant:`destructive`,size:`sm`,onClick:tt,disabled:he,children:e(he?`settings.mcp.page.actions.deleting`:`settings.common.actions.delete`)})]})]})})]})},ec=Q.memo(function(e){let t=(0,Ki.c)(24),{checked:n,onChange:r,disabled:i,ariaLabel:a,className:o,iconClassName:s}=e,c=i!==void 0&&i,l;t[0]!==n||t[1]!==c||t[2]!==r?(l=e=>{e.preventDefault(),e.stopPropagation(),!c&&!n&&r()},t[0]=n,t[1]=c,t[2]=r,t[3]=l):l=t[3];let u=l,d;t[4]!==n||t[5]!==c||t[6]!==r?(d=e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),!c&&!n&&r())},t[4]=n,t[5]=c,t[6]=r,t[7]=d):d=t[7];let f=d,p=n?`bg-[color-mix(in_srgb,var(--primary-base)_80%,transparent)] shadow-none hover:bg-[var(--primary-base)]`:`bg-[var(--surface-muted)] shadow-[inset_0_0_0_1px_var(--interactive-border)] hover:bg-[var(--interactive-hover)]`,m;t[8]!==o||t[9]!==p?(m=q(`group/radio relative flex h-[14px] w-[14px] min-h-[14px] min-w-[14px] shrink-0 self-center items-center justify-center rounded-full outline-none`,`transition-[background-color,box-shadow] duration-200 ease-out`,p,`focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] focus-visible:ring-offset-1 focus-visible:ring-offset-background`,`disabled:cursor-not-allowed disabled:opacity-50`,o),t[8]=o,t[9]=p,t[10]=m):m=t[10];let h=!n&&`opacity-0`,g;t[11]!==s||t[12]!==h?(g=q(`block h-[5px] w-[5px] rounded-full bg-white`,h,s),t[11]=s,t[12]=h,t[13]=g):g=t[13];let _;t[14]===g?_=t[15]:(_=(0,$.jsx)(`span`,{"aria-hidden":!0,className:g}),t[14]=g,t[15]=_);let v;return t[16]!==a||t[17]!==n||t[18]!==c||t[19]!==u||t[20]!==f||t[21]!==m||t[22]!==_?(v=(0,$.jsx)(`button`,{type:`button`,role:`radio`,onClick:u,onKeyDown:f,disabled:c,"aria-checked":n,"aria-label":a,className:m,children:_}),t[16]=a,t[17]=n,t[18]=c,t[19]=u,t[20]=f,t[21]=m,t[22]=_,t[23]=v):v=t[23],v}),tc=e=>{let t=e?.trim();return t?{location:{directory:t}}:void 0},nc=()=>{let e=me.getSdkClient().plugin;if(!e?.list||!e.check||!e.update)throw Error(`OpenCode plugin status is not available`);return e},rc=e=>{switch(e.type){case`package`:return{kind:`package`,target:e.target,version:e.version??null,outdated:e.outdated===!0,updating:e.updating===!0};case`local`:return{kind:`local`,path:e.path};case`builtin`:case`sdk`:return{kind:`builtin`};default:throw Error(`Unexpected plugin source: ${JSON.stringify(e)}`)}},ic=e=>{if(e.status===`active`)return{kind:`active`};if(e.status===`failed`)return{kind:`failed`,error:e.error,ref:e.ref??null};throw Error(`Unexpected plugin state: ${JSON.stringify(e)}`)},ac=e=>({source:rc(e.source),state:ic(e.state)}),oc=e=>{if(!Array.isArray(e))throw Error(`OpenCode plugin status payload is invalid`);return e.map(e=>ac(e))};async function sc(e,t){return oc((await nc().list(tc(e),t?{signal:t}:void 0))?.data)}async function cc(e,t){return oc((await nc().check(tc(e),t?{signal:t}:void 0))?.data)}async function lc(e,t,n){let r=t.trim();if(!r)throw Error(`plugin.update requires a target`);await nc().update({...tc(e),targets:[r]},n?{signal:n}:void 0)}function uc(e){return e instanceof Error&&e.message.trim()?e.message:typeof e==`string`&&e.trim()?e:`plugin operation failed`}var dc=1500,fc=e=>e?.trim()||null,pc=(e,t=i())=>w.plugins.list(e,t),mc=(e,t,n=!1,r=i())=>w.plugins.registry(e,t,n,r),hc=(e,t=i())=>w.plugins.runtime(e,t),gc=0,_c=()=>(gc+=1,gc),vc=()=>{gc+=1},yc=(e,t,n)=>e.getQueryData(hc(t,n)),bc=(e=Ot(),t=i())=>{let n=fc(e);return{queryKey:pc(n,t),queryFn:async({signal:e})=>{let t=await l(Mc(`/api/config/plugins`,n),{headers:Fc(n),signal:e});if(!t.ok)throw Error(`Failed to load plugins`);let r=await t.json();return{entries:r.entries??[],files:r.files??[]}},staleTime:5e3,retry:2}},xc=(e,t,n=!1,r=i())=>{let a=fc(e),o=M(t);return{queryKey:mc(a,o,n,r),queryFn:async({signal:e})=>{let t={};for(let r of Pc(o)){let i=await l(Nc(r,n,a),{headers:Fc(a),signal:e});if(!i.ok)throw Error(`Failed to load plugin registry info`);let o=await i.json();for(let e of o.results??[])t[e.spec]=e}return t},staleTime:n?0:3e5,retry:2}},Sc=(e=Ot(),t=i())=>{let n=fc(e);return{queryKey:hc(n,t),queryFn:async({signal:e})=>{let r=_c(),i=await sc(n,e);if(r!==gc){let e=yc(O,n,t);if(e)return e;throw Error(`Stale plugin runtime read`)}return i},staleTime:5e3,retry:!1}},Cc=(e,t,n=i())=>JSON.stringify([n,fc(e)??``,t]),wc=e=>{let t=(0,Ki.c)(7),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let r=n,i=Kt(Ic),a;t[2]===i?a=t[3]:(a=bc(fc(i)??fc(me.getDirectory())),t[2]=i,t[3]=a);let o;return t[4]!==r.enabled||t[5]!==a?(o={...a,enabled:r.enabled},t[4]=r.enabled,t[5]=a,t[6]=o):o=t[6],De(o)},Tc=(e,t)=>{let n=(0,Ki.c)(6),r=t!==void 0&&t,i=Kt(Lc),a;n[0]!==i||n[1]!==r||n[2]!==e?(a=xc(fc(i)??fc(me.getDirectory()),e,r),n[0]=i,n[1]=r,n[2]=e,n[3]=a):a=n[3];let o;return n[4]===a?o=n[5]:(o={...a},n[4]=a,n[5]=o),De(o)},Ec=()=>{let e=(0,Ki.c)(2),t=Kt(Rc),n;return e[0]===t?n=e[1]:(n=fc(t)??fc(me.getDirectory()),e[0]=t,e[1]=n),n},Dc=e=>{let t=(0,Ki.c)(7),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let r=n,i=Ec(),a;t[2]===i?a=t[3]:(a=Sc(i),t[2]=i,t[3]=a);let o;return t[4]!==r.enabled||t[5]!==a?(o={...a,enabled:r.enabled},t[4]=r.enabled,t[5]=a,t[6]=o):o=t[6],De(o)},Oc=async(e,t,n)=>{let r=fc(t);return i()===n?e.fetchQuery({...bc(r,n),staleTime:0}):e.getQueryData(pc(r,n))??{entries:[],files:[]}},kc=async(e=O,t,n)=>{let r=fc(t),a=i(),o=await xc(r,n,!0,a).queryFn({signal:new AbortController().signal});return e.setQueryData(mc(r,n,!1,a),o),o},Ac=async(e,t,n)=>{let r=fc(t);if(i()!==n)return yc(e,r,n);let a=_c(),o=await sc(r);return a!==gc||i()!==n?yc(e,r,n):(e.setQueryData(hc(r,n),o),o)},jc=async(e=Ot(),t=O)=>{let n=fc(e),r=i(),a=await cc(n);return vc(),i()===r&&t.setQueryData(hc(n,r),a),a};function Mc(e,t){return`${e}${t?`?directory=${encodeURIComponent(t)}`:``}`}function Nc(e,t,n){let r=new URLSearchParams;t&&r.set(`refresh`,`true`),n&&r.set(`directory`,n);let i=r.toString();return`/api/config/plugins/registry?${`specs=${e.map(encodeURIComponent).join(`,`)}`}${i?`&${i}`:``}`}function Pc(e){let t=[],n=[],r=0;for(let i of e){let e=encodeURIComponent(i),a=n.length===0?e.length:r+1+e.length;if(n.length>0&&a>dc){t.push(n),n=[i],r=e.length;continue}n.push(i),r=a}return n.length>0&&t.push(n),t}function Fc(e){return e?{"x-opencode-directory":e}:void 0}function Ic(e){return e.getActiveProject?.()?.path??null}function Lc(e){return e.getActiveProject?.()?.path??null}function Rc(e){return e.getActiveProject?.()?.path??null}var zc=()=>{try{let e=Kt.getState().getActiveProject?.();if(e?.path?.trim())return e.path.trim();let t=me.getDirectory();if(t?.trim())return t.trim()}catch(e){console.warn(`[PluginsStore] Error resolving config directory:`,e)}return null},Bc=5e3,Vc=`__default__`,Hc=new Map,Uc=new Map,Wc=1500,Gc=e=>e?.trim()||Vc,Kc=e=>{Hc.delete(Gc(e))},qc=oe()(ce(se((e,t)=>({entries:[],files:[],selectedId:null,isLoading:!1,registryInfo:{},isLoadingRegistry:!1,draft:null,packageUpdates:{},setSelected:t=>e({selectedId:t}),setDraft:t=>e({draft:t}),loadPlugins:async n=>{let r=zc(),a=i(),s=o(),c=()=>a===i()&&s===o()&&r===zc(),l=Gc(r),u=Date.now(),d=Hc.get(l)??0,f=t().entries.length>0||t().files.length>0;if(!n?.force&&f&&u-d<Bc)return!0;let p=Uc.get(l);if(!n?.force&&p)return p;let m=(async()=>{e({isLoading:!0});try{let i=n?.force?await Oc(O,r,a):await O.fetchQuery(bc(r,a));return c()?(e({entries:i.entries??[],files:i.files??[],isLoading:!1}),Hc.set(l,Date.now()),n?.force||t().loadRegistryInfo(),!0):!1}catch(t){return console.error(`[PluginsStore] Failed to load plugins:`,t),c()&&e({isLoading:!1}),!1}})();Uc.set(l,m);try{return await m}finally{Uc.delete(l)}},loadRegistryInfo:async n=>{let r=Xc(n?.specs??t().entries.map(e=>e.spec));if(r.length===0){e({isLoadingRegistry:!1});return}e({isLoadingRegistry:!0});try{let i=zc(),a={...t().registryInfo};for(let e of Zc(r)){let t=await l(Yc(e,n?.force===!0,i),{headers:Qc(i)});if(!t.ok)throw Error(`Failed to load plugin registry info`);let r=await nl(t);for(let e of r.results??[])a[e.spec]=e}e({registryInfo:a,isLoadingRegistry:!1})}catch(t){console.error(`[PluginsStore] Failed to load plugin registry info:`,t),e({isLoadingRegistry:!1})}},updateToLatest:async e=>{let n=t().entries.find(t=>t.id===e);if(!n)return{ok:!1};let r=t().registryInfo[n.spec];return!r||r.kind!==`npm-ok`||!r.hasUpdate||!r.latestVersion?{ok:!1}:await t().updateEntry(e,{spec:`${r.name}@${r.latestVersion}`})},updatePackage:async n=>{let r=zc(),a=i(),o=Cc(r,n,a);if(t().packageUpdates[o]?.kind===`running`)return!1;e({packageUpdates:{...t().packageUpdates,[o]:{kind:`running`}}});try{if(await lc(r,n),i()===a)try{await Ac(O,r,a)}catch(e){console.error(`[PluginsStore] Plugin updated, but status could not be reread:`,e)}let s={...t().packageUpdates};return delete s[o],e({packageUpdates:s}),!0}catch(n){return console.error(`[PluginsStore] Failed to update plugin package:`,n),e({packageUpdates:{...t().packageUpdates,[o]:{kind:`failed`,error:uc(n)}}}),!1}},createEntry:async e=>{let n=await tl(async t=>await l(Jc(`/api/config/plugins/entry`,t),{method:`POST`,headers:$c(t),body:JSON.stringify(el(e))}));return n.ok&&t().loadRegistryInfo({specs:[e.spec],force:!0}),n},updateEntry:async(e,n)=>{let r=t().entries.find(t=>t.id===e)?.spec,i=n.spec??r,a=await tl(async t=>await l(Jc(`/api/config/plugins/entry/${encodeURIComponent(e)}`,t),{method:`PATCH`,headers:$c(t),body:JSON.stringify(el(n))}));return a.ok&&i&&t().loadRegistryInfo({specs:[i],force:!0}),a},deleteEntry:async n=>{let r=t().entries.find(e=>e.id===n),i=await tl(async e=>await l(Jc(`/api/config/plugins/entry/${encodeURIComponent(n)}`,e),{method:`DELETE`,headers:Qc(e)}));if(i.ok&&t().selectedId===n&&e({selectedId:null}),i.ok&&r){let n={...t().registryInfo};delete n[r.spec],e({registryInfo:n})}return i},readFile:async e=>{try{let t=zc(),n=await l(Jc(`/api/config/plugins/file/${encodeURIComponent(e)}`,t),{headers:Qc(t)});if(!n.ok)throw Error(`Failed to read plugin file`);return await nl(n)}catch(e){return console.error(`[PluginsStore] Failed to read plugin file:`,e),null}},createFile:async e=>tl(async t=>await l(Jc(`/api/config/plugins/file`,t),{method:`POST`,headers:$c(t),body:JSON.stringify(e)})),updateFile:async(e,t)=>tl(async n=>await l(Jc(`/api/config/plugins/file/${encodeURIComponent(e)}`,n),{method:`PUT`,headers:$c(n),body:JSON.stringify(t)})),deleteFile:async n=>{let r=await tl(async e=>await l(Jc(`/api/config/plugins/file/${encodeURIComponent(n)}`,e),{method:`DELETE`,headers:Qc(e)}));return r.ok&&t().selectedId===n&&e({selectedId:null}),r},getById:e=>t().entries.find(t=>t.id===e)??t().files.find(t=>t.id===e)}),{name:`plugins-store`,storage:_e(),partialize:e=>({selectedId:e.selectedId})}),{name:`plugins-store`}));function Jc(e,t){return`${e}${t?`?directory=${encodeURIComponent(t)}`:``}`}function Yc(e,t,n){let r=new URLSearchParams;t&&r.set(`refresh`,`true`),n&&r.set(`directory`,n);let i=r.toString();return`/api/config/plugins/registry?${`specs=${e.map(encodeURIComponent).join(`,`)}`}${i?`&${i}`:``}`}function Xc(e){return Array.from(new Set(e.map(e=>e.trim()).filter(Boolean)))}function Zc(e){let t=[],n=[],r=0;for(let i of e){let e=encodeURIComponent(i),a=n.length===0?e.length:r+1+e.length;n.length>0&&a>Wc?(t.push(n),n=[i],r=e.length):(n.push(i),r=a)}return n.length>0&&t.push(n),t}function Qc(e){return e?{"x-opencode-directory":e}:void 0}function $c(e){return{"Content-Type":`application/json`,...e?{"x-opencode-directory":e}:{}}}function el(e){let t={};return e.spec!==void 0&&(t.spec=e.spec),e.options!==void 0&&(t.options=e.options),e.scope!==void 0&&(t.scope=e.scope),t}async function tl(e){let t=i(),n=o();try{let r=zc(),a=await e(r),s=await nl(a).catch(()=>null);if(!a.ok)throw Error(s?.error||`Failed to update plugin configuration`);if(t!==i()||n!==o())return{ok:!0};Kc(r);let c=await Oc(O,r,t);return r===zc()&&t===i()&&n===o()&&(qc.setState({entries:c.entries,files:c.files}),Hc.set(Gc(r),Date.now())),{ok:!0,reloadFailed:s?.reloadFailed===!0,message:s?.message,warning:s?.warning}}catch(e){return console.error(`[PluginsStore] Failed to update plugin configuration:`,e),{ok:!1}}}async function nl(e){return await e.json()}var rl=/^[a-z0-9][a-z0-9-_.]*\.(js|ts|mjs|cjs)$/;function il(e){let t=e.trim();if(t===``)return{ok:!0,value:void 0};try{let e=JSON.parse(t);return typeof e!=`object`||!e||Array.isArray(e)?{ok:!1}:{ok:!0,value:e}}catch{return{ok:!1}}}var al=({open:e,onOpenChange:t,defaultScope:n=`user`})=>{let{t:r}=Fe(),i=qc(e=>e.createEntry),a=qc(e=>e.createFile),[o,s]=Q.useState(`npm`),[c,l]=Q.useState(``),[u,d]=Q.useState(``),[f,p]=Q.useState(``),[m,h]=Q.useState(``),[g,_]=Q.useState(n),[v,y]=Q.useState(!1),b=Q.useCallback(()=>{l(``),d(``),p(``),h(``),_(n)},[n]);Q.useEffect(()=>{e&&(s(`npm`),b())},[e,b]);let x=e=>{e!==o&&(s(e),b())},S=Q.useMemo(()=>il(u),[u]),C=!S.ok,w=o===`file`&&f.trim()!==``&&!rl.test(f.trim()),T=(o===`npm`||o===`path`)&&c.trim()===``,E=o===`file`&&m.trim()===``,D=o===`file`&&f.trim()===``,O=v||C||o===`npm`&&T||o===`path`&&T||o===`file`&&(D||w||E),k=async()=>{if(!O){y(!0);try{let e;e=o===`file`?await a({fileName:f.trim(),content:m,scope:g}):await i({spec:c.trim(),options:S.ok?S.value:void 0,scope:g}),e.ok?(Y.success(e.message||r(`settings.plugins.toast.created`)),e.reloadFailed&&Y.warning(r(`settings.plugins.toast.reloadFailed`)),t(!1)):Y.error(e.message||r(`settings.plugins.sidebar.toast.deleteFailed`))}finally{y(!1)}}},A=Q.useMemo(()=>[{id:`npm`,label:r(`settings.plugins.dialog.add.tab.npm`)},{id:`path`,label:r(`settings.plugins.dialog.add.tab.path`)},{id:`file`,label:r(`settings.plugins.dialog.add.tab.file`)}],[r]);return(0,$.jsx)(an,{open:e,onOpenChange:e=>{!e&&v||t(e)},children:(0,$.jsxs)(tn,{className:`max-w-xl`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:r(`settings.plugins.dialog.add.title`)}),(0,$.jsx)(rn,{children:r(`settings.plugins.sidebar.empty.description`)})]}),(0,$.jsx)(zr,{items:A,activeId:o,onSelect:e=>x(e),layoutMode:`fit`,variant:`active-pill`,activePillLowercase:!1,className:`h-10`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(o===`npm`||o===`path`)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{"data-settings-item":`plugins.spec`,className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`plugin-spec`,className:`typography-ui-label text-foreground`,children:r(`settings.plugins.page.field.spec`)}),(0,$.jsx)(gn,{id:`plugin-spec`,value:c,onChange:e=>l(e.target.value),placeholder:r(`settings.plugins.page.field.spec.placeholder`),"aria-invalid":!T&&void 0,disabled:v}),T&&(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:r(`settings.plugins.validation.specRequired`)})]}),(0,$.jsxs)(`div`,{"data-settings-item":`plugins.options`,className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`plugin-options`,className:`typography-ui-label text-foreground`,children:r(`settings.plugins.page.field.options`)}),(0,$.jsx)(jr,{id:`plugin-options`,value:u,onChange:e=>d(e.target.value),rows:5,className:`font-mono`,hasError:C,disabled:v}),C&&(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:r(`settings.plugins.page.field.options.invalidJson`)})]})]}),o===`file`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{"data-settings-item":`plugins.content`,className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`plugin-filename`,className:`typography-ui-label text-foreground`,children:r(`settings.plugins.page.field.fileName`)}),(0,$.jsx)(gn,{id:`plugin-filename`,value:f,onChange:e=>p(e.target.value),placeholder:`my-plugin.ts`,"aria-invalid":w||void 0,disabled:v}),w&&(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:r(`settings.plugins.validation.fileName`)})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`plugin-content`,className:`typography-ui-label text-foreground`,children:r(`settings.plugins.page.field.content`)}),(0,$.jsx)(jr,{id:`plugin-content`,value:m,onChange:e=>h(e.target.value),rows:16,className:`font-mono`,disabled:v})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:r(`settings.plugins.page.field.scope`)}),(0,$.jsx)(`div`,{className:`flex items-center gap-4`,children:[`user`,`project`].map(e=>{let t=g===e,n=r(e===`user`?`settings.plugins.scope.user`:`settings.plugins.scope.project`);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>_(e),disabled:v,className:`flex items-center gap-2 py-1 text-left disabled:opacity-50`,children:[(0,$.jsx)(ec,{checked:t,onChange:()=>_(e),ariaLabel:n}),(0,$.jsx)(`span`,{className:q(`typography-ui-label font-normal`,t?`text-foreground`:`text-foreground/60`),children:n})]},e)})})]})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>t(!1),disabled:v,children:r(`settings.plugins.dialog.add.action.cancel`)}),(0,$.jsxs)(J,{size:`sm`,onClick:()=>{k()},disabled:O,children:[v?(0,$.jsx)(Z,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin`}):null,r(`settings.plugins.dialog.add.action.submit`)]})]})]})})},ol=e=>{let t=(0,Ki.c)(31),{info:n}=e,{t:r}=Fe();if(!n)return null;let i=sl;switch(n.kind){case`npm-ok`:{if(!n.hasUpdate||!n.latestVersion)return null;let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`arrow-up-s`,className:`h-3 w-3`}),t[0]=e):e=t[0];let a;t[1]===n.latestVersion?a=t[2]:(a=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 text-[var(--status-success)]`,children:[e,n.latestVersion]}),t[1]=n.latestVersion,t[2]=a);let o;return t[3]!==n.currentVersion||t[4]!==n.latestVersion||t[5]!==r||t[6]!==a?(o=i(a,r(`settings.plugins.registry.badge.update.tooltip`,{current:n.currentVersion??``,latest:n.latestVersion})),t[3]=n.currentVersion,t[4]=n.latestVersion,t[5]=r,t[6]=a,t[7]=o):o=t[7],o}case`npm-missing-version`:{let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`h-3 w-3 text-[var(--status-warning)]`}),t[8]=e):e=t[8];let a;return t[9]!==n.currentVersion||t[10]!==n.name||t[11]!==r?(a=i(e,r(`settings.plugins.registry.badge.missingVersion.tooltip`,{version:n.currentVersion,name:n.name})),t[9]=n.currentVersion,t[10]=n.name,t[11]=r,t[12]=a):a=t[12],a}case`npm-missing-package`:{let e;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`h-3 w-3 text-[var(--status-error)]`}),t[13]=e):e=t[13];let a;return t[14]!==n.name||t[15]!==r?(a=i(e,r(`settings.plugins.registry.badge.missingPackage.tooltip`,{name:n.name})),t[14]=n.name,t[15]=r,t[16]=a):a=t[16],a}case`npm-malformed`:{let e;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`h-3 w-3 text-[var(--status-error)]`}),t[17]=e):e=t[17];let n;return t[18]===r?n=t[19]:(n=i(e,r(`settings.plugins.registry.badge.malformed.tooltip`)),t[18]=r,t[19]=n),n}case`npm-network`:{let e;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`cloud-off`,className:`h-3 w-3 text-muted-foreground`}),t[20]=e):e=t[20];let n;return t[21]===r?n=t[22]:(n=i(e,r(`settings.plugins.registry.badge.network.tooltip`)),t[21]=r,t[22]=n),n}case`path-missing`:{let e;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`h-3 w-3 text-[var(--status-error)]`}),t[23]=e):e=t[23];let a;return t[24]!==n.absolutePath||t[25]!==r?(a=i(e,r(`settings.plugins.registry.badge.pathMissing.tooltip`,{path:n.absolutePath})),t[24]=n.absolutePath,t[25]=r,t[26]=a):a=t[26],a}case`path-unreadable`:{let e;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`h-3 w-3 text-[var(--status-warning)]`}),t[27]=e):e=t[27];let a;return t[28]!==n.absolutePath||t[29]!==r?(a=i(e,r(`settings.plugins.registry.badge.pathUnreadable.tooltip`,{path:n.absolutePath})),t[28]=n.absolutePath,t[29]=r,t[30]=a):a=t[30],a}case`path-ok`:return null;default:return null}};function sl(e,t){return(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex shrink-0 items-center gap-0.5 text-xs`,children:e})}),(0,$.jsx)(vn,{children:t})]})}var cl=e=>e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e),ll=e=>{let t=e.replace(/\\/g,`/`),n=[],[r,...i]=t.split(`/`);for(let e of i)if(e!==``&&e!==`.`){if(e===`..`){n.pop();continue}n.push(e)}return`${/^[A-Za-z]:$/.test(r)?`${r.toUpperCase()}/`:`/`}${n.join(`/`)}`},ul=e=>ll(`${e.replace(/\\/g,`/`)}/..`),dl=e=>{try{let t=decodeURIComponent(new URL(e).pathname);return/^\/[A-Za-z]:\//.test(t)?t.slice(1):t}catch{return null}};function fl(e,t){if(e.startsWith(`file://`)){let t=dl(e);return t?{kind:`local`,path:ll(t)}:null}return e.startsWith(`./`)||e.startsWith(`../`)?t?{kind:`local`,path:ll(`${ul(t)}/${e}`)}:null:cl(e)?{kind:`local`,path:ll(e)}:{kind:`package`,target:e}}function pl(e){return e?{kind:`local`,path:ll(e)}:null}var ml=(e,t)=>{if(e.kind===`package`)return t.source.kind===`package`&&t.source.target===e.target;if(t.source.kind!==`local`)return!1;let n=ll(t.source.path);return n===e.path||n.startsWith(`${e.path}/`)};function hl(e,t){return t.filter(t=>ml(e,t))}function gl(e){let t=e.find(e=>e.state.kind===`failed`);if(t&&t.state.kind===`failed`)return{kind:`failed`,error:t.state.error,ref:t.state.ref};let n=e[0];return n?{kind:`active`,version:n.source.kind===`package`?n.source.version:null}:{kind:`notReported`}}function _l(e){let t=e.flatMap(e=>e.source.kind===`package`?[e.source]:[]);return t.some(e=>e.updating)?`updating`:t.some(e=>e.outdated)?`available`:`none`}function vl(e){let t=(0,Ki.c)(18),n=Dc(),r;t[0]===n?r=t[1]:(r=()=>{n.refetch()},t[0]=n,t[1]=r);let i=Me(r),a;bb0:{if(n.isPending&&n.data===void 0){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e={kind:`loading`},t[2]=e):e=t[2],a=e;break bb0}if(n.data===void 0||!e){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e={kind:`unknown`},t[3]=e):e=t[3],a=e;break bb0}let r,i,o;if(t[4]!==n.data||t[5]!==e){let a=hl(e,n.data);r=`known`,i=gl(a),o=_l(a),t[4]=n.data,t[5]=e,t[6]=r,t[7]=i,t[8]=o}else r=t[6],i=t[7],o=t[8];let s;t[9]!==r||t[10]!==i||t[11]!==o||t[12]!==e?(s={kind:r,load:i,update:o,target:e},t[9]=r,t[10]=i,t[11]=o,t[12]=e,t[13]=s):s=t[13],a=s}let o=a,s;return t[14]!==n.isFetching||t[15]!==i||t[16]!==o?(s={status:o,retry:i,isRefreshing:n.isFetching},t[14]=n.isFetching,t[15]=i,t[16]=o,t[17]=s):s=t[17],s}function yl(e){let t=(0,Ki.c)(5),n=Ec(),r;t[0]!==n||t[1]!==e?(r=e?.kind===`package`?Cc(n,e.target):null,t[0]=n,t[1]=e,t[2]=r):r=t[2];let i=r,a;return t[3]===i?a=t[4]:(a=e=>i?e.packageUpdates[i]??null:null,t[3]=i,t[4]=a),qc(a)}var bl=e=>{let t=(0,Ki.c)(35),{target:n}=e,{t:r}=Fe(),{status:i}=vl(n),a=yl(n);if(i.kind!==`known`)return null;let o;bb0:{if(i.update===`updating`||a?.kind===`running`){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`loader-4`,className:`h-3 w-3 animate-spin text-muted-foreground`}),t[0]=e):e=t[0];let n;t[1]===r?n=t[2]:(n=r(`settings.plugins.update.running`),t[1]=r,t[2]=n);let i;t[3]===n?i=t[4]:(i={icon:e,label:n},t[3]=n,t[4]=i),o=i;break bb0}if(i.load.kind===`failed`){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`h-3 w-3 text-[var(--status-error)]`}),t[5]=e):e=t[5];let n;t[6]===r?n=t[7]:(n=r(`settings.plugins.status.failed.title`),t[6]=r,t[7]=n);let i;t[8]===n?i=t[9]:(i={icon:e,label:n},t[8]=n,t[9]=i),o=i;break bb0}if(i.load.kind===`notReported`){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`time`,className:`h-3 w-3 text-muted-foreground`}),t[10]=e):e=t[10];let n;t[11]===r?n=t[12]:(n=r(`settings.plugins.status.notReported.title`),t[11]=r,t[12]=n);let i;t[13]===n?i=t[14]:(i={icon:e,label:n},t[13]=n,t[14]=i),o=i;break bb0}if(i.update===`available`){let e;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`arrow-up-s`,className:`h-3 w-3 text-[var(--status-success)]`}),t[15]=e):e=t[15];let n;t[16]===r?n=t[17]:(n=r(`settings.plugins.update.available.title`),t[16]=r,t[17]=n);let i;t[18]===n?i=t[19]:(i={icon:e,label:n},t[18]=n,t[19]=i),o=i;break bb0}let e;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`checkbox-circle`,className:`h-3 w-3 text-[var(--status-success)]`}),t[20]=e):e=t[20];let n;t[21]!==i.load.version||t[22]!==r?(n=i.load.version?r(`settings.plugins.status.loadedVersion`,{version:i.load.version}):r(`settings.plugins.status.loaded`),t[21]=i.load.version,t[22]=r,t[23]=n):n=t[23];let s;t[24]===n?s=t[25]:(s={icon:e,label:n},t[24]=n,t[25]=s),o=s}let s=o,c;t[26]!==s.icon||t[27]!==s.label||t[28]!==i.load.kind?(c=(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex shrink-0 items-center`,"aria-label":s.label,"data-plugin-load-state":i.load.kind,children:s.icon})}),t[26]=s.icon,t[27]=s.label,t[28]=i.load.kind,t[29]=c):c=t[29];let l;t[30]===s.label?l=t[31]:(l=(0,$.jsx)(vn,{children:s.label}),t[30]=s.label,t[31]=l);let u;return t[32]!==c||t[33]!==l?(u=(0,$.jsxs)(yn,{children:[c,l]}),t[32]=c,t[33]=l,t[34]=u):u=t[34],u},xl=e=>e.parsedKind===`npm`?`code-box`:`folder`,Sl=e=>{let t=(0,Ki.c)(167),{onItemSelect:n,onAddClick:r}=e,{t:i}=Fe(),{selectedId:a,setSelected:o,deleteEntry:s,deleteFile:c,loadPlugins:l,updateEntry:u,updatePackage:d,packageUpdates:f}=qc(le(Cl)),p=wc();p.data?.entries;let m;t[0]===p.data?.entries?m=t[1]:(m=p.data?.entries??[],t[0]=p.data?.entries,t[1]=m);let h=m,g;t[2]===p.data?.files?g=t[3]:(g=()=>p.data?.files??[],t[2]=p.data?.files,t[3]=g),p.data?.files;let _;t[4]===g?_=t[5]:(_=g(),t[4]=g,t[5]=_);let v=_,y;t[6]===h?y=t[7]:(y=h.map(wl),t[6]=h,t[7]=y);let b=y,{data:x,isFetching:S}=Tc(b,!1),C;t[8]===x?C=t[9]:(C=x??{},t[8]=x,t[9]=C);let w=C,T=Ec(),E=Dc(),D=E.isError&&E.data===void 0,[O,k]=Q.useState(!1),[A,j]=Q.useState(null),[M,N]=Q.useState(!1),[P,F]=Q.useState(!1),I,L;t[10]===l?(I=t[11],L=t[12]):(I=()=>{l()},L=[l],t[10]=l,t[11]=I,t[12]=L),Q.useEffect(I,L);let R,z;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(R=()=>{let e=()=>F(!0);return window.addEventListener(`openchamber:settings-open-plugin-add`,e),()=>window.removeEventListener(`openchamber:settings-open-plugin-add`,e)},z=[],t[13]=R,t[14]=z):(R=t[13],z=t[14]),Q.useEffect(R,z);let B;if(t[15]!==h||t[16]!==v){B=new Map;for(let e of h)B.set(e.id,fl(e.spec,e.sourcePath));for(let e of v)B.set(e.id,pl(e.absolutePath));t[15]=h,t[16]=v,t[17]=B}else B=t[17];let V=B,H;if(t[18]!==T||t[19]!==h||t[20]!==f||t[21]!==E.data||t[22]!==V){bb0:{let e=E.data,t=new Map;if(!e){H=t;break bb0}for(let n of h){let r=V.get(n.id);r?.kind===`package`&&f[Cc(T,r.target)]?.kind!==`running`&&_l(hl(r,e))===`available`&&t.set(n.id,r.target)}H=t}t[18]=T,t[19]=h,t[20]=f,t[21]=E.data,t[22]=V,t[23]=H}else H=t[23];let U=H,W;if(t[24]!==h||t[25]!==U||t[26]!==w){W={userEntries:0,projectEntries:0};for(let e of h){let t=w[e.spec];(t?.kind===`npm-ok`&&t.hasUpdate||U.has(e.id))&&(e.scope===`user`?W.userEntries+=1:e.scope===`project`&&(W.projectEntries+=1))}t[24]=h,t[25]=U,t[26]=w,t[27]=W}else W=t[27];let ee=W,G;t[28]===h?G=t[29]:(G=h.filter(Tl),t[28]=h,t[29]=G);let te=G,ne;t[30]===h?ne=t[31]:(ne=h.filter(El),t[30]=h,t[31]=ne);let re=ne,ie;t[32]===v?ie=t[33]:(ie=v.filter(Dl),t[32]=v,t[33]=ie);let ae=ie,oe;t[34]===v?oe=t[35]:(oe=v.filter(Ol),t[34]=v,t[35]=oe);let se=oe,ce=h.length+v.length===0,ue;t[36]===r?ue=t[37]:(ue=()=>{r?r():F(!0)},t[36]=r,t[37]=ue);let de=ue,fe;t[38]!==n||t[39]!==o?(fe=e=>{o(e),n?.()},t[38]=n,t[39]=o,t[40]=fe):fe=t[40];let pe=fe,me;t[41]!==h||t[42]!==w||t[43]!==i||t[44]!==u?(me=async e=>{let t=h.find(t=>t.id===e);if(!t)return;let n=w[t.spec];if(!n||n.kind!==`npm-ok`||!n.hasUpdate||!n.latestVersion)return;let r=n.latestVersion;(await u(e,{spec:`${n.name}@${r}`})).ok?Y.success(i(`settings.plugins.toast.updatedToLatest`,{version:r})):Y.error(i(`settings.plugins.toast.refreshFailed`))},t[41]=h,t[42]=w,t[43]=i,t[44]=u,t[45]=me):me=t[45];let he=me,ge;t[46]!==i||t[47]!==d?(ge=async(e,t)=>{await d(e)?Y.success(i(`settings.plugins.update.toast.done`,{name:t})):Y.error(i(`settings.plugins.update.toast.failed`,{name:t}))},t[46]=i,t[47]=d,t[48]=ge):ge=t[48];let _e=Me(ge),ve;t[49]!==T||t[50]!==b||t[51]!==i?(ve=async()=>{Y.info(i(`settings.plugins.toast.refreshing`)),k(!0);let e=await kc(void 0,Ot(),b).then(kl).catch(Al),t=await jc(T).then(jl).catch(Ml);k(!1),e||Y.error(i(`settings.plugins.toast.refreshFailed`)),t||Y.error(i(`settings.plugins.toast.checkFailed`))},t[49]=T,t[50]=b,t[51]=i,t[52]=ve):ve=t[52];let ye=Me(ve),K;t[53]!==s||t[54]!==c||t[55]!==A||t[56]!==i?(K=async()=>{if(!A)return;N(!0);let e=A.kind===`entry`?await s(A.id):await c(A.id);e.ok?Y.success(e.message||i(`settings.plugins.sidebar.toast.deleted`,{name:A.label})):Y.error(i(`settings.plugins.sidebar.toast.deleteFailed`)),j(null),N(!1)},t[53]=s,t[54]=c,t[55]=A,t[56]=i,t[57]=K):K=t[57];let be=K,xe;t[58]!==_e||t[59]!==pe||t[60]!==he||t[61]!==U||t[62]!==w||t[63]!==V||t[64]!==a||t[65]!==i?(xe=e=>{let t=w[e.spec],n=t?.kind===`npm-ok`&&t.hasUpdate&&!!t.latestVersion,r=U.get(e.id)??null,o=[];return r?o.push({label:i(`settings.plugins.update.action`),icon:`arrow-up-s`,onClick:()=>void _e(r,e.spec)}):n&&o.push({label:i(`settings.plugins.sidebar.actions.updateToLatest`),icon:`arrow-up-s`,onClick:()=>void he(e.id)}),o.push({label:i(`settings.common.actions.delete`),icon:`delete-bin`,destructive:!0,onClick:()=>j({kind:`entry`,id:e.id,label:e.spec})}),(0,$.jsx)(Oo,{title:(0,$.jsx)(`span`,{title:e.spec,children:e.spec}),metadata:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-1.5`,children:[(0,$.jsx)(bl,{target:V.get(e.id)??null}),(0,$.jsx)(`span`,{children:e.parsedKind===`npm`?i(`settings.plugins.sidebar.kind.npm`):i(`settings.plugins.sidebar.kind.path`)}),(0,$.jsx)(ol,{info:t})]}),selected:a===e.id,onSelect:()=>pe(e.id),icon:(0,$.jsx)(Z,{name:xl(e),className:`h-4 w-4 flex-shrink-0 text-muted-foreground/70`}),actions:o},e.id)},t[58]=_e,t[59]=pe,t[60]=he,t[61]=U,t[62]=w,t[63]=V,t[64]=a,t[65]=i,t[66]=xe):xe=t[66];let Se=xe,Ce;t[67]!==pe||t[68]!==V||t[69]!==a||t[70]!==i?(Ce=e=>(0,$.jsx)(Oo,{title:(0,$.jsx)(`span`,{title:e.fileName,children:e.fileName}),metadata:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(bl,{target:V.get(e.id)??null}),(0,$.jsx)(`span`,{children:i(`settings.plugins.sidebar.kind.file`)})]}),selected:a===e.id,onSelect:()=>pe(e.id),icon:(0,$.jsx)(Z,{name:`file-text`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/70`}),actions:[{label:i(`settings.common.actions.delete`),icon:`delete-bin`,destructive:!0,onClick:()=>j({kind:`file`,id:e.id,label:e.fileName})}]},e.id),t[67]=pe,t[68]=V,t[69]=a,t[70]=i,t[71]=Ce):Ce=t[71];let we=Ce,Te;t[72]===i?Te=t[73]:(Te=(e,t,n,r,a)=>{let o=n===void 0?0:n;return(0,$.jsx)(Jr,{cardClassName:a!==void 0&&a?`hidden`:void 0,label:(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,$.jsxs)(`span`,{className:`min-w-0`,children:[e,o>0&&(0,$.jsx)(`span`,{className:`block text-[var(--status-success)]`,children:i(o===1?`settings.plugins.sidebar.group.updatesAvailable_one`:`settings.plugins.sidebar.group.updatesAvailable_other`,{count:o})})]}),r]}),children:t})},t[72]=i,t[73]=Te);let Ee=Te,De;t[74]===ye?De=t[75]:(De=()=>void ye(),t[74]=ye,t[75]=De);let Oe=S||E.isFetching||O,ke;t[76]===i?ke=t[77]:(ke=i(`settings.plugins.sidebar.actions.refresh`),t[76]=i,t[77]=ke);let Ae;t[78]===i?Ae=t[79]:(Ae=i(`settings.plugins.sidebar.actions.refresh`),t[78]=i,t[79]=Ae);let je=S||E.isFetching||O?`size-4 animate-spin`:`size-4`,Ne;t[80]===je?Ne=t[81]:(Ne=(0,$.jsx)(Z,{name:`refresh`,className:je}),t[80]=je,t[81]=Ne);let Pe;t[82]!==De||t[83]!==Oe||t[84]!==ke||t[85]!==Ae||t[86]!==Ne?(Pe=(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`icon`,onClick:De,disabled:Oe,"aria-label":ke,title:Ae,children:Ne}),t[82]=De,t[83]=Oe,t[84]=ke,t[85]=Ae,t[86]=Ne,t[87]=Pe):Pe=t[87];let Ie;t[88]===i?Ie=t[89]:(Ie=i(`settings.plugins.sidebar.actions.addTitle`),t[88]=i,t[89]=Ie);let Le;t[90]===i?Le=t[91]:(Le=i(`settings.plugins.sidebar.actions.addTitle`),t[90]=i,t[91]=Le);let Re;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,$.jsx)(Z,{name:`add`,className:`size-4`}),t[92]=Re):Re=t[92];let q;t[93]!==de||t[94]!==Ie||t[95]!==Le?(q=(0,$.jsx)(J,{"data-settings-item":`plugins.create`,type:`button`,variant:`ghost`,size:`icon`,onClick:de,"aria-label":Ie,title:Le,children:Re}),t[93]=de,t[94]=Ie,t[95]=Le,t[96]=q):q=t[96];let ze;t[97]!==Pe||t[98]!==q?(ze=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[Pe,q]}),t[97]=Pe,t[98]=q,t[99]=ze):ze=t[99];let Be=ze,Ve;t[100]!==D||t[101]!==i?(Ve=D?(0,$.jsxs)(`p`,{className:`typography-micro mb-2 flex items-center gap-1 text-muted-foreground`,role:`status`,children:[(0,$.jsx)(Z,{name:`question`,className:`size-3 shrink-0`}),i(`settings.plugins.status.sidebar.unavailable`)]}):void 0,t[100]=D,t[101]=i,t[102]=Ve):Ve=t[102];let He;t[103]!==Be||t[104]!==Se||t[105]!==Ee||t[106]!==i||t[107]!==ee||t[108]!==te?(He=te.length>0?Ee(i(`settings.plugins.sidebar.group.userEntries`),te.map(Se),ee.userEntries,Be):Ee(i(`settings.plugins.sidebar.group.userEntries`),(0,$.jsx)(`span`,{}),0,Be,!0),t[103]=Be,t[104]=Se,t[105]=Ee,t[106]=i,t[107]=ee,t[108]=te,t[109]=He):He=t[109];let Ue;t[110]!==ce||t[111]!==re||t[112]!==se||t[113]!==Se||t[114]!==we||t[115]!==Ee||t[116]!==i||t[117]!==ee||t[118]!==ae?(Ue=ce?(0,$.jsx)(Jr,{children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`plug`,className:`mx-auto mb-3 h-10 w-10 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-medium`,children:i(`settings.plugins.sidebar.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:i(`settings.plugins.sidebar.empty.description`)})]})}):(0,$.jsxs)($.Fragment,{children:[ae.length>0&&Ee(i(`settings.plugins.sidebar.group.userFiles`),ae.map(we)),re.length>0&&Ee(i(`settings.plugins.sidebar.group.projectEntries`),re.map(Se),ee.projectEntries),se.length>0&&Ee(i(`settings.plugins.sidebar.group.projectFiles`),se.map(we))]}),t[110]=ce,t[111]=re,t[112]=se,t[113]=Se,t[114]=we,t[115]=Ee,t[116]=i,t[117]=ee,t[118]=ae,t[119]=Ue):Ue=t[119];let We;t[120]!==Ve||t[121]!==He||t[122]!==Ue?(We=(0,$.jsxs)(Ao,{variant:`background`,header:Ve,children:[He,Ue]}),t[120]=Ve,t[121]=He,t[122]=Ue,t[123]=We):We=t[123];let Ge;t[124]===P?Ge=t[125]:(Ge=(0,$.jsx)(al,{open:P,onOpenChange:F}),t[124]=P,t[125]=Ge);let Ke=A!==null,qe;t[126]===M?qe=t[127]:(qe=e=>{!e&&!M&&j(null)},t[126]=M,t[127]=qe);let Je;t[128]===i?Je=t[129]:(Je=i(`settings.plugins.sidebar.deleteDialog.title`),t[128]=i,t[129]=Je);let Ye;t[130]===Je?Ye=t[131]:(Ye=(0,$.jsx)(nn,{children:Je}),t[130]=Je,t[131]=Ye);let Xe=A?.label??``,Ze;t[132]!==i||t[133]!==Xe?(Ze=i(`settings.plugins.sidebar.deleteDialog.description`,{name:Xe}),t[132]=i,t[133]=Xe,t[134]=Ze):Ze=t[134];let Qe;t[135]===Ze?Qe=t[136]:(Qe=(0,$.jsx)(rn,{children:Ze}),t[135]=Ze,t[136]=Qe);let $e;t[137]!==Ye||t[138]!==Qe?($e=(0,$.jsxs)($t,{children:[Ye,Qe]}),t[137]=Ye,t[138]=Qe,t[139]=$e):$e=t[139];let et;t[140]===Symbol.for(`react.memo_cache_sentinel`)?(et=()=>j(null),t[140]=et):et=t[140];let tt;t[141]===i?tt=t[142]:(tt=i(`settings.common.actions.cancel`),t[141]=i,t[142]=tt);let nt;t[143]!==M||t[144]!==tt?(nt=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:et,disabled:M,children:tt}),t[143]=M,t[144]=tt,t[145]=nt):nt=t[145];let rt;t[146]!==M||t[147]!==i?(rt=i(M?`settings.plugins.sidebar.actions.deleting`:`settings.common.actions.delete`),t[146]=M,t[147]=i,t[148]=rt):rt=t[148];let it;t[149]!==be||t[150]!==M||t[151]!==rt?(it=(0,$.jsx)(J,{size:`sm`,variant:`destructive`,onClick:be,disabled:M,children:rt}),t[149]=be,t[150]=M,t[151]=rt,t[152]=it):it=t[152];let at;t[153]!==nt||t[154]!==it?(at=(0,$.jsxs)(en,{children:[nt,it]}),t[153]=nt,t[154]=it,t[155]=at):at=t[155];let ot;t[156]!==$e||t[157]!==at?(ot=(0,$.jsxs)(tn,{className:`max-w-md`,children:[$e,at]}),t[156]=$e,t[157]=at,t[158]=ot):ot=t[158];let st;t[159]!==Ke||t[160]!==qe||t[161]!==ot?(st=(0,$.jsx)(an,{open:Ke,onOpenChange:qe,children:ot}),t[159]=Ke,t[160]=qe,t[161]=ot,t[162]=st):st=t[162];let ct;return t[163]!==We||t[164]!==Ge||t[165]!==st?(ct=(0,$.jsxs)($.Fragment,{children:[We,Ge,st]}),t[163]=We,t[164]=Ge,t[165]=st,t[166]=ct):ct=t[166],ct};function Cl(e){return{selectedId:e.selectedId,setSelected:e.setSelected,deleteEntry:e.deleteEntry,deleteFile:e.deleteFile,loadPlugins:e.loadPlugins,updateEntry:e.updateEntry,updatePackage:e.updatePackage,packageUpdates:e.packageUpdates}}function wl(e){return e.spec}function Tl(e){return e.scope===`user`}function El(e){return e.scope===`project`}function Dl(e){return e.scope===`user`}function Ol(e){return e.scope===`project`}function kl(){return!0}function Al(){return!1}function jl(){return!0}function Ml(){return!1}var Nl=e=>{let t=(0,Ki.c)(10),{children:n,className:r,outerClassName:i}=e,a;t[0]===i?a=t[1]:(a=q(`h-full`,i),t[0]=i,t[1]=a);let o;t[2]===r?o=t[3]:(o=q(`oc-settings-page-content mx-auto max-w-3xl p-3 sm:p-6 sm:pt-8`,r),t[2]=r,t[3]=o);let s;t[4]!==n||t[5]!==o?(s=(0,$.jsx)(`div`,{className:o,children:n}),t[4]=n,t[5]=o,t[6]=s):s=t[6];let c;return t[7]!==a||t[8]!==s?(c=(0,$.jsx)(Ar,{outerClassName:a,className:`w-full`,children:s}),t[7]=a,t[8]=s,t[9]=c):c=t[9],c},Pl=({entryId:e,spec:t})=>{let{t:n}=Fe(),{data:r}=Tc([t]),i=r?.[t],a=qc(e=>e.updateEntry),[o,s]=Q.useState(!1);if(!i)return null;if(i.kind===`npm-ok`){if(!i.hasUpdate||!i.latestVersion)return null;let t=i.latestVersion,r=i.currentVersion??``,c=async()=>{s(!0);try{(await a(e,{spec:`${i.name}@latest`})).ok?Y.success(n(`settings.plugins.toast.updatedToLatest`,{version:t})):Y.error(n(`settings.plugins.toast.refreshFailed`))}finally{s(!1)}};return(0,$.jsxs)(`div`,{className:`rounded-md border border-border bg-card p-3 flex items-start gap-3`,children:[(0,$.jsx)(Z,{name:`arrow-up`,className:`h-5 w-5 text-[var(--status-success)] shrink-0 mt-0.5`}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsx)(`p`,{className:`typography-label text-[var(--status-success)]`,children:n(`settings.plugins.registry.banner.updateAvailable.title`)}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground mt-0.5`,children:n(`settings.plugins.registry.banner.updateAvailable.description`,{current:r,latest:t})})]}),(0,$.jsx)(J,{variant:`default`,size:`sm`,onClick:()=>void c(),disabled:o,children:n(`settings.plugins.registry.banner.updateAvailable.action`,{latest:t})})]})}if(i.kind===`path-ok`)return null;if(i.kind===`npm-network`)return(0,$.jsxs)(`div`,{className:`rounded-md border border-border bg-card p-3 flex items-start gap-3`,children:[(0,$.jsx)(Z,{name:`cloud-off`,className:`h-5 w-5 text-muted-foreground shrink-0 mt-0.5`}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:n(`settings.plugins.registry.badge.network.tooltip`)})})]});let c=i.kind===`path-unreadable`,l=c?`var(--status-warning)`:`var(--status-error)`,u=c?`alert`:`error-warning`,d=(()=>{switch(i.kind){case`npm-missing-version`:return n(`settings.plugins.registry.banner.invalid.missingVersion`);case`npm-missing-package`:return n(`settings.plugins.registry.banner.invalid.missingPackage`);case`npm-malformed`:return n(`settings.plugins.registry.banner.invalid.malformed`);case`path-missing`:return n(`settings.plugins.registry.banner.invalid.pathMissing`);case`path-unreadable`:return n(`settings.plugins.registry.banner.invalid.pathUnreadable`)}})();return(0,$.jsxs)(`div`,{className:`rounded-md border border-border bg-card p-3 flex items-start gap-3`,children:[(0,$.jsx)(Z,{name:u,className:`h-5 w-5 shrink-0 mt-0.5`,style:{color:l}}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsx)(`p`,{className:`typography-label`,style:{color:l},children:n(`settings.plugins.registry.banner.invalid.title`)}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground mt-0.5`,children:d})]})]})},Fl=e=>{let t=(0,Ki.c)(69),{target:n,name:r}=e,{t:i}=Fe(),{status:a,retry:o,isRefreshing:s}=vl(n),c=yl(n),l=qc(Il),u=a.kind===`known`&&a.target.kind===`package`?a.target.target:null,d=a.kind===`known`&&(a.update===`updating`||c?.kind===`running`),f;t[0]===o?f=t[1]:(f=()=>{o()},t[0]=o,t[1]=f);let p=Me(f),m;t[2]!==r||t[3]!==u||t[4]!==i||t[5]!==l?(m=async()=>{u&&(await l(u)?Y.success(i(`settings.plugins.update.toast.done`,{name:r})):Y.error(i(`settings.plugins.update.toast.failed`,{name:r})))},t[2]=r,t[3]=u,t[4]=i,t[5]=l,t[6]=m):m=t[6];let h=Me(m);if(a.kind===`loading`)return null;if(a.kind===`unknown`){let e;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`question`,className:`mt-0.5 h-5 w-5 shrink-0 text-muted-foreground`}),t[7]=e):e=t[7];let n;t[8]===i?n=t[9]:(n=i(`settings.plugins.status.unknown.title`),t[8]=i,t[9]=n);let r;t[10]===n?r=t[11]:(r=(0,$.jsx)(`p`,{className:`typography-label text-foreground`,children:n}),t[10]=n,t[11]=r);let a;t[12]===i?a=t[13]:(a=i(`settings.plugins.status.unknown.description`),t[12]=i,t[13]=a);let o;t[14]===a?o=t[15]:(o=(0,$.jsx)(`p`,{className:`typography-micro mt-0.5 text-muted-foreground`,children:a}),t[14]=a,t[15]=o);let c;t[16]!==r||t[17]!==o?(c=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r,o]}),t[16]=r,t[17]=o,t[18]=c):c=t[18];let l;t[19]===i?l=t[20]:(l=i(`settings.plugins.status.retry`),t[19]=i,t[20]=l);let u;t[21]!==p||t[22]!==s||t[23]!==l?(u=(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:p,disabled:s,children:l}),t[21]=p,t[22]=s,t[23]=l,t[24]=u):u=t[24];let d;return t[25]!==u||t[26]!==c?(d=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3 rounded-md border border-border bg-card p-3`,role:`status`,"data-plugin-load-state":`unknown`,children:[e,c,u]}),t[25]=u,t[26]=c,t[27]=d):d=t[27],d}let{load:g,update:_}=a,v=u!==null&&(_!==`none`||c!==null),y;bb0:{switch(g.kind){case`active`:{let e;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`checkbox-circle`,className:`h-4 w-4 text-[var(--status-success)]`}),t[28]=e):e=t[28];let n;t[29]!==g.version||t[30]!==i?(n=g.version?i(`settings.plugins.status.loadedVersion`,{version:g.version}):i(`settings.plugins.status.loaded`),t[29]=g.version,t[30]=i,t[31]=n):n=t[31];let r;t[32]===n?r=t[33]:(r=(0,$.jsxs)(`p`,{className:`typography-meta flex items-center gap-1.5 text-muted-foreground`,role:`status`,"data-plugin-load-state":`active`,children:[e,n]}),t[32]=n,t[33]=r),y=r;break bb0}case`notReported`:{let e;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`time`,className:`mt-0.5 h-5 w-5 shrink-0 text-muted-foreground`}),t[34]=e):e=t[34];let n;t[35]===i?n=t[36]:(n=i(`settings.plugins.status.notReported.title`),t[35]=i,t[36]=n);let r;t[37]===n?r=t[38]:(r=(0,$.jsx)(`p`,{className:`typography-label text-foreground`,children:n}),t[37]=n,t[38]=r);let a;t[39]===i?a=t[40]:(a=i(`settings.plugins.status.notReported.description`),t[39]=i,t[40]=a);let o;t[41]===a?o=t[42]:(o=(0,$.jsx)(`p`,{className:`typography-micro mt-0.5 text-muted-foreground`,children:a}),t[41]=a,t[42]=o);let s;t[43]!==r||t[44]!==o?(s=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3 rounded-md border border-border bg-card p-3`,role:`status`,"data-plugin-load-state":`notReported`,children:[e,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r,o]})]}),t[43]=r,t[44]=o,t[45]=s):s=t[45],y=s;break bb0}case`failed`:{let e;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Z,{name:`error-warning`,className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--status-error)]`}),t[46]=e):e=t[46];let n;t[47]===i?n=t[48]:(n=i(`settings.plugins.status.failed.title`),t[47]=i,t[48]=n);let r;t[49]===n?r=t[50]:(r=(0,$.jsx)(`p`,{className:`typography-label text-[var(--status-error)]`,children:n}),t[49]=n,t[50]=r);let a;t[51]===g.error?a=t[52]:(a=(0,$.jsx)(`p`,{className:`typography-micro mt-1 whitespace-pre-wrap break-words font-mono text-foreground`,children:g.error}),t[51]=g.error,t[52]=a);let o;t[53]!==g.ref||t[54]!==i?(o=g.ref?(0,$.jsx)(`p`,{className:`typography-micro mt-1 text-muted-foreground`,children:i(`settings.plugins.status.failed.ref`,{ref:g.ref})}):null,t[53]=g.ref,t[54]=i,t[55]=o):o=t[55];let s;t[56]!==r||t[57]!==a||t[58]!==o?(s=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3 rounded-md border border-border bg-card p-3`,role:`alert`,"data-plugin-load-state":`failed`,children:[e,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r,a,o]})]}),t[56]=r,t[57]=a,t[58]=o,t[59]=s):s=t[59],y=s;break bb0}}y=void 0}let b=y,x;t[60]!==h||t[61]!==d||t[62]!==c||t[63]!==v||t[64]!==i?(x=v?(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3 rounded-md border border-border bg-card p-3`,children:[(0,$.jsx)(Z,{name:`arrow-up`,className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--status-success)]`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`typography-label text-[var(--status-success)]`,children:i(`settings.plugins.update.available.title`)}),(0,$.jsx)(`p`,{className:`typography-micro mt-0.5 text-muted-foreground`,children:i(`settings.plugins.update.available.description`)}),c?.kind===`failed`?(0,$.jsxs)(`div`,{className:`mt-2`,role:`alert`,children:[(0,$.jsx)(`p`,{className:`typography-micro text-[var(--status-error)]`,children:i(`settings.plugins.update.failed.title`)}),(0,$.jsx)(`p`,{className:`typography-micro mt-0.5 whitespace-pre-wrap break-words font-mono text-foreground`,children:c.error})]}):null]}),(0,$.jsx)(J,{variant:`default`,size:`sm`,onClick:()=>void h(),disabled:d,children:d?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}),i(`settings.plugins.update.running`)]}):i(`settings.plugins.update.action`)})]}):null,t[60]=h,t[61]=d,t[62]=c,t[63]=v,t[64]=i,t[65]=x):x=t[65];let S;return t[66]!==b||t[67]!==x?(S=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[b,x]}),t[66]=b,t[67]=x,t[68]=S):S=t[68],S};function Il(e){return e.updatePackage}function Ll(e){let t=e.trim();if(t.length===0)return{ok:!0,value:void 0};try{let e=JSON.parse(t);return typeof e!=`object`||!e||Array.isArray(e)?{ok:!1}:{ok:!0,value:e}}catch{return{ok:!1}}}function Rl(e){return!e||Object.keys(e).length===0?``:JSON.stringify(e,null,2)}function zl(e){return{mode:`entry`,scope:e.scope,spec:e.spec,optionsJson:Rl(e.options),fileName:``,content:``}}function Bl(e,t){return{mode:`file`,scope:e.scope,spec:``,optionsJson:``,fileName:e.fileName,content:t}}var Vl=e=>{let t=(0,Ki.c)(4),{scope:n,label:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=q(`typography-micro font-medium rounded-full px-2 py-0.5`,`bg-[var(--surface-elevated)] text-muted-foreground`,`border border-[var(--interactive-border)]`),t[0]=i):i=t[0];let a;return t[1]!==r||t[2]!==n?(a=(0,$.jsx)(`span`,{className:i,"data-scope":n,children:r}),t[1]=r,t[2]=n,t[3]=a):a=t[3],a},Hl=()=>{let{t:e}=Fe(),t=qc(e=>e.selectedId),n=wc(),r=Q.useMemo(()=>n.data?.entries??[],[n.data?.entries]),i=Q.useMemo(()=>n.data?.files??[],[n.data?.files]),a=qc(e=>e.draft),o=qc(e=>e.setDraft),s=qc(e=>e.updateEntry),c=qc(e=>e.updateFile),l=qc(e=>e.readFile),u=Q.useMemo(()=>t?r.find(e=>e.id===t)??null:null,[r,t]),d=Q.useMemo(()=>t?i.find(e=>e.id===t)??null:null,[i,t]),f=Q.useMemo(()=>u?fl(u.spec,u.sourcePath):null,[u]),p=Q.useMemo(()=>d?pl(d.absolutePath):null,[d]),[m,h]=Q.useState(!1),[g,_]=Q.useState(!1),v=Q.useRef(new Map);if(Q.useEffect(()=>{let e=!1;return u?(o(zl(u)),()=>{e=!0}):d?(_(!0),(async()=>{let t=await l(d.id);if(e)return;_(!1);let n=t?.content??``;v.current.set(d.id,n),o(Bl(d,n))})(),()=>{e=!0}):(o(null),()=>{e=!0})},[u,d,l,o]),!t)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`plug`,className:`mx-auto mb-3 h-12 w-12 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.plugins.page.empty.select`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:e(`settings.plugins.page.empty.add`)})]})});if(u&&a&&a.mode===`entry`){let t=Ll(a.optionsJson),n=t.ok,r=a.spec!==u.spec||a.optionsJson!==Rl(u.options),i=()=>{o(zl(u))},c=async()=>{if(!n)return;let r=a.spec.trim();if(!r){Y.error(e(`settings.plugins.validation.specRequired`));return}h(!0);try{let n=await s(u.id,{spec:r,options:t.value});n.ok?n.reloadFailed?Y.warning(n.message||e(`settings.plugins.toast.reloadFailed`),{description:n.warning}):Y.success(n.message||e(`settings.plugins.toast.updated`)):Y.error(n.message||e(`settings.plugins.toast.reloadFailed`))}finally{h(!1)}};return(0,$.jsxs)(Nl,{children:[(0,$.jsx)(`div`,{children:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground break-all`,children:u.spec}),(0,$.jsx)(Vl,{scope:u.scope,label:u.scope===`project`?e(`settings.plugins.sidebar.group.projectEntries`):e(`settings.plugins.sidebar.group.userEntries`)})]})}),(0,$.jsx)(Fl,{target:f,name:u.spec}),(0,$.jsx)(Pl,{entryId:u.id,spec:u.spec}),(0,$.jsx)(`div`,{"data-settings-item":`plugins.spec`,children:(0,$.jsx)(Jr,{label:e(`settings.plugins.page.field.spec`),cardClassName:`p-3`,children:(0,$.jsx)(gn,{value:a.spec,"aria-label":e(`settings.plugins.page.field.spec`),onChange:e=>o({...a,spec:e.target.value}),placeholder:e(`settings.plugins.page.field.spec.placeholder`),className:`font-mono typography-meta`,spellCheck:!1})})}),(0,$.jsx)(`div`,{"data-settings-item":`plugins.options`,children:(0,$.jsx)(Jr,{label:e(`settings.plugins.page.field.options`),description:n?void 0:e(`settings.plugins.page.field.options.invalidJson`),cardClassName:`p-3`,children:(0,$.jsx)(jr,{embedded:!0,value:a.optionsJson,"aria-label":e(`settings.plugins.page.field.options`),"aria-invalid":!n,onChange:e=>o({...a,optionsJson:e.target.value}),rows:6,className:q(`font-mono typography-meta min-h-[144px] resize-y`,!n&&`border-[var(--status-error-border)]`),spellCheck:!1,placeholder:`{ }`})})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{variant:`default`,size:`sm`,onClick:()=>void c(),disabled:!r||!n||m,children:e(`settings.plugins.page.action.save`)}),(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:i,disabled:!r||m,children:e(`settings.plugins.page.action.discard`)})]})]})}if(d&&a&&a.mode===`file`){let t=v.current.get(d.id)??``,n=a.content!==t||a.fileName!==d.fileName,r=()=>{(async()=>{_(!0);let e=(await l(d.id))?.content??``;_(!1),v.current.set(d.id,e),o(Bl(d,e))})()},i=async()=>{h(!0);try{let t=await c(d.id,{content:a.content});t.ok?(v.current.set(d.id,a.content),t.reloadFailed?Y.warning(t.message||e(`settings.plugins.toast.reloadFailed`),{description:t.warning}):Y.success(t.message||e(`settings.plugins.toast.updated`))):Y.error(t.message||e(`settings.plugins.toast.reloadFailed`))}finally{h(!1)}};return(0,$.jsxs)(Nl,{children:[(0,$.jsx)(`div`,{children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0 flex-wrap`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground break-all`,children:d.fileName}),(0,$.jsx)(Vl,{scope:d.scope,label:d.scope===`project`?e(`settings.plugins.sidebar.group.projectFiles`):e(`settings.plugins.sidebar.group.userFiles`)})]})}),(0,$.jsx)(Fl,{target:p,name:d.fileName}),(0,$.jsx)(`div`,{"data-settings-item":`plugins.content`,children:(0,$.jsx)(Jr,{label:e(`settings.plugins.page.field.content`),cardClassName:`p-3`,children:(0,$.jsx)(jr,{embedded:!0,value:a.content,"aria-label":e(`settings.plugins.page.field.content`),onChange:e=>o({...a,content:e.target.value}),rows:16,className:`font-mono typography-meta min-h-[320px]`,spellCheck:!1,disabled:g})})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{variant:`default`,size:`sm`,onClick:()=>void i(),disabled:!n||m||g,children:e(`settings.plugins.page.action.save`)}),(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:r,disabled:m||g,children:e(`settings.plugins.page.action.discard`)})]})]})}return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsx)(`div`,{className:`text-center text-muted-foreground`,children:(0,$.jsx)(Z,{name:`loader-4`,className:`mx-auto mb-3 h-6 w-6 animate-spin opacity-50`})})})},Ul={opencode:`OpenCode`,"oh-my-opencode-slim":`oh-my-opencode-slim`,"oh-my-openagent":`oh-my-openagent`};async function Wl(e,t){let n=await e.json().catch(()=>null);return typeof n?.error==`string`&&n.error.trim()?n.error:t}function Gl(){let{t:e}=Fe(),{currentTheme:t}=Qt(),[n,r]=Q.useState([]),[i,a]=Q.useState(null),[o,s]=Q.useState(``),[c,u]=Q.useState(``),[d,f]=Q.useState(``),[p,m]=Q.useState(!0),[h,g]=Q.useState(!1),[_,v]=Q.useState(!1),[y,b]=Q.useState(!1),x=Q.useMemo(()=>{let e=d||`opencode.json`,n=e.endsWith(`.jsonc`)?`jsonc`:`json`,r=[bi(t,{syntaxColors:!1})],i=ei(e);return i&&r.push(i),r.push(Hr({language:n,themeName:t.metadata.id,theme:Fr(t)})),r},[t,d]),S=Q.useCallback(async t=>{m(!0);try{let n=await l(`/api/config/global/${t}`);if(!n.ok)throw Error(await Wl(n,e(`settings.globalConfig.toast.loadFailed`)));let r=await n.json(),i=typeof r.content==`string`?r.content:``;s(i),u(i),f(typeof r.fileName==`string`?r.fileName:``)}catch(t){s(``),u(``),f(``),Y.error(t instanceof Error?t.message:e(`settings.globalConfig.toast.loadFailed`))}finally{m(!1)}},[e]);Q.useEffect(()=>{let t=!1;return(async()=>{m(!0);try{let n=await l(`/api/config/global`);if(!n.ok)throw Error(await Wl(n,e(`settings.globalConfig.toast.loadFailed`)));let i=await n.json(),o=Array.isArray(i.targets)?i.targets.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;if(typeof t.target!=`string`||typeof t.fileName!=`string`||!(t.target in Ul))return[];let n=t.target;return[{id:n,label:Ul[n],fileName:t.fileName}]}):[];if(t)return;r(o),a(e=>o.some(t=>t.id===e)?e:o[0]?.id||null)}catch(n){t||(r([]),a(null),Y.error(n instanceof Error?n.message:e(`settings.globalConfig.toast.loadFailed`)))}finally{t||m(!1)}})(),()=>{t=!0}},[e]),Q.useEffect(()=>{i&&S(i)},[S,i]);let C=async()=>{if(i){g(!0);try{let t=await l(`/api/config/global/${i}`,{method:`PUT`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({content:o})});if(!t.ok)throw Error(await Wl(t,e(`settings.globalConfig.toast.saveFailed`)));let n=await t.json(),r=typeof n.content==`string`?n.content:o;s(r),u(r),Y.success(e(`settings.globalConfig.toast.saved`)),v(n.requiresManualRestart===!0)}catch(t){Y.error(t instanceof Error?t.message:e(`settings.globalConfig.toast.saveFailed`))}finally{g(!1)}}},w=async()=>{b(!0);try{await ct({message:e(`settings.view.actions.reloadOpenCode`),mode:`projects`,scopes:[`all`]}),v(!1)}catch(t){Y.error(t instanceof Error?t.message:e(`settings.view.actions.reloadOpenCode`))}finally{b(!1)}};return(0,$.jsxs)(Ar,{outerClassName:`h-full`,className:`w-full`,children:[(0,$.jsx)(`div`,{className:`oc-settings-page-content mx-auto w-full max-w-4xl p-3 sm:p-6 sm:pt-8`,children:(0,$.jsx)(Jr,{itemId:`global-config.editor`,label:e(`settings.globalConfig.title`),description:e(`settings.globalConfig.description`),cardClassName:`p-3`,children:n.length>0?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(`div`,{className:`flex flex-wrap items-center gap-1`,children:n.map(e=>(0,$.jsx)(J,{variant:`chip`,size:`xs`,"aria-pressed":i===e.id,onClick:()=>a(e.id),children:e.label},e.id))}),(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3 px-1`,children:[(0,$.jsx)(`span`,{className:`typography-meta truncate text-muted-foreground`,children:d}),i&&(0,$.jsx)(J,{variant:`ghost`,size:`xs`,onClick:()=>void S(i),disabled:p||h,children:e(`settings.globalConfig.actions.reload`)})]}),i&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`h-[clamp(420px,62dvh,760px)] overflow-hidden bg-background`,children:(0,$.jsx)(Ur,{value:o,onChange:s,readOnly:p,extensions:x,className:`h-full`,enableSearch:!0})}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,$.jsx)(J,{onClick:C,disabled:p||h||o===c,size:`sm`,children:e(h?`settings.common.actions.saving`:`settings.common.actions.saveChanges`)}),i!==`opencode`&&(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.globalConfig.restartHint`)})]})]})]}):(0,$.jsx)(`div`,{className:`min-h-12`,"aria-busy":p})})}),(0,$.jsx)(an,{open:_,onOpenChange:e=>!y&&v(e),children:(0,$.jsxs)(tn,{className:`max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:e(`settings.view.actions.reloadOpenCode`)}),(0,$.jsx)(rn,{children:e(`settings.globalConfig.restartHint`)})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{variant:`ghost`,size:`sm`,onClick:()=>v(!1),disabled:y,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,onClick:()=>void w(),disabled:y,children:e(`settings.view.actions.reloadOpenCode`)})]})]})})]})}var Kl=`<built-in>`,ql=e=>e?.path===Kl,Jl=e=>{let t=(0,Ki.c)(172),{onItemSelect:n}=e,{t:r}=Fe(),[i,a]=Q.useState(null),[o,s]=Q.useState(``),[c,l]=Q.useState(null),[u,d]=Q.useState(!1),[f,p]=Q.useState(null),{selectedSkillName:m,setSelectedSkill:h,setSkillDraft:g,createSkill:_,deleteSkill:v,getSkillDetail:y}=Ca(le(Xl)),b=Ht(),x;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(x=ut(),t[0]=x):x=t[0];let S=x,C;t[1]===b.data?C=t[2]:(C=b.data??[],t[1]=b.data,t[2]=C);let w=C,T;t[3]!==n||t[4]!==h||t[5]!==g||t[6]!==w?(T=()=>{let e=`new-skill`,t=1;for(;w.some(t=>t.name===e);)e=`new-skill-${t}`,t++;g({name:e,scope:`user`,source:`opencode`,description:``}),h(e),n?.()},t[3]=n,t[4]=h,t[5]=g,t[6]=w,t[7]=T):T=t[7];let E=T,D;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(D=async e=>{ql(e)||l(e)},t[8]=D):D=t[8];let O=D,k;t[9]!==c||t[10]!==v||t[11]!==r?(k=async()=>{if(c){if(ql(c)){l(null);return}d(!0),await v(c.name,{directory:S})?(Y.success(r(`settings.skills.sidebar.toast.skillDeleted`,{name:c.name})),l(null)):Y.error(r(`settings.skills.sidebar.toast.deleteSkillFailed`)),d(!1)}},t[9]=c,t[10]=v,t[11]=r,t[12]=k):k=t[12];let A=k,j;t[13]!==y||t[14]!==h||t[15]!==g||t[16]!==w||t[17]!==r?(j=async e=>{if(ql(e))return;let t=e.name,n=1,i=`${t}-copy`;for(;w.some(e=>e.name===i);)n++,i=`${t}-copy-${n}`;let a=await y(e.name);if(!a){Y.error(r(`settings.skills.sidebar.toast.duplicateLoadFailed`));return}g({name:i,scope:e.scope||`user`,source:e.source||`opencode`,description:(a.sources.md.fields.includes(`description`),``),instructions:``}),h(i)},t[13]=y,t[14]=h,t[15]=g,t[16]=w,t[17]=r,t[18]=j):j=t[18];let M=j,N;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(N=e=>{ql(e)||(s(e.name),a(e))},t[19]=N):N=t[19];let P=N,F;t[20]!==_||t[21]!==v||t[22]!==y||t[23]!==i||t[24]!==o||t[25]!==h||t[26]!==w||t[27]!==r?(F=async()=>{if(!i)return;if(ql(i)){a(null);return}let e=o.trim().replace(/\s+/g,`-`).toLowerCase();if(!e){Y.error(r(`settings.skills.page.toast.skillNameRequired`));return}if(e===i.name){a(null);return}if(w.some(t=>t.name===e)){Y.error(r(`settings.skills.page.toast.skillExists`));return}if(!await y(i.name)){Y.error(r(`settings.skills.sidebar.toast.renameLoadFailed`)),a(null);return}await _({name:e,description:`Renamed skill`,scope:i.scope,source:i.source},{directory:S})?await v(i.name,{directory:S})?(Y.success(`Skill renamed to "${e}"`),h(e)):Y.error(r(`settings.skills.sidebar.toast.removeOldAfterRenameFailed`)):Y.error(r(`settings.skills.sidebar.toast.renameFailed`)),a(null)},t[20]=_,t[21]=v,t[22]=y,t[23]=i,t[24]=o,t[25]=h,t[26]=w,t[27]=r,t[28]=F):F=t[28];let I=F,L;t[29]===w?L=t[30]:(L=w.filter(Zl),t[29]=w,t[30]=L);let R=L,z;t[31]===w?z=t[32]:(z=w.filter(Ql),t[31]=w,t[32]=z);let B=z,V;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(V=function(e){let t={},n=[];for(let r of e)r.group?(t[r.group]||(t[r.group]=[]),t[r.group].push(r)):n.push(r);let r=Object.keys(t).sort($l).map(e=>({name:e,skills:[...t[e]].sort(eu)}));return n.sort(tu),{sortedGroups:r,ungrouped:n}},t[33]=V):V=t[33];let H=V,U;t[34]===R?U=t[35]:(U=H(R),t[34]=R,t[35]=U);let W=U,ee;t[36]===B?ee=t[37]:(ee=H(B),t[36]=B,t[37]=ee);let G=ee,te;t[38]===r?te=t[39]:(te=r(`settings.skills.sidebar.section.project`),t[38]=r,t[39]=te);let ne=te,re;t[40]===r?re=t[41]:(re=r(`settings.skills.sidebar.section.user`),t[40]=r,t[41]=re);let ie=re,ae;t[42]===ne?ae=t[43]:(ae=(0,$.jsx)(`span`,{children:ne}),t[42]=ne,t[43]=ae);let oe;t[44]===r?oe=t[45]:(oe=r(`settings.skills.page.title.newSkill`),t[44]=r,t[45]=oe);let se;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(Z,{name:`add`,className:`h-4 w-4`}),t[46]=se):se=t[46];let ce;t[47]!==E||t[48]!==oe?(ce=(0,$.jsx)(J,{"data-settings-item":`skills.create`,size:`icon`,variant:`ghost`,"aria-label":oe,onClick:E,children:se}),t[47]=E,t[48]=oe,t[49]=ce):ce=t[49];let ue;t[50]!==ae||t[51]!==ce?(ue=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[ae,ce]}),t[50]=ae,t[51]=ce,t[52]=ue):ue=t[52];let de=ue,fe;t[53]!==M||t[54]!==n||t[55]!==f||t[56]!==m||t[57]!==h?(fe=e=>(0,$.jsx)(Yl,{skill:e,isSelected:m===e.name,onSelect:()=>{h(e.name),n?.()},onRename:()=>P(e),onDelete:()=>O(e),onDuplicate:()=>M(e),isMenuOpen:f===e.name,onMenuOpenChange:t=>p(t?e.name:null)},e.name),t[53]=M,t[54]=n,t[55]=f,t[56]=m,t[57]=h,t[58]=fe):fe=t[58];let pe=fe,me,he;t[59]===Symbol.for(`react.memo_cache_sentinel`)?(me=q(`oc-settings-page-content h-full overflow-y-auto p-3`,`bg-background`),he=(0,$.jsx)(Ba,{}),t[59]=me,t[60]=he):(me=t[59],he=t[60]);let ge;t[61]!==w.length||t[62]!==r?(ge=w.length===0?(0,$.jsx)(Jr,{children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`book-open`,className:`mx-auto mb-3 h-10 w-10 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-medium`,children:r(`settings.skills.sidebar.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:r(`settings.skills.sidebar.empty.description`)})]})}):null,t[61]=w.length,t[62]=r,t[63]=ge):ge=t[63];let _e;t[64]!==W.ungrouped||t[65]!==de||t[66]!==pe?(_e=W.ungrouped.length>0?(0,$.jsx)(Jr,{label:de,children:W.ungrouped.map(pe)}):(0,$.jsx)(Jr,{label:de,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})}),t[64]=W.ungrouped,t[65]=de,t[66]=pe,t[67]=_e):_e=t[67];let ve;if(t[68]!==W.sortedGroups||t[69]!==ne||t[70]!==pe){let e;t[72]!==ne||t[73]!==pe?(e=e=>{let{name:t,skills:n}=e;return(0,$.jsx)(qa,{label:t,labelPrefix:ne,count:n.length,storageKey:`project-skills`,variant:`settings-card`,children:n.map(pe)},t)},t[72]=ne,t[73]=pe,t[74]=e):e=t[74],ve=W.sortedGroups.map(e),t[68]=W.sortedGroups,t[69]=ne,t[70]=pe,t[71]=ve}else ve=t[71];let ye;t[75]!==G.ungrouped||t[76]!==pe||t[77]!==ie?(ye=G.ungrouped.length>0?(0,$.jsx)(Jr,{label:ie,children:G.ungrouped.map(pe)}):null,t[75]=G.ungrouped,t[76]=pe,t[77]=ie,t[78]=ye):ye=t[78];let K;if(t[79]!==G.sortedGroups||t[80]!==pe||t[81]!==ie){let e;t[83]!==pe||t[84]!==ie?(e=e=>{let{name:t,skills:n}=e;return(0,$.jsx)(qa,{label:t,labelPrefix:ie,count:n.length,storageKey:`user-skills`,variant:`settings-card`,children:n.map(pe)},t)},t[83]=pe,t[84]=ie,t[85]=e):e=t[85],K=G.sortedGroups.map(e),t[79]=G.sortedGroups,t[80]=pe,t[81]=ie,t[82]=K}else K=t[82];let be=c!==null,xe;t[86]===u?xe=t[87]:(xe=e=>{!e&&!u&&l(null)},t[86]=u,t[87]=xe);let Se;t[88]===r?Se=t[89]:(Se=r(`settings.skills.sidebar.deleteDialog.title`),t[88]=r,t[89]=Se);let Ce;t[90]===Se?Ce=t[91]:(Ce=(0,$.jsx)(nn,{children:Se}),t[90]=Se,t[91]=Ce);let we=c?.name??``,Te;t[92]!==r||t[93]!==we?(Te=r(`settings.skills.sidebar.deleteDialog.description`,{name:we}),t[92]=r,t[93]=we,t[94]=Te):Te=t[94];let Ee;t[95]===Te?Ee=t[96]:(Ee=(0,$.jsx)(rn,{children:Te}),t[95]=Te,t[96]=Ee);let De;t[97]!==Ce||t[98]!==Ee?(De=(0,$.jsxs)($t,{children:[Ce,Ee]}),t[97]=Ce,t[98]=Ee,t[99]=De):De=t[99];let Oe;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=()=>l(null),t[100]=Oe):Oe=t[100];let ke;t[101]===r?ke=t[102]:(ke=r(`settings.common.actions.cancel`),t[101]=r,t[102]=ke);let Ae;t[103]!==u||t[104]!==ke?(Ae=(0,$.jsx)(J,{size:`sm`,className:`text-foreground hover:bg-interactive-hover hover:text-foreground`,variant:`ghost`,onClick:Oe,disabled:u,children:ke}),t[103]=u,t[104]=ke,t[105]=Ae):Ae=t[105];let je;t[106]===r?je=t[107]:(je=r(`settings.common.actions.delete`),t[106]=r,t[107]=je);let Me;t[108]!==A||t[109]!==u||t[110]!==je?(Me=(0,$.jsx)(J,{size:`sm`,onClick:A,disabled:u,children:je}),t[108]=A,t[109]=u,t[110]=je,t[111]=Me):Me=t[111];let Ne;t[112]!==Ae||t[113]!==Me?(Ne=(0,$.jsxs)(en,{children:[Ae,Me]}),t[112]=Ae,t[113]=Me,t[114]=Ne):Ne=t[114];let Pe;t[115]!==De||t[116]!==Ne?(Pe=(0,$.jsxs)(tn,{className:`max-w-md`,children:[De,Ne]}),t[115]=De,t[116]=Ne,t[117]=Pe):Pe=t[117];let Ie;t[118]!==be||t[119]!==xe||t[120]!==Pe?(Ie=(0,$.jsx)(an,{open:be,onOpenChange:xe,children:Pe}),t[118]=be,t[119]=xe,t[120]=Pe,t[121]=Ie):Ie=t[121];let Le=i!==null,Re;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(Re=e=>!e&&a(null),t[122]=Re):Re=t[122];let ze;t[123]===r?ze=t[124]:(ze=r(`settings.skills.sidebar.renameDialog.title`),t[123]=r,t[124]=ze);let Be;t[125]===ze?Be=t[126]:(Be=(0,$.jsx)(nn,{children:ze}),t[125]=ze,t[126]=Be);let Ve=i?.name??``,He;t[127]!==r||t[128]!==Ve?(He=r(`settings.skills.sidebar.renameDialog.description`,{name:Ve}),t[127]=r,t[128]=Ve,t[129]=He):He=t[129];let Ue;t[130]===He?Ue=t[131]:(Ue=(0,$.jsx)(rn,{children:He}),t[130]=He,t[131]=Ue);let We;t[132]!==Be||t[133]!==Ue?(We=(0,$.jsxs)($t,{children:[Be,Ue]}),t[132]=Be,t[133]=Ue,t[134]=We):We=t[134];let Ge;t[135]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=e=>s(e.target.value),t[135]=Ge):Ge=t[135];let Ke;t[136]===r?Ke=t[137]:(Ke=r(`settings.skills.sidebar.renameDialog.placeholder`),t[136]=r,t[137]=Ke);let qe;t[138]===I?qe=t[139]:(qe=e=>{e.key===`Enter`&&I()},t[138]=I,t[139]=qe);let Je;t[140]!==o||t[141]!==Ke||t[142]!==qe?(Je=(0,$.jsx)(gn,{value:o,onChange:Ge,placeholder:Ke,className:`text-foreground placeholder:text-muted-foreground`,onKeyDown:qe}),t[140]=o,t[141]=Ke,t[142]=qe,t[143]=Je):Je=t[143];let Ye;t[144]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=()=>a(null),t[144]=Ye):Ye=t[144];let Xe;t[145]===r?Xe=t[146]:(Xe=r(`settings.common.actions.cancel`),t[145]=r,t[146]=Xe);let Ze;t[147]===Xe?Ze=t[148]:(Ze=(0,$.jsx)(J,{size:`sm`,className:`text-foreground hover:bg-interactive-hover hover:text-foreground`,variant:`ghost`,onClick:Ye,children:Xe}),t[147]=Xe,t[148]=Ze);let Qe;t[149]===r?Qe=t[150]:(Qe=r(`settings.common.actions.rename`),t[149]=r,t[150]=Qe);let $e;t[151]!==I||t[152]!==Qe?($e=(0,$.jsx)(J,{size:`sm`,onClick:I,children:Qe}),t[151]=I,t[152]=Qe,t[153]=$e):$e=t[153];let et;t[154]!==Ze||t[155]!==$e?(et=(0,$.jsxs)(en,{children:[Ze,$e]}),t[154]=Ze,t[155]=$e,t[156]=et):et=t[156];let tt;t[157]!==We||t[158]!==Je||t[159]!==et?(tt=(0,$.jsxs)(tn,{children:[We,Je,et]}),t[157]=We,t[158]=Je,t[159]=et,t[160]=tt):tt=t[160];let nt;t[161]!==Le||t[162]!==tt?(nt=(0,$.jsx)(an,{open:Le,onOpenChange:Re,children:tt}),t[161]=Le,t[162]=tt,t[163]=nt):nt=t[163];let rt;return t[164]!==ge||t[165]!==_e||t[166]!==ve||t[167]!==ye||t[168]!==K||t[169]!==Ie||t[170]!==nt?(rt=(0,$.jsxs)(`div`,{className:me,children:[he,ge,_e,ve,ye,K,Ie,nt]}),t[164]=ge,t[165]=_e,t[166]=ve,t[167]=ye,t[168]=K,t[169]=Ie,t[170]=nt,t[171]=rt):rt=t[171],rt},Yl=e=>{let t=(0,Ki.c)(51),{skill:n,isSelected:r,onSelect:i,onDelete:a,onRename:o,onDuplicate:s,isMenuOpen:c,onMenuOpenChange:l}=e,{t:u}=Fe(),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=Er(),t[0]=d):d=t[0];let f=d,p;t[1]!==n.source||t[2]!==u?(p=n.source===`claude`?u(`settings.skills.sidebar.badge.claude`):n.source===`agents`?u(`settings.skills.sidebar.badge.agents`):u(`settings.skills.sidebar.badge.opencode`),t[1]=n.source,t[2]=u,t[3]=p):p=t[3];let m=p,h;t[4]===n?h=t[5]:(h=ql(n),t[4]=n,t[5]=h);let g=h,[_,v]=Q.useState(!1),y;t[6]!==a||t[7]!==s||t[8]!==o||t[9]!==u?(y=e=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),o()},children:[(0,$.jsx)(Z,{name:`edit`,className:`h-4 w-4 mr-px`}),u(`settings.common.actions.rename`)]}),(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),s()},children:[(0,$.jsx)(Z,{name:`file-copy`,className:`h-4 w-4 mr-px`}),u(`settings.common.actions.duplicate`)]}),(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),a()},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`h-4 w-4 mr-px`}),u(`settings.common.actions.delete`)]})]}),t[6]=a,t[7]=s,t[8]=o,t[9]=u,t[10]=y):y=t[10];let b=y,x=!g&&_,S=r?`bg-interactive-selection`:`hover:bg-interactive-hover`,C;t[11]===S?C=t[12]:(C=q(`oc-settings-group-row group relative flex items-center transition-colors duration-150 select-none`,S),t[11]=S,t[12]=C);let w;t[13]===g?w=t[14]:(w=!f&&!g?e=>{e.preventDefault(),v(!0)}:void 0,t[13]=g,t[14]=w);let T;t[15]!==C||t[16]!==w?(T=(0,$.jsx)(`div`,{className:C,onContextMenu:w}),t[15]=C,t[16]=w,t[17]=T):T=t[17];let E;t[18]===n.name?E=t[19]:(E=(0,$.jsx)(`span`,{className:`typography-ui-label font-normal whitespace-normal [overflow-wrap:anywhere] text-foreground`,children:n.name}),t[18]=n.name,t[19]=E);let D;t[20]===n.scope?D=t[21]:(D=(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground bg-[var(--surface-muted)] px-1 rounded flex-shrink-0 leading-none pb-px border border-[var(--interactive-border)]/50`,children:n.scope}),t[20]=n.scope,t[21]=D);let O;t[22]===m?O=t[23]:(O=(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground bg-[var(--surface-muted)] px-1 rounded flex-shrink-0 leading-none pb-px border border-[var(--interactive-border)]/50`,children:m}),t[22]=m,t[23]=O);let k;t[24]!==D||t[25]!==O?(k=(0,$.jsxs)(`span`,{className:`flex flex-wrap items-center gap-1.5`,children:[D,O]}),t[24]=D,t[25]=O,t[26]=k):k=t[26];let A;t[27]!==E||t[28]!==k?(A=(0,$.jsxs)(`div`,{className:`flex min-w-0 max-w-full flex-col items-start gap-1.5`,children:[E,k]}),t[27]=E,t[28]=k,t[29]=A):A=t[29];let j;t[30]!==i||t[31]!==A?(j=(0,$.jsx)(`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:A}),t[30]=i,t[31]=A,t[32]=j):j=t[32];let M;t[33]!==g||t[34]!==c||t[35]!==l||t[36]!==b?(M=g?null:(0,$.jsxs)(rr,{open:c,onOpenChange:e=>{e&&v(!1),l(e)},children:[(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsx)(J,{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)(Z,{name:`more-2`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(Jn,{align:`end`,className:`w-fit min-w-20`,children:b(fr)})]}),t[33]=g,t[34]=c,t[35]=l,t[36]=b,t[37]=M):M=t[37];let N;t[38]!==j||t[39]!==M?(N=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:[j,M]}),t[38]=j,t[39]=M,t[40]=N):N=t[40];let P;t[41]!==N||t[42]!==T?(P=(0,$.jsx)(Pi,{render:T,children:N}),t[41]=N,t[42]=T,t[43]=P):P=t[43];let F;t[44]!==g||t[45]!==b?(F=g?null:(0,$.jsx)(Ii,{className:`w-fit min-w-20`,children:b(Ri)}),t[44]=g,t[45]=b,t[46]=F):F=t[46];let I;return t[47]!==P||t[48]!==F||t[49]!==x?(I=(0,$.jsxs)(ji,{open:x,onOpenChange:v,children:[P,F]}),t[47]=P,t[48]=F,t[49]=x,t[50]=I):I=t[50],I};function Xl(e){return{selectedSkillName:e.selectedSkillName,setSelectedSkill:e.setSelectedSkill,setSkillDraft:e.setSkillDraft,createSkill:e.createSkill,deleteSkill:e.deleteSkill,getSkillDetail:e.getSkillDetail}}function Zl(e){return e.scope===`project`}function Ql(e){return e.scope===`user`}function $l(e,t){return e.localeCompare(t)}function eu(e,t){return e.name.localeCompare(t.name)}function tu(e,t){return e.name.localeCompare(t.name)}var nu=()=>{let e=me.getDirectory();if(typeof e==`string`&&e.trim().length>0)return e;try{let e=window.__zustand_directory_store__;if(e)return e.getState().currentDirectory}catch{}return null},ru=oe()(ce(e=>({selectedSourceId:lt[0]?.id??null,isScanning:!1,isInstalling:!1,lastScanError:null,lastInstallError:null,scanResults:null,setSelectedSource:t=>e({selectedSourceId:t}),scanRepo:async(t,n)=>{e({isScanning:!0,lastScanError:null,scanResults:null});try{let r=n&&Object.prototype.hasOwnProperty.call(n,`directory`)?typeof n?.directory==`string`&&n.directory.trim()||null:nu(),i=r?`?directory=${encodeURIComponent(r)}`:``,a=await l(`/api/config/skills/scan${i}`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(t)}),o=await a.json().catch(()=>null);if(!a.ok||!o){let t=o?.error||{kind:`unknown`,message:`Failed to scan repository`};return e({lastScanError:t}),{ok:!1,error:t}}return o.ok?(e({scanResults:o.items||[]}),o):(e({lastScanError:o.error||{kind:`unknown`,message:`Failed to scan repository`}}),o)}finally{e({isScanning:!1})}},installSkills:async(t,n)=>{let r=n&&Object.prototype.hasOwnProperty.call(n,`directory`)?typeof n?.directory==`string`&&n.directory.trim()||null:nu(),a=n?.transportIdentity??i();if(i()!==a)return{ok:!1,error:{kind:`unknown`,message:`Failed to install skills`}};e({isInstalling:!0,lastInstallError:null});try{let n=r?`?directory=${encodeURIComponent(r)}`:``,o=await l(`/api/config/skills/install${n}`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(t)}),s=await o.json().catch(()=>null);if(!s){let t={kind:`unknown`,message:`Failed to install skills`};return e({lastInstallError:t}),{ok:!1,error:t}}if(!o.ok||!s.ok){let t=s.error||{kind:`unknown`,message:`Failed to install skills`};return e({lastInstallError:t}),{ok:!1,error:t}}return i()===a?(await ot(O,r,a),i()===a&&await St(O,r,a),s):s}catch(t){let n={kind:`unknown`,message:t instanceof Error?t.message:String(t)};return e({lastInstallError:n}),{ok:!1,error:n}}finally{e({isInstalling:!1})}}}),{name:`skills-catalog-store`})),iu=()=>`custom:${Date.now()}-${Math.random().toString(16).slice(2)}`,au=e=>{let t=e.trim(),n=t.startsWith(`https://`)?`https`:t.startsWith(`git@`)?`ssh`:`shorthand`;if(n===`ssh`)return`${t.split(`:`)[1].replace(/\.git$/i,``)}`;if(n===`https`)return t.split(`/`).slice(3).filter(Boolean).join(`/`).replace(/\.git$/i,``);let r=t.match(/^([^/\s]+)\/([^/\s]+)(?:\/.+)?$/);return r?`${r[1]}/${r[2].replace(/\.git$/i,``)}`:t},ou=async()=>{try{let e=h()?.settings;if(e)return(await e.load())?.settings||{};let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});return t.ok?await t.json().catch(()=>null):null}catch{return null}},su=e=>{let t=(0,Ki.c)(158),{open:n,onOpenChange:r}=e,{t:a}=Fe(),o=ru(cu),s=ru(lu),c=ru(uu),l=xi(du),u=xi(fu),[d,f]=Q.useState(``),[p,m]=Q.useState(``),[h,g]=Q.useState(``),_;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(_=[],t[0]=_):_=t[0];let[v,y]=Q.useState(_),[b,x]=Q.useState(null),[S,C]=Q.useState(!1),w;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(w=[],t[1]=w):w=t[1];let[E,k]=Q.useState(w),[A,j]=Q.useState(null),M=Q.useRef(0),N=Q.useRef(null),P;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(P=e=>{M.current+=1,C(!1),x(null),N.current=null,e?.clearIdentity&&(k([]),j(null))},t[2]=P):P=t[2];let F=P,I,L;t[3]!==u||t[4]!==n?(I=()=>{n&&(M.current+=1,f(``),m(``),g(``),x(null),C(!1),N.current=null,k([]),j(null),u(),(async()=>{let e=await ou(),t=Array.isArray(e?.skillCatalogs)?e?.skillCatalogs:[];y(t||[])})())},L=[n,u],t[3]=u,t[4]=n,t[5]=I,t[6]=L):(I=t[5],L=t[6]),Q.useEffect(I,L);let R;t[7]===p?R=t[8]:(R=p.trim(),t[7]=p,t[8]=R);let z=R,B;t[9]===h?B=t[10]:(B=h.trim(),t[9]=h,t[10]=B);let V=B,H;if(t[11]!==v||t[12]!==z||t[13]!==V){let e;t[15]!==z||t[16]!==V?(e=e=>{let t=(e.source||``).trim(),n=(e.subpath||``).trim();return t===z&&n===V},t[15]=z,t[16]=V,t[17]=e):e=t[17],H=v.some(e),t[11]=v,t[12]=z,t[13]=V,t[14]=H}else H=t[14];let U=H,W;t[18]!==l||t[19]!==A||t[20]!==d||t[21]!==o||t[22]!==p||t[23]!==h||t[24]!==a?(W=async()=>{let e=p.trim();if(!e){Y.error(a(`settings.skills.catalog.add.toast.repositoryRequired`));return}d.trim()||f(au(e)),C(!1),x(null);let t=M.current+1;M.current=t;let n=et(),r=i(),s=await o({source:e,subpath:h.trim()||void 0,gitIdentityId:A||void 0},{directory:n});if(M.current!==t||i()!==r||et()!==n)return;if(!s.ok){if(s.error?.kind===`authRequired`){if(D()){Y.error(a(`settings.skills.catalog.shared.toast.privateRepoNotSupportedVsCode`));return}let e=s.error.identities||[];if(k(e),!A&&e.length>0){let t=l&&l!==`global`&&e.some(e=>e.id===l)?l:e[0].id;j(t)}Y.error(a(`settings.skills.catalog.add.toast.authenticationRequiredScan`));return}Y.error(s.error?.message||a(`settings.skills.catalog.add.toast.scanFailed`));return}let c=s.items?.length||0;if(x(c),c===0){Y.error(a(`settings.skills.catalog.add.toast.noSkillsFound`)),C(!1);return}k([]),C(!0),N.current={directory:n,transport:r},Y.success(a(`settings.skills.catalog.shared.toast.foundSkills`,{count:c}))},t[18]=l,t[19]=A,t[20]=d,t[21]=o,t[22]=p,t[23]=h,t[24]=a,t[25]=W):W=t[25];let ee=W,G;t[26]!==v||t[27]!==A||t[28]!==U||t[29]!==d||t[30]!==r||t[31]!==S||t[32]!==s||t[33]!==p||t[34]!==h||t[35]!==a?(G=async()=>{let e=d.trim(),t=p.trim(),n=h.trim();if(!e){Y.error(a(`settings.skills.catalog.add.toast.catalogNameRequired`));return}if(!t){Y.error(a(`settings.skills.catalog.add.toast.repositoryRequired`));return}let o=et(),c=i();if(!S||N.current?.directory!==o||N.current?.transport!==c){C(!1),N.current=null,Y.error(a(`settings.skills.catalog.add.toast.scanBeforeAdd`));return}if(U){Y.error(a(`settings.skills.catalog.add.toast.catalogAlreadyExists`));return}let l={id:iu(),label:e,source:t,...n?{subpath:n}:{},...A?{gitIdentityId:A}:{}},u=[...v,l],f=et(),m=i();try{await T({skillCatalogs:u}),y(u),Y.success(a(`settings.skills.catalog.add.toast.catalogAdded`)),await O.invalidateQueries({queryKey:[m,`skillsCatalog`,`sources`],exact:!1}),await mt(O,f,m),await wt(O,f,l.id,m),i()===m&&(s(l.id),r(!1))}catch(e){let t=e;Y.error(t instanceof Error?t.message:a(`settings.skills.catalog.add.toast.saveFailed`))}},t[26]=v,t[27]=A,t[28]=U,t[29]=d,t[30]=r,t[31]=S,t[32]=s,t[33]=p,t[34]=h,t[35]=a,t[36]=G):G=t[36];let te=G,ne;t[37]===a?ne=t[38]:(ne=a(`settings.skills.catalog.add.title`),t[37]=a,t[38]=ne);let re;t[39]===ne?re=t[40]:(re=(0,$.jsx)(nn,{children:ne}),t[39]=ne,t[40]=re);let ie;t[41]===a?ie=t[42]:(ie=a(`settings.skills.catalog.add.descriptionPrefix`),t[41]=a,t[42]=ie);let ae;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(`code`,{className:`font-mono`,children:`SKILL.md`}),t[43]=ae):ae=t[43];let oe;t[44]===a?oe=t[45]:(oe=a(`settings.skills.catalog.add.descriptionSuffix`),t[44]=a,t[45]=oe);let se;t[46]!==ie||t[47]!==oe?(se=(0,$.jsxs)(rn,{children:[ie,` `,ae,oe]}),t[46]=ie,t[47]=oe,t[48]=se):se=t[48];let ce;t[49]!==re||t[50]!==se?(ce=(0,$.jsxs)($t,{children:[re,se]}),t[49]=re,t[50]=se,t[51]=ce):ce=t[51];let le;t[52]===a?le=t[53]:(le=a(`settings.skills.catalog.add.field.catalogName`),t[52]=a,t[53]=le);let ue;t[54]===le?ue=t[55]:(ue=(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:le}),t[54]=le,t[55]=ue);let de;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(de=e=>f(e.target.value),t[56]=de):de=t[56];let fe;t[57]===a?fe=t[58]:(fe=a(`settings.skills.catalog.add.field.catalogNamePlaceholder`),t[57]=a,t[58]=fe);let pe;t[59]!==d||t[60]!==fe?(pe=(0,$.jsx)(gn,{value:d,onChange:de,placeholder:fe}),t[59]=d,t[60]=fe,t[61]=pe):pe=t[61];let me;t[62]!==ue||t[63]!==pe?(me=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[ue,pe]}),t[62]=ue,t[63]=pe,t[64]=me):me=t[64];let he;t[65]===a?he=t[66]:(he=a(`settings.skills.catalog.add.field.repository`),t[65]=a,t[66]=he);let ge;t[67]===he?ge=t[68]:(ge=(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:he}),t[67]=he,t[68]=ge);let _e;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(_e=e=>{m(e.target.value),F({clearIdentity:!0})},t[69]=_e):_e=t[69];let ve;t[70]===a?ve=t[71]:(ve=a(`settings.skills.catalog.shared.field.repositoryPlaceholder`),t[70]=a,t[71]=ve);let ye;t[72]!==p||t[73]!==ve?(ye=(0,$.jsx)(gn,{value:p,onChange:_e,placeholder:ve}),t[72]=p,t[73]=ve,t[74]=ye):ye=t[74];let K;t[75]===a?K=t[76]:(K=a(`settings.skills.catalog.add.field.repositoryHint`),t[75]=a,t[76]=K);let be;t[77]===K?be=t[78]:(be=(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:K}),t[77]=K,t[78]=be);let xe;t[79]!==ge||t[80]!==ye||t[81]!==be?(xe=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[ge,ye,be]}),t[79]=ge,t[80]=ye,t[81]=be,t[82]=xe):xe=t[82];let Se;t[83]===a?Se=t[84]:(Se=a(`settings.skills.catalog.add.field.optionalSubpath`),t[83]=a,t[84]=Se);let Ce;t[85]===Se?Ce=t[86]:(Ce=(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:Se}),t[85]=Se,t[86]=Ce);let we;t[87]===Symbol.for(`react.memo_cache_sentinel`)?(we=e=>{g(e.target.value),F({clearIdentity:!0})},t[87]=we):we=t[87];let Te;t[88]===a?Te=t[89]:(Te=a(`settings.skills.catalog.shared.field.subpathPlaceholder`),t[88]=a,t[89]=Te);let Ee;t[90]!==h||t[91]!==Te?(Ee=(0,$.jsx)(gn,{value:h,onChange:we,placeholder:Te}),t[90]=h,t[91]=Te,t[92]=Ee):Ee=t[92];let De;t[93]!==Ce||t[94]!==Ee?(De=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[Ce,Ee]}),t[93]=Ce,t[94]=Ee,t[95]=De):De=t[95];let Oe;t[96]!==A||t[97]!==E||t[98]!==a?(Oe=E.length>0&&!D()?(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-[var(--status-warning)]`,children:a(`settings.skills.catalog.shared.auth.title`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground ml-2`,children:a(`settings.skills.catalog.shared.auth.description`)})]}),(0,$.jsxs)(pn,{value:A||``,onValueChange:e=>{j(e),F()},children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(`span`,{children:E.find(e=>e.id===A)?.name||a(`settings.skills.catalog.shared.auth.chooseIdentity`)})}),(0,$.jsx)(dn,{align:`start`,children:E.map(pu)})]}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:a(`settings.skills.catalog.shared.auth.footerHint`)})]}):null,t[96]=A,t[97]=E,t[98]=a,t[99]=Oe):Oe=t[99];let ke;t[100]!==b||t[101]!==a?(ke=b===null?null:(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:a(`settings.skills.catalog.add.scanResult`,{count:b})}),t[100]=b,t[101]=a,t[102]=ke):ke=t[102];let Ae;t[103]!==U||t[104]!==a?(Ae=U?(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:a(`settings.skills.catalog.add.duplicateMessage`)}):null,t[103]=U,t[104]=a,t[105]=Ae):Ae=t[105];let je;t[106]!==me||t[107]!==xe||t[108]!==De||t[109]!==Oe||t[110]!==ke||t[111]!==Ae?(je=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[me,xe,De,Oe,ke,Ae]}),t[106]=me,t[107]=xe,t[108]=De,t[109]=Oe,t[110]=ke,t[111]=Ae,t[112]=je):je=t[112];let Me;t[113]===r?Me=t[114]:(Me=()=>r(!1),t[113]=r,t[114]=Me);let Ne;t[115]===a?Ne=t[116]:(Ne=a(`settings.common.actions.cancel`),t[115]=a,t[116]=Ne);let Pe;t[117]!==Me||t[118]!==Ne?(Pe=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:Me,children:Ne}),t[117]=Me,t[118]=Ne,t[119]=Pe):Pe=t[119];let Ie;t[120]===ee?Ie=t[121]:(Ie=()=>void ee(),t[120]=ee,t[121]=Ie);let Le;t[122]!==c||t[123]!==p?(Le=c||!p.trim(),t[122]=c,t[123]=p,t[124]=Le):Le=t[124];let Re;t[125]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,$.jsx)(Z,{name:`git-repository`,className:`h-4 w-4`}),t[125]=Re):Re=t[125];let q;t[126]!==c||t[127]!==a?(q=a(c?`settings.skills.catalog.shared.actions.scanning`:`settings.skills.catalog.shared.actions.scan`),t[126]=c,t[127]=a,t[128]=q):q=t[128];let ze;t[129]!==Ie||t[130]!==Le||t[131]!==q?(ze=(0,$.jsxs)(J,{size:`sm`,className:`gap-2`,variant:`ghost`,onClick:Ie,disabled:Le,children:[Re,q]}),t[129]=Ie,t[130]=Le,t[131]=q,t[132]=ze):ze=t[132];let Be;t[133]===te?Be=t[134]:(Be=()=>void te(),t[133]=te,t[134]=Be);let Ve;t[135]!==U||t[136]!==d||t[137]!==S||t[138]!==p?(Ve=!S||U||!d.trim()||!p.trim(),t[135]=U,t[136]=d,t[137]=S,t[138]=p,t[139]=Ve):Ve=t[139];let He;t[140]===a?He=t[141]:(He=a(`settings.skills.catalog.add.actions.addCatalog`),t[140]=a,t[141]=He);let Ue;t[142]!==Be||t[143]!==Ve||t[144]!==He?(Ue=(0,$.jsx)(J,{size:`sm`,onClick:Be,disabled:Ve,children:He}),t[142]=Be,t[143]=Ve,t[144]=He,t[145]=Ue):Ue=t[145];let We;t[146]!==Pe||t[147]!==ze||t[148]!==Ue?(We=(0,$.jsxs)(en,{children:[Pe,ze,Ue]}),t[146]=Pe,t[147]=ze,t[148]=Ue,t[149]=We):We=t[149];let Ge;t[150]!==ce||t[151]!==je||t[152]!==We?(Ge=(0,$.jsxs)(tn,{className:`max-w-xl`,children:[ce,je,We]}),t[150]=ce,t[151]=je,t[152]=We,t[153]=Ge):Ge=t[153];let Ke;return t[154]!==r||t[155]!==n||t[156]!==Ge?(Ke=(0,$.jsx)(an,{open:n,onOpenChange:r,children:Ge}),t[154]=r,t[155]=n,t[156]=Ge,t[157]=Ke):Ke=t[157],Ke};function cu(e){return e.scanRepo}function lu(e){return e.setSelectedSource}function uu(e){return e.isScanning}function du(e){return e.defaultGitIdentityId}function fu(e){return e.loadDefaultGitIdentityId}function pu(e){return(0,$.jsx)(cn,{value:e.id,children:e.name},e.id)}var mu=e=>{let t=(0,Ki.c)(85),{open:n,onOpenChange:r,conflicts:i,onConfirm:a}=e,{t:o}=Fe(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={},t[0]=s):s=t[0];let[c,l]=Q.useState(s),u,d;t[1]!==i||t[2]!==n?(u=()=>{if(!n)return;let e={};for(let t of i)e[t.skillName]=`skip`;l(e)},d=[n,i],t[1]=i,t[2]=n,t[3]=u,t[4]=d):(u=t[3],d=t[4]),Q.useEffect(u,d);let f;t[5]===i?f=t[6]:(f=e=>{let t={};for(let n of i)t[n.skillName]=e;l(t)},t[5]=i,t[6]=f);let p=f,m;t[7]!==i||t[8]!==c?(m=i.length>0&&i.every(e=>c[e.skillName]),t[7]=i,t[8]=c,t[9]=m):m=t[9];let h=m,g;t[10]===o?g=t[11]:(g=o(`settings.skills.catalog.conflicts.title`),t[10]=o,t[11]=g);let _;t[12]===g?_=t[13]:(_=(0,$.jsx)(nn,{children:g}),t[12]=g,t[13]=_);let v;t[14]===o?v=t[15]:(v=o(`settings.skills.catalog.conflicts.description`),t[14]=o,t[15]=v);let y;t[16]===v?y=t[17]:(y=(0,$.jsx)(rn,{children:v}),t[16]=v,t[17]=y);let b;t[18]!==_||t[19]!==y?(b=(0,$.jsxs)($t,{children:[_,y]}),t[18]=_,t[19]=y,t[20]=b):b=t[20];let x;t[21]!==i.length||t[22]!==o?(x=o(`settings.skills.catalog.conflicts.count`,{count:i.length}),t[21]=i.length,t[22]=o,t[23]=x):x=t[23];let S;t[24]===x?S=t[25]:(S=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:x}),t[24]=x,t[25]=S);let C;t[26]===p?C=t[27]:(C=()=>p(`skip`),t[26]=p,t[27]=C);let w;t[28]===o?w=t[29]:(w=o(`settings.skills.catalog.conflicts.actions.skipAll`),t[28]=o,t[29]=w);let T;t[30]!==C||t[31]!==w?(T=(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:C,children:w}),t[30]=C,t[31]=w,t[32]=T):T=t[32];let E;t[33]===p?E=t[34]:(E=()=>p(`overwrite`),t[33]=p,t[34]=E);let D;t[35]===o?D=t[36]:(D=o(`settings.skills.catalog.conflicts.actions.overwriteAll`),t[35]=o,t[36]=D);let O;t[37]!==E||t[38]!==D?(O=(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:E,children:D}),t[37]=E,t[38]=D,t[39]=O):O=t[39];let k;t[40]!==T||t[41]!==O?(k=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[T,O]}),t[40]=T,t[41]=O,t[42]=k):k=t[42];let A;t[43]!==S||t[44]!==k?(A=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[S,k]}),t[43]=S,t[44]=k,t[45]=A):A=t[45];let j;if(t[46]!==i||t[47]!==c||t[48]!==o){let e;t[50]!==c||t[51]!==o?(e=e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1.5`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label truncate`,children:e.skillName}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:o(`settings.skills.catalog.conflicts.installedIn`,{scope:e.scope===`project`?o(`settings.skills.catalog.conflicts.scope.project`):o(`settings.skills.catalog.conflicts.scope.user`),source:e.source===`agents`?o(`settings.skills.catalog.conflicts.source.agents`):o(`settings.skills.catalog.conflicts.source.opencode`)})})]}),(0,$.jsxs)(pn,{value:c[e.skillName]||`skip`,onValueChange:t=>l(n=>({...n,[e.skillName]:t})),children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(`span`,{className:`capitalize`,children:(c[e.skillName]||`skip`)===`overwrite`?o(`settings.skills.catalog.conflicts.decision.overwrite`):o(`settings.skills.catalog.conflicts.decision.skip`)})}),(0,$.jsxs)(dn,{align:`end`,children:[(0,$.jsx)(cn,{value:`skip`,className:`pr-2 [&>span:first-child]:hidden`,children:o(`settings.skills.catalog.conflicts.decision.skip`)}),(0,$.jsx)(cn,{value:`overwrite`,className:`pr-2 [&>span:first-child]:hidden`,children:o(`settings.skills.catalog.conflicts.decision.overwrite`)})]})]})]},e.skillName),t[50]=c,t[51]=o,t[52]=e):e=t[52],j=i.map(e),t[46]=i,t[47]=c,t[48]=o,t[49]=j}else j=t[49];let M;t[53]===j?M=t[54]:(M=(0,$.jsx)(`div`,{className:`space-y-2`,children:j}),t[53]=j,t[54]=M);let N;t[55]!==A||t[56]!==M?(N=(0,$.jsxs)(`div`,{className:`space-y-3`,children:[A,M]}),t[55]=A,t[56]=M,t[57]=N):N=t[57];let P;t[58]===r?P=t[59]:(P=()=>r(!1),t[58]=r,t[59]=P);let F;t[60]===o?F=t[61]:(F=o(`settings.common.actions.cancel`),t[60]=o,t[61]=F);let I;t[62]!==P||t[63]!==F?(I=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:P,children:F}),t[62]=P,t[63]=F,t[64]=I):I=t[64];let L;t[65]!==c||t[66]!==a?(L=()=>a(c),t[65]=c,t[66]=a,t[67]=L):L=t[67];let R=!h,z;t[68]===o?z=t[69]:(z=o(`settings.skills.catalog.conflicts.actions.continue`),t[68]=o,t[69]=z);let B;t[70]!==L||t[71]!==R||t[72]!==z?(B=(0,$.jsx)(J,{size:`sm`,onClick:L,disabled:R,children:z}),t[70]=L,t[71]=R,t[72]=z,t[73]=B):B=t[73];let V;t[74]!==I||t[75]!==B?(V=(0,$.jsxs)(en,{children:[I,B]}),t[74]=I,t[75]=B,t[76]=V):V=t[76];let H;t[77]!==b||t[78]!==N||t[79]!==V?(H=(0,$.jsxs)(tn,{className:`max-w-2xl`,children:[b,N,V]}),t[77]=b,t[78]=N,t[79]=V,t[80]=H):H=t[80];let U;return t[81]!==r||t[82]!==n||t[83]!==H?(U=(0,$.jsx)(an,{open:n,onOpenChange:r,children:H}),t[81]=r,t[82]=n,t[83]=H,t[84]=U):U=t[84],U},hu=[{value:`user-opencode`,scope:`user`,source:`opencode`,label:`User / OpenCode`,description:`Global OpenCode config location`},{value:`project-opencode`,scope:`project`,source:`opencode`,label:`Project / OpenCode`,description:`Current project .opencode location`},{value:`user-agents`,scope:`user`,source:`agents`,label:`User / Agents`,description:`Global .agents compatibility location`},{value:`project-agents`,scope:`project`,source:`agents`,label:`Project / Agents`,description:`Current project .agents compatibility location`}];function gu(e,t){return e===`project`&&t===`claude`?`project-claude`:e===`project`&&t===`agents`?`project-agents`:t===`claude`?`user-claude`:e===`project`?`project-opencode`:t===`agents`?`user-agents`:`user-opencode`}function _u(e){if(e===`user-claude`)return{scope:`user`,source:`claude`};if(e===`project-claude`)return{scope:`project`,source:`claude`};let t=hu.find(t=>t.value===e);return t?{scope:t.scope,source:t.source}:{scope:`user`,source:`opencode`}}var vu=e=>{let t=(0,Ki.c)(124),{open:n,onOpenChange:r,item:a}=e,{t:o}=Fe(),s=ru(yu),c=ru(bu),[l,u]=Q.useState(`user`),[d,f]=Q.useState(`opencode`),p=Kt(xu),m=Kt(Su),[h,g]=Q.useState(null),[_,v]=Q.useState(!1),y;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=[],t[0]=y):y=t[0];let[b,x]=Q.useState(y),[S,C]=Q.useState(null),w,T;t[1]!==m||t[2]!==n?(w=()=>{n&&(u(`user`),f(`opencode`),g(m),v(!1),x([]),C(null))},T=[n,m],t[1]=m,t[2]=n,t[3]=w,t[4]=T):(w=t[3],T=t[4]),Q.useEffect(w,T);let E;t[5]===o?E=t[6]:(E=e=>{switch(e){case`project-opencode`:return o(`settings.skills.location.option.projectOpencode.label`);case`user-agents`:return o(`settings.skills.location.option.userAgents.label`);case`project-agents`:return o(`settings.skills.location.option.projectAgents.label`);default:return o(`settings.skills.location.option.userOpencode.label`)}},t[5]=o,t[6]=E);let D=E,O;t[7]===o?O=t[8]:(O=e=>{switch(e){case`project-opencode`:return o(`settings.skills.location.option.projectOpencode.description`);case`user-agents`:return o(`settings.skills.location.option.userAgents.description`);case`project-agents`:return o(`settings.skills.location.option.projectAgents.description`);default:return o(`settings.skills.location.option.userOpencode.description`)}},t[7]=o,t[8]=O);let k=O,A;bb0:{if(p.length===0){A=null;break bb0}if(h&&p.some(e=>e.id===h)){A=h;break bb0}if(m&&p.some(e=>e.id===m)){A=m;break bb0}A=p[0]?.id??null}let j=A,M;bb1:{if(l!==`project`){M=null;break bb1}let e=j;if(!e){M=null;break bb1}let n;if(t[9]!==e||t[10]!==p){let r;t[12]===e?r=t[13]:(r=t=>t.id===e,t[12]=e,t[13]=r),n=p.find(r),t[9]=e,t[10]=p,t[11]=n}else n=t[11];M=n?.path??null}let N=M,P;t[14]!==s||t[15]!==a||t[16]!==r||t[17]!==o?(P=async e=>{let t={skillDir:e.skillDir};a?.clawdhub&&(t.clawdhub={slug:a.clawdhub.slug,version:a.clawdhub.version});let n=await s({source:e.source,subpath:e.subpath,gitIdentityId:a?.gitIdentityId,scope:e.scope,targetSource:e.targetSource,selections:[t],conflictPolicy:`prompt`,conflictDecisions:e.conflictDecisions},{directory:e.effectiveDirectory,transportIdentity:e.transportIdentity});if(n.ok){Y.success(o(`settings.skills.catalog.installSkill.toast.installed`)),r(!1);return}if(n.error?.kind===`conflicts`){C({source:e.source,subpath:e.subpath,scope:e.scope,targetSource:e.targetSource,skillDir:e.skillDir,directoryOverride:e.directoryOverride??null,effectiveDirectory:e.effectiveDirectory,transportIdentity:e.transportIdentity}),x(n.error.conflicts),v(!0);return}if(n.error?.kind===`authRequired`){Y.error(n.error.message||o(`settings.skills.catalog.installSkill.toast.authRequired`));return}Y.error(n.error?.message||o(`settings.skills.catalog.installSkill.toast.installFailed`))},t[14]=s,t[15]=a,t[16]=r,t[17]=o,t[18]=P):P=t[18];let F=P;if(!a)return null;let I;t[19]===o?I=t[20]:(I=o(`settings.skills.catalog.installSkill.title`),t[19]=o,t[20]=I);let L;t[21]===I?L=t[22]:(L=(0,$.jsx)(nn,{children:I}),t[21]=I,t[22]=L);let R;t[23]===o?R=t[24]:(R=o(`settings.skills.catalog.installSkill.descriptionPrefix`),t[23]=o,t[24]=R);let z;t[25]===a.skillName?z=t[26]:(z=(0,$.jsx)(`span`,{className:`font-semibold text-foreground`,children:a.skillName}),t[25]=a.skillName,t[26]=z);let B;t[27]===o?B=t[28]:(B=o(`settings.skills.catalog.installSkill.descriptionSuffix`),t[27]=o,t[28]=B);let V;t[29]!==R||t[30]!==z||t[31]!==B?(V=(0,$.jsxs)(rn,{children:[R,` `,z,` `,B]}),t[29]=R,t[30]=z,t[31]=B,t[32]=V):V=t[32];let H;t[33]!==L||t[34]!==V?(H=(0,$.jsxs)($t,{children:[L,V]}),t[33]=L,t[34]=V,t[35]=H):H=t[35];let U;t[36]===o?U=t[37]:(U=o(`settings.skills.catalog.installSkill.field.destination`),t[36]=o,t[37]=U);let W;t[38]===U?W=t[39]:(W=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:U}),t[38]=U,t[39]=W);let ee;t[40]!==l||t[41]!==d?(ee=gu(l,d),t[40]=l,t[41]=d,t[42]=ee):ee=t[42];let G;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(G=e=>{let t=_u(e);u(t.scope),f(t.source===`agents`?`agents`:`opencode`)},t[43]=G):G=t[43];let te;t[44]===l?te=t[45]:(te=l===`user`?(0,$.jsx)(Z,{name:`user-3`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`folder`,className:`h-3.5 w-3.5`}),t[44]=l,t[45]=te);let ne;t[46]===d?ne=t[47]:(ne=d===`agents`?(0,$.jsx)(Z,{name:`robot-2`,className:`h-3.5 w-3.5`}):null,t[46]=d,t[47]=ne);let re;t[48]!==D||t[49]!==l||t[50]!==d?(re=D(gu(l,d)),t[48]=D,t[49]=l,t[50]=d,t[51]=re):re=t[51];let ie;t[52]===re?ie=t[53]:(ie=(0,$.jsx)(`span`,{children:re}),t[52]=re,t[53]=ie);let ae;t[54]!==te||t[55]!==ne||t[56]!==ie?(ae=(0,$.jsxs)(un,{className:`w-fit gap-1.5`,children:[te,ne,ie]}),t[54]=te,t[55]=ne,t[56]=ie,t[57]=ae):ae=t[57];let oe;t[58]!==k||t[59]!==D?(oe=hu.map(e=>(0,$.jsx)(cn,{value:e.value,className:`pr-2 [&>span:first-child]:hidden`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.scope===`user`?(0,$.jsx)(Z,{name:`user-3`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`folder`,className:`h-3.5 w-3.5`}),e.source===`agents`?(0,$.jsx)(Z,{name:`robot-2`,className:`h-3.5 w-3.5`}):null,(0,$.jsx)(`span`,{children:D(e.value)})]}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground ml-5`,children:k(e.value)})]})},e.value)),t[58]=k,t[59]=D,t[60]=oe):oe=t[60];let se;t[61]===oe?se=t[62]:(se=(0,$.jsx)(dn,{align:`start`,children:oe}),t[61]=oe,t[62]=se);let ce;t[63]!==ee||t[64]!==ae||t[65]!==se?(ce=(0,$.jsxs)(pn,{value:ee,onValueChange:G,children:[ae,se]}),t[63]=ee,t[64]=ae,t[65]=se,t[66]=ce):ce=t[66];let le;t[67]!==W||t[68]!==ce?(le=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[W,ce]}),t[67]=W,t[68]=ce,t[69]=le):le=t[69];let ue;t[70]!==p||t[71]!==j||t[72]!==l||t[73]!==o?(ue=l===`project`&&(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.skills.catalog.installSkill.field.project`)}),p.length===0?(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:o(`settings.skills.catalog.installSkill.field.noProjects`)}):(0,$.jsxs)(pn,{value:j??``,onValueChange:e=>g(e),disabled:p.length===1,children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:o(`settings.skills.catalog.installSkill.field.chooseProjectPlaceholder`)})}),(0,$.jsx)(dn,{align:`start`,children:p.map(Cu)})]})]}),t[70]=p,t[71]=j,t[72]=l,t[73]=o,t[74]=ue):ue=t[74];let de;t[75]===a.warnings?de=t[76]:(de=a.warnings?.length?(0,$.jsx)(`div`,{className:`typography-micro text-[var(--status-warning)] bg-[var(--status-warning)]/10 px-2 py-1.5 rounded`,children:a.warnings.join(` · `)}):null,t[75]=a.warnings,t[76]=de);let fe;t[77]!==le||t[78]!==ue||t[79]!==de?(fe=(0,$.jsxs)(`div`,{className:`mt-2 space-y-3`,children:[le,ue,de]}),t[77]=le,t[78]=ue,t[79]=de,t[80]=fe):fe=t[80];let pe;t[81]===r?pe=t[82]:(pe=()=>r(!1),t[81]=r,t[82]=pe);let me;t[83]===o?me=t[84]:(me=o(`settings.common.actions.cancel`),t[83]=o,t[84]=me);let he;t[85]!==pe||t[86]!==me?(he=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:pe,children:me}),t[85]=pe,t[86]=me,t[87]=he):he=t[87];let ge=c||!a.installable||l===`project`&&!N,_e;t[88]!==N||t[89]!==F||t[90]!==a.repoSource||t[91]!==a.repoSubpath||t[92]!==a.skillDir||t[93]!==l||t[94]!==d?(_e=()=>void F({source:a.repoSource,subpath:a.repoSubpath,scope:l,targetSource:d,skillDir:a.skillDir,directoryOverride:N,effectiveDirectory:N??et(),transportIdentity:i()}),t[88]=N,t[89]=F,t[90]=a.repoSource,t[91]=a.repoSubpath,t[92]=a.skillDir,t[93]=l,t[94]=d,t[95]=_e):_e=t[95];let ve;t[96]!==c||t[97]!==o?(ve=o(c?`settings.skills.catalog.installSkill.actions.installing`:`settings.skills.catalog.installSkill.actions.install`),t[96]=c,t[97]=o,t[98]=ve):ve=t[98];let ye;t[99]!==ge||t[100]!==_e||t[101]!==ve?(ye=(0,$.jsx)(J,{size:`sm`,disabled:ge,onClick:_e,children:ve}),t[99]=ge,t[100]=_e,t[101]=ve,t[102]=ye):ye=t[102];let K;t[103]!==he||t[104]!==ye?(K=(0,$.jsxs)(en,{children:[he,ye]}),t[103]=he,t[104]=ye,t[105]=K):K=t[105];let be;t[106]!==H||t[107]!==fe||t[108]!==K?(be=(0,$.jsxs)(tn,{className:`max-w-md`,children:[H,fe,K]}),t[106]=H,t[107]=fe,t[108]=K,t[109]=be):be=t[109];let xe;t[110]!==r||t[111]!==n||t[112]!==be?(xe=(0,$.jsx)(an,{open:n,onOpenChange:r,children:be}),t[110]=r,t[111]=n,t[112]=be,t[113]=xe):xe=t[113];let Se;t[114]!==S||t[115]!==F?(Se=e=>{S&&(F({source:S.source,subpath:S.subpath,scope:S.scope,targetSource:S.targetSource,skillDir:S.skillDir,conflictDecisions:e,directoryOverride:S.directoryOverride??null,effectiveDirectory:S.effectiveDirectory,transportIdentity:S.transportIdentity}),v(!1))},t[114]=S,t[115]=F,t[116]=Se):Se=t[116];let Ce;t[117]!==b||t[118]!==_||t[119]!==Se?(Ce=(0,$.jsx)(mu,{open:_,onOpenChange:v,conflicts:b,onConfirm:Se}),t[117]=b,t[118]=_,t[119]=Se,t[120]=Ce):Ce=t[120];let we;return t[121]!==xe||t[122]!==Ce?(we=(0,$.jsxs)($.Fragment,{children:[xe,Ce]}),t[121]=xe,t[122]=Ce,t[123]=we):we=t[123],we};function yu(e){return e.installSkills}function bu(e){return e.isInstalling}function xu(e){return e.projects}function Su(e){return e.activeProjectId}function Cu(e){return(0,$.jsx)(cn,{value:e.id,children:e.label||e.path},e.id)}var wu=async()=>{try{let e=h()?.settings;if(e)return(await e.load())?.settings||{};let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});return t.ok?await t.json().catch(()=>null):null}catch{return null}},Tu=({mode:e,onModeChange:t,showModeTabs:n=!0})=>{let{t:r}=Fe(),{selectedSourceId:a,setSelectedSource:o}=ru(le(e=>({selectedSourceId:e.selectedSourceId,setSelectedSource:e.setSelectedSource}))),s=Gt(),c=s.data??lt,l=c.some(e=>e.id===a)?a:null,u=At(l??``,{enabled:!!l}),[d,f]=Q.useState(``),[p,m]=Q.useState(!1),[h,g]=Q.useState(!1),[_,v]=Q.useState(null),[y,b]=Q.useState(!1),[x,S]=Q.useState(!1),[C,w]=Q.useState(!1),[E,D]=Q.useState(null);Q.useEffect(()=>{!s.data&&s.isFetching||c.some(e=>e.id===a)||o(c[0]?.id??null)},[a,o,c,s.data,s.isFetching]);let k=et(),A=i();Q.useEffect(()=>{D(null)},[l,k,A]);let j=Q.useMemo(()=>Ct(u.data?.pages??[]),[u.data]),M=Q.useMemo(()=>{let e=d.trim().toLowerCase();return e?j.filter(t=>{let n=t.skillName.toLowerCase(),r=(t.description||``).toLowerCase(),i=(t.frontmatterName||``).toLowerCase();return n.includes(e)||r.includes(e)||i.includes(e)}):j},[j,d]),N=Q.useMemo(()=>c.find(e=>e.id===l)||null,[c,l]),P=!!(l&&l.startsWith(`custom:`)),F=N?.source===`clawdhub:registry`||N?.sourceType===`clawdhub`,I=s.isLoading&&!s.data,L=u.isLoading&&!u.data,R=u.isFetchingNextPage,z=E??s.error??u.error,B=async()=>{if(!l||!P)return;let e=et(),t=i();b(!0),D(null);try{let n=await wu(),r=(Array.isArray(n?.skillCatalogs)?n?.skillCatalogs:[]).filter(e=>e.id!==l);await T({skillCatalogs:r}),O.setQueriesData({queryKey:[t,`skillsCatalog`,`sources`],exact:!1},e=>e?.filter(e=>e.id!==l)),O.removeQueries({queryKey:[t,`skillsCatalog`,`source`],exact:!1,predicate:e=>e.queryKey[4]===l}),i()===t&&(o(null),S(!1)),await mt(O,e,t)}catch(n){i()===t&&et()===e&&D(n instanceof Error?n:Error(String(n)))}finally{b(!1)}},V=async()=>{let e=et(),t=i(),n=l;w(!0),D(null);try{n?await wt(O,e,n,t):await mt(O,e,t)}catch(r){let a=ru.getState().selectedSourceId;i()===t&&et()===e&&a===n&&D(r instanceof Error?r:Error(String(r)))}finally{w(!1)}};return(0,$.jsx)(Ar,{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:[n&&(0,$.jsx)(`div`,{className:`h-10`,children:(0,$.jsx)(zr,{items:[{id:`manual`,label:r(`settings.skills.catalog.page.mode.manual`)},{id:`external`,label:r(`settings.skills.catalog.page.mode.external`)}],activeId:e,onSelect:e=>t(e),layoutMode:`fit`,variant:`animated`,animateActivePill:!1,className:`h-full`})}),(0,$.jsx)(`div`,{"data-settings-item":`skills.catalog.source`,children:(0,$.jsx)(Jr,{label:r(`settings.skills.catalog.page.section.sourceRepository`),cardClassName:`p-3`,children:(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 py-1.5`,children:[(0,$.jsxs)(pn,{value:l||``,onValueChange:e=>o(e),children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:r(`settings.skills.catalog.page.field.selectSourcePlaceholder`),children:N?.label})}),(0,$.jsx)(dn,{align:`start`,children:c.map(e=>(0,$.jsx)(cn,{value:e.id,children:e.label},e.id))})]}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal h-6 w-6 px-0`,onClick:()=>void V(),disabled:C,title:r(`settings.skills.catalog.page.actions.refreshTitle`),children:(0,$.jsx)(Z,{name:`refresh`,className:q(`h-3.5 w-3.5`,C&&`animate-spin`)})}),P&&(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`!font-normal h-6 w-6 px-0 text-[var(--status-error)] hover:text-[var(--status-error)]`,onClick:()=>S(!0),disabled:y,title:r(`settings.skills.catalog.page.actions.removeCatalogTitle`),children:(0,$.jsx)(Z,{name:`delete-bin`,className:`h-3.5 w-3.5`})}),(0,$.jsxs)(J,{"data-settings-item":`skills.catalog.add-catalog`,size:`xs`,className:`!font-normal gap-1`,onClick:()=>m(!0),children:[(0,$.jsx)(Z,{name:`add`,className:`h-3.5 w-3.5`}),` `,r(`settings.skills.catalog.page.actions.addCatalog`)]})]}),(0,$.jsxs)(`div`,{"data-settings-item":`skills.catalog.search`,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Z,{name:`search`,className:`absolute left-2 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground`}),(0,$.jsx)(gn,{value:d,onChange:e=>f(e.target.value),placeholder:r(`settings.skills.catalog.shared.field.searchSkillsPlaceholder`),className:`h-7 pl-8 w-full sm:w-64`})]}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground mt-1 block`,children:I?r(`settings.skills.catalog.page.loading.catalog`):r(`settings.skills.catalog.page.foundCount`,{count:M.length})})]})]})})}),z&&(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--status-error-border)] bg-[var(--status-error-background)] px-4 py-3`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-medium text-[var(--status-error)]`,children:r(`settings.skills.catalog.page.error.catalogTitle`)}),(0,$.jsx)(`div`,{className:`typography-meta text-[var(--status-error)]/80 mt-1`,children:z.message})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{children:M.length===0&&!L?(0,$.jsxs)(`div`,{className:`py-8 text-center text-muted-foreground`,children:[(0,$.jsx)(`p`,{className:`typography-body`,children:r(`settings.skills.catalog.page.empty.noSkillsTitle`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:r(`settings.skills.catalog.page.empty.noSkillsDescription`)})]}):L?(0,$.jsxs)(`div`,{className:`py-8 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`refresh`,className:`mx-auto mb-3 h-5 w-5 animate-spin opacity-50`}),(0,$.jsx)(`p`,{className:`typography-meta`,children:r(`settings.skills.catalog.page.loading.skills`)})]}):(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)]`,children:M.map(e=>{let t=e.installed?.isInstalled,n=e.installed?.scope;return(0,$.jsx)(`div`,{className:`py-2`,children:(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label font-medium text-foreground truncate`,children:e.skillName}),t&&(0,$.jsx)(`span`,{className:`typography-micro text-[var(--status-success)] bg-[var(--status-success)]/10 px-1.5 py-0.5 rounded flex-shrink-0`,children:r(`settings.skills.catalog.page.badge.installed`,{scope:n||r(`settings.skills.catalog.page.badge.unknown`)})}),!e.installable&&(0,$.jsx)(`span`,{className:`typography-micro text-[var(--status-warning)] bg-[var(--status-warning)]/10 px-1.5 py-0.5 rounded flex-shrink-0`,children:r(`settings.skills.catalog.page.badge.notInstallable`)})]}),e.description?(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground mt-0.5 line-clamp-2`,children:e.description}):(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground/50 mt-0.5 italic`,children:r(`settings.skills.catalog.shared.noDescription`)}),e.clawdhub&&(0,$.jsxs)(`div`,{className:`typography-micro text-muted-foreground mt-1.5 flex items-center gap-3`,children:[e.clawdhub.owner&&(0,$.jsxs)(`span`,{children:[r(`settings.skills.catalog.page.byOwnerPrefix`),` `,(0,$.jsx)(`span`,{className:`font-medium text-foreground/80`,children:e.clawdhub.owner})]}),(0,$.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(Z,{name:`download`,className:`h-3 w-3`}),e.clawdhub.downloads?.toLocaleString()??0]}),(e.clawdhub.stars??0)>0&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(Z,{name:`star`,className:`h-3 w-3`}),e.clawdhub.stars]}),(0,$.jsxs)(`span`,{className:`bg-[var(--surface-muted)] px-1.5 py-0.5 rounded`,children:[`v`,e.clawdhub.version]})]}),e.warnings?.length?(0,$.jsx)(`div`,{className:`typography-micro text-[var(--status-warning)] mt-1.5 bg-[var(--status-warning)]/10 px-2 py-1 rounded w-fit`,children:e.warnings.join(` · `)}):null]}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal shrink-0`,disabled:!e.installable,onClick:()=>{v(e),g(!0)},children:r(`settings.skills.catalog.shared.actions.install`)})]})},`${e.sourceId}:${e.skillDir}`)})})}),F&&u.hasNextPage&&!L&&M.length>0&&(0,$.jsx)(`div`,{className:`flex justify-center mt-2 px-2`,children:(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>void u.fetchNextPage(),disabled:R,children:r(R?`settings.skills.catalog.page.loading.more`:`settings.skills.catalog.page.actions.loadMoreSkills`)})})]}),(0,$.jsx)(su,{open:p,onOpenChange:m}),(0,$.jsx)(vu,{open:h,onOpenChange:g,item:_}),(0,$.jsx)(an,{open:x,onOpenChange:e=>{y||S(e)},children:(0,$.jsxs)(tn,{className:`max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:r(`settings.skills.catalog.page.removeDialog.title`)}),(0,$.jsx)(rn,{children:r(`settings.skills.catalog.page.removeDialog.description`)})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>S(!1),disabled:y,children:r(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,variant:`destructive`,onClick:()=>void B(),disabled:y,children:r(`settings.skills.catalog.page.actions.removeCatalog`)})]})]})})]})})},Eu=()=>{let e=(0,Ki.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(Tu,{mode:`external`,onModeChange:Fu,showModeTabs:!1}),e[0]=t):t=e[0],t},Du=`SKILL.md`,Ou=`h-[clamp(320px,58dvh,680px)] min-h-[260px] max-h-[calc(100dvh-220px)]`,ku=(e,t)=>{let n=Ui({description:e}).trimEnd(),r=t.trimStart();return`---\n${n}\n---${r?`\n\n${r}`:`
22
+ `}`},Au=e=>typeof e==`object`&&!!e&&!Array.isArray(e),ju=e=>{let t=e.match(/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)([\s\S]*)$/);if(!t)return{description:null,instructions:e};let n=null;try{let e=Wi(t[1]);if(Au(e)){let t=e.description;typeof t==`string`&&(n=t)}}catch{n=null}return{description:n,instructions:t[2].replace(/^\r?\n/,``)}},Mu=(e,t)=>ku(t,ju(e).instructions),Nu=()=>{let{t:e}=Fe(),{currentTheme:t}=Qt(),{selectedSkillName:n,getSkillDetail:r,createSkill:i,updateSkill:a,skillDraft:o,setSkillDraft:s,setSelectedSkill:c}=Ca(le(e=>({selectedSkillName:e.selectedSkillName,getSkillDetail:e.getSkillDetail,createSkill:e.createSkill,updateSkill:e.updateSkill,skillDraft:e.skillDraft,setSkillDraft:e.setSkillDraft,setSelectedSkill:e.setSelectedSkill}))),l=Ht(),u=ut(),d=Q.useMemo(()=>l.data??[],[l.data]),f=n?d.find(e=>e.name===n)??null:null,p=!!(o&&o.name===n&&!f),m=!!(n&&!f&&!o),h=f?.path===`<built-in>`;Q.useEffect(()=>{m&&c(null)},[m,c]);let[g,_]=Q.useState(``),[v,y]=Q.useState(`user`),[b,x]=Q.useState(`opencode`),[S,C]=Q.useState(``),[w,T]=Q.useState(``),[E,D]=Q.useState(()=>ku(``,``)),[O,k]=Q.useState(`edit`),[A,j]=Q.useState([]),[M,N]=Q.useState([]),[P,F]=Q.useState(!1),[I,L]=Q.useState(!1),[R,z]=Q.useState(``),[B,V]=Q.useState(``),[H,U]=Q.useState(!1),[W,ee]=Q.useState(``),[G,te]=Q.useState(``),[ne,re]=Q.useState(null),[ie,ae]=Q.useState(!1),[oe,se]=Q.useState(``),[ce,ue]=Q.useState(null),[de,fe]=Q.useState(!1),pe=p?g.trim()!==``||S.trim()!==``||w.trim()!==``||M.length>0:S!==R||w!==B,me=ne?G!==oe:W.trim()!==``,he=Q.useCallback(t=>{switch(t){case`project-opencode`:return e(`settings.skills.location.option.projectOpencode.label`);case`user-claude`:return e(`settings.skills.location.option.userClaude.label`);case`project-claude`:return e(`settings.skills.location.option.projectClaude.label`);case`user-agents`:return e(`settings.skills.location.option.userAgents.label`);case`project-agents`:return e(`settings.skills.location.option.projectAgents.label`);default:return e(`settings.skills.location.option.userOpencode.label`)}},[e]),ge=Q.useCallback(t=>{switch(t){case`project-opencode`:return e(`settings.skills.location.option.projectOpencode.description`);case`user-claude`:return e(`settings.skills.location.option.userClaude.description`);case`project-claude`:return e(`settings.skills.location.option.projectClaude.description`);case`user-agents`:return e(`settings.skills.location.option.userAgents.description`);case`project-agents`:return e(`settings.skills.location.option.projectAgents.description`);default:return e(`settings.skills.location.option.userOpencode.description`)}},[e]);Q.useEffect(()=>{(async()=>{if(p&&o){let e=o.description||``,t=o.instructions||``;_(o.name||``),y(o.scope||`user`),x(o.source===`agents`?`agents`:`opencode`),C(e),T(t),D(ku(e,t)),z(``),V(``),j([]),N(o.pendingFiles||[])}else if(n&&f){L(!0);try{let e=await r(n);if(e){let t=e.sources.md,n=t.description||``,r=t.instructions||``;C(n),T(r),D(ku(n,r)),z(n),V(r),j(t.supportingFiles||[])}}catch(e){console.error(`Failed to load skill details:`,e)}finally{L(!1)}}})()},[f,p,n,d,o,r]);let _e=K(e=>e.editorFontSize),ve=Q.useMemo(()=>{let e=[bi(t,{fontSize:_e})],n=ei(Du);return n&&e.push(n),e.push(Oe.lineWrapping),e},[t,_e]),ye=Q.useMemo(()=>{let e=W.trim()||`supporting-file.md`,n=Rr(e),r=!!n&&n!==`markdown`,i=[bi(t,r?{syntaxColors:!1,fontSize:_e}:{fontSize:_e})],a=ei(e);return a&&i.push(a),r&&n&&i.push(Hr({language:n,themeName:t.metadata.id,theme:Fr(t)})),i.push(Oe.lineWrapping),i},[t,W,_e]),be=Q.useCallback(e=>{C(e),D(t=>Mu(t,e))},[]),xe=Q.useCallback(e=>{D(e);let t=ju(e);C(t.description??``),T(t.instructions)},[]),Se=async()=>{let t=p?g.trim().replace(/\s+/g,`-`).toLowerCase():n?.trim();if(!t){Y.error(e(`settings.skills.page.toast.skillNameRequired`));return}if(!/^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$/.test(t)||t.length>64){Y.error(e(`settings.skills.page.toast.invalidSkillName`));return}if(!S.trim()){Y.error(e(`settings.skills.page.toast.descriptionRequired`));return}if(p&&d.some(e=>e.name===t)){Y.error(e(`settings.skills.page.toast.skillExists`));return}F(!0);try{let n={name:t,description:S.trim(),instructions:w.trim()||void 0,scope:p?v:void 0,source:p?b:void 0,targetPath:p?void 0:f?.path,supportingFiles:p&&M.length>0?M:void 0},r;p?(r=await i(n,{directory:u}),r&&(s(null),N([]),c(t))):(r=await a(t,n,{directory:u}),r&&(z(S.trim()),V(w.trim()))),r?Y.success(e(p?`settings.skills.page.toast.skillCreated`:`settings.skills.page.toast.skillUpdated`)):Y.error(e(p?`settings.skills.page.toast.createSkillFailed`:`settings.skills.page.toast.updateSkillFailed`))}catch(t){console.error(`Error saving skill:`,t),Y.error(e(`settings.skills.page.toast.saveUnexpectedError`))}finally{F(!1)}},Ce=()=>{re(null),ee(``),te(``),se(``),U(!0)},we=async t=>{if(re(t),ee(t),p){let e=M.find(e=>e.path===t)?.content||``;te(e),se(e),U(!0);return}if(n){ae(!0),U(!0);try{let{readSupportingFile:e}=Ca.getState(),r=await e(n,t);te(r||``),se(r||``)}catch{Y.error(e(`settings.skills.page.toast.loadFileContentFailed`)),te(``),se(``)}finally{ae(!1)}}},Te=async()=>{if(!W.trim()){Y.error(e(`settings.skills.page.toast.fileNameRequired`));return}let t=W.trim(),i=ne!==null;if(p){if(i)N(e=>e.map(e=>e.path===ne?{path:t,content:G}:e)),Y.success(e(`settings.skills.page.toast.fileUpdated`,{path:t}));else{if(M.some(e=>e.path===t)){Y.error(e(`settings.skills.page.toast.fileExists`));return}N(e=>[...e,{path:t,content:G}]),Y.success(e(`settings.skills.page.toast.fileAdded`,{path:t}))}U(!1),re(null);return}if(!n){Y.error(e(`settings.skills.page.toast.noSkillSelected`));return}let{writeSupportingFile:a}=Ca.getState();if(await a(n,t,G)){Y.success(e(i?`settings.skills.page.toast.fileUpdated`:`settings.skills.page.toast.fileCreated`,{path:t})),U(!1),re(null);let a=await r(n);a&&j(a.sources.md.supportingFiles||[])}else Y.error(e(i?`settings.skills.page.toast.updateFileFailed`:`settings.skills.page.toast.createFileFailed`))},Ee=t=>{if(p){N(e=>e.filter(e=>e.path!==t)),Y.success(e(`settings.skills.page.toast.fileRemoved`,{path:t}));return}n&&ue(t)};return!n&&!o||m?(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-4`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`book-open`,className:`mx-auto mb-3 h-10 w-10 sm:h-12 sm:w-12 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.skills.page.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:e(`settings.skills.page.empty.description`)})]})}):I?(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-4`,children:(0,$.jsx)(`div`,{className:`text-center text-muted-foreground`,children:(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.skills.page.loading.details`)})})}):(0,$.jsxs)(Ar,{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`,{children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground truncate flex items-center gap-2`,children:p?e(`settings.skills.page.title.newSkill`):n}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:f?e(`settings.skills.page.subtitle.skillLocation`,{location:he(gu(f.scope,f.source))}):e(`settings.skills.page.subtitle.newSkill`)})]})}),(0,$.jsx)(`div`,{"data-settings-item":`skills.basic-information`,children:(0,$.jsx)(Jr,{label:e(`settings.skills.page.section.basicInformation`),cardClassName:`p-3`,children:(0,$.jsxs)(`div`,{className:`space-y-3`,children:[p&&(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.skills.page.field.skillNameLocation`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground ml-2`,children:e(`settings.skills.page.field.skillNameHint`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-1.5`,children:[(0,$.jsx)(gn,{value:g,onChange:e=>_(e.target.value.toLowerCase().replace(/\s+/g,`-`)),placeholder:e(`settings.skills.page.field.skillNamePlaceholder`),className:`h-7 w-40 px-2`}),(0,$.jsxs)(pn,{value:gu(v,b),onValueChange:e=>{let t=_u(e);y(t.scope),x(t.source===`agents`?`agents`:`opencode`)},children:[(0,$.jsxs)(un,{className:`w-fit gap-1.5`,children:[v===`user`?(0,$.jsx)(Z,{name:`user-3`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`folder`,className:`h-3.5 w-3.5`}),b===`agents`?(0,$.jsx)(Z,{name:`robot-2`,className:`h-3.5 w-3.5`}):null,(0,$.jsx)(`span`,{children:he(gu(v,b))})]}),(0,$.jsx)(dn,{align:`start`,children:hu.map(e=>(0,$.jsx)(cn,{value:e.value,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.scope===`user`?(0,$.jsx)(Z,{name:`user-3`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`folder`,className:`h-3.5 w-3.5`}),e.source===`agents`?(0,$.jsx)(Z,{name:`robot-2`,className:`h-3.5 w-3.5`}):null,(0,$.jsx)(`span`,{children:he(e.value)})]}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground ml-6`,children:ge(e.value)})]})},e.value))})]})]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`span`,{className:`typography-ui-label text-foreground`,children:[e(`settings.common.field.description`),` `,(0,$.jsx)(`span`,{className:`text-[var(--status-error)]`,children:`*`})]}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground ml-2`,children:e(`settings.skills.page.field.descriptionHint`)}),(0,$.jsx)(`div`,{className:`mt-1.5`,children:(0,$.jsx)(jr,{embedded:!0,value:S,onChange:e=>be(e.target.value),placeholder:e(`settings.skills.page.field.descriptionPlaceholder`),rows:2,className:`w-full resize-none min-h-[60px] max-h-32 bg-transparent`,disabled:h})})]})]})})}),(0,$.jsx)(`div`,{"data-settings-item":`skills.instructions`,children:(0,$.jsx)(Jr,{label:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{children:e(`settings.skills.page.section.instructions`)}),(0,$.jsx)($r,{currentMode:O===`preview`?`preview`:`edit`,onToggle:()=>k(e=>e===`preview`?`edit`:`preview`)})]}),cardClassName:`p-3`,children:(0,$.jsx)(`div`,{className:q(`overflow-hidden bg-background`,Ou),children:O===`preview`?(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`h-full`,children:(0,$.jsx)(`div`,{className:`min-h-full px-4 py-3`,children:(0,$.jsx)(Ir,{content:E,className:`typography-markdown-body`,stripFrontmatter:!0,enableFileReferences:!1})})}):(0,$.jsx)(Ur,{value:E,onChange:xe,readOnly:h,extensions:ve,className:`h-full`,enableSearch:!0})})})}),(0,$.jsx)(`div`,{"data-settings-item":`skills.supporting-files`,children:(0,$.jsx)(Jr,{label:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{children:e(`settings.skills.page.section.supportingFiles`)}),(0,$.jsxs)(J,{variant:`outline`,size:`xs`,className:`!font-normal gap-1`,onClick:Ce,disabled:h,children:[(0,$.jsx)(Z,{name:`add`,className:`h-3.5 w-3.5`}),` `,e(`settings.skills.page.actions.addFile`)]})]}),cardClassName:`p-3`,children:(()=>{let t=p?M:A;return t.length===0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground py-1.5`,children:e(`settings.skills.page.supportingFiles.empty`)}):(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)]`,children:t.map(t=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-1.5 cursor-pointer group`,onClick:()=>we(t.path),children:[(0,$.jsx)(Z,{name:`file`,className:`h-3.5 w-3.5 text-muted-foreground flex-shrink-0`}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:t.path}),p&&(0,$.jsx)(`span`,{className:`typography-micro text-[var(--status-warning)] bg-[var(--status-warning)]/10 px-1.5 py-0.5 rounded flex-shrink-0`,children:e(`settings.skills.page.badge.pending`)}),!h&&(0,$.jsx)(J,{size:`sm`,variant:`ghost`,className:`h-5 w-5 px-0 flex-shrink-0 text-muted-foreground hover:text-[var(--status-error)] opacity-0 group-hover:opacity-100 transition-opacity`,onClick:e=>{e.stopPropagation(),Ee(t.path)},children:(0,$.jsx)(Z,{name:`delete-bin`,className:`h-3 w-3`})})]},t.path))})})()})}),(0,$.jsx)(`div`,{children:(0,$.jsx)(J,{onClick:Se,disabled:h||P||!pe,size:`xs`,className:`!font-normal`,children:e(P?`settings.common.actions.saving`:p?`settings.skills.page.actions.createSkill`:`settings.common.actions.saveChanges`)})})]}),(0,$.jsx)(an,{open:ce!==null,onOpenChange:e=>{!e&&!de&&ue(null)},children:(0,$.jsxs)(tn,{className:`max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:e(`settings.skills.page.deleteFileDialog.title`)}),(0,$.jsx)(rn,{children:e(`settings.skills.page.deleteFileDialog.description`,{path:ce??``})})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>ue(null),disabled:de,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,variant:`destructive`,onClick:async()=>{if(!ce||!n)return;fe(!0);let{deleteSupportingFile:t}=Ca.getState();if(await t(n,ce)){Y.success(e(`settings.skills.page.toast.fileDeleted`,{path:ce}));let t=await r(n);t&&j(t.sources.md.supportingFiles||[]),ue(null)}else Y.error(e(`settings.skills.page.toast.deleteFileFailed`));fe(!1)},disabled:de,children:e(`settings.common.actions.delete`)})]})]})}),(0,$.jsx)(an,{open:H,onOpenChange:e=>{U(e),e||re(null)},children:(0,$.jsxs)(tn,{className:`max-w-3xl max-h-[85vh] flex flex-col`,children:[(0,$.jsxs)($t,{className:`flex-shrink-0`,children:[(0,$.jsx)(nn,{children:e(ne?`settings.skills.page.fileDialog.titleEdit`:`settings.skills.page.fileDialog.titleAdd`)}),(0,$.jsx)(rn,{children:e(ne?`settings.skills.page.fileDialog.descriptionEdit`:`settings.skills.page.fileDialog.descriptionAdd`)})]}),ie?(0,$.jsx)(`div`,{className:`flex-1 flex items-center justify-center py-8`,children:(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e(`settings.skills.page.loading.fileContent`)})}):(0,$.jsxs)(`div`,{className:`space-y-4 flex-1 min-h-0 flex flex-col pt-2`,children:[(0,$.jsxs)(`div`,{className:`space-y-2 flex-shrink-0`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label font-medium text-foreground`,children:e(`settings.skills.page.fileDialog.field.filePath`)}),(0,$.jsx)(gn,{value:W,onChange:e=>ee(e.target.value),placeholder:e(`settings.skills.page.fileDialog.field.filePathPlaceholder`),className:`text-foreground placeholder:text-muted-foreground focus-visible:ring-[var(--primary-base)]`,disabled:ne!==null}),!ne&&(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:e(`settings.skills.page.fileDialog.field.filePathHint`)})]}),(0,$.jsxs)(`div`,{className:`space-y-2 flex-1 min-h-0 flex flex-col`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label font-medium text-foreground flex-shrink-0`,children:e(`settings.skills.page.fileDialog.field.content`)}),(0,$.jsx)(`div`,{className:`h-[45vh] min-h-[250px] max-h-[55vh] overflow-hidden rounded-md border border-[var(--surface-subtle)] bg-background`,children:(0,$.jsx)(Ur,{value:G,onChange:te,extensions:ye,className:`h-full`,enableSearch:!0})})]})]}),(0,$.jsxs)(en,{className:`mt-4`,children:[(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>{U(!1),re(null)},children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,onClick:Te,disabled:ie||!me,children:e(ne?`settings.common.actions.saveChanges`:`settings.skills.page.actions.createFile`)})]})]})})]})},Pu=e=>{let t=(0,Ki.c)(2),{view:n}=e,r=n===void 0?`installed`:n,i;return t[0]===r?i=t[1]:(i=r===`catalog`?(0,$.jsx)(Eu,{}):(0,$.jsx)(Nu,{}),t[0]=r,t[1]=i),i};function Fu(){}var Iu=e=>{let t=(0,Ki.c)(26),{onItemSelect:n}=e,{t:r}=Fe(),i=Kt(Lu),a=Kt(Ru),o=K(zu),s=K(Bu),c=Q.useRef(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=new Set,t[0]=l):l=t[0];let u=Q.useRef(l),d;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(d=D(),t[1]=d):d=t[1];let f=d,p=Vu,m,h;t[2]!==a||t[3]!==i||t[4]!==o||t[5]!==s?(m=()=>{let e=new Set(i.map(Hu)),t=c.current;if(t)for(let n of e)t.has(n)||u.current.add(n);if(c.current=e,a&&u.current.delete(a)){s(a);return}if(i.length===0){o!==null&&s(null);return}o&&i.some(e=>e.id===o)||s(i[0].id)},h=[a,i,o,s],t[2]=a,t[3]=i,t[4]=o,t[5]=s,t[6]=m,t[7]=h):(m=t[6],h=t[7]),Q.useEffect(m,h);let g;t[8]!==i.length||t[9]!==r?(g=r(`settings.projects.sidebar.total`,{count:i.length}),t[8]=i.length,t[9]=r,t[10]=g):g=t[10];let _;t[11]===g?_=t[12]:(_=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:g}),t[11]=g,t[12]=_);let v;t[13]===r?v=t[14]:(v=!f&&(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`icon`,className:`h-7 w-7 -my-1 text-muted-foreground`,onClick:p,"aria-label":r(`settings.projects.sidebar.actions.addProject`),children:(0,$.jsx)(Z,{name:`add`,className:`size-4`})}),t[13]=r,t[14]=v);let y;t[15]!==_||t[16]!==v?(y=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-2 px-[var(--oc-settings-row-inset)]`,children:[_,v]}),t[15]=_,t[16]=v,t[17]=y):y=t[17];let b;t[18]!==n||t[19]!==i||t[20]!==o||t[21]!==s?(b=i.length>0?(0,$.jsx)(Jr,{children:i.map(e=>{let t=e.id===o,r=e.icon?fn[e.icon]:null,i=e.color?mn[e.color]:void 0,a=(0,$.jsx)(Z,{name:r??`folder`,className:`h-4 w-4`,style:i?{color:i}:void 0}),c=(0,$.jsx)(`span`,{className:q(`flex size-5 shrink-0 items-center justify-center overflow-hidden`,t?`text-foreground`:`text-muted-foreground`),children:e.iconImage?(0,$.jsx)(ln,{project:e,className:`size-full object-contain`,fallback:a}):a});return(0,$.jsx)(Oo,{title:e.path.split(/[\\/]/).filter(Boolean).at(-1)||e.path,icon:c,selected:t,onSelect:()=>{s(e.id),n?.()}},e.id)})}):null,t[18]=n,t[19]=i,t[20]=o,t[21]=s,t[22]=b):b=t[22];let x;return t[23]!==y||t[24]!==b?(x=(0,$.jsx)(Ao,{variant:`background`,header:y,children:b}),t[23]=y,t[24]=b,t[25]=x):x=t[25],x};function Lu(e){return e.projects}function Ru(e){return e.activeProjectId}function zu(e){return e.settingsProjectsSelectedId}function Bu(e){return e.setSettingsProjectsSelectedId}function Vu(){qt.requestDirectoryDialog()}function Hu(e){return e.id}var Uu=()=>{let e=(0,Ki.c)(18),{t}=Fe(),n=Kt(Wu),r=Kt(Gu),i=K(Ku),a=K(qu),o;bb0:{if(!i){o=null;break bb0}let t;e[0]!==n||e[1]!==i?(t=n.find(e=>e.id===i)??null,e[0]=n,e[1]=i,e[2]=t):t=e[2],o=t}let s=o,c,l;e[3]!==n||e[4]!==i||e[5]!==a?(c=()=>{if(n.length===0){a(null);return}i&&n.some(e=>e.id===i)||a(n[0].id)},l=[n,i,a],e[3]=n,e[4]=i,e[5]=a,e[6]=c,e[7]=l):(c=e[6],l=e[7]),Q.useEffect(c,l);let u;e[8]!==s||e[9]!==r?(u=async e=>{s&&r(s.id,{label:e.label,icon:e.icon,color:e.color,iconBackground:e.iconBackground,defaultModel:e.defaultModel??null})},e[8]=s,e[9]=r,e[10]=u):u=e[10];let d=u;if(!s){let n;e[11]===t?n=e[12]:(n=t(`settings.projects.page.empty.noProjects`),e[11]=t,e[12]=n);let r;return e[13]===n?r=e[14]:(r=(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-4xl p-3 sm:p-6 sm:pt-8`,children:(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:n})})}),e[13]=n,e[14]=r),r}let f;return e[15]!==d||e[16]!==s?(f=(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`w-full bg-background`,children:(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-4xl p-3 sm:p-6 sm:pt-8`,children:(0,$.jsx)(Si,{project:s,onIdentitySave:d})})}),e[15]=d,e[16]=s,e[17]=f):f=e[17],f};function Wu(e){return e.projects}function Gu(e){return e.updateProjectMeta}function Ku(e){return e.settingsProjectsSelectedId}function qu(e){return e.setSettingsProjectsSelectedId}var Ju=t(Gi(),1),Yu={justNowMinutes:1,minutes:60,hours:24,days:30,months:12},Xu=6e4,Zu=60*Xu,Qu=24*Zu,$u=30*Qu;function ed(e,t={}){if(typeof e!=`number`||!Number.isFinite(e))return``;let n=t.now??Date.now(),r=t.buckets??Yu,i=e-n,a=Math.abs(i),o=new Intl.RelativeTimeFormat(t.locale,{numeric:`auto`});return a<r.justNowMinutes*Xu?o.format(0,`second`):a<r.minutes*Xu?o.format(Math.round(i/Xu),`minute`):a<r.hours*Zu?o.format(Math.round(i/Zu),`hour`):a<r.days*Qu?o.format(Math.round(i/Qu),`day`):a<r.months*$u?o.format(Math.round(i/$u),`month`):o.format(Math.round(i/(12*$u)),`year`)}var td=16384,nd=globalThis,rd=e=>{if(nd.Buffer)return nd.Buffer.from(e,`utf8`).toString(`base64url`);let t=new TextEncoder().encode(e),n=``;for(let e=0;e<t.length;e+=32768)n+=String.fromCharCode(...t.slice(e,e+32768));return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)},id=e=>{try{if(nd.Buffer)return nd.Buffer.from(e,`base64url`).toString(`utf8`);let t=e.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(Math.ceil(e.length/4)*4,`=`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e+=1)r[e]=n.charCodeAt(e);return new TextDecoder().decode(r)}catch{return null}},ad=e=>{if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;try{let e=new URL(t);return e.protocol!==`http:`&&e.protocol!==`https:`?null:(e.hash=``,e.toString().replace(/\/+$/g,``))}catch{return null}},od=e=>{if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;try{let e=new URL(t);return e.protocol!==`ws:`&&e.protocol!==`wss:`||e.username||e.password?null:(e.username=``,e.password=``,e.hash=``,e.search=``,e.toString())}catch{return null}},sd=e=>typeof e==`string`&&e.length>0,cd=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e;return t.kty!==`EC`||t.crv!==`P-256`||!sd(t.x)||!sd(t.y)?null:{kty:`EC`,crv:`P-256`,x:t.x,y:t.y}},ld=e=>typeof e==`number`&&Number.isFinite(e)?e:void 0,ud=e=>{if(!e||typeof e!=`object`)return null;let t=e,n=ld(t.priority);if(t.type===`lan`||t.type===`tunnel`){let e=ad(t.url);return e?n===void 0?{type:t.type,url:e}:{type:t.type,url:e,priority:n}:null}if(t.type===`relay`){let e=od(t.relayUrl);if(!e)return null;let r=typeof t.serverId==`string`?t.serverId.trim():``;if(!r)return null;let i=cd(t.hostEncPubJwk);if(!i)return null;let a=typeof t.grant==`string`&&t.grant.trim()?t.grant.trim():void 0;return{type:`relay`,relayUrl:e,serverId:r,hostEncPubJwk:i,...a?{grant:a}:{},...n===void 0?{}:{priority:n}}}return null},dd=e=>{if(!e||typeof e!=`object`)return null;let t=e;if(t.v!==2)return null;let n=typeof t.pairingId==`string`?t.pairingId.trim():``,r=typeof t.secret==`string`?t.secret.trim():``;if(!n||!r)return null;let i=Array.isArray(t.candidates)?t.candidates.map(ud).filter(e=>!!e):[];if(i.length===0)return null;let a=typeof t.expiresAt==`string`&&t.expiresAt.trim()?t.expiresAt.trim():void 0;if(a){let e=Date.parse(a);if(!Number.isFinite(e)||e<=Date.now())return null}let o=typeof t.label==`string`&&t.label.trim()?t.label.trim():void 0,s=typeof t.fingerprint==`string`&&t.fingerprint.trim()?t.fingerprint.trim():void 0;return{v:2,pairingId:n,secret:r,...o?{label:o}:{},...s?{fingerprint:s}:{},...a?{expiresAt:a}:{},candidates:i}},fd=e=>({v:2,pairingId:e.pairingId.trim(),secret:e.secret.trim(),...e.label?.trim()?{label:e.label.trim()}:{},...e.fingerprint?.trim()?{fingerprint:e.fingerprint.trim()}:{},...e.expiresAt?.trim()?{expiresAt:e.expiresAt.trim()}:{},candidates:e.candidates}),pd=e=>{let t=dd(e);if(!t)throw Error(`Invalid pairing connection payload`);let n=new URLSearchParams;return n.set(`v`,`2`),n.set(`p`,rd(JSON.stringify(t))),`openchamber://connect?${n.toString()}`},md=e=>{let t=e.trim();if(!t||t.length>td)return null;let n=t.indexOf(`?`);if(n===-1||!/^openchamber:\/\/connect\/?$/i.test(t.slice(0,n)))return null;let r=null,i=null;for(let e of t.slice(n+1).split(`&`)){let t=e.indexOf(`=`);if(t===-1)continue;let n=e.slice(0,t),a=e.slice(t+1);n===`v`?r=a:n===`p`&&(i=a)}if(r!==`2`||!i||i.length>td)return null;let a=id(i);if(!a||a.length>td)return null;try{return dd(JSON.parse(a))}catch{return null}},hd=e=>{let t=e.trim();if(!t||t.length>td)return null;try{let e=new URL(t);if(e.protocol===`openchamber:`&&e.hostname===`connect`){if(e.searchParams.get(`v`)!==`2`)return null;let t=e.searchParams.get(`p`)||``;if(!t||t.length>td)return null;let n=id(t);return!n||n.length>td?null:dd(JSON.parse(n))}}catch{}return md(t)},gd=`relay_identity_changed`,_d=class extends Error{code=gd;expectedServerId;actualServerId;constructor(e,t){super(`Relay identity changed (expected ${e}, got ${t||`unknown`})`),this.name=`RelayIdentityChangedError`,this.expectedServerId=e,this.actualServerId=t}},vd=new Map,yd=e=>{let t=e.trim();if(!t)throw Error(`Relay serverId is required`);return`relay:${t}`},bd=e=>{let t={Accept:`application/json`},n=typeof e.clientToken==`string`?e.clientToken.trim():``;if(n&&(t.Authorization=`Bearer ${n}`),e.requestHeaders)for(let[n,r]of Object.entries(e.requestHeaders))!n.trim()||!r.trim()||n.trim().toLowerCase()!==`authorization`&&(t[n.trim()]=r.trim());return t},xd=e=>({files:e?.files?.length??0,directories:e?.directories?.length??0,deletes:e?.deletes?.length??0,totalBytes:e?.totalBytes??0}),Sd=async e=>{k()&&await N(`desktop_sync_runs_append`,{record:e})},Cd=async(e,t)=>{if(!t)return;let n=await t().catch(()=>null),r=typeof n?.serverId==`string`?n.serverId.trim():``;if(r&&r!==e)throw new _d(e,r)},wd=e=>({ok:!0,files:0,directories:0,deletes:e.deletes.length,totalBytes:0,agentsRoot:null,providerCredentials:null,plan:e}),Td=e=>{let t=e?.selectionShape;if(!t)throw Error(`Local sync inventory missing selectionShape (update the OpenChamberY desktop app)`);return t},Ed=(e,t)=>{let n=En(e,{includeProviderCredentials:!1}),r=t.selections;return{fileGroups:r?.fileGroups??n.fileGroups,singleFiles:r?.singleFiles??n.singleFiles,directories:r?.directories??n.directories,agentsRoot:r?.agentsRoot!==!1,providerCredentials:r?.providerCredentials===!0,magpie:r?.magpie===!0}},Dd=(e,t,n)=>{let r=e.inventory&&typeof e.inventory==`object`?e.inventory:null;if(n.providerCredentials&&(!r||!Object.hasOwn(r,`providerCredentials`)))throw Error(`Provider credential inventory is missing`);if(n.magpie&&!r?.magpie?.available)throw Error(`Magpie source configuration is unavailable`);return{direction:`pull`,magpieAvailable:r?.magpie?.available===!0,magpie:n.magpie&&r?.magpie?.available?{bytes:0}:null,files:r?.files??t?.files??[],directories:r?.directories??t?.directories??[],agentsRoot:n.agentsRoot?r?.agentsRoot??null:null,providerCredentials:n.providerCredentials?r?.providerCredentials??null:null,deletes:t?.deletes??[],totalBytes:t?.totalBytes??0,selections:n}},Od=(e,t)=>({...e,direction:`push`,providerCredentials:t.providerCredentials?e.providerCredentials:null,magpie:t.magpie?e.magpie:null,agentsRoot:t.agentsRoot?e.agentsRoot:null,selections:t}),kd=e=>e.files.length>0||e.directories.length>0||!!e.agentsRoot||!!e.providerCredentials||!!e.magpie,Ad=(e,t)=>{let r=n({relayUrl:e.relayUrl,serverId:e.serverId,hostEncPubJwk:e.hostEncPubJwk}),i=bd(t),a=async(e,t,n)=>{let a=await r.fetch(t,{method:e,headers:{...i,...n===void 0?{}:{"Content-Type":`application/json`}},body:n===void 0?void 0:JSON.stringify(n)}),o=await a.json().catch(()=>({}));if(!a.ok){let n=Error(typeof o.error==`string`?o.error:`Relay sync ${e} ${t} failed (${a.status})`);throw typeof o.code==`string`&&(n.code=o.code),n}return o};return{tunnel:r,async probe(e){let t=await a(`POST`,`/api/openchamber/config-sync/probe`,{plan:e});return{remoteExisting:Array.isArray(t.remoteExisting)?t.remoteExisting:[],remoteAgentsRootExists:t.remoteAgentsRootExists===!0,remoteProviderCredentialsExists:t.remoteProviderCredentialsExists===!0,inventory:t.inventory}},async prepare(e,t){await a(`POST`,`/api/openchamber/config-sync/prepare`,{plan:e,syncRunId:t})},async putTar(e,t,n){let a=await r.fetch(`/api/openchamber/config-sync/put/${encodeURIComponent(e)}?syncRunId=${encodeURIComponent(n)}`,{method:`PUT`,headers:{...i,"Content-Type":e===`credentials`||e===`magpie`?`application/octet-stream`:`application/gzip`},body:new Blob([new Uint8Array(t)],{type:e===`credentials`||e===`magpie`?`application/octet-stream`:`application/gzip`})}),o=await a.json().catch(()=>({}));if(!a.ok){let t=Error(typeof o.error==`string`?o.error:`Relay sync put ${e} failed (${a.status})`);throw typeof o.code==`string`&&(t.code=o.code),t}},async download(e){let t=await r.fetch(`/api/openchamber/config-sync/download/${encodeURIComponent(e)}`,{method:`GET`,headers:i});if(!t.ok){let n=await t.json().catch(()=>({})),r=Error(typeof n.error==`string`?n.error:`Relay sync download ${e} failed (${t.status})`);throw typeof n.code==`string`&&(r.code=n.code),r}return new Uint8Array(await t.arrayBuffer())},async finalize(e){let t=await a(`POST`,`/api/openchamber/config-sync/finalize`,{syncRunId:e});return Array.isArray(t.magpieWarnings)?t.magpieWarnings.filter(e=>e===`sign_in_required`||e===`agent_settings_skipped`):[]},async abort(e){await a(`POST`,`/api/openchamber/config-sync/abort`,{syncRunId:e}).catch(()=>void 0)},close(){r.close()}}},jd=async(e,t,n,r)=>{if(vd.has(e)){let t=Error(`Config sync already in progress for ${e}`);throw t.code=`sync_in_progress`,t}let i=crypto.randomUUID(),a=new Date().toISOString();vd.set(e,i);try{let o=await r({syncRunId:i});return await Sd({syncRunId:i,targetId:e,stage:t,direction:n,startedAt:a,endedAt:new Date().toISOString(),result:`success`,summary:xd(o.plan)}),{...o,syncRunId:i}}catch(r){throw await Sd({syncRunId:i,targetId:e,stage:t,direction:n,startedAt:a,endedAt:new Date().toISOString(),result:`failure`,summary:xd(null),error:r instanceof Error?r.message:String(r)}).catch(()=>void 0),r}finally{vd.get(e)===i&&vd.delete(e)}},Md=async(e,t)=>{let n=await lr({direction:e,targetKind:`relay`}),r=Td(n),i=Ed(r,t),a=e===`push`?await lr({direction:e,selections:i,targetKind:`relay`}):n;if(e===`push`&&!a)throw Error(`Local sync inventory unavailable`);return{selectionShape:r,selections:i,localPlan:a}},Nd=async(e,t={},n={})=>{let r=e.relay,i=yd(r.serverId),a=t.direction===`pull`?`pull`:`push`;return jd(i,`preview`,a,async()=>{await Cd(r.serverId,n.refreshCandidates);let{selectionShape:i,selections:o,localPlan:s}=await Md(a,t),c=Ad(r,e);try{if(a===`pull`){let e=await c.probe({selections:o});return{plan:Dd(e,s,o),remoteExisting:e.remoteExisting,remoteAgentsRootExists:e.remoteAgentsRootExists,remoteProviderCredentialsExists:e.remoteProviderCredentialsExists,selectionShape:i}}let e=Od(s,o),t=await c.probe(e);return{plan:e,remoteExisting:t.remoteExisting,remoteAgentsRootExists:t.remoteAgentsRootExists,remoteProviderCredentialsExists:t.remoteProviderCredentialsExists,selectionShape:s?.selectionShape??i}}finally{c.close()}})},Pd=async(e,t={},n={})=>{let r=e.relay,i=yd(r.serverId),a=t.direction===`pull`?`pull`:`push`;return jd(i,`apply`,a,async({syncRunId:i})=>{await Cd(r.serverId,n.refreshCandidates);let{selections:o,localPlan:s}=await Md(a,t),c=Ad(r,e);try{if(a===`pull`){let e=Dd(await c.probe({selections:o}),s,o);if(!kd(e))return wd(e);let t=e.files.length>0||e.directories.length>0?await c.download(`config`):null,n=e.agentsRoot?await c.download(`agents`):null,r=e.providerCredentials?await c.download(`credentials`):null,a=e.magpie?await c.download(`magpie`):null;if(!k())throw Error(`Relay pull apply requires the OpenChamberY desktop app`);let l=await N(`desktop_relay_sync_apply_local`,{syncRunId:i,plan:e,configTar:t,agentsTar:n,credentialPayload:r,magpiePayload:a});if(!l?.ok)throw Error(`Relay pull local apply failed`);return{...l,plan:e}}let e=Od(s,o);if(!kd(e))return wd(e);if(!k())throw Error(`Relay push apply requires the OpenChamberY desktop app`);let t=await N(`desktop_relay_sync_pack_local`,{plan:e});if(!t)throw Error(`Relay push local pack failed`);await c.prepare(e,i);let n=[];try{if(e.magpie){if(!t.magpiePayload?.byteLength)throw Error(`Magpie transfer incomplete`);await c.putTar(`magpie`,t.magpiePayload,i)}t.configTar&&t.configTar.byteLength>0&&await c.putTar(`config`,t.configTar,i),t.agentsTar&&t.agentsTar.byteLength>0&&await c.putTar(`agents`,t.agentsTar,i),t.credentialPayload&&t.credentialPayload.byteLength>0&&await c.putTar(`credentials`,t.credentialPayload,i),n=await c.finalize(i)}catch(e){throw await c.abort(i),e}return{ok:!0,files:e.files.length,directories:e.directories.length,deletes:e.deletes.length,totalBytes:e.totalBytes,agentsRoot:e.agentsRoot?{fileCount:e.agentsRoot.fileCount}:null,providerCredentials:e.providerCredentials?{bytes:e.providerCredentials.bytes}:null,...n.length?{magpieWarnings:n}:{},plan:e}}finally{c.close()}})},Fd=()=>{let{t:e}=Fe(),t=j()&&S(),[n,r]=Q.useState(!1),[i,a]=Q.useState(!1),[o,s]=Q.useState(``),[u,d]=Q.useState(``),[f,p]=Q.useState(!1),[m,h]=Q.useState(null),[g,_]=Q.useState(!0),[v,y]=Q.useState(!1),[b,C]=Q.useState(null),[w,T]=Q.useState(null);Q.useEffect(()=>{if(!t){_(!1);return}let n=!1;return(async()=>{try{let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});if(!t.ok)throw Error(e(`settings.openchamber.desktopNetwork.error.loadFailed`));let i=await t.json().catch(()=>null);if(n)return;let o=i?.desktopLanAccessEnabled===!0,c=typeof i?.desktopUiPassword==`string`?i.desktopUiPassword:``;r(o),a(o),s(c),d(c),p(i?.desktopLanAccessActive===!0),h(typeof i?.desktopLanAccessBlockedReason==`string`?i.desktopLanAccessBlockedReason:null),C(null)}catch(t){n||C(t instanceof Error?t.message:e(`settings.openchamber.desktopNetwork.error.loadFailed`))}finally{n||_(!1)}})(),()=>{n=!0}},[t,e]),Q.useEffect(()=>{if(!t||!i){T(null);return}let e=!1;return(async()=>{let t=await x();e||T(t)})(),()=>{e=!0}},[i,t]);let E=i!==n||u!==o,D=Q.useMemo(()=>{if(typeof window>`u`)return null;let e=c()||window.location.href,t=0;try{t=Number(new URL(e).port)}catch{t=Number(window.location.port)}return Number.isFinite(t)&&t>0?t:null},[]),O=i&&f&&w&&D?`http://${w}:${D}`:null,k=i&&!u.trim(),A=n&&!f&&m===`missing-password`,M=g||v||!E||k,N=Q.useCallback(()=>{a(e=>!e)},[]),P=Q.useCallback(e=>{d(e),e.trim()||a(!1)},[]),F=Q.useCallback(async()=>{if(E){y(!0),C(null);try{if(!(await l(`/api/config/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({desktopLanAccessEnabled:i,desktopUiPassword:u})})).ok)throw Error(e(`settings.openchamber.desktopNetwork.error.saveFailed`));if(r(i),s(u),!await R())throw Error(e(`settings.openchamber.desktopNetwork.error.savedRestartFailed`))}catch(t){C(t instanceof Error?t.message:e(`settings.openchamber.desktopNetwork.error.saveFailed`)),y(!1)}}},[u,i,E,e]);return t?(0,$.jsxs)(Jr,{className:`oc-settings-detail-group`,label:e(`settings.openchamber.desktopNetwork.title`),children:[(0,$.jsx)(Yr,{itemId:`remote-instances.desktop-ui-password`,label:(0,$.jsx)(`label`,{htmlFor:`desktop-ui-password`,children:e(`settings.openchamber.desktopPassword.field.password`)}),description:e(`settings.openchamber.desktopPassword.field.passwordDescription`),children:(0,$.jsx)(gn,{id:`desktop-ui-password`,type:`password`,className:`max-w-sm`,value:u,onChange:e=>P(e.target.value),placeholder:e(`settings.openchamber.desktopPassword.field.passwordPlaceholder`),disabled:g||v,required:i,"aria-invalid":k})}),(0,$.jsxs)(`div`,{"data-settings-item":`remote-instances.desktop-lan-access`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,onClick:N,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),N())},children:[(0,$.jsxs)(`div`,{className:`oc-settings-split-row-copy`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.desktopNetwork.field.allowLanAccess`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:e(`settings.openchamber.desktopNetwork.field.allowLanAccessDescription`)}),(0,$.jsx)(`div`,{className:`typography-meta text-[var(--status-warning)]/85`,children:e(`settings.openchamber.desktopNetwork.field.warning`)}),k||A?(0,$.jsx)(`div`,{className:`typography-meta text-[var(--status-warning)]/85`,children:e(`settings.openchamber.desktopNetwork.field.passwordRequiredWarning`)}):null]}),(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:i,onChange:N,ariaLabel:e(`settings.openchamber.desktopNetwork.field.allowLanAccessAria`),disabled:g||v})})]}),b?(0,$.jsx)(`div`,{className:`oc-settings-group-row typography-meta text-[var(--status-error)]`,children:b}):null,O?(0,$.jsxs)(`div`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,children:[e(E&&!n?`settings.openchamber.desktopNetwork.hint.openAfterRestart`:`settings.openchamber.desktopNetwork.hint.openNow`),(0,$.jsx)(`span`,{className:`font-mono text-foreground`,children:O})]}):null,(0,$.jsx)(`div`,{className:`oc-settings-group-row flex justify-end`,children:(0,$.jsx)(J,{type:`button`,size:`xs`,onClick:F,disabled:M,className:`shrink-0 !font-normal`,children:e(v?`settings.common.actions.saving`:`settings.openchamber.desktopNetwork.actions.saveAndRestart`)})})]}):null},Id=`wss://relay.openchamber.dev/ws`,Ld=`openchamber.pairing.relayUrl.v1`,Rd=e=>{if(typeof e!=`string`||!e.trim())return null;try{let t=new URL(e.trim());return t.protocol!==`ws:`&&t.protocol!==`wss:`||t.username||t.password?null:(t.username=``,t.password=``,t.hash=``,t.search=``,t.toString())}catch{return null}},zd=(e=typeof window>`u`?null:window.localStorage)=>{if(!e)return null;try{return Rd(e.getItem(Ld))}catch{return null}},Bd=(e,t=typeof window>`u`?null:window.localStorage)=>{if(!t)return;let n=Rd(e);if(n)try{t.setItem(Ld,n)}catch{}},Vd=`https://github.com/yee94/openchambery/tree/main/packages/relay-server`,Hd=()=>Math.floor(2e4+Math.random()*3e4),Ud=e=>{if(!Number.isFinite(e)||e<0)return`0 B`;if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`,`TB`],n=e/1024;for(let e of t){if(n<1024||e===t[t.length-1])return`${n.toFixed(n>=10?0:1)} ${e}`;n/=1024}return`${e} B`},Wd={fileGroups:[],singleFiles:[],directories:[],agentsRoot:!0,providerCredentials:!1},Gd=e=>{let t=e.selectionShape;if(!t||typeof t!=`object`)return null;let n=typeof t.fileGroups==`number`?t.fileGroups:null,r=typeof t.singleFiles==`number`?t.singleFiles:null,i=typeof t.directories==`number`?t.directories:null;return n===null||r===null||i===null||n<0||r<0||i<0?null:{fileGroups:n,singleFiles:r,directories:i}},Kd=(e,t)=>e.fileGroups.length===t.fileGroups&&e.singleFiles.length===t.singleFiles&&e.directories.length===t.directories,qd=[`settings.remoteInstances.page.sync.step.scanLocal`,`settings.remoteInstances.page.sync.step.compareRemote`,`settings.remoteInstances.page.sync.step.confirm`],Jd=({open:e,instanceId:t,targetKind:n=`ssh`,relayHost:r=null,onOpenChange:i})=>{let{t:a}=Fe(),[o,s]=Q.useState(1),[c,l]=Q.useState(`scanning-local`),[u,d]=Q.useState(`push`),[f,p]=Q.useState(Wd),[m,h]=Q.useState(null),[g,_]=Q.useState(null),[v,y]=Q.useState(null),[b,x]=Q.useState(null),[S,C]=Q.useState(null),w=Q.useRef(Wd),T=m!=null&&Kd(f,m),E=Me(()=>{s(1),l(`scanning-local`),d(`push`),p(Wd),h(null),_(null),y(null),x(null),C(null),w.current=Wd}),D=Me(async(e=u,i=f)=>{if(t){s(2),l(`comparing-remote`),x(null),C(null),y(null);try{let o=n===`relay`?r?await Nd(r,{direction:e,selections:i}):null:await gr(t,{targetKind:n,direction:e,selections:i});if(!o){x(a(`settings.remoteInstances.page.sync.state.unavailable`)),C(2),l(`error`);return}y(o),w.current=i,s(3),l(`review`)}catch(e){console.error(`[remote-instances] config sync compare-remote failed`,e),x(e instanceof Error?e.message:String(e)),C(2),l(`error`)}}}),O=Me(async(e=u,r=f)=>{if(t){s(1),l(`scanning-local`),x(null),C(null),_(null),y(null);try{let t=m!=null&&Kd(r,m),i=await lr(t?{targetKind:n,direction:e,selections:r}:{targetKind:n,direction:e});if(!i){h(null),x(a(`settings.remoteInstances.page.sync.state.unavailable`)),C(1),l(`error`);return}let o=Gd(i);if(!o){h(null),p(Wd),x(a(`settings.remoteInstances.page.sync.state.unavailable`)),C(1),l(`error`);return}h(o);let s=t?r:En(o,{includeProviderCredentials:!1});p(s),_(i),await D(e,s)}catch(e){console.error(`[remote-instances] config sync scan-local failed`,e),x(e instanceof Error?e.message:String(e)),C(1),l(`error`)}}});Q.useEffect(()=>{!e||!t||O(`push`)},[e,t]),Q.useEffect(()=>{e||E()},[e]);let k=Q.useMemo(()=>new Set(v?.remoteExisting??[]),[v]),A=v?.plan??g,j=!!(A&&(A.files.length>0||A.directories.length>0||A.agentsRoot!=null||A.providerCredentials!=null||A.magpie!=null)),M=c===`applying`,N=c===`review`||c===`applying`&&o===3,P=A?A.deletes.length+(A.agentsRoot&&v?.remoteAgentsRootExists?1:0):0,F=Me(()=>{if(S===2){D(u,f);return}O(u,f)}),I=Me(e=>{if(e===u||M)return;d(e),y(null),_(null);let t={...f,magpie:!1};p(t),O(e,t)}),L=Me(async()=>{if(!(!t||!j||M||c!==`review`)){l(`applying`);try{let e=n===`relay`?r?await Pd(r,{direction:u,selections:w.current}):null:await br(t,{targetKind:n,direction:u,selections:w.current});if(!e)throw Error(`Sync bridge unavailable`);let o=[...e.magpieWarnings?.includes(`sign_in_required`)?[a(`settings.remoteInstances.page.sync.magpie.signInRequired`)]:[],...e.magpieWarnings?.includes(`agent_settings_skipped`)?[a(`settings.remoteInstances.page.sync.magpie.agentsSkipped`)]:[]];o.length?Y.warning(a(`settings.remoteInstances.page.sync.toast.success`),{description:o.join(`
23
23
  `)}):Y.success(a(`settings.remoteInstances.page.sync.toast.success`)),i(!1)}catch(e){console.error(`[remote-instances] config sync apply failed`,e),Y.error(a(`settings.remoteInstances.page.sync.toast.failed`),{description:e instanceof Error?e.message:String(e)}),l(`review`)}}}),R=e=>c===`error`&&S!=null?e<S?`done`:e===S?`active`:`pending`:c===`review`||c===`applying`||e<o?`done`:e===o?`active`:`pending`;return(0,$.jsx)(an,{open:e,onOpenChange:i,children:(0,$.jsxs)(tn,{className:`min-h-0 sm:max-w-2xl`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:a(`settings.remoteInstances.page.sync.title`)}),(0,$.jsx)(rn,{children:a(`settings.remoteInstances.page.sync.description`)})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(J,{type:`button`,size:`xs`,variant:u===`push`?`default`:`outline`,className:`!font-normal`,"aria-pressed":u===`push`,disabled:M||c===`comparing-remote`||c===`scanning-local`,onClick:()=>I(`push`),children:a(`settings.remoteInstances.page.sync.direction.push`)}),(0,$.jsx)(J,{type:`button`,size:`xs`,variant:u===`pull`?`default`:`outline`,className:`!font-normal`,"aria-pressed":u===`pull`,disabled:M||c===`comparing-remote`||c===`scanning-local`,onClick:()=>I(`pull`),children:a(`settings.remoteInstances.page.sync.direction.pull`)})]}),(0,$.jsxs)(`div`,{className:`space-y-2 rounded-lg border border-border/60 p-2`,children:[(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:a(`settings.remoteInstances.page.sync.scope.title`)}),T?null:(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:a(c===`scanning-local`||c===`comparing-remote`?`settings.remoteInstances.page.sync.step.scanLocal`:`settings.remoteInstances.page.sync.state.unavailable`)}),[{key:`config`,label:`config.json / opencode.json(c)`,index:0,kind:`fileGroups`},{key:`oh-slim`,label:`oh-my-opencode-slim.json(c)`,index:1,kind:`fileGroups`},{key:`oh-agent`,label:`oh-my-openagent.json(c)`,index:2,kind:`fileGroups`},{key:`agents-md`,label:`AGENTS.md`,index:0,kind:`singleFiles`},{key:`cursor-models`,label:`cursor-models.json`,index:1,kind:`singleFiles`},{key:`agents`,label:`agents/`,index:0,kind:`directories`},{key:`commands`,label:`commands/`,index:1,kind:`directories`},{key:`skills`,label:`skills/`,index:2,kind:`directories`},{key:`plugins`,label:`plugins/`,index:5,kind:`directories`}].filter(e=>m!=null&&e.index<m[e.kind]).map(e=>{let t=f[e.kind][e.index]!==!1;return(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-meta`,children:[(0,$.jsx)(on,{checked:t,disabled:M||!T,ariaLabel:e.label,onChange:t=>{if(!T)return;let n=[...f[e.kind]];n[e.index]=t;let r={...f,[e.kind]:n};p(r),c===`review`&&D(u,r)}}),(0,$.jsx)(`span`,{className:`font-mono`,children:e.label})]},e.key)}),(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-meta`,children:[(0,$.jsx)(on,{checked:f.agentsRoot,disabled:M||!T,ariaLabel:a(`settings.remoteInstances.page.sync.section.agentsRoot`),onChange:e=>{if(!T)return;let t={...f,agentsRoot:e};p(t),c===`review`&&D(u,t)}}),a(`settings.remoteInstances.page.sync.section.agentsRoot`)]}),(0,$.jsxs)(`label`,{className:`flex items-center gap-2 typography-meta`,children:[(0,$.jsx)(on,{checked:f.providerCredentials,disabled:M||!T,ariaLabel:a(`settings.remoteInstances.page.sync.section.providerCredentials`),onChange:e=>{if(!T)return;let t={...f,providerCredentials:e};p(t),c===`review`&&D(u,t)}}),a(`settings.remoteInstances.page.sync.section.providerCredentials`)]})]}),v?.plan.magpieAvailable&&(0,$.jsx)(Jr,{description:a(`settings.remoteInstances.page.sync.magpie.description`),children:(0,$.jsx)(Zr,{checked:f.magpie===!0,disabled:M||c!==`review`,label:a(`settings.remoteInstances.page.sync.section.magpie`),ariaLabel:a(`settings.remoteInstances.page.sync.section.magpie`),onChange:e=>{let t={...f,magpie:e};p(t),D(u,t)}})}),(0,$.jsx)(`div`,{className:`space-y-2`,children:qd.map((e,t)=>{let n=t+1,r=R(n);return(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[r===`done`?(0,$.jsx)(Z,{name:`check`,className:`h-3.5 w-3.5 shrink-0 text-[var(--status-success)]`}):r===`active`?(0,$.jsx)(Z,{name:`refresh`,className:`h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground`}):(0,$.jsx)(`span`,{className:`flex h-3.5 w-3.5 shrink-0 items-center justify-center rounded-full border border-border/60 typography-micro text-muted-foreground`,children:n}),(0,$.jsx)(`span`,{className:q(`typography-meta`,r===`pending`?`text-muted-foreground`:`text-foreground`),children:a(e)})]},e)})}),c===`error`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(`div`,{className:`typography-meta text-[var(--status-error)]`,children:a(`settings.remoteInstances.page.sync.state.error`,{message:b||``})}),(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`sm`,className:`!font-normal`,onClick:F,children:[(0,$.jsx)(Z,{name:`refresh`,className:`h-3.5 w-3.5`}),a(`settings.remoteInstances.sidebar.actions.retry`)]})]}):null,N&&!j?(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:a(`settings.remoteInstances.page.sync.state.empty`)}):null,N&&j&&A?(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-3`,children:[(0,$.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-border/60 bg-[var(--surface-elevated)]`,children:(0,$.jsx)(Ar,{fillContainer:!1,disableHorizontal:!0,outerClassName:`max-h-80`,className:`max-h-80`,children:(0,$.jsxs)(`div`,{className:`divide-y divide-border/60`,children:[A.files.map(e=>{let t=k.has(e.path);return(0,$.jsxs)(`div`,{className:`flex h-8 items-center gap-2 px-2`,children:[(0,$.jsx)(Z,{name:`file-text`,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 truncate font-mono typography-micro text-foreground`,title:e.path,children:[(0,$.jsxs)(`span`,{className:`sr-only`,children:[a(`settings.remoteInstances.page.sync.section.files`),`: `]}),e.path]}),(0,$.jsx)(`span`,{className:`shrink-0 tabular-nums typography-micro text-muted-foreground`,children:Ud(e.bytes)}),(0,$.jsx)(`span`,{className:q(`shrink-0 typography-micro`,t?`text-[var(--status-warning)]`:`text-[var(--status-success)]`),children:a(t?`settings.remoteInstances.page.sync.status.overwrite`:`settings.remoteInstances.page.sync.status.add`)})]},`file:${e.path}`)}),A.directories.map(e=>{let t=k.has(e.path);return(0,$.jsxs)(`div`,{className:`flex h-8 items-center gap-2 px-2`,children:[(0,$.jsx)(Z,{name:`folder-3-fill`,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 truncate font-mono typography-micro text-foreground`,title:e.path,children:[(0,$.jsxs)(`span`,{className:`sr-only`,children:[a(`settings.remoteInstances.page.sync.section.directories`),`: `]}),e.path]}),(0,$.jsxs)(`span`,{className:`shrink-0 tabular-nums typography-micro text-muted-foreground`,children:[Ud(e.bytes),` · `,e.fileCount]}),(0,$.jsx)(`span`,{className:q(`shrink-0 typography-micro`,t?`text-[var(--status-warning)]`:`text-[var(--status-success)]`),children:a(t?`settings.remoteInstances.page.sync.status.overwrite`:`settings.remoteInstances.page.sync.status.add`)})]},`dir:${e.path}`)}),A.providerCredentials?(0,$.jsxs)(`div`,{className:`flex h-8 items-center gap-2 px-2`,children:[(0,$.jsx)(Z,{name:`shield-keyhole`,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-micro text-foreground`,children:a(`settings.remoteInstances.page.sync.section.providerCredentials`)}),(0,$.jsx)(`span`,{className:`shrink-0 tabular-nums typography-micro text-muted-foreground`,children:Ud(A.providerCredentials.bytes)}),(0,$.jsx)(`span`,{className:q(`shrink-0 typography-micro`,v?.remoteProviderCredentialsExists?`text-[var(--status-warning)]`:`text-[var(--status-success)]`),children:v?.remoteProviderCredentialsExists?a(`settings.remoteInstances.page.sync.status.overwrite`):a(`settings.remoteInstances.page.sync.status.add`)})]}):null,A.magpie?(0,$.jsxs)(`div`,{className:`flex h-8 items-center gap-2 px-2`,children:[(0,$.jsx)(Z,{name:`tools`,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-micro text-foreground`,children:a(`settings.remoteInstances.page.sync.section.magpie`)})]}):null,A.agentsRoot?(0,$.jsxs)(`div`,{className:`flex h-8 items-center gap-2 px-2`,children:[(0,$.jsx)(Z,{name:`tools`,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 truncate font-mono typography-micro text-foreground`,title:`~/.agents`,children:[(0,$.jsxs)(`span`,{className:`sr-only`,children:[a(`settings.remoteInstances.page.sync.section.agentsRoot`),`: `]}),`~/.agents`]}),(0,$.jsxs)(`span`,{className:`shrink-0 tabular-nums typography-micro text-muted-foreground`,children:[Ud(A.agentsRoot.bytes),` · `,a(`settings.remoteInstances.page.sync.section.agentsRootCount`,{count:A.agentsRoot.fileCount})]}),(0,$.jsx)(`span`,{className:q(`shrink-0 typography-micro`,v?.remoteAgentsRootExists?`text-[var(--status-warning)]`:`text-[var(--status-success)]`),children:v?.remoteAgentsRootExists?a(`settings.remoteInstances.page.sync.status.overwrite`):a(`settings.remoteInstances.page.sync.status.add`)})]}):null]})})}),(0,$.jsxs)(`div`,{className:`space-y-1 typography-micro text-muted-foreground`,children:[P>0?(0,$.jsx)(`div`,{children:a(`settings.remoteInstances.page.sync.note.deletes`,{count:P})}):null,(0,$.jsx)(`div`,{children:a(`settings.remoteInstances.page.sync.note.backup`)}),(0,$.jsx)(`div`,{children:a(`settings.remoteInstances.page.sync.note.excluded`)})]})]}):null,(0,$.jsxs)(en,{className:`shrink-0`,children:[(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`sm`,className:`!font-normal`,onClick:()=>i(!1),disabled:M,children:a(`settings.remoteInstances.page.sync.actions.cancel`)}),(0,$.jsxs)(J,{type:`button`,size:`sm`,className:`!font-normal`,onClick:()=>void L(),disabled:!j||M||c!==`review`,children:[(0,$.jsx)(Z,{name:`refresh`,className:q(`h-3.5 w-3.5`,M?`animate-spin`:``)}),a(M?`settings.remoteInstances.page.sync.applying`:`settings.remoteInstances.page.sync.actions.syncNow`)]})]})]})})},Yd=e=>{let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`address already in use`)||t.includes(`eaddrinuse`)||t.includes(`port already in use`)},Xd=()=>{if(typeof navigator>`u`)return;let e=(navigator.userAgent||``).toLowerCase();if(e.includes(`mac`))return`macos`;if(e.includes(`win`))return`windows`;if(e.includes(`linux`))return`linux`},Zd=e=>{switch((e||``).toLowerCase()){case`ios`:return`iOS`;case`android`:return`Android`;case`macos`:case`darwin`:return`macOS`;case`windows`:case`win32`:return`Windows`;case`linux`:return`Linux`;default:return null}},Qd=e=>{switch((e||``).toLowerCase()){case`ios`:return`device-ios`;case`android`:return`device-android`;case`macos`:case`darwin`:return`device-macos`;case`windows`:case`win32`:return`device-windows`;case`linux`:return`device-linux`;default:return null}},$d=e=>{switch(e){case`config_resolved`:return`settings.remoteInstances.page.phase.resolvingConfiguration`;case`auth_check`:return`settings.remoteInstances.page.phase.checkingAuth`;case`master_connecting`:return`settings.remoteInstances.page.phase.establishingSsh`;case`remote_probe`:return`settings.remoteInstances.page.phase.probingRemote`;case`installing`:return`settings.remoteInstances.page.phase.installingOpenChamber`;case`updating`:return`settings.remoteInstances.page.phase.updatingOpenChamber`;case`server_detecting`:return`settings.remoteInstances.page.phase.detectingServer`;case`server_starting`:return`settings.remoteInstances.page.phase.startingServer`;case`forwarding`:return`settings.remoteInstances.page.phase.forwardingPorts`;case`ready`:return`settings.remoteInstances.sidebar.phase.ready`;case`degraded`:return`settings.remoteInstances.page.phase.reconnecting`;case`error`:return`settings.remoteInstances.sidebar.phase.error`;default:return`settings.remoteInstances.sidebar.phase.idle`}},ef=new Set([`config_resolved`,`auth_check`,`master_connecting`,`remote_probe`,`installing`,`updating`,`server_detecting`,`server_starting`,`forwarding`]),tf=e=>!!(e&&ef.has(e)),nf=e=>e===`ready`?`bg-[var(--status-success)] animate-pulse`:e===`error`?`bg-[var(--status-error)] animate-pulse`:e===`degraded`||tf(e)?`bg-[var(--status-warning)] animate-pulse`:`bg-muted-foreground/40`,rf=e=>e.type===`dynamic`?`${e.localHost||`127.0.0.1`}:${e.localPort||0}`:e.type===`remote`?`${e.remoteHost||`127.0.0.1`}:${e.remotePort||0} -> ${e.localHost||`127.0.0.1`}:${e.localPort||0}`:`${e.localHost||`127.0.0.1`}:${e.localPort||0} -> ${e.remoteHost||`127.0.0.1`}:${e.remotePort||0}`,af=()=>({id:`forward-${Date.now()}-${Math.random().toString(16).slice(2)}`,enabled:!0,type:`local`,localHost:`127.0.0.1`,localPort:Hd(),remoteHost:`127.0.0.1`,remotePort:80}),of=e=>{let t=(0,Ki.c)(10),{itemId:n,label:r,description:i,action:a,children:o}=e,s;t[0]!==a||t[1]!==r?(s=a?(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,$.jsx)(`div`,{className:`min-w-0`,children:r}),(0,$.jsx)(`div`,{className:`shrink-0`,children:a})]}):r,t[0]=a,t[1]=r,t[2]=s):s=t[2];let c;t[3]===o?c=t[4]:(c=(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:o}),t[3]=o,t[4]=c);let l;return t[5]!==i||t[6]!==n||t[7]!==s||t[8]!==c?(l=(0,$.jsx)(Jr,{itemId:n,className:`oc-settings-detail-group`,label:s,description:i,children:c}),t[5]=i,t[6]=n,t[7]=s,t[8]=c,t[9]=l):l=t[9],l},sf=e=>{switch(e){case`remote`:return`settings.remoteInstances.page.forwardTypeDescription.remote`;case`dynamic`:return`settings.remoteInstances.page.forwardTypeDescription.dynamic`;default:return`settings.remoteInstances.page.forwardTypeDescription.local`}},cf=(e,t)=>{let n=(e||``).trim();return`${!n||n===`127.0.0.1`||n===`::1`?`localhost`:n}:${t||0}`},lf=e=>{let t=(e||``).trim();return!t||t===`0.0.0.0`||t===`::`?`127.0.0.1`:t},uf=e=>{let t=e.match(/^\[(\d{10,})\]\s*(?:\[([A-Z]+)\]\s*)?(.*)$/);if(!t)return e;let n=Number(t[1]);return`[${Number.isFinite(n)?new Date(n).toISOString():t[1]}] [${(t[2]||`INFO`).toUpperCase()}] ${t[3]||``}`},df=()=>{if(typeof window>`u`)return null;let e=c()||window.location.href;try{let t=Number(new URL(e).port||window.location.port);return Number.isFinite(t)&&t>0?t:null}catch{let e=Number(window.location.port);return Number.isFinite(e)&&e>0?e:null}},ff=e=>{try{let t=new URL(e).hostname.toLowerCase();return t===`localhost`||t===`127.0.0.1`||t===`::1`||t===`[::1]`}catch{return!1}},pf=async()=>{let e=te(c())||window.location.origin;if(!j()||!S())return e;let t;try{t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}})}catch{return e}if(!t.ok||(await t.json().catch(()=>null))?.desktopLanAccessActive!==!0)return e;let n=await x(),r=df();return!n||!r?e:`http://${n}:${r}`},mf=e=>{let t=e.trim();if(t)try{window.location.assign(t)}catch{window.location.href=t}},hf=e=>{let t=e.sshCommand.trim(),n=e.nickname?.trim(),r=e.portForwards.map(e=>({...e,localHost:e.localHost?.trim()||`127.0.0.1`,localPort:typeof e.localPort==`number`?Math.max(1,Math.min(65535,Math.round(e.localPort))):void 0,remoteHost:e.remoteHost?.trim(),remotePort:typeof e.remotePort==`number`?Math.max(1,Math.min(65535,Math.round(e.remotePort))):void 0}));return{...e,sshCommand:t,...n?{nickname:n}:{nickname:void 0},connectionTimeoutSec:Math.max(5,Math.min(240,Math.round(e.connectionTimeoutSec||60))),localForward:{...e.localForward,bindHost:e.localForward.bindHost===`localhost`||e.localForward.bindHost===`0.0.0.0`?e.localForward.bindHost:`127.0.0.1`,preferredLocalPort:typeof e.localForward.preferredLocalPort==`number`?Math.max(1,Math.min(65535,Math.round(e.localForward.preferredLocalPort))):void 0},remoteOpenchamber:{...e.remoteOpenchamber,preferredPort:typeof e.remoteOpenchamber.preferredPort==`number`?Math.max(1,Math.min(65535,Math.round(e.remoteOpenchamber.preferredPort))):void 0},portForwards:r}},gf=()=>{let{t:e}=Fe(),{clientAuth:t}=kr(),i=k(),o=ai(e=>e.instances),l=ai(e=>e.statusesById),u=ai(e=>e.isLoading),d=ai(e=>e.isSaving),f=ai(e=>e.error),p=ai(e=>e.load),m=ai(e=>e.loadImports),h=ai(e=>e.refreshStatuses),g=ai(e=>e.upsertInstance),_=ai(e=>e.createFromCommand),v=ai(e=>e.removeInstance),y=ai(e=>e.connect),b=ai(e=>e.disconnect),x=ai(e=>e.retry),S=K(e=>e.settingsRemoteInstancesSelectedId),C=K(e=>e.setSettingsRemoteInstancesSelectedId),w=Q.useMemo(()=>S&&o.find(e=>e.id===S)||null,[o,S]),[T,E]=Q.useState(null),[D,O]=Q.useState([]),[A,M]=Q.useState(!1),[N,P]=Q.useState(!1),[F,L]=Q.useState(null),[R,z]=Q.useState([]),[oe,se]=Q.useState(!1),[ce,le]=Q.useState(null),[ue,de]=Q.useState(`ssh`),[fe,pe]=Q.useState(null),[me,he]=Q.useState(null),[ge,_e]=Q.useState(``),[ve,ye]=Q.useState(!1),[be,xe]=Q.useState({}),[Se,Ce]=Q.useState(!1),[we,Te]=Q.useState(!1),[Ee,De]=Q.useState(()=>Date.now()),[Oe,ke]=Q.useState([]),[Ae,je]=Q.useState({}),[Ne,Ie]=Q.useState(`local`),[Le,ze]=Q.useState(!1),[Be,Ve]=Q.useState(!1),[He,Ue]=Q.useState(0),We=vr(),[Ge,Ke]=Q.useState(``),[qe,Je]=Q.useState(null),[Ye,Xe]=Q.useState(!1),[Ze,Qe]=Q.useState([]),[$e,et]=Q.useState([]),[tt,nt]=Q.useState(!1),[rt,it]=Q.useState(``),at=Q.useRef(!1),[ot,st]=Q.useState(null),[ct,lt]=Q.useState(null),[ut,dt]=Q.useState(!1),[ft,pt]=Q.useState(null),[mt,ht]=Q.useState(null),[gt,_t]=Q.useState(null),[vt,yt]=Q.useState(null),[bt,xt]=Q.useState(!1),[St,Ct]=Q.useState(!1),[wt,Tt]=Q.useState(`configure`),[Et,Dt]=Q.useState(!1),[Ot,kt]=Q.useState(`relay`),[At,jt]=Q.useState(!0),[Mt,Nt]=Q.useState(Id),[Pt,Ft]=Q.useState(null),[It,X]=Q.useState(!1),[Lt,Rt]=Q.useState(!1),zt=Q.useRef(null);Q.useEffect(()=>{It&&Pt&&zt.current?.focus()},[It,Pt]);let[Bt,Vt]=Q.useState(null),Ht=Q.useMemo(()=>Ze.filter(e=>!!e.revokedAt).length,[Ze]),[Ut,Wt]=Q.useState(!1),[Gt,Kt]=Q.useState(`ssh user@example.com`),[qt,Jt]=Q.useState(``);Q.useEffect(()=>{p(),m()},[p,m]);let Yt=Q.useCallback(async()=>{ze(!0),Je(null);try{let e=await ne();ke(e.hosts||[]),Ie(e.defaultHostId||`local`)}catch(e){Je(e instanceof Error?e.message:String(e))}finally{ze(!1)}},[]);Q.useEffect(()=>{Yt()},[Yt]);let Xt=Object.values(l).filter(e=>e.phase===`ready`).map(e=>`${e.id}:${e.localUrl||``}`).sort().join(`|`);Q.useEffect(()=>{Xt&&Yt()},[Yt,Xt]);let Zt=Q.useCallback(async(e,t=Ne)=>{Ve(!0),Je(null);try{await U({hosts:e,defaultHostId:t,initialHostChoiceCompleted:!0}),ke(e),Ie(t)}catch(e){Je(e instanceof Error?e.message:String(e))}finally{Ve(!1)}},[Ne]),Qt=Q.useMemo(()=>new Set(o.map(e=>e.id)),[o]),sn=Q.useMemo(()=>Oe.filter(e=>ie(e,Qt)),[Oe,Qt]),ln=Me(async()=>{let t=hd(Ge);if(!t){Je(e(`settings.remoteInstances.direct.error.invalidConnectLink`));return}let r=await B().catch(()=>``),i={method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({pairingId:t.pairingId,secret:t.secret,clientLabel:t.label||`OpenChamberY Desktop`,clientKind:`desktop`,deviceName:`OpenChamberY Desktop`,devicePlatform:Xd(),...r?{dedupeKey:`desktop:${r}`}:{}})},a=async e=>{if(!e.ok)return null;let t=await e.json().catch(()=>null);return(typeof t?.clientToken==`string`?t.clientToken.trim():``)||null},o=[...t.candidates].sort((e,t)=>(e.type===`relay`)-+(t.type===`relay`)),s=null;for(let e of o){if(e.type===`relay`){let t=n({relayUrl:e.relayUrl,serverId:e.serverId,hostEncPubJwk:e.hostEncPubJwk,...e.grant?{grant:e.grant}:{}});try{let n=await a(await t.fetch(`/api/client-auth/pairing/redeem`,i));if(n){s={kind:`relay`,relay:{relayUrl:e.relayUrl,serverId:e.serverId,hostEncPubJwk:e.hostEncPubJwk},token:n,tunnel:t},t.close();break}}catch{}t.close();continue}let t=te(e.url);if(t)try{let e=await a(await fetch(`${t}/api/client-auth/pairing/redeem`,i));if(e){s={kind:`direct`,url:t,token:e};break}}catch{}}if(!s){Je(e(`desktopHostSwitcher.error.invalidUrl`));return}let c=()=>I(),l=t.candidates.find(e=>e.type===`relay`),u=s.kind===`relay`?s.relay:l?{relayUrl:l.relayUrl,serverId:l.serverId,hostEncPubJwk:l.hostEncPubJwk}:void 0,d=t.candidates.filter(e=>e.type!==`relay`),f=d.map(e=>te(e.url)).find(e=>!!e),p=d.filter(e=>e.type===`lan`).map(e=>te(e.url)).find(e=>!!e),m=s.kind===`direct`?s.url:p||f||null,{token:h}=s,g=m||(u?V(u.serverId):null);if(!g){Je(e(`desktopHostSwitcher.error.invalidUrl`));return}let _={url:g,apiUrl:m||void 0,clientToken:h,source:re,...u?{relay:u}:{}},v=Oe.find(e=>u?e.relay?.serverId===u.serverId&&e.relay?.relayUrl===u.relayUrl:!e.relay&&te(e.apiUrl||e.url)===g);if(v){let e=Oe.map(e=>e.id===v.id?{...e,label:t.label||e.label,..._}:e);await Zt(e,Ne)}else await Zt([{id:c(),label:t.label||H(g),..._},...Oe],Ne);Ke(``),Je(null),Xe(!1)}),fn=Q.useCallback(async e=>{let t=Oe.filter(t=>t.id!==e);await Zt(t,Ne===e?`local`:Ne)},[Ne,Oe,Zt]),mn=Q.useCallback(async()=>{let t=Gt.trim();if(!t){Y.error(e(`settings.remoteInstances.page.toast.sshCommandRequired`));return}let n=`ssh-${Date.now()}-${Math.random().toString(16).slice(2)}`;try{await _(n,t,qt.trim()||void 0),C(n),Wt(!1),Kt(`ssh user@example.com`),Jt(``),Y.success(e(`settings.remoteInstances.page.toast.instanceCreated`))}catch(t){Y.error(e(`settings.remoteInstances.sidebar.toast.createFailed`),{description:t instanceof Error?t.message:String(t)})}},[_,C,Gt,qt,e]),xn=Q.useCallback(async e=>{await Zt(Oe,e)},[Oe,Zt]),Sn=Me(async e=>{if(ae(e)||We)return;Je(null);let t=await dr({host:e,cachedProbe:Ae[e.id]||null});je(n=>({...n,[e.id]:t.status}))}),wn=Me(async t=>{if(We)return;let n=t.nickname?.trim()||t.sshParsed?.destination||t.id,r=Oe;try{let e=await ne();r=e.hosts||[],ke(r),Ie(e.defaultHostId||`local`)}catch(t){Y.error(e(`desktopHostSwitcher.toast.instanceUnreachable`,{host:n}),{description:t instanceof Error?t.message:String(t)});return}let i=r.find(e=>e.id===t.id)??null;if(!i||!W(i)||!i.clientToken){Y.error(e(`desktopHostSwitcher.toast.instanceUnreachable`,{host:n}));return}ae(i)||await dr({host:i})});Q.useEffect(()=>{if(i)return r(()=>{Ue(e=>e+1)})},[i]),Q.useEffect(()=>{if(!i||sn.length===0)return;let e=!1;return Promise.all(sn.map(async e=>{let t=async()=>{let t=await ee(e.relay,{clientToken:e.clientToken||null}).catch(()=>({status:`unreachable`,latencyMs:0}));return t.status===`ok`?{status:t.status,latencyMs:t.latencyMs,via:`relay`}:{status:t.status,latencyMs:t.latencyMs}};if(e.relay&&!e.apiUrl)return[e.id,await t()];let n=te(W(e));if(!n)return[e.id,e.relay?await t():{status:`unreachable`,latencyMs:0}];let r=await G(n,{clientToken:e.clientToken||null,requestHeaders:e.requestHeaders||null}).catch(()=>({status:`unreachable`,latencyMs:0}));if(r.status===`unreachable`&&e.relay){let n=await t();if(n.status===`ok`)return[e.id,n]}return[e.id,r]})).then(t=>{e||je(Object.fromEntries(t))}),()=>{e=!0}},[sn,i]);let Tn=Q.useCallback(async e=>{if(t){e?.silent||nt(!0),e?.silent||st(null);try{let[e,n]=await Promise.all([t.listClients(),t.listPendingPairings().catch(()=>null)]);Qe(e),n&&et(n)}catch(t){e?.silent||st(t instanceof Error?t.message:String(t))}finally{e?.silent||nt(!1)}}},[t]),En=Q.useRef(!1);Q.useEffect(()=>{if(!(!St||wt!==`result`||!gt)){if($e.some(e=>e.id===gt)){En.current=!0;return}En.current&&(_t(null),Ct(!1),Ze.some(e=>e.pairingId===gt)&&Y.success(e(`settings.remoteInstances.clientAuth.addDevice.connectedToast`)))}},[St,wt,gt,$e,Ze,e]);let Dn=Q.useCallback(async e=>{if(t)try{await t.cancelPairing(e),et(t=>t.filter(t=>t.id!==e)),await Tn({silent:!0})}catch(e){st(e instanceof Error?e.message:String(e))}},[t,Tn]);Q.useEffect(()=>{if(!t)return;Tn();let e=window.setInterval(()=>{typeof document<`u`&&document.visibilityState!==`visible`||Tn({silent:!0})},5e3);return()=>window.clearInterval(e)},[t,Tn]);let kn=Q.useCallback(async()=>{let e=s()!==`local`;if(t?.getPairingTransports)try{let n=await t.getPairingTransports(),r=Rd(n.relayUrl),i=Array.from(new Set([...Array.isArray(n.relayUrls)?n.relayUrls:[],...r?[r]:[]].map(e=>Rd(e)).filter(e=>!!e)));return{serverName:n.serverName,localUrl:n.local,lanUrl:n.lan,relayAvailable:n.relayAvailable,relayUrl:r,relayUrls:n.relayAvailable?i:[],relayUrlLocked:n.relayUrlLocked===!0,remoteHost:e}}catch{}let n=df(),r=n?`http://127.0.0.1:${n}`:ff(window.location.origin)?window.location.origin:null,i=null;try{let e=te(await pf());i=e&&!ff(e)?e:null}catch{}return{localUrl:r,lanUrl:i,relayAvailable:!1,relayUrl:null,relayUrls:[],relayUrlLocked:!1,remoteHost:e}},[t]),An=Me(async()=>{at.current=!1,it(``),st(null),ht(null),yt(null),xt(!1),_t(null),Ft(null),Tt(`configure`),X(!1),jt(!0),Ct(!0);let e=await kn();at.current||it(e.serverName||``),Vt(e),Rt(!1);let t=e.remoteHost?null:zd();Nt((e.relayUrlLocked||e.remoteHost?e.relayUrl:t||e.relayUrl)||`wss://relay.openchamber.dev/ws`),kt(e.relayAvailable?`relay`:e.lanUrl?`lan`:`local`)}),jn=K(e=>e.devicePairingRequested);Q.useEffect(()=>{!jn||!t||(K.setState({devicePairingRequested:!1}),An())},[jn,t,An]);let Mn=Me(async()=>{if(!(!t?.createPairingSession||!Bt)){st(null),Dt(!0);try{let n=rt.trim()||void 0,r,i,a=!0;Ot===`local`?(r=Bt.localUrl??void 0,i=!1):Ot===`lan`?(r=Bt.lanUrl??void 0,i=At):At&&Bt.lanUrl?(r=Bt.lanUrl,i=!0):(a=!1,i=!0),Bt.relayAvailable||(i=!1);let o=i?Rd(Mt):null;if(i&&!o){Ft(e(`settings.remoteInstances.clientAuth.addDevice.relayUrlInvalid`)),X(!0);return}Ft(null);let{pairing:s,server:c}=await t.createPairingSession({label:n,allowedClientKinds:[`mobile`,`desktop`],serverUrl:r,includeRelay:i,includeDirect:a,...o?{relayUrl:o}:{}}),l=fd({pairingId:s.id,secret:s.secret,label:n||c.label,fingerprint:s.fingerprint??void 0,expiresAt:s.expiresAt,candidates:c.candidates}),u=l.candidates.find(e=>e.type===`relay`);u&&(Nt(u.relayUrl),Bt?.remoteHost!==!0&&Bd(u.relayUrl));let d=pd(l);ht(d),yt(await Ju.toDataURL(d,{width:1024,margin:2,errorCorrectionLevel:`L`})),xt(!1),En.current=!1,_t(s.id),Tt(`result`),await Tn({silent:!0})}catch(e){st(e instanceof Error?e.message:String(e))}finally{Dt(!1)}}}),Nn=Q.useCallback(()=>{mt&&Pe(mt).then(e=>{e.ok&&(xt(!0),window.setTimeout(()=>xt(!1),2e3))})},[mt]),Pn=Me(async()=>{if(!(!t||!ct||ut||!ct.label.trim())){dt(!0),pt(null);try{let e=await t.renameClient(ct.id,ct.label.trim());Qe(t=>t.map(t=>t.id===e.id?e:t)),lt(null),await Tn({silent:!0})}catch(e){pt(e instanceof Error?e.message:String(e))}finally{dt(!1)}}}),Fn=Q.useCallback(async e=>{if(!t)return;let n=e.clientKind===`desktop-local`;st(null);try{if(await t.revokeClient(e.id),n&&j()){let t=await ne();await U({hosts:t.hosts,defaultHostId:t.defaultHostId,initialHostChoiceCompleted:t.initialHostChoiceCompleted,localClientToken:null}),Qe(t=>t.map(t=>t.id===e.id?{...t,revokedAt:new Date().toISOString()}:t)),a({apiBaseUrl:c(),clientToken:null,runtimeKey:`local`});return}await Tn()}catch(e){st(e instanceof Error?e.message:String(e))}},[t,Tn]),In=Q.useCallback(async()=>{if(t){st(null);try{await t.purgeRevokedClients(),await Tn()}catch(e){st(e instanceof Error?e.message:String(e))}}},[t,Tn]);Q.useEffect(()=>{E(w)},[w]),Q.useEffect(()=>{let e=!1;return!S||w?.remoteOpenchamber?.mode!==`managed`?(O([]),()=>{e=!0}):(nr(S).then(t=>{e||O(t.slice(-5).reverse())}).catch(()=>{e||O([])}),()=>{e=!0})},[S,w?.remoteOpenchamber?.mode,oe]),Q.useEffect(()=>{if(!S)return;let e=window.setInterval(()=>{typeof document<`u`&&document.visibilityState!==`visible`||h()},2e3);return()=>{window.clearInterval(e)}},[h,S]),Q.useEffect(()=>{let e=null,t=Date.now(),n=()=>{let r=Date.now();r-t>=1e3&&(De(r),t=r),e=requestAnimationFrame(n)};(typeof document>`u`||document.visibilityState===`visible`)&&(e=requestAnimationFrame(n));let r=()=>{document.visibilityState===`visible`&&e===null?e=requestAnimationFrame(n):document.visibilityState!==`visible`&&e!==null&&(cancelAnimationFrame(e),e=null)};return document.addEventListener(`visibilitychange`,r),()=>{document.removeEventListener(`visibilitychange`,r),e!==null&&cancelAnimationFrame(e)}},[]);let Ln=S?l[S]:null,zn=Ln?.phase,Bn=zn===`ready`,Vn=zn===`degraded`,Hn=tf(zn),Wn=Bn||Hn||Vn,Kn=Ln?Math.max(0,Ee-Ln.updatedAtMs):0,qn=Vn&&Kn>12e3,Jn=Q.useMemo(()=>!T||!w?!1:JSON.stringify(T)!==JSON.stringify(w),[T,w]),Yn=Q.useCallback(e=>{E(t=>t&&e(t))},[]),Xn=Q.useCallback(async()=>{if(!T)return;let t=hf(T);if(!t.sshCommand.trim()){Y.error(e(`settings.remoteInstances.page.toast.sshCommandRequired`));return}if(!(t.localForward.bindHost===`0.0.0.0`&&!window.confirm(e(`settings.remoteInstances.page.confirm.bindAllInterfaces`)))){if(t.auth.sshPassword?.enabled&&t.auth.sshPassword.value?.trim()&&t.auth.sshPassword.store!==`settings`){let n=window.confirm(e(`settings.remoteInstances.page.confirm.storeSshPasswordPlaintext`));t.auth.sshPassword.store=n?`settings`:`never`,n||(t.auth.sshPassword.value=void 0)}if(t.auth.openchamberPassword?.enabled&&t.auth.openchamberPassword.value?.trim()&&t.auth.openchamberPassword.store!==`settings`){let n=window.confirm(e(`settings.remoteInstances.page.confirm.storeUiPasswordPlaintext`));t.auth.openchamberPassword.store=n?`settings`:`never`,n||(t.auth.openchamberPassword.value=void 0)}try{await g(t),Y.success(e(`settings.remoteInstances.page.toast.instanceSaved`))}catch(t){Y.error(e(`settings.remoteInstances.page.toast.saveFailed`),{description:t instanceof Error?t.message:String(t)})}}},[T,e,g]),Zn=Q.useCallback(async(t,n)=>{let r=`ssh-${Date.now()}-${Math.random().toString(16).slice(2)}`;try{return await _(r,`ssh ${n}`,t),C(r),Y.success(e(`settings.remoteInstances.page.toast.instanceCreated`)),!0}catch(t){return Y.error(e(`settings.remoteInstances.sidebar.toast.createFailed`),{description:t instanceof Error?t.message:String(t)}),!1}},[_,C,e]),Qn=Q.useCallback(()=>{ve||(he(null),_e(``))},[ve]),$n=Q.useCallback(async()=>{let t=me,n=ge.trim();if(t){if(!n){Y.error(e(`settings.remoteInstances.page.toast.destinationRequired`));return}ye(!0);try{await Zn(t,n)&&(he(null),_e(``))}finally{ye(!1)}}},[Zn,ge,me,e]),er=Q.useCallback(async()=>{if(w)try{await y(w.id);return}catch(t){if(!Yd(t)||!window.confirm(e(`settings.remoteInstances.sidebar.confirm.localPortInUseRetry`)))throw t;let n={...w,localForward:{...w.localForward,preferredLocalPort:Hd()}};await g(n),await y(n.id),Y.success(e(`settings.remoteInstances.sidebar.toast.retriedWithRandomPort`))}},[y,w,e,g]),tr=Q.useCallback(async e=>(await Rn(e,600)).map(e=>uf(e)),[]),rr=Q.useCallback(async()=>{if(T){M(!0),P(!0),L(null);try{let e=await tr(T.id);z(e)}catch(e){z([]),L(e instanceof Error?e.message:String(e))}finally{P(!1)}}},[T,tr]);Q.useEffect(()=>{if(!A||!T)return;let e=!1,t=async()=>{try{let t=await tr(T.id);e||(z(t),L(null))}catch(t){e||L(t instanceof Error?t.message:String(t))}};t();let n=window.setInterval(()=>{typeof document<`u`&&document.visibilityState!==`visible`||t()},1e3);return()=>{e=!0,window.clearInterval(n)}},[T,A,tr]);let ir=Q.useMemo(()=>R.join(`
24
24
  `),[R]),ar=Q.useCallback(()=>{if(!ir.trim()){Y.error(e(`settings.remoteInstances.page.toast.noLogsToCopy`));return}Pe(ir).then(t=>{t.ok&&Y.success(e(`settings.remoteInstances.page.toast.logsCopied`))})},[ir,e]),or=Q.useCallback(async()=>{if(T)try{await bn(T.id),z([]),Y.success(e(`settings.remoteInstances.page.toast.logsCleared`))}catch(t){Y.error(e(`settings.remoteInstances.page.toast.clearLogsFailed`),{description:t instanceof Error?t.message:String(t)})}},[T,e]),sr=Q.useCallback(async()=>{if(!Ln?.localUrl){Y.error(e(`settings.remoteInstances.page.toast.instanceUrlUnavailable`));return}let t=Ln.localUrl.trim();if(!t){Y.error(e(`settings.remoteInstances.page.toast.instanceUrlUnavailable`));return}mf(t)},[Ln?.localUrl,e]),cr=Q.useCallback((e,t=`ssh`,n=null)=>{le(e),de(t),pe(n),se(!0)},[]),lr=Q.useCallback(()=>{if(!T)return;let t=Wn,n=T.id;Ce(!0),(t?b(n):er()).catch(n=>{let r=t?Bn?`settings.remoteInstances.page.toast.disconnectFailed`:`settings.remoteInstances.page.toast.cancelConnectionFailed`:`settings.remoteInstances.page.toast.connectFailed`,i=Ln?.detail||(n instanceof Error?n.message:String(n)),a=On(Ln?.errorCode,i);Y.error(e(r),{description:t?n instanceof Error?n.message:String(n):Gn(e(Un(a)),a,i)})}).finally(()=>{Ce(!1)})},[Wn,er,b,T,Bn,Ln,e]),ur=Q.useCallback(()=>{T&&(Hn||(Te(!0),(Vn?b(T.id).then(()=>er()):x(T.id)).catch(t=>{let n=Ln?.detail||(t instanceof Error?t.message:String(t)),r=On(Ln?.errorCode,n);Y.error(e(`settings.remoteInstances.page.toast.retryFailed`),{description:Gn(e(Un(r)),r,n)})}).finally(()=>{Te(!1)})))},[er,b,T,Hn,Vn,x,Ln,e]),fr=e(Hn?`settings.remoteInstances.page.actions.connecting`:Vn?qn?`settings.remoteInstances.page.actions.reconnectNow`:`settings.remoteInstances.page.actions.reconnecting`:`settings.remoteInstances.sidebar.actions.retry`),pr=!Se&&!we&&(zn===`error`||zn===`idle`||!zn||Vn&&qn)&&!Hn,mr=e(Bn?`settings.remoteInstances.sidebar.actions.disconnect`:Wn?`settings.remoteInstances.page.actions.cancel`:`settings.remoteInstances.sidebar.actions.connect`);if(!T)return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Nl,{children:[t?(0,$.jsxs)(of,{itemId:`remote-instances.client-auth`,label:e(`settings.remoteInstances.clientAuth.title`),action:(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 pt-0.5`,children:[(0,$.jsx)(J,{type:`button`,size:`xs`,className:`!font-normal`,onClick:()=>Xe(!0),disabled:Be,children:e(`settings.remoteInstances.direct.import.action`)}),(0,$.jsxs)(J,{type:`button`,size:`xs`,className:`!font-normal`,onClick:()=>void An(),children:[(0,$.jsx)(Z,{name:`add`,className:`h-3.5 w-3.5`}),e(`settings.remoteInstances.clientAuth.actions.addDevice`)]}),Ht>0?(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:()=>void In(),children:e(`settings.remoteInstances.clientAuth.actions.clearRevoked`)}):null]}),children:[(0,$.jsx)(`div`,{className:`space-y-1`,children:tt&&Ze.length===0&&$e.length===0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.remoteInstances.clientAuth.state.loading`)}):Ze.length===0&&$e.length===0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.remoteInstances.clientAuth.state.empty`)}):(0,$.jsxs)($.Fragment,{children:[$e.map(t=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1.5`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full bg-[var(--status-warning)] animate-pulse`}),(0,$.jsx)(`p`,{className:`typography-ui-label text-foreground truncate`,children:t.label||e(`settings.remoteInstances.clientAuth.field.labelPlaceholder`)}),t.usesRelay?(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground bg-muted px-1 rounded shrink-0 leading-none pb-px border border-border/50`,children:e(`settings.remoteInstances.clientAuth.state.viaRelay`)}):null]}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground truncate`,children:e(`settings.remoteInstances.clientAuth.state.pending`)})]}),(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:()=>void Dn(t.id),children:e(`settings.common.actions.cancel`)})]},`pending-${t.id}`)),Ze.map(t=>{let n=t.clientKind===`desktop-local`,r=t.lastUsedAt?Date.parse(t.lastUsedAt):NaN,i=!t.revokedAt&&(n||Number.isFinite(r)&&Date.now()-r<9e4),a=t.revokedAt?e(`settings.remoteInstances.clientAuth.state.revoked`):i?t.lastTransport===`relay`&&!n?e(`settings.remoteInstances.clientAuth.state.connectedRelay`):e(`settings.remoteInstances.clientAuth.state.connectedDirect`):t.lastUsedAt?e(`settings.remoteInstances.clientAuth.lastUsed`,{date:ed(r,{locale:Re()})}):e(`settings.remoteInstances.clientAuth.neverUsed`),o=Number.isFinite(r)?new Date(r).toLocaleString(Re()):void 0;return(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 py-1.5`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 basis-48`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(`span`,{className:q(`h-2 w-2 shrink-0 rounded-full`,t.revokedAt?`bg-muted-foreground/20`:i?`bg-[var(--status-success)]`:`bg-muted-foreground/30`)}),(0,$.jsx)(`p`,{className:`typography-ui-label text-foreground truncate`,children:t.label}),(()=>{let e=Zd(t.devicePlatform),n=Qd(t.devicePlatform);return e&&n?(0,$.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded-full border border-border/50 px-1.5 py-px text-muted-foreground`,title:e,"aria-label":e,children:[(0,$.jsx)(Z,{name:n,className:`h-3 w-3`}),(0,$.jsx)(`span`,{className:`typography-micro leading-none`,children:e})]}):null})(),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:e(`settings.remoteInstances.clientAuth.state.thisDevice`)}):null]}),(0,$.jsx)(`p`,{className:q(`typography-micro truncate`,i&&!t.revokedAt?`text-[var(--status-success)]`:`text-muted-foreground`),title:o,children:a})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:()=>{pt(null),lt({id:t.id,label:t.label})},disabled:ut,children:e(`settings.remoteInstances.clientAuth.edit.action`)}),(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:()=>void Fn(t),disabled:!!t.revokedAt||ut,children:e(`settings.remoteInstances.clientAuth.actions.revoke`)})]})]},t.id)})]})}),ot?(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:ot}):null]}):null,i?(0,$.jsx)(of,{itemId:`remote-instances.instances`,label:e(`settings.remoteInstances.sidebar.title`),action:sn.length>0||o.length>0?(0,$.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 pt-0.5`,children:(0,$.jsxs)(J,{type:`button`,variant:`secondary`,size:`xs`,className:`!font-normal`,onClick:()=>Wt(!0),children:[(0,$.jsx)(Z,{name:`add`,className:`h-3.5 w-3.5`}),e(`settings.remoteInstances.sidebar.actions.addSshInstance`)]})}):void 0,children:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[Le||u?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.remoteInstances.direct.state.loading`)}):sn.length===0&&o.length===0?(0,$.jsxs)(`div`,{className:`flex flex-col items-center px-6 py-10 text-center`,children:[(0,$.jsx)(Z,{name:`device-desktop`,className:`mb-5 size-16 text-muted-foreground/45`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-medium text-foreground`,children:e(`settings.remoteInstances.quick.sshTitle`)}),(0,$.jsx)(`p`,{className:`mt-2 max-w-sm typography-meta leading-relaxed text-muted-foreground`,children:e(`settings.remoteInstances.quick.sshHint`)}),(0,$.jsxs)(J,{type:`button`,variant:`secondary`,size:`sm`,className:`mt-6 gap-2 rounded-xl`,onClick:()=>Wt(!0),children:[(0,$.jsx)(Z,{name:`add`,className:`size-4`}),e(`settings.remoteInstances.sidebar.actions.addSshInstance`)]})]}):(0,$.jsxs)($.Fragment,{children:[sn.map(t=>{let n=Ae[t.id],r=n?n.status===`ok`?`desktopHostSwitcher.status.connected`:n.status===`auth`?`desktopHostSwitcher.status.authRequired`:n.status===`update-recommended`?`desktopHostSwitcher.status.updateRecommended`:n.status===`incompatible`?`desktopHostSwitcher.status.incompatible`:n.status===`wrong-service`?`desktopHostSwitcher.status.wrongService`:`desktopHostSwitcher.status.unreachable`:`desktopHostSwitcher.status.checking`,i=n?.status===`ok`,a=ae(t),o=a||We||Be;return(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1.5`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(`span`,{className:q(`h-2 w-2 shrink-0 rounded-full`,n?i||a?`bg-[var(--status-success)]`:`bg-[var(--status-error)]`:`bg-muted-foreground/30 animate-pulse`)}),(0,$.jsx)(`p`,{className:`typography-ui-label text-foreground truncate`,children:H(t.label)}),(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:e(`settings.remoteInstances.channel.link`)}),a?(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground shrink-0`,children:e(`desktopHostSwitcher.header.current`)}):null,Ne===t.id?(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground shrink-0`,children:e(`desktopHostSwitcher.header.default`)}):null,(0,$.jsxs)(`span`,{className:q(`typography-micro shrink-0`,i||a?`text-[var(--status-success)]`:`text-muted-foreground`),children:[e(r),i&&typeof n?.latencyMs==`number`?e(`desktopHostSwitcher.status.ping`,{ms:Math.max(0,Math.round(n.latencyMs))}):``]})]}),(0,$.jsx)(`p`,{className:q(`typography-micro text-muted-foreground truncate`,t.apiUrl&&`font-mono`),children:t.relay&&!t.apiUrl?e(`mobile.connect.relay.badge`):H(t.apiUrl||t.url)})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>void Sn(t),disabled:o,"aria-label":e(`desktopHostSwitcher.actions.switchToAria`,{instance:H(t.label)}),children:[(0,$.jsx)(Z,{name:`arrow-left-right`,className:`h-3.5 w-3.5`}),e(a?`desktopHostSwitcher.header.current`:`desktopHostSwitcher.actions.switchInstance`)]}),(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:()=>void xn(t.id),disabled:Be||Ne===t.id,"aria-label":e(`desktopHostSwitcher.actions.setAsDefaultAria`),children:Ne===t.id?(0,$.jsx)(Z,{name:`star-fill`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`star`,className:`h-3.5 w-3.5`})}),(()=>{let n=W(t),r=!!n&&!n.startsWith(`relay://`)&&!t.relay;return t.relay?.serverId&&t.relay?.relayUrl&&t.relay?.hostEncPubJwk&&t.clientToken&&t.relay?(0,$.jsxs)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:()=>cr(t.id,`relay`,t),"aria-label":e(`settings.remoteInstances.page.sync.title`),children:[(0,$.jsx)(Z,{name:`refresh`,className:`h-3.5 w-3.5`}),e(`settings.remoteInstances.page.sync.actions.syncNow`)]}):r?(0,$.jsxs)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:()=>cr(t.id,`direct`),"aria-label":e(`settings.remoteInstances.page.sync.title`),children:[(0,$.jsx)(Z,{name:`refresh`,className:`h-3.5 w-3.5`}),e(`settings.remoteInstances.page.sync.actions.syncNow`)]}):null})(),(0,$.jsxs)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:()=>void fn(t.id),disabled:Be||We,children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`h-3.5 w-3.5`}),e(`settings.common.actions.delete`)]})]})]},`link:${t.id}`)}),o.map(t=>{let n=l[t.id],r=t.nickname?.trim()||t.sshParsed?.destination||t.id,i=n?.phase,a=i===`ready`,o=Oe.find(e=>e.id===t.id),s=ae({id:t.id,label:r,url:n?.localUrl||o?.url||``}),c=(0,$.jsxs)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:()=>void wn(t),disabled:s||We||!a,"aria-label":e(`desktopHostSwitcher.actions.switchToAria`,{instance:r}),children:[(0,$.jsx)(Z,{name:`arrow-left-right`,className:`h-3.5 w-3.5`}),e(s?`desktopHostSwitcher.header.current`:`desktopHostSwitcher.actions.switchInstance`)]});return(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1.5`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full ${nf(i)}`}),(0,$.jsx)(`p`,{className:`typography-ui-label text-foreground truncate`,children:r}),(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:e(`settings.remoteInstances.channel.ssh`)}),s?(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground shrink-0`,children:e(`desktopHostSwitcher.header.current`)}):null]}),(0,$.jsxs)(`p`,{className:`typography-micro text-muted-foreground truncate`,children:[e($d(i)),n?.localUrl?` · ${n.localUrl}`:``]})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,$.jsxs)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:()=>{(a?b(t.id):y(t.id)).catch(t=>{let r=n?.detail||(t instanceof Error?t.message:String(t)),i=On(n?.errorCode,r);Y.error(e(a?`settings.remoteInstances.sidebar.toast.disconnectFailed`:`settings.remoteInstances.sidebar.toast.connectFailed`),{description:a?t instanceof Error?t.message:String(t):Gn(e(Un(i)),i,r)})})},children:[a?(0,$.jsx)(Z,{name:`stop`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`plug-2`,className:`h-3.5 w-3.5`}),e(a?`settings.remoteInstances.sidebar.actions.disconnect`:`settings.remoteInstances.sidebar.actions.connect`)]}),a?c:(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex`,children:c})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.remoteInstances.sidebar.actions.switchInstanceDisabled`)})]}),a&&t.remoteOpenchamber?.mode!==`external`?(0,$.jsxs)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:()=>cr(t.id),children:[(0,$.jsx)(Z,{name:`refresh`,className:`h-3.5 w-3.5`}),e(`settings.remoteInstances.sidebar.actions.syncConfig`)]}):(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(`span`,{className:`inline-flex`,children:(0,$.jsxs)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,disabled:!0,"aria-label":e(`settings.remoteInstances.sidebar.actions.syncConfigDisabled`),children:[(0,$.jsx)(Z,{name:`refresh`,className:`h-3.5 w-3.5`}),e(`settings.remoteInstances.sidebar.actions.syncConfig`)]})})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.remoteInstances.sidebar.actions.syncConfigDisabled`)})]}),(0,$.jsxs)(J,{type:`button`,variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:()=>C(t.id),children:[(0,$.jsx)(Z,{name:`pencil`,className:`h-3.5 w-3.5`}),e(`desktopHostSwitcher.actions.edit`)]})]})]},`ssh:${t.id}`)})]}),qe?(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:qe}):null]})}):null,(0,$.jsx)(an,{open:ct!==null,onOpenChange:e=>{!e&&!ut&&lt(null)},children:(0,$.jsxs)(tn,{className:`sm:max-w-sm`,showCloseButton:!ut,children:[(0,$.jsx)($t,{children:(0,$.jsx)(nn,{children:e(`settings.remoteInstances.clientAuth.edit.title`)})}),(0,$.jsxs)(`form`,{className:`space-y-4`,onSubmit:e=>{e.preventDefault(),Pn()},children:[(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`label`,{htmlFor:`remote-client-name`,className:`typography-ui-label text-muted-foreground`,children:e(`settings.remoteInstances.clientAuth.edit.name`)}),(0,$.jsx)(gn,{id:`remote-client-name`,className:`text-left`,autoFocus:!0,value:ct?.label??``,maxLength:80,disabled:ut,onChange:e=>lt(t=>t?{...t,label:e.target.value}:null),onKeyDown:e=>{e.key===`Enter`&&e.nativeEvent.isComposing&&e.preventDefault()},"aria-invalid":!!ft,"aria-describedby":ft?`remote-client-name-error`:void 0}),ft?(0,$.jsx)(`p`,{id:`remote-client-name-error`,role:`alert`,className:`typography-meta text-[var(--status-error)]`,children:ft}):null]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>lt(null),disabled:ut,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{type:`submit`,size:`sm`,disabled:ut||!ct?.label.trim(),children:e(`settings.common.actions.saveChanges`)})]})]})]})}),i?(0,$.jsx)(an,{open:Ye,onOpenChange:Xe,children:(0,$.jsxs)(tn,{className:`sm:max-w-lg`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:e(`settings.remoteInstances.direct.import.action`)}),(0,$.jsx)(rn,{children:e(`settings.remoteInstances.direct.import.description`)})]}),(0,$.jsxs)(`form`,{className:`space-y-3`,onSubmit:e=>{e.preventDefault(),ln()},children:[(0,$.jsx)(gn,{className:`h-8`,value:Ge,onChange:e=>Ke(e.target.value),placeholder:e(`settings.remoteInstances.direct.import.placeholder`),disabled:Be,autoFocus:!0}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>Xe(!1),disabled:Be,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{type:`submit`,size:`xs`,className:`!font-normal`,disabled:Be||!Ge.trim(),children:e(`settings.remoteInstances.direct.import.action`)})]})]})]})}):null,(0,$.jsx)(an,{open:St,onOpenChange:Ct,children:(0,$.jsxs)(tn,{className:`sm:max-w-xl`,children:[(0,$.jsxs)($t,{className:`items-center pt-4 text-center sm:text-center`,children:[wt===`configure`?(0,$.jsx)(Z,{name:`devices-connected`,className:`mb-3 size-20 text-muted-foreground`}):null,(0,$.jsx)(nn,{className:`text-xl`,children:e(wt===`result`?`settings.remoteInstances.clientAuth.qrDialogTitle`:`settings.remoteInstances.clientAuth.actions.addDevice`)}),(0,$.jsx)(rn,{className:`max-w-sm text-center leading-relaxed`,children:e(wt===`result`?`settings.remoteInstances.clientAuth.qrScanHint`:`settings.remoteInstances.quick.emptyHint`)})]}),wt===`configure`?(0,$.jsxs)(`ol`,{className:`grid grid-cols-3 gap-3 py-4 text-center`,children:[(0,$.jsxs)(`li`,{className:`flex min-w-0 flex-col items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`flex size-6 shrink-0 items-center justify-center rounded-full bg-[var(--surface-muted)] typography-micro text-muted-foreground`,"aria-hidden":`true`,children:`1`}),(0,$.jsxs)(`a`,{href:`https://github.com/yee94/openchambery/releases`,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>{e.preventDefault(),Lr(`https://github.com/yee94/openchambery/releases`)},className:`inline-flex items-center justify-center gap-1 whitespace-nowrap typography-meta text-foreground underline decoration-[var(--interactive-border)] underline-offset-4 hover:decoration-current`,children:[e(`settings.remoteInstances.pairing.downloadStep`),(0,$.jsx)(Z,{name:`external-link`,className:`size-3 shrink-0`})]})]}),(0,$.jsxs)(`li`,{className:`flex min-w-0 flex-col items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`flex size-6 shrink-0 items-center justify-center rounded-full bg-[var(--surface-muted)] typography-micro text-muted-foreground`,"aria-hidden":`true`,children:`2`}),(0,$.jsx)(`p`,{className:`typography-meta text-foreground`,children:e(`settings.remoteInstances.clientAuth.addDevice.create`)})]}),(0,$.jsxs)(`li`,{className:`flex min-w-0 flex-col items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`flex size-6 shrink-0 items-center justify-center rounded-full bg-[var(--surface-muted)] typography-micro text-muted-foreground`,"aria-hidden":`true`,children:`3`}),(0,$.jsx)(`p`,{className:`typography-meta text-foreground`,children:e(`settings.remoteInstances.clientAuth.qrDialogTitle`)})]})]}):null,wt===`configure`?(0,$.jsxs)(`form`,{className:`space-y-4`,onSubmit:e=>{e.preventDefault(),Mn()},children:[(0,$.jsxs)(`label`,{className:`block space-y-3 rounded-2xl bg-[var(--surface-muted)] p-4`,children:[(0,$.jsxs)(`span`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.remoteInstances.pairing.name`)}),(0,$.jsx)(`span`,{id:`add-device-instance-name-hint`,className:`font-normal text-muted-foreground`,style:{fontSize:`var(--form-helper-font-size)`,lineHeight:`var(--form-helper-line-height)`},children:e(`settings.remoteInstances.clientAuth.field.labelHint`)})]}),(0,$.jsx)(gn,{className:`w-full hover:[&:not(:focus)]:ring-border/60`,value:rt,onChange:e=>{at.current=!0,it(e.target.value)},placeholder:e(`settings.remoteInstances.clientAuth.field.labelPlaceholder`),"aria-describedby":`add-device-instance-name-hint`})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label text-foreground`,children:e(`settings.remoteInstances.clientAuth.addDevice.transportLabel`)}),(0,$.jsx)(`div`,{role:`radiogroup`,"aria-label":e(`settings.remoteInstances.clientAuth.addDevice.transportLabel`),className:`grid grid-cols-3 gap-2 pt-2`,children:[{key:`relay`,label:e(`settings.remoteInstances.clientAuth.addDevice.transport.relay`),hint:e(`settings.remoteInstances.pairing.anywhere`),available:!!Bt?.relayAvailable},{key:`lan`,label:e(`settings.remoteInstances.clientAuth.addDevice.transport.lan`),hint:e(`settings.remoteInstances.pairing.lan`),available:!!Bt?.lanUrl},{key:`local`,label:e(`settings.remoteInstances.clientAuth.addDevice.transport.local`),hint:e(`settings.remoteInstances.pairing.local`),available:!!Bt?.localUrl}].map(e=>{let t=Ot===e.key;return(0,$.jsxs)(`div`,{className:q(`flex min-w-0 flex-col gap-2 rounded-xl border p-3 transition-colors`,t?`border-[var(--interactive-selection)] bg-[var(--interactive-selection)]`:`border-[var(--interactive-border)]`,e.available?`cursor-pointer hover:bg-interactive-hover`:`opacity-45`),onClick:()=>{e.available&&kt(e.key)},role:`presentation`,children:[(0,$.jsx)(ec,{checked:t,disabled:!e.available,onChange:()=>kt(e.key),ariaLabel:e.label,className:`shrink-0 !self-start`}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{className:q(`typography-ui-label font-normal`,t?`text-foreground`:`text-foreground/70`),children:e.label}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e.hint})]})]},e.key)})}),Ot===`lan`?(0,$.jsxs)(`label`,{className:`flex w-fit cursor-pointer items-center gap-2 pt-1`,children:[(0,$.jsx)(on,{checked:At,onChange:jt,ariaLabel:e(`settings.remoteInstances.clientAuth.addDevice.fallback.relay`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e(`settings.remoteInstances.clientAuth.addDevice.fallback.relay`)})]}):null,Ot===`relay`&&Bt?.lanUrl?(0,$.jsxs)(`label`,{className:`flex w-fit cursor-pointer items-center gap-2 pt-1`,children:[(0,$.jsx)(on,{checked:At,onChange:jt,ariaLabel:e(`settings.remoteInstances.clientAuth.addDevice.fallback.preferLocal`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e(`settings.remoteInstances.clientAuth.addDevice.fallback.preferLocal`)})]}):null,(0,$.jsxs)(Hi,{open:It,onOpenChange:X,className:`pt-3`,children:[(0,$.jsxs)(Vi,{className:`px-0 hover:bg-transparent`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label`,children:e(`settings.remoteInstances.pairing.advanced`)}),(0,$.jsx)(Z,{name:It?`arrow-up-s`:`arrow-down-s`,className:`size-4 text-muted-foreground`})]}),(0,$.jsx)(`p`,{className:`mt-1 font-normal text-muted-foreground`,style:{fontSize:`var(--form-helper-font-size)`,lineHeight:`var(--form-helper-line-height)`},children:e(`settings.remoteInstances.pairing.relayHint`)}),(0,$.jsx)(Bi,{children:(()=>{let t=Array.from(new Set([...Bt?.relayUrls??[],...Bt?.relayUrl?[Bt.relayUrl]:[]])),n=t.length>1,r=Bt?.relayUrlLocked!==!0&&Bt?.remoteHost!==!0,i=n&&!Lt;return(0,$.jsxs)(`label`,{className:`block space-y-1.5 pt-2`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.remoteInstances.clientAuth.addDevice.relayUrlLabel`)}),i?(0,$.jsxs)(pn,{value:t.includes(Mt)?Mt:t[0],onValueChange:e=>{if(e===`__custom__`){Rt(!0);return}Nt(e),Ft(null)},children:[(0,$.jsx)(un,{className:`h-8 w-full font-mono`,"aria-label":e(`settings.remoteInstances.clientAuth.addDevice.relayUrlLabel`),children:(0,$.jsx)(hn,{})}),(0,$.jsxs)(dn,{children:[t.map(e=>(0,$.jsx)(cn,{value:e,className:`font-mono`,children:(0,$.jsx)(`span`,{className:`block max-w-[420px] truncate`,children:e})},e)),r?(0,$.jsx)(cn,{value:`__custom__`,children:e(`settings.remoteInstances.clientAuth.addDevice.relayUrlCustomOption`)}):null]})]}):(0,$.jsx)(gn,{ref:zt,className:`h-8 font-mono`,value:Mt,onChange:e=>{Nt(e.target.value),Ft(null)},placeholder:Id,readOnly:Bt?.relayUrlLocked===!0||Bt?.remoteHost===!0,"aria-readonly":Bt?.relayUrlLocked===!0||Bt?.remoteHost===!0||void 0,"aria-invalid":!!Pt||void 0,"aria-describedby":Pt?`add-device-relay-url-hint add-device-relay-url-error`:`add-device-relay-url-hint`,spellCheck:!1,autoCapitalize:`none`,autoCorrect:`off`}),(0,$.jsx)(`span`,{id:`add-device-relay-url-hint`,className:`block typography-meta text-muted-foreground`,children:Bt?.relayUrlLocked?e(`settings.remoteInstances.clientAuth.addDevice.relayUrlLockedHint`):Bt?.remoteHost?e(`settings.remoteInstances.clientAuth.addDevice.relayUrlRemoteHostHint`):e(`settings.remoteInstances.clientAuth.addDevice.relayUrlHint`)}),(0,$.jsx)(`a`,{href:Vd,target:`_blank`,rel:`noopener noreferrer`,className:`block typography-meta text-muted-foreground underline underline-offset-2 hover:text-foreground`,onClick:e=>{e.preventDefault(),Lr(Vd)},children:e(`settings.remoteInstances.clientAuth.addDevice.relayUrlDeployLink`)}),Pt?(0,$.jsx)(`span`,{id:`add-device-relay-url-error`,role:`alert`,"aria-live":`polite`,className:`block typography-meta text-[var(--status-error)]`,children:Pt}):null]})})()})]})]}),ot?(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:ot}):null,(0,$.jsxs)(`div`,{className:`flex justify-end gap-3 pt-4`,children:[(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`sm`,className:`!font-normal`,onClick:()=>Ct(!1),disabled:Et,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{type:`submit`,variant:`default`,size:`sm`,className:`!font-normal`,disabled:Et||!Bt,children:e(`settings.remoteInstances.clientAuth.addDevice.create`)})]})]}):(0,$.jsxs)(`div`,{className:`space-y-3`,children:[vt?(0,$.jsx)(`div`,{className:`flex justify-center`,children:(0,$.jsx)(`img`,{src:vt,alt:e(`settings.remoteInstances.clientAuth.qrAlt`),className:`w-full max-w-[420px] rounded-md bg-white p-4`})}):null,(0,$.jsxs)(`a`,{href:`https://github.com/yee94/openchambery/releases`,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>{e.preventDefault(),Lr(`https://github.com/yee94/openchambery/releases`)},className:`flex items-center justify-center gap-1.5 typography-meta text-muted-foreground hover:text-foreground`,children:[(0,$.jsx)(Z,{name:`download`,className:`size-3.5`}),e(`settings.remoteInstances.quick.download`),(0,$.jsx)(Z,{name:`external-link`,className:`size-3`})]}),mt?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--interactive-border)] p-2`,children:[(0,$.jsx)(`code`,{className:`min-w-0 flex-1 truncate typography-code text-muted-foreground`,children:mt}),(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal shrink-0`,onClick:Nn,children:[(0,$.jsx)(Z,{name:bt?`check`:`file-copy`,className:q(`h-3.5 w-3.5`,bt&&`text-[var(--status-success)]`)}),e(bt?`settings.remoteInstances.clientAuth.actions.copied`:`settings.common.actions.copyAll`)]})]}):null,(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(J,{type:`button`,size:`xs`,className:`!font-normal`,onClick:()=>Ct(!1),children:e(`settings.remoteInstances.clientAuth.addDevice.done`)})})]})]})}),i?(0,$.jsx)(an,{open:Ut,onOpenChange:Wt,children:(0,$.jsxs)(tn,{className:`sm:max-w-lg`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:e(`settings.remoteInstances.sidebar.actions.addSshInstance`)}),(0,$.jsx)(rn,{children:e(`settings.remoteInstances.page.section.instanceDescription`)})]}),(0,$.jsxs)(`form`,{className:`space-y-3`,onSubmit:e=>{e.preventDefault(),mn()},children:[(0,$.jsx)(gn,{className:`h-8`,value:qt,onChange:e=>Jt(e.target.value),placeholder:e(`settings.remoteInstances.page.field.nicknamePlaceholder`),disabled:d}),(0,$.jsx)(gn,{className:`h-8`,value:Gt,onChange:e=>Kt(e.target.value),placeholder:e(`settings.remoteInstances.page.field.sshCommandPlaceholder`),disabled:d,autoFocus:!0}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>Wt(!1),disabled:d,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{type:`submit`,size:`xs`,className:`!font-normal`,disabled:d||!Gt.trim(),children:e(`settings.common.actions.create`)})]})]})]})}):null,(0,$.jsx)(Fd,{}),(0,$.jsx)(an,{open:!!me,onOpenChange:e=>{e||Qn()},children:(0,$.jsxs)(tn,{className:`sm:max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:e(`settings.remoteInstances.page.patternDialog.title`)}),(0,$.jsx)(rn,{children:me?e(`settings.remoteInstances.page.patternDialog.descriptionWithHost`,{host:me}):e(`settings.remoteInstances.page.patternDialog.description`)})]}),(0,$.jsxs)(`form`,{className:`space-y-3`,onSubmit:e=>{e.preventDefault(),$n()},children:[(0,$.jsx)(gn,{value:ge,onChange:e=>_e(e.target.value),placeholder:e(`settings.remoteInstances.page.patternDialog.destinationPlaceholder`),autoFocus:!0}),(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:Qn,disabled:ve,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{type:`submit`,size:`xs`,className:`!font-normal`,disabled:ve,children:e(`settings.remoteInstances.page.actions.create`)})]})]})]})})]}),(0,$.jsx)(Jd,{open:oe,instanceId:ce,targetKind:ue,relayHost:fe,onOpenChange:e=>{se(e),e||(le(null),de(`ssh`),pe(null))}})]});let hr=T.remoteOpenchamber.mode===`managed`,gr=T.nickname?.trim()||T.sshParsed?.destination||T.id;return(0,$.jsx)(an,{open:!!T,onOpenChange:e=>{e||C(null)},children:(0,$.jsxs)(tn,{className:`oc-settings-workspace oc-settings-workspace-desktop oc-settings-section-stack sm:max-w-4xl max-h-[90vh] overflow-auto`,children:[(0,$.jsxs)($t,{className:`gap-1 pr-8`,children:[(0,$.jsx)(nn,{className:`truncate`,children:gr}),(0,$.jsxs)(rn,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`h-2.5 w-2.5 rounded-full ${nf(zn)}`}),(0,$.jsx)(`span`,{children:e($d(zn))}),Ln?.localUrl?(0,$.jsx)(`span`,{className:`font-mono text-foreground/80`,children:Ln.localUrl}):null,qn?(0,$.jsx)(`span`,{children:e(`settings.remoteInstances.page.status.reconnectStale`)}):null]})]}),zn===`error`?(0,$.jsx)(Cn,{errorCode:Ln?.errorCode,detail:Ln?.detail}):null,(0,$.jsxs)(Jr,{label:e(`settings.remoteInstances.page.section.actions`),children:[(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-wrap items-center gap-2`,children:[(0,$.jsxs)(J,{type:`button`,variant:Wn?`outline`:`default`,size:`xs`,className:`!font-normal`,onClick:lr,disabled:Se||we,children:[Wn?(0,$.jsx)(Z,{name:`stop`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`plug-2`,className:`h-3.5 w-3.5`}),mr]}),(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:ur,disabled:!pr,children:[(0,$.jsx)(Z,{name:`refresh`,className:`h-3.5 w-3.5 ${Hn||Vn&&!qn?`animate-spin`:``}`}),fr]}),(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>{rr()},children:[(0,$.jsx)(Z,{name:`terminal-window`,className:`h-3.5 w-3.5`}),e(`settings.remoteInstances.page.actions.logs`)]}),(0,$.jsxs)(J,{type:`button`,variant:`destructive`,size:`xs`,className:`!font-normal`,onClick:()=>{window.confirm(e(`settings.remoteInstances.page.confirm.removeInstance`))&&v(T.id).then(()=>{C(null),Y.success(e(`settings.remoteInstances.page.toast.instanceRemoved`))}).catch(t=>{Y.error(e(`settings.remoteInstances.page.toast.removeInstanceFailed`),{description:t instanceof Error?t.message:String(t)})})},children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`h-3.5 w-3.5`}),e(`settings.remoteInstances.sidebar.actions.remove`)]})]}),Ln?.localUrl?(0,$.jsx)(Yr,{label:e(`settings.remoteInstances.page.status.currentLocalUrl`),children:(0,$.jsx)(`span`,{className:`font-mono text-foreground/90`,children:Ln.localUrl})}):null]}),(0,$.jsxs)(Jr,{label:e(`settings.remoteInstances.page.section.instance`),children:[(0,$.jsx)(Yr,{label:e(`settings.remoteInstances.page.field.sshCommand`),className:`oc-settings-ssh-command-row`,children:(0,$.jsx)(gn,{value:T.sshCommand,onChange:e=>Yn(t=>({...t,sshCommand:e.target.value})),placeholder:e(`settings.remoteInstances.page.field.sshCommandPlaceholder`)})}),(0,$.jsx)(Yr,{label:e(`settings.remoteInstances.page.field.nickname`),children:(0,$.jsx)(gn,{value:T.nickname||``,onChange:e=>Yn(t=>({...t,nickname:e.target.value})),placeholder:e(`settings.remoteInstances.page.field.nicknamePlaceholder`)})}),(0,$.jsx)(Yr,{label:e(`settings.remoteInstances.page.field.connectionTimeoutSeconds`),children:(0,$.jsx)(yi,{min:5,max:240,step:1,className:`tabular-nums`,value:T.connectionTimeoutSec,onValueChange:e=>{Yn(t=>({...t,connectionTimeoutSec:Number.isFinite(e)?e:t.connectionTimeoutSec}))}})})]}),(0,$.jsxs)(Jr,{label:e(`settings.remoteInstances.page.section.remoteServer`),children:[(0,$.jsx)(Yr,{label:e(`settings.remoteInstances.page.field.mode`),children:(0,$.jsxs)(pn,{value:T.remoteOpenchamber.mode,onValueChange:e=>Yn(t=>({...t,remoteOpenchamber:{...t.remoteOpenchamber,mode:e===`external`?`external`:`managed`}})),children:[(0,$.jsx)(un,{children:(0,$.jsx)(hn,{placeholder:e(`settings.remoteInstances.page.field.modePlaceholder`)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`managed`,children:e(`settings.remoteInstances.page.field.modeManaged`)}),(0,$.jsx)(cn,{value:`external`,children:e(`settings.remoteInstances.page.field.modeExternal`)})]})]})}),(0,$.jsx)(Yr,{label:e(`settings.remoteInstances.page.field.preferredRemotePort`),children:(0,$.jsx)(yi,{min:1,max:65535,step:1,className:`tabular-nums`,value:T.remoteOpenchamber.preferredPort,onValueChange:e=>{Yn(t=>({...t,remoteOpenchamber:{...t.remoteOpenchamber,preferredPort:Number.isFinite(e)&&e>0?e:void 0}}))},onClear:()=>{Yn(e=>({...e,remoteOpenchamber:{...e.remoteOpenchamber,preferredPort:void 0}}))},emptyLabel:e(`settings.remoteInstances.page.field.auto`)})}),hr?(0,$.jsx)(Yr,{label:e(`settings.remoteInstances.page.field.installMethod`),children:(0,$.jsxs)(pn,{value:T.remoteOpenchamber.installMethod,onValueChange:e=>Yn(t=>({...t,remoteOpenchamber:{...t.remoteOpenchamber,installMethod:e===`npm`||e===`download_release`||e===`upload_bundle`?e:`bun`}})),children:[(0,$.jsx)(un,{children:(0,$.jsx)(hn,{placeholder:e(`settings.remoteInstances.page.field.selectInstallMethodPlaceholder`)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`bun`,children:`bun`}),(0,$.jsx)(cn,{value:`npm`,children:`npm`}),(0,$.jsx)(cn,{value:`download_release`,children:e(`settings.remoteInstances.page.field.installMethodDownloadRelease`)}),(0,$.jsx)(cn,{value:`upload_bundle`,children:e(`settings.remoteInstances.page.field.installMethodUploadBundle`)})]})]})}):null,hr?(0,$.jsx)(Zr,{checked:T.remoteOpenchamber.keepRunning,onChange:e=>Yn(t=>({...t,remoteOpenchamber:{...t.remoteOpenchamber,keepRunning:e}})),label:e(`settings.remoteInstances.page.field.keepServerRunning`),ariaLabel:e(`settings.remoteInstances.page.field.keepServerRunning`)}):null]}),(0,$.jsxs)(Jr,{label:e(`settings.remoteInstances.page.section.mainTunnel`),children:[(0,$.jsx)(Yr,{label:e(`settings.remoteInstances.page.field.bindHost`),children:(0,$.jsxs)(pn,{value:T.localForward.bindHost,onValueChange:t=>{t===`0.0.0.0`&&!window.confirm(e(`settings.remoteInstances.page.confirm.bindAllInterfaces`))||Yn(e=>({...e,localForward:{...e.localForward,bindHost:t===`localhost`||t===`0.0.0.0`?t:`127.0.0.1`}}))},children:[(0,$.jsx)(un,{children:(0,$.jsx)(hn,{placeholder:e(`settings.remoteInstances.page.field.selectBindHostPlaceholder`)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`127.0.0.1`,children:`127.0.0.1`}),(0,$.jsx)(cn,{value:`localhost`,children:`localhost`}),(0,$.jsx)(cn,{value:`0.0.0.0`,children:`0.0.0.0`})]})]})}),(0,$.jsxs)(Yr,{label:e(`settings.remoteInstances.page.field.preferredLocalPort`),children:[(0,$.jsx)(yi,{min:1,max:65535,step:1,className:`tabular-nums`,value:T.localForward.preferredLocalPort,onValueChange:e=>{Yn(t=>({...t,localForward:{...t.localForward,preferredLocalPort:Number.isFinite(e)&&e>0?e:void 0}}))},onClear:()=>{Yn(e=>({...e,localForward:{...e.localForward,preferredLocalPort:void 0}}))},emptyLabel:e(`settings.remoteInstances.page.field.auto`)}),(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`icon`,"aria-label":e(`settings.remoteInstances.page.actions.pickRandomPort`),onClick:()=>Yn(e=>({...e,localForward:{...e.localForward,preferredLocalPort:Hd()}})),children:(0,$.jsx)(Z,{name:`shuffle`,className:`size-4`})})]})]}),(0,$.jsxs)(Jr,{label:e(`settings.remoteInstances.page.section.authentication`),children:[(0,$.jsx)(Yr,{label:e(`settings.remoteInstances.page.field.sshPasswordOptional`),children:(0,$.jsx)(gn,{type:`password`,value:T.auth.sshPassword?.value||``,onChange:e=>Yn(t=>({...t,auth:{...t.auth,sshPassword:{enabled:e.target.value.trim().length>0,value:e.target.value,store:t.auth.sshPassword?.store||`never`}}})),placeholder:e(`settings.remoteInstances.page.field.sshPasswordPlaceholder`)})}),(0,$.jsx)(Yr,{label:e(`settings.remoteInstances.page.field.uiPasswordOptional`),children:(0,$.jsx)(gn,{type:`password`,value:T.auth.openchamberPassword?.value||``,onChange:e=>Yn(t=>({...t,auth:{...t.auth,openchamberPassword:{enabled:e.target.value.trim().length>0,value:e.target.value,store:t.auth.openchamberPassword?.store||`never`}}})),placeholder:e(`settings.remoteInstances.page.field.uiPasswordPlaceholder`)})})]}),hr?(0,$.jsx)(Jr,{label:e(`settings.remoteInstances.page.sync.runs.title`),children:D.length===0?(0,$.jsx)(`div`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,children:e(`settings.remoteInstances.page.sync.runs.empty`)}):D.map(t=>(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex items-center gap-2 typography-meta`,children:[(0,$.jsx)(`span`,{className:q(`shrink-0`,t.result===`success`?`text-[var(--status-success)]`:`text-[var(--status-error)]`),children:t.result===`success`?e(`settings.remoteInstances.page.sync.runs.result.success`):e(`settings.remoteInstances.page.sync.runs.result.failure`)}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-muted-foreground`,children:[t.direction===`pull`?e(`settings.remoteInstances.page.sync.direction.pull`):e(`settings.remoteInstances.page.sync.direction.push`),t.endedAt?` · ${t.endedAt}`:``]})]},t.syncRunId))}):null,(0,$.jsxs)(Jr,{label:e(`settings.remoteInstances.page.section.portForwards`),children:[T.portForwards.length===0?(0,$.jsx)(`div`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,children:e(`settings.remoteInstances.page.empty.noExtraForwards`)}):null,T.portForwards.map((t,n)=>{let r=e=>{Yn(t=>({...t,portForwards:t.portForwards.map((t,r)=>r===n?e(t):t)}))},i=t.type===`remote`?e(`settings.remoteInstances.page.field.localTarget`):e(`settings.remoteInstances.page.field.localListen`),a=t.type===`remote`?e(`settings.remoteInstances.page.field.remoteListen`):e(`settings.remoteInstances.page.field.remoteTarget`),o=cf(t.localHost||`localhost`,t.localPort),s=cf(t.remoteHost||`localhost`,t.remotePort),c=t.type===`local`&&typeof t.localPort==`number`&&t.localPort>0,l=c?`http://${lf(t.localHost)}:${t.localPort}`:``,u=!!be[t.id],d=t.type===`local`?e(`settings.remoteInstances.page.forwardType.local`):t.type===`remote`?e(`settings.remoteInstances.page.forwardType.remote`):e(`settings.remoteInstances.page.forwardType.dynamic`);return(0,$.jsxs)(Hi,{open:u,onOpenChange:e=>{xe(n=>({...n,[t.id]:e}))},className:`oc-settings-group-row`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`div`,{className:`min-w-0 flex items-center gap-2`,children:(0,$.jsxs)(Vi,{className:`flex items-center gap-2 group`,children:[(0,$.jsx)(Z,{name:`arrow-down-s`,className:`h-4 w-4 text-muted-foreground transition-transform ${u?`rotate-180`:``}`}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:rf(t)}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 shrink-0`,children:d})]})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(on,{checked:t.enabled,onChange:e=>r(t=>({...t,enabled:e})),ariaLabel:e(`settings.remoteInstances.page.actions.enableForwardAria`)}),(0,$.jsx)(J,{type:`button`,variant:`destructive`,size:`icon`,"aria-label":e(`settings.remoteInstances.sidebar.actions.remove`),onClick:()=>Yn(e=>({...e,portForwards:e.portForwards.filter(e=>e.id!==t.id)})),children:(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4`})})]})]}),(0,$.jsx)(Bi,{className:`pt-2`,children:(0,$.jsxs)(`div`,{className:`flex flex-col`,children:[(0,$.jsx)(Yr,{label:e(`settings.remoteInstances.page.field.forwardType`),description:e(sf(t.type)),children:(0,$.jsxs)(pn,{value:t.type,onValueChange:e=>r(t=>({...t,type:e===`dynamic`||e===`remote`?e:`local`})),children:[(0,$.jsx)(un,{children:(0,$.jsx)(hn,{placeholder:e(`settings.remoteInstances.page.field.typePlaceholder`)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`local`,children:e(`settings.remoteInstances.page.forwardType.local`)}),(0,$.jsx)(cn,{value:`remote`,children:e(`settings.remoteInstances.page.forwardType.remote`)}),(0,$.jsx)(cn,{value:`dynamic`,children:e(`settings.remoteInstances.page.forwardType.dynamic`)})]})]})}),(0,$.jsx)(Yr,{label:i,className:`oc-settings-ssh-endpoint-row`,children:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(gn,{className:`min-w-0`,value:t.localHost||`127.0.0.1`,onChange:e=>r(t=>({...t,localHost:e.target.value})),placeholder:e(`settings.remoteInstances.page.field.localHostPlaceholder`)}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`:`}),(0,$.jsx)(yi,{min:1,max:65535,step:1,className:`tabular-nums`,value:t.localPort,onValueChange:e=>{r(t=>({...t,localPort:Number.isFinite(e)&&e>0?e:void 0}))},onClear:()=>{r(e=>({...e,localPort:void 0}))},emptyLabel:e(`settings.remoteInstances.page.field.auto`)})]})}),t.type===`dynamic`?null:(0,$.jsx)(Yr,{label:a,className:`oc-settings-ssh-endpoint-row`,children:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(gn,{className:`min-w-0`,value:t.remoteHost||``,onChange:e=>r(t=>({...t,remoteHost:e.target.value})),placeholder:e(`settings.remoteInstances.page.field.remoteHostPlaceholder`)}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`:`}),(0,$.jsx)(yi,{min:1,max:65535,step:1,className:`tabular-nums`,value:t.remotePort,onValueChange:e=>{r(t=>({...t,remotePort:Number.isFinite(e)&&e>0?e:void 0}))},onClear:()=>{r(e=>({...e,remotePort:void 0}))},emptyLabel:e(`settings.remoteInstances.page.field.auto`)})]})}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 pt-2`,children:[(0,$.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 typography-micro text-muted-foreground/80`,children:t.type===`dynamic`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`computer`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`font-mono text-foreground`,children:o}),(0,$.jsx)(`span`,{children:e(`settings.remoteInstances.page.preview.localSocks5`)})]}):t.type===`remote`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`server`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`font-mono text-foreground`,children:s}),(0,$.jsx)(`span`,{children:e(`settings.remoteInstances.page.preview.remote`)}),(0,$.jsx)(Z,{name:`arrow-right`,className:`h-3.5 w-3.5`}),(0,$.jsx)(Z,{name:`computer`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`font-mono text-foreground`,children:o}),(0,$.jsx)(`span`,{children:e(`settings.remoteInstances.page.preview.local`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`computer`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`font-mono text-foreground`,children:o}),(0,$.jsx)(`span`,{children:e(`settings.remoteInstances.page.preview.local`)}),(0,$.jsx)(Z,{name:`arrow-right`,className:`h-3.5 w-3.5`}),(0,$.jsx)(Z,{name:`server`,className:`h-3.5 w-3.5`}),(0,$.jsx)(`span`,{className:`font-mono text-foreground`,children:s}),(0,$.jsx)(`span`,{children:e(`settings.remoteInstances.page.preview.remote`)})]})}),c?(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>{Lr(l).then(t=>{t||Y.error(e(`settings.remoteInstances.page.toast.openLocalEndpointFailed`))})},children:[(0,$.jsx)(Z,{name:`external-link`,className:`h-3.5 w-3.5`}),e(`settings.remoteInstances.page.actions.openLocal`)]}):null]})]})})]},t.id)}),(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>{let e=af();Yn(t=>({...t,portForwards:[...t.portForwards,e]})),xe(t=>({...t,[e.id]:!0}))},children:[(0,$.jsx)(Z,{name:`add`,className:`h-3.5 w-3.5`}),e(`settings.remoteInstances.page.actions.addForward`)]})})]}),(0,$.jsxs)(en,{className:`flex-wrap`,children:[f?(0,$.jsx)(`div`,{className:`sm:mr-auto typography-meta text-[var(--status-error)]`,children:f}):null,Ln?.localUrl?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>{sr()},children:[(0,$.jsx)(Z,{name:`external-link`,className:`h-3.5 w-3.5`}),e(`settings.remoteInstances.page.actions.open`)]}),(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>{Pe(Ln.localUrl||``).then(t=>{t.ok&&Y.success(e(`settings.remoteInstances.page.toast.localUrlCopied`))})},children:[(0,$.jsx)(Z,{name:`file-copy`,className:`h-3.5 w-3.5`}),e(`settings.remoteInstances.page.actions.copyLocalUrl`)]})]}):null,(0,$.jsx)(J,{type:`button`,size:`xs`,className:`!font-normal`,onClick:()=>void Xn(),disabled:!Jn||d,children:e(`settings.common.actions.saveChanges`)})]}),(0,$.jsx)(Jd,{open:oe,instanceId:ce,targetKind:ue,relayHost:fe,onOpenChange:e=>{se(e),e||(le(null),de(`ssh`),pe(null))}}),(0,$.jsx)(an,{open:A,onOpenChange:M,children:(0,$.jsxs)(tn,{className:`sm:max-w-2xl`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:e(`settings.remoteInstances.page.logsDialog.title`)}),(0,$.jsx)(rn,{children:T?.nickname?.trim()||T?.sshParsed?.destination||T?.id||e(`settings.remoteInstances.page.logsDialog.selectedInstanceFallback`)})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:ar,disabled:N||!ir.trim(),children:[(0,$.jsx)(Z,{name:`file-copy`,className:`h-3.5 w-3.5`}),e(`settings.common.actions.copyAll`)]}),(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>void or(),disabled:N,children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`h-3.5 w-3.5`}),e(`settings.common.actions.clear`)]})]}),N?(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:e(`settings.remoteInstances.page.logsDialog.loading`)}):F?(0,$.jsx)(`div`,{className:`typography-meta text-[var(--status-error)]`,children:F}):(0,$.jsx)(`pre`,{className:`max-h-[55vh] overflow-auto rounded-md border border-[var(--interactive-border)] bg-[var(--surface-elevated)] p-3 typography-micro text-foreground whitespace-pre-wrap break-words`,children:R.length>0?R.join(`
25
- `):e(`settings.remoteInstances.page.logsDialog.empty`)})]})}),(0,$.jsx)(an,{open:!!me,onOpenChange:e=>{e||Qn()},children:(0,$.jsxs)(tn,{className:`sm:max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:e(`settings.remoteInstances.page.patternDialog.title`)}),(0,$.jsx)(rn,{children:me?e(`settings.remoteInstances.page.patternDialog.descriptionWithHost`,{host:me}):e(`settings.remoteInstances.page.patternDialog.description`)})]}),(0,$.jsxs)(`form`,{className:`space-y-3`,onSubmit:e=>{e.preventDefault(),$n()},children:[(0,$.jsx)(gn,{value:ge,onChange:e=>_e(e.target.value),placeholder:e(`settings.remoteInstances.page.patternDialog.destinationPlaceholder`),autoFocus:!0}),(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:Qn,disabled:ve,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{type:`submit`,size:`xs`,className:`!font-normal`,disabled:ve,children:e(`settings.common.actions.create`)})]})]})]})})]})})},_f=`__add_provider__`,vf=()=>{let e=me.getDirectory();return typeof e==`string`&&e.trim().length>0?e.trim():null},yf=({onItemSelect:e})=>{let{t}=Fe(),n=Ct(e=>e.providers),r=Ct(e=>e.selectedProviderId),i=Ct(e=>e.setSelectedProvider),a=Tt(e=>e.activeProjectId),[o,s]=Q.useState({}),c=Q.useMemo(()=>vf(),[a]);Q.useEffect(()=>{if(n.length===0){s({});return}let e=!1;return(async()=>{let t=n.map(async t=>{try{let n=c?`?directory=${encodeURIComponent(c)}`:``,r=await l(`/api/provider/${encodeURIComponent(t.id)}/source${n}`,{method:`GET`,headers:{Accept:`application/json`}});if(!r.ok)return;let i=await r.json().catch(()=>null),a=i?.sources??i?.data?.sources;if(!a||e)return;s(e=>({...e,[t.id]:a}))}catch{}});await Promise.all(t)})(),()=>{e=!0}},[c,n]);let u=Q.useMemo(()=>n.filter(e=>!!o[e.id]?.project?.exists),[n,o]),d=Q.useMemo(()=>n.filter(e=>!o[e.id]?.project?.exists),[n,o]),f=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsx)(`span`,{children:t(`settings.providers.sidebar.section.userProviders`)}),(0,$.jsx)(J,{size:`icon`,variant:`ghost`,onClick:()=>{i(_f),e?.()},"aria-label":t(`settings.providers.sidebar.actions.connectProviderAria`),title:t(`settings.providers.sidebar.actions.connectProviderTitle`),children:(0,$.jsx)(Z,{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)(Ba,{}),(0,$.jsx)($.Fragment,{children:n.length===0?(0,$.jsx)(Jr,{label:f,children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`stack`,className:`mx-auto mb-3 h-10 w-10 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-medium`,children:t(`settings.providers.sidebar.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:t(`settings.providers.sidebar.empty.description`)})]})}):(0,$.jsxs)($.Fragment,{children:[d.length>0?(0,$.jsx)(Jr,{label:f,children:d.map(t=>(0,$.jsx)(bf,{provider:t,selectedProviderId:r,onSelect:()=>{i(t.id),e?.()}},t.id))}):(0,$.jsx)(Jr,{label:f,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})}),u.length>0&&(0,$.jsx)(Jr,{label:t(`settings.providers.sidebar.section.projectProviders`),children:u.map(t=>(0,$.jsx)(bf,{provider:t,selectedProviderId:r,onSelect:()=>{i(t.id),e?.()}},t.id))})]})})]})},bf=e=>{let t=(0,Ki.c)(17),{provider:n,selectedProviderId:r,onSelect:i}=e,a=Array.isArray(n.models)?n.models.length:0,o=n.id===r,s=n.id,c=o?`bg-interactive-selection`:`hover:bg-interactive-hover`,l;t[0]===c?l=t[1]:(l=q(`oc-settings-group-row group relative flex items-center transition-colors duration-150 !min-h-0 py-2`,c),t[0]=c,t[1]=l);let u;t[2]===n.id?u=t[3]:(u=(0,$.jsx)(sn,{providerId:n.id,className:`h-3.5 w-3.5 flex-shrink-0`}),t[2]=n.id,t[3]=u);let d=n.name||n.id,f;t[4]===d?f=t[5]:(f=(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate flex-1 min-w-0 text-foreground`,children:d}),t[4]=d,t[5]=f);let p;t[6]===a?p=t[7]:(p=(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/60 flex-shrink-0`,children:a}),t[6]=a,t[7]=p);let m;t[8]!==i||t[9]!==u||t[10]!==f||t[11]!==p?(m=(0,$.jsxs)(`button`,{type:`button`,onClick:i,className:`flex min-w-0 flex-1 items-center gap-1.5 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,tabIndex:0,children:[u,f,p]}),t[8]=i,t[9]=u,t[10]=f,t[11]=p,t[12]=m):m=t[12];let h;return t[13]!==n.id||t[14]!==l||t[15]!==m?(h=(0,$.jsx)(`div`,{className:l,children:m},s),t[13]=n.id,t[14]=l,t[15]=m,t[16]=h):h=t[16],h},xf=(e,t)=>e.flatMap((e,n)=>t(e)?[{method:e,methodIndex:n}]:[]),Sf=(e=me.getDirectory())=>Ee({queryKey:[i(),o(),`provider-connections`,e??null],queryFn:async({signal:t})=>{let n=me.getSdkClient(),r=e?{directory:e}:void 0,[i,a]=await Promise.all([n.provider.list({location:r},{signal:t}),n.integration.list({location:r},{signal:t})]);return{providers:i.data,integrations:a.data}}});function Cf(e){let t=me.getSdkClient(),n=o(),r=me.getDirectory(),i=r?{directory:r}:void 0,a=new AbortController,s,c,l,u=!1,d=!1,f=!1,p=()=>!a.signal.aborted&&n===o()&&r===me.getDirectory(),m=()=>{clearTimeout(c),clearTimeout(l)},h=()=>{s&&!d&&!f&&n===o()&&(f=!0,t.integration.oauth.cancel({integrationID:e.integrationID,attemptID:s.attemptID,location:i}).catch(()=>void 0))},g=()=>{a.abort(),m(),h()},_=t=>{p()&&(g(),e.onError(t))},v=async()=>{p()&&(d=!0,m(),await e.onSuccess())},y=async()=>{if(!(!p()||!s))try{let n=await t.integration.oauth.status({integrationID:e.integrationID,attemptID:s.attemptID,location:i},{signal:a.signal});if(!p())return;if(n.data.status===`complete`){await v();return}if(n.data.status!==`pending`){_(`complete`);return}c=setTimeout(()=>{y()},1500)}catch{_(`complete`)}};return{cancel:g,isCurrent:p,async start(n){l=setTimeout(()=>_(`start`),3e4);try{if(s=(await t.integration.oauth.connect({integrationID:e.integrationID,methodID:n,location:i},{signal:a.signal})).data,!p()){h();return}if(clearTimeout(l),!s.attemptID||![`auto`,`code`].includes(s.mode)){_(`start`);return}let r=Math.min(6e5,(s.time?.expires??Date.now()+6e5)-Date.now());if(r<=0){_(`complete`);return}l=setTimeout(()=>_(`complete`),r),e.onAttempt(s),s.mode===`auto`&&y()}catch{_(`start`)}},async complete(n){if(!(!p()||!s||s.mode!==`code`||u||!n.trim())){u=!0;try{await t.integration.oauth.complete({integrationID:e.integrationID,attemptID:s.attemptID,code:n.trim(),location:i},{signal:a.signal}),await v()}catch{_(`complete`)}}}}}var wf=`opencode`;function Tf(e){return e===`opencode-go`?wf:e}function Ef(e,t){let n=Tf(e);return t?.find(e=>e.id===n)}function Df(e){return(e?.connections??[]).some(e=>e.type===`credential`&&e.method===`oauth`)}function Of(e){return(e?.methods??[]).flatMap(e=>e.type===`oauth`&&typeof e.id==`string`&&e.id?[{id:e.id,label:e.label??e.name}]:[])}function kf(e,t){return t[Tf(e)]??t[e]??[]}function Af(e,t){let n=Tf(e);return n===e?t[e]||e:t[n]||n}var jf=({providerId:e,providerName:t})=>{let{t:n}=Fe(),[r,i]=Q.useState(null),[a,o]=Q.useState({}),[s,c]=Q.useState(!1),[u,d]=Q.useState(null),[f,p]=Q.useState(``),[m,h]=Q.useState(!1),g=Q.useRef(null),_=De({...Sf(),enabled:e===`opencode-go`}),v=`/api/quota/credentials/${e}`,y=e===`opencode-go`?Ef(e,_.data?.integrations):void 0,b=Df(y),x=Of(y);Q.useEffect(()=>{l(v).then(async e=>{if(!e.ok)throw Error();let t=await e.json();i(t),o(t.workspaceId?{workspaceId:t.workspaceId}:{})}).catch(()=>i({configured:!1}))},[v]);let S=Me(()=>{g.current?.cancel(),g.current=null,d(null),p(``),h(!1)});Q.useEffect(()=>()=>{g.current?.cancel(),g.current=null},[]);let C=async(e,r,a)=>{c(!0);try{let s=await l(e,{method:r,headers:a?{"Content-Type":`application/json`}:void 0,body:a?JSON.stringify(a):void 0}),c=await s.json().catch(()=>null);if(!s.ok)throw Error(c?.error);c?.configured!==void 0&&i(c),o(e=>e.workspaceId?{workspaceId:e.workspaceId}:{}),Y.success(n(`settings.providers.page.quotaCredentials.saved`,{provider:t}))}catch(e){Y.error(e instanceof Error&&e.message?e.message:n(`settings.providers.page.openCodeGo.saveFailed`))}finally{c(!1)}},w=Me(async e=>{let t=Tf(`opencode-go`);if(!e||t===`opencode-go`){Y.error(n(`settings.providers.page.toast.oauthStartFailed`));return}S(),h(!0);let r=Cf({integrationID:t,onAttempt:({mode:t,url:r,instructions:i})=>{d({methodID:e,mode:t,url:r,instructions:i,userCode:/[A-Z0-9]{4}-[A-Z0-9]{4,5}/.exec(i)?.[0]}),t===`code`&&h(!1),r&&Lr(r),Y.message(n(`settings.providers.page.toast.completeOAuthInBrowser`))},onSuccess:async()=>{d(null),p(``),h(!1);try{if(await mt({scopes:[`providers`],mode:`active`}),!r.isCurrent()||g.current!==r)return;await _.refetch({throwOnError:!0})}catch{r.isCurrent()&&g.current===r&&Y.error(n(`settings.providers.page.toast.authMethodsLoadFailed`))}!r.isCurrent()||g.current!==r||Y.success(n(`settings.providers.page.toast.oauthCompleted`))},onError:e=>{h(!1),d(null),p(``),Y.error(n(e===`start`?`settings.providers.page.toast.oauthStartFailed`:`settings.providers.page.toast.oauthCompleteFailed`))}});g.current=r,await r.start(e)}),T=Me(async()=>{!f.trim()||u?.mode!==`code`||(h(!0),await g.current?.complete(f))}),E=Me(async(e,t,r)=>{(await Pe(e)).ok?Y.success(n(t)):Y.error(n(r))}),D=(e,t,n)=>(0,$.jsx)(Yr,{label:t,children:(0,$.jsx)(gn,{className:`w-full font-mono text-xs`,type:e===`workspaceId`?`text`:`password`,autoComplete:`off`,value:a[e]??``,onChange:t=>o(n=>({...n,[e]:t.target.value})),placeholder:r?.secretMasked??n})});return(0,$.jsx)(`div`,{"data-settings-item":`providers.${e}-credentials`,children:(0,$.jsxs)(Jr,{label:t,className:`oc-settings-detail-group`,children:[e===`opencode-go`&&(0,$.jsx)($.Fragment,{children:_.isPending?(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:n(`settings.providers.page.auth.loadingMethods`)})}):b?(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex items-center gap-1.5`,role:`status`,children:[(0,$.jsx)(Z,{name:`check`,className:`h-4 w-4 shrink-0 text-[var(--status-success)]`}),(0,$.jsx)(`p`,{className:`min-w-0 typography-ui-label text-foreground`,children:n(`settings.providers.page.openCodeGo.consoleConnected`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:n(`settings.providers.page.openCodeGo.consoleHint`)})}),(x.length>0?x:[{id:``,label:void 0}]).map(e=>{let t=u?.methodID===e.id;return(0,$.jsxs)(`div`,{className:`oc-settings-group-row`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,$.jsx)(`p`,{className:`min-w-0 typography-ui-label text-foreground`,children:e.label||n(`settings.providers.page.openCodeGo.consoleSignIn`)}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(J,{size:`xs`,className:`!font-normal w-full sm:w-auto`,"aria-busy":m,disabled:m||!e.id,onClick:()=>void w(e.id),children:m&&u?.mode===`auto`?n(`settings.providers.page.state.loading`):n(`settings.providers.page.openCodeGo.consoleSignIn`)}),t&&(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:S,children:n(`settings.common.actions.cancel`)})]})]}),t&&u?.instructions&&(0,$.jsx)(`p`,{className:`mt-2 typography-meta text-[var(--primary-base)] bg-[var(--primary-base)]/10 px-2 py-1.5 rounded`,children:u.instructions}),t&&u?.userCode&&(0,$.jsxs)(`div`,{className:`mt-2 flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,$.jsx)(gn,{value:u.userCode,readOnly:!0,className:`min-w-0 flex-1 font-mono text-center tracking-widest`}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>void E(u.userCode??``,`settings.providers.page.toast.deviceCodeCopied`,`settings.providers.page.toast.deviceCodeCopyFailed`),children:n(`settings.providers.page.actions.copyCode`)})]}),t&&u?.url&&(0,$.jsxs)(`div`,{className:`mt-2 flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,$.jsx)(gn,{value:u.url,readOnly:!0,className:`min-w-0 flex-1 text-xs text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>Lr(u.url??``),children:n(`settings.providers.page.actions.open`)}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>void E(u.url??``,`settings.providers.page.toast.oauthLinkCopied`,`settings.providers.page.toast.oauthLinkCopyFailed`),children:n(`settings.providers.page.actions.copy`)})]})]}),t&&u?.mode===`code`&&(0,$.jsxs)(`div`,{className:`mt-2 flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,$.jsx)(gn,{value:f,onChange:e=>p(e.target.value),placeholder:n(`settings.providers.page.auth.pasteAuthorizationCodePlaceholder`),className:`min-w-0 flex-1 font-mono text-xs`,"aria-label":n(`settings.providers.page.auth.pasteAuthorizationCodePlaceholder`)}),(0,$.jsx)(J,{size:`xs`,className:`!font-normal`,onClick:()=>void T(),disabled:m||!f.trim(),children:n(m?`settings.providers.page.actions.saving`:`settings.providers.page.actions.complete`)})]})]},e.id||`console`)})]})}),e===`opencode-go`&&D(`workspaceId`,n(`settings.providers.page.openCodeGo.workspaceId`),`wrk_...`),e===`opencode-go`&&D(`authCookie`,n(`settings.providers.page.openCodeGo.authCookie`),`auth=...`),e===`ollama-cloud`&&D(`cookie`,n(`settings.providers.page.openCodeGo.authCookie`),`session=...`),e===`cursor`&&D(`accessToken`,n(`settings.providers.page.auth.apiKeyLabel`),n(`settings.providers.page.auth.apiKeyPlaceholder`)),e===`cursor`&&D(`refreshToken`,n(`settings.providers.page.auth.apiKeyLabel`),n(`settings.providers.page.auth.apiKeyPlaceholder`)),(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-wrap gap-2`,children:[(0,$.jsx)(J,{size:`xs`,disabled:s,onClick:()=>C(v,`PUT`,a),children:r?.configured?n(`settings.providers.page.openCodeGo.replace`):n(`settings.providers.page.openCodeGo.save`)}),r?.configured&&(0,$.jsx)(J,{variant:`outline`,size:`xs`,disabled:s,onClick:()=>C(`${v}/validate`,`POST`),children:n(`settings.providers.page.openCodeGo.validate`)}),e===`cursor`&&(0,$.jsx)(J,{variant:`outline`,size:`xs`,disabled:s,onClick:()=>C(`${v}/import`,`POST`),children:n(`settings.providers.page.actions.connect`)}),r?.configured&&(0,$.jsx)(J,{variant:`destructive`,size:`xs`,disabled:s,onClick:()=>C(v,`DELETE`),children:n(`settings.providers.page.openCodeGo.delete`)})]})]})})},Mf=e=>{let t=(0,Ki.c)(13),{itemId:n,label:r,description:i,action:a,rows:o,children:s}=e,c=o!==void 0&&o,l;t[0]!==a||t[1]!==r?(l=a?(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-2`,children:[(0,$.jsx)(`div`,{className:`min-w-0`,children:r}),(0,$.jsx)(`div`,{className:`shrink-0`,children:a})]}):r,t[0]=a,t[1]=r,t[2]=l):l=t[2];let u;t[3]!==s||t[4]!==c?(u=c?s:(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:s}),t[3]=s,t[4]=c,t[5]=u):u=t[5];let d;t[6]!==i||t[7]!==l||t[8]!==u?(d=(0,$.jsx)(Jr,{className:`oc-settings-detail-group`,label:l,description:i,children:u}),t[6]=i,t[7]=l,t[8]=u,t[9]=d):d=t[9];let f;return t[10]!==n||t[11]!==d?(f=(0,$.jsx)(`div`,{"data-settings-item":n,children:d}),t[10]=n,t[11]=d,t[12]=f):f=t[12],f},Nf=e=>new Intl.NumberFormat(Re(),{notation:`compact`,compactDisplay:`short`,maximumFractionDigits:1,minimumFractionDigits:0}).format(e),Pf=e=>{if(typeof e!=`number`||Number.isNaN(e))return null;if(e===0)return`0`;let t=Nf(e);return t.endsWith(`.0`)?t.slice(0,-2):t},Ff=`__add_provider__`,If=e=>{let t=typeof e.type==`string`?e.type:``,n=`${t} ${`${e.name??``} ${e.label??``}`.toLowerCase()}`.toLowerCase();return n.includes(`oauth`)?`oauth`:n.includes(`api`)?`api`:t.toLowerCase()},Lf=(e,t,n)=>{let r=t.find(t=>t.id===e);return typeof r?.integrationID==`string`&&r.integrationID?r.integrationID:(n.some(t=>t.id===e),e)},Rf=(e,t)=>{let n={},r={},i=new Map(t.filter(e=>typeof e.id==`string`&&e.id.length>0).map(e=>[e.id,e])),a=(e,t)=>{r[e]=t.id??e,n[e]=(t.methods??[]).map(e=>({type:e.type,id:e.id,name:e.label??e.name,label:e.label??e.name}))};for(let n of e){if(typeof n.id!=`string`||!n.id)continue;let r=Lf(n.id,e,t),o=i.get(r);o&&a(n.id,o)}for(let e of t)typeof e.id!=`string`||!e.id||n[e.id]||a(e.id,e);return{methodsByProvider:n,integrationIdByProvider:r}},zf=()=>{let e=(0,Ki.c)(2),t=`${Q.useSyncExternalStore(r,o,o)}:${pe(Vf)}`,n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(Bf,{},t),e[0]=t,e[1]=n),n},Bf=()=>{let{t:e}=Fe(),t=Ct(e=>e.providers),n=Ct(e=>e.selectedProviderId),r=Ct(e=>e.setSelectedProvider),a=Ct(e=>e.getModelMetadata),s=K(e=>e.hiddenModels),c=K(e=>e.toggleHiddenModel),u=K(e=>e.hideAllModels),d=K(e=>e.showAllModels),f=De(Sf()),{methodsByProvider:p,integrationIdByProvider:m}=Q.useMemo(()=>Rf(f.data?.providers??[],f.data?.integrations??[]),[f.data]),h=f.isPending;Q.useEffect(()=>{f.isError&&Y.error(e(`settings.providers.page.toast.authMethodsLoadFailed`))},[f.isError,e]);let[g,_]=Q.useState({}),[v,y]=Q.useState(null),[b,x]=Q.useState(``),[S,C]=Q.useState(null),[w,T]=Q.useState({}),[E,D]=Q.useState({}),O=f.isPending,k=f.isError?e(`settings.providers.page.state.unableToLoadProviderList`):null,[A,j]=Q.useState(``),[M,N]=Q.useState(``),[P,F]=Q.useState(!1),[I,L]=Q.useState({}),[R,z]=Q.useState(!1),B=n===Ff,V=Q.useRef(null);Q.useEffect(()=>{let e=new AbortController;return V.current=e,()=>e.abort()},[]);let H=Me(()=>{let e=V.current;if(!e||e.signal.aborted)return null;let t=me.getDirectory(),n=o();return{directory:t,location:t?{directory:t}:void 0,transportIdentity:i(),signal:e.signal,isCurrent:()=>V.current===e&&!e.signal.aborted&&o()===n&&me.getDirectory()===t}}),U=Q.useRef(null),W=Me(()=>{U.current?.cancel(),U.current=null,C(null),D({}),T({}),y(null)});Q.useEffect(()=>(W(),()=>{U.current?.cancel(),U.current=null}),[n,A,W]),Q.useEffect(()=>{!n&&t.length>0&&r(t[0].id)},[t,n,r]);let ee=Q.useMemo(()=>(f.data?.integrations??[]).filter(e=>!e.id.startsWith(`mcp_`)&&e.connections.length===0).sort((e,t)=>{let n=(e.name||e.id).toLowerCase(),r=(t.name||t.id).toLowerCase();return n.localeCompare(r)}),[f.data]);Q.useEffect(()=>{n===Ff&&A&&!ee.some(e=>e.id===A)&&j(``)},[n,A,ee]),Q.useEffect(()=>{if(n===Ff){z(!0);return}z(!1)},[n,e]),Q.useEffect(()=>{if(!n||n===Ff)return;let t=!1;return(async()=>{try{let r=await l(`/api/provider/${encodeURIComponent(n)}/source`,{method:`GET`,headers:{Accept:`application/json`}}),i=await r.json().catch(()=>null);if(!r.ok)throw Error(i?.error||e(`settings.providers.page.toast.providerSourcesLoadFailed`));let a=i?.sources??i?.data?.sources;!t&&a&&L(e=>({...e,[n]:a}))}catch(e){t||console.error(`Failed to load provider sources:`,e)}})(),()=>{t=!0}},[n,e]);let G=t.find(e=>e.id===n),te=n?I[n]:void 0,ne=Me(async t=>{let n=g[t]?.trim()??``;if(!n){Y.error(e(`settings.providers.page.toast.apiKeyRequired`));return}let i=H();if(!i)return;let a=`api:${t}`;y(a);try{let a=m[t]||t;if(await me.getSdkClient().integration.connect.key({integrationID:a,key:n,location:i.location},{signal:i.signal}),!i.isCurrent()||(_(e=>({...e,[t]:``})),await mt({scopes:[`providers`],mode:`active`,queryDirectory:i.directory,transportIdentity:i.transportIdentity}),!i.isCurrent()))return;let o=await f.refetch({throwOnError:!0});if(!i.isCurrent())return;let s=o.data?.providers.find(e=>e.id===t||e.integrationID===a);s&&r(s.id),Y.success(e(`settings.providers.page.toast.apiKeySaved`))}catch{i.isCurrent()&&Y.error(e(`settings.providers.page.toast.apiKeySaveFailed`))}finally{i.isCurrent()&&y(null)}}),re=Me(async(t,n)=>{W();let i=`oauth:${t}:${n}`;y(i);let a=kf(t,p)[n],o=typeof a?.id==`string`?a.id:``;if(!o){y(null),Y.error(e(`settings.providers.page.toast.oauthStartFailed`));return}let s=Af(t,m),c=m[t]||t,l=Cf({integrationID:s,onAttempt:({attemptID:r,mode:i,url:a,instructions:c})=>{D({[`${t}:${n}`]:{url:a,instructions:c,mode:i,userCode:/[A-Z0-9]{4}-[A-Z0-9]{4,5}/.exec(c)?.[0]}}),C({providerId:t,methodIndex:n,methodID:o,attemptID:r,mode:i}),i===`code`&&y(null),a&&s!==`claude-code`&&Lr(a),Y.message(e(`settings.providers.page.toast.completeOAuthInBrowser`))},onSuccess:async()=>{if(C(null),D({}),T({}),await mt({scopes:[`providers`],mode:`active`}),!l.isCurrent()||U.current!==l)return;let n=await f.refetch({throwOnError:!0});if(!l.isCurrent()||U.current!==l)return;Y.success(e(`settings.providers.page.toast.oauthCompleted`));let i=n.data?.providers.find(e=>e.id===t)??(s===c?n.data?.providers.find(e=>e.integrationID===s):void 0);i&&r(i.id),y(null)},onError:t=>{y(null),C(null),D({}),T({}),Y.error(e(t===`start`?`settings.providers.page.toast.oauthStartFailed`:`settings.providers.page.toast.oauthCompleteFailed`))}});U.current=l,await l.start(o)}),ie=Me(async(e,t)=>{let n=`${e}:${t}`,r=w[n]?.trim();!r||S?.mode!==`code`||S.providerId!==e||S.methodIndex!==t||(y(`oauth-complete:${e}:${t}`),await U.current?.complete(r))}),ae=async t=>{if((await Pe(t)).ok){Y.success(e(`settings.providers.page.toast.oauthLinkCopied`));return}Y.error(e(`settings.providers.page.toast.oauthLinkCopyFailed`))},oe=async t=>{if((await Pe(t)).ok){Y.success(e(`settings.providers.page.toast.deviceCodeCopied`));return}Y.error(e(`settings.providers.page.toast.deviceCodeCopyFailed`))},se=Me(async t=>{let n=H();if(!n)return;let r=`disconnect:${t}`;y(r);try{let r=me.getSdkClient(),i=m[t]||t,a=await r.integration.get({integrationID:i,location:n.location},{signal:n.signal});if(!n.isCurrent())return;let o=(Array.isArray(a.data?.connections)?a.data.connections:[]).flatMap(e=>e.type===`credential`&&typeof e.id==`string`&&e.id?[e.id]:[]);if(o.length===0)throw Error(e(`settings.providers.page.toast.providerDisconnectFailed`));if(await Promise.all(o.map(e=>r.credential.remove({credentialID:e},{signal:n.signal}))),!n.isCurrent()||(await mt({scopes:[`providers`],mode:`active`,queryDirectory:n.directory,transportIdentity:n.transportIdentity}),!n.isCurrent())||(await f.refetch({throwOnError:!0}),!n.isCurrent()))return;Y.success(e(`settings.providers.page.toast.providerDisconnected`))}catch{n.isCurrent()&&Y.error(e(`settings.providers.page.toast.providerDisconnectFailed`))}finally{n.isCurrent()&&y(null)}});if(!B&&t.length===0)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`stack`,className:`mx-auto mb-3 h-12 w-12 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.providers.page.empty.noProvidersDetected`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:e(`settings.providers.page.empty.checkOpenCodeConfiguration`)})]})});if(B)return(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-section-stack mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[(0,$.jsx)(`div`,{"data-settings-item":`providers.connect`,children:(0,$.jsx)(`h1`,{className:`typography-ui-header font-semibold text-foreground`,children:e(`settings.providers.page.connect.title`)})}),(0,$.jsxs)(Mf,{label:e(`settings.providers.page.connect.selectProviderTitle`),children:[k&&(0,$.jsx)(`p`,{role:`alert`,className:`typography-meta text-muted-foreground`,children:k}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 py-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.providers.page.connect.providerField`)}),O?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.providers.page.state.loading`)}):k&&!f.data?(0,$.jsx)(J,{variant:`outline`,size:`xs`,onClick:()=>void f.refetch(),children:e(`settings.providers.page.actions.reconnect`)}):ee.length===0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.providers.page.connect.allProvidersConnected`)}):(0,$.jsxs)(rr,{open:P,onOpenChange:e=>{F(e),e||N(``)},children:[(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:q(`flex items-center justify-between gap-2 rounded-lg border border-input bg-transparent px-2 py-2 typography-ui-label whitespace-nowrap shadow-none outline-none hover:bg-interactive-hover h-6 w-fit`),children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-2 min-w-0`,children:[A?(0,$.jsx)(sn,{providerId:A,className:`h-3.5 w-3.5 flex-shrink-0`}):null,(0,$.jsx)(`span`,{className:q(`truncate typography-ui-label font-normal`,A?`text-foreground`:`text-muted-foreground`),children:A?ee.find(e=>e.id===A)?.name||A:e(`settings.providers.page.connect.selectProviderPlaceholder`)})]}),(0,$.jsx)(Z,{name:`arrow-down-s`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/50`})]})}),(0,$.jsxs)(Jn,{align:`start`,className:`w-[280px] p-0`,onCloseAutoFocus:e=>e.preventDefault(),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-[var(--surface-subtle)] px-3 py-2`,onKeyDown:e=>e.stopPropagation(),children:[(0,$.jsx)(Z,{name:`search`,className:`h-4 w-4 text-muted-foreground`}),(0,$.jsx)(`input`,{type:`text`,value:M,onChange:e=>N(e.target.value),onKeyDown:e=>e.stopPropagation(),placeholder:e(`settings.providers.page.connect.searchProvidersPlaceholder`),className:`flex-1 bg-transparent typography-meta outline-none placeholder:text-muted-foreground`,autoFocus:!0})]}),(0,$.jsx)(Ar,{outerClassName:`max-h-[240px]`,className:`p-1`,children:(()=>{let t=ee.filter(e=>{let t=M.toLowerCase();return(e.name||e.id).toLowerCase().includes(t)||e.id.toLowerCase().includes(t)});return t.length===0?(0,$.jsx)(`p`,{className:`py-4 text-center typography-meta text-muted-foreground`,children:e(`settings.providers.page.connect.noProvidersFound`)}):t.map(e=>(0,$.jsxs)(fr,{onSelect:()=>{j(e.id),F(!1),N(``)},className:`flex items-center justify-between`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-2 min-w-0`,children:[(0,$.jsx)(sn,{providerId:e.id,className:`h-4 w-4 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.name||e.id})]}),A===e.id&&(0,$.jsx)(Z,{name:`check`,className:`h-4 w-4 text-[var(--primary-base)]`})]},e.id))})()})]})]})]})]}),A&&(0,$.jsx)(Mf,{itemId:`providers.auth`,label:e(`settings.providers.page.auth.title`),rows:!h,children:h?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.providers.page.auth.loadingMethods`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{className:`oc-settings-split-row-stacked`,label:(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e(`settings.providers.page.auth.apiKeyLabel`),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.providers.page.auth.apiKeyTooltip`)})]})]}),children:(0,$.jsxs)(`div`,{className:`oc-settings-value-inline`,children:[(0,$.jsx)(gn,{type:`password`,value:g[A]??``,onChange:e=>_(t=>({...t,[A]:e.target.value})),placeholder:e(`settings.providers.page.auth.apiKeyPlaceholder`),className:`oc-settings-value-inline-input font-mono text-xs`}),(0,$.jsx)(J,{size:`xs`,className:`!font-normal`,onClick:()=>ne(A),disabled:v===`api:${A}`,children:v===`api:${A}`?e(`settings.providers.page.actions.saving`):e(`settings.providers.page.actions.saveKey`)})]})}),(()=>{let t=xf(kf(A,p),e=>If(e)===`oauth`);return t.length===0?null:(0,$.jsx)(`div`,{className:`oc-settings-group-row space-y-4`,children:t.map(({method:t,methodIndex:n},r)=>{let i=t.label||t.name||e(`settings.providers.page.auth.oauthMethodFallback`,{index:String(r+1)}),a=`${A}:${n}`,o=S?.providerId===A&&S?.methodIndex===n;return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:i}),(t.description||t.help)&&(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:String(t.description||t.help)})]}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>re(A,n),disabled:v===`oauth:${A}:${n}`||v===`oauth-complete:${A}:${n}`,children:o&&S.mode===`auto`?e(`settings.providers.page.state.loading`):e(`settings.providers.page.actions.connect`)}),o&&(0,$.jsx)(J,{variant:`ghost`,size:`xs`,onClick:W,children:e(`settings.common.actions.cancel`)})]}),E[a]?.instructions&&(0,$.jsx)(`p`,{className:`typography-meta text-[var(--primary-base)] bg-[var(--primary-base)]/10 px-2 py-1.5 rounded`,children:E[a]?.instructions}),E[a]?.userCode&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(gn,{value:E[a]?.userCode,readOnly:!0,className:`font-mono text-center tracking-widest`}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>oe(E[a]?.userCode??``),children:e(`settings.providers.page.actions.copyCode`)})]}),E[a]?.url&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(gn,{value:E[a]?.url,readOnly:!0,className:`text-xs text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`flex gap-1 shrink-0`,children:[(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>Lr(E[a]?.url??``),children:e(`settings.providers.page.actions.open`)}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>ae(E[a]?.url??``),children:e(`settings.providers.page.actions.copy`)})]})]}),o&&S?.mode===`code`&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(gn,{value:w[a]??``,onChange:e=>T(t=>({...t,[a]:e.target.value})),placeholder:e(`settings.providers.page.auth.pasteAuthorizationCodePlaceholder`),className:`font-mono text-xs`}),(0,$.jsx)(J,{size:`xs`,className:`!font-normal`,onClick:()=>ie(A,n),disabled:v===`oauth-complete:${A}:${n}`,children:v===`oauth-complete:${A}:${n}`?e(`settings.providers.page.actions.saving`):e(`settings.providers.page.actions.complete`)})]})]},`${A}-${i}`)})})})()]})})]})});if(!G)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`stack`,className:`mx-auto mb-3 h-12 w-12 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.providers.page.empty.selectProviderFromSidebar`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:e(`settings.providers.page.empty.reviewDetailsAndConfigureAuth`)})]})});let ce=Array.isArray(G.models)?G.models:[],le=xf(kf(G.id,p),e=>If(e)===`oauth`),ue=ce.filter(e=>{let t=typeof e?.name==`string`?e.name:``,n=typeof e?.id==`string`?e.id:``,r=b.trim().toLowerCase();return!r||t.toLowerCase().includes(r)||n.toLowerCase().includes(r)});return(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-section-stack mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(sn,{providerId:G.id,className:`h-5 w-5 shrink-0`}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground truncate`,children:G.name||G.id}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:(0,$.jsx)(`span`,{className:`font-mono`,children:G.id})})]})]}),(0,$.jsx)(Mf,{itemId:`providers.auth`,rows:R&&!h,label:e(`settings.providers.page.auth.title`),action:(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>{W(),z(e=>!e)},children:e(R?`settings.common.actions.cancel`:`settings.providers.page.actions.reconnect`)}),children:R?h?(0,$.jsx)(`div`,{className:`py-1.5 typography-meta text-muted-foreground`,children:e(`settings.providers.page.auth.loadingMethods`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{className:`oc-settings-split-row-stacked`,label:(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e(`settings.providers.page.auth.apiKeyLabel`),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.providers.page.auth.apiKeyTooltip`)})]})]}),children:(0,$.jsxs)(`div`,{className:`oc-settings-value-inline`,children:[(0,$.jsx)(gn,{type:`password`,value:g[G.id]??``,onChange:e=>_(t=>({...t,[G.id]:e.target.value})),placeholder:e(`settings.providers.page.auth.apiKeyPlaceholder`),className:`oc-settings-value-inline-input font-mono text-xs`}),(0,$.jsx)(J,{size:`xs`,className:`!font-normal`,onClick:()=>ne(G.id),disabled:v===`api:${G.id}`,children:v===`api:${G.id}`?e(`settings.providers.page.actions.saving`):e(`settings.providers.page.actions.saveKey`)})]})}),le.length>0&&(0,$.jsx)(`div`,{className:`oc-settings-group-row space-y-4`,children:le.map(({method:t,methodIndex:n},r)=>{let i=t.label||t.name||e(`settings.providers.page.auth.oauthMethodFallback`,{index:String(r+1)}),a=`${G.id}:${n}`,o=S?.providerId===G.id&&S?.methodIndex===n;return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:i}),(t.description||t.help)&&(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:String(t.description||t.help)})]}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>re(G.id,n),disabled:v===`oauth:${G.id}:${n}`||v===`oauth-complete:${G.id}:${n}`,children:o&&S.mode===`auto`?e(`settings.providers.page.state.loading`):e(`settings.providers.page.actions.connect`)}),o&&(0,$.jsx)(J,{variant:`ghost`,size:`xs`,onClick:W,children:e(`settings.common.actions.cancel`)})]}),E[a]?.instructions&&(0,$.jsx)(`p`,{className:`typography-meta text-[var(--primary-base)] bg-[var(--primary-base)]/10 px-2 py-1.5 rounded`,children:E[a]?.instructions}),E[a]?.userCode&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(gn,{value:E[a]?.userCode,readOnly:!0,className:`font-mono text-center tracking-widest`}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>oe(E[a]?.userCode??``),children:e(`settings.providers.page.actions.copyCode`)})]}),E[a]?.url&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(gn,{value:E[a]?.url,readOnly:!0,className:`text-xs text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`flex gap-1 shrink-0`,children:[(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>Lr(E[a]?.url??``),children:e(`settings.providers.page.actions.open`)}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>ae(E[a]?.url??``),children:e(`settings.providers.page.actions.copy`)})]})]}),o&&S?.mode===`code`&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(gn,{value:w[a]??``,onChange:e=>T(t=>({...t,[a]:e.target.value})),placeholder:e(`settings.providers.page.auth.pasteAuthorizationCodePlaceholder`),className:`font-mono text-xs`}),(0,$.jsx)(J,{size:`xs`,className:`!font-normal`,onClick:()=>ie(G.id,n),disabled:v===`oauth-complete:${G.id}:${n}`,children:v===`oauth-complete:${G.id}:${n}`?e(`settings.providers.page.actions.saving`):e(`settings.providers.page.actions.complete`)})]})]},`${G.id}-${i}`)})})]}):(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 py-1.5`,children:[(0,$.jsx)(Z,{name:`check`,className:`w-4 h-4 text-[var(--status-success)] shrink-0`}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.providers.page.auth.connected`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground ml-1`,children:e(`settings.providers.page.auth.useReconnectHint`)})]})}),(G.id===`opencode`||G.id===`opencode-go`)&&(0,$.jsx)(jf,{providerId:`opencode-go`,providerName:`OpenCode Go`}),(G.id===`ollama`||G.id===`ollama-cloud`)&&(0,$.jsx)(jf,{providerId:`ollama-cloud`,providerName:`Ollama Cloud`}),G.id===`cursor`&&(0,$.jsx)(jf,{providerId:`cursor`,providerName:`Cursor`}),(0,$.jsx)(Mf,{itemId:`providers.connection-details`,label:e(`settings.providers.page.connectionDetails.title`),children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 py-1.5 sm:flex-row sm:items-center sm:justify-between sm:gap-8`,children:[(0,$.jsx)(`div`,{className:`flex min-w-0 flex-col`,children:te&&(te.auth.exists||te.user.exists||te.project.exists||te.custom?.exists)?(0,$.jsxs)(`span`,{className:`typography-meta text-muted-foreground`,children:[e(`settings.providers.page.connectionDetails.configuredIn`),` `,[te.auth.exists?e(`settings.providers.page.connectionDetails.source.authCredentials`):null,te.user.exists?e(`settings.providers.page.connectionDetails.source.userConfig`):null,te.project.exists?e(`settings.providers.page.connectionDetails.source.projectConfig`):null,te.custom?.exists?e(`settings.providers.page.connectionDetails.source.customConfig`):null].filter(Boolean).join(`, `)]}):(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e(`settings.providers.page.connectionDetails.noActiveSource`)})}),(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`!font-normal text-[var(--status-error)] hover:text-[var(--status-error)]`,onClick:()=>se(G.id),disabled:v===`disconnect:${G.id}`,children:v===`disconnect:${G.id}`?e(`settings.providers.page.actions.disconnecting`):e(`settings.providers.page.actions.disconnect`)})]})}),(0,$.jsxs)(Mf,{itemId:`providers.models`,label:(0,$.jsxs)($.Fragment,{children:[e(`settings.providers.page.models.title`),ce.length>0&&(0,$.jsxs)(`span`,{className:`ml-1.5 typography-micro text-muted-foreground font-normal`,children:[`(`,ce.length,`)`]})]}),action:(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>{let e=ce.map(e=>typeof e?.id==`string`?e.id:``).filter(e=>e.length>0);u(G.id,e)},children:e(`settings.providers.page.actions.hideAll`)}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>d(G.id),children:e(`settings.providers.page.actions.showAll`)})]}),children:[(0,$.jsxs)(`div`,{className:`relative mb-2`,children:[(0,$.jsx)(Z,{name:`search`,className:`absolute left-2 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground`}),(0,$.jsx)(gn,{value:b,onChange:e=>x(e.target.value),placeholder:e(`settings.providers.page.models.filterPlaceholder`),className:`h-7 pl-8 w-full`})]}),ue.length===0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground py-4 text-center`,children:e(`settings.providers.page.models.noModelsMatchFilter`)}):(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)]`,children:ue.map(t=>{let n=typeof t?.id==`string`?t.id:``,r=typeof t?.name==`string`?t.name:n,i=n?a(G.id,n):void 0,o=s.some(e=>e.providerID===G.id&&e.modelID===n),l=Pf(i?.limit?.context),u=Pf(i?.limit?.output),d=[];return i?.tool_call&&d.push({key:`tools`,icon:`tools`,label:e(`settings.providers.page.models.capability.toolCalling`)}),i?.reasoning&&d.push({key:`reasoning`,icon:`brain-ai-3`,label:e(`settings.providers.page.models.capability.reasoning`)}),i?.attachment&&d.push({key:`image`,icon:`file-image`,label:e(`settings.providers.page.models.capability.imageInput`)}),(0,$.jsx)(`div`,{className:`py-1.5`,children:(0,$.jsxs)(`div`,{className:q(`flex flex-wrap items-center gap-x-3 gap-y-1.5 md:flex-nowrap md:gap-3`,o&&`opacity-50`),children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground truncate w-full min-w-0 md:w-auto md:flex-1`,children:r}),(0,$.jsxs)(`div`,{className:`flex w-full flex-wrap items-center gap-2 flex-shrink-0 md:w-auto md:flex-nowrap`,children:[(l||u)&&(0,$.jsxs)(`span`,{className:`typography-micro text-muted-foreground flex-shrink-0 bg-[var(--surface-muted)] px-1.5 py-0.5 rounded`,children:[l?`${l} ${e(`settings.providers.page.models.tokenBadge.context`)}`:``,l&&u?` · `:``,u?`${u} ${e(`settings.providers.page.models.tokenBadge.output`)}`:``]}),d.length>0&&(0,$.jsx)(`div`,{className:`flex items-center gap-1 flex-shrink-0`,children:d.map(({key:e,icon:t,label:n})=>(0,$.jsx)(`span`,{className:`flex h-5 w-5 rounded items-center justify-center text-muted-foreground bg-[var(--surface-muted)]`,title:n,"aria-label":n,children:(0,$.jsx)(Z,{name:t,className:`h-3 w-3`})},e))}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>c(G.id,n),className:`ml-auto flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-[var(--interactive-hover)]/50 md:ml-0`,title:e(o?`settings.providers.page.models.actions.showModelInSelectors`:`settings.providers.page.models.actions.hideModelFromSelectors`),"aria-label":e(o?`settings.providers.page.models.actions.showModel`:`settings.providers.page.models.actions.hideModel`),children:o?(0,$.jsx)(Z,{name:`eye-off`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`eye`,className:`h-3.5 w-3.5`})})]})]})},n)})})]})]})})};function Vf(e){return e.currentDirectory}function Hf(){let{t:e}=Fe(),t=ci(e=>e.magpieUsageUrl),n=ci(e=>e.magpieSources),r=ci(e=>e.magpieError),a=ci(e=>e.fetchMagpieQuotas),[o,s]=Q.useState(null),[c,l]=Q.useState(!1),[u,d]=Q.useState(!1),f=Q.useId(),p=n.reduce((e,t)=>e+t.results.length,0),m=i();Q.useEffect(()=>{s(null),d(!1)},[m]);let h=Me(async()=>{let e=i(),n=(o??t).trim();l(!0),d(!1);try{if(n){let e=new URL(n);if(![`http:`,`https:`].includes(e.protocol)||e.username||e.password||e.search||e.hash)throw Error(`Invalid URL`)}if(await T({magpieUsageUrl:n}),e!==i())return;ci.setState({magpieUsageUrl:n}),s(null),await a()}catch{e===i()&&d(!0)}finally{l(!1)}});return(0,$.jsx)(Jr,{label:`Magpie`,itemId:`usage.magpie`,children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row min-w-0`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground break-words`,children:p>0?e(`settings.usage.magpie.connected`,{count:p}):e(`settings.usage.magpie.description`)}),(r||n.some(e=>e.identified&&e.error))&&(0,$.jsx)(`p`,{role:`status`,className:`typography-meta text-muted-foreground`,children:e(`settings.usage.magpie.unavailable`)}),(0,$.jsxs)(`details`,{className:`mt-2 min-w-0`,children:[(0,$.jsx)(`summary`,{className:`cursor-pointer typography-meta text-muted-foreground hover:text-foreground`,children:e(`settings.usage.magpie.manual`)}),(0,$.jsxs)(`div`,{className:`mt-3 flex min-w-0 flex-col gap-2`,children:[(0,$.jsx)(`label`,{htmlFor:f,className:`typography-meta text-muted-foreground`,children:e(`settings.usage.magpie.url`)}),(0,$.jsx)(gn,{id:f,className:`w-full min-w-0`,value:o??t,disabled:c,onChange:e=>s(e.target.value),"aria-label":e(`settings.usage.magpie.url`)}),(0,$.jsx)(J,{className:`self-end`,size:`sm`,variant:`outline`,onClick:h,disabled:c,children:e(`settings.usage.magpie.save`)}),u&&(0,$.jsx)(`p`,{role:`alert`,className:`typography-meta text-[var(--status-error)]`,children:e(`settings.usage.page.state.refreshFailedTitle`)})]})]})]})})}var Uf=e=>{let t=e?.windows??{},n=Object.values(t).map(e=>e.usedPercent).filter(e=>typeof e==`number`);return n.length===0?null:Math.max(...n)},Wf=e=>{let t=(0,Ki.c)(122),{onItemSelect:n,children:r}=e,{t:i}=Fe(),a=ci(Gf),o=ci(Kf),s=ci(qf),c=ci(Jf),l=ci(Yf),u=ci(Xf),d=ci(Zf),f=ci(Qf),p=ci($f),m=ci(ep),h=ci(tp),g=ci(np),_=ci(rp),v=ci(ip),y,b;t[0]===v?(y=t[1],b=t[2]):(y=()=>{v()},b=[v],t[0]=v,t[1]=y,t[2]=b),Q.useEffect(y,b);let x=ap,S;t[3]===p?S=t[4]:(S=e=>{p(e),x({usageAutoRefresh:e})},t[3]=p,t[4]=S);let C=S,w;t[5]===m?w=t[6]:(w=e=>{let t=Number(e);Number.isFinite(t)&&(m(t),x({usageRefreshIntervalMs:t}))},t[5]=m,t[6]=w);let T=w,E;t[7]===h?E=t[8]:(E=e=>{(e===`usage`||e===`remaining`)&&(h(e),x({usageDisplayMode:e}))},t[7]=h,t[8]=E);let D=E,O;t[9]===_?O=t[10]:(O=e=>{_(e),x({usageShowPredValues:e})},t[9]=_,t[10]=O);let k=O,A=r?`oc-settings-usage-workspace`:`oc-settings-usage-sidebar`,j;t[11]===A?j=t[12]:(j=q(`oc-settings-page-content h-full min-w-0 overflow-y-auto bg-background p-3`,A),t[11]=A,t[12]=j);let M;t[13]===i?M=t[14]:(M=i(`settings.usage.sidebar.title`),t[13]=i,t[14]=M);let N;t[15]===c?N=t[16]:(N=()=>c(),t[15]=c,t[16]=N);let P;t[17]===i?P=t[18]:(P=i(`settings.usage.sidebar.actions.refreshAria`),t[17]=i,t[18]=P);let F;t[19]===i?F=t[20]:(F=i(`settings.usage.sidebar.actions.refreshTitle`),t[19]=i,t[20]=F);let I=l&&`animate-spin`,L;t[21]===I?L=t[22]:(L=q(`h-3.5 w-3.5`,I),t[21]=I,t[22]=L);let R;t[23]===L?R=t[24]:(R=(0,$.jsx)(Z,{name:`refresh`,className:L}),t[23]=L,t[24]=R);let z;t[25]!==l||t[26]!==N||t[27]!==P||t[28]!==F||t[29]!==R?(z=(0,$.jsx)(J,{size:`icon`,variant:`ghost`,className:`text-muted-foreground`,onClick:N,"aria-label":P,title:F,disabled:l,children:R}),t[25]=l,t[26]=N,t[27]=P,t[28]=F,t[29]=R,t[30]=z):z=t[30];let B;t[31]!==z||t[32]!==M?(B=(0,$.jsx)(Yr,{label:M,children:z}),t[31]=z,t[32]=M,t[33]=B):B=t[33];let V;t[34]===i?V=t[35]:(V=i(`settings.usage.sidebar.field.autoRefresh`),t[34]=i,t[35]=V);let H;t[36]===i?H=t[37]:(H=i(`settings.usage.sidebar.actions.toggleAutoRefreshAria`),t[36]=i,t[37]=H);let U;t[38]!==C||t[39]!==H||t[40]!==u?(U=(0,$.jsx)(on,{checked:u,onChange:C,ariaLabel:H}),t[38]=C,t[39]=H,t[40]=u,t[41]=U):U=t[41];let W;t[42]!==V||t[43]!==U?(W=(0,$.jsx)(Yr,{label:V,children:U}),t[42]=V,t[43]=U,t[44]=W):W=t[44];let ee;t[45]===i?ee=t[46]:(ee=i(`settings.usage.sidebar.field.refreshInterval`),t[45]=i,t[46]=ee);let G=String(d),te=!u,ne;t[47]===i?ne=t[48]:(ne=i(`settings.usage.sidebar.field.intervalPlaceholder`),t[47]=i,t[48]=ne);let re;t[49]===ne?re=t[50]:(re=(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:ne,children:op})}),t[49]=ne,t[50]=re);let ie;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`30000`,children:`30s`}),(0,$.jsx)(cn,{value:`60000`,children:`1m`}),(0,$.jsx)(cn,{value:`300000`,children:`5m`})]}),t[51]=ie):ie=t[51];let ae;t[52]!==T||t[53]!==G||t[54]!==te||t[55]!==re?(ae=(0,$.jsxs)(pn,{value:G,onValueChange:T,disabled:te,children:[re,ie]}),t[52]=T,t[53]=G,t[54]=te,t[55]=re,t[56]=ae):ae=t[56];let oe;t[57]!==ee||t[58]!==ae?(oe=(0,$.jsx)(Yr,{label:ee,children:ae}),t[57]=ee,t[58]=ae,t[59]=oe):oe=t[59];let se;t[60]===i?se=t[61]:(se=i(`settings.usage.sidebar.field.display`),t[60]=i,t[61]=se);let ce;t[62]===i?ce=t[63]:(ce=i(`settings.usage.sidebar.field.displayModePlaceholder`),t[62]=i,t[63]=ce);let le;t[64]===i?le=t[65]:(le=e=>e===`usage`?i(`settings.usage.sidebar.field.displayModeUsage`):e===`remaining`?i(`settings.usage.sidebar.field.displayModeRemaining`):e,t[64]=i,t[65]=le);let ue;t[66]!==ce||t[67]!==le?(ue=(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:ce,children:le})}),t[66]=ce,t[67]=le,t[68]=ue):ue=t[68];let de;t[69]===i?de=t[70]:(de=i(`settings.usage.sidebar.field.displayModeUsage`),t[69]=i,t[70]=de);let fe;t[71]===de?fe=t[72]:(fe=(0,$.jsx)(cn,{value:`usage`,children:de}),t[71]=de,t[72]=fe);let pe;t[73]===i?pe=t[74]:(pe=i(`settings.usage.sidebar.field.displayModeRemaining`),t[73]=i,t[74]=pe);let me;t[75]===pe?me=t[76]:(me=(0,$.jsx)(cn,{value:`remaining`,children:pe}),t[75]=pe,t[76]=me);let he;t[77]!==fe||t[78]!==me?(he=(0,$.jsxs)(dn,{children:[fe,me]}),t[77]=fe,t[78]=me,t[79]=he):he=t[79];let ge;t[80]!==D||t[81]!==ue||t[82]!==he||t[83]!==f?(ge=(0,$.jsxs)(pn,{value:f,onValueChange:D,children:[ue,he]}),t[80]=D,t[81]=ue,t[82]=he,t[83]=f,t[84]=ge):ge=t[84];let _e;t[85]!==se||t[86]!==ge?(_e=(0,$.jsx)(Yr,{label:se,children:ge}),t[85]=se,t[86]=ge,t[87]=_e):_e=t[87];let ve;t[88]===i?ve=t[89]:(ve=i(`settings.usage.sidebar.field.showPredictions`),t[88]=i,t[89]=ve);let ye;t[90]===i?ye=t[91]:(ye=i(`settings.usage.sidebar.field.showPredictions`),t[90]=i,t[91]=ye);let K;t[92]!==k||t[93]!==g||t[94]!==ve||t[95]!==ye?(K=(0,$.jsx)(Zr,{checked:g,onChange:k,label:ve,ariaLabel:ye}),t[92]=k,t[93]=g,t[94]=ve,t[95]=ye,t[96]=K):K=t[96];let be;t[97]!==B||t[98]!==W||t[99]!==oe||t[100]!==_e||t[101]!==K?(be=(0,$.jsxs)(Jr,{children:[B,W,oe,_e,K]}),t[97]=B,t[98]=W,t[99]=oe,t[100]=_e,t[101]=K,t[102]=be):be=t[102];let xe;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(Hf,{}),t[103]=xe):xe=t[103];let Se=r?`oc-settings-usage-results`:void 0,Ce;t[104]!==n||t[105]!==a||t[106]!==o||t[107]!==s||t[108]!==i?(Ce=ti(a).map(e=>{let t=a.find(t=>t?.providerId===e.id),r=Uf(t?.usage),c=kn(r),l=e.id===o,u=t?.configured??!1,d=u?c===`critical`?{backgroundColor:`var(--status-error)`}:c===`warn`?{backgroundColor:`var(--status-warning)`}:{backgroundColor:`var(--status-success)`}:{backgroundColor:`var(--surface-muted-foreground)`,opacity:.4};return(0,$.jsx)(`div`,{className:q(`oc-settings-group-row group relative flex items-center transition-colors duration-150`,l?`bg-interactive-selection`:`hover:bg-interactive-hover`),children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{s(e.id),n?.()},className:`flex min-w-0 flex-1 items-center gap-2 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,children:[(0,$.jsx)(`span`,{className:`h-2.5 w-2.5 rounded-full flex-shrink-0`,style:d}),(0,$.jsx)(sn,{providerId:e.id,className:`h-4 w-4 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate flex-1 min-w-0 text-foreground`,children:e.name}),!u&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/60 flex-shrink-0`,children:i(`settings.usage.sidebar.status.notSet`)})]})},e.id)}),t[104]=n,t[105]=a,t[106]=o,t[107]=s,t[108]=i,t[109]=Ce):Ce=t[109];let we;t[110]===Ce?we=t[111]:(we=(0,$.jsx)(Jr,{children:Ce}),t[110]=Ce,t[111]=we);let Te;t[112]===r?Te=t[113]:(Te=r&&(0,$.jsx)(`div`,{className:`oc-settings-usage-detail min-w-0`,children:r}),t[112]=r,t[113]=Te);let Ee;t[114]!==Se||t[115]!==we||t[116]!==Te?(Ee=(0,$.jsxs)(`div`,{className:Se,children:[we,Te]}),t[114]=Se,t[115]=we,t[116]=Te,t[117]=Ee):Ee=t[117];let De;return t[118]!==be||t[119]!==Ee||t[120]!==j?(De=(0,$.jsxs)(`div`,{className:j,children:[be,xe,Ee]}),t[118]=be,t[119]=Ee,t[120]=j,t[121]=De):De=t[121],De};function Gf(e){return e.results}function Kf(e){return e.selectedProviderId}function qf(e){return e.setSelectedProvider}function Jf(e){return e.fetchAllQuotas}function Yf(e){return e.isLoading}function Xf(e){return e.autoRefresh}function Zf(e){return e.refreshIntervalMs}function Qf(e){return e.displayMode}function $f(e){return e.setAutoRefresh}function ep(e){return e.setRefreshInterval}function tp(e){return e.setDisplayMode}function np(e){return e.showPredValues}function rp(e){return e.setShowPredValues}function ip(e){return e.loadSettings}async function ap(e){try{await T(e)}catch(e){console.warn(`Failed to save usage settings:`,e)}}function op(e){return e===`30000`?`30s`:e===`60000`?`1m`:e===`300000`?`5m`:e}var sp=e=>{let t=(0,Ki.c)(54),{title:n,window:r,subtitle:i,showToggle:a,toggleEnabled:o,onToggle:s}=e,c=a!==void 0&&a,l=o!==void 0&&o,{locale:u}=Fe(),[d,f]=Q.useState(Date.now),p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>f(Date.now()),t[0]=p):p=t[0],Ae(p,r.disablePace&&r.resetAt?3e4:null);let m=r.resetAt?Math.max(0,Math.ceil((r.resetAt-d)/6e4)):null,h;t[1]!==u||t[2]!==m?(h=m===null?``:[{unit:`day`,value:Math.floor(m/1440)},{unit:`hour`,value:Math.floor(m%1440/60)},{unit:`minute`,value:m%60}].filter(e=>{let{unit:t,value:n}=e;return n>0||t===`minute`&&m===0}).map(e=>{let{unit:t,value:n}=e;return new Intl.NumberFormat(u,{style:`unit`,unit:t,unitDisplay:`long`}).format(n)}).join(` `),t[1]=u,t[2]=m,t[3]=h):h=t[3];let g=h,_=ci(cp),v=ci(lp),y=K(up),b=_===`remaining`?r.remainingPercent:r.usedPercent,x=_===`remaining`?`remaining`:`used`,S;t[4]!==b||t[5]!==r.disablePace||t[6]!==r.valueLabel?(S=r.disablePace&&r.valueLabel&&b!==null?`${Mn(null,b)} · ${r.valueLabel}`:Mn(r.valueLabel,b),t[4]=b,t[5]=r.disablePace,t[6]=r.valueLabel,t[7]=S):S=t[7];let C=S,w=r.resetAfterFormatted??r.resetAtFormatted,T;t[8]!==w||t[9]!==y||t[10]!==r.resetAt?(T=ir(r.resetAt,w,y),t[8]=w,t[9]=y,t[10]=r.resetAt,t[11]=T):T=t[11];let E=T,D;t[12]===n?D=t[13]:(D=In(n),t[12]=n,t[13]=D);let O=D,k;t[14]!==n||t[15]!==r.disablePace||t[16]!==r.resetAt||t[17]!==r.usedPercent||t[18]!==r.windowSeconds?(k=r.disablePace?null:or(r.usedPercent,r.resetAt,r.windowSeconds,n),t[14]=n,t[15]=r.disablePace,t[16]=r.resetAt,t[17]=r.usedPercent,t[18]=r.windowSeconds,t[19]=k):k=t[19];let A=k,j;bb0:{if(!A||A.dailyAllocationPercent===null){j=null;break bb0}let e=Fn(A.elapsedRatio);j=_===`remaining`?100-e:e}let M=j,N;t[20]!==s||t[21]!==c||t[22]!==l?(N=c&&(0,$.jsx)(on,{checked:l,onChange:e=>s?.(e),ariaLabel:`Show in dropdown`}),t[20]=s,t[21]=c,t[22]=l,t[23]=N):N=t[23];let P;t[24]===O?P=t[25]:(P=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:O}),t[24]=O,t[25]=P);let F;t[26]===i?F=t[27]:(F=i&&(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground truncate`,children:i}),t[26]=i,t[27]=F);let I;t[28]!==P||t[29]!==F?(I=(0,$.jsxs)(`div`,{className:`min-w-0 flex flex-col`,children:[P,F]}),t[28]=P,t[29]=F,t[30]=I):I=t[30];let L;t[31]!==N||t[32]!==I?(L=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 flex items-center gap-2`,children:[N,I]}),t[31]=N,t[32]=I,t[33]=L):L=t[33];let R=C===`-`?``:C,z;t[34]===R?z=t[35]:(z=(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground tabular-nums flex items-center justify-end`,children:R}),t[34]=R,t[35]=z);let B;t[36]!==L||t[37]!==z?(B=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[L,z]}),t[36]=L,t[37]=z,t[38]=B):B=t[38];let V;t[39]!==x||t[40]!==g||t[41]!==b||t[42]!==M||t[43]!==E||t[44]!==r.disablePace||t[45]!==r.usedPercent?(V=(!r.disablePace||b!==null||E)&&(0,$.jsxs)(`div`,{className:`mt-2.5`,children:[(!r.disablePace||b!==null)&&(0,$.jsx)(fi,{percent:b,tonePercent:r.usedPercent,expectedMarkerPercent:M,className:`h-1.5`}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:E?r.disablePace?`${E} (${g})`:`Resets ${E}`:``}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:r.disablePace&&b===null?``:x})]})]}),t[39]=x,t[40]=g,t[41]=b,t[42]=M,t[43]=E,t[44]=r.disablePace,t[45]=r.usedPercent,t[46]=V):V=t[46];let H;t[47]!==A||t[48]!==v?(H=A&&v&&(0,$.jsx)(`div`,{className:`mt-1.5`,children:(0,$.jsx)(oi,{paceInfo:A})}),t[47]=A,t[48]=v,t[49]=H):H=t[49];let U;return t[50]!==B||t[51]!==V||t[52]!==H?(U=(0,$.jsxs)(`div`,{className:`py-3`,children:[B,V,H]}),t[50]=B,t[51]=V,t[52]=H,t[53]=U):U=t[53],U};function cp(e){return e.displayMode}function lp(e){return e.showPredValues}function up(e){return e.timeFormatPreference}var dp=(e,t)=>{if(!e)return`-`;try{return zn(e,t,{fallback:`-`})}catch{return`-`}},fp=()=>{let{t:e}=Fe(),t=K(e=>e.timeFormatPreference),n=ci(e=>e.results),r=ci(e=>e.selectedProviderId),i=ci(e=>e.setSelectedProvider),a=ci(e=>e.loadSettings),o=ci(e=>e.fetchAllQuotas),s=ci(e=>e.isLoading),c=ci(e=>e.lastUpdated),l=ci(e=>e.error),u=ci(e=>e.dropdownProviderIds),d=ci(e=>e.setDropdownProviderIds),f=ci(e=>e.selectedModels),p=ci(e=>e.toggleModelSelected),m=ci(e=>e.applyDefaultSelections);si(),Q.useEffect(()=>{a(),o()},[a,o]),Q.useEffect(()=>{if(r&&(!r.startsWith(`magpie:`)||n.some(e=>e.providerId===r))||n.length===0)return;let e=n.find(e=>e?.configured)?.providerId;i(e??Gr[0]?.id??null)},[n,r,i]);let h=n.find(e=>e?.providerId===r)??null,g=Gr.find(e=>e.id===r),_=h?.providerName??g?.name??r??e(`settings.usage.sidebar.title`),v=h?.usage,y=r?u.includes(r):!1,b=Q.useCallback(e=>{if(!r)return;let t=e?Array.from(new Set([...u,r])):u.filter(e=>e!==r);d(t),T({usageDropdownProviders:t,magpieHiddenProviders:ci.getState().magpieHiddenProviders})},[u,r,d]),x=Q.useMemo(()=>v?.models?Object.entries(v.models).map(([e,t])=>({name:e,windows:t})).filter(e=>Object.keys(e.windows.windows).length>0):[],[v?.models]);Q.useEffect(()=>{r&&x.length>0&&m(r,x.map(e=>e.name))},[r,x,m]);let S=Q.useMemo(()=>!r||x.length===0?new Map:li(x,e=>e.name,r),[x,r]),C=Q.useMemo(()=>{if(!r)return[];let e=hi(r);return ri(e)},[r]),[w,E]=Q.useState(()=>({})),D=Q.useCallback(e=>{E(t=>({...t,[e]:!t[e]}))},[]),O=Q.useCallback(e=>{if(!r)return;p(r,e);let t=f[r]??[],n=t.includes(e)?t.filter(t=>t!==e):[...t,e],i={...f,[r]:n};T({usageSelectedModels:i})},[r,f,p]),k=r?f[r]??[]:[];return r?(0,$.jsx)(Ar,{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,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(sn,{providerId:r,className:`h-5 w-5 shrink-0`}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground truncate`,children:e(`settings.usage.page.header.providerUsage`,{provider:_})}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:s?(0,$.jsx)(`span`,{className:`animate-pulse`,children:e(`settings.usage.page.header.refreshing`)}):e(`settings.usage.page.header.lastUpdated`,{time:dp(c,t)})})]})]}),(0,$.jsx)(Jr,{children:(0,$.jsxs)(`div`,{"data-settings-item":`usage.header-menu`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,"aria-pressed":y,onClick:()=>b(!y),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),b(!y))},children:[(0,$.jsx)(`div`,{className:`oc-settings-split-row-copy`,children:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.usage.page.options.showInHeader`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 cursor-help text-muted-foreground/60`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.usage.page.options.showInHeaderTooltip`)})]})]})}),(0,$.jsx)(`div`,{"data-settings-value":``,className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:y,onChange:b,ariaLabel:e(`settings.usage.page.options.showInHeaderAria`)})})]})}),!h&&(0,$.jsx)(`div`,{className:`px-2`,children:(0,$.jsx)(`p`,{className:`typography-ui-label text-foreground`,children:e(`settings.usage.page.state.noData`)})}),l&&(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--status-error-border)] bg-[var(--status-error-background)] px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-medium text-[var(--status-error)]`,children:e(`settings.usage.page.state.refreshFailedTitle`)}),(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]/80 mt-1`,children:l})]}),h?.configured&&!h.ok&&h.error&&(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--status-error-border)] bg-[var(--status-error-background)] px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-medium text-[var(--status-error)]`,children:e(`settings.usage.page.state.refreshFailedTitle`)}),(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]/80 mt-1`,children:h.error})]}),h&&!h.configured&&(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--status-warning-border)] bg-[var(--status-warning-background)] px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-medium text-[var(--status-warning)]`,children:e(`settings.usage.page.state.providerNotConfiguredTitle`)}),(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-warning)]/80 mt-1`,children:e(`settings.usage.page.state.providerNotConfiguredDescription`)})]}),v?.accounts?.map((n,r)=>(0,$.jsx)(Jr,{label:n.name,children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground break-words`,children:[n.user,n.plan,n.from].filter(Boolean).join(` · `)}),n.readAt&&(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.usage.page.header.lastUpdated`,{time:dp(n.readAt,t)})}),n.stale&&(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.usage.magpie.cached`)}),n.error&&(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:e(`settings.usage.page.state.refreshFailedTitle`)}),(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)]`,children:Object.entries(n.windows).map(([e,t])=>(0,$.jsx)(sp,{title:t.label??e,window:t},e))})]})},`${n.id}:${r}`)),!v?.accounts&&v?.windows&&Object.keys(v.windows).length>0&&(0,$.jsx)(Jr,{children:(0,$.jsx)(`div`,{"data-settings-item":`usage.model-quotas`,className:`oc-settings-group-row`,children:(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)]`,children:Object.entries(v.windows).map(([e,t])=>(0,$.jsx)(sp,{title:e,window:t},e))})})}),x.length>0&&(0,$.jsxs)(Jr,{label:e(`settings.usage.page.section.modelQuotas`),children:[C.map(e=>{let t=S.get(e.id)??[];if(t.length===0)return null;let n=w[e.id]??!1;return(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsxs)(Hi,{open:!n,onOpenChange:()=>D(e.id),children:[(0,$.jsxs)(Vi,{className:`flex w-full items-center justify-between py-0.5 group`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 text-left`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label font-normal text-foreground`,children:e.label}),(0,$.jsxs)(`span`,{className:`typography-micro text-muted-foreground`,children:[`(`,t.length,`)`]})]}),n?(0,$.jsx)(Z,{name:`arrow-right-s`,className:`h-4 w-4 text-muted-foreground group-hover:text-foreground transition-colors`}):(0,$.jsx)(Z,{name:`arrow-down-s`,className:`h-4 w-4 text-muted-foreground group-hover:text-foreground transition-colors`})]}),(0,$.jsx)(Bi,{children:(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)] mt-1`,children:t.map(e=>{let t=Object.entries(e.windows.windows);if(t.length===0)return null;let[n,r]=t[0],i=k.includes(e.name);return(0,$.jsx)(sp,{title:n,subtitle:pi(e.name),window:r,showToggle:!0,toggleEnabled:i,onToggle:()=>O(e.name)},e.name)})})})]})},e.id)}),(()=>{let t=S.get(null)??[];if(t.length===0)return null;let n=w.other??!1;return(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsxs)(Hi,{open:!n,onOpenChange:()=>D(`other`),children:[(0,$.jsxs)(Vi,{className:`flex w-full items-center justify-between py-0.5 group`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 text-left`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label font-normal text-foreground`,children:e(`settings.usage.page.section.otherModels`)}),(0,$.jsxs)(`span`,{className:`typography-micro text-muted-foreground`,children:[`(`,t.length,`)`]})]}),n?(0,$.jsx)(Z,{name:`arrow-right-s`,className:`h-4 w-4 text-muted-foreground group-hover:text-foreground transition-colors`}):(0,$.jsx)(Z,{name:`arrow-down-s`,className:`h-4 w-4 text-muted-foreground group-hover:text-foreground transition-colors`})]}),(0,$.jsx)(Bi,{children:(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)] mt-1`,children:t.map(e=>{let t=Object.entries(e.windows.windows);if(t.length===0)return null;let[n,r]=t[0],i=k.includes(e.name);return(0,$.jsx)(sp,{title:n,subtitle:pi(e.name),window:r,showToggle:!0,toggleEnabled:i,onToggle:()=>O(e.name)},e.name)})})})]})})})()]}),h?.configured&&v&&Object.keys(v.windows??{}).length===0&&x.length===0&&(0,$.jsxs)(`div`,{className:`px-2`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label text-foreground`,children:e(`settings.usage.page.state.noQuotaWindowsTitle`)}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground mt-1`,children:e(`settings.usage.page.state.noQuotaWindowsDescription`)})]})]})}):(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center text-muted-foreground`,children:(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.usage.page.empty.selectProvider`)})})},pp=`git.commit.generate`,mp=oe(e=>({selectedPromptId:pp,setSelectedPromptId:t=>{e(e=>e.selectedPromptId===t?e:{selectedPromptId:t})}})),hp=e=>{let t=(0,Ki.c)(22),{onItemSelect:n}=e,{t:r}=Fe(),i=mp(gp),a=mp(_p),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={groupKey:`settings.magicPrompts.sidebar.group.git`,items:[{id:`git.commit.generate`,titleKey:`settings.magicPrompts.sidebar.item.gitCommitGenerate`},{id:`git.pr.generate`,titleKey:`settings.magicPrompts.sidebar.item.gitPrGenerate`},{id:`git.conflict.resolve`,titleKey:`settings.magicPrompts.sidebar.item.gitConflictResolve`},{id:`git.integrate.cherrypick.resolve`,titleKey:`settings.magicPrompts.sidebar.item.gitCherrypickConflictResolve`}]},t[0]=o):o=t[0];let s;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(s={groupKey:`settings.magicPrompts.sidebar.group.github`,items:[{id:`github.pr.review`,titleKey:`settings.magicPrompts.sidebar.item.githubPrReview`},{id:`github.issue.review`,titleKey:`settings.magicPrompts.sidebar.item.githubIssueReview`},{id:`github.pr.checks.review`,titleKey:`settings.magicPrompts.sidebar.item.githubPrFailedChecksReview`},{id:`github.pr.comments.review`,titleKey:`settings.magicPrompts.sidebar.item.githubPrCommentsReview`},{id:`github.pr.comment.single`,titleKey:`settings.magicPrompts.sidebar.item.githubSinglePrCommentReview`}]},t[1]=s):s=t[1];let c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=[o,s,{groupKey:`settings.magicPrompts.sidebar.group.session`,items:[{id:`session.explore`,titleKey:`settings.magicPrompts.sidebar.item.sessionExplore`},{id:`session.summary`,titleKey:`settings.magicPrompts.sidebar.item.sessionSummary`},{id:`session.review`,titleKey:`settings.magicPrompts.sidebar.item.sessionWorkspaceReview`},{id:`session.craftGoal`,titleKey:`settings.magicPrompts.sidebar.item.sessionCraftGoal`},{id:`session.catchup`,titleKey:`settings.magicPrompts.sidebar.item.sessionCatchUp`},{id:`session.debug`,titleKey:`settings.magicPrompts.sidebar.item.sessionDebug`},{id:`session.weigh`,titleKey:`settings.magicPrompts.sidebar.item.sessionWeigh`},{id:`session.fusion`,titleKey:`settings.magicPrompts.sidebar.item.sessionFusion`}]}],t[2]=c):c=t[2];let l=c,u;t[3]===r?u=t[4]:(u=r(`settings.magicPrompts.sidebar.title`),t[3]=r,t[4]=u);let d;t[5]===u?d=t[6]:(d=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:u}),t[5]=u,t[6]=d);let f;t[7]===r?f=t[8]:(f=r(`settings.magicPrompts.sidebar.description`),t[7]=r,t[8]=f);let p;t[9]===f?p=t[10]:(p=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:f}),t[9]=f,t[10]=p);let m;t[11]!==d||t[12]!==p?(m=(0,$.jsxs)(`div`,{className:`flex flex-col justify-center gap-1 px-2`,children:[d,p]}),t[11]=d,t[12]=p,t[13]=m):m=t[13];let h;t[14]!==n||t[15]!==i||t[16]!==a||t[17]!==r?(h=l.map(e=>(0,$.jsx)(Jr,{label:r(e.groupKey),children:e.items.map(e=>{let t=i===e.id;return(0,$.jsx)(`button`,{type:`button`,onClick:()=>{a(e.id),n?.()},className:q(`oc-settings-group-row flex w-full items-center text-left transition-colors`,t?`bg-interactive-selection text-foreground`:`text-foreground hover:bg-interactive-hover`),children:(0,$.jsx)(`span`,{className:`typography-ui-label truncate font-normal`,children:r(e.titleKey)})},e.id)})},e.groupKey)),t[14]=n,t[15]=i,t[16]=a,t[17]=r,t[18]=h):h=t[18];let g;return t[19]!==m||t[20]!==h?(g=(0,$.jsxs)(`div`,{className:`oc-settings-page-content h-full overflow-y-auto bg-background p-3`,children:[m,h]}),t[19]=m,t[20]=h,t[21]=g):g=t[21],g};function gp(e){return e.selectedPromptId}function _p(e){return e.setSelectedPromptId}var vp={"git.commit.generate":{titleKey:`settings.magicPrompts.page.group.gitCommitGenerate.title`,descriptionKey:`settings.magicPrompts.page.group.gitCommitGenerate.description`,blocks:[{id:`git.commit.generate.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`git.commit.generate.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"git.pr.generate":{titleKey:`settings.magicPrompts.page.group.gitPrGenerate.title`,descriptionKey:`settings.magicPrompts.page.group.gitPrGenerate.description`,blocks:[{id:`git.pr.generate.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`git.pr.generate.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"github.pr.review":{titleKey:`settings.magicPrompts.page.group.githubPrReview.title`,descriptionKey:`settings.magicPrompts.page.group.githubPrReview.description`,blocks:[{id:`github.pr.review.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`github.pr.review.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"github.issue.review":{titleKey:`settings.magicPrompts.page.group.githubIssueReview.title`,descriptionKey:`settings.magicPrompts.page.group.githubIssueReview.description`,blocks:[{id:`github.issue.review.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`github.issue.review.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"github.pr.checks.review":{titleKey:`settings.magicPrompts.page.group.githubPrFailedChecksReview.title`,descriptionKey:`settings.magicPrompts.page.group.githubPrFailedChecksReview.description`,blocks:[{id:`github.pr.checks.review.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`github.pr.checks.review.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"github.pr.comments.review":{titleKey:`settings.magicPrompts.page.group.githubPrCommentsReview.title`,descriptionKey:`settings.magicPrompts.page.group.githubPrCommentsReview.description`,blocks:[{id:`github.pr.comments.review.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`github.pr.comments.review.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"github.pr.comment.single":{titleKey:`settings.magicPrompts.page.group.githubSinglePrCommentReview.title`,descriptionKey:`settings.magicPrompts.page.group.githubSinglePrCommentReview.description`,blocks:[{id:`github.pr.comment.single.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`github.pr.comment.single.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"git.conflict.resolve":{titleKey:`settings.magicPrompts.page.group.gitConflictResolve.title`,descriptionKey:`settings.magicPrompts.page.group.gitConflictResolve.description`,blocks:[{id:`git.conflict.resolve.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`git.conflict.resolve.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"git.integrate.cherrypick.resolve":{titleKey:`settings.magicPrompts.page.group.gitCherrypickConflictResolve.title`,descriptionKey:`settings.magicPrompts.page.group.gitCherrypickConflictResolve.description`,blocks:[{id:`git.integrate.cherrypick.resolve.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`git.integrate.cherrypick.resolve.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.summary":{titleKey:`settings.magicPrompts.page.group.sessionSummary.title`,descriptionKey:`settings.magicPrompts.page.group.sessionSummary.description`,blocks:[{id:`session.summary.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.summary.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.review":{titleKey:`settings.magicPrompts.page.group.sessionWorkspaceReview.title`,descriptionKey:`settings.magicPrompts.page.group.sessionWorkspaceReview.description`,blocks:[{id:`session.review.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.review.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.craftGoal":{titleKey:`settings.magicPrompts.page.group.sessionCraftGoal.title`,descriptionKey:`settings.magicPrompts.page.group.sessionCraftGoal.description`,blocks:[{id:`session.craftGoal.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.craftGoal.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.catchup":{titleKey:`settings.magicPrompts.page.group.sessionCatchUp.title`,descriptionKey:`settings.magicPrompts.page.group.sessionCatchUp.description`,blocks:[{id:`session.catchup.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.catchup.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.debug":{titleKey:`settings.magicPrompts.page.group.sessionDebug.title`,descriptionKey:`settings.magicPrompts.page.group.sessionDebug.description`,blocks:[{id:`session.debug.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.debug.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.weigh":{titleKey:`settings.magicPrompts.page.group.sessionWeigh.title`,descriptionKey:`settings.magicPrompts.page.group.sessionWeigh.description`,blocks:[{id:`session.weigh.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.weigh.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.explore":{titleKey:`settings.magicPrompts.page.group.sessionExplore.title`,descriptionKey:`settings.magicPrompts.page.group.sessionExplore.description`,blocks:[{id:`session.explore.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.explore.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.fusion":{titleKey:`settings.magicPrompts.page.group.sessionFusion.title`,descriptionKey:`settings.magicPrompts.page.group.sessionFusion.description`,blocks:[{id:`session.fusion.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.fusion.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]}},yp=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),bp=e=>e.endsWith(`.visible`),xp=()=>{let{t:e}=Fe(),t=Q.useCallback(t=>e(t),[e]),n=mp(e=>e.selectedPromptId),[r,i]=Q.useState(!0),[a,o]=Q.useState({}),[s,c]=Q.useState({}),[l,u]=Q.useState({}),[d,f]=Q.useState({}),[p,m]=Q.useState(!1);Q.useEffect(()=>{let t=!0;return(async()=>{i(!0);try{let e=await Pt();if(!t)return;o(e)}catch(t){console.warn(`Failed to load magic prompts:`,t),Y.error(e(`settings.magicPrompts.page.toast.loadFailed`))}finally{t&&i(!1)}})(),()=>{t=!1}},[e]);let h=vp[n]??vp[`git.commit.generate`],g=Q.useCallback(e=>yp(a,e)?a[e]:Wt(e),[a]),_=Q.useCallback(e=>s[e]??g(e),[s,g]),v=Q.useCallback((e,t)=>{c(n=>n[e]===t?n:{...n,[e]:t})},[]),y=Q.useCallback(async t=>{let n=_(t);if(bp(t)&&n.trim().length===0){Y.error(e(`settings.magicPrompts.page.toast.visiblePromptRequired`));return}u(e=>({...e,[t]:!0}));try{let r=n===Wt(t)?await Ft(t):await jt(t,n);o(r.overrides),Y.success(e(`settings.magicPrompts.page.toast.saved`))}catch(t){let n=t instanceof Error?t.message:String(t);Y.error(e(`settings.magicPrompts.page.toast.saveFailed`),{description:n})}finally{u(e=>({...e,[t]:!1}))}},[_,e]),b=Q.useCallback(async t=>{f(e=>({...e,[t]:!0}));try{let n=await Ft(t);o(n.overrides),c(e=>({...e,[t]:Wt(t)})),Y.success(e(`settings.magicPrompts.page.toast.resetSuccess`))}catch(t){let n=t instanceof Error?t.message:String(t);Y.error(e(`settings.magicPrompts.page.toast.resetFailed`),{description:n})}finally{f(e=>({...e,[t]:!1}))}},[e]),x=Q.useCallback(async()=>{m(!0);try{let t=await Rt();o(t.overrides),c({}),Y.success(e(`settings.magicPrompts.page.toast.resetAllSuccess`))}catch(t){let n=t instanceof Error?t.message:String(t);Y.error(e(`settings.magicPrompts.page.toast.resetAllFailed`),{description:n})}finally{m(!1)}},[e]);return r?(0,$.jsxs)(`div`,{className:`py-6 px-6 flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 rounded-full bg-current animate-busy-pulse`,"aria-label":e(`settings.magicPrompts.page.loading.aria`)}),(0,$.jsx)(`span`,{className:`typography-ui`,children:e(`settings.magicPrompts.page.loading.text`)})]}):(0,$.jsx)(`div`,{className:`h-full overflow-auto`,children:(0,$.jsxs)(`div`,{className:`oc-settings-page-content mx-auto w-full max-w-4xl px-6 py-6`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground`,children:t(h.titleKey)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:t(h.descriptionKey)})]})]})}),(0,$.jsx)(J,{"data-settings-item":`magic-prompts.reset-overrides`,variant:`outline`,size:`sm`,onClick:()=>{x()},disabled:p||Object.keys(a).length===0,children:e(p?`settings.magicPrompts.page.actions.resetting`:`settings.magicPrompts.page.actions.resetAllOverrides`)})]}),h.blocks.map(n=>{let r=Et(n.id),i=g(n.id),o=_(n.id),s=yp(a,n.id),c=o!==i,u=bp(n.id)&&o.trim().length===0,f=l[n.id]===!0,p=d[n.id]===!0;return(0,$.jsx)(Jr,{label:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`span`,{children:t(n.titleKey)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:r.description})]})]}),cardClassName:`p-3`,children:(0,$.jsxs)(`div`,{"data-settings-item":bp(n.id)?`magic-prompts.visible-prompt`:`magic-prompts.instructions`,className:`space-y-3`,children:[r.placeholders&&r.placeholders.length>0&&(0,$.jsxs)(`div`,{className:`typography-micro text-muted-foreground`,children:[e(`settings.magicPrompts.page.placeholdersLabel`),` `,r.placeholders.map(e=>`{{${e.key}}}`).join(`, `)]}),(0,$.jsx)(jr,{embedded:!0,value:o,onChange:e=>v(n.id,e.target.value),className:`min-h-[220px] font-mono text-sm`}),u&&(0,$.jsx)(`div`,{className:`typography-micro text-[var(--status-error)]`,children:e(`settings.magicPrompts.page.validation.visiblePromptRequired`)}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:e(c?`settings.magicPrompts.page.status.unsavedChanges`:s?`settings.magicPrompts.page.status.usingSavedOverride`:`settings.magicPrompts.page.status.usingBuiltinDefault`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:()=>{b(n.id)},disabled:!s||f||p,children:e(p?`settings.magicPrompts.page.actions.resetting`:`settings.magicPrompts.page.actions.resetToDefault`)}),(0,$.jsx)(J,{size:`sm`,onClick:()=>{y(n.id)},disabled:!c||f||p||u,children:e(f?`settings.common.actions.saving`:`settings.magicPrompts.page.actions.save`)})]})]})]})},n.id)})]})})},Sp=()=>{let{t:e}=Fe(),t=Ct(e=>e.settingsGitmojiEnabled),n=Ct(e=>e.setSettingsGitmojiEnabled),r=g(),i=K(e=>e.gitChangesViewMode),a=K(e=>e.setGitChangesViewMode),[o,s]=Q.useState(!0),c=Q.useMemo(()=>[{id:`flat`,label:e(`settings.openchamber.git.option.flatList`)},{id:`tree`,label:e(`settings.openchamber.git.option.treeView`)}],[e]);Q.useEffect(()=>{(async()=>{try{let e=null;if(!e){let t=h()?.settings;if(t)try{let n=(await t.load())?.settings;n&&(e={gitmojiEnabled:typeof n.gitmojiEnabled==`boolean`?n.gitmojiEnabled:void 0,gitChangesViewMode:n.gitChangesViewMode===`flat`||n.gitChangesViewMode===`tree`?n.gitChangesViewMode:void 0})}catch{}}if(!e){let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});t.ok&&(e=await t.json())}e&&(typeof e.gitmojiEnabled==`boolean`&&n(e.gitmojiEnabled),(e.gitChangesViewMode===`flat`||e.gitChangesViewMode===`tree`)&&a(e.gitChangesViewMode))}catch(e){console.warn(`Failed to load git settings:`,e)}finally{s(!1)}})()},[a,n]);let u=Q.useCallback(async e=>{n(e);try{await T({gitmojiEnabled:e})}catch(e){console.warn(`Failed to save gitmoji setting:`,e)}},[n]),d=Q.useCallback(e=>{e!==i&&(a(e),T({gitChangesViewMode:e}))},[i,a]);return o?null:(0,$.jsxs)(Jr,{label:e(`settings.openchamber.git.title`),children:[(0,$.jsx)(Yr,{itemId:`git.changes-view`,label:e(`settings.openchamber.git.changesViewTitle`),controlClassName:`items-end`,children:(0,$.jsx)(`div`,{role:`radiogroup`,"aria-label":e(`settings.openchamber.git.changesViewAria`),className:`mt-0.5 space-y-0`,children:c.map(t=>{let n=i===t.id;return(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-pressed":n,onClick:()=>{d(t.id)},onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),d(t.id))},className:`flex w-full items-center gap-2 py-0 text-left`,children:[(0,$.jsx)(ec,{checked:n,onChange:()=>{d(t.id)},ariaLabel:e(`settings.openchamber.git.optionAria`,{option:t.label})}),(0,$.jsx)(`span`,{className:n?`typography-ui-label font-normal text-foreground`:`typography-ui-label font-normal text-foreground/50`,children:t.label})]},t.id)})})}),(0,$.jsxs)(`div`,{"data-settings-item":`git.gitmoji`,className:`oc-settings-group-row group flex cursor-pointer items-center gap-2`,role:`button`,tabIndex:0,"aria-pressed":t,onClick:()=>{u(!t)},onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),u(!t))},children:[(0,$.jsx)(on,{checked:t,onChange:e=>{u(e)},ariaLabel:e(`settings.openchamber.git.enableGitmojiAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.git.enableGitmoji`)})]}),(0,$.jsxs)(`div`,{"data-settings-item":`git.gitignored-files`,className:`oc-settings-group-row group flex cursor-pointer items-center gap-2`,role:`button`,tabIndex:0,"aria-pressed":r,onClick:()=>m(!r),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),m(!r))},children:[(0,$.jsx)(on,{checked:r,onChange:m,ariaLabel:e(`settings.openchamber.git.showGitignoredAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.git.showGitignored`)})]})]})},Cp=({itemId:e})=>{let{t}=Fe(),{isMobile:n}=Tr(),r=h()?.github,i=mr(),a=i.data??null,o=i.isLoading&&!i.data,s=i.isFetched,c=_i(e=>e.refreshStatus),u=_i(e=>e.setStatus),d=Q.useCallback(async e=>{await Lr(e)},[]),[f,p]=Q.useState(!1),[m,g]=Q.useState(null),[_,v]=Q.useState(null),y=Q.useRef(null),b=Q.useRef(0),x=Q.useCallback(()=>{y.current!=null&&(window.clearTimeout(y.current),y.current=null),v(null)},[]);Q.useEffect(()=>((async()=>{try{s||await c(r)}catch(e){console.warn(`Failed to load GitHub auth status:`,e)}})(),()=>{x()}),[s,c,r,x]);let S=Q.useCallback(async()=>{p(!0);try{let e=r?await r.authStart():await(async()=>{let e=await l(`/api/github/auth/start`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({})}),t=await e.json().catch(()=>null);if(!e.ok||!t||!(`deviceCode`in t))throw Error(t?.error||e.statusText);return t})();g(e),b.current=Date.now(),v(Math.max(1,e.interval)*1e3);let t=e.verificationUriComplete||e.verificationUri;d(t)}catch(e){console.error(`Failed to start GitHub connect:`,e),Y.error(t(`settings.github.page.toast.startConnectFailed`))}finally{p(!1)}},[d,r,t]),C=Q.useCallback(async e=>{if(r)return r.authComplete(e);let t=await l(`/api/github/auth/complete`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({deviceCode:e})}),n=await t.json().catch(()=>null);if(!t.ok||!n)throw Error(n?.error||t.statusText);return n},[r]);Q.useEffect(()=>{if(!m?.deviceCode||!_||y.current!=null)return;let e=!1,n=b.current+m.expiresIn*1e3,i=async()=>{if(Date.now()>=n){Y.error(t(`settings.github.page.toast.authorizationFailed`)),g(null),x();return}try{let n=await C(m.deviceCode);if(e)return;if(n.connected){Y.success(t(`settings.github.page.toast.connected`)),g(null),x(),await c(r,{force:!0});return}if(n.status===`slow_down`){v(e=>e?e+5e3:5e3);return}if(n.status===`expired_token`||n.status===`access_denied`){Y.error(n.error||t(`settings.github.page.toast.authorizationFailed`)),g(null),x();return}}catch(t){if(e)return;console.warn(`GitHub polling failed:`,t)}y.current=window.setTimeout(()=>void i(),_)};return y.current=window.setTimeout(()=>void i(),_),()=>{e=!0,y.current!=null&&(window.clearTimeout(y.current),y.current=null)}},[m,_,C,c,r,x,t]);let w=Q.useCallback(async e=>{p(!0);try{if(r)await r.authSetGhCliDisabled(e);else{let t=await l(`/api/github/auth/gh-cli`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({disabled:e})}),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.error||t.statusText)}Y.success(t(e?`settings.github.page.toast.ghCliDisabled`:`settings.github.page.toast.ghCliEnabled`)),await c(r,{force:!0})}catch(e){console.error(`Failed to update gh CLI setting:`,e),Y.error(t(`settings.github.page.toast.ghCliUpdateFailed`))}finally{p(!1)}},[c,r,t]),T=Q.useCallback(async()=>{p(!0);try{if(x(),g(null),r)await r.authDisconnect();else{let e=await l(`/api/github/auth`,{method:`DELETE`,headers:{Accept:`application/json`}});if(!e.ok)throw Error(e.statusText)}Y.success(t(`settings.github.page.toast.disconnected`)),await c(r,{force:!0})}catch(e){console.error(`Failed to disconnect GitHub:`,e),Y.error(t(`settings.github.page.toast.disconnectFailed`))}finally{p(!1)}},[c,r,x,t]),E=Q.useCallback(async e=>{if(e){p(!0);try{let n=r?await r.authActivate(e):await(async()=>{let t=await l(`/api/github/auth/activate`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({accountId:e})}),n=await t.json().catch(()=>null);if(!t.ok||!n)throw Error(n?.error||t.statusText);return n})();u(n),Y.success(t(`settings.github.page.toast.accountSwitched`))}catch(e){console.error(`Failed to switch GitHub account:`,e),Y.error(t(`settings.github.page.toast.accountSwitchFailed`))}finally{p(!1)}}},[r,u,t]);if(o)return null;if(i.isError&&!i.data)return(0,$.jsx)(`div`,{className:`oc-settings-group-description text-[var(--status-error)]`,children:i.error.message});let D=!!a?.connected,O=a?.user,k=(a?.accounts??[]).filter(e=>!e.current),A=a?.ghCli??null,j=A?.active?t(`settings.github.page.accountSource.cli`):t(`settings.github.page.accountSource.oauth`);return(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[(0,$.jsxs)(Jr,{itemId:e,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:t(`settings.github.page.oauth.title`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:t(`settings.github.page.tooltip.connectAccount`)})]})]}),children:[(0,$.jsxs)(`div`,{className:`flex flex-col`,children:[D?(0,$.jsxs)(`div`,{className:q(`oc-settings-group-row`,n?`flex flex-col items-stretch gap-3`:`flex items-center justify-between gap-4`),children:[(0,$.jsxs)(`div`,{className:q(`flex min-w-0 items-center gap-3`,n?`w-full`:void 0),children:[O?.avatarUrl?(0,$.jsx)(`img`,{src:O.avatarUrl,alt:O.login?t(`settings.github.page.avatarAlt.withLogin`,{login:O.login}):t(`settings.github.page.avatarAlt.fallback`),className:`h-10 w-10 shrink-0 rounded-full border border-[var(--interactive-border)] bg-[var(--surface-muted)] object-cover`,loading:`lazy`,referrerPolicy:`no-referrer`}):(0,$.jsx)(`div`,{className:`h-10 w-10 shrink-0 rounded-full border border-[var(--interactive-border)] bg-[var(--surface-muted)]`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:O?.name?.trim()||O?.login||`GitHub`}),(0,$.jsxs)(`div`,{className:q(`flex items-center gap-2 typography-meta text-muted-foreground mt-0.5`,n?`flex-wrap`:`truncate`),children:[(0,$.jsx)(Z,{name:`github-fill`,className:`h-3.5 w-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`font-mono`,children:O?.login||t(`settings.github.page.label.unknownUser`)}),O?.email&&(0,$.jsx)(`span`,{className:`opacity-50`,children:`•`}),O?.email&&(0,$.jsx)(`span`,{children:O.email}),(0,$.jsx)(`span`,{className:`opacity-50`,children:`•`}),(0,$.jsx)(`span`,{children:j})]}),a?.scope&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70 mt-0.5`,children:t(`settings.github.page.label.scopes`,{value:a.scope})}),A?.active&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70 mt-0.5`,children:t(`settings.github.page.ghCli.activeDescription`)})]})]}),A?.active?(0,$.jsx)(J,{size:`sm`,variant:`outline`,onClick:()=>w(!0),disabled:f,className:q(n?`w-full`:void 0),children:t(`settings.github.page.ghCli.actions.disable`)}):(0,$.jsx)(J,{size:`sm`,variant:`outline`,onClick:T,disabled:f,className:q(`text-[var(--status-error)] hover:text-[var(--status-error)]`,n?`w-full`:void 0),children:t(`settings.github.page.actions.disconnect`)})]}):(0,$.jsxs)(`div`,{className:q(`oc-settings-group-row`,n?`flex flex-col items-stretch gap-3`:`flex items-center justify-between gap-4`),children:[(0,$.jsx)(`div`,{className:`flex min-w-0 flex-col`,children:(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:t(`settings.github.page.status.notConnected`)})}),(0,$.jsx)(J,{size:`sm`,variant:`default`,onClick:S,disabled:f,className:q(n?`w-full`:void 0),children:t(`settings.github.page.actions.connect`)})]}),k.length>0&&(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-col gap-2`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:t(`settings.github.page.label.otherAccounts`)}),k.map(e=>{let n=e.user,r=e.source===`gh-cli`?t(`settings.github.page.accountSource.cli`):t(`settings.github.page.accountSource.oauth`);return(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[n?.avatarUrl?(0,$.jsx)(`img`,{src:n.avatarUrl,alt:n.login?t(`settings.github.page.avatarAlt.withLogin`,{login:n.login}):t(`settings.github.page.avatarAlt.fallback`),className:`h-6 w-6 shrink-0 rounded-full border border-[var(--interactive-border)] bg-[var(--surface-muted)] object-cover`,loading:`lazy`,referrerPolicy:`no-referrer`}):(0,$.jsx)(`div`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-[var(--interactive-border)] bg-[var(--surface-muted)]`,children:(0,$.jsx)(Z,{name:`github-fill`,className:`h-3 w-3 text-muted-foreground`})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex flex-col`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:n?.name?.trim()||n?.login||`GitHub`}),n?.login&&(0,$.jsxs)(`span`,{className:`typography-micro text-muted-foreground truncate`,children:[(0,$.jsx)(`span`,{className:`font-mono`,children:n.login}),(0,$.jsx)(`span`,{className:`mx-1 opacity-50`,children:`·`}),(0,$.jsx)(`span`,{children:r})]})]})]}),(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>E(e.id),disabled:f,children:t(`settings.github.page.actions.switchTo`)})]},e.id)})]})]}),D&&(0,$.jsx)(`div`,{className:`oc-settings-group-row flex justify-end`,children:(0,$.jsx)(J,{size:`sm`,variant:`outline`,onClick:S,disabled:f,className:q(n?`w-full`:void 0),children:t(`settings.github.page.actions.addAccount`)})})]}),m&&(0,$.jsxs)(`div`,{className:`mt-4 rounded-lg bg-[var(--surface-elevated)]/70 p-4 border border-[var(--interactive-border)]`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`h4`,{className:`typography-ui-label text-foreground`,children:t(`settings.github.page.flow.title`)}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:t(`settings.github.page.flow.description`)})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 mt-4`,children:[(0,$.jsx)(`div`,{className:`font-mono text-xl tracking-widest text-foreground bg-[var(--surface-muted)] px-3 py-1.5 rounded-md border border-[var(--interactive-border)]`,children:m.userCode}),(0,$.jsx)(J,{size:`sm`,asChild:!0,children:(0,$.jsx)(`a`,{href:m.verificationUriComplete||m.verificationUri,target:`_blank`,rel:`noopener noreferrer`,children:t(`settings.github.page.actions.openGithub`)})})]}),(0,$.jsxs)(`div`,{className:`mt-4 flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground animate-pulse`,children:t(`settings.github.page.flow.waiting`)}),(0,$.jsx)(J,{size:`sm`,variant:`ghost`,disabled:f,onClick:()=>{x(),g(null)},children:t(`settings.common.actions.cancel`)})]})]}),A?.available&&!A?.active&&(!A.user||A.disabled)&&(0,$.jsx)(Jr,{label:t(`settings.github.page.ghCli.title`),children:(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsxs)(`div`,{className:q(n?`flex flex-col gap-3`:`flex items-center justify-between gap-4`),children:[(0,$.jsxs)(`div`,{className:q(`flex min-w-0 items-center gap-3`,n?`w-full`:void 0),children:[A.user?.avatarUrl?(0,$.jsx)(`img`,{src:A.user.avatarUrl,alt:A.user.login?t(`settings.github.page.avatarAlt.withLogin`,{login:A.user.login}):t(`settings.github.page.avatarAlt.fallback`),className:`h-10 w-10 shrink-0 rounded-full border border-[var(--interactive-border)] bg-[var(--surface-muted)] object-cover`,loading:`lazy`,referrerPolicy:`no-referrer`}):(0,$.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full border border-[var(--interactive-border)] bg-[var(--surface-muted)]`,children:(0,$.jsx)(Z,{name:`github-fill`,className:`h-4 w-4 text-muted-foreground`})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[!A.disabled&&A.user&&(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground truncate`,children:A.user.name?.trim()||A.user.login||`GitHub`}),!A.disabled&&A.user?.login&&(0,$.jsxs)(`div`,{className:q(`flex items-center gap-2 typography-meta text-muted-foreground mt-0.5`,n?`flex-wrap`:`truncate`),children:[(0,$.jsx)(Z,{name:`github-fill`,className:`h-3.5 w-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`font-mono`,children:A.user.login}),A.user.email&&(0,$.jsx)(`span`,{className:`opacity-50`,children:`•`}),A.user.email&&(0,$.jsx)(`span`,{children:A.user.email})]}),(0,$.jsx)(`div`,{className:q(`typography-meta text-muted-foreground`,A.disabled?`opacity-60`:void 0),children:A.disabled?t(`settings.github.page.ghCli.disabledDescription`):t(`settings.github.page.ghCli.fallbackDescription`)})]})]}),(0,$.jsx)(J,{size:`sm`,variant:`outline`,onClick:()=>w(!A.disabled),disabled:f,className:q(n?`w-full`:void 0),children:A.disabled?t(`settings.github.page.ghCli.actions.enable`):t(`settings.github.page.ghCli.actions.disable`)})]})})})]})},wp=[{key:`keyword`,label:`Green`,cssVar:`var(--syntax-keyword)`},{key:`error`,label:`Red`,cssVar:`var(--status-error)`},{key:`string`,label:`Cyan`,cssVar:`var(--syntax-string)`},{key:`function`,label:`Orange`,cssVar:`var(--syntax-function)`},{key:`type`,label:`Yellow`,cssVar:`var(--syntax-type)`}],Tp=[{key:`branch`,Icon:`git-branch`,label:`Branch`},{key:`briefcase`,Icon:`briefcase`,label:`Work`},{key:`house`,Icon:`home`,label:`Personal`},{key:`graduation`,Icon:`graduation-cap`,label:`School`},{key:`code`,Icon:`code`,label:`Code`}],Ep=({open:e,onOpenChange:t,profileId:n,importData:r})=>{let{t:i}=Fe(),a=xi(e=>e.getProfileById),o=xi(e=>e.createProfile),s=xi(e=>e.updateProfile),c=xi(e=>e.deleteProfile),l=Q.useMemo(()=>n&&n!==`new`&&!r?a(n):null,[n,a,r]),u=n===`new`||r!=null,d=n===`global`,[f,p]=Q.useState(``),[m,h]=Q.useState(``),[g,_]=Q.useState(``),[v,y]=Q.useState(`ssh`),[b,x]=Q.useState(``),[S,C]=Q.useState(!1),[w,T]=Q.useState(``),[E,D]=Q.useState(``),[O,k]=Q.useState(`keyword`),[A,j]=Q.useState(`branch`),[M,N]=Q.useState(!1),[P,F]=Q.useState(!1),[I,L]=Q.useState(!1);Q.useEffect(()=>{if(e){if(r){let e=r.host.split(`/`),t=e.length>=3?e[e.length-1]:r.host;p(t),h(r.username),_(``),y(`token`),x(``),C(!1),T(``),D(r.host),k(`string`),j(`code`)}else if(u)p(``),h(``),_(``),y(`ssh`),x(``),C(!1),T(``),D(``),k(`keyword`),j(`branch`);else if(l)p(l.name),h(l.userName),_(l.userEmail),y(l.authType||`ssh`),x(l.sshKey||``),C(l.signCommits===!0),T(l.signingKey||``),D(l.host||``),k(l.color||`keyword`),j(l.icon||`branch`);else if(d){let e=a(`global`);e&&(p(e.name),h(e.userName),_(e.userEmail),y(e.authType||`ssh`),x(e.sshKey||``),C(!1),T(``),D(e.host||``),k(e.color||`keyword`),j(e.icon||`branch`))}}},[e,n,l,u,r,d,a]);let R=async()=>{if(!m.trim()||!g.trim()){Y.error(i(`settings.gitIdentities.editor.toast.userNameEmailRequired`));return}if(v===`token`&&!E.trim()){Y.error(i(`settings.gitIdentities.editor.toast.hostRequiredForToken`));return}if(S&&!w.trim()){Y.error(i(`settings.gitIdentities.editor.toast.signingKeyRequired`));return}N(!0);try{let e={name:f.trim()||m.trim(),userName:m.trim(),userEmail:g.trim(),authType:v,sshKey:v===`ssh`&&b.trim()||null,signCommits:S,signingKey:w.trim()||null,host:v===`token`&&E.trim()||null,color:O,icon:A},r;if(u)r=await o(e);else if(n)r=await s(n,e);else return;r?(Y.success(i(u?`settings.gitIdentities.editor.toast.profileCreated`:`settings.gitIdentities.editor.toast.profileUpdated`)),t(!1)):Y.error(i(u?`settings.gitIdentities.editor.toast.createProfileFailed`:`settings.gitIdentities.editor.toast.updateProfileFailed`))}catch(e){console.error(`Error saving profile:`,e),Y.error(i(`settings.gitIdentities.editor.toast.saveUnexpectedError`))}finally{N(!1)}},z=async()=>{if(!(!n||u)){L(!0);try{await c(n)?(Y.success(i(`settings.gitIdentities.editor.toast.profileDeleted`)),F(!1),t(!1)):Y.error(i(`settings.gitIdentities.editor.toast.deleteProfileFailed`))}catch(e){console.error(`Error deleting profile:`,e),Y.error(i(`settings.gitIdentities.editor.toast.deleteUnexpectedError`))}finally{L(!1)}}},B=Q.useMemo(()=>wp.find(e=>e.key===O)?.cssVar||`var(--syntax-keyword)`,[O]),V=r?i(`settings.gitIdentities.editor.title.importCredential`):u?i(`settings.gitIdentities.editor.title.newIdentity`):d?i(`settings.gitIdentities.editor.title.globalIdentity`):l?.name||i(`settings.gitIdentities.editor.title.editIdentity`);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(an,{open:e,onOpenChange:t,children:(0,$.jsxs)(tn,{className:`max-w-lg max-h-[85vh] overflow-y-auto`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:V}),(0,$.jsx)(rn,{children:i(d?`settings.gitIdentities.editor.description.globalReadOnly`:u?`settings.gitIdentities.editor.description.newProfile`:`settings.gitIdentities.editor.description.editProfile`)})]}),(0,$.jsxs)(`div`,{className:`space-y-5 py-2`,children:[!d&&(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground block mb-1.5`,children:i(`settings.gitIdentities.editor.field.profileName`)}),(0,$.jsx)(gn,{value:f,onChange:e=>p(e.target.value),placeholder:i(`settings.gitIdentities.editor.field.profileNamePlaceholder`),className:`h-8`})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.color`)}),(0,$.jsx)(`div`,{className:`flex gap-1.5`,children:wp.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>k(e.key),className:q(`w-6 h-6 rounded-md border-2 transition-all cursor-pointer`,O===e.key?`border-foreground scale-110`:`border-transparent hover:border-border`),style:{backgroundColor:e.cssVar},title:e.label},e.key))})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.icon`)}),(0,$.jsx)(`div`,{className:`flex gap-1.5`,children:Tp.map(e=>{let t=e.Icon;return(0,$.jsx)(`button`,{type:`button`,onClick:()=>j(e.key),className:q(`w-7 h-7 rounded-md border-2 transition-all flex items-center justify-center cursor-pointer`,A===e.key?`border-[var(--interactive-border)] bg-[var(--surface-muted)]`:`border-transparent hover:border-[var(--interactive-border)] hover:bg-[var(--surface-muted)]/50`),title:e.label,children:(0,$.jsx)(Z,{name:t,className:`w-3.5 h-3.5`,style:{color:A===e.key?B:`var(--surface-muted-foreground)`}})},e.key)})})]})]}),!d&&(0,$.jsx)(`div`,{className:`border-t border-border/40`}),(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 mb-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.userName`)}),!d&&(0,$.jsx)(`span`,{className:`text-[var(--status-error)] text-xs`,children:`*`}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:i(`settings.gitIdentities.editor.field.userNameTooltip`)})]})]}),(0,$.jsx)(gn,{value:m,onChange:e=>h(e.target.value),placeholder:i(`settings.gitIdentities.editor.field.userNamePlaceholder`),required:!d,readOnly:d,disabled:d,className:`h-8`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 mb-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.emailAddress`)}),!d&&(0,$.jsx)(`span`,{className:`text-[var(--status-error)] text-xs`,children:`*`}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:i(`settings.gitIdentities.editor.field.emailAddressTooltip`)})]})]}),(0,$.jsx)(gn,{type:`email`,value:g,onChange:e=>_(e.target.value),placeholder:i(`settings.gitIdentities.editor.field.emailAddressPlaceholder`),required:!d,readOnly:d,disabled:d,className:`h-8`})]})]}),!d&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`border-t border-border/40`}),(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.authMethod`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsxs)(J,{size:`sm`,type:`button`,variant:`chip`,"aria-pressed":v===`ssh`,onClick:()=>y(`ssh`),children:[(0,$.jsx)(Z,{name:`lock-2`,className:`w-3.5 h-3.5 mr-1`}),` SSH`]}),(0,$.jsxs)(J,{size:`sm`,type:`button`,variant:`chip`,"aria-pressed":v===`token`,onClick:()=>y(`token`),children:[(0,$.jsx)(Z,{name:`key`,className:`w-3.5 h-3.5 mr-1`}),` `,i(`settings.gitIdentities.editor.field.authToken`)]})]})]}),v===`ssh`&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 mb-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.sshKeyPath`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:i(`settings.gitIdentities.editor.field.sshKeyPathTooltip`)})]})]}),(0,$.jsx)(gn,{value:b,onChange:e=>x(e.target.value),placeholder:i(`settings.gitIdentities.editor.field.sshKeyPathPlaceholder`),className:`h-8 font-mono text-xs`})]}),(0,$.jsxs)(`div`,{className:`border-t border-border/40 pt-3 space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(on,{checked:S,onChange:C,ariaLabel:i(`settings.gitIdentities.editor.field.signCommits`)}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.signCommits`)}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70`,children:i(`settings.gitIdentities.editor.section.commitSigning`)})]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`flex items-center gap-1.5 mb-1.5`,children:(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.signingKey`)})}),(0,$.jsx)(gn,{value:w,onChange:e=>T(e.target.value),placeholder:i(`settings.gitIdentities.editor.field.signingKeyPlaceholder`),disabled:!S,className:`h-8 font-mono text-xs`})]})]}),v===`token`&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 mb-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.host`)}),(0,$.jsx)(`span`,{className:`text-[var(--status-error)] text-xs`,children:`*`}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:i(`settings.gitIdentities.editor.field.hostTooltip`)})]})]}),(0,$.jsx)(gn,{value:E,onChange:e=>D(e.target.value),placeholder:i(`settings.gitIdentities.editor.field.hostPlaceholder`),required:!0,className:`h-8 font-mono text-xs`})]})]})]})]}),(0,$.jsxs)(en,{className:`gap-2`,children:[!d&&!u&&(0,$.jsxs)(J,{variant:`outline`,size:`sm`,onClick:()=>F(!0),className:`text-[var(--status-error)] hover:text-[var(--status-error)] border-[var(--status-error)]/30 hover:bg-[var(--status-error)]/10 mr-auto`,children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`w-3.5 h-3.5 mr-1`}),` `,i(`settings.common.actions.delete`)]}),(0,$.jsx)(J,{variant:`ghost`,size:`sm`,onClick:()=>t(!1),className:`text-foreground hover:bg-interactive-hover hover:text-foreground`,children:i(d?`settings.gitIdentities.editor.actions.close`:`settings.common.actions.cancel`)}),!d&&(0,$.jsx)(J,{size:`sm`,onClick:R,disabled:M,children:i(M?`settings.common.actions.saving`:u?`settings.gitIdentities.editor.actions.create`:`settings.gitIdentities.editor.actions.save`)})]})]})}),(0,$.jsx)(an,{open:P,onOpenChange:e=>{I||F(e)},children:(0,$.jsxs)(tn,{className:`max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:i(`settings.gitIdentities.page.deleteDialog.title`)}),(0,$.jsx)(rn,{children:i(`settings.gitIdentities.page.deleteDialog.description`,{name:l?.name||f})})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{variant:`ghost`,onClick:()=>F(!1),disabled:I,children:i(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,variant:`destructive`,onClick:()=>void z(),disabled:I,children:i(`settings.common.actions.delete`)})]})]})})]})},Dp={branch:`git-branch`,briefcase:`briefcase`,house:`home`,graduation:`graduation-cap`,code:`code`,heart:`heart`},Op={keyword:`var(--syntax-keyword)`,error:`var(--status-error)`,string:`var(--syntax-string)`,function:`var(--syntax-function)`,type:`var(--syntax-type)`},kp=()=>{let e=(0,Ki.c)(116),{t}=Fe(),{profiles:n,globalIdentity:r,defaultGitIdentityId:i,deleteProfile:a,loadProfiles:o,loadGlobalIdentity:s,loadDiscoveredCredentials:c,loadDefaultGitIdentityId:l,setDefaultGitIdentityId:u,getUnimportedCredentials:d}=xi(le(Mp)),[f,p]=Q.useState(!1),[m,h]=Q.useState(null),[g,_]=Q.useState(null),[v,y]=Q.useState(null),[b,x]=Q.useState(!1),S,C;e[0]!==l||e[1]!==c||e[2]!==s||e[3]!==o?(S=()=>{o(),s(),c(),l()},C=[o,s,c,l],e[0]=l,e[1]=c,e[2]=s,e[3]=o,e[4]=S,e[5]=C):(S=e[4],C=e[5]),Q.useEffect(S,C);let w,T,E,D,O,k,A,j,M,N,P,F,I,L;if(e[6]!==i||e[7]!==v||e[8]!==a||e[9]!==d||e[10]!==r||e[11]!==n||e[12]!==u||e[13]!==t){let o=d(),s;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(s=(e,t)=>{h(e),_(t??null),p(!0)},e[28]=s):s=e[28];let c=s,l;e[29]!==i||e[30]!==u||e[31]!==t?(l=async e=>{let n=i===e?null:e;if(!await u(n)){Y.error(t(`settings.gitIdentities.page.toast.updateDefaultFailed`));return}Y.success(t(n?`settings.gitIdentities.page.toast.defaultUpdated`:`settings.gitIdentities.page.toast.defaultUnset`))},e[29]=i,e[30]=u,e[31]=t,e[32]=l):l=e[32];let f=l,m;e[33]!==v||e[34]!==a||e[35]!==t?(m=async()=>{v&&(x(!0),await a(v.id)?(Y.success(t(`settings.gitIdentities.page.toast.profileDeleted`,{name:v.name})),y(null)):Y.error(t(`settings.gitIdentities.page.toast.deleteProfileFailed`)),x(!1))},e[33]=v,e[34]=a,e[35]=t,e[36]=m):m=e[36],E=m,T=Ar,O=`h-full`,k=`w-full bg-background`,L=`oc-settings-page-content mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,e[37]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(Cp,{itemId:`git.github-account`}),e[37]=D):D=e[37],w=Jr,A=`git.identities`;let g;e[38]===t?g=e[39]:(g=t(`settings.gitIdentities.page.section.title`),e[38]=t,e[39]=g);let b;e[40]===g?b=e[41]:(b=(0,$.jsx)(`span`,{children:g}),e[40]=g,e[41]=b);let S,C;e[42]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>c(`new`),C=(0,$.jsx)(Z,{name:`add`,className:`mr-1 size-3.5`}),e[42]=S,e[43]=C):(S=e[42],C=e[43]);let R;e[44]===t?R=e[45]:(R=t(`settings.common.badge.new`),e[44]=t,e[45]=R);let z;e[46]===R?z=e[47]:(z=(0,$.jsxs)(J,{size:`sm`,variant:`ghost`,onClick:S,children:[C,` `,R]}),e[46]=R,e[47]=z),e[48]!==b||e[49]!==z?(j=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[b,z]}),e[48]=b,e[49]=z,e[50]=j):j=e[50],M=`flex flex-col`,N=r&&(0,$.jsx)(Ap,{profile:r,isDefault:i===`global`,onEdit:()=>c(`global`),onToggleDefault:()=>f(`global`),isReadOnly:!0,hasBorder:n.length>0||o.length>0}),P=n.map((e,t)=>(0,$.jsx)(Ap,{profile:e,isDefault:i===e.id,onEdit:()=>c(e.id),onToggleDefault:()=>f(e.id),onDelete:()=>y(e),hasBorder:t<n.length-1||o.length>0},e.id)),F=!r&&n.length===0&&o.length===0&&(0,$.jsxs)(`div`,{className:`py-8 px-4 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`shield-keyhole`,className:`mx-auto mb-2 h-8 w-8 opacity-40`}),(0,$.jsx)(`p`,{className:`typography-ui-label`,children:t(`settings.gitIdentities.page.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:t(`settings.gitIdentities.page.empty.description`)})]}),I=o.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`px-4 py-2 border-t border-[var(--surface-subtle)]`,children:(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:t(`settings.gitIdentities.page.discoveredCredentials.title`)})}),o.map((e,t)=>(0,$.jsx)(jp,{credential:e,onImport:()=>c(`new`,{host:e.host,username:e.username}),hasBorder:t<o.length-1},`${e.host}-${e.username}`))]}),e[6]=i,e[7]=v,e[8]=a,e[9]=d,e[10]=r,e[11]=n,e[12]=u,e[13]=t,e[14]=w,e[15]=T,e[16]=E,e[17]=D,e[18]=O,e[19]=k,e[20]=A,e[21]=j,e[22]=M,e[23]=N,e[24]=P,e[25]=F,e[26]=I,e[27]=L}else w=e[14],T=e[15],E=e[16],D=e[17],O=e[18],k=e[19],A=e[20],j=e[21],M=e[22],N=e[23],P=e[24],F=e[25],I=e[26],L=e[27];let R;e[51]!==w||e[52]!==A||e[53]!==j||e[54]!==M||e[55]!==N||e[56]!==P||e[57]!==F||e[58]!==I?(R=(0,$.jsxs)(w,{itemId:A,label:j,cardClassName:M,children:[N,P,F,I]}),e[51]=w,e[52]=A,e[53]=j,e[54]=M,e[55]=N,e[56]=P,e[57]=F,e[58]=I,e[59]=R):R=e[59];let z;e[60]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(Sp,{}),e[60]=z):z=e[60];let B;e[61]!==D||e[62]!==R||e[63]!==L?(B=(0,$.jsxs)(`div`,{className:L,children:[D,R,z]}),e[61]=D,e[62]=R,e[63]=L,e[64]=B):B=e[64];let V;e[65]!==T||e[66]!==O||e[67]!==k||e[68]!==B?(V=(0,$.jsx)(T,{outerClassName:O,className:k,children:B}),e[65]=T,e[66]=O,e[67]=k,e[68]=B,e[69]=V):V=e[69];let H;e[70]!==g||e[71]!==f||e[72]!==m?(H=(0,$.jsx)(Ep,{open:f,onOpenChange:p,profileId:m,importData:g}),e[70]=g,e[71]=f,e[72]=m,e[73]=H):H=e[73];let U=v!==null,W;e[74]===b?W=e[75]:(W=e=>{b||e||y(null)},e[74]=b,e[75]=W);let ee;e[76]===t?ee=e[77]:(ee=t(`settings.gitIdentities.page.deleteDialog.title`),e[76]=t,e[77]=ee);let G;e[78]===ee?G=e[79]:(G=(0,$.jsx)(nn,{children:ee}),e[78]=ee,e[79]=G);let te=v?.name??``,ne;e[80]!==t||e[81]!==te?(ne=t(`settings.gitIdentities.page.deleteDialog.description`,{name:te}),e[80]=t,e[81]=te,e[82]=ne):ne=e[82];let re;e[83]===ne?re=e[84]:(re=(0,$.jsx)(rn,{children:ne}),e[83]=ne,e[84]=re);let ie;e[85]!==G||e[86]!==re?(ie=(0,$.jsxs)($t,{children:[G,re]}),e[85]=G,e[86]=re,e[87]=ie):ie=e[87];let ae;e[88]===Symbol.for(`react.memo_cache_sentinel`)?(ae=()=>y(null),e[88]=ae):ae=e[88];let oe;e[89]===t?oe=e[90]:(oe=t(`settings.common.actions.cancel`),e[89]=t,e[90]=oe);let se;e[91]!==b||e[92]!==oe?(se=(0,$.jsx)(J,{variant:`ghost`,onClick:ae,disabled:b,children:oe}),e[91]=b,e[92]=oe,e[93]=se):se=e[93];let ce;e[94]===E?ce=e[95]:(ce=()=>void E(),e[94]=E,e[95]=ce);let ue;e[96]===t?ue=e[97]:(ue=t(`settings.common.actions.delete`),e[96]=t,e[97]=ue);let de;e[98]!==b||e[99]!==ce||e[100]!==ue?(de=(0,$.jsx)(J,{size:`sm`,variant:`destructive`,onClick:ce,disabled:b,children:ue}),e[98]=b,e[99]=ce,e[100]=ue,e[101]=de):de=e[101];let fe;e[102]!==se||e[103]!==de?(fe=(0,$.jsxs)(en,{children:[se,de]}),e[102]=se,e[103]=de,e[104]=fe):fe=e[104];let pe;e[105]!==ie||e[106]!==fe?(pe=(0,$.jsxs)(tn,{className:`max-w-md`,children:[ie,fe]}),e[105]=ie,e[106]=fe,e[107]=pe):pe=e[107];let me;e[108]!==U||e[109]!==W||e[110]!==pe?(me=(0,$.jsx)(an,{open:U,onOpenChange:W,children:pe}),e[108]=U,e[109]=W,e[110]=pe,e[111]=me):me=e[111];let he;return e[112]!==V||e[113]!==H||e[114]!==me?(he=(0,$.jsxs)($.Fragment,{children:[V,H,me]}),e[112]=V,e[113]=H,e[114]=me,e[115]=he):he=e[115],he},Ap=e=>{let t=(0,Ki.c)(56),{profile:n,isDefault:r,onEdit:i,onToggleDefault:a,onDelete:o,isReadOnly:s,hasBorder:c}=e,{t:l}=Fe(),[u,d]=Q.useState(!1),f=Dp[n.icon||`branch`]||`git-branch`,p=Op[n.color||``],m=n.authType||`ssh`,h;t[0]===i?h=t[1]:(h=e=>{e.currentTarget===e.target&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i())},t[0]=i,t[1]=h);let g=h,_;t[2]!==r||t[3]!==s||t[4]!==o||t[5]!==a||t[6]!==l?(_=e=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(e,{onClick:e=>{e.stopPropagation(),a()},children:l(r?`settings.gitIdentities.page.actions.unsetDefault`:`settings.gitIdentities.page.actions.setAsDefault`)}),!s&&o&&(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),o()},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`h-4 w-4 mr-px`}),l(`settings.common.actions.delete`)]})]}),t[2]=r,t[3]=s,t[4]=o,t[5]=a,t[6]=l,t[7]=_):_=t[7];let v=_,y=c&&`border-b border-[var(--surface-subtle)]`,b;t[8]===y?b=t[9]:(b=q(`group flex items-center justify-between gap-3 px-4 py-2.5 transition-colors hover:bg-[var(--interactive-hover)]/30 cursor-pointer`,y),t[8]=y,t[9]=b);let x;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{e.preventDefault(),d(!0)},t[10]=x):x=t[10];let S;t[11]!==g||t[12]!==i||t[13]!==b?(S=(0,$.jsx)(`div`,{className:b,onClick:i,role:`button`,tabIndex:0,onKeyDown:g,onContextMenu:x}),t[11]=g,t[12]=i,t[13]=b,t[14]=S):S=t[14];let C;t[15]===p?C=t[16]:(C={color:p},t[15]=p,t[16]=C);let w;t[17]!==f||t[18]!==C?(w=(0,$.jsx)(Z,{name:f,className:`w-4 h-4 shrink-0`,style:C}),t[17]=f,t[18]=C,t[19]=w):w=t[19];let T;t[20]===n.name?T=t[21]:(T=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:n.name}),t[20]=n.name,t[21]=T);let E;t[22]===m?E=t[23]:(E=(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:m}),t[22]=m,t[23]=E);let D;t[24]!==r||t[25]!==l?(D=r&&(0,$.jsx)(`span`,{className:`typography-micro text-primary bg-primary/12 px-1 rounded flex-shrink-0 leading-none pb-px border border-primary/25`,children:l(`settings.gitIdentities.page.badge.default`)}),t[24]=r,t[25]=l,t[26]=D):D=t[26];let O;t[27]!==s||t[28]!==l?(O=s&&(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:l(`settings.agents.sidebar.badge.system`)}),t[27]=s,t[28]=l,t[29]=O):O=t[29];let k;t[30]!==E||t[31]!==D||t[32]!==O||t[33]!==T?(k=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[T,E,D,O]}),t[30]=E,t[31]=D,t[32]=O,t[33]=T,t[34]=k):k=t[34];let A=m===`token`&&n.host?n.host:n.userEmail,j;t[35]===A?j=t[36]:(j=(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/60 truncate leading-tight`,children:A}),t[35]=A,t[36]=j);let M;t[37]!==k||t[38]!==j?(M=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[k,j]}),t[37]=k,t[38]=j,t[39]=M):M=t[39];let N;t[40]!==M||t[41]!==w?(N=(0,$.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[w,M]}),t[40]=M,t[41]=w,t[42]=N):N=t[42];let P;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsx)(J,{size:`icon`,variant:`ghost`,className:`h-6 w-6 shrink-0 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100`,onClick:Np,children:(0,$.jsx)(Z,{name:`more-2`,className:`h-3.5 w-3.5`})})}),t[43]=P):P=t[43];let F;t[44]===v?F=t[45]:(F=(0,$.jsxs)(rr,{children:[P,(0,$.jsx)(Jn,{align:`end`,className:`w-fit min-w-28`,children:v(fr)})]}),t[44]=v,t[45]=F);let I;t[46]!==N||t[47]!==F||t[48]!==S?(I=(0,$.jsxs)(Pi,{render:S,children:[N,F]}),t[46]=N,t[47]=F,t[48]=S,t[49]=I):I=t[49];let L;t[50]===v?L=t[51]:(L=(0,$.jsx)(Ii,{className:`w-fit min-w-28`,children:v(Ri)}),t[50]=v,t[51]=L);let R;return t[52]!==u||t[53]!==I||t[54]!==L?(R=(0,$.jsxs)(ji,{open:u,onOpenChange:d,children:[I,L]}),t[52]=u,t[53]=I,t[54]=L,t[55]=R):R=t[55],R},jp=e=>{let t=(0,Ki.c)(21),{credential:n,onImport:r,hasBorder:i}=e,{t:a}=Fe(),o;t[0]===n.host?o=t[1]:(o=n.host.split(`/`),t[0]=n.host,t[1]=o);let s=o,c=s.length>=3?s[s.length-1]:n.host,l=n.host.includes(`/`),u=i&&`border-b border-[var(--surface-subtle)]`,d;t[2]===u?d=t[3]:(d=q(`flex items-center justify-between gap-3 px-4 py-2.5 transition-colors hover:bg-[var(--interactive-hover)]/30`,u),t[2]=u,t[3]=d);let f;t[4]===c?f=t[5]:(f=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate block`,children:c}),t[4]=c,t[5]=f);let p=l?n.host:n.username,m;t[6]===p?m=t[7]:(m=(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/60 truncate block leading-tight`,children:p}),t[6]=p,t[7]=m);let h;t[8]!==f||t[9]!==m?(h=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[f,m]}),t[8]=f,t[9]=m,t[10]=h):h=t[10];let g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(Z,{name:`download`,className:`h-3 w-3`}),t[11]=g):g=t[11];let _;t[12]===a?_=t[13]:(_=a(`settings.gitIdentities.page.actions.import`),t[12]=a,t[13]=_);let v;t[14]!==r||t[15]!==_?(v=(0,$.jsxs)(J,{size:`sm`,variant:`ghost`,onClick:r,className:`gap-1 shrink-0`,children:[g,_]}),t[14]=r,t[15]=_,t[16]=v):v=t[16];let y;return t[17]!==v||t[18]!==d||t[19]!==h?(y=(0,$.jsxs)(`div`,{className:d,children:[h,v]}),t[17]=v,t[18]=d,t[19]=h,t[20]=y):y=t[20],y};function Mp(e){return{profiles:e.profiles,globalIdentity:e.globalIdentity,defaultGitIdentityId:e.defaultGitIdentityId,deleteProfile:e.deleteProfile,loadProfiles:e.loadProfiles,loadGlobalIdentity:e.loadGlobalIdentity,loadDiscoveredCredentials:e.loadDiscoveredCredentials,loadDefaultGitIdentityId:e.loadDefaultGitIdentityId,setDefaultGitIdentityId:e.setDefaultGitIdentityId,getUnimportedCredentials:e.getUnimportedCredentials}}function Np(e){return e.stopPropagation()}function Pp(){let e=(0,Ki.c)(32),{t}=Fe(),{settings:n}=kr(),r=ut(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=o(),e[0]=i):i=e[0];let a=i,s;e[1]===n?s=e[2]:(s={mutationFn:async e=>{let t=o();if(await n.save({questionAutoDelegateEnabled:e}),t!==o())throw Error(`Runtime changed`);await at()}},e[1]=n,e[2]=s);let c=Te(s,O),l=c.reset,u,d;e[3]===l?(u=e[4],d=e[5]):(u=()=>{l()},d=[a,l],e[3]=l,e[4]=u,e[5]=d),(0,Q.useEffect)(u,d);let f;e[6]===t?f=e[7]:(f=t(`settings.chat.questionDelegate.label`),e[6]=t,e[7]=f);let p;e[8]===t?p=e[9]:(p=t(`settings.chat.questionDelegate.label`),e[8]=t,e[9]=p);let m;e[10]===t?m=e[11]:(m=t(`settings.chat.questionDelegate.description`),e[10]=t,e[11]=m);let h=r.data?.snapshot.enabled??!0,g=c.isPending||!r.data||r.isError,_;e[12]===c?_=e[13]:(_=e=>c.mutate(e),e[12]=c,e[13]=_);let v;e[14]!==f||e[15]!==p||e[16]!==m||e[17]!==h||e[18]!==g||e[19]!==_?(v=(0,$.jsx)(Zr,{label:f,ariaLabel:p,description:m,checked:h,disabled:g,onChange:_}),e[14]=f,e[15]=p,e[16]=m,e[17]=h,e[18]=g,e[19]=_,e[20]=v):v=e[20];let y;e[21]!==c.isPending||e[22]!==t?(y=c.isPending?(0,$.jsx)(`div`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,role:`status`,children:t(`settings.common.actions.saving`)}):null,e[21]=c.isPending,e[22]=t,e[23]=y):y=e[23];let b;e[24]!==r||e[25]!==c||e[26]!==t?(b=r.isError||c.isError?(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-wrap items-center gap-2`,role:`alert`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-[var(--status-error)]`,children:t(c.isError?`settings.chat.questionDelegate.saveFailed`:`chat.questionDelegate.loadFailed`)}),(0,$.jsx)(J,{variant:`ghost`,size:`xs`,disabled:c.isPending,onClick:()=>c.isError?c.mutate(c.variables??!0):void r.refetch(),children:t(`chat.questionDelegate.retry`)})]}):null,e[24]=r,e[25]=c,e[26]=t,e[27]=b):b=e[27];let x;return e[28]!==v||e[29]!==y||e[30]!==b?(x=(0,$.jsxs)($.Fragment,{children:[v,y,b]}),e[28]=v,e[29]=y,e[30]=b,e[31]=x):x=e[31],x}var Fp=e=>{let t=(0,Ki.c)(12),{isMobile:n,itemId:r,label:i,description:a,descriptionPlacement:o,children:s,className:c,copyClassName:l,controlClassName:u}=e,d=n&&`oc-mobile-settings-detail-group`,f;t[0]===d?f=t[1]:(f=q(`oc-settings-detail-group`,d),t[0]=d,t[1]=f);let p;return t[2]!==s||t[3]!==c||t[4]!==u||t[5]!==l||t[6]!==a||t[7]!==o||t[8]!==r||t[9]!==i||t[10]!==f?(p=(0,$.jsx)(ui,{itemId:r,label:i,description:a,descriptionPlacement:o,groupClassName:f,className:c,copyClassName:l,controlClassName:u,children:s}),t[2]=s,t[3]=c,t[4]=u,t[5]=l,t[6]=a,t[7]=o,t[8]=r,t[9]=i,t[10]=f,t[11]=p):p=t[11],p},Ip=e=>{let t=(0,Ki.c)(9),{isMobile:n,label:r,children:i,description:a,className:o,cardClassName:s}=e,c=n&&`oc-mobile-settings-detail-group`,l;t[0]!==o||t[1]!==c?(l=q(`oc-settings-detail-group`,c,o),t[0]=o,t[1]=c,t[2]=l):l=t[2];let u;return t[3]!==s||t[4]!==i||t[5]!==a||t[6]!==r||t[7]!==l?(u=(0,$.jsx)(Jr,{label:r,description:a,className:l,cardClassName:s,children:i}),t[3]=s,t[4]=i,t[5]=a,t[6]=r,t[7]=l,t[8]=u):u=t[8],u},Lp=e=>{let t=(0,Ki.c)(8),{isMobile:n,itemId:r,label:i,mobileLabel:a,description:o,children:s,className:c,copyClassName:l,controlClassName:u}=e,d=n&&a!==void 0?a:i,f;return t[0]!==s||t[1]!==c||t[2]!==u||t[3]!==l||t[4]!==o||t[5]!==r||t[6]!==d?(f=(0,$.jsx)(Yr,{itemId:r,label:d,description:o,className:c,copyClassName:l,controlClassName:u,children:s}),t[0]=s,t[1]=c,t[2]=u,t[3]=l,t[4]=o,t[5]=r,t[6]=d,t[7]=f):f=t[7],f},Rp=e=>{let t=(0,Ki.c)(17),{selected:n,onSelect:r,label:i,ariaLabel:a}=e,o;t[0]===r?o=t[1]:(o=e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),r())},t[0]=r,t[1]=o);let s;t[2]!==a||t[3]!==r||t[4]!==n?(s=(0,$.jsx)(ec,{checked:n,onChange:r,ariaLabel:a}),t[2]=a,t[3]=r,t[4]=n,t[5]=s):s=t[5];let c=n?`text-foreground`:`text-foreground/50`,l;t[6]===c?l=t[7]:(l=q(`typography-ui-label font-normal`,c),t[6]=c,t[7]=l);let u;t[8]!==i||t[9]!==l?(u=(0,$.jsx)(`span`,{className:l,children:i}),t[8]=i,t[9]=l,t[10]=u):u=t[10];let d;return t[11]!==r||t[12]!==n||t[13]!==o||t[14]!==s||t[15]!==u?(d=(0,$.jsxs)(`div`,{className:`oc-settings-group-row group flex cursor-pointer items-center gap-2 text-left`,role:`button`,tabIndex:0,"aria-pressed":n,onClick:r,onKeyDown:o,children:[s,u]}),t[11]=r,t[12]=n,t[13]=o,t[14]=s,t[15]=u,t[16]=d):d=t[16],d},zp=[{value:`system`,labelKey:`settings.openchamber.visual.option.themeMode.system`},{value:`light`,labelKey:`settings.openchamber.visual.option.themeMode.light`},{value:`dark`,labelKey:`settings.openchamber.visual.option.themeMode.dark`}],Bp=[{id:`dynamic`,labelKey:`settings.openchamber.visual.option.diffLayout.auto.label`,descriptionKey:`settings.openchamber.visual.option.diffLayout.auto.description`},{id:`inline`,labelKey:`settings.openchamber.visual.option.diffLayout.inline.label`,descriptionKey:`settings.openchamber.visual.option.diffLayout.inline.description`},{id:`side-by-side`,labelKey:`settings.openchamber.visual.option.diffLayout.sideBySide.label`,descriptionKey:`settings.openchamber.visual.option.diffLayout.sideBySide.description`}],Vp=`OpenChamberY - AI Coding Assistant`,Hp=[{id:`system`,labelKey:`settings.openchamber.visual.option.pwaOrientation.system.label`,descriptionKey:`settings.openchamber.visual.option.pwaOrientation.system.description`},{id:`portrait`,labelKey:`settings.openchamber.visual.option.pwaOrientation.portrait.label`,descriptionKey:`settings.openchamber.visual.option.pwaOrientation.portrait.description`},{id:`landscape`,labelKey:`settings.openchamber.visual.option.pwaOrientation.landscape.label`,descriptionKey:`settings.openchamber.visual.option.pwaOrientation.landscape.description`}],Up=[{id:`native`,labelKey:`settings.openchamber.visual.option.mobileKeyboardMode.native.label`,descriptionKey:`settings.openchamber.visual.option.mobileKeyboardMode.native.description`},{id:`resize-content`,labelKey:`settings.openchamber.visual.option.mobileKeyboardMode.resizeContent.label`,descriptionKey:`settings.openchamber.visual.option.mobileKeyboardMode.resizeContent.description`}],Wp=[{id:`steer`,labelKey:`settings.openchamber.visual.option.followUpBehavior.steer.label`},{id:`queue`,labelKey:`settings.openchamber.visual.option.followUpBehavior.queue.label`}],Gp=e=>e===`portrait`||e===`landscape`?e:`system`,Kp=[{id:`sorted`,labelKey:`settings.openchamber.visual.option.chatRenderMode.sorted.label`,descriptionKey:`settings.openchamber.visual.option.chatRenderMode.sorted.description`},{id:`live`,labelKey:`settings.openchamber.visual.option.chatRenderMode.live.label`,descriptionKey:`settings.openchamber.visual.option.chatRenderMode.live.description`}],qp=[{id:`auto`,labelKey:`settings.openchamber.visual.option.messageTransport.auto.label`,descriptionKey:`settings.openchamber.visual.option.messageTransport.auto.description`},{id:`ws`,labelKey:`settings.openchamber.visual.option.messageTransport.ws.label`,descriptionKey:`settings.openchamber.visual.option.messageTransport.ws.description`},{id:`sse`,labelKey:`settings.openchamber.visual.option.messageTransport.sse.label`,descriptionKey:`settings.openchamber.visual.option.messageTransport.sse.description`}],Jp=[{id:`auto`,labelKey:`settings.openchamber.visual.option.timeFormat.auto.label`,descriptionKey:`settings.openchamber.visual.option.timeFormat.auto.description`},{id:`24h`,labelKey:`settings.openchamber.visual.option.timeFormat.24h.label`,descriptionKey:`settings.openchamber.visual.option.timeFormat.24h.description`},{id:`12h`,labelKey:`settings.openchamber.visual.option.timeFormat.12h.label`,descriptionKey:`settings.openchamber.visual.option.timeFormat.12h.description`}],Yp=[{id:`auto`,labelKey:`settings.openchamber.visual.option.weekStart.auto.label`,descriptionKey:`settings.openchamber.visual.option.weekStart.auto.description`},{id:`monday`,labelKey:`settings.openchamber.visual.option.weekStart.monday.label`},{id:`sunday`,labelKey:`settings.openchamber.visual.option.weekStart.sunday.label`}],Xp=({visibleSettings:e,mobile:t})=>{let{locale:n,locales:r,setLocale:i,label:a,t:o}=Fe(),s=Q.useCallback(e=>o(e),[o]),{isMobile:c}=Tr(),u=t??c,{browserTab:d}=mi(),f=K(e=>e.showReasoningTraces),p=K(e=>e.sessionTitleRefreshEnabled),m=K(e=>e.setSessionTitleRefreshEnabled),h=K(e=>e.sessionGoalEnabled),g=K(e=>e.setSessionGoalEnabled),_=K(e=>e.sessionGoalDefaultBudgetEnabled),v=K(e=>e.setSessionGoalDefaultBudgetEnabled),b=K(e=>e.sessionGoalDefaultBudget),x=K(e=>e.setSessionGoalDefaultBudget),S=K(e=>e.setShowReasoningTraces),C=K(e=>e.collapsibleThinkingBlocks),w=K(e=>e.setCollapsibleThinkingBlocks),E=K(e=>e.collapsibleUserMessages),O=K(e=>e.setCollapsibleUserMessages),k=K(e=>e.expandedEditorToolbar),A=K(e=>e.setExpandedEditorToolbar),M=Mr(e=>e.enabled),P=Mr(e=>e.setEnabled),F=K(e=>e.chatRenderMode),I=K(e=>e.setChatRenderMode),R=K(e=>e.fontSize),z=K(e=>e.setFontSize),B=K(e=>e.codeFontSize),V=K(e=>e.setCodeFontSize),H=K(e=>e.terminalFontSize),U=K(e=>e.setTerminalFontSize),W=K(e=>e.editorFontSize),ee=K(e=>e.setEditorFontSize),G=K(e=>e.uiFont),te=K(e=>e.setUiFont),ne=K(e=>e.monoFont),re=K(e=>e.setMonoFont),ie=K(e=>e.padding),ae=K(e=>e.setPadding),oe=K(e=>e.inputBarOffset),se=K(e=>e.setInputBarOffset),ce=K(e=>e.mobileKeyboardMode),le=K(e=>e.setMobileKeyboardMode),ue=K(e=>e.diffLayoutPreference),de=K(e=>e.setDiffLayoutPreference),fe=K(e=>e.showTerminalQuickKeysOnDesktop),pe=K(e=>e.setShowTerminalQuickKeysOnDesktop),me=K(e=>e.fileEditorKeymap),he=K(e=>e.setFileEditorKeymap),ge=y(e=>e.followUpBehavior),_e=y(e=>e.setFollowUpBehavior),Se=K(e=>e.persistChatDraft),Ce=K(e=>e.setPersistChatDraft),we=K(e=>e.inputSpellcheckEnabled),Te=K(e=>e.setInputSpellcheckEnabled),Ee=K(e=>e.showSubagentTaskDetails),De=K(e=>e.setShowSubagentTaskDetails),Oe=K(e=>e.timeFormatPreference),ke=K(e=>e.setTimeFormatPreference),Ae=K(e=>e.weekStartPreference),je=K(e=>e.setWeekStartPreference),Me=K(e=>e.showSplitAssistantMessageActions),Ne=K(e=>e.setShowSplitAssistantMessageActions),Pe=K(e=>e.showAssistantTps),Ie=K(e=>e.setShowAssistantTps),Le=ii(e=>e.sidebarBrandName),Re=ii(e=>e.setSidebarBrandName),ze=K(e=>e.allowPromptingSubagentSessions),Be=K(e=>e.setAllowPromptingSubagentSessions),Ve=Ct(e=>e.settingsMessageStreamTransport),He=Ct(e=>e.setSettingsMessageStreamTransport),Ue=Ve,We=K(e=>e.isSettingsDialogOpen),{themeMode:Ge,setThemeMode:Ke,availableThemes:qe,customThemesLoading:Je,reloadCustomThemes:Ye,lightThemeId:Xe,darkThemeId:Ze,setLightThemePreference:Qe,setDarkThemePreference:$e}=Qt(),[et,tt]=Q.useState(!1),[nt,rt]=Q.useState(!1),[it,at]=Q.useState(!1),ot=Q.useMemo(()=>j()&&typeof window<`u`&&window.__OPENCHAMBER_ELECTRON__?.macVibrancySupported===!0,[]),st=typeof window<`u`&&window.__OPENCHAMBER_ELECTRON__?.macVibrancy===!0,[ct,lt]=Q.useState(st),[ut,dt]=Q.useState(!1),ft=Q.useMemo(()=>j()&&typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`darwin`,[]),pt=K(e=>e.dockBadgeEnabled),mt=K(e=>e.setDockBadgeEnabled),[ht,gt]=Q.useState(0),_t=K(e=>e.reportUsage),vt=K(e=>e.setReportUsage),yt=Q.useCallback(e=>{vt(e),T({reportUsage:e})},[vt]),bt=We&&(!e||e.includes(`chatRenderMode`));Q.useEffect(()=>{if(!bt)return;let e=null,t=Date.now(),n=()=>{let r=Date.now();r-t>=420&&(gt(e=>(e+1)%24),t=r),e=requestAnimationFrame(n)};(typeof document>`u`||document.visibilityState===`visible`)&&(e=requestAnimationFrame(n));let r=()=>{document.visibilityState===`visible`&&e===null?e=requestAnimationFrame(n):document.visibilityState!==`visible`&&e!==null&&(cancelAnimationFrame(e),e=null)};return document.addEventListener(`visibilitychange`,r),()=>{document.removeEventListener(`visibilitychange`,r),e!==null&&cancelAnimationFrame(e)}},[bt]);let xt=Q.useCallback(e=>{A(e),T({expandedEditorToolbar:e})},[A]),St=Q.useCallback(e=>{O(e),T({collapsibleUserMessages:e})},[O]),wt=Q.useCallback(e=>{Ne(e),T({showSplitAssistantMessageActions:e})},[Ne]),Tt=Q.useCallback(e=>{Ie(e),T({showAssistantTps:e})},[Ie]),Et=Q.useCallback(e=>{Te(e),T({inputSpellcheckEnabled:e})},[Te]),Dt=Q.useCallback(e=>{I(e),T({chatRenderMode:e})},[I]),Ot=Q.useCallback(e=>{He(e),T({messageStreamTransport:e})},[He]),kt=Q.useCallback(e=>{De(e),T({showSubagentTaskDetails:e})},[De]),At=Q.useCallback(e=>{ke(e),T({timeFormatPreference:e})},[ke]),jt=Q.useCallback(e=>{je(e),T({weekStartPreference:e})},[je]),Mt=Q.useMemo(()=>qe.filter(e=>e.metadata.variant===`light`).sort((e,t)=>e.metadata.name.localeCompare(t.metadata.name)),[qe]),Nt=Q.useMemo(()=>qe.filter(e=>e.metadata.variant===`dark`).sort((e,t)=>e.metadata.name.localeCompare(t.metadata.name)),[qe]),Pt=Q.useMemo(()=>Mt.find(e=>e.metadata.id===Xe)??Mt[0],[Mt,Xe]),Ft=Q.useMemo(()=>Nt.find(e=>e.metadata.id===Ze)??Nt[0],[Nt,Ze]),It=Q.useCallback((e,t)=>{let n=t===`dark`?` Dark`:` Light`;return e.endsWith(n)?e.slice(0,-n.length):e},[]),X=t=>t===`splitAssistantMessageActions`?!1:!e||e.includes(t),Lt=async()=>{if(!it){at(!0);try{await Jt(),rt(!1),Y.success(o(`settings.openchamber.visual.transcriptCache.toast.cleared`))}catch{Y.error(o(`settings.openchamber.visual.transcriptCache.toast.failed`))}finally{at(!1)}}},Rt=D(),zt=Pr()&&X(`iosNativeUi`),Bt=X(`theme`)&&!Rt,Vt=X(`theme`)||X(`timeFormat`)||X(`weekStart`),Ht=Rt?Vt||X(`sidebarBrand`):X(`theme`)||X(`sidebarBrand`)||X(`pwaInstallName`)||X(`pwaOrientation`)||X(`mobileKeyboardMode`)||X(`timeFormat`)||X(`weekStart`)||zt,Ut=X(`fontSize`)||X(`codeFontSize`)||X(`terminalFontSize`)||X(`editorFontSize`)||X(`spacing`)||X(`inputBarOffset`),Wt=X(`terminalQuickKeys`)&&!u||X(`fileEditorKeymap`)||X(`expandedEditorToolbar`),Gt=X(`questionAutoDelegate`)||X(`chatRenderMode`)||X(`messageTransport`)||X(`collapsibleUserMessages`)||X(`splitAssistantMessageActions`)||X(`showAssistantTps`)||X(`subagentReadOnlyBanner`)||X(`diffLayout`)||X(`reasoning`)||X(`followUpBehavior`)||X(`persistDraft`)||X(`showSubagentTaskDetails`)||!u&&X(`inputSpellcheck`),Kt=X(`pwaInstallName`)&&L()&&d&&!j()&&!Rt,qt=X(`pwaOrientation`)&&L()&&!j()&&!Rt,Yt=X(`mobileKeyboardMode`)&&L()&&!j()&&!Rt&&be(),[Xt,Zt]=Q.useState(``),[sn,ln]=Q.useState(`system`),fn=Q.useMemo(()=>{let e=Jp.find(e=>e.id===Oe);return s(e?.labelKey??`settings.openchamber.visual.option.timeFormat.auto.label`)},[Oe,s]),mn=Q.useMemo(()=>{let e=Yp.find(e=>e.id===Ae);return s(e?.labelKey??`settings.openchamber.visual.option.weekStart.auto.label`)},[Ae,s]),bn=Q.useMemo(()=>{let e=Hp.find(e=>e.id===sn);return e?s(e.labelKey):void 0},[sn,s]),xn=Q.useMemo(()=>{let e=Up.find(e=>e.id===ce);return e?s(e.labelKey):void 0},[ce,s]),Sn=Q.useCallback(async e=>{if(typeof window>`u`)return;let t=window,n=e.trim().replace(/\s+/g,` `).slice(0,64);if(await T({pwaAppName:n}),typeof t.__OPENCHAMBER_SET_PWA_INSTALL_NAME__==`function`){let e=t.__OPENCHAMBER_SET_PWA_INSTALL_NAME__(n);Zt(e);return}Zt(n||Vp),t.__OPENCHAMBER_UPDATE_PWA_MANIFEST__?.()},[]),Cn=Q.useCallback(async e=>{if(typeof window>`u`)return;let t=window,n=Gp(e);if(await T({pwaOrientation:n}),typeof t.__OPENCHAMBER_SET_PWA_ORIENTATION__==`function`){let e=t.__OPENCHAMBER_SET_PWA_ORIENTATION__(n);ln(e);return}ln(n),t.__OPENCHAMBER_UPDATE_PWA_MANIFEST__?.()},[]);return Q.useEffect(()=>{if(typeof window>`u`||!Kt&&!qt&&!Yt)return;let e=!1;return(async()=>{try{let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`},cache:`no-store`});if(!t.ok){e||Zt(Vp);return}let n=await t.json().catch(()=>({})),r=(typeof n?.pwaAppName==`string`?n.pwaAppName:``).trim().replace(/\s+/g,` `).slice(0,64),i=Gp(n?.pwaOrientation),a=ye(n?.mobileKeyboardMode);e||(Kt&&Zt(r||Vp),qt&&ln(i),Yt&&le(a))}catch{e||(Kt&&Zt(Vp),qt&&ln(`system`),Yt&&le(`native`))}})(),()=>{e=!0}},[le,Yt,Kt,qt]),(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[Ht&&(0,$.jsxs)($.Fragment,{children:[Bt&&(0,$.jsxs)(Ip,{isMobile:u,label:(0,$.jsxs)(`div`,{className:`flex w-full min-w-0 items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{children:o(`settings.openchamber.visual.section.colorMode`)}),(0,$.jsxs)(`div`,{className:`inline-flex shrink-0 items-center gap-1`,children:[(0,$.jsx)(`button`,{type:`button`,"data-settings-item":`appearance.reload-themes`,disabled:Je||et,onClick:()=>{let e=Date.now();tt(!0),Ye().finally(()=>{let t=Date.now()-e;if(t<500){window.setTimeout(()=>{tt(!1)},500-t);return}tt(!1)})},className:`inline-flex items-center typography-micro font-normal text-muted-foreground underline decoration-[1px] underline-offset-2 hover:text-foreground disabled:cursor-not-allowed disabled:text-muted-foreground/60`,children:o(et?`settings.openchamber.visual.actions.reloadingThemes`:`settings.openchamber.visual.actions.reloadThemes`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`flex items-center justify-center rounded-md p-0.5 text-muted-foreground/70 hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.field.themeImportInfoAria`),children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(vn,{sideOffset:8,children:o(`settings.openchamber.visual.field.themeImportInfoTooltip`)})]})]})]}),children:[(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.color-mode`,label:o(`settings.openchamber.visual.field.themeMode`),children:(0,$.jsx)(`div`,{className:`flex flex-nowrap items-center justify-end gap-1`,role:`group`,"aria-label":o(`settings.openchamber.visual.field.themeMode`),children:zp.map(e=>(0,$.jsx)(J,{variant:`chip`,size:`xs`,"aria-pressed":Ge===e.value,className:`oc-mobile-settings-chip shrink-0 !font-normal`,onClick:()=>Ke(e.value),children:s(e.labelKey)},e.value))})}),(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.light-theme`,label:o(`settings.openchamber.visual.field.lightTheme`),children:(0,$.jsxs)(pn,{value:Pt?.metadata.id??``,onValueChange:Qe,children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.selectLightThemeAria`),className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:o(`settings.openchamber.visual.field.selectThemePlaceholder`),children:Pt?It(Pt.metadata.name,`light`):void 0})}),(0,$.jsx)(dn,{children:Mt.map(e=>(0,$.jsx)(cn,{value:e.metadata.id,children:It(e.metadata.name,`light`)},e.metadata.id))})]})}),(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.dark-theme`,label:o(`settings.openchamber.visual.field.darkTheme`),children:(0,$.jsxs)(pn,{value:Ft?.metadata.id??``,onValueChange:$e,children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.selectDarkThemeAria`),className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:o(`settings.openchamber.visual.field.selectThemePlaceholder`),children:Ft?It(Ft.metadata.name,`dark`):void 0})}),(0,$.jsx)(dn,{children:Nt.map(e=>(0,$.jsx)(cn,{value:e.metadata.id,children:It(e.metadata.name,`dark`)},e.metadata.id))})]})}),ot&&(0,$.jsxs)(`div`,{"data-settings-item":`appearance.window-transparency`,className:`oc-settings-group-row flex flex-col gap-1.5`,children:[(0,$.jsxs)(`div`,{className:`group flex cursor-pointer items-start gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":ct,onClick:()=>{ut||lt(!ct)},onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),ut||lt(!ct))},children:[(0,$.jsx)(on,{checked:ct,onChange:lt,disabled:ut,ariaLabel:o(`settings.openchamber.visual.field.macVibrancy`)}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.macVibrancy`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:o(`settings.openchamber.visual.field.macVibrancyHint`)})]})]}),ct!==st&&(0,$.jsx)(`div`,{className:`pl-6`,children:(0,$.jsx)(J,{variant:`outline`,size:`sm`,disabled:ut,onClick:()=>{dt(!0),N(`desktop_set_vibrancy`,{enabled:ct})},children:o(ut?`settings.openchamber.visual.actions.restarting`:`settings.openchamber.visual.actions.saveAndRestart`)})})]}),ft&&(0,$.jsx)(`div`,{"data-settings-item":`appearance.dock-badge`,className:`oc-settings-group-row flex flex-col gap-1.5`,children:(0,$.jsxs)(`div`,{className:`group flex cursor-pointer items-start gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":pt,onClick:()=>mt(!pt),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),mt(!pt))},children:[(0,$.jsx)(on,{checked:pt,onChange:mt,ariaLabel:o(`settings.openchamber.visual.field.dockBadge`)}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.dockBadge`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:o(`settings.openchamber.visual.field.dockBadgeHint`)})]})]})})]}),zt&&(0,$.jsx)(Ip,{isMobile:u,children:(0,$.jsx)(Zr,{itemId:`appearance.ios-native-ui`,checked:M,onChange:P,label:o(`settings.openchamber.visual.field.iosNativeUi`),description:o(`settings.openchamber.visual.field.iosNativeUiHint`),ariaLabel:o(`settings.openchamber.visual.field.iosNativeUi`)})}),Vt&&(0,$.jsxs)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.localization`),children:[(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.language`,label:o(`settings.appearance.language.label`),description:o(`settings.appearance.language.description`),children:(0,$.jsxs)(pn,{value:n,onValueChange:e=>i(e),children:[(0,$.jsx)(un,{"aria-label":o(`settings.appearance.language.select`),className:`w-fit`,children:(0,$.jsx)(hn,{children:a(n)})}),(0,$.jsx)(dn,{children:r.map(e=>(0,$.jsx)(cn,{value:e,children:a(e)},e))})]})}),(X(`timeFormat`)||X(`weekStart`))&&(0,$.jsxs)($.Fragment,{children:[X(`timeFormat`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.time-format`,label:o(`settings.openchamber.visual.field.timeFormat`),children:(0,$.jsxs)(pn,{value:Oe,onValueChange:e=>At(e),children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.selectTimeFormatAria`),className:`w-fit`,children:(0,$.jsx)(hn,{children:fn})}),(0,$.jsx)(dn,{children:Jp.map(e=>(0,$.jsx)(cn,{value:e.id,children:s(e.labelKey)},e.id))})]})}),X(`weekStart`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.week-start`,label:o(`settings.openchamber.visual.field.weekStartsOn`),children:(0,$.jsxs)(pn,{value:Ae,onValueChange:e=>jt(e),children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.selectWeekStartAria`),className:`w-fit`,children:(0,$.jsx)(hn,{children:mn})}),(0,$.jsx)(dn,{children:Yp.map(e=>(0,$.jsx)(cn,{value:e.id,children:s(e.labelKey)},e.id))})]})})]})]}),X(`sidebarBrand`)&&(0,$.jsx)(Fp,{isMobile:u,itemId:`appearance.sidebar-brand`,label:o(`settings.openchamber.visual.field.sidebarBrand`),description:o(`settings.openchamber.visual.field.sidebarBrandHint`),descriptionPlacement:`outside`,children:(0,$.jsx)(gn,{value:Le,onChange:e=>Re(e.target.value),maxLength:64,"aria-label":o(`settings.openchamber.visual.field.sidebarBrandAria`)})}),(Kt||qt||Yt)&&(0,$.jsxs)($.Fragment,{children:[Kt&&(0,$.jsxs)(Fp,{isMobile:u,itemId:`appearance.pwa-install-name`,label:o(`settings.openchamber.visual.field.installAppName`),description:o(`settings.openchamber.visual.field.installAppNameHint`),children:[(0,$.jsx)(gn,{value:Xt,onChange:e=>{Zt(e.target.value)},onBlur:()=>{Sn(Xt)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),Sn(Xt))},maxLength:64,"aria-label":o(`settings.openchamber.visual.field.pwaInstallAppNameAria`)}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>{Zt(Vp),Sn(``)},className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetInstallAppNameAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),qt&&(0,$.jsxs)(Fp,{isMobile:u,itemId:`appearance.pwa-orientation`,label:o(`settings.openchamber.visual.field.installOrientation`),description:o(`settings.openchamber.visual.field.installOrientationHint`),descriptionPlacement:`outside`,children:[(0,$.jsxs)(pn,{value:sn,onValueChange:e=>{let t=Gp(e);ln(t),Cn(t)},children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.pwaInstallOrientationAria`),className:`w-full`,children:(0,$.jsx)(hn,{placeholder:o(`settings.openchamber.visual.field.selectOrientationPlaceholder`),children:bn})}),(0,$.jsx)(dn,{children:Hp.map(e=>(0,$.jsx)(cn,{value:e.id,children:s(e.labelKey)},e.id))})]}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>{ln(`system`),Cn(`system`)},disabled:sn===`system`,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetInstallOrientationAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),Yt&&(0,$.jsxs)(Fp,{isMobile:u,itemId:`appearance.mobile-keyboard-mode`,label:o(`settings.openchamber.visual.field.mobileKeyboardMode`),description:o(`settings.openchamber.visual.field.mobileKeyboardModeHint`),descriptionPlacement:`outside`,children:[(0,$.jsxs)(pn,{value:ce,onValueChange:e=>{let t=ye(e);le(t),T({mobileKeyboardMode:t})},children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.mobileKeyboardModeAria`),className:`w-full`,children:(0,$.jsx)(hn,{placeholder:o(`settings.openchamber.visual.field.selectMobileKeyboardModePlaceholder`),children:xn})}),(0,$.jsx)(dn,{children:Up.map(e=>(0,$.jsx)(cn,{value:e.id,children:s(e.labelKey)},e.id))})]}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>{le(`native`),T({mobileKeyboardMode:`native`})},disabled:ce===`native`,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetMobileKeyboardModeAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]})]})]}),Ut&&(0,$.jsx)($.Fragment,{children:(0,$.jsx)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.spacingAndLayout`),children:(0,$.jsxs)($.Fragment,{children:[X(`fontSize`)&&!u&&(0,$.jsxs)(Lp,{isMobile:u,label:o(`settings.openchamber.visual.field.interfaceFont`),children:[(0,$.jsxs)(pn,{value:G,onValueChange:e=>te(e),children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.selectInterfaceFontAria`),className:`w-[13rem]`,children:(0,$.jsx)(hn,{children:ve.find(e=>e.id===G)?.label})}),(0,$.jsx)(dn,{children:ve.map(e=>(0,$.jsx)(cn,{value:e.id,children:(0,$.jsx)(`span`,{style:{fontFamily:e.stack},children:e.label})},e.id))})]}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>te(`system`),disabled:G===`system`,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetInterfaceFontAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`terminalFontSize`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.code-font`,label:o(`settings.openchamber.visual.field.codeFont`),children:[(0,$.jsxs)(pn,{value:ne,onValueChange:e=>re(e),children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.selectCodeFontAria`),className:`w-full max-w-[13rem]`,children:(0,$.jsx)(hn,{children:xe.find(e=>e.id===ne)?.label})}),(0,$.jsx)(dn,{children:xe.map(e=>(0,$.jsx)(cn,{value:e.id,children:(0,$.jsx)(`span`,{style:{fontFamily:e.stack},children:e.label})},e.id))})]}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>re(`system-mono`),disabled:ne===`system-mono`,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetCodeFontAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`fontSize`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.interface-font-size`,label:o(`settings.openchamber.visual.field.interfaceFontSize`),children:[(0,$.jsx)(yi,{value:R,onValueChange:z,min:50,max:200,step:5,"aria-label":o(`settings.openchamber.visual.field.fontSizePercentageAria`),className:`w-16`}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>z(100),disabled:R===100,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetFontSizeAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`codeFontSize`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.code-font-size`,label:o(`settings.openchamber.visual.field.codeFontSize`),children:[(0,$.jsx)(yi,{value:B,onValueChange:V,min:50,max:200,step:5,"aria-label":o(`settings.openchamber.visual.field.codeFontSizePercentageAria`),className:`w-16`}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>V(100),disabled:B===100,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetCodeFontSizeAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`terminalFontSize`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.terminal-font-size`,label:o(`settings.openchamber.visual.field.terminalFontSize`),children:[(0,$.jsx)(yi,{value:H,onValueChange:U,min:9,max:52,step:1,className:`w-16`}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>U(13),disabled:H===13,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetTerminalFontSizeAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`editorFontSize`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.editor-font-size`,label:o(`settings.openchamber.visual.field.editorFontSize`),children:[(0,$.jsx)(yi,{value:W,onValueChange:ee,min:9,max:32,step:1,className:`w-16`}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>ee(13),disabled:W===13,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetEditorFontSizeAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`spacing`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.spacing-density`,label:o(`settings.openchamber.visual.field.spacingDensity`),children:[(0,$.jsx)(yi,{value:ie,onValueChange:ae,min:50,max:200,step:5,className:`w-16`}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>ae(100),disabled:ie===100,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetSpacingAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`inputBarOffset`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.input-bar-offset`,label:(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:o(`settings.openchamber.visual.field.inputBarOffset`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:o(`settings.openchamber.visual.field.inputBarOffsetTooltip`)})]})]}),children:[(0,$.jsx)(yi,{value:oe,onValueChange:se,min:0,max:100,step:5,className:`w-16`}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>se(0),disabled:oe===0,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetInputBarOffsetAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]})]})})}),Wt&&(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.navigation`),children:[X(`fileEditorKeymap`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.file-editor-keymap`,label:o(`settings.openchamber.visual.field.fileEditorKeymap`),children:(0,$.jsx)(`div`,{role:`radiogroup`,"aria-label":o(`settings.openchamber.visual.field.fileEditorKeymap`),className:`flex flex-wrap items-center justify-end gap-x-3 gap-y-1`,children:[`default`,`vim`].map(e=>{let t=me===e,n=o(`settings.openchamber.visual.option.fileEditorKeymap.${e}`);return(0,$.jsxs)(`button`,{type:`button`,className:`flex cursor-pointer items-center gap-2 py-0.5 text-left`,role:`radio`,"aria-checked":t,onClick:()=>he(e),children:[(0,$.jsx)(`span`,{"aria-hidden":!0,className:q(`relative flex h-[14px] w-[14px] min-h-[14px] min-w-[14px] shrink-0 self-center items-center justify-center rounded-full transition-[background-color,box-shadow] duration-200 ease-out`,t?`bg-[color-mix(in_srgb,var(--primary-base)_80%,transparent)] shadow-none`:`bg-[var(--surface-muted)] shadow-[inset_0_0_0_1px_var(--interactive-border)]`),children:(0,$.jsx)(`span`,{className:q(`block h-[5px] w-[5px] rounded-full bg-white`,!t&&`opacity-0`)})}),(0,$.jsx)(`span`,{className:q(`typography-ui-label font-normal`,t?`text-foreground`:`text-foreground/50`),children:n})]},e)})})}),X(`expandedEditorToolbar`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.expanded-editor-toolbar`,label:o(`settings.openchamber.visual.field.expandedEditorToolbar`),children:(0,$.jsx)(on,{checked:k,onChange:xt,ariaLabel:o(`settings.openchamber.visual.field.expandedEditorToolbarAria`)})}),X(`terminalQuickKeys`)&&!u&&!j()&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.terminal-quick-keys`,label:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:o(`settings.openchamber.visual.field.terminalQuickKeys`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:o(`settings.openchamber.visual.field.terminalQuickKeysTooltip`)})]})]}),children:(0,$.jsx)(on,{checked:fe,onChange:pe,ariaLabel:o(`settings.openchamber.visual.field.terminalQuickKeysAria`)})})]})}),Gt&&(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[(X(`chatRenderMode`)||X(`messageTransport`)||X(`diffLayout`)&&!Rt)&&(0,$.jsxs)(`div`,{className:`grid w-full grid-cols-1 gap-y-[var(--oc-settings-section-stack-gap)]`,children:[X(`chatRenderMode`)&&(0,$.jsx)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.chatRenderMode`),className:`w-full`,cardClassName:`!border-0 !bg-transparent !rounded-none overflow-visible`,children:(0,$.jsx)(`div`,{"data-settings-item":`chat.render-mode`,className:`min-w-0 w-full`,children:(0,$.jsx)(`div`,{role:`radiogroup`,"aria-label":o(`settings.openchamber.visual.section.chatRenderModeAria`),className:`grid w-full grid-cols-1 gap-3 sm:grid-cols-2`,children:Kp.map(e=>{let t=F===e.id,n=ht%12;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>Dt(e.id),"aria-pressed":t,className:q(`flex flex-col items-start gap-1 rounded-lg border p-3 text-left transition-colors`,t?`border-primary bg-primary/5`:`border-border hover:border-border/80 hover:bg-muted/50`),children:[(0,$.jsx)(`span`,{className:q(`typography-ui-label`,t?`text-foreground`:`text-muted-foreground`),children:s(e.labelKey)}),(0,$.jsx)(`div`,{className:`mt-2 w-full rounded-md border border-border/60 bg-muted/30 p-2`,children:e.id===`live`?(0,$.jsx)(`div`,{className:`space-y-1.5`,children:[0,1,2].map(e=>{let t=e*3+1,r=n-t+1,i=r<=0?0:r===1?42:r===2?68:92;return(0,$.jsxs)(`div`,{className:q(`flex items-center gap-1.5 transition-all duration-300 motion-reduce:transition-none`,i>0?`translate-y-0 opacity-100`:`translate-y-1 opacity-0`),children:[(0,$.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full bg-muted-foreground/55`}),(0,$.jsx)(`span`,{className:`h-1.5 rounded bg-muted-foreground/30 transition-all duration-300 motion-reduce:transition-none`,style:{width:`${i}%`}})]},e)})}):(0,$.jsx)(`div`,{className:`space-y-1.5`,children:[0,1,2].map(e=>{let t=n>=(e+1)*3;return(0,$.jsxs)(`div`,{className:q(`flex items-center gap-1.5 transition-all duration-300 motion-reduce:transition-none`,t?`translate-y-0 opacity-100`:`translate-y-1 opacity-0`),children:[(0,$.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full bg-muted-foreground/55`}),(0,$.jsx)(`span`,{className:`h-1.5 rounded bg-muted-foreground/30`,style:{width:`92%`}})]},e)})})})]},e.id)})})})}),X(`messageTransport`)&&(0,$.jsx)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.messageStreamTransport`),className:`w-full`,children:(0,$.jsxs)(`div`,{"data-settings-item":`chat.message-transport`,className:`oc-settings-group-row flex flex-col gap-2`,children:[(0,$.jsx)(`div`,{className:`flex flex-wrap items-center gap-1`,children:qp.map(e=>(0,$.jsx)(J,{variant:`chip`,size:`xs`,"aria-pressed":Ue===e.id,className:`!font-normal`,onClick:()=>Ot(e.id),children:s(e.labelKey)},e.id))}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:(()=>{let e=qp.find(e=>e.id===Ue);return e?.descriptionKey?s(e.descriptionKey):``})()})]})}),X(`diffLayout`)&&!Rt&&(0,$.jsx)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.diffLayout`),className:`w-full`,children:(0,$.jsx)(`div`,{"data-settings-item":`chat.diff-layout`,role:`radiogroup`,"aria-label":o(`settings.openchamber.visual.section.diffLayoutAria`),children:Bp.map(e=>{let t=ue===e.id;return(0,$.jsx)(Rp,{selected:t,onSelect:()=>de(e.id),label:s(e.labelKey),ariaLabel:o(`settings.openchamber.visual.field.diffLayoutAria`,{option:s(e.labelKey)})},e.id)})})})]}),X(`sessionGoal`)&&!Rt&&(0,$.jsxs)(Ip,{isMobile:u,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:o(`settings.openchamber.visual.goal.sectionTitle`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 cursor-help text-muted-foreground/60`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-sm`,children:o(`settings.openchamber.visual.goal.description`)})]})]}),children:[(0,$.jsx)(Lp,{isMobile:u,itemId:`chat.session-goal`,label:o(`settings.openchamber.visual.field.sessionGoal`),children:(0,$.jsx)(on,{checked:h,onChange:g,ariaLabel:o(`settings.openchamber.visual.field.sessionGoalAria`)})}),(0,$.jsxs)(Lp,{isMobile:u,itemId:`chat.session-goal-budget`,label:o(`settings.openchamber.visual.goal.budgetLabel`),children:[(0,$.jsx)(on,{checked:_,onChange:v,disabled:!h,ariaLabel:o(`settings.openchamber.visual.goal.budgetAria`)}),h&&_?(0,$.jsx)(yi,{value:b,onValueChange:e=>{typeof e==`number`&&Number.isFinite(e)&&e>0&&x(Math.floor(e))},min:1e3,max:1e8,step:5e4}):null]})]}),(X(`sessionAssist`)||X(`collapsibleUserMessages`)||X(`splitAssistantMessageActions`)||X(`showAssistantTps`)||X(`subagentReadOnlyBanner`)||X(`persistDraft`)||X(`showSubagentTaskDetails`)||!u&&X(`inputSpellcheck`)||X(`reasoning`))&&(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[(X(`sessionAssist`)||X(`questionAutoDelegate`)||X(`subagentReadOnlyBanner`))&&(0,$.jsxs)(Ip,{isMobile:u,label:(0,$.jsx)(`span`,{"data-settings-item":`chat.session-assistance`,children:o(`settings.openchamber.visual.section.sessionAssistance`)}),children:[X(`sessionAssist`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.session-title-refresh`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":p,onClick:()=>m(!p),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),m(!p))},children:[(0,$.jsx)(on,{checked:p,onChange:m,ariaLabel:o(`settings.openchamber.visual.field.sessionTitleRefreshAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.sessionTitleRefresh`)})]}),X(`subagentReadOnlyBanner`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.subagent-read-only-banner`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":ze,onClick:()=>Be(!ze),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),Be(!ze))},children:[(0,$.jsx)(on,{checked:ze,onChange:Be,ariaLabel:o(`settings.openchamber.visual.field.allowPromptingSubagentSessionsAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.allowPromptingSubagentSessions`)})]}),X(`questionAutoDelegate`)&&(0,$.jsx)(`div`,{"data-settings-item":`chat.question-auto-delegate`,className:`oc-settings-group-row`,children:(0,$.jsx)(Pp,{})})]}),(X(`collapsibleUserMessages`)||X(`splitAssistantMessageActions`)||X(`showAssistantTps`)||X(`reasoning`))&&(0,$.jsxs)(Ip,{isMobile:u,label:(0,$.jsx)(`span`,{"data-settings-item":`chat.message-appearance`,children:o(`settings.openchamber.visual.section.messageAppearance`)}),children:[X(`reasoning`)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{"data-settings-item":`chat.reasoning`,className:`hidden`,"aria-hidden":!0}),(0,$.jsx)(Zr,{checked:f,onChange:S,label:o(`settings.openchamber.visual.field.showReasoningTraces`),description:o(`settings.openchamber.visual.field.showReasoningTracesHint`),ariaLabel:o(`settings.openchamber.visual.field.showReasoningTracesAria`)}),f&&(0,$.jsxs)(`div`,{className:`oc-settings-group-row group flex cursor-pointer items-center gap-2`,role:`button`,tabIndex:0,"aria-pressed":C,onClick:()=>w(!C),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),w(!C))},children:[(0,$.jsx)(on,{checked:C,onChange:w,ariaLabel:o(`settings.openchamber.visual.field.collapsibleThinkingBlocksAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.collapsibleThinkingBlocks`)})]})]}),X(`collapsibleUserMessages`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.collapsible-user-messages`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":E,onClick:()=>St(!E),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),St(!E))},children:[(0,$.jsx)(on,{checked:E,onChange:St,ariaLabel:o(`settings.openchamber.visual.field.collapsibleUserMessagesAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.collapsibleUserMessages`)})]}),X(`splitAssistantMessageActions`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.inline-assistant-actions`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":Me,onClick:()=>wt(!Me),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),wt(!Me))},children:[(0,$.jsx)(on,{checked:Me,onChange:wt,ariaLabel:o(`settings.openchamber.visual.field.showSplitAssistantMessageActionsAria`)}),(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.showSplitAssistantMessageActions`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 cursor-help text-muted-foreground/60`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:o(`settings.openchamber.visual.field.showSplitAssistantMessageActionsTooltip`)})]})]})]}),X(`showAssistantTps`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.assistant-tps`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":Pe,onClick:()=>Tt(!Pe),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),Tt(!Pe))},children:[(0,$.jsx)(on,{checked:Pe,onChange:Tt,ariaLabel:o(`settings.openchamber.visual.field.showAssistantTpsAria`)}),(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.showAssistantTps`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 cursor-help text-muted-foreground/60`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:o(`settings.openchamber.visual.field.showAssistantTpsTooltip`)})]})]})]})]}),X(`showSubagentTaskDetails`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.subagent-task-details`,className:`group flex cursor-pointer items-start gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":Ee,onClick:()=>kt(!Ee),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),kt(!Ee))},children:[(0,$.jsx)(on,{checked:Ee,onChange:kt,ariaLabel:o(`settings.openchamber.visual.field.showSubagentTaskDetailsAria`),className:`mt-0.5`}),(0,$.jsxs)(`span`,{className:`min-w-0 flex flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.showSubagentTaskDetails`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:o(`settings.openchamber.visual.field.showSubagentTaskDetailsHint`)})]})]}),X(`showSubagentTaskDetails`)&&(0,$.jsx)(Ip,{isMobile:u,children:(0,$.jsx)(Zr,{itemId:`chat.subagent-task-details`,checked:Ee,onChange:kt,label:o(`settings.openchamber.visual.field.showSubagentTaskDetails`),description:o(`settings.openchamber.visual.field.showSubagentTaskDetailsHint`),ariaLabel:o(`settings.openchamber.visual.field.showSubagentTaskDetailsAria`)})}),(X(`persistDraft`)||X(`followUpBehavior`)||!u&&X(`inputSpellcheck`))&&(0,$.jsxs)(Ip,{isMobile:u,label:(0,$.jsx)(`span`,{"data-settings-item":`chat.composer`,children:o(`settings.openchamber.visual.section.composer`)}),children:[X(`followUpBehavior`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`chat.follow-up-behavior`,label:o(`settings.openchamber.visual.field.followUpBehavior`),description:o(`settings.openchamber.visual.field.followUpBehaviorDescription`),children:(0,$.jsxs)(pn,{value:ge,onValueChange:e=>_e(e===`steer`?`steer`:`queue`),children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.followUpBehaviorAria`),className:`w-fit`,children:(0,$.jsx)(hn,{children:o(`settings.openchamber.visual.option.followUpBehavior.${ge}.label`)})}),(0,$.jsx)(dn,{children:Wp.map(e=>(0,$.jsx)(cn,{value:e.id,children:s(e.labelKey)},e.id))})]})}),X(`persistDraft`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.persist-drafts`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":Se,onClick:()=>Ce(!Se),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),Ce(!Se))},children:[(0,$.jsx)(on,{checked:Se,onChange:Ce,ariaLabel:o(`settings.openchamber.visual.field.persistDraftMessagesAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.persistDraftMessages`)})]}),!u&&X(`inputSpellcheck`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.spellcheck`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":we,onClick:()=>Et(!we),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),Et(!we))},children:[(0,$.jsx)(on,{checked:we,onChange:Et,ariaLabel:o(`settings.openchamber.visual.field.enableSpellcheckInTextInputsAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.enableSpellcheckInTextInputs`)})]})]})]})]}),X(`reportUsage`)&&(0,$.jsxs)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.privacy`),children:[X(`reportUsage`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.usage-reports`,label:o(`settings.openchamber.visual.field.sendAnonymousUsageReports`),description:o(`settings.openchamber.visual.field.sendAnonymousUsageReportsHint`),children:(0,$.jsx)(on,{checked:_t,onChange:yt,ariaLabel:o(`settings.openchamber.visual.field.sendAnonymousUsageReportsAria`)})}),X(`reportUsage`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.transcript-cache`,label:o(`settings.openchamber.visual.transcriptCache.label`),description:o(`settings.openchamber.visual.transcriptCache.description`),children:(0,$.jsx)(J,{type:`button`,variant:`destructive`,size:`sm`,disabled:it,onClick:()=>rt(!0),children:o(`settings.openchamber.visual.transcriptCache.action`)})})]})]}),(0,$.jsx)(an,{open:nt,onOpenChange:e=>{it||rt(e)},children:(0,$.jsxs)(tn,{className:`max-w-[min(480px,100vw-2rem)]`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:o(`settings.openchamber.visual.transcriptCache.dialog.title`)}),(0,$.jsx)(rn,{children:o(`settings.openchamber.visual.transcriptCache.dialog.description`)})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{type:`button`,variant:`ghost`,disabled:it,onClick:()=>rt(!1),children:o(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{type:`button`,variant:`destructive`,disabled:it,"aria-busy":it||void 0,onClick:()=>void Lt(),children:o(it?`settings.openchamber.visual.transcriptCache.dialog.clearing`:`settings.openchamber.visual.transcriptCache.action`)})]})]})})]})},Zp=1,Qp=365,$p=30,em=[{value:`archive`,labelKey:`settings.openchamber.sessionRetention.action.archive`},{value:`delete`,labelKey:`settings.openchamber.sessionRetention.action.delete`}],tm=()=>{let e=(0,Ki.c)(101),{t}=Fe(),n=K(nm),r=K(rm),i=K(im),a=K(am),o=K(om),s=K(sm),c;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={autoRun:!1},e[0]=c):c=e[0];let{candidates:l,isRunning:u,runCleanup:d,action:f}=tr(c),p=l.length,m;e[1]!==d||e[2]!==t?(m=async()=>{let e=await d({force:!0});if(e.completedIds.length===0&&e.failedIds.length===0){Y.message(e.action===`archive`?t(`settings.openchamber.sessionRetention.toast.noneEligibleArchive`):t(`settings.openchamber.sessionRetention.toast.noneEligibleDelete`));return}e.completedIds.length>0&&Y.success(e.action===`archive`?t(`settings.openchamber.sessionRetention.toast.archivedCount`,{count:e.completedIds.length}):t(`settings.openchamber.sessionRetention.toast.deletedCount`,{count:e.completedIds.length})),e.failedIds.length>0&&Y.error(e.action===`archive`?t(`settings.openchamber.sessionRetention.toast.failedArchiveCount`,{count:e.failedIds.length}):t(`settings.openchamber.sessionRetention.toast.failedDeleteCount`,{count:e.failedIds.length}))},e[1]=d,e[2]=t,e[3]=m):m=e[3];let h=m,g;e[4]===t?g=e[5]:(g=t(`settings.openchamber.sessionRetention.title`),e[4]=t,e[5]=g);let _;e[6]===g?_=e[7]:(_=(0,$.jsx)(`span`,{children:g}),e[6]=g,e[7]=_);let v;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 cursor-help text-muted-foreground/60`})}),e[8]=v):v=e[8];let y;e[9]===t?y=e[10]:(y=t(`settings.openchamber.sessionRetention.tooltip`),e[9]=t,e[10]=y);let b;e[11]===y?b=e[12]:(b=(0,$.jsxs)(yn,{children:[v,(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:y})]}),e[11]=y,e[12]=b);let x;e[13]!==_||e[14]!==b?(x=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[_,b]}),e[13]=_,e[14]=b,e[15]=x):x=e[15];let S,C;e[16]!==n||e[17]!==a?(S=()=>a(!n),C=e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),a(!n))},e[16]=n,e[17]=a,e[18]=S,e[19]=C):(S=e[18],C=e[19]);let w;e[20]===t?w=e[21]:(w=t(`settings.openchamber.sessionRetention.field.enableAutoCleanup`),e[20]=t,e[21]=w);let T;e[22]===w?T=e[23]:(T=(0,$.jsx)(`div`,{className:`oc-settings-split-row-copy`,children:(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:w})}),e[22]=w,e[23]=T);let E;e[24]===t?E=e[25]:(E=t(`settings.openchamber.sessionRetention.field.enableAutoCleanupAria`),e[24]=t,e[25]=E);let D;e[26]!==n||e[27]!==a||e[28]!==E?(D=(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:n,onChange:a,ariaLabel:E})}),e[26]=n,e[27]=a,e[28]=E,e[29]=D):D=e[29];let O;e[30]!==n||e[31]!==T||e[32]!==D||e[33]!==S||e[34]!==C?(O=(0,$.jsxs)(`div`,{"data-settings-item":`sessions.auto-cleanup`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,"aria-pressed":n,onClick:S,onKeyDown:C,children:[T,D]}),e[30]=n,e[31]=T,e[32]=D,e[33]=S,e[34]=C,e[35]=O):O=e[35];let k;e[36]===t?k=e[37]:(k=t(`settings.openchamber.sessionRetention.field.retentionPeriod`),e[36]=t,e[37]=k);let A;e[38]===t?A=e[39]:(A=t(`settings.openchamber.sessionRetention.field.retentionPeriodAria`),e[38]=t,e[39]=A);let j;e[40]!==r||e[41]!==o||e[42]!==A?(j=(0,$.jsx)(yi,{value:r,onValueChange:o,min:Zp,max:Qp,step:1,"aria-label":A,className:`w-20 tabular-nums`}),e[40]=r,e[41]=o,e[42]=A,e[43]=j):j=e[43];let M;e[44]===t?M=e[45]:(M=t(`settings.openchamber.sessionRetention.field.days`),e[44]=t,e[45]=M);let N;e[46]===M?N=e[47]:(N=(0,$.jsx)(`span`,{className:`typography-ui-label text-muted-foreground`,children:M}),e[46]=M,e[47]=N);let P;e[48]===o?P=e[49]:(P=()=>o($p),e[48]=o,e[49]=P);let F=r===$p,I;e[50]===t?I=e[51]:(I=t(`settings.openchamber.sessionRetention.actions.resetRetentionAria`),e[50]=t,e[51]=I);let L;e[52]===t?L=e[53]:(L=t(`settings.common.actions.reset`),e[52]=t,e[53]=L);let R;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`}),e[54]=R):R=e[54];let z;e[55]!==P||e[56]!==F||e[57]!==I||e[58]!==L?(z=(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:P,disabled:F,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":I,title:L,children:R}),e[55]=P,e[56]=F,e[57]=I,e[58]=L,e[59]=z):z=e[59];let B;e[60]!==k||e[61]!==j||e[62]!==N||e[63]!==z?(B=(0,$.jsxs)(Yr,{itemId:`sessions.retention-period`,label:k,children:[j,N,z]}),e[60]=k,e[61]=j,e[62]=N,e[63]=z,e[64]=B):B=e[64];let V;e[65]===t?V=e[66]:(V=t(`settings.openchamber.sessionRetention.field.whenSessionsExpire`),e[65]=t,e[66]=V);let H;e[67]!==i||e[68]!==s||e[69]!==t?(H=em.map(e=>(0,$.jsx)(J,{type:`button`,variant:`chip`,size:`xs`,"aria-pressed":i===e.value,className:`!font-normal`,onClick:()=>s(e.value),children:t(e.labelKey)},e.value)),e[67]=i,e[68]=s,e[69]=t,e[70]=H):H=e[70];let U;e[71]===H?U=e[72]:(U=(0,$.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-1`,children:H}),e[71]=H,e[72]=U);let W;e[73]!==V||e[74]!==U?(W=(0,$.jsx)(Yr,{itemId:`sessions.retention-action`,label:V,children:U}),e[73]=V,e[74]=U,e[75]=W):W=e[75];let ee;e[76]!==O||e[77]!==B||e[78]!==W||e[79]!==x?(ee=(0,$.jsxs)(Jr,{label:x,children:[O,B,W]}),e[76]=O,e[77]=B,e[78]=W,e[79]=x,e[80]=ee):ee=e[80];let G;e[81]===t?G=e[82]:(G=t(`settings.openchamber.sessionRetention.manualCleanup.title`),e[81]=t,e[82]=G);let te;e[83]!==f||e[84]!==p||e[85]!==t?(te=t(f===`archive`?`settings.openchamber.sessionRetention.manualCleanup.eligibleArchiveNow`:`settings.openchamber.sessionRetention.manualCleanup.eligibleDeleteNow`,{count:p}),e[83]=f,e[84]=p,e[85]=t,e[86]=te):te=e[86];let ne;e[87]!==u||e[88]!==t?(ne=t(u?`settings.openchamber.sessionRetention.actions.cleaningUp`:`settings.openchamber.sessionRetention.actions.runCleanupNow`),e[87]=u,e[88]=t,e[89]=ne):ne=e[89];let re;e[90]!==h||e[91]!==u||e[92]!==ne?(re=(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`xs`,onClick:h,disabled:u,className:`!font-normal`,children:ne}),e[90]=h,e[91]=u,e[92]=ne,e[93]=re):re=e[93];let ie;e[94]!==G||e[95]!==te||e[96]!==re?(ie=(0,$.jsx)(ui,{label:G,description:te,descriptionPlacement:`outside`,children:re}),e[94]=G,e[95]=te,e[96]=re,e[97]=ie):ie=e[97];let ae;return e[98]!==ee||e[99]!==ie?(ae=(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[ee,ie]}),e[98]=ee,e[99]=ie,e[100]=ae):ae=e[100],ae};function nm(e){return e.autoDeleteEnabled}function rm(e){return e.autoDeleteAfterDays}function im(e){return e.sessionRetentionAction}function am(e){return e.setAutoDeleteEnabled}function om(e){return e.setAutoDeleteAfterDays}function sm(e){return e.setSessionRetentionAction}var cm=(e,t,n)=>!e||!Number.isFinite(e)?t:new Intl.DateTimeFormat(Re(),{dateStyle:`medium`,timeStyle:`short`,hour12:n===`auto`?void 0:n===`12h`}).format(e),lm=()=>{let{t:e}=Fe(),t=K(e=>e.timeFormatPreference),[n,r]=Q.useState(!1),[i,a]=Q.useState(!0),[o,s]=Q.useState(!1),[c,l]=Q.useState(null),[u,d]=Q.useState(!1),[f,p]=Q.useState([]),[m,h]=Q.useState(ar),[g,_]=Q.useState(``),v=Q.useMemo(()=>Ln(),[]),y=Q.useCallback(async()=>{a(!0),_(``);try{let e=await Pn();p(e)}catch(t){let n=t instanceof Error?t.message:e(`settings.openchamber.passkeys.toast.loadFailed`);_(n)}finally{a(!1)}},[e]);Q.useEffect(()=>{let e=!1;return(async()=>{try{if(!v.supported){e||(r(!1),a(!1));return}e||r(!0)}catch{e||r(!1)}if(!e){let e=await Nn();if(h(e),!e.enabled){p([]),a(!1);return}await y()}})(),()=>{e=!0,xn()}},[y,v.supported]);let b=Q.useCallback(async()=>{if(!m.enabled){let t=e(`settings.openchamber.passkeys.toast.enableUiPasswordFirst`);_(t),Y.message(t);return}if(!n){_(v.reason),Y.message(v.reason);return}if(o){xn(),s(!1);return}_(``),s(!0);try{await An(),h(await Nn()),await y(),Y.success(e(`settings.openchamber.passkeys.toast.added`))}catch(t){if(Tn(t)){Y.message(e(`settings.openchamber.passkeys.toast.setupCanceled`));return}let n=t instanceof Error?t.message:e(`settings.openchamber.passkeys.toast.addFailed`);_(n),Y.error(n)}finally{s(!1)}},[o,y,m.enabled,v.reason,n,e]),x=Q.useCallback(async t=>{l(t),_(``);try{await Bn(t),h(await Nn()),await y(),Y.success(e(`settings.openchamber.passkeys.toast.removed`))}catch(t){let n=t instanceof Error?t.message:e(`settings.openchamber.passkeys.toast.removeFailed`);_(n),Y.error(n)}finally{l(null)}},[y,e]),S=Q.useCallback(async()=>{d(!0),_(``);try{await jn(),window.location.reload()}catch(t){let n=t instanceof Error?t.message:e(`settings.openchamber.passkeys.toast.clearAuthFailed`);_(n),Y.error(n),d(!1)}},[e]);return(0,$.jsxs)(Jr,{label:e(`settings.openchamber.passkeys.title`),children:[(0,$.jsx)(Yr,{label:e(`settings.openchamber.passkeys.field.currentDevice`),children:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[(0,$.jsx)(J,{type:`button`,variant:o?`secondary`:`outline`,size:`xs`,onClick:()=>void b(),disabled:i||u,className:`!font-normal`,children:e(o?`settings.openchamber.passkeys.actions.cancelSetup`:`settings.openchamber.passkeys.actions.add`)}),(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,onClick:()=>void S(),disabled:i||o||u,className:`!font-normal text-muted-foreground hover:text-foreground`,children:e(u?`settings.openchamber.passkeys.actions.signingOut`:`settings.openchamber.passkeys.actions.signOutEverywhere`)})]})}),!m.enabled&&(0,$.jsx)(`p`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,children:e(`settings.openchamber.passkeys.state.uiPasswordRequired`)}),m.enabled&&!n&&(0,$.jsx)(`p`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,children:v.reason}),i?(0,$.jsx)(`p`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,children:e(`settings.openchamber.passkeys.state.loading`)}):f.length===0?(0,$.jsx)(`p`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,children:e(`settings.openchamber.passkeys.state.noneSaved`)}):(0,$.jsx)($.Fragment,{children:f.map(n=>(0,$.jsx)(Yr,{label:n.label,copyClassName:`truncate`,children:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground truncate`,children:n.lastUsedAt?e(`settings.openchamber.passkeys.item.lastUsed`,{time:cm(n.lastUsedAt,e(`settings.openchamber.passkeys.time.neverUsed`),t)}):e(`settings.openchamber.passkeys.item.added`,{time:cm(n.createdAt,e(`settings.openchamber.passkeys.time.neverUsed`),t)})}),(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,onClick:()=>void x(n.id),disabled:c===n.id,className:`!font-normal text-muted-foreground hover:text-foreground`,children:c===n.id?e(`settings.openchamber.passkeys.actions.removing`):e(`settings.common.actions.delete`)})]})},n.id))}),g&&(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:g})})]})},um=e=>Vt(e)||{providerId:``,modelId:``},dm=()=>{let{t:e}=Fe(),t=Ct(e=>e.setProvider),n=Ct(e=>e.setModel),r=Ct(e=>e.setAgent),i=Ct(e=>e.setCurrentVariant),a=Ct(e=>e.setSettingsDefaultModel),o=Ct(e=>e.setSettingsDefaultVariant),s=Ct(e=>e.setSettingsDefaultAgent),c=K(e=>e.showDeletionDialog),u=K(e=>e.setShowDeletionDialog),d=Ct(e=>e.providers),[f,p]=Q.useState(),[m,g]=Q.useState(),[_,v]=Q.useState(),[y,b]=Q.useState(!0),x=Q.useMemo(()=>um(f),[f]);Q.useEffect(()=>{(async()=>{try{let e=null;if(!e){let t=h()?.settings;if(t)try{let n=(await t.load())?.settings;if(n){let t=n;e={defaultModel:typeof n.defaultModel==`string`?n.defaultModel:void 0,defaultVariant:typeof t.defaultVariant==`string`?t.defaultVariant:void 0,defaultAgent:typeof n.defaultAgent==`string`?n.defaultAgent:void 0}}}catch{}}if(!e){let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});t.ok&&(e=await t.json())}if(e){let t=typeof e.defaultModel==`string`&&e.defaultModel.trim().length>0?e.defaultModel.trim():void 0,n=typeof e.defaultVariant==`string`&&e.defaultVariant.trim().length>0?e.defaultVariant.trim():void 0,r=typeof e.defaultAgent==`string`&&e.defaultAgent.trim().length>0?e.defaultAgent.trim():void 0;t!==void 0&&p(t),n!==void 0&&g(n),r!==void 0&&v(r)}}catch(e){console.warn(`Failed to load defaults settings:`,e)}finally{b(!1)}})()},[]);let S=Q.useCallback(async(e,r)=>{let s=e&&r?`${e}/${r}`:void 0;p(s),g(void 0),o(void 0),i(void 0),a(s),e&&r&&d.find(t=>t.id===e)&&(t(e),n(r));try{await T({defaultModel:s??``,defaultVariant:``});let e=await l(`/api/config/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({defaultModel:s})});e.ok||console.warn(`Failed to save default model to server:`,e.status,e.statusText)}catch(e){console.warn(`Failed to save default model:`,e)}},[d,i,n,t,a,o]),C=`__default__`,w=Q.useCallback(t=>t===C?e(`settings.openchamber.defaults.option.default`):t.charAt(0).toUpperCase()+t.slice(1),[e]),E=Q.useCallback(async e=>{let t=e===C?void 0:e||void 0;g(t),o(t),i(t);try{await T({defaultVariant:t??``})}catch(e){console.warn(`Failed to save default variant:`,e)}},[i,o]),D=Q.useCallback(async e=>{let t=e||void 0;v(t),s(t),e&&r(e);try{await T({defaultAgent:t??``})}catch(e){console.warn(`Failed to save default agent:`,e)}},[r,s]),O=Q.useMemo(()=>{if(!x.providerId||!x.modelId)return[];let e=d.find(e=>e.id===x.providerId)?.models.find(e=>e.id===x.modelId)?.variants;return e?Object.keys(e):[]},[x.modelId,x.providerId,d]),k=O.length>0;return Q.useEffect(()=>{!k&&m&&(g(void 0),o(void 0),i(void 0),T({defaultVariant:``}).catch(()=>{}))},[m,i,o,k]),y?null:(0,$.jsxs)(Jr,{label:e(`settings.openchamber.defaults.title`),description:(0,$.jsxs)($.Fragment,{children:[e(`settings.openchamber.defaults.summaryPrefix`),` `,x.providerId?(0,$.jsxs)(`span`,{className:`text-foreground`,children:[x.providerId,`/`,x.modelId,k?` (${m??e(`settings.openchamber.defaults.option.defaultLowercase`)})`:``]}):(0,$.jsx)(`span`,{className:`text-foreground`,children:e(`settings.openchamber.defaults.summaryOpenCodeDefault`)}),_&&(0,$.jsxs)($.Fragment,{children:[` / `,(0,$.jsx)(`span`,{className:`text-foreground`,children:_})]})]}),children:[(0,$.jsx)(Yr,{itemId:`sessions.default-model`,label:e(`settings.openchamber.defaults.field.defaultModel`),children:(0,$.jsx)(Kn,{providerId:x.providerId,modelId:x.modelId,onChange:S,className:`oc-settings-inline-value`})}),(0,$.jsx)(Yr,{itemId:`sessions.default-thinking`,label:e(`settings.openchamber.defaults.field.defaultThinking`),children:(0,$.jsxs)(pn,{value:m??C,onValueChange:E,disabled:!k,children:[(0,$.jsx)(un,{className:`w-fit min-w-[120px]`,children:(0,$.jsx)(hn,{placeholder:e(`settings.openchamber.defaults.field.thinkingPlaceholder`),children:w(m??C)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:C,children:e(`settings.openchamber.defaults.option.default`)}),O.map(e=>(0,$.jsx)(cn,{value:e,children:w(e)},e))]})]})}),(0,$.jsx)(Yr,{itemId:`sessions.default-agent`,label:e(`settings.openchamber.defaults.field.defaultAgent`),children:(0,$.jsx)(ur,{agentName:_||``,onChange:D,className:`oc-settings-inline-value`})}),(0,$.jsxs)(`div`,{"data-settings-item":`sessions.deletion-dialog`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,"aria-pressed":c,onClick:()=>u(!c),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),u(!c))},children:[(0,$.jsx)(`div`,{className:`oc-settings-split-row-copy`,children:(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.defaults.field.showDeletionDialog`)})}),(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:c,onChange:u,ariaLabel:e(`settings.openchamber.defaults.field.showDeletionDialogAria`)})})]})]})},fm=`You are generating a Conventional Commits subject line from the diffs of the selected files.`,pm=[`You are a title generator. Output ONLY a thread title.`,`Name the main subject of the work.`,`Keep that subject across follow-ups, polish, commit, push, tidy, and review.`,`Switch only when the user clearly starts a different topic.`,`One line, no explanation.`,`Hard limit: never exceed 6 CJK characters (or 6 words for English). No modifiers. No verbs.`,`Use the language of the user messages.`,`Keep technical terms, numbers, filenames, and HTTP codes exact.`,`Never include tool names, summarizing, or generating.`,`Always output a meaningful title.`].join(`
26
- `),mm=`summary-custom-model-suggestions`,hm=e=>{let t=e.trim();if(!t)return null;try{let e=new URL(t);return e.protocol!==`https:`&&e.protocol!==`http:`||e.username||e.password?null:e.toString().replace(/\/+$/,``)}catch{return null}},gm=()=>{let{t:e}=Fe(),{currentTheme:t}=Qt(),[n,r]=Q.useState(`provider`),[i,a]=Q.useState(``),[o,s]=Q.useState(``),[c,u]=Q.useState(``),[d,f]=Q.useState(``),[p,m]=Q.useState(``),[g,_]=Q.useState(!1),[v,y]=Q.useState(fm),[b,x]=Q.useState(pm),[S,C]=Q.useState([]),[w,E]=Q.useState(!0),[D,O]=Q.useState(!1),[k,A]=Q.useState(!1),[j,M]=Q.useState(null),N=Q.useMemo(()=>[bi(t,{syntaxColors:!1})],[t]);Q.useEffect(()=>{let e=!0;return(async()=>{try{let t=null,n=h()?.settings;if(n){let e=(await n.load())?.settings;e&&(t=e)}if(!t){let e=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});e.ok&&(t=await e.json())}if(!e||!t)return;t.summaryModelMode&&r(t.summaryModelMode),typeof t.summaryProviderID==`string`&&a(t.summaryProviderID),typeof t.summaryModelID==`string`&&s(t.summaryModelID),typeof t.summaryCustomModelID==`string`&&t.summaryCustomModelID?u(t.summaryCustomModelID):t.summaryModelMode===`custom`&&typeof t.summaryModelID==`string`&&u(t.summaryModelID),typeof t.summaryCustomBaseURL==`string`&&f(t.summaryCustomBaseURL),typeof t.hasSummaryCustomAPIToken==`boolean`&&_(t.hasSummaryCustomAPIToken),y(t.summaryCommitPrompt??fm),x(t.summarySessionTitlePrompt??pm)}catch(e){console.warn(`Failed to load summary settings:`,e)}finally{e&&E(!1)}})(),()=>{e=!1}},[]),Q.useEffect(()=>{if(n!==`custom`){C([]);return}let e=hm(d);if(!e||!p.trim()&&!g){C([]);return}let t=!0,r=window.setTimeout(()=>{(async()=>{try{let n=await(await l(`/api/small-model/custom-models`,{method:`POST`,headers:{Accept:`application/json`,"Content-Type":`application/json`},body:JSON.stringify({baseURL:e,...p.trim()?{apiToken:p}:{}})})).json().catch(()=>null),r=Array.isArray(n?.models)?n.models.filter(e=>typeof e==`string`&&e.length>0):[];t&&C(r)}catch{t&&C([])}})()},400);return()=>{t=!1,window.clearTimeout(r)}},[g,p,d,n]);let P=()=>hm(d)?!c.trim()||!p.trim()&&!g?`incomplete`:null:d.trim()?`baseURL`:`incomplete`,F=t=>e(t===`token`?`settings.openchamber.defaults.summary.testError.token`:t===`model`?`settings.openchamber.defaults.summary.testError.model`:t===`baseURL`?`settings.openchamber.defaults.summary.testError.baseUrl`:`settings.openchamber.defaults.summary.testError.incomplete`),I=Me(async()=>{if(n===`custom`){let e=P();if(e){Y.error(F(e));return}}O(!0);try{let e={summaryModelMode:n,summaryCommitPrompt:v,summarySessionTitlePrompt:b};n===`provider`?(e.summaryProviderID=i.trim(),e.summaryModelID=o.trim()):(e.summaryCustomBaseURL=d,e.summaryCustomModelID=c.trim(),p.trim()&&(e.summaryCustomAPIToken=p)),await T(e),p.trim()&&_(!0),m(``)}catch(e){console.warn(`Failed to save summary settings:`,e)}finally{O(!1)}}),L=Me(async()=>{O(!0);try{await T({summaryCustomAPIToken:``}),m(``),_(!1)}catch(e){console.warn(`Failed to clear summary API token:`,e)}finally{O(!1)}}),R=Me(async()=>{if(k)return;M(null);let t=n,r=t===`custom`?P():null;if(r){M(F(r));return}A(!0);try{let n=await l(`/api/small-model/test`,{method:`POST`,headers:{Accept:`application/json`,"Content-Type":`application/json`},body:JSON.stringify(t===`provider`?{mode:t,providerID:i,modelID:o}:{baseURL:d,modelID:c,...p.trim()?{apiToken:p}:{}})}),r=await n.json().catch(()=>null);if(n.ok&&r?.ok===!0){Y.success(e(`settings.openchamber.defaults.summary.testConnectionOk`));return}if(t===`provider`){let t=e(`settings.openchamber.defaults.summary.testError.provider`,{code:typeof r?.code==`string`?r.code:`generation_failed`});M(typeof r?.message==`string`&&r.message.trim()?`${t}\n${r.message}`:t);return}let a=r?.code===`token`||r?.code===`model`||r?.code===`baseURL`||r?.code===`incomplete`?r.code:`baseURL`,s=F(a);M(typeof r?.message==`string`&&r.message.trim()?`${s}\n${r.message}`:s)}catch{M(t===`provider`?e(`settings.openchamber.defaults.summary.testError.provider`,{code:`network_error`}):F(`baseURL`))}finally{A(!1)}});return w?null:(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[(0,$.jsxs)(Jr,{label:e(`settings.openchamber.defaults.summary.title`),description:(0,$.jsxs)(`span`,{className:`flex flex-col gap-2`,children:[(0,$.jsxs)(`span`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{children:e(`settings.openchamber.defaults.summary.description`)}),(0,$.jsx)(J,{"data-settings-item":`summary-ai.test-connection`,variant:`outline`,size:`sm`,onClick:()=>void R(),disabled:D||k,children:e(k?`settings.openchamber.defaults.summary.testingConnection`:`settings.openchamber.defaults.summary.testConnection`)})]}),j?(0,$.jsx)(`span`,{role:`alert`,className:`whitespace-pre-wrap break-words text-[var(--status-error)]`,children:j}):null]}),children:[(0,$.jsx)(Yr,{itemId:`summary-ai.configuration`,label:e(`settings.openchamber.defaults.summary.modelSourceTitle`),className:`oc-settings-summary-model-source-row`,controlClassName:`items-start`,children:(0,$.jsxs)(`div`,{role:`radiogroup`,"aria-label":e(`settings.openchamber.defaults.summary.modelSourceAria`),className:`flex flex-col gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2 py-0.5`,children:[(0,$.jsx)(ec,{checked:n===`provider`,onChange:()=>r(`provider`),ariaLabel:e(`settings.openchamber.defaults.summary.provider`)}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:n===`provider`?`typography-ui-label text-foreground`:`typography-ui-label text-foreground/50`,children:e(`settings.openchamber.defaults.summary.provider`)}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:e(`settings.openchamber.defaults.summary.providerDescription`)})]})]}),(0,$.jsxs)(`div`,{className:`flex items-start gap-2 py-0.5`,children:[(0,$.jsx)(ec,{checked:n===`custom`,onChange:()=>r(`custom`),ariaLabel:e(`settings.openchamber.defaults.summary.custom`)}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:n===`custom`?`typography-ui-label text-foreground`:`typography-ui-label text-foreground/50`,children:e(`settings.openchamber.defaults.summary.custom`)}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:e(`settings.openchamber.defaults.summary.customDescription`)})]})]})]})}),n===`provider`?(0,$.jsx)(Yr,{label:e(`settings.openchamber.defaults.summary.providerModel`),children:(0,$.jsx)(Kn,{providerId:i,modelId:o,placeholder:e(`settings.openchamber.defaults.summary.providerModelDefault`),onChange:(e,t)=>{a(e),s(t)},className:`oc-settings-inline-value`})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{label:e(`settings.openchamber.defaults.summary.baseUrl`),children:(0,$.jsx)(gn,{value:d,onChange:e=>f(e.target.value),placeholder:e(`settings.openchamber.defaults.summary.baseUrlPlaceholder`)})}),(0,$.jsx)(Yr,{label:e(`settings.openchamber.defaults.summary.modelId`),children:(0,$.jsxs)(`div`,{className:`w-full`,children:[(0,$.jsx)(gn,{value:c,onChange:e=>u(e.target.value),placeholder:e(`settings.openchamber.defaults.summary.modelIdPlaceholder`),list:S.length>0?mm:void 0}),S.length>0?(0,$.jsx)(`datalist`,{id:mm,children:S.map(e=>(0,$.jsx)(`option`,{value:e},e))}):null]})}),(0,$.jsx)(Yr,{label:e(`settings.openchamber.defaults.summary.apiToken`),children:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(gn,{type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:e(g?`settings.openchamber.defaults.summary.apiTokenStored`:`settings.openchamber.defaults.summary.apiTokenPlaceholder`),className:`max-w-xl`}),g?(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:()=>void L(),disabled:D,children:e(`settings.openchamber.defaults.summary.clearToken`)}):null]})})]})]}),(0,$.jsxs)(Jr,{label:e(`settings.openchamber.defaults.summary.promptTitle`),children:[(0,$.jsx)(Yr,{label:e(`settings.openchamber.defaults.summary.commitPrompt`),description:e(`settings.openchamber.defaults.summary.commitPromptDescription`),className:`oc-settings-split-row-stacked`,controlClassName:`w-full max-w-none justify-self-stretch`,children:(0,$.jsx)(`div`,{className:`h-64 w-full overflow-hidden bg-background`,children:(0,$.jsx)(Ur,{value:v,onChange:y,extensions:N,className:`h-full`,enableSearch:!0})})}),(0,$.jsx)(Yr,{label:e(`settings.openchamber.defaults.summary.sessionTitlePrompt`),description:e(`settings.openchamber.defaults.summary.sessionTitlePromptDescription`),className:`oc-settings-split-row-stacked`,controlClassName:`w-full max-w-none justify-self-stretch`,children:(0,$.jsx)(`div`,{className:`h-64 w-full overflow-hidden bg-background`,children:(0,$.jsx)(Ur,{value:b,onChange:x,extensions:N,className:`h-full`,enableSearch:!0})})}),(0,$.jsx)(`div`,{className:`oc-settings-group-row flex items-center justify-end`,children:(0,$.jsx)(J,{size:`sm`,onClick:()=>void I(),disabled:D,children:e(D?`settings.common.actions.saving`:`settings.openchamber.defaults.summary.save`)})})]})]})},_m={completion:{titleKey:`settings.notifications.page.template.defaults.completion.title`,messageKey:`settings.notifications.page.template.defaults.completion.message`},error:{titleKey:`settings.notifications.page.template.defaults.error.title`,messageKey:`settings.notifications.page.template.defaults.error.message`},question:{titleKey:`settings.notifications.page.template.defaults.question.title`,messageKey:`settings.notifications.page.template.defaults.question.message`},subtask:{titleKey:`settings.notifications.page.template.defaults.subtask.title`,messageKey:`settings.notifications.page.template.defaults.subtask.message`}},vm={completion:`settings.notifications.page.template.event.completion`,subtask:`settings.notifications.page.template.event.subtask`,error:`settings.notifications.page.template.event.error`,question:`settings.notifications.page.template.event.question`},ym=()=>{let{t:e}=Fe(),t=Q.useMemo(()=>j(),[]),n=Q.useMemo(()=>D(),[]),r=Q.useMemo(()=>typeof window>`u`?!1:window.Capacitor?.isNativePlatform?.()===!0||window.location.protocol===`capacitor:`,[]),i=!t&&!n&&!r,a=K(e=>e.nativeNotificationsEnabled),o=K(e=>e.setNativeNotificationsEnabled),s=K(e=>e.notificationMode),c=K(e=>e.setNotificationMode),l=K(e=>e.notifyOnSubtasks),u=K(e=>e.setNotifyOnSubtasks),d=K(e=>e.notifyOnCompletion),f=K(e=>e.setNotifyOnCompletion),p=K(e=>e.notifyOnError),m=K(e=>e.setNotifyOnError),g=K(e=>e.notifyOnQuestion),_=K(e=>e.setNotifyOnQuestion),v=K(e=>e.notifyOnPermission),y=K(e=>e.setNotifyOnPermission),b=K(e=>e.notifyOnScheduledTasks),x=K(e=>e.setNotifyOnScheduledTasks),S=K(e=>e.notifyOnAssistants),C=K(e=>e.setNotifyOnAssistants),w=K(e=>e.notifyOnGoals),T=K(e=>e.setNotifyOnGoals),E=K(e=>e.notificationTemplates),O=K(e=>e.setNotificationTemplates),[k,A]=Q.useState(`default`),[M,N]=Q.useState(!1),[P,F]=Q.useState(!1),[I,L]=Q.useState(!1);Q.useEffect(()=>{if(!i){N(!1),F(!1);return}typeof Notification<`u`&&A(Notification.permission);let e=typeof window<`u`&&`serviceWorker`in navigator&&`PushManager`in window&&`Notification`in window;N(e),(async()=>{if(!e){F(!1);return}try{let e=await navigator.serviceWorker.getRegistration();if(!e){F(!1);return}let t=await e.pushManager.getSubscription();F(!!t)}catch{F(!1)}})()},[i]);let R=async n=>{if(t){o(n);return}if(!i){o(n);return}if(n&&typeof Notification<`u`&&Notification.permission==="default")try{let t=await Notification.requestPermission();A(t),t===`granted`?o(!0):Y.error(e(`settings.notifications.page.toast.permissionDenied.title`),{description:e(`settings.notifications.page.toast.permissionDenied.description`)})}catch(t){console.error(`Failed to request notification permission:`,t),Y.error(e(`settings.notifications.page.toast.requestPermissionFailed`))}else o(!!(n&&k===`granted`))},z=t||n||r||i&&typeof Notification<`u`&&Notification.permission===`granted`,B=(e,t,n)=>{O({...E,[e]:{...E[e],[t]:n}})},V=e=>{let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e+=1)r[e]=n.charCodeAt(e);return r},H=async(e,t,n)=>{let r=null,i=new Promise((e,i)=>{r=setTimeout(()=>{i(Error(n))},t)});try{return await Promise.race([e,i])}finally{r&&clearTimeout(r)}},U=async e=>{if(e.active)return;let t=e.installing||e.waiting;t&&t.state!==`activated`&&await H(new Promise(e=>{let n=()=>{t.state===`activated`&&(t.removeEventListener(`statechange`,n),e())};t.addEventListener(`statechange`,n),n()}),15e3,`Service worker activation timed out`)},W=async()=>{if(typeof navigator.serviceWorker.register!=`function`)throw Error(`navigator.serviceWorker.register unavailable`);let e=[{label:`no-options`,opts:null},{label:`scope-root`,opts:{scope:`/`}},{label:`type-classic`,opts:{type:`classic`}},{label:`type-classic-scope`,opts:{type:`classic`,scope:`/`}},{label:`updateViaCache-none`,opts:{type:`classic`,updateViaCache:`none`,scope:`/`}}],t=null;for(let n of e)try{let e=n.opts?navigator.serviceWorker.register(`/sw.js`,n.opts):navigator.serviceWorker.register(`/sw.js`);return await H(e,1e4,`Service worker registration timed out (${n.label})`)}catch(e){t=e}throw t instanceof Error?t:Error(`Service worker registration failed`)},ee=async()=>{if(!(`serviceWorker`in navigator))throw Error(`Service worker not supported`);let e=await navigator.serviceWorker.getRegistration();if(e)return e;let t=await W();try{await t.update()}catch{}return await U(t),t},G=e=>{let t=e,n=[`type=${typeof e}`,`toString=${String(e)}`,`name=${String(t?.name??``)}`,`message=${String(t?.message??``)}`],r=``;try{r=JSON.stringify(e)}catch{}return{summary:n.filter(Boolean).join(` | `),json:r,stack:typeof t?.stack==`string`?t.stack:``}},te=async()=>{let t=h();if(!t?.notifications){Y.error(e(`settings.notifications.page.toast.notificationsApiUnavailable`));return}try{await t.notifications.notifyAgentCompletion({title:e(`settings.notifications.page.testNotification.title`),body:e(`settings.notifications.page.testNotification.body`),tag:`openchamber-test`})?Y.success(e(`settings.notifications.page.toast.testNotificationSent`)):Y.error(e(`settings.notifications.page.toast.testNotificationFailed`))}catch(t){console.error(`Test notification failed:`,t),Y.error(e(`settings.notifications.page.toast.testNotificationFailed`))}},ne=async()=>{if(!M){Y.error(e(`settings.notifications.page.toast.pushUnsupported`));return}let t=h();if(!t?.push){Y.error(e(`settings.notifications.page.toast.pushApiUnavailable`));return}L(!0);try{if(typeof Notification<`u`&&Notification.permission==="default"){let t=await Notification.requestPermission();if(A(t),t!==`granted`){Y.error(e(`settings.notifications.page.toast.permissionDenied.title`),{description:e(`settings.notifications.page.toast.permissionDenied.enableInBrowser`)});return}}if(typeof Notification<`u`&&Notification.permission!==`granted`){Y.error(e(`settings.notifications.page.toast.permissionDenied.title`),{description:e(`settings.notifications.page.toast.permissionDenied.enableInBrowser`)});return}let n=await t.push.getVapidPublicKey();if(!n?.publicKey){Y.error(e(`settings.notifications.page.toast.pushKeyLoadFailed`));return}let r=await ee();await U(r);let i=await r.pushManager.getSubscription();if(!(`pushManager`in r)||!r.pushManager)throw Error(`PushManager unavailable (requires installed PWA + iOS 16.4+)`);let a=(i??await H(r.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:V(n.publicKey)}),15e3,`Push subscription timed out`)).toJSON(),o=a.keys;if(!a.endpoint||!o?.p256dh||!o.auth)throw Error(`Push subscription missing keys`);if(!(await H(t.push.subscribe({endpoint:a.endpoint,keys:{p256dh:o.p256dh,auth:o.auth},origin:typeof window<`u`?window.location.origin:void 0,platform:ge()}),15e3,`Push subscribe request timed out`))?.ok){Y.error(e(`settings.notifications.page.toast.enableBackgroundFailed`));return}F(!0),Y.success(e(`settings.notifications.page.toast.backgroundEnabled`))}catch(t){console.error(`[Push] Enable failed:`,t);let n=G(t);Y.error(e(`settings.notifications.page.toast.enableBackgroundFailed`),{description:n.summary})}finally{L(!1)}},re=async()=>{if(!M){F(!1);return}let t=h();if(!t?.push){Y.error(e(`settings.notifications.page.toast.pushApiUnavailable`));return}L(!0);try{let n=await(await ee()).pushManager.getSubscription();if(!n){F(!1);return}let r=n.endpoint;await n.unsubscribe(),await t.push.unsubscribe({endpoint:r}),F(!1),Y.success(e(`settings.notifications.page.toast.backgroundDisabled`))}finally{L(!1)}},ie=i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`block`,children:e(`settings.notifications.page.delivery.browserPermissionHint`)}),k===`denied`?(0,$.jsx)(`span`,{className:`mt-1 block text-[var(--status-error)]`,children:e(`settings.notifications.page.delivery.permissionDenied`)}):null,k===`granted`&&!a?(0,$.jsx)(`span`,{className:`mt-1 block`,children:e(`settings.notifications.page.delivery.permissionGrantedButDisabled`)}):null]}):n?e(`settings.notifications.page.delivery.vscodeHint`):void 0;return(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[(0,$.jsxs)(Jr,{label:e(`settings.notifications.page.delivery.title`),description:ie,className:`oc-settings-detail-group`,children:[(0,$.jsx)(Zr,{itemId:`notifications.delivery`,checked:a&&z,onChange:e=>{R(e)},label:e(`settings.notifications.page.delivery.enableLabel`),ariaLabel:e(`settings.notifications.page.delivery.enableAria`)}),a&&z&&!r?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Zr,{checked:s===`always`,onChange:e=>c(e?`always`:`hidden-only`),label:e(`settings.notifications.page.delivery.focusedLabel`),ariaLabel:e(`settings.notifications.page.delivery.focusedAria`)}),(0,$.jsx)(`div`,{className:`oc-settings-group-row flex items-center`,children:(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>void te(),children:e(`settings.notifications.page.delivery.testAction`)})})]}):null]}),a&&z?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Jr,{label:e(`settings.notifications.page.events.title`),className:`oc-settings-detail-group`,children:[(0,$.jsx)(Zr,{itemId:`notifications.events`,checked:d,onChange:f,label:e(`settings.notifications.page.events.completionLabel`),ariaLabel:e(`settings.notifications.page.events.completionAria`)}),(0,$.jsx)(Zr,{checked:l,onChange:u,label:e(`settings.notifications.page.events.subtaskLabel`),ariaLabel:e(`settings.notifications.page.events.subtaskAria`)}),(0,$.jsx)(Zr,{checked:p,onChange:m,label:e(`settings.notifications.page.events.errorLabel`),ariaLabel:e(`settings.notifications.page.events.errorAria`)}),(0,$.jsx)(Zr,{checked:g,onChange:_,label:e(`settings.notifications.page.events.questionLabel`),ariaLabel:e(`settings.notifications.page.events.questionAria`)}),(0,$.jsx)(Zr,{checked:v,onChange:y,label:e(`settings.notifications.page.events.permissionLabel`),ariaLabel:e(`settings.notifications.page.events.permissionAria`)}),(0,$.jsx)(Zr,{checked:b,onChange:x,label:e(`settings.notifications.page.events.scheduledTasksLabel`),ariaLabel:e(`settings.notifications.page.events.scheduledTasksAria`)}),(0,$.jsx)(Zr,{checked:S,onChange:C,label:e(`settings.notifications.page.events.assistantsLabel`),ariaLabel:e(`settings.notifications.page.events.assistantsAria`)}),(0,$.jsx)(Zr,{checked:w,onChange:T,label:e(`settings.notifications.page.events.goalsLabel`),ariaLabel:e(`settings.notifications.page.events.goalsAria`)})]}),r?null:(0,$.jsx)(Jr,{label:e(`settings.notifications.page.template.title`),description:(0,$.jsxs)($.Fragment,{children:[e(`settings.notifications.page.template.variablesLabel`),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{project_name}`}),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{worktree}`}),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{branch}`}),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{session_name}`}),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{agent_name}`}),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{model_name}`}),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{last_message}`})]}),className:`oc-settings-detail-group`,children:[`completion`,`subtask`,`error`,`question`].map(t=>(0,$.jsxs)(`div`,{className:`oc-settings-group-row`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label block font-normal text-foreground`,children:e(vm[t])}),(0,$.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-2 md:grid-cols-2 md:gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`label`,{className:`typography-micro mb-1 block text-muted-foreground`,children:e(`settings.notifications.page.template.field.title`)}),(0,$.jsx)(gn,{value:E[t].title,onChange:e=>B(t,`title`,e.target.value),className:`w-full`,placeholder:e(_m[t].titleKey)})]}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`label`,{className:`typography-micro mb-1 block text-muted-foreground`,children:e(`settings.notifications.page.template.field.message`)}),(0,$.jsx)(gn,{value:E[t].message,onChange:e=>B(t,`message`,e.target.value),className:`w-full`,placeholder:e(_m[t].messageKey)})]})]})]},t))})]}):null,i?(0,$.jsx)(Jr,{label:e(`settings.notifications.page.push.title`),className:`oc-settings-detail-group`,children:(0,$.jsxs)(`div`,{"data-settings-item":`notifications.push`,className:`oc-settings-group-row flex items-center gap-2`,children:[(0,$.jsx)(on,{checked:M?P:!1,disabled:!M||I,onChange:e=>{e?ne():re()},ariaLabel:e(`settings.notifications.page.push.enableAria`)}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,$.jsx)(`span`,{className:q(`typography-ui-label`,M?`text-foreground`:`text-muted-foreground`),children:e(`settings.notifications.page.push.enableLabel`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e(M?`settings.notifications.page.push.supportedHint`:`settings.notifications.page.push.unsupportedHint`)})]}),I&&(0,$.jsx)(`div`,{className:`pt-0.5 text-muted-foreground`,children:(0,$.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 rounded-full bg-current animate-busy-pulse`,"aria-label":e(`settings.notifications.page.push.loadingAria`)})})]})}):null]})},bm=e=>{if(!e)return;e.pause();let{src:t}=e;t.startsWith(`blob:`)&&URL.revokeObjectURL(t),e.removeAttribute(`src`),e.load()};function xm(e){let t=(0,Ki.c)(82),{onClose:n}=e,{t:i}=Fe(),[a,o]=(0,Q.useState)(``),[s,c]=(0,Q.useState)(!1),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l={onTranscript:o},t[0]=l):l=t[0];let u=Dr(l),d;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(d=Or(),t[1]=d):d=t[1];let f=d,p=u.status===`recording`,m=u.status===`uploading`,h=u.status===`failed`,g;t[2]!==u||t[3]!==h?(g=()=>{c(!1),o(``),h?u.discardFailedDictation():u.cancelDictation()},t[2]=u,t[3]=h,t[4]=g):g=t[4];let _=Me(g),v;t[5]!==_||t[6]!==n?(v=()=>{_(),n()},t[5]=_,t[6]=n,t[7]=v):v=t[7];let y=Me(v),b,x;t[8]===y?(b=t[9],x=t[10]):(b=()=>r(y),x=[y],t[8]=y,t[9]=b,t[10]=x),(0,Q.useEffect)(b,x);let S;t[11]===_?S=t[12]:(S=()=>{document.visibilityState===`hidden`&&_()},t[11]=_,t[12]=S),Ne(`visibilitychange`,S,document);let C=u.partialTranscript||a,w;t[13]!==u.error||t[14]!==s||t[15]!==m||t[16]!==p||t[17]!==i||t[18]!==C?(w=f?s&&!p&&!m&&!u.error&&!C?i(`settings.voice.volcengine.silence`):``:i(`settings.voice.volcengine.recordingUnsupported`),t[13]=u.error,t[14]=s,t[15]=m,t[16]=p,t[17]=i,t[18]=C,t[19]=w):w=t[19];let T=w,E=h?`chat.dictation.retry`:p?`settings.voice.volcengine.finishRecording`:m?`chat.dictation.processing`:`settings.voice.volcengine.startRecording`,D;t[20]!==i||t[21]!==E?(D=i(E),t[20]=i,t[21]=E,t[22]=D):D=t[22];let O=D,k;t[23]!==u||t[24]!==h||t[25]!==m||t[26]!==p?(k=()=>{if(!(m||!f)){if(h){u.retryFailedDictation();return}if(p){c(!0),u.confirmDictation();return}o(``),c(!1),u.startDictation()}},t[23]=u,t[24]=h,t[25]=m,t[26]=p,t[27]=k):k=t[27];let A=Me(k),j;t[28]===y?j=t[29]:(j=e=>{e||y()},t[28]=y,t[29]=j);let M;t[30]===i?M=t[31]:(M=i(`settings.voice.volcengine.asrTest`),t[30]=i,t[31]=M);let N;t[32]===M?N=t[33]:(N=(0,$.jsx)(nn,{className:`typography-ui-label font-medium`,children:M}),t[32]=M,t[33]=N);let P;t[34]===i?P=t[35]:(P=i(`settings.voice.volcengine.testHelp`),t[34]=i,t[35]=P);let F;t[36]===P?F=t[37]:(F=(0,$.jsx)(rn,{className:`sr-only`,children:P}),t[36]=P,t[37]=F);let I;t[38]!==N||t[39]!==F?(I=(0,$.jsxs)($t,{className:`items-center pt-2 text-center`,children:[N,F]}),t[38]=N,t[39]=F,t[40]=I):I=t[40];let L;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(`circle`,{cx:`72`,cy:`72`,r:`68`,stroke:`currentColor`,strokeWidth:`0.75`,opacity:`0.12`}),t[41]=L):L=t[41];let R=p&&`text-[var(--primary-base)]`,z;t[42]===R?z=t[43]:(z=q(R),t[42]=R,t[43]=z);let B=p?.5:.18,V;t[44]!==z||t[45]!==B?(V=(0,$.jsxs)(`svg`,{viewBox:`0 0 144 144`,className:`pointer-events-none absolute inset-0 size-full text-foreground`,fill:`none`,"aria-hidden":`true`,children:[L,(0,$.jsx)(`circle`,{cx:`72`,cy:`72`,r:`59`,stroke:`currentColor`,strokeWidth:`0.75`,strokeDasharray:`24 161.35`,strokeLinecap:`round`,transform:`rotate(-102 72 72)`,className:z,opacity:B})]}),t[44]=z,t[45]=B,t[46]=V):V=t[46];let H=p&&`text-[var(--primary-base)]`,U;t[47]===H?U=t[48]:(U=q(`relative size-28 max-h-full rounded-full !bg-transparent text-foreground shadow-none transition-transform duration-200 hover:scale-105 active:scale-95 motion-reduce:transform-none motion-reduce:transition-none`,H),t[47]=H,t[48]=U);let W=!f||m,ee=m||h?`refresh`:p?`stop`:`mic`,G=m&&`animate-spin motion-reduce:animate-none`,te;t[49]===G?te=t[50]:(te=q(`size-12`,G),t[49]=G,t[50]=te);let ne;t[51]!==ee||t[52]!==te?(ne=(0,$.jsx)(Z,{name:ee,className:te}),t[51]=ee,t[52]=te,t[53]=ne):ne=t[53];let re;t[54]===O?re=t[55]:(re=(0,$.jsx)(`span`,{className:`sr-only`,children:O}),t[54]=O,t[55]=re);let ie;t[56]!==A||t[57]!==O||t[58]!==p||t[59]!==U||t[60]!==W||t[61]!==ne||t[62]!==re?(ie=(0,$.jsxs)(J,{variant:`ghost`,size:`icon`,className:U,disabled:W,"aria-label":O,"aria-pressed":p,onClick:A,children:[ne,re]}),t[56]=A,t[57]=O,t[58]=p,t[59]=U,t[60]=W,t[61]=ne,t[62]=re,t[63]=ie):ie=t[63];let ae;t[64]!==V||t[65]!==ie?(ae=(0,$.jsxs)(`div`,{className:`relative flex size-36 shrink-0 items-center justify-center`,children:[V,ie]}),t[64]=V,t[65]=ie,t[66]=ae):ae=t[66];let oe;t[67]!==u.error||t[68]!==O||t[69]!==p||t[70]!==T||t[71]!==C?(oe=(0,$.jsx)(`div`,{className:`flex h-12 w-full shrink-0 items-center justify-center overflow-hidden px-2`,children:u.error?(0,$.jsx)(`p`,{role:`alert`,className:`max-h-full overflow-y-auto break-words text-center typography-meta text-[var(--status-error)]`,children:u.error}):(0,$.jsx)(`div`,{role:`log`,"aria-live":`polite`,title:C,className:`line-clamp-2 max-h-full break-words text-center typography-ui-label leading-6 text-muted-foreground`,children:C?p&&C.length>80?`…${C.slice(-80)}`:C:T||O})}),t[67]=u.error,t[68]=O,t[69]=p,t[70]=T,t[71]=C,t[72]=oe):oe=t[72];let se;t[73]!==ae||t[74]!==oe?(se=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-col items-center justify-center gap-3 overflow-y-auto pt-3`,children:[ae,oe]}),t[73]=ae,t[74]=oe,t[75]=se):se=t[75];let ce;t[76]!==I||t[77]!==se?(ce=(0,$.jsxs)(tn,{className:`h-[min(19rem,calc(100dvh-2rem))] grid-rows-[auto_minmax(0,1fr)] gap-0 overflow-hidden rounded-3xl sm:max-w-[22rem]`,children:[I,se]}),t[76]=I,t[77]=se,t[78]=ce):ce=t[78];let le;return t[79]!==j||t[80]!==ce?(le=(0,$.jsx)(an,{open:!0,onOpenChange:j,children:ce}),t[79]=j,t[80]=ce,t[81]=le):le=t[81],le}var Sm=[{value:`seed-tts-2.0`,label:`Seed TTS 2.0`},{value:`seed-icl-2.0`,label:`Seed ICL 2.0`}],Cm=[{value:`zh_female_vv_uranus_bigtts`,label:`Vivi 2.0`},{value:`zh_female_xiaohe_uranus_bigtts`,label:`小何 2.0`},{value:`zh_male_m191_uranus_bigtts`,label:`云舟 2.0`},{value:`zh_male_taocheng_uranus_bigtts`,label:`小天 2.0`},{value:`zh_male_liufei_uranus_bigtts`,label:`刘飞 2.0`},{value:`zh_female_sophie_uranus_bigtts`,label:`魅力苏菲 2.0`},{value:`zh_female_qingxinnvsheng_uranus_bigtts`,label:`清新女声 2.0`},{value:`zh_female_cancan_uranus_bigtts`,label:`知性灿灿 2.0`},{value:`zh_female_sajiaoxuemei_uranus_bigtts`,label:`撒娇学妹 2.0`},{value:`zh_female_tianmeixiaoyuan_uranus_bigtts`,label:`甜美小源 2.0`},{value:`zh_female_tianmeitaozi_uranus_bigtts`,label:`甜美桃子 2.0`},{value:`zh_female_shuangkuaisisi_uranus_bigtts`,label:`爽快思思 2.0`},{value:`zh_female_peiqi_uranus_bigtts`,label:`佩奇猪 2.0`},{value:`zh_female_linjianvhai_uranus_bigtts`,label:`邻家女孩 2.0`},{value:`zh_male_shaonianzixin_uranus_bigtts`,label:`少年梓辛 2.0`},{value:`zh_male_sunwukong_uranus_bigtts`,label:`猴哥 2.0`},{value:`zh_female_yingyujiaoxue_uranus_bigtts`,label:`Tina老师 2.0`},{value:`zh_female_kefunvsheng_uranus_bigtts`,label:`暖阳女声 2.0`},{value:`zh_female_xiaoxue_uranus_bigtts`,label:`儿童绘本 2.0`},{value:`zh_male_dayi_uranus_bigtts`,label:`大壹 2.0`},{value:`zh_female_mizai_uranus_bigtts`,label:`黑猫侦探社咪仔 2.0`},{value:`zh_female_jitangnv_uranus_bigtts`,label:`鸡汤女 2.0`},{value:`zh_female_meilinvyou_uranus_bigtts`,label:`魅力女友 2.0`},{value:`zh_female_liuchangnv_uranus_bigtts`,label:`流畅女声 2.0`},{value:`zh_male_ruyayichen_uranus_bigtts`,label:`儒雅逸辰 2.0`},{value:`en_male_tim_uranus_bigtts`,label:`Tim`},{value:`en_female_dacey_uranus_bigtts`,label:`Dacey`},{value:`en_female_stokie_uranus_bigtts`,label:`Stokie`}],wm=`$custom`,Tm=[{value:`volc.seedasr.sauc.duration`,label:`Seed ASR 2.0 · duration`},{value:`volc.seedasr.sauc.concurrent`,label:`Seed ASR 2.0 · concurrent`},{value:`volc.bigasr.sauc.duration`,label:`Big ASR 1.0 · duration`},{value:`volc.bigasr.sauc.concurrent`,label:`Big ASR 1.0 · concurrent`}];function Em(e){let t=(0,Ki.c)(42),{value:n,onChange:r,options:i,label:a,allowCustom:o,disabled:s}=e,c=o===void 0||o,l=s!==void 0&&s,{t:u}=Fe(),[d,f]=(0,Q.useState)(!1),p;if(t[0]!==i||t[1]!==n){let e;t[3]===n?e=t[4]:(e=e=>e.value===n,t[3]=n,t[4]=e),p=i.some(e),t[0]=i,t[1]=n,t[2]=p}else p=t[2];let m=p,h=c&&(d||!m),g=h?wm:n,_;t[5]===r?_=t[6]:(_=e=>{f(e===wm),e!==wm&&r(e)},t[5]=r,t[6]=_);let v;t[7]!==i||t[8]!==u?(v=(0,$.jsx)(hn,{children:e=>e===wm?u(`settings.voice.volcengine.custom`):i.find(t=>t.value===e)?.label??e}),t[7]=i,t[8]=u,t[9]=v):v=t[9];let y;t[10]!==a||t[11]!==v?(y=(0,$.jsx)(un,{className:`w-full min-w-0`,"aria-label":a,children:v}),t[10]=a,t[11]=v,t[12]=y):y=t[12];let b;t[13]===i?b=t[14]:(b=i.map(Dm),t[13]=i,t[14]=b);let x;t[15]!==c||t[16]!==m||t[17]!==n?(x=!c&&!m&&n&&(0,$.jsx)(cn,{value:n,children:n}),t[15]=c,t[16]=m,t[17]=n,t[18]=x):x=t[18];let S;t[19]!==c||t[20]!==u?(S=c&&(0,$.jsx)(cn,{value:wm,children:u(`settings.voice.volcengine.custom`)}),t[19]=c,t[20]=u,t[21]=S):S=t[21];let C;t[22]!==S||t[23]!==b||t[24]!==x?(C=(0,$.jsxs)(dn,{children:[b,x,S]}),t[22]=S,t[23]=b,t[24]=x,t[25]=C):C=t[25];let w;t[26]!==l||t[27]!==C||t[28]!==g||t[29]!==_||t[30]!==y?(w=(0,$.jsxs)(pn,{disabled:l,value:g,onValueChange:_,children:[y,C]}),t[26]=l,t[27]=C,t[28]=g,t[29]=_,t[30]=y,t[31]=w):w=t[31];let T;t[32]!==h||t[33]!==l||t[34]!==a||t[35]!==r||t[36]!==u||t[37]!==n?(T=h&&(0,$.jsx)(gn,{disabled:l,value:n,onChange:e=>r(e.target.value),"aria-label":`${a} (${u(`settings.voice.volcengine.custom`)})`}),t[32]=h,t[33]=l,t[34]=a,t[35]=r,t[36]=u,t[37]=n,t[38]=T):T=t[38];let E;return t[39]!==w||t[40]!==T?(E=(0,$.jsxs)(`div`,{className:`flex w-full min-w-0 flex-col items-end gap-2`,children:[w,T]}),t[39]=w,t[40]=T,t[41]=E):E=t[41],E}function Dm(e){return(0,$.jsx)(cn,{value:e.value,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(`span`,{className:`break-all typography-meta text-muted-foreground`,children:e.description??e.value})]})},e.value)}function Om(e){let t=(0,Ki.c)(60),{mode:n,form:r}=e,{t:i}=Fe(),a=(0,Q.useRef)(!0),o,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>(a.current=!0,()=>{a.current=!1}),s=[],t[0]=o,t[1]=s):(o=t[0],s=t[1]),(0,Q.useEffect)(o,s);let{values:c,draft:l,saving:u,edit:d,save:f}=r,{voice:p,resourceId:m,asrResourceId:h}=c,g;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g={enabled:!1},t[2]=g):g=t[2];let{speak:_,stop:v,isPlaying:y,error:b}=Wn(g),[x,S]=(0,Q.useState)(!1),C;t[3]!==y||t[4]!==n||t[5]!==f||t[6]!==u||t[7]!==_||t[8]!==v||t[9]!==i?(C=async()=>{if(n===`tts`&&y){v();return}if(u)return;let e=await f();if(!(!e||!a.current)){if(!e.configured){ke.error(i(`settings.providers.page.toast.apiKeyRequired`));return}n===`asr`?S(!0):_(i(`settings.voice.page.preview.voiceLine`,{voiceName:`OpenChamber`}))}},t[3]=y,t[4]=n,t[5]=f,t[6]=u,t[7]=_,t[8]=v,t[9]=i,t[10]=C):C=t[10];let w=C,T=`voice.volcengine-${n}-key`,E;t[11]===i?E=t[12]:(E=i(`settings.voice.page.field.apiKey`),t[11]=i,t[12]=E);let D;t[13]===i?D=t[14]:(D=i(`settings.voice.volcengine.keyHelp`),t[13]=i,t[14]=D);let O;t[15]===i?O=t[16]:(O=i(`settings.voice.volcengine.openLink`),t[15]=i,t[16]=O);let k;t[17]===O?k=t[18]:(k=(0,$.jsx)(`a`,{href:`https://console.volcengine.com/speech/new`,target:`_blank`,rel:`noreferrer`,className:`text-primary underline`,children:O}),t[17]=O,t[18]=k);let A;t[19]!==D||t[20]!==k?(A=(0,$.jsxs)($.Fragment,{children:[D,` `,k]}),t[19]=D,t[20]=k,t[21]=A):A=t[21];let j=c.configured&&l.apiKey===void 0?`••••••••`:`API Key`,M=l.apiKey??``,N;t[22]===d?N=t[23]:(N=e=>d({apiKey:e.target.value}),t[22]=d,t[23]=N);let P;t[24]===i?P=t[25]:(P=i(`settings.voice.page.field.apiKey`),t[24]=i,t[25]=P);let F;t[26]!==u||t[27]!==j||t[28]!==M||t[29]!==N||t[30]!==P?(F=(0,$.jsx)(gn,{type:`password`,autoComplete:`off`,disabled:u,placeholder:j,value:M,onChange:N,"aria-label":P}),t[26]=u,t[27]=j,t[28]=M,t[29]=N,t[30]=P,t[31]=F):F=t[31];let I;t[32]!==A||t[33]!==F||t[34]!==T||t[35]!==E?(I=(0,$.jsx)(Yr,{itemId:T,label:E,description:A,children:F}),t[32]=A,t[33]=F,t[34]=T,t[35]=E,t[36]=I):I=t[36];let L;t[37]!==d||t[38]!==b||t[39]!==y||t[40]!==n||t[41]!==m||t[42]!==u||t[43]!==i||t[44]!==w||t[45]!==p?(L=n===`tts`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{itemId:`voice.volcengine-resource`,label:i(`settings.voice.volcengine.resource`),children:(0,$.jsx)(Em,{value:m,disabled:u,onChange:e=>d({resourceId:e}),options:Sm,label:i(`settings.voice.volcengine.resource`)})}),(0,$.jsx)(Yr,{itemId:`voice.volcengine-speaker`,label:i(`settings.voice.volcengine.speaker`),children:(0,$.jsx)(Em,{value:p,disabled:u,onChange:e=>d({voice:e}),options:m===`seed-tts-2.0`?Cm:[],label:i(`settings.voice.volcengine.speaker`)},m)}),(0,$.jsxs)(Yr,{label:i(`settings.voice.page.actions.preview`),children:[(0,$.jsx)(J,{variant:`outline`,size:`sm`,disabled:!y&&u,"aria-busy":u,onClick:()=>void w(),children:i(y?`settings.voice.volcengine.stop`:`settings.voice.page.actions.preview`)}),b&&(0,$.jsx)(`span`,{role:`alert`,className:`text-[var(--status-error)]`,children:b})]})]}),t[37]=d,t[38]=b,t[39]=y,t[40]=n,t[41]=m,t[42]=u,t[43]=i,t[44]=w,t[45]=p,t[46]=L):L=t[46];let R;t[47]!==h||t[48]!==d||t[49]!==n||t[50]!==u||t[51]!==c.asrContext||t[52]!==i||t[53]!==w||t[54]!==x?(R=n===`asr`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{itemId:`voice.volcengine-asr-resource`,label:i(`settings.voice.volcengine.asrResource`),children:(0,$.jsx)(Em,{value:h,disabled:u,onChange:e=>d({asrResourceId:e}),options:Tm.map(e=>({...e,description:i(e.value.endsWith(`.duration`)?`settings.voice.volcengine.durationHelp`:`settings.voice.volcengine.concurrentHelp`)})),label:i(`settings.voice.volcengine.asrResource`),allowCustom:!1})}),(0,$.jsx)(Yr,{itemId:`voice.volcengine-asr-context`,className:`oc-settings-split-row-stacked`,label:i(`settings.voice.volcengine.asrContext`),description:i(`settings.voice.volcengine.asrContextHelp`),children:(0,$.jsx)(jr,{rows:5,maxLength:2e3,disabled:u,value:c.asrContext,onChange:e=>d({asrContext:e.target.value}),"aria-label":i(`settings.voice.volcengine.asrContext`)})}),(0,$.jsx)(Yr,{itemId:`voice.volcengine-asr-test`,label:i(`settings.voice.volcengine.asrTest`),description:i(`settings.voice.volcengine.testHelp`),children:(0,$.jsx)(J,{variant:`outline`,size:`sm`,disabled:u,"aria-busy":u,onClick:()=>void w(),children:i(`settings.voice.volcengine.asrTest`)})}),x&&(0,$.jsx)(xm,{onClose:()=>S(!1)})]}),t[47]=h,t[48]=d,t[49]=n,t[50]=u,t[51]=c.asrContext,t[52]=i,t[53]=w,t[54]=x,t[55]=R):R=t[55];let z;return t[56]!==I||t[57]!==L||t[58]!==R?(z=(0,$.jsxs)($.Fragment,{children:[I,L,R]}),t[56]=I,t[57]=L,t[58]=R,t[59]=z):z=t[59],z}function km(e){let{t}=Fe(),[n,r]=(0,Q.useState)({}),a=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>(a.current=!0,()=>{a.current=!1}),[]);let s=Te({mutationFn:({patch:e,generation:t,transport:n})=>yr(e,t,n),networkMode:`always`,retry:!1,gcTime:0}),c=async()=>{if(s.isPending)return null;let e=o(),c=n;try{let t=await s.mutateAsync({patch:n,generation:e,transport:i()});return!a.current||e!==o()?null:(r(e=>e===c?{}:Object.fromEntries(Object.entries(e).filter(([e,t])=>!Object.is(t,c[e])))),t)}catch{return a.current&&e===o()&&ke.error(t(`settings.voice.volcengine.saveFailed`)),null}finally{s.reset()}};return{values:{...e,...n},draft:n,saving:s.isPending,edit:e=>r(t=>({...t,...e})),save:c}}var Am=[{id:`parakeet-tdt-0.6b-v2-int8`,labelKey:`settings.voice.page.stt.model.parakeetV2`,badgeKey:`settings.voice.page.stt.badge.bestForEnglish`,accuracy:5,speed:5,size:`460 MB`},{id:`parakeet-tdt-0.6b-v3-int8`,labelKey:`settings.voice.page.stt.model.parakeetV3`,badgeKey:`settings.voice.page.stt.badge.bestForMultilingual`,accuracy:5,speed:4,size:`465 MB`},{id:`whisper-base-int8`,labelKey:`settings.voice.page.stt.model.whisperBase`,badgeKey:null,accuracy:3,speed:3,size:`200 MB`},{id:`whisper-tiny-int8`,labelKey:`settings.voice.page.stt.model.whisperTiny`,badgeKey:null,accuracy:2,speed:4,size:`115 MB`}],jm=e=>{let t=(0,Ki.c)(8),{value:n,label:r}=e,i=`${r}: ${n}/5`,a=`${n/5*100}%`,o;t[0]===a?o=t[1]:(o=(0,$.jsx)(`span`,{className:`h-1.5 w-12 flex-shrink-0 overflow-hidden rounded-full bg-[var(--interactive-border)]`,"aria-hidden":`true`,children:(0,$.jsx)(`span`,{className:`block h-full rounded-full bg-[var(--primary-base)]`,style:{width:a}})}),t[0]=a,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,$.jsx)(`span`,{className:`typography-ui-compact text-muted-foreground`,children:r}),t[2]=r,t[3]=s);let c;return t[4]!==i||t[5]!==o||t[6]!==s?(c=(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,title:i,children:[o,s]}),t[4]=i,t[5]=o,t[6]=s,t[7]=c):c=t[7],c},Mm=({selectedModelId:e,onSelect:t})=>{let{t:n}=Fe(),r=(0,Q.useCallback)(e=>n(e),[n]),[i,a]=(0,Q.useState)(new Map),[o,s]=(0,Q.useState)(null),c=(0,Q.useCallback)(async()=>{try{let e=await l(`/api/dictation/status`,{query:{provider:`local`}});if(!e.ok)return;let t=await e.json();Array.isArray(t?.models)&&a(new Map(t.models.map(e=>[e.id,e])))}catch{}},[]);(0,Q.useEffect)(()=>{c()},[c]);let u=Array.from(i.values()).some(e=>e.downloading);(0,Q.useEffect)(()=>{if(!u)return;let e=setInterval(()=>{c()},2e3);return()=>clearInterval(e)},[u,c]);let d=async e=>{s(e);try{await l(`/api/dictation/models/${encodeURIComponent(e)}/download`,{method:`POST`}),await c()}catch{}finally{s(null)}},f=async e=>{s(e);try{await l(`/api/dictation/models/${encodeURIComponent(e)}`,{method:`DELETE`}),await c()}catch{}finally{s(null)}};return(0,$.jsx)(`div`,{role:`radiogroup`,"aria-label":n(`settings.voice.page.field.model`),className:`mt-1 w-full min-w-0 space-y-0`,children:Am.map(a=>{let s=e===a.id,c=i.get(a.id)??null;return(0,$.jsxs)(`div`,{className:`flex w-full items-start gap-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`pt-0.5`,children:(0,$.jsx)(ec,{checked:s,onChange:()=>t(a.id),ariaLabel:r(a.labelKey)})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 cursor-pointer`,role:`button`,tabIndex:0,onClick:()=>t(a.id),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),t(a.id))},children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-0.5`,children:[(0,$.jsx)(`span`,{className:q(`typography-ui-label font-normal`,s?`text-foreground`:`text-foreground/50`),children:r(a.labelKey)}),a.badgeKey?(0,$.jsx)(`span`,{className:`rounded px-1 text-[9px] font-medium uppercase leading-[14px] tracking-wide`,style:{backgroundColor:`var(--status-success-background)`,color:`var(--status-success)`,border:`1px solid var(--status-success-border)`},children:r(a.badgeKey)}):null]}),(0,$.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-4 gap-y-0.5`,children:[(0,$.jsx)(jm,{value:a.accuracy,label:n(`settings.voice.page.stt.meta.accuracy`)}),(0,$.jsx)(jm,{value:a.speed,label:n(`settings.voice.page.stt.meta.speed`)}),(0,$.jsx)(`span`,{className:`typography-ui-compact tabular-nums text-muted-foreground`,children:a.size})]}),c?.downloadError?(0,$.jsx)(`p`,{className:`mt-0.5 typography-meta text-[var(--status-error)]`,children:c.downloadError}):null]}),(0,$.jsx)(`div`,{className:`flex w-14 flex-shrink-0 items-center justify-end gap-1 pt-0.5`,children:c?.installed?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`h-6 w-6 p-0 text-muted-foreground hover:text-[var(--status-error)]`,disabled:o===a.id,onClick:()=>{f(a.id)},title:n(`settings.voice.page.stt.modelDelete`),"aria-label":n(`settings.voice.page.stt.modelDelete`),children:(0,$.jsx)(Z,{name:`delete-bin`,className:`h-4 w-4`})}),(0,$.jsx)(Z,{name:`checkbox-circle`,className:`h-4 w-4 flex-shrink-0 text-[var(--status-success)]`,"aria-label":n(`settings.voice.page.stt.modelInstalled`)})]}):c?.downloading?(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground`}),(0,$.jsx)(`span`,{className:`typography-ui-compact tabular-nums text-muted-foreground`,children:typeof c.downloadProgress==`number`?`${c.downloadProgress}%`:``})]}):(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`h-6 w-6 p-0`,disabled:o===a.id,onClick:()=>{d(a.id)},title:n(`settings.voice.page.stt.modelDownload`),"aria-label":n(`settings.voice.page.stt.modelDownload`),children:(0,$.jsx)(Z,{name:`download`,className:`h-4 w-4`})})})]},a.id)})})},Nm=[{id:0,label:`Alloy (af)`},{id:1,label:`Bella (af)`},{id:2,label:`Nicole (af)`},{id:3,label:`Sarah (af)`},{id:4,label:`Sky (af)`},{id:5,label:`Adam (am)`},{id:6,label:`Michael (am)`},{id:7,label:`Emma (bf)`},{id:8,label:`Isabella (bf)`},{id:9,label:`George (bm)`},{id:10,label:`Lewis (bm)`}],Pm=`kokoro-en-v0_19`,Fm=()=>{let{t:e}=Fe(),[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(!1),a=(0,Q.useCallback)(async()=>{try{let e=await l(`/api/dictation/status`,{query:{provider:`local`}});if(!e.ok)return;let t=await e.json(),r=Array.isArray(t?.ttsModels)?t.ttsModels.find(e=>e.id===Pm):null;r&&n(r)}catch{}},[]);(0,Q.useEffect)(()=>{a()},[a]),(0,Q.useEffect)(()=>{if(!t?.downloading)return;let e=setInterval(()=>{a()},2e3);return()=>clearInterval(e)},[t?.downloading,a]);let o=async e=>{i(!0);try{await l(e===`POST`?`/api/dictation/models/${Pm}/download`:`/api/dictation/models/${Pm}`,{method:e}),await a()}catch{}finally{i(!1)}};return t?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:`Kokoro`}),(0,$.jsx)(`span`,{className:`typography-ui-compact tabular-nums text-muted-foreground`,children:`305 MB`}),t.installed?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`checkbox-circle`,className:`h-4 w-4 text-[var(--status-success)]`,"aria-label":e(`settings.voice.page.stt.modelInstalled`)}),(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`h-6 w-6 p-0 text-muted-foreground hover:text-[var(--status-error)]`,disabled:r,onClick:()=>{o(`DELETE`)},title:e(`settings.voice.page.stt.modelDelete`),"aria-label":e(`settings.voice.page.stt.modelDelete`),children:(0,$.jsx)(Z,{name:`delete-bin`,className:`h-4 w-4`})})]}):t.downloading?(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground`}),(0,$.jsx)(`span`,{className:`typography-ui-compact tabular-nums text-muted-foreground`,children:typeof t.downloadProgress==`number`?`${t.downloadProgress}%`:``})]}):(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`h-6 w-6 p-0`,disabled:r,onClick:()=>{o(`POST`)},title:e(`settings.voice.page.stt.modelDownload`),"aria-label":e(`settings.voice.page.stt.modelDownload`),children:(0,$.jsx)(Z,{name:`download`,className:`h-4 w-4`})}),t.downloadError?(0,$.jsx)(`span`,{className:`typography-meta text-[var(--status-error)]`,children:t.downloadError}):null]}):null},Im=[{value:`alloy`,label:`Alloy`},{value:`ash`,label:`Ash`},{value:`ballad`,label:`Ballad`},{value:`coral`,label:`Coral`},{value:`echo`,label:`Echo`},{value:`fable`,label:`Fable`},{value:`nova`,label:`Nova`},{value:`onyx`,label:`Onyx`},{value:`sage`,label:`Sage`},{value:`shimmer`,label:`Shimmer`},{value:`verse`,label:`Verse`},{value:`marin`,label:`Marin`},{value:`cedar`,label:`Cedar`}],Lm=()=>{let e=(0,Ki.c)(2),t=(0,Q.useSyncExternalStore)(r,o,o),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(Rm,{},t),e[0]=t,e[1]=n),n};function Rm(){let e=(0,Ki.c)(8),{t}=Fe(),n=hr(),r;e[0]!==n||e[1]!==t?(r=n.isError&&(0,$.jsx)(Yr,{label:t(`settings.voice.volcengine.loadFailed`),children:(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:()=>void n.refetch(),children:t(`settings.voice.volcengine.retry`)})}),e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=n.data??Mt,a;e[3]===i?a=e[4]:(a=(0,$.jsx)(zm,{settings:i}),e[3]=i,e[4]=a);let o;return e[5]!==r||e[6]!==a?(o=(0,$.jsxs)($.Fragment,{children:[r,a]}),e[5]=r,e[6]=a,e[7]=o):o=e[7],o}var zm=({settings:e})=>{let{t}=Fe(),{isMobile:n}=Tr(),r=km(e),i=km(e),{voiceProvider:a,speechRate:o,speechPitch:s,speechVolume:c,sayVoice:u,localTtsVoiceId:d,browserVoice:f,openaiVoice:p,openaiApiKey:m,openaiCompatibleUrl:h,openaiCompatibleApiKey:g,openaiCompatibleVoice:_,openaiCompatibleTtsModel:v,showMessageTTSButtons:y,ttsInputMode:b}=r.values,{sttProvider:x,sttServerUrl:S,sttApiKey:C,sttModel:w,sttLocalModel:T,sttLanguage:E,dictationEnabled:D}=i.values,O=e=>r.edit({voiceProvider:e}),k=e=>r.edit({speechRate:e}),A=e=>r.edit({speechPitch:e}),j=e=>r.edit({speechVolume:e}),M=e=>r.edit({sayVoice:e}),N=e=>r.edit({localTtsVoiceId:e}),P=e=>r.edit({browserVoice:e}),F=e=>r.edit({openaiVoice:e}),I=e=>r.edit({openaiApiKey:e}),L=e=>r.edit({openaiCompatibleUrl:e}),R=e=>r.edit({openaiCompatibleApiKey:e}),z=e=>r.edit({openaiCompatibleVoice:e}),B=e=>r.edit({openaiCompatibleTtsModel:e}),V=e=>r.edit({ttsInputMode:e}),H=e=>r.edit({showMessageTTSButtons:e}),U=e=>i.edit({dictationEnabled:e}),W=e=>i.edit({sttProvider:e}),ee=e=>i.edit({sttServerUrl:e}),G=e=>i.edit({sttApiKey:e}),te=e=>i.edit({sttModel:e}),ne=e=>i.edit({sttLocalModel:e}),re=e=>i.edit({sttLanguage:e}),{speak:ie,stop:ae,isPlaying:oe,error:se}=Sn(),ce=Me(async()=>{if(oe){ae();return}if(!await r.save())return;let e=Nm.find(e=>e.id===d)?.label??String(d);ie(t(`settings.voice.page.preview.voiceLine`,{voiceName:e}))}),[le,ue]=(0,Q.useState)(!1),[de,fe]=(0,Q.useState)([]),[pe,me]=(0,Q.useState)(!1),[he,ge]=(0,Q.useState)(null),[_e,ve]=(0,Q.useState)(!1),[ye,K]=(0,Q.useState)(!1),[be,xe]=(0,Q.useState)(null),[Se,Ce]=(0,Q.useState)(!1),[we,Te]=(0,Q.useState)(null),[Ee,De]=(0,Q.useState)([]),[Oe,ke]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>((async()=>{let e=await Cr.waitForVoices();De(e)})(),`speechSynthesis`in window&&(window.speechSynthesis.onvoiceschanged=()=>{De(window.speechSynthesis.getVoices())}),()=>{`speechSynthesis`in window&&(window.speechSynthesis.onvoiceschanged=null)}),[]);let Ae=(0,Q.useMemo)(()=>Ee.filter(e=>e.lang).sort((e,t)=>{let n=e.lang.startsWith(`en`),r=t.lang.startsWith(`en`);if(n&&!r)return-1;if(!n&&r)return 1;let i=e.lang.localeCompare(t.lang);return i===0?e.name.localeCompare(t.name):i}),[Ee]),je=Me(async()=>{if(Oe){Cr.cancelSpeech(),ke(!1);return}if(!await r.save())return;let e=Ee.find(e=>e.name===f),n=e?.name??t(`settings.voice.page.preview.browserVoiceFallback`),i=t(`settings.voice.page.preview.voiceLine`,{voiceName:n});ke(!0);let a=new SpeechSynthesisUtterance(i);a.rate=o,a.pitch=s,a.volume=c,e&&(a.voice=e,a.lang=e.lang),a.onend=()=>ke(!1),a.onerror=()=>ke(!1),window.speechSynthesis.cancel(),window.speechSynthesis.speak(a)});(0,Q.useEffect)(()=>()=>{Oe&&Cr.cancelSpeech()},[Oe]),(0,Q.useEffect)(()=>{if(!y||a!==`openai`&&a!==`openai-compatible`){ve(m.trim().length>0||e.openaiApiKeyConfigured);return}(async()=>{try{let t=(await(await l(`/api/tts/status`)).json()).available,n=m.trim().length>0||e.openaiApiKeyConfigured;ve(t||n)}catch{ve(m.trim().length>0||e.openaiApiKeyConfigured)}})()},[m,e.openaiApiKeyConfigured,y,a]),(0,Q.useEffect)(()=>{if(!y){ue(!1),fe([]);return}l(`/api/tts/say/status`).then(e=>e.json()).then(e=>{if(ue(e.available),e.voices){let t=e.voices.filter((e,t,n)=>n.findIndex(t=>t.name===e.name)===t).sort((e,t)=>e.name.localeCompare(t.name));fe(t)}}).catch(()=>{ue(!1)})},[y]);let Ne=Me(async()=>{if(he){bm(he),ge(null),me(!1);return}if(!await r.save())return;me(!0);let e=null;try{let n=await l(`/api/tts/say/speak`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:t(`settings.voice.page.preview.voiceLine`,{voiceName:u})})});if(!n.ok)throw Error(`Preview failed`);let r=await n.blob(),i=URL.createObjectURL(r);e=new Audio(i),e.onended=()=>{bm(e),ge(null),me(!1)},e.onerror=()=>{bm(e),ge(null),me(!1)},ge(e),await e.play()}catch{bm(e),ge(null),me(!1)}});(0,Q.useEffect)(()=>()=>{bm(he)},[he]);let Pe=Me(async()=>{if(be){bm(be),xe(null),K(!1);return}if(!await r.save())return;K(!0);let e=null;try{let n=await l(`/api/tts/speak`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:t(`settings.voice.page.preview.voiceLine`,{voiceName:p})})});if(!n.ok){let e=await n.json().catch(()=>({error:`Unknown error`}));throw Error(e.error||`HTTP ${n.status}`)}let r=await n.blob(),i=URL.createObjectURL(r);e=new Audio(i),e.onended=()=>{bm(e),xe(null),K(!1)},e.onerror=()=>{bm(e),xe(null),K(!1)},xe(e),await e.play()}catch{bm(e),xe(null),K(!1)}});(0,Q.useEffect)(()=>()=>{bm(be)},[be]);let Ie=Me(async()=>{if(we){bm(we),Te(null),Ce(!1);return}if(!h.trim()||!await r.save())return;Ce(!0);let e=null;try{let n=await l(`/api/tts/speak`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:t(`settings.voice.page.preview.customServerLine`)})});if(!n.ok){let e=await n.json().catch(()=>({error:`Unknown error`}));throw Error(e.error||`HTTP ${n.status}`)}let r=await n.blob(),i=URL.createObjectURL(r);e=new Audio(i),e.onended=()=>{bm(e),Te(null),Ce(!1)},e.onerror=()=>{bm(e),Te(null),Ce(!1)},Te(e),await e.play()}catch{bm(e),Te(null),Ce(!1)}});(0,Q.useEffect)(()=>()=>{bm(we)},[we]);let Le=`flex-1 min-w-0 h-1.5 bg-[var(--interactive-border)] rounded-full appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-[var(--primary-base)] [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-[var(--primary-base)] [&::-moz-range-thumb]:border-0 disabled:opacity-50`;return(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground`,children:t(`settings.page.voice.title`)})}),(0,$.jsx)(`div`,{"data-settings-item":`voice.playback`,children:(0,$.jsxs)(Jr,{label:t(`settings.voice.page.section.playbackAndSummary`),children:[(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.messageReadAloudButton`),children:(0,$.jsx)(on,{checked:y,onChange:H,ariaLabel:t(`settings.voice.page.field.messageReadAloudButtonAria`)})}),y&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:t(`settings.voice.page.field.provider`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:(0,$.jsxs)(`ul`,{className:`space-y-1`,children:[(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:t(`settings.voice.page.provider.browser`)}),` `,t(`settings.voice.page.tooltip.browser`)]}),(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:t(`settings.voice.page.provider.local`)}),` `,t(`settings.voice.page.tooltip.localTts`)]}),(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:`OpenAI:`}),` `,t(`settings.voice.page.tooltip.openai`)]}),(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:t(`settings.voice.page.provider.custom`)}),` `,t(`settings.voice.page.tooltip.custom`)]}),(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:t(`settings.voice.page.provider.say`)}),` `,t(`settings.voice.page.tooltip.say`)]})]})})]})]}),children:(0,$.jsxs)(pn,{value:a,onValueChange:e=>{(e===`browser`||e===`local`||e===`openai`||e===`openai-compatible`||e===`volcengine`||e===`say`&&le)&&O(e)},children:[(0,$.jsx)(un,{"aria-label":t(`settings.voice.page.field.provider`),children:(0,$.jsx)(hn,{children:{browser:t(`settings.voice.page.provider.browser`),volcengine:t(`settings.voice.volcengine.providerOption`),local:t(`settings.voice.page.provider.local`),openai:`OpenAI`,"openai-compatible":t(`settings.voice.page.provider.custom`),say:t(`settings.voice.page.provider.say`)}[a]})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`browser`,children:t(`settings.voice.page.provider.browser`)}),(0,$.jsx)(cn,{value:`volcengine`,children:t(`settings.voice.volcengine.providerOption`)}),(0,$.jsx)(cn,{value:`local`,children:t(`settings.voice.page.provider.local`)}),(0,$.jsx)(cn,{value:`openai`,children:`OpenAI`}),(0,$.jsx)(cn,{value:`openai-compatible`,children:t(`settings.voice.page.provider.custom`)}),le&&(0,$.jsx)(cn,{value:`say`,children:t(`settings.voice.page.provider.say`)})]})]})}),a===`volcengine`&&(0,$.jsx)(Om,{mode:`tts`,form:r}),a===`openai`&&(0,$.jsx)(Yr,{label:(0,$.jsx)(`span`,{className:q(!_e&&`text-[var(--status-error)]`),children:t(`settings.voice.page.field.apiKey`)}),description:(0,$.jsx)(`span`,{className:q(!_e&&`text-[var(--status-error)]/80`),children:t(_e&&!m?`settings.voice.page.field.apiKeyHintUsingConfig`:_e?`settings.voice.page.field.apiKeyHintProvide`:`settings.voice.page.field.apiKeyHintRequired`)}),children:(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(gn,{type:`password`,value:m,onChange:e=>I(e.target.value),placeholder:e.openaiApiKeyConfigured&&r.draft.openaiApiKey===void 0?`••••••••`:`sk-...`,className:`w-full pr-8`}),m&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>I(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Z,{name:`close`,className:`w-3.5 h-3.5`})})]})}),a===`openai-compatible`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{label:(0,$.jsx)(`span`,{className:q(!h.trim()&&`text-[var(--status-error)]`),children:t(`settings.voice.page.field.serverUrl`)}),description:t(`settings.voice.page.field.serverUrlHint`),children:(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(gn,{type:`text`,value:h,onChange:e=>L(e.target.value),placeholder:`http://localhost:8880/v1`,className:`w-full pr-8`}),h&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>L(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Z,{name:`close`,className:`w-3.5 h-3.5`})})]})}),(0,$.jsx)(Yr,{label:`API Key`,description:`Optional`,children:(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(gn,{type:`password`,value:g,onChange:e=>R(e.target.value),placeholder:e.openaiCompatibleApiKeyConfigured&&r.draft.openaiCompatibleApiKey===void 0?`••••••••`:`sk-...`,className:`w-full pr-8`}),g&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>R(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Z,{name:`close`,className:`w-3.5 h-3.5`})})]})}),(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.model`),children:(0,$.jsx)(`div`,{className:`relative w-full`,children:(0,$.jsx)(gn,{type:`text`,value:v,onChange:e=>B(e.target.value),placeholder:`speaches-ai/Kokoro-82M-v1.0-ONNX`,className:`w-full`})})}),(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.voice`),description:t(`settings.voice.page.field.voiceIdentifierHint`),children:(0,$.jsxs)(`div`,{className:`flex w-full items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`relative min-w-0 flex-1`,children:(0,$.jsx)(gn,{type:`text`,value:_,onChange:e=>z(e.target.value),placeholder:`af_sky`,className:`w-full`})}),(0,$.jsx)(J,{size:`xs`,variant:`ghost`,onClick:Ie,title:t(`settings.voice.page.actions.preview`),disabled:!h.trim(),children:Se?(0,$.jsx)(Z,{name:`stop`,className:`w-3.5 h-3.5`}):(0,$.jsx)(Z,{name:`play`,className:`w-3.5 h-3.5`})})]})})]}),a===`local`&&(0,$.jsx)(Fm,{}),a!==`volcengine`&&(0,$.jsxs)(Yr,{label:t(`settings.voice.page.field.voice`),children:[a===`local`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(pn,{value:String(d),onValueChange:e=>N(Number.parseInt(e,10)||0),children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:t(`settings.voice.page.field.selectVoicePlaceholder`),children:e=>Nm.find(t=>String(t.id)===e)?.label??e})}),(0,$.jsx)(dn,{children:Nm.map(e=>(0,$.jsx)(cn,{value:String(e.id),children:e.label},e.id))})]}),(0,$.jsx)(J,{size:`xs`,variant:`ghost`,onClick:ce,title:t(`settings.voice.page.actions.preview`),children:oe?(0,$.jsx)(Z,{name:`stop`,className:`w-3.5 h-3.5`}):(0,$.jsx)(Z,{name:`play`,className:`w-3.5 h-3.5`})}),se?(0,$.jsx)(`span`,{className:`typography-meta text-[var(--status-error)]`,children:se}):null]}),a===`openai`&&_e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(pn,{value:p,onValueChange:F,children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:t(`settings.voice.page.field.selectVoicePlaceholder`)})}),(0,$.jsx)(dn,{children:Im.map(e=>(0,$.jsx)(cn,{value:e.value,children:e.label},e.value))})]}),(0,$.jsx)(J,{size:`xs`,variant:`ghost`,onClick:Pe,title:t(`settings.voice.page.actions.preview`),children:ye?(0,$.jsx)(Z,{name:`stop`,className:`w-3.5 h-3.5`}):(0,$.jsx)(Z,{name:`play`,className:`w-3.5 h-3.5`})})]}),a===`openai-compatible`&&(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:t(`settings.voice.page.field.configuredAbove`)}),a===`say`&&le&&de.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(pn,{value:u,onValueChange:M,children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:t(`settings.voice.page.field.selectVoicePlaceholder`)})}),(0,$.jsx)(dn,{children:de.map(e=>(0,$.jsx)(cn,{value:e.name,children:e.name},e.name))})]}),(0,$.jsx)(J,{size:`xs`,variant:`ghost`,onClick:Ne,title:t(`settings.voice.page.actions.preview`),children:pe?(0,$.jsx)(Z,{name:`stop`,className:`w-3.5 h-3.5`}):(0,$.jsx)(Z,{name:`play`,className:`w-3.5 h-3.5`})})]}),a===`browser`&&Ae.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(pn,{value:f||`$auto`,onValueChange:e=>P(e===`$auto`?``:e),children:[(0,$.jsx)(un,{className:`w-fit max-w-[200px]`,children:(0,$.jsx)(hn,{placeholder:t(`settings.voice.page.field.auto`)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`$auto`,children:t(`settings.voice.page.field.auto`)}),Ae.map(e=>(0,$.jsxs)(cn,{value:e.name,children:[e.name,` (`,e.lang,`)`]},e.name))]})]}),(0,$.jsx)(J,{size:`xs`,variant:`ghost`,onClick:je,title:t(`settings.voice.page.actions.preview`),children:Oe?(0,$.jsx)(Z,{name:`stop`,className:`w-3.5 h-3.5`}):(0,$.jsx)(Z,{name:`play`,className:`w-3.5 h-3.5`})})]})]}),(0,$.jsxs)(Yr,{label:t(`settings.voice.page.field.speechRate`),children:[!n&&(0,$.jsx)(`input`,{type:`range`,min:.5,max:2,step:.1,value:o,onChange:e=>k(Number(e.target.value)),className:Le}),(0,$.jsx)(yi,{value:o,onValueChange:k,min:.5,max:2,step:.1,className:`w-16 tabular-nums`})]}),(0,$.jsxs)(Yr,{label:t(`settings.voice.page.field.speechPitch`),children:[!n&&(0,$.jsx)(`input`,{type:`range`,min:.5,max:2,step:.1,value:s,onChange:e=>A(Number(e.target.value)),className:Le}),(0,$.jsx)(yi,{value:s,onValueChange:A,min:.5,max:2,step:.1,className:`w-16 tabular-nums`})]}),(0,$.jsxs)(Yr,{label:t(`settings.voice.page.field.speechVolume`),children:[!n&&(0,$.jsx)(`input`,{type:`range`,min:0,max:1,step:.1,value:c,onChange:e=>j(Number(e.target.value)),className:Le}),n?(0,$.jsx)(yi,{value:Math.round(c*100),onValueChange:e=>j(e/100),min:0,max:100,step:10,className:`w-16 tabular-nums`}):(0,$.jsxs)(`span`,{className:`typography-ui-label text-foreground tabular-nums min-w-[3rem] text-right`,children:[Math.round(c*100),`%`]})]}),(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.ttsInputMode`),children:(0,$.jsxs)(pn,{value:b,onValueChange:e=>{(e===`final`||e===`sanitized`||e===`raw`||e===`summarized`)&&V(e)},children:[(0,$.jsx)(un,{className:`w-fit max-w-full`,"aria-label":t(`settings.voice.page.field.ttsInputMode`),children:(0,$.jsx)(hn,{children:()=>t(b===`final`?`settings.voice.page.field.ttsInputModeFinal`:b===`raw`?`settings.voice.page.field.ttsInputModeRaw`:b===`summarized`?`settings.voice.page.field.ttsInputModeSummarized`:`settings.voice.page.field.ttsInputModeSanitized`)})}),(0,$.jsx)(dn,{children:[[`final`,`settings.voice.page.field.ttsInputModeFinal`,`settings.voice.page.field.ttsInputModeFinalDescription`],[`sanitized`,`settings.voice.page.field.ttsInputModeSanitized`,`settings.voice.page.field.ttsInputModeSanitizedDescription`],[`raw`,`settings.voice.page.field.ttsInputModeRaw`,`settings.voice.page.field.ttsInputModeRawDescription`],[`summarized`,`settings.voice.page.field.ttsInputModeSummarized`,`settings.voice.page.field.ttsInputModeSummarizedDescription`]].map(([e,n,r])=>(0,$.jsx)(cn,{value:e,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1 text-left`,children:[(0,$.jsx)(`span`,{children:t(n)}),(0,$.jsx)(`span`,{className:`max-w-64 whitespace-normal typography-meta text-muted-foreground`,children:t(r)})]})},e))})]})})]}),(0,$.jsx)(`div`,{className:`oc-settings-group-row flex justify-end`,children:(0,$.jsx)(J,{size:`sm`,"aria-busy":r.saving,onClick:()=>{r.saving||r.save()},children:t(`settings.voice.volcengine.save`)})})]})}),(0,$.jsx)(`div`,{"data-settings-item":`voice.speech-recognition`,children:(0,$.jsxs)(Jr,{label:t(`settings.voice.page.section.speechRecognition`),children:[(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.enableVoiceInput`),children:(0,$.jsx)(on,{checked:D,onChange:U,ariaLabel:t(`settings.voice.page.field.enableVoiceInputAria`)})}),D&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:t(`settings.voice.page.field.provider`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:(0,$.jsxs)(`ul`,{className:`space-y-1`,children:[(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:t(`settings.voice.page.provider.local`)}),` `,t(`settings.voice.page.tooltip.sttLocal`)]}),(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:t(`settings.voice.page.provider.server`)}),` `,t(`settings.voice.page.tooltip.sttServer`)]})]})})]})]}),children:(0,$.jsxs)(pn,{value:x,onValueChange:e=>{(e===`local`||e===`openai-compatible`||e===`volcengine`)&&W(e)},children:[(0,$.jsx)(un,{"aria-label":t(`settings.voice.page.field.provider`),children:(0,$.jsx)(hn,{children:{local:t(`settings.voice.page.provider.local`),volcengine:t(`settings.voice.volcengine.providerOption`),"openai-compatible":t(`settings.voice.page.provider.server`)}[x]})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`local`,children:t(`settings.voice.page.provider.local`)}),(0,$.jsx)(cn,{value:`volcengine`,children:t(`settings.voice.volcengine.providerOption`)}),(0,$.jsx)(cn,{value:`openai-compatible`,children:t(`settings.voice.page.provider.server`)})]})]})}),x===`volcengine`&&(0,$.jsx)(Om,{mode:`asr`,form:i}),x===`local`&&(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.model`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(Mm,{selectedModelId:T,onSelect:ne})}),x===`openai-compatible`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{label:(0,$.jsx)(`span`,{className:q(!S.trim()&&`text-[var(--status-error)]`),children:t(`settings.voice.page.field.serverUrl`)}),description:t(`settings.voice.page.field.sttServerUrlHint`),children:(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(gn,{type:`text`,value:S,onChange:e=>ee(e.target.value),placeholder:`http://localhost:8001/v1`,className:`w-full pr-8`}),S&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>ee(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Z,{name:`close`,className:`w-3.5 h-3.5`})})]})}),(0,$.jsx)(Yr,{label:`API Key`,description:`Optional`,children:(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(gn,{type:`password`,value:C,onChange:e=>G(e.target.value),placeholder:e.sttApiKeyConfigured&&i.draft.sttApiKey===void 0?`••••••••`:`sk-...`,className:`w-full pr-8`}),C&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>G(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Z,{name:`close`,className:`w-3.5 h-3.5`})})]})}),(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.model`),children:(0,$.jsx)(`div`,{className:`relative w-full`,children:(0,$.jsx)(gn,{type:`text`,value:w,onChange:e=>te(e.target.value),placeholder:`deepdml/faster-whisper-large-v3-turbo-ct2`,className:`w-full`})})}),(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.language`),description:t(`settings.voice.page.field.sttLanguageHint`),children:(0,$.jsx)(`div`,{className:`relative w-full`,children:(0,$.jsx)(gn,{type:`text`,value:E,onChange:e=>re(e.target.value),placeholder:`auto`,className:`w-full`})})})]})]}),(0,$.jsx)(`div`,{className:`oc-settings-group-row flex justify-end`,children:(0,$.jsx)(J,{size:`sm`,"aria-busy":i.saving,onClick:()=>{i.saving||i.save()},children:t(`settings.voice.volcengine.save`)})})]})})]})},Bm=e=>{let t=(0,Ki.c)(45),{className:n}=e,{t:r}=Fe(),i=Yn(),a=sr(),o;t[0]===i.data?.providers?o=t[1]:(o=i.data?.providers??[],t[0]=i.data?.providers,t[1]=o);let s=o,c=i.data?.selectedId??null,l=pr(i.data),u;t[2]!==s||t[3]!==c||t[4]!==a||t[5]!==r?(u=e=>{!s.some(t=>t.id===e)||e===c||a.mutate(e,{onError:()=>{Y.error(r(`settings.openchamber.browserProvider.toast.selectFailed`))}})},t[2]=s,t[3]=c,t[4]=a,t[5]=r,t[6]=u):u=t[6];let d=Me(u);if(!l)return null;let f;t[7]!==s||t[8]!==c?(f=s.find(e=>e.id===c)??null,t[7]=s,t[8]=c,t[9]=f):f=t[9];let p=f,m;t[10]===r?m=t[11]:(m=r(`settings.openchamber.browserProvider.label`),t[10]=r,t[11]=m);let h;t[12]===r?h=t[13]:(h=r(`settings.openchamber.browserProvider.info`),t[12]=r,t[13]=h);let g;t[14]===r?g=t[15]:(g=r(`settings.openchamber.browserProvider.aria`),t[14]=r,t[15]=g);let _=p?.id,v=a.isPending,y;t[16]===r?y=t[17]:(y=r(`settings.openchamber.browserProvider.aria`),t[16]=r,t[17]=y);let b;t[18]===r?b=t[19]:(b=r(`settings.openchamber.browserProvider.placeholder`),t[18]=r,t[19]=b);let x;t[20]!==p?.name||t[21]!==r?(x=p?.name??r(`settings.openchamber.browserProvider.placeholder`),t[20]=p?.name,t[21]=r,t[22]=x):x=t[22];let S;t[23]!==b||t[24]!==x?(S=(0,$.jsx)(hn,{placeholder:b,children:x}),t[23]=b,t[24]=x,t[25]=S):S=t[25];let C;t[26]!==S||t[27]!==y?(C=(0,$.jsx)(un,{className:`oc-settings-inline-value w-fit max-w-full`,"aria-label":y,children:S}),t[26]=S,t[27]=y,t[28]=C):C=t[28];let w;t[29]===s?w=t[30]:(w=s.map(Vm),t[29]=s,t[30]=w);let T;t[31]===w?T=t[32]:(T=(0,$.jsx)(dn,{children:w}),t[31]=w,t[32]=T);let E;t[33]!==d||t[34]!==a.isPending||t[35]!==C||t[36]!==T||t[37]!==_?(E=(0,$.jsxs)(pn,{value:_,onValueChange:d,disabled:v,children:[C,T]}),t[33]=d,t[34]=a.isPending,t[35]=C,t[36]=T,t[37]=_,t[38]=E):E=t[38];let D;return t[39]!==n||t[40]!==E||t[41]!==m||t[42]!==h||t[43]!==g?(D=(0,$.jsx)(ui,{itemId:`sessions.browser-provider`,label:m,description:h,descriptionPlacement:`outside`,groupClassName:n,ariaLabel:g,children:E}),t[39]=n,t[40]=E,t[41]=m,t[42]=h,t[43]=g,t[44]=D):D=t[44],D};function Vm(e){return(0,$.jsx)(cn,{value:e.id,children:e.name},e.id)}var Hm=()=>{let{t:e}=Fe(),[t,n]=Q.useState(``),[r,i]=Q.useState(!0),[a,o]=Q.useState(!1),s=K(e=>e.showOpenCodeUpdateNotifications),c=K(e=>e.setShowOpenCodeUpdateNotifications);Q.useEffect(()=>{let e=!1;return(async()=>{try{let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});if(!t.ok)return;let r=await t.json().catch(()=>null);if(e||!r)return;let i=typeof r.opencodeBinary==`string`?r.opencodeBinary.trim():``;n(i)}catch{}finally{e||i(!1)}})(),()=>{e=!0}},[]);let u=Q.useCallback(async()=>{if(!(typeof window>`u`)&&j())try{let e=await z();e.success&&e.path&&e.path.trim().length>0&&n(e.path.trim())}catch{}},[]),d=Q.useCallback(async()=>{o(!0);try{let n=t.trim(),r=n.length>=2&&(n.startsWith(`"`)&&n.endsWith(`"`)||n.startsWith(`'`)&&n.endsWith(`'`))?n.slice(1,-1).trim():n;await T({opencodeBinary:r}),await tt({message:e(`settings.openchamber.opencodeCli.actions.restartingOpenCode`),mode:`projects`,scopes:[`all`]})}finally{o(!1)}},[e,t]),f=Q.useCallback(e=>{c(e),T({showOpenCodeUpdateNotifications:e})},[c]);return(0,$.jsxs)(Jr,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:e(`settings.openchamber.opencodeCli.title`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 cursor-help text-muted-foreground/60`})}),(0,$.jsxs)(vn,{sideOffset:8,className:`max-w-xs`,children:[e(`settings.openchamber.opencodeCli.tooltipPrefix`),` `,(0,$.jsx)(`code`,{className:`font-mono text-xs`,children:`opencode`}),e(`settings.openchamber.opencodeCli.tooltipSuffix`)]})]})]}),description:(0,$.jsxs)($.Fragment,{children:[e(`settings.openchamber.opencodeCli.tipPrefix`),` `,(0,$.jsx)(`span`,{className:`font-mono`,children:`OPENCODE_BINARY`}),` `,e(`settings.openchamber.opencodeCli.tipMiddle`),` `,(0,$.jsx)(`span`,{className:`font-mono`,children:`~/.config/openchamber/settings.json`}),`.`]}),children:[(0,$.jsx)(Yr,{itemId:`sessions.opencode-binary`,label:e(`settings.openchamber.opencodeCli.field.binaryPath`),children:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center justify-end gap-2`,children:[(0,$.jsx)(gn,{value:t,onChange:e=>n(e.target.value),placeholder:e(`settings.openchamber.opencodeCli.field.binaryPathPlaceholder`),disabled:r||a,className:`h-7 min-w-0 flex-1 font-mono text-xs`}),(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`xs`,onClick:u,disabled:r||a||!j(),className:`h-7 w-7 p-0`,"aria-label":e(`settings.openchamber.opencodeCli.actions.browseAria`),title:e(`settings.openchamber.opencodeCli.actions.browse`),children:(0,$.jsx)(Z,{name:`folder`,className:`h-4 w-4`})})]})}),(0,$.jsxs)(`label`,{"data-settings-item":`sessions.opencode-update-notifications`,className:`oc-settings-group-row oc-settings-split-row cursor-pointer`,children:[(0,$.jsx)(`div`,{className:`oc-settings-split-row-copy`,children:(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.opencodeCli.field.showUpdateNotifications`)})}),(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:s,onChange:f,ariaLabel:e(`settings.openchamber.opencodeCli.field.showUpdateNotificationsAria`)})})]}),(0,$.jsx)(`div`,{className:`oc-settings-group-row flex justify-end`,children:(0,$.jsx)(J,{type:`button`,size:`xs`,onClick:d,disabled:r||a,className:`shrink-0 !font-normal`,children:e(a?`settings.common.actions.saving`:`settings.openchamber.opencodeCli.actions.saveAndReload`)})})]})},Um=[{id:`auto`,labelKey:`settings.openchamber.desktopNetwork.option.windowControlsAuto`},{id:`left`,labelKey:`settings.openchamber.desktopNetwork.option.windowControlsLeft`},{id:`right`,labelKey:`settings.openchamber.desktopNetwork.option.windowControlsRight`}],Wm=()=>{let{t:e}=Fe(),t=Q.useCallback(t=>e(t),[e]),n=j()&&S(),r=E(),i=K(e=>e.desktopWindowControlsPosition),a=K(e=>e.setDesktopWindowControlsPosition),[o,s]=Q.useState(!1),[c,l]=Q.useState(!1),[p,m]=Q.useState(!1),[h,g]=Q.useState(!1),[y,x]=Q.useState(!1),[C,w]=Q.useState(!1),[D,O]=Q.useState(!1),[k,A]=Q.useState(!1),[M,N]=Q.useState(!1),[P,F]=Q.useState(null);Q.useEffect(()=>{if(!n){s(!1);return}let e=!1;return(async()=>{let t=await _();e||(s(t?.supported===!0),l(t?.enabled===!0))})(),()=>{e=!0}},[n]),Q.useEffect(()=>{if(!n){g(!1);return}let e=!1;return(async()=>{let t=await u();e||(g(t?.supported===!0),x(t?.enabled===!0))})(),()=>{e=!0}},[n]),Q.useEffect(()=>{if(!n){O(!1);return}let e=!1;return(async()=>{let t=await b();e||(O(t?.supported===!0),A(t?.enabled===!0))})(),()=>{e=!0}},[n]);let I=Q.useCallback(e=>{a(e),T({desktopWindowControlsPosition:e})},[a]),L=Q.useCallback(async()=>{if(!o||p)return;let t=!c;l(t),m(!0),F(null);try{let n=await f(t);if(!n?.supported)throw Error(e(`settings.openchamber.desktopNetwork.error.launchAtLoginUnsupported`));l(n.enabled)}catch(n){l(!t),F(n instanceof Error?n.message:e(`settings.openchamber.desktopNetwork.error.launchAtLoginSaveFailed`))}finally{m(!1)}},[p,c,o,e]),R=Q.useCallback(async()=>{if(!h||C)return;let t=!y;x(t),w(!0),F(null);try{let n=await d(t);if(!n)throw Error(e(`settings.openchamber.desktopNetwork.error.minimizeToTraySaveFailed`));if(!n.supported)throw Error(e(`settings.openchamber.desktopNetwork.error.minimizeToTrayUnsupported`));x(n.enabled)}catch(n){x(!t),F(n instanceof Error?n.message:e(`settings.openchamber.desktopNetwork.error.minimizeToTraySaveFailed`))}finally{w(!1)}},[C,y,h,e]),z=Q.useCallback(async()=>{if(!D||M)return;let t=!k;A(t),N(!0),F(null);try{let n=await v(t);if(!n?.supported)throw Error(e(`settings.openchamber.desktopNetwork.error.keepAwakeUnsupported`));A(n.enabled)}catch(n){A(!t),F(n instanceof Error?n.message:e(`settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed`))}finally{N(!1)}},[M,k,D,e]);return!n&&!r?null:(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[r?(0,$.jsx)(Jr,{label:e(`settings.openchamber.desktopNetwork.field.windowControlsPosition`),children:(0,$.jsx)(Yr,{itemId:`sessions.desktop-window-controls-position`,label:e(`settings.openchamber.desktopNetwork.field.windowControlsPosition`),description:e(`settings.openchamber.desktopNetwork.field.windowControlsPositionDescription`),children:(0,$.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-1`,role:`group`,"aria-label":e(`settings.openchamber.desktopNetwork.field.windowControlsPositionAria`),children:Um.map(e=>(0,$.jsx)(J,{type:`button`,variant:`chip`,size:`xs`,className:`!font-normal`,"aria-pressed":i===e.id,onClick:()=>I(e.id),children:t(e.labelKey)},e.id))})})}):null,!n||!(o||h||D||P)?null:(0,$.jsxs)(Jr,{label:e(`settings.openchamber.desktopNetwork.title`),children:[o?(0,$.jsxs)(`div`,{"data-settings-item":`sessions.desktop-launch-at-login`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,onClick:L,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),L())},children:[(0,$.jsxs)(`div`,{className:`oc-settings-split-row-copy`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.desktopNetwork.field.launchAtLogin`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:e(`settings.openchamber.desktopNetwork.field.launchAtLoginDescription`)})]}),(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:c,onChange:L,ariaLabel:e(`settings.openchamber.desktopNetwork.field.launchAtLoginAria`),disabled:p})})]}):null,h?(0,$.jsxs)(`div`,{"data-settings-item":`sessions.desktop-minimize-to-tray`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,onClick:R,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),R())},children:[(0,$.jsxs)(`div`,{className:`oc-settings-split-row-copy`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.desktopNetwork.field.minimizeToTray`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:e(`settings.openchamber.desktopNetwork.field.minimizeToTrayDescription`)})]}),(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:y,onChange:R,ariaLabel:e(`settings.openchamber.desktopNetwork.field.minimizeToTrayAria`),disabled:C})})]}):null,D?(0,$.jsxs)(`div`,{"data-settings-item":`sessions.desktop-keep-awake`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,onClick:z,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),z())},children:[(0,$.jsxs)(`div`,{className:`oc-settings-split-row-copy`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.desktopNetwork.field.keepAwake`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:e(`settings.openchamber.desktopNetwork.field.keepAwakeDescription`)})]}),(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:k,onChange:z,ariaLabel:e(`settings.openchamber.desktopNetwork.field.keepAwakeAria`),disabled:M})})]}):null,P?(0,$.jsx)(`div`,{className:`oc-settings-group-row typography-meta text-[var(--status-error)]`,children:P}):null]})]})},Gm=new Set([`shift`,`control`,`alt`,`meta`]),Km=e=>{if(Gm.has(e.key.toLowerCase()))return null;let t=[];(e.metaKey||e.ctrlKey)&&t.push(`mod`),e.shiftKey&&t.push(`shift`),e.altKey&&t.push(`alt`);let n=Vn(e.key);return n?(t.push(n),wn(t.join(`+`))):null},qm=()=>{let e=(0,Ki.c)(59),{t}=Fe(),n;e[0]===t?n=e[1]:(n=e=>t(e),e[0]=t,e[1]=n);let r=n,i=K(Jm),a=K(Ym),o=K(Xm),s=K(Zm),c;if(e[2]===Symbol.for(`react.memo_cache_sentinel`)){bb0:{let e=$n();if(!D()){c=e;break bb0}c=e.filter(Qm)}e[2]=c}else c=e[2];let l=c,u;e[3]===r?u=e[4]:(u=(e,t)=>{let n=`settings.openchamber.keyboardShortcuts.action.${e}.label`,i=r(n);return i===n?t:i},e[3]=r,e[4]=u);let d=u,[f,p]=Q.useState(null),m;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(m={},e[5]=m):m=e[5];let[h,g]=Q.useState(m),[_,v]=Q.useState(``),[y,b]=Q.useState(``),[x,S]=Q.useState(null),C=$m,w;e[6]===i?w=e[7]:(w=(e,t)=>{let n=wn(t);for(let t of l){if(t.id===e)continue;let r=qn(t.id,i);if(wn(r)===n)return t.id}return null},e[6]=i,e[7]=w);let T=w,E;e[8]!==T||e[9]!==a||e[10]!==i||e[11]!==t?(E=(e,n)=>{let r=wn(n),o=T(e,r);if(o){S({actionId:e,combo:r,conflictActionId:o}),v(``);return}let s={...i,[e]:r};a(e,r),C(s),S(null),v(``),b(Sr(r)?t(`settings.openchamber.keyboardShortcuts.warning.riskyBrowserShortcut`):``),g(t=>{let n={...t};return delete n[e],n})},e[8]=T,e[9]=a,e[10]=i,e[11]=t,e[12]=E):E=e[12];let O=E,k;e[13]!==x||e[14]!==a||e[15]!==i||e[16]!==t?(k=()=>{if(!x)return;let e={...i,[x.conflictActionId]:Qn,[x.actionId]:x.combo};a(x.conflictActionId,Qn),a(x.actionId,x.combo),C(e),S(null),v(``),b(Sr(x.combo)?t(`settings.openchamber.keyboardShortcuts.warning.riskyBrowserShortcut`):``),g(e=>{let t={...e};return delete t[x.actionId],t})},e[13]=x,e[14]=a,e[15]=i,e[16]=t,e[17]=k):k=e[17];let A=k,j;e[18]!==o||e[19]!==i?(j=e=>{let t={...i};delete t[e],o(e),C(t),g(t=>{let n={...t};return delete n[e],n}),S(null),v(``),b(``)},e[18]=o,e[19]=i,e[20]=j):j=e[20];let M=j,N;e[21]===t?N=e[22]:(N=t(`settings.openchamber.keyboardShortcuts.title`),e[21]=t,e[22]=N);let P;e[23]===N?P=e[24]:(P=(0,$.jsx)(`span`,{children:N}),e[23]=N,e[24]=P);let F;e[25]===s?F=e[26]:(F=()=>{s(),C({}),g({}),S(null),v(``),b(``)},e[25]=s,e[26]=F);let I;e[27]===t?I=e[28]:(I=t(`settings.openchamber.keyboardShortcuts.actions.resetAll`),e[27]=t,e[28]=I);let L;e[29]!==F||e[30]!==I?(L=(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:F,children:I}),e[29]=F,e[30]=I,e[31]=L):L=e[31];let R;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),e[32]=R):R=e[32];let z;e[33]===t?z=e[34]:(z=t(`settings.openchamber.keyboardShortcuts.tooltip`),e[33]=t,e[34]=z);let B;e[35]===z?B=e[36]:(B=(0,$.jsxs)(yn,{children:[R,(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:z})]}),e[35]=z,e[36]=B);let V;e[37]!==L||e[38]!==B||e[39]!==P?(V=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[P,L,B]}),e[37]=L,e[38]=B,e[39]=P,e[40]=V):V=e[40];let H;e[41]!==A||e[42]!==_||e[43]!==x||e[44]!==t||e[45]!==y?(H=(_||y||x)&&(0,$.jsxs)(`div`,{className:`mb-2 space-y-2 px-1`,children:[x&&(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--status-warning-border)] bg-[var(--status-warning-background)] p-3 flex flex-col sm:flex-row sm:items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-foreground`,children:t(`settings.openchamber.keyboardShortcuts.overwritePrompt`)}),(0,$.jsxs)(`div`,{className:`flex gap-2 shrink-0`,children:[(0,$.jsx)(J,{type:`button`,size:`xs`,className:`!font-normal`,onClick:A,children:t(`settings.openchamber.keyboardShortcuts.actions.overwrite`)}),(0,$.jsx)(J,{type:`button`,size:`xs`,className:`!font-normal`,variant:`ghost`,onClick:()=>S(null),children:t(`settings.common.actions.cancel`)})]})]}),_&&(0,$.jsx)(`div`,{className:`rounded-lg border border-[var(--status-error-border)] bg-[var(--status-error-background)] p-3 typography-meta text-foreground`,children:_}),y&&(0,$.jsx)(`div`,{className:`rounded-lg border border-[var(--status-warning-border)] bg-[var(--status-warning-background)] p-3 typography-meta text-foreground`,children:y})]}),e[41]=A,e[42]=_,e[43]=x,e[44]=t,e[45]=y,e[46]=H):H=e[46];let U;e[47]!==d||e[48]!==f||e[49]!==h||e[50]!==M||e[51]!==O||e[52]!==i||e[53]!==t?(U=l.map(e=>{let n=qn(e.id,i),r=h[e.id],a=r??n,o=typeof r==`string`&&wn(r)!==wn(n);return(0,$.jsxs)(Yr,{label:d(e.id,e.label),children:[(0,$.jsx)(gn,{readOnly:!0,value:f===e.id?t(`settings.openchamber.keyboardShortcuts.field.pressKeys`):er(a),onFocus:()=>{p(e.id),v(``)},onBlur:()=>{f===e.id&&p(null)},onKeyDown:t=>{if(t.preventDefault(),t.stopPropagation(),t.key===`Escape`){p(null);return}let n=Km(t);n&&(g(t=>({...t,[e.id]:n})),p(null),S(null),v(``))},className:`w-40 min-w-0 typography-ui-label text-right`}),(0,$.jsx)(J,{type:`button`,variant:`secondary`,size:`xs`,className:`!font-normal`,onClick:()=>{let n=h[e.id];if(!n){v(t(`settings.openchamber.keyboardShortcuts.error.captureFirst`));return}O(e.id,n)},disabled:!o,children:t(`settings.common.actions.saveChanges`)}),(0,$.jsx)(J,{type:`button`,size:`xs`,className:`!font-normal`,variant:`ghost`,onClick:()=>M(e.id),children:t(`settings.common.actions.reset`)})]},e.id)}),e[47]=d,e[48]=f,e[49]=h,e[50]=M,e[51]=O,e[52]=i,e[53]=t,e[54]=U):U=e[54];let W;return e[55]!==V||e[56]!==H||e[57]!==U?(W=(0,$.jsxs)(Jr,{itemId:`shortcuts.keyboard-shortcuts`,label:V,children:[H,U]}),e[55]=V,e[56]=H,e[57]=U,e[58]=W):W=e[58],W};function Jm(e){return e.shortcutOverrides}function Ym(e){return e.setShortcutOverride}function Xm(e){return e.clearShortcutOverride}function Zm(e){return e.resetAllShortcutOverrides}function Qm(e){return e.id!==`toggle_prompt_navigator`}function $m(e){T({shortcutOverrides:e})}var eh=()=>{let e=(0,Ki.c)(2),[t,n]=Q.useState(0),i,a;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>r(()=>n(uh)),a=[],e[0]=i,e[1]=a):(i=e[0],a=e[1]),Q.useEffect(i,a),t},th=e=>{let t=(0,Ki.c)(25),{section:n,flowMobile:r}=e,i=r!==void 0&&r,{isMobile:a}=Tr();eh();let o;t[0]===a?o=t[1]:(o=a&&L(),t[0]=a,t[1]=o);let s=o,c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=D(),t[2]=c):c=t[2];let l=c,u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=j()&&(S()||E()),t[3]=u):u=t[3];let d=u;if(!n){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Xp,{}),t[4]=e):e=t[4];let n;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(dm,{})}),t[5]=n):n=t[5];let r,i,a,o;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(gm,{})}),a=d&&(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(Wm,{})}),o=!l&&(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(Hm,{})}),r=(0,$.jsx)(Bm,{className:`oc-settings-page-section`}),t[6]=r,t[7]=i,t[8]=a,t[9]=o):(r=t[6],i=t[7],a=t[8],o=t[9]);let c;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(tm,{})}),t[10]=c):c=t[10];let u;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(lm,{})}),t[11]=u):u=t[11];let f;t[12]===s?f=t[13]:(f=s&&(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(ta,{})}),t[12]=s,t[13]=f);let p;return t[14]===f?p=t[15]:(p=(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-page-content openchamber-page-body mx-auto max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[e,n,i,a,o,r,c,u,f]})}),t[14]=f,t[15]=p),p}let f;t[16]!==i||t[17]!==n?(f=()=>{switch(n){case`visual`:return(0,$.jsx)(rh,{mobile:i});case`chat`:return(0,$.jsx)(ih,{});case`sessions`:return(0,$.jsx)(ah,{});case`summary-ai`:return(0,$.jsx)(gm,{});case`shortcuts`:return(0,$.jsx)(nh,{});case`git`:return(0,$.jsx)(oh,{});case`github`:return(0,$.jsx)(sh,{});case`notifications`:return(0,$.jsx)(ch,{});case`voice`:return(0,$.jsx)(lh,{});default:return null}},t[16]=i,t[17]=n,t[18]=f):f=t[18];let p=f,m;t[19]===p?m=t[20]:(m=p(),t[19]=p,t[20]=m);let h;t[21]===m?h=t[22]:(h=(0,$.jsx)(`div`,{className:`oc-settings-page-content openchamber-page-body mx-auto max-w-3xl p-3 sm:p-6 sm:pt-8`,children:m}),t[21]=m,t[22]=h);let g=h;if(i)return g;let _;return t[23]===g?_=t[24]:(_=(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`w-full`,children:g}),t[23]=g,t[24]=_),_},nh=()=>{let e=(0,Ki.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(qm,{}),e[0]=t):t=e[0],t},rh=e=>{let t=(0,Ki.c)(5),{mobile:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=D(),t[0]=r):r=t[0];let i=r,a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=i?[]:[`weekStart`],t[1]=a):a=t[1];let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=[`theme`,`sidebarBrand`,`pwaInstallName`,`pwaOrientation`,`mobileKeyboardMode`,`timeFormat`,...a,`iosNativeUi`,`fontSize`,`codeFontSize`,`terminalFontSize`,`editorFontSize`,`fileEditorKeymap`,`spacing`,`inputBarOffset`,`expandedEditorToolbar`,...i?[]:[`terminalQuickKeys`],`reportUsage`],t[2]=o):o=t[2];let s;return t[3]===n?s=t[4]:(s=(0,$.jsx)(Xp,{mobile:n,visibleSettings:o}),t[3]=n,t[4]=s),s},ih=()=>{let e=(0,Ki.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(Xp,{visibleSettings:[`chatRenderMode`,`messageTransport`,`diffLayout`,`followUpBehavior`,`sessionGoal`,`questionAutoDelegate`,`sessionAssist`,`subagentReadOnlyBanner`,`reasoning`,`collapsibleUserMessages`,`showAssistantTps`,`persistDraft`,`inputSpellcheck`]}),e[0]=t):t=e[0],t},ah=()=>{let e=(0,Ki.c)(8),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=D(),e[0]=t):t=e[0];let n=t;eh();let r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=j()&&(S()||E()),e[1]=r):r=e[1];let i=r,a,o,s,c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(dm,{}),o=i&&(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(Wm,{})}),s=!n&&(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(Hm,{})}),c=(0,$.jsx)(Bm,{}),e[2]=a,e[3]=o,e[4]=s,e[5]=c):(a=e[2],o=e[3],s=e[4],c=e[5]);let l;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(tm,{})}),e[6]=l):l=e[6];let u;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[a,o,s,c,l,(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(lm,{})})]}),e[7]=u):u=e[7],u},oh=()=>{let e=(0,Ki.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{className:`oc-settings-section-stack`,children:(0,$.jsx)(Sp,{})}),e[0]=t):t=e[0],t},sh=()=>{let e=(0,Ki.c)(1);if(D())return null;let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(Cp,{}),e[0]=t):t=e[0],t},ch=()=>{let e=(0,Ki.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(ym,{}),e[0]=t):t=e[0],t},lh=()=>{let e=(0,Ki.c)(1);if(D())return null;let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(Lm,{}),e[0]=t):t=e[0],t};function uh(e){return e+1}var dh=()=>{let e=(0,Ki.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(Nl,{children:(0,$.jsx)(gi,{mode:`page`})}),e[0]=t):t=e[0],t},fh=[{id:`chat.question-auto-delegate`,page:`chat`,titleKey:`settings.chat.questionDelegate.label`,descriptionKey:`settings.chat.questionDelegate.description`,keywords:[`question`,`auto`,`delegate`,`30`,`subagent`,`托管`,`倒计时`]},{id:`instances.manage`,page:`instances`,titleKey:`mobile.settings.switchInstance`,keywords:[`instance`,`server`,`connection`,`switch`],isAvailable:e=>e.isMobile},{id:`global-config.editor`,page:`global-config`,titleKey:`settings.globalConfig.title`,descriptionKey:`settings.globalConfig.description`,keywords:[`opencode.json`,`opencode.jsonc`,`oh-my-opencode-slim`,`oh-my-openagent`,`json`,`jsonc`]},{id:`appearance.language`,page:`appearance`,titleKey:`settings.appearance.language.label`,descriptionKey:`settings.appearance.language.description`,keywords:[`locale`,`translation`,`ui language`]},{id:`appearance.time-format`,page:`appearance`,titleKey:`settings.openchamber.visual.field.timeFormat`,keywords:[`clock`,`12h`,`24h`]},{id:`appearance.week-start`,page:`appearance`,titleKey:`settings.openchamber.visual.field.weekStartsOn`,keywords:[`calendar`,`monday`,`sunday`],isAvailable:e=>!e.isVSCode},{id:`appearance.light-theme`,page:`appearance`,titleKey:`settings.openchamber.visual.field.lightTheme`,keywords:[`theme`,`color`,`light mode`],isAvailable:e=>!e.isVSCode},{id:`appearance.dark-theme`,page:`appearance`,titleKey:`settings.openchamber.visual.field.darkTheme`,keywords:[`theme`,`color`,`dark mode`],isAvailable:e=>!e.isVSCode},{id:`appearance.window-transparency`,page:`appearance`,titleKey:`settings.openchamber.visual.field.macVibrancy`,descriptionKey:`settings.openchamber.visual.field.macVibrancyHint`,keywords:[`transparent`,`transparency`,`vibrancy`,`blur`,`macos`,`opaque`],isAvailable:e=>e.isDesktopLocalOrigin},{id:`appearance.dock-badge`,page:`appearance`,titleKey:`settings.openchamber.visual.field.dockBadge`,descriptionKey:`settings.openchamber.visual.field.dockBadgeHint`,keywords:[`dock`,`badge`,`unread`,`unseen`,`counter`,`count`,`notification`,`macos`],isAvailable:e=>e.isMac},{id:`appearance.sidebar-brand`,page:`appearance`,titleKey:`settings.openchamber.visual.field.sidebarBrand`,descriptionKey:`settings.openchamber.visual.field.sidebarBrandHint`,keywords:[`logo`,`brand`,`wordmark`,`sidebar`]},{id:`appearance.pwa-install-name`,page:`appearance`,titleKey:`settings.openchamber.visual.field.installAppName`,descriptionKey:`settings.openchamber.visual.field.installAppNameHint`,keywords:[`pwa`,`installed app`],isAvailable:e=>e.isWeb&&!e.isDesktop&&!e.isVSCode},{id:`appearance.pwa-orientation`,page:`appearance`,titleKey:`settings.openchamber.visual.field.installOrientation`,descriptionKey:`settings.openchamber.visual.field.installOrientationHint`,keywords:[`pwa`,`portrait`,`landscape`],isAvailable:e=>e.isWeb&&!e.isDesktop&&!e.isVSCode},{id:`appearance.mobile-keyboard-mode`,page:`appearance`,titleKey:`settings.openchamber.visual.field.mobileKeyboardMode`,descriptionKey:`settings.openchamber.visual.field.mobileKeyboardModeHint`,keywords:[`mobile`,`keyboard`,`resize`],isAvailable:e=>e.isMobile&&e.isWeb&&!e.isDesktop&&!e.isVSCode},{id:`appearance.ios-native-ui`,page:`appearance`,titleKey:`settings.openchamber.visual.field.iosNativeUi`,descriptionKey:`settings.openchamber.visual.field.iosNativeUiHint`,keywords:[`ios`,`native`,`webview`,`composer`,`tab bar`,`live activity`],isAvailable:()=>Pr()},{id:`appearance.interface-font-size`,page:`appearance`,titleKey:`settings.openchamber.visual.field.interfaceFontSize`,keywords:[`font`,`text size`,`ui scale`]},{id:`appearance.code-font-size`,page:`appearance`,titleKey:`settings.openchamber.visual.field.codeFontSize`,keywords:[`code`,`font`,`text size`,`diff`]},{id:`appearance.terminal-font-size`,page:`appearance`,titleKey:`settings.openchamber.visual.field.terminalFontSize`,keywords:[`terminal`,`font`,`text size`]},{id:`appearance.editor-font-size`,page:`appearance`,titleKey:`settings.openchamber.visual.field.editorFontSize`,keywords:[`editor`,`font`,`text size`,`code`]},{id:`appearance.spacing-density`,page:`appearance`,titleKey:`settings.openchamber.visual.field.spacingDensity`,keywords:[`density`,`compact`,`comfortable`,`spacing`]},{id:`appearance.input-bar-offset`,page:`appearance`,titleKey:`settings.openchamber.visual.field.inputBarOffset`,descriptionKey:`settings.openchamber.visual.field.inputBarOffsetTooltip`,keywords:[`input`,`home bar`,`offset`]},{id:`appearance.expanded-editor-toolbar`,page:`appearance`,titleKey:`settings.openchamber.visual.field.expandedEditorToolbar`,keywords:[`editor`,`toolbar`,`tabs`,`docked`,`files`]},{id:`appearance.file-editor-keymap`,page:`appearance`,titleKey:`settings.openchamber.visual.field.fileEditorKeymap`,keywords:[`editor`,`vim`,`keymap`]},{id:`appearance.terminal-quick-keys`,page:`appearance`,titleKey:`settings.openchamber.visual.field.terminalQuickKeys`,descriptionKey:`settings.openchamber.visual.field.terminalQuickKeysTooltip`,keywords:[`terminal`,`keyboard`,`esc`,`ctrl`,`arrows`],isAvailable:e=>!e.isMobile&&!e.isDesktop&&!e.isVSCode},{id:`about.check-updates`,page:`about`,titleKey:`settings.openchamber.about.actions.checkForUpdates`,keywords:[`updates`,`version`,`ota`]},{id:`about.feedback`,page:`about`,titleKey:`settings.openchamber.about.actions.submitFeedback`,keywords:[`feedback`,`issues`,`bugs`,`github`]},{id:`about.beta-updates`,page:`about`,titleKey:`settings.openchamber.about.betaUpdates.label`,descriptionKey:`settings.openchamber.about.betaUpdates.description`,keywords:[`beta`,`updates`,`channel`,`ota`],isAvailable:e=>e.isDesktop||he()},{id:`about.diagnostics`,page:`about`,titleKey:`settings.openchamber.about.diagnostics.label`,keywords:[`diagnostics`,`logs`,`feat`,`transcript`,`task`]},{id:`about.export-diagnostics`,page:`about`,titleKey:`settings.openchamber.about.diagnostics.export`,keywords:[`diagnostics`,`logs`,`export`,`feat`,`transcript`,`task`],isAvailable:()=>qt()},{id:`appearance.usage-reports`,page:`appearance`,titleKey:`settings.openchamber.visual.field.sendAnonymousUsageReports`,descriptionKey:`settings.openchamber.visual.field.sendAnonymousUsageReportsHint`,keywords:[`telemetry`,`analytics`]},{id:`appearance.transcript-cache`,page:`appearance`,titleKey:`settings.openchamber.visual.transcriptCache.label`,descriptionKey:`settings.openchamber.visual.transcriptCache.description`,keywords:[`cache`,`local data`,`conversation history`,`transcript`,`privacy`]},{id:`chat.render-mode`,page:`chat`,titleKey:`settings.openchamber.visual.section.chatRenderMode`,keywords:[`messages`,`conversation`,`rendering`]},{id:`chat.message-transport`,page:`chat`,titleKey:`settings.openchamber.visual.section.messageStreamTransport`,keywords:[`streaming`,`sse`,`websocket`]},{id:`chat.session-assistance`,page:`chat`,titleKey:`settings.openchamber.visual.section.sessionAssistance`,keywords:[`title`,`assist`,`subagent`]},{id:`chat.session-title-refresh`,page:`chat`,titleKey:`settings.openchamber.visual.field.sessionTitleRefresh`,keywords:[`title`,`rename`,`refresh`,`throttle`,`small model`,`summary`]},{id:`chat.session-goal`,page:`chat`,titleKey:`settings.openchamber.visual.field.sessionGoal`,keywords:[`goal`,`objective`,`auto continue`,`small model`],isAvailable:e=>!e.isVSCode},{id:`chat.session-goal-budget`,page:`chat`,titleKey:`settings.openchamber.visual.goal.budgetLabel`,keywords:[`goal`,`budget`,`tokens`,`limit`],isAvailable:e=>!e.isVSCode},{id:`chat.reasoning-traces`,page:`chat`,titleKey:`settings.openchamber.visual.field.showReasoningTraces`,descriptionKey:`settings.openchamber.visual.field.showReasoningTracesHint`,keywords:[`thinking`,`reasoning`,`mobile`,`fetch time`]},{id:`chat.reasoning`,page:`chat`,titleKey:`settings.openchamber.visual.section.reasoning`,keywords:[`thinking`,`traces`]},{id:`chat.diff-layout`,page:`chat`,titleKey:`settings.openchamber.visual.section.diffLayout`,keywords:[`diff`,`inline`,`side by side`,`layout`],isAvailable:e=>!e.isVSCode},{id:`chat.collapsible-user-messages`,page:`chat`,titleKey:`settings.openchamber.visual.field.collapsibleUserMessages`,keywords:[`collapse`,`expand`,`clamp`,`long messages`,`user messages`]},{id:`chat.message-appearance`,page:`chat`,titleKey:`settings.openchamber.visual.section.messageAppearance`,keywords:[`layout`,`messages`,`appearance`]},{id:`chat.inline-assistant-actions`,page:`chat`,titleKey:`settings.openchamber.visual.field.showSplitAssistantMessageActions`,descriptionKey:`settings.openchamber.visual.field.showSplitAssistantMessageActionsTooltip`,keywords:[`copy`,`read aloud`],isAvailable:()=>!1},{id:`chat.assistant-tps`,page:`chat`,titleKey:`settings.openchamber.visual.field.showAssistantTps`,descriptionKey:`settings.openchamber.visual.field.showAssistantTpsTooltip`,keywords:[`tps`,`tokens`,`speed`,`rate`,`tok/s`,`throughput`]},{id:`chat.subagent-read-only-banner`,page:`chat`,titleKey:`settings.openchamber.visual.field.allowPromptingSubagentSessions`,keywords:[`subagent`,`read only`,`prompt`,`banner`]},{id:`chat.follow-up-behavior`,page:`chat`,titleKey:`settings.openchamber.visual.field.followUpBehavior`,descriptionKey:`settings.openchamber.visual.field.followUpBehaviorDescription`,keywords:[`follow up`,`queue`,`steer`,`send immediately`]},{id:`chat.persist-drafts`,page:`chat`,titleKey:`settings.openchamber.visual.field.persistDraftMessages`,keywords:[`draft`,`message`]},{id:`chat.composer`,page:`chat`,titleKey:`settings.openchamber.visual.section.composer`,keywords:[`input`,`draft`,`spellcheck`]},{id:`chat.spellcheck`,page:`chat`,titleKey:`settings.openchamber.visual.field.enableSpellcheckInTextInputs`,keywords:[`spelling`,`input`],isAvailable:e=>!e.isMobile},{id:`sessions.default-model`,page:`sessions`,titleKey:`settings.openchamber.defaults.field.defaultModel`,keywords:[`model`,`provider`,`new sessions`]},{id:`sessions.default-thinking`,page:`sessions`,titleKey:`settings.openchamber.defaults.field.defaultThinking`,keywords:[`thinking`,`reasoning`,`variant`]},{id:`sessions.default-agent`,page:`sessions`,titleKey:`settings.openchamber.defaults.field.defaultAgent`,keywords:[`agent`,`new sessions`]},{id:`sessions.browser-provider`,page:`sessions`,titleKey:`settings.openchamber.browserProvider.label`,descriptionKey:`settings.openchamber.browserProvider.info`,keywords:[`browser`,`extension`,`provider`,`live view`],isAvailable:()=>pr(_r())},{id:`sessions.deletion-dialog`,page:`sessions`,titleKey:`settings.openchamber.defaults.field.showDeletionDialog`,keywords:[`delete`,`confirmation`]},{id:`summary-ai.configuration`,page:`summary-ai`,titleKey:`settings.openchamber.defaults.summary.title`,descriptionKey:`settings.openchamber.defaults.summary.description`,keywords:[`summary`,`commit`,`session title`,`prompt`,`provider`,`custom api`,`base url`,`api token`]},{id:`summary-ai.test-connection`,page:`summary-ai`,titleKey:`settings.openchamber.defaults.summary.testConnection`,keywords:[`summary`,`connection`,`test`,`provider`,`api`]},{id:`sessions.auto-cleanup`,page:`sessions`,titleKey:`settings.openchamber.sessionRetention.field.enableAutoCleanup`,descriptionKey:`settings.openchamber.sessionRetention.tooltip`,keywords:[`retention`,`archive`,`delete`]},{id:`sessions.retention-period`,page:`sessions`,titleKey:`settings.openchamber.sessionRetention.field.retentionPeriod`,keywords:[`days`,`cleanup`,`retention`]},{id:`sessions.retention-action`,page:`sessions`,titleKey:`settings.openchamber.sessionRetention.field.whenSessionsExpire`,keywords:[`archive`,`delete`,`expire`]},{id:`archived-sessions.manage`,page:`archived-sessions`,titleKey:`settings.openchamber.archivedSessions.title`,descriptionKey:`settings.openchamber.archivedSessions.description`,keywords:[`archive`,`archived`,`restore`,`preview`,`history`]},{id:`sessions.desktop-launch-at-login`,page:`sessions`,titleKey:`settings.openchamber.desktopNetwork.field.launchAtLogin`,descriptionKey:`settings.openchamber.desktopNetwork.field.launchAtLoginDescription`,keywords:[`desktop`,`startup`,`login`],isAvailable:e=>e.isDesktopLocalOrigin},{id:`sessions.desktop-window-controls-position`,page:`sessions`,titleKey:`settings.openchamber.desktopNetwork.field.windowControlsPosition`,descriptionKey:`settings.openchamber.desktopNetwork.field.windowControlsPositionDescription`,keywords:[`desktop`,`window`,`controls`,`minimize`,`maximize`,`close`,`titlebar`,`linux`,`windows`],isAvailable:e=>e.isDesktop&&(e.isWindows||!e.isMac)},{id:`sessions.desktop-minimize-to-tray`,page:`sessions`,titleKey:`settings.openchamber.desktopNetwork.field.minimizeToTray`,descriptionKey:`settings.openchamber.desktopNetwork.field.minimizeToTrayDescription`,keywords:[`desktop`,`tray`,`system tray`,`minimize`,`close`,`background`,`windows`],isAvailable:e=>e.isDesktopLocalOrigin&&e.isWindows},{id:`sessions.desktop-keep-awake`,page:`sessions`,titleKey:`settings.openchamber.desktopNetwork.field.keepAwake`,descriptionKey:`settings.openchamber.desktopNetwork.field.keepAwakeDescription`,keywords:[`desktop`,`sleep`,`awake`,`server`,`mobile`,`phone`],isAvailable:e=>e.isDesktopLocalOrigin},{id:`remote-instances.desktop-ui-password`,page:`remote-instances`,titleKey:`settings.openchamber.desktopPassword.field.password`,descriptionKey:`settings.openchamber.desktopPassword.field.passwordDescription`,keywords:[`desktop`,`password`,`auth`,`login`],isAvailable:e=>e.isDesktopLocalOrigin},{id:`remote-instances.desktop-lan-access`,page:`remote-instances`,titleKey:`settings.openchamber.desktopNetwork.field.allowLanAccess`,descriptionKey:`settings.openchamber.desktopNetwork.field.allowLanAccessDescription`,keywords:[`desktop`,`lan`,`network`,`phone`,`tablet`],isAvailable:e=>e.isDesktopLocalOrigin},{id:`sessions.opencode-binary`,page:`sessions`,titleKey:`settings.openchamber.opencodeCli.field.binaryPath`,keywords:[`opencode`,`cli`,`binary`,`path`],isAvailable:e=>!e.isVSCode},{id:`sessions.opencode-update-notifications`,page:`sessions`,titleKey:`settings.openchamber.opencodeCli.field.showUpdateNotifications`,keywords:[`opencode`,`cli`,`updates`],isAvailable:e=>!e.isVSCode},{id:`git.github-account`,page:`git`,titleKey:`settings.github.page.actions.connect`,keywords:[`github`,`account`,`oauth`,`prs`,`issues`]},{id:`git.identities`,page:`git`,titleKey:`settings.gitIdentities.page.section.title`,descriptionKey:`settings.gitIdentities.page.empty.description`,keywords:[`identity`,`profile`,`author`,`email`,`credentials`,`signing`,`commit signing`,`ssh signing`,`gpg`]},{id:`git.changes-view`,page:`git`,titleKey:`settings.openchamber.git.changesViewTitle`,keywords:[`changes`,`flat list`,`tree view`]},{id:`git.gitmoji`,page:`git`,titleKey:`settings.openchamber.git.enableGitmoji`,keywords:[`commit`,`emoji`]},{id:`git.gitignored-files`,page:`git`,titleKey:`settings.openchamber.git.showGitignored`,keywords:[`ignored`,`files`,`gitignore`]},{id:`usage.magpie`,page:`usage`,titleKey:`settings.usage.magpie.url`,descriptionKey:`settings.usage.magpie.description`,keywords:[`magpie`,`quota`,`gateway`]},{id:`usage.header-menu`,page:`usage`,titleKey:`settings.usage.page.options.showInHeader`,descriptionKey:`settings.usage.page.options.showInHeaderTooltip`,keywords:[`quota`,`header`,`dropdown`]},{id:`usage.model-quotas`,page:`usage`,titleKey:`settings.usage.page.section.modelQuotas`,keywords:[`models`,`quota`,`limits`,`tokens`]},{id:`projects.name`,page:`projects`,titleKey:`settings.projects.page.field.projectName`,keywords:[`label`,`display name`,`project metadata`]},{id:`projects.accent-color`,page:`projects`,titleKey:`settings.projects.page.field.accentColor`,keywords:[`color`,`appearance`,`project metadata`]},{id:`projects.icon`,page:`projects`,titleKey:`settings.projects.page.field.projectIcon`,keywords:[`icon`,`favicon`,`upload`,`project metadata`]},{id:`projects.worktree`,page:`projects`,titleKey:`settings.projects.page.section.worktree`,keywords:[`worktree`,`branch`,`repository`]},{id:`projects.worktree.setup.wait`,page:`projects`,titleKey:`settings.openchamber.worktrees.setup.waitForCommands`,keywords:[`worktree`,`setup commands`,`bootstrap`,`wait`]},{id:`remote-instances.client-auth`,page:`remote-instances`,titleKey:`settings.remoteInstances.clientAuth.title`,descriptionKey:`settings.remoteInstances.clientAuth.description`,keywords:[`pairing link`,`client token`,`connect desktop`,`remote access`,`relay`,`devices`,`connect from anywhere`],isAvailable:e=>!e.isVSCode},{id:`remote-instances.instances`,page:`remote-instances`,titleKey:`settings.remoteInstances.sidebar.title`,descriptionKey:`settings.remoteInstances.sidebar.description`,keywords:[`import link`,`pairing link`,`connect link`,`ssh`,`remote instance`,`host switcher`],isAvailable:e=>e.isDesktop},{id:`behavior.system-prompt`,page:`behavior`,titleKey:`settings.behavior.page.section.systemPrompt`,descriptionKey:`settings.behavior.page.warning.title`,keywords:[`agents.md`,`global instructions`,`system prompt`]},{id:`behavior.response-style`,page:`behavior`,titleKey:`settings.behavior.page.section.responseStyle`,descriptionKey:`settings.behavior.page.responseStyle.tooltip`,keywords:[`tone`,`concise`,`detailed`,`custom instructions`]},{id:`agents.create`,page:`agents`,titleKey:`settings.agents.page.title.new`,keywords:[`create`,`add`,`new agent`]},{id:`assistants.instance-enabled`,page:`assistants`,titleKey:`assistants.settings.instanceEnabled`,descriptionKey:`assistants.settings.description`,keywords:[`assistant`,`enable`,`feature`]},{id:`assistants.create`,page:`assistants`,titleKey:`assistants.settings.create`,keywords:[`assistant`,`new`,`add`]},{id:`assistants.name`,page:`assistants`,titleKey:`assistants.settings.name`,keywords:[`assistant`,`name`]},{id:`assistants.default-share`,page:`assistants`,titleKey:`assistants.settings.defaultShare`,keywords:[`share`,`default`,`mobile`]},{id:`assistants.prompt`,page:`assistants`,titleKey:`assistants.settings.defaultPrompt`,keywords:[`prompt`,`instructions`]},{id:`assistants.model`,page:`assistants`,titleKey:`assistants.settings.model`,keywords:[`provider`,`model`]},{id:`assistants.workspace`,page:`assistants`,titleKey:`assistants.settings.workspace`,keywords:[`path`,`directory`,`workspace`]},{id:`agents.name`,page:`agents`,titleKey:`settings.agents.page.field.agentName`,keywords:[`agent`,`name`]},{id:`agents.mode`,page:`agents`,titleKey:`settings.agents.page.field.mode`,descriptionKey:`settings.agents.page.field.modeTooltip`,keywords:[`primary`,`subagent`,`visibility`]},{id:`agents.scope`,page:`agents`,titleKey:`settings.agents.page.field.scope`,keywords:[`scope`,`project`,`user`,`global`]},{id:`agents.model`,page:`agents`,titleKey:`settings.agents.page.field.overrideModel`,keywords:[`model`,`provider`,`variant`]},{id:`agents.system-prompt`,page:`agents`,titleKey:`settings.agents.page.section.systemPrompt`,keywords:[`prompt`,`instructions`]},{id:`agents.permissions`,page:`agents`,titleKey:`settings.agents.page.section.toolPermissions`,keywords:[`tools`,`permissions`,`allow`,`ask`,`deny`]},{id:`commands.create`,page:`commands`,titleKey:`settings.commands.page.title.new`,keywords:[`create`,`add`,`new command`]},{id:`commands.name`,page:`commands`,titleKey:`settings.commands.page.field.commandName`,keywords:[`slash command`,`name`]},{id:`commands.agent`,page:`commands`,titleKey:`settings.commands.page.field.overrideAgent`,keywords:[`agent`,`execution`]},{id:`commands.model`,page:`commands`,titleKey:`settings.agents.page.field.overrideModel`,keywords:[`model`,`provider`]},{id:`commands.template`,page:`commands`,titleKey:`settings.commands.page.section.template`,keywords:[`prompt`,`template`,`arguments`,`shell`,`file`]},{id:`mcp.create`,page:`mcp`,titleKey:`settings.mcp.sidebar.actions.addServerTitle`,keywords:[`create`,`add`,`server`]},{id:`mcp.server`,page:`mcp`,titleKey:`settings.mcp.page.server.title`,keywords:[`server`,`name`,`transport`]},{id:`mcp.command`,page:`mcp`,titleKey:`settings.mcp.page.connection.command`,keywords:[`stdio`,`local`,`command`]},{id:`mcp.environment`,page:`mcp`,titleKey:`settings.mcp.page.env.title`,keywords:[`env`,`variables`,`api key`]},{id:`mcp.advanced`,page:`mcp`,titleKey:`settings.mcp.page.advanced.title`,keywords:[`oauth`,`headers`,`timeout`]},{id:`plugins.create`,page:`plugins`,titleKey:`settings.plugins.sidebar.actions.addTitle`,keywords:[`add`,`plugin`,`npm`,`path`,`file`]},{id:`plugins.spec`,page:`plugins`,titleKey:`settings.plugins.page.field.spec`,keywords:[`npm`,`package`,`path`]},{id:`plugins.options`,page:`plugins`,titleKey:`settings.plugins.page.field.options`,keywords:[`json`,`configuration`]},{id:`plugins.content`,page:`plugins`,titleKey:`settings.plugins.page.field.content`,keywords:[`file`,`code`]},{id:`providers.connect`,page:`providers`,titleKey:`settings.providers.page.connect.title`,keywords:[`add provider`,`connect provider`,`credentials`]},{id:`providers.auth`,page:`providers`,titleKey:`settings.providers.page.auth.title`,keywords:[`api key`,`oauth`,`credentials`]},{id:`providers.connection-details`,page:`providers`,titleKey:`settings.providers.page.connectionDetails.title`,keywords:[`config`,`source`,`disconnect`]},{id:`providers.models`,page:`providers`,titleKey:`settings.providers.page.models.title`,keywords:[`models`,`hide`,`show`]},{id:`skills.create`,page:`skills.installed`,titleKey:`settings.skills.page.title.newSkill`,keywords:[`create`,`add`,`new skill`]},{id:`skills.basic-information`,page:`skills.installed`,titleKey:`settings.skills.page.section.basicInformation`,keywords:[`name`,`location`,`description`]},{id:`skills.instructions`,page:`skills.installed`,titleKey:`settings.skills.page.section.instructions`,keywords:[`markdown`,`skill.md`,`content`]},{id:`skills.supporting-files`,page:`skills.installed`,titleKey:`settings.skills.page.section.supportingFiles`,keywords:[`files`,`resources`]},{id:`skills.catalog.source`,page:`skills.catalog`,titleKey:`settings.skills.catalog.page.section.sourceRepository`,keywords:[`catalog`,`repository`,`source`,`refresh`]},{id:`skills.catalog.search`,page:`skills.catalog`,titleKey:`settings.skills.catalog.shared.field.searchSkillsPlaceholder`,keywords:[`find skills`,`install skills`,`catalog search`]},{id:`skills.catalog.add-catalog`,page:`skills.catalog`,titleKey:`settings.skills.catalog.page.actions.addCatalog`,keywords:[`external repository`,`add source`,`catalog`]},{id:`magic-prompts.visible-prompt`,page:`magic-prompts`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`,keywords:[`prompt text`,`user message`,`template`],isAvailable:e=>!e.isVSCode},{id:`magic-prompts.instructions`,page:`magic-prompts`,titleKey:`settings.magicPrompts.page.block.instructions`,keywords:[`hidden prompt`,`instructions`,`template`],isAvailable:e=>!e.isVSCode},{id:`magic-prompts.reset-overrides`,page:`magic-prompts`,titleKey:`settings.magicPrompts.page.actions.resetAllOverrides`,keywords:[`reset`,`default prompts`,`overrides`],isAvailable:e=>!e.isVSCode},{id:`shortcuts.keyboard-shortcuts`,page:`shortcuts`,titleKey:`settings.openchamber.keyboardShortcuts.title`,descriptionKey:`settings.openchamber.keyboardShortcuts.tooltip`,keywords:[`keyboard`,`hotkeys`,`bindings`]},{id:`voice.playback`,page:`voice`,titleKey:`settings.voice.page.section.playbackAndSummary`,keywords:[`tts`,`read aloud`,`voice`,`provider`,`speech rate`,`speech pitch`,`speech volume`,`tts input mode`,`markdown`,`volcengine`,`doubao`,`火山`,`豆包`,`seed-tts`,`音色`,`api key`]},{id:`voice.speech-recognition`,page:`voice`,titleKey:`settings.voice.page.section.speechRecognition`,keywords:[`stt`,`dictation`,`voice input`,`transcribe`,`whisper`,`parakeet`,`microphone`,`volcengine`,`doubao`,`火山`,`豆包`,`asr`,`实时字幕`,`识别`,`api key`,`recognition context`,`terminology`,`语境`,`上下文`,`中英文`]},{id:`notifications.delivery`,page:`notifications`,titleKey:`settings.notifications.page.delivery.title`,keywords:[`desktop notifications`,`system notifications`]},{id:`notifications.events`,page:`notifications`,titleKey:`settings.notifications.page.events.title`,keywords:[`completion`,`subtasks`,`errors`,`questions`]},{id:`notifications.push`,page:`notifications`,titleKey:`settings.notifications.page.push.title`,keywords:[`background`,`push`],isAvailable:e=>e.isWeb&&!e.isDesktop&&!e.isVSCode}];function ph(e){return e.trim().toLocaleLowerCase()}function mh({query:e,runtimeCtx:t,visiblePageSlugs:n,t:r,getPageTitle:i}){let a=ph(e);if(!a)return[];let o=n?new Set(n):null,s=a.split(/\s+/).filter(Boolean);return fh.flatMap(e=>{if(o&&!o.has(e.page))return[];let n=Ni(e.page);if(!n||n.isAvailable&&!n.isAvailable(t)||e.isAvailable&&!e.isAvailable(t))return[];let a=r(e.titleKey),c=e.descriptionKey?r(e.descriptionKey):null,l=ph([a,c,i(e.page),...e.keywords??[]].filter(Boolean).join(` `));return s.every(e=>l.includes(e))?[{...e,title:a,description:c,pageTitle:i(e.page)}]:[]})}function hh(e){let t=(0,Ki.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({asChild:i,className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i!==void 0&&i?Ie:`div`,o;t[4]===n?o=t[5]:(o=q(`oc-mobile-floating-surface`,n),t[4]=n,t[5]=o);let s;return t[6]!==a||t[7]!==r||t[8]!==o?(s=(0,$.jsx)(a,{className:o,...r}),t[6]=a,t[7]=r,t[8]=o,t[9]=s):s=t[9],s}function gh(e){let t=(0,Ki.c)(20),n,r,i,a,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6]):({as:o,children:n,className:r,variant:s,surfaceProps:a,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s);let c=o===void 0?`div`:o,l=s===void 0?`actions`:s,u;t[7]===r?u=t[8]:(u=q(`oc-mobile-floating-bottom-bar-frame`,r),t[7]=r,t[8]=u);let d=l===`navigation`?`oc-mobile-floating-bottom-bar-navigation`:`oc-mobile-floating-bottom-bar-actions`,f;t[9]===d?f=t[10]:(f=q(`oc-mobile-floating-bottom-bar`,d),t[9]=d,t[10]=f);let p;t[11]!==n||t[12]!==a||t[13]!==f?(p=(0,$.jsx)(hh,{...a,className:f,children:n}),t[11]=n,t[12]=a,t[13]=f,t[14]=p):p=t[14];let m;return t[15]!==c||t[16]!==i||t[17]!==u||t[18]!==p?(m=(0,$.jsx)(c,{className:u,...i,children:p}),t[15]=c,t[16]=i,t[17]=u,t[18]=p,t[19]=m):m=t[19],m}function _h(e){let t=(0,Ki.c)(17),{title:n,children:r,surface:i,scrollsWithPage:a,showHeader:o,trailing:s,className:c,surfaceClassName:l,surfaceAriaLabel:u}=e,d=i===void 0||i,f=a!==void 0&&a,p=o===void 0||o,m=f&&`oc-mobile-tab-page-flow`,h=!p&&`gap-0`,g;t[0]!==c||t[1]!==m||t[2]!==h?(g=q(`oc-mobile-tab-page`,m,h,c),t[0]=c,t[1]=m,t[2]=h,t[3]=g):g=t[3];let _;t[4]!==p||t[5]!==n||t[6]!==s?(_=p?(0,$.jsx)(vi,{title:n,trailing:s}):null,t[4]=p,t[5]=n,t[6]=s,t[7]=_):_=t[7];let v;t[8]!==r||t[9]!==d||t[10]!==u||t[11]!==l?(v=d?(0,$.jsx)(hh,{className:q(`oc-mobile-tab-page-surface`,l),"aria-label":u,children:r}):(0,$.jsx)(`div`,{className:q(`oc-mobile-tab-page-content`,l),"aria-label":u,children:r}),t[8]=r,t[9]=d,t[10]=u,t[11]=l,t[12]=v):v=t[12];let y;return t[13]!==g||t[14]!==_||t[15]!==v?(y=(0,$.jsxs)(`div`,{className:g,children:[_,v]}),t[13]=g,t[14]=_,t[15]=v,t[16]=y):y=t[16],y}function vh(e){let t=(0,Ki.c)(12),{label:n,children:r,className:i,cardClassName:a,ariaLabel:o}=e,s;t[0]!==a||t[1]!==i?(s=q(`oc-mobile-labeled-surface-group`,a,i),t[0]=a,t[1]=i,t[2]=s):s=t[2];let c;t[3]===n?c=t[4]:(c=(0,$.jsx)(`div`,{className:`oc-mobile-labeled-surface-group-label`,children:n}),t[3]=n,t[4]=c);let l;t[5]===r?l=t[6]:(l=r?(0,$.jsx)(`div`,{className:`oc-mobile-labeled-surface-group-content`,children:r}):null,t[5]=r,t[6]=l);let u;return t[7]!==o||t[8]!==s||t[9]!==c||t[10]!==l?(u=(0,$.jsxs)(`section`,{className:s,"aria-label":o,children:[c,l]}),t[7]=o,t[8]=s,t[9]=c,t[10]=l,t[11]=u):u=t[11],u}function yh(e){let t=(0,Ki.c)(10),{label:n,children:r,ariaLabel:i,className:a,borderless:o}=e,s=o!==void 0&&o,c;t[0]===a?c=t[1]:(c=q(`oc-mobile-settings-group`,a),t[0]=a,t[1]=c);let l=s&&`oc-mobile-settings-card-borderless`,u;t[2]===l?u=t[3]:(u=q(`oc-mobile-settings-card`,l),t[2]=l,t[3]=u);let d;return t[4]!==i||t[5]!==r||t[6]!==n||t[7]!==c||t[8]!==u?(d=(0,$.jsx)(Jr,{label:n,ariaLabel:i,className:c,cardClassName:u,children:r}),t[4]=i,t[5]=r,t[6]=n,t[7]=c,t[8]=u,t[9]=d):d=t[9],d}var bh=e({SettingsView:()=>Fh,getSettingsNavIcon:()=>Nh}),xh=176,Sh=280,Ch=8,wh=`__openchamberSettingsDetail`;function Th(e){return Math.min(Sh,Math.max(xh,e))}var Eh=`__add_provider__`;function Dh(e,t){return{isVSCode:D(),isWeb:!e&&L(),isDesktop:e,isMobile:t}}function Oh(e,t){return!e.isAvailable||e.isAvailable(t)}function kh(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ah(e,t){let n=new Set(t),r=e,i=1;for(;n.has(r);)r=`${e}-${i}`,i+=1;return r}function jh(e){if(!kh(e))return null;let t=e[wh];if(!kh(t))return null;let n=t.page,r=t.stage;return typeof n!=`string`||r!==`page-content`?null:{page:Fi(n),stage:r}}function Mh(){return typeof window>`u`||!kh(window.history.state)?{}:window.history.state}function Nh(e){switch(e){case`projects`:return`folders`;case`instances`:return`server`;case`remote-instances`:return`server`;case`appearance`:return`palette`;case`chat`:return`chat-ai-3`;case`magic-prompts`:return`ai-generate-2`;case`notifications`:return`notification-3`;case`shortcuts`:return`command`;case`sessions`:return`chat-history`;case`archived-sessions`:return`archive`;case`summary-ai`:return`ai-generate-2`;case`providers`:return`cloud`;case`agents`:return`node-tree`;case`assistants`:return`robot-2`;case`behavior`:return`brain`;case`commands`:return`slash-commands-2`;case`mcp`:return null;case`plugins`:return`code-box`;case`global-config`:return`settings-3`;case`skills.installed`:return`book-open`;case`skills.catalog`:return`book`;case`git`:return`git-branch`;case`usage`:return`bar-chart-2`;case`voice`:return`mic`;case`about`:return`information`;case`home`:return null;default:return`robot-2`}}var Ph=e=>{let t=(0,Ki.c)(95),{onOpen:n}=e,{t:r}=Fe(),i;t[0]===r?i=t[1]:(i=r(`settings.view.home.title`),t[0]=r,t[1]=i);let a;t[2]===i?a=t[3]:(a=(0,$.jsx)(`h1`,{className:`typography-ui-header font-semibold text-foreground`,children:i}),t[2]=i,t[3]=a);let o;t[4]===r?o=t[5]:(o=r(`settings.view.home.description`),t[4]=r,t[5]=o);let s;t[6]===o?s=t[7]:(s=(0,$.jsx)(`p`,{className:`typography-ui text-muted-foreground`,children:o}),t[6]=o,t[7]=s);let c;t[8]!==a||t[9]!==s?(c=(0,$.jsxs)(`div`,{className:`space-y-1`,children:[a,s]}),t[8]=a,t[9]=s,t[10]=c):c=t[10];let l;t[11]===n?l=t[12]:(l=()=>n(`providers`),t[11]=n,t[12]=l);let u;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(u=q(`rounded-lg border border-border bg-[var(--surface-elevated)] p-4 text-left`,`hover:bg-[var(--interactive-hover)] transition-colors`),t[13]=u):u=t[13];let d;t[14]===r?d=t[15]:(d=r(`settings.view.home.cards.providers.title`),t[14]=r,t[15]=d);let f;t[16]===d?f=t[17]:(f=(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:d}),t[16]=d,t[17]=f);let p;t[18]===r?p=t[19]:(p=r(`settings.view.home.cards.providers.description`),t[18]=r,t[19]=p);let m;t[20]===p?m=t[21]:(m=(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70`,children:p}),t[20]=p,t[21]=m);let h;t[22]!==m||t[23]!==l||t[24]!==f?(h=(0,$.jsxs)(`button`,{type:`button`,onClick:l,className:u,children:[f,m]}),t[22]=m,t[23]=l,t[24]=f,t[25]=h):h=t[25];let g;t[26]===n?g=t[27]:(g=()=>n(`agents`),t[26]=n,t[27]=g);let _;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(_=q(`rounded-lg border border-border bg-[var(--surface-elevated)] p-4 text-left`,`hover:bg-[var(--interactive-hover)] transition-colors`),t[28]=_):_=t[28];let v;t[29]===r?v=t[30]:(v=r(`settings.view.home.cards.agents.title`),t[29]=r,t[30]=v);let y;t[31]===v?y=t[32]:(y=(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:v}),t[31]=v,t[32]=y);let b;t[33]===r?b=t[34]:(b=r(`settings.view.home.cards.agents.description`),t[33]=r,t[34]=b);let x;t[35]===b?x=t[36]:(x=(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70`,children:b}),t[35]=b,t[36]=x);let S;t[37]!==g||t[38]!==y||t[39]!==x?(S=(0,$.jsxs)(`button`,{type:`button`,onClick:g,className:_,children:[y,x]}),t[37]=g,t[38]=y,t[39]=x,t[40]=S):S=t[40];let C;t[41]===n?C=t[42]:(C=()=>n(`skills.catalog`),t[41]=n,t[42]=C);let w;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(w=q(`rounded-lg border border-border bg-[var(--surface-elevated)] p-4 text-left`,`hover:bg-[var(--interactive-hover)] transition-colors`),t[43]=w):w=t[43];let T;t[44]===r?T=t[45]:(T=r(`settings.view.home.cards.skillsCatalog.title`),t[44]=r,t[45]=T);let E;t[46]===T?E=t[47]:(E=(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:T}),t[46]=T,t[47]=E);let D;t[48]===r?D=t[49]:(D=r(`settings.view.home.cards.skillsCatalog.description`),t[48]=r,t[49]=D);let O;t[50]===D?O=t[51]:(O=(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70`,children:D}),t[50]=D,t[51]=O);let k;t[52]!==C||t[53]!==E||t[54]!==O?(k=(0,$.jsxs)(`button`,{type:`button`,onClick:C,className:w,children:[E,O]}),t[52]=C,t[53]=E,t[54]=O,t[55]=k):k=t[55];let A;t[56]===n?A=t[57]:(A=()=>n(`mcp`),t[56]=n,t[57]=A);let j;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(j=q(`rounded-lg border border-border bg-[var(--surface-elevated)] p-4 text-left`,`hover:bg-[var(--interactive-hover)] transition-colors`),t[58]=j):j=t[58];let M;t[59]===r?M=t[60]:(M=r(`settings.view.home.cards.mcp.title`),t[59]=r,t[60]=M);let N;t[61]===M?N=t[62]:(N=(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:M}),t[61]=M,t[62]=N);let P;t[63]===r?P=t[64]:(P=r(`settings.view.home.cards.mcp.description`),t[63]=r,t[64]=P);let F;t[65]===P?F=t[66]:(F=(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70`,children:P}),t[65]=P,t[66]=F);let I;t[67]!==A||t[68]!==N||t[69]!==F?(I=(0,$.jsxs)(`button`,{type:`button`,onClick:A,className:j,children:[N,F]}),t[67]=A,t[68]=N,t[69]=F,t[70]=I):I=t[70];let L;t[71]===n?L=t[72]:(L=()=>n(`usage`),t[71]=n,t[72]=L);let R;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(R=q(`rounded-lg border border-border bg-[var(--surface-elevated)] p-4 text-left`,`hover:bg-[var(--interactive-hover)] transition-colors`),t[73]=R):R=t[73];let z;t[74]===r?z=t[75]:(z=r(`settings.view.home.cards.usage.title`),t[74]=r,t[75]=z);let B;t[76]===z?B=t[77]:(B=(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:z}),t[76]=z,t[77]=B);let V;t[78]===r?V=t[79]:(V=r(`settings.view.home.cards.usage.description`),t[78]=r,t[79]=V);let H;t[80]===V?H=t[81]:(H=(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70`,children:V}),t[80]=V,t[81]=H);let U;t[82]!==L||t[83]!==B||t[84]!==H?(U=(0,$.jsxs)(`button`,{type:`button`,onClick:L,className:R,children:[B,H]}),t[82]=L,t[83]=B,t[84]=H,t[85]=U):U=t[85];let W;t[86]!==h||t[87]!==S||t[88]!==k||t[89]!==I||t[90]!==U?(W=(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[h,S,k,I,U]}),t[86]=h,t[87]=S,t[88]=k,t[89]=I,t[90]=U,t[91]=W):W=t[91];let ee;return t[92]!==W||t[93]!==c?(ee=(0,$.jsx)(`div`,{className:`h-full overflow-auto`,children:(0,$.jsxs)(`div`,{className:`mx-auto w-full max-w-3xl px-6 py-6 space-y-6`,children:[c,W]})}),t[92]=W,t[93]=c,t[94]=ee):ee=t[94],ee},Fh=e=>{let t=(0,Ki.c)(183),{onClose:n,mobileInstancesPage:r,forceMobile:i,isWindowed:a,visiblePageSlugs:o,hideMobileHeader:s,flowMobile:c,autoOpenMobilePage:l,initialMobileStage:u,onMobileStageChange:d}=e,f=s!==void 0&&s,p=c!==void 0&&c,m=l===void 0||l,h=u===void 0?`nav`:u,{t:g}=Fe(),_;t[0]===g?_=t[1]:(_={mutationFn:Yt,onError:()=>ke.error(g(`chat.chatInput.toast.reloadFailed`))},t[0]=g,t[1]=_);let v=Te(_),y;t[2]===v?y=t[3]:(y=()=>{v.isPending||v.mutate()},t[2]=v,t[3]=y);let b=Me(y),x=Tr(),C=i??x.isMobile,w=K(Ih),T=K(Lh),E=K(Rh),D;t[4]===w?D=t[5]:(D=Fi(w),t[4]=w,t[5]=D);let k=D;Yn();let A=k===`commands`,M;t[6]===A?M=t[7]:(M={enabled:A},t[6]=A,t[7]=M);let{refetch:N}=Ht(M),P,F;t[8]!==N||t[9]!==k?(P=()=>{k===`commands`&&N()},F=[N,k],t[8]=N,t[9]=k,t[10]=P,t[11]=F):(P=t[10],F=t[11]),Q.useEffect(P,F);let[I,L]=Q.useState(h),R=f&&I===`nav`,z=C&&p,B=Q.useRef(null),V=Q.useRef(0),H=Xt(zh),U,W;t[12]!==C||t[13]!==H||t[14]!==E||t[15]!==k?(U=()=>{if(!C||H<=V.current)return;let e=Xt.getState().settingsSelectedAssistantID;if(!(!e||e===`new`)){if(k!==`assistants`){E(`assistants`);return}V.current=H,B.current=`assistants`,L(`page-content`)}},W=[C,H,E,k],t[12]=C,t[13]=H,t[14]=E,t[15]=k,t[16]=U,t[17]=W):(U=t[16],W=t[17]),Q.useEffect(U,W);let ee,G;t[18]!==I||t[19]!==d?(ee=()=>{d?.(I)},G=[I,d],t[18]=I,t[19]=d,t[20]=ee,t[21]=G):(ee=t[20],G=t[21]),Q.useEffect(ee,G);let[te,ne]=Q.useState(216),[re,ie]=Q.useState(null),[ae,oe]=Q.useState(``),[se,ce]=Q.useState(null),[le,ue]=Q.useState(0),[de,fe]=Q.useState(!1),[pe,me]=Q.useState(!1),ge=Q.useRef(0),_e=Q.useRef(te),ve=Q.useRef(null),ye=Q.useRef(null),be=Q.useRef(null),xe=Q.useRef(null),Se=Q.useRef(null),Ce=Q.useRef(null),we;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(we=[],t[22]=we):we=t[22];let Ee=Q.useRef(we),De=Q.useRef(0),Oe=Q.useRef(!1),Ae;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=j(),t[23]=Ae):Ae=t[23];let je=Ae,Ne;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=j()&&S(),t[24]=Ne):Ne=t[24];let Pe=Ne,Ie;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=j()&&typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`darwin`,t[25]=Ie):Ie=t[25];let Re=Ie,ze;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(ze=j()&&typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`win32`,t[26]=ze):ze=t[26];let Be=ze,Ve;t[27]===C?Ve=t[28]:(Ve=Dh(je,C),t[27]=C,t[28]=Ve);let He=Ve,Ue;if(t[29]!==C||t[30]!==r||t[31]!==He||t[32]!==o){let e=o?new Set(o):null,n;t[34]===He?n=t[35]:(n=e=>Oh(e,He),t[34]=He,t[35]=n);let i;t[36]===r?i=t[37]:(i=e=>e.slug!==`instances`||!!r,t[36]=r,t[37]=i);let a;t[38]===He.isVSCode?a=t[39]:(a=e=>!(He.isVSCode&&e.slug===`projects`),t[38]=He.isVSCode,t[39]=a);let s;t[40]===C?s=t[41]:(s=e=>!(C&&e.slug===`shortcuts`),t[40]=C,t[41]=s),Ue=Mi.filter(Bh).filter(t=>!e||e.has(t.slug)).filter(n).filter(i).filter(a).filter(s),t[29]=C,t[30]=r,t[31]=He,t[32]=o,t[33]=Ue}else Ue=t[33];let We=Ue,Ge;t[42]===We?Ge=t[43]:(Ge=Li(We),t[42]=We,t[43]=Ge);let Ke=Ge,qe=Tt(Vh),Je,Ye;t[44]===de?(Je=t[45],Ye=t[46]):(Je=()=>{if(typeof window>`u`)return;let e=()=>{if(!de){let e=Th(Math.floor(window.innerWidth*.12));ne(e)}};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},Ye=[de],t[44]=de,t[45]=Je,t[46]=Ye),Q.useEffect(Je,Ye);let Xe,Qe;t[47]===pe?(Xe=t[48],Qe=t[49]):(Xe=()=>{if(!pe)return;let e=e=>{let t=e.clientX-ge.current,n=Th(_e.current+t);ne(n),fe(!0)},t=()=>me(!1);return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t,{once:!0}),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}},Qe=[pe],t[47]=pe,t[48]=Xe,t[49]=Qe),Q.useEffect(Xe,Qe);let $e;t[50]===te?$e=t[51]:($e=e=>{me(!0),ge.current=e.clientX,_e.current=te,e.preventDefault()},t[50]=te,t[51]=$e);let et=$e,tt;t[52]===te?tt=t[53]:(tt=e=>{let t=e.shiftKey?32:Ch,n;bb160:switch(e.key){case`ArrowLeft`:n=te-t;break bb160;case`ArrowRight`:n=te+t;break bb160;case`Home`:n=xh;break bb160;case`End`:n=Sh;break bb160;default:return}e.preventDefault(),ne(Th(n)),fe(!0)},t[52]=te,t[53]=tt);let nt=tt,rt;t[54]!==T||t[55]!==a||t[56]!==He.isVSCode||t[57]!==k?(rt=()=>{if(!(!T&&!He.isVSCode&&!a)){if(k===`agents`){_t.getState().loadAgents();return}if(k!==`commands`&&k!==`mcp`){if(k===`plugins`){qc.getState().loadPlugins();return}(k===`skills.installed`||k===`skills.catalog`)&&gt(O,vt())}}},t[54]=T,t[55]=a,t[56]=He.isVSCode,t[57]=k,t[58]=rt):rt=t[58];let it;t[59]!==qe||t[60]!==T||t[61]!==a||t[62]!==He.isVSCode||t[63]!==k?(it=[qe,T,a,He.isVSCode,k],t[59]=qe,t[60]=T,t[61]=a,t[62]=He.isVSCode,t[63]=k,t[64]=it):it=t[64],Q.useEffect(rt,it);let at;t[65]!==C||t[66]!==E?(at=e=>{if(E(e),B.current=e,!C)return;let t=Ni(e);if(!t||t.slug===`home`){L(`nav`);return}L(t.kind===`split`?`page-sidebar`:`page-content`)},t[65]=C,t[66]=E,t[67]=at):at=t[67];let ot=at,st;t[68]===k?st=t[69]:(st=Ni(k),t[68]=k,t[69]=st);let ct=st,lt;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(lt={appearance:`visual`,chat:`chat`,shortcuts:`shortcuts`,sessions:`sessions`,"summary-ai":`summary-ai`,notifications:`notifications`,voice:`voice`},t[70]=lt):lt=t[70];let ut=lt,dt;t[71]===g?dt=t[72]:(dt=e=>{switch(e){case`projects`:return g(`settings.page.projects.title`);case`instances`:return g(`mobile.settings.switchInstance`);case`remote-instances`:return g(`settings.page.remoteInstances.title`);case`providers`:return g(`settings.page.providers.title`);case`usage`:return g(`settings.page.usage.title`);case`agents`:return g(`settings.page.agents.title`);case`assistants`:return g(`settings.page.assistants.title`);case`behavior`:return g(`settings.page.behavior.title`);case`commands`:return g(`settings.page.commands.title`);case`mcp`:return g(`settings.page.mcp.title`);case`plugins`:return g(`settings.page.plugins.title`);case`global-config`:return g(`settings.globalConfig.title`);case`skills.installed`:return g(`settings.page.skills.title`);case`skills.catalog`:return g(`settings.page.skillsCatalog.title`);case`git`:return g(`settings.page.git.title`);case`appearance`:return g(`settings.page.appearance.title`);case`chat`:return g(`settings.page.chat.title`);case`shortcuts`:return g(`settings.page.shortcuts.title`);case`sessions`:return g(`settings.page.sessions.title`);case`archived-sessions`:return g(`settings.page.archivedSessions.title`);case`summary-ai`:return g(`settings.page.summaryAI.title`);case`magic-prompts`:return g(`settings.page.magicPrompts.title`);case`notifications`:return g(`settings.page.notifications.title`);case`voice`:return g(`settings.page.voice.title`);case`about`:return g(`settings.page.about.title`);default:return g(`settings.view.home.title`)}},t[71]=g,t[72]=dt);let ft=dt,Y;t[73]!==ft||t[74]!==He||t[75]!==ae||t[76]!==g||t[77]!==We?(Y=mh({query:ae,runtimeCtx:{...He,isDesktopLocalOrigin:Pe,isMac:Re,isWindows:Be},visiblePageSlugs:We.map(Hh),t:g,getPageTitle:ft}),t[73]=ft,t[74]=He,t[75]=ae,t[76]=g,t[77]=We,t[78]=Y):Y=t[78];let pt=Y,mt=qh,ht;if(t[79]!==pt){ht=[];let e=new Map;for(let t of pt){let n=e.get(t.page);n||(n={page:t.page,pageTitle:t.pageTitle,results:[]},e.set(t.page,n),ht.push(n)),n.results.push(t)}t[79]=pt,t[80]=ht}else ht=t[80];let yt=ht,bt;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(bt=()=>{ue(0),De.current=0,Oe.current=!1},t[81]=bt):bt=t[81];let xt;t[82]===ae?xt=t[83]:(xt=[ae],t[82]=ae,t[83]=xt),Q.useEffect(bt,xt);let St,Ct;t[84]===le?(St=t[85],Ct=t[86]):(St=()=>{De.current=le},Ct=[le],t[84]=le,t[85]=St,t[86]=Ct),Q.useEffect(St,Ct);let wt,Et;t[87]===le?(wt=t[88],Et=t[89]):(wt=()=>{Ee.current[le]?.scrollIntoView({block:`nearest`})},Et=[le],t[87]=le,t[88]=wt,t[89]=Et),Q.useEffect(wt,Et);let Dt,Ot;t[90]!==le||t[91]!==pt.length?(Dt=()=>{le>=pt.length&&ue(Math.max(0,pt.length-1)),Ee.current.length=pt.length},Ot=[le,pt.length],t[90]=le,t[91]=pt.length,t[92]=Dt,t[93]=Ot):(Dt=t[92],Ot=t[93]),Q.useEffect(Dt,Ot);let kt;t[94]!==C||t[95]!==ot?(kt=e=>{let t=mt(e);ce(t),ot(e.page),C&&L(`page-content`),e.id===`plugins.create`&&typeof window<`u`&&window.setTimeout(Jh,50)},t[94]=C,t[95]=ot,t[96]=kt):kt=t[96];let At=kt,jt;t[97]!==At||t[98]!==ae||t[99]!==pt?(jt=e=>{if(ae.trim()){if(e.key===`Escape`){e.preventDefault(),oe(``);return}if(pt.length!==0){if(e.key===`ArrowDown`){e.preventDefault(),Oe.current=!0,ue(e=>(e+1)%pt.length);return}if(e.key===`ArrowUp`){e.preventDefault(),Oe.current=!0,ue(e=>(e-1+pt.length)%pt.length);return}if(e.key===`Enter`){e.preventDefault();let t=(De.current%pt.length+pt.length)%pt.length,n=pt[t]??pt[0];n&&At(n)}}}},t[97]=At,t[98]=ae,t[99]=pt,t[100]=jt):jt=t[100];let Mt=jt,Nt;t[101]===se?Nt=t[102]:(Nt=()=>{let e=se;if(!e)return;let t=!1,n=window.requestAnimationFrame(()=>{if(t)return;let n=typeof CSS<`u`&&CSS.escape?CSS.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,`\\$&`),r=ve.current?.querySelector(`[data-settings-item="${n}"]`);r&&(ce(null),r.scrollIntoView({block:`center`,behavior:`smooth`}),r.setAttribute(`data-settings-search-highlight`,`true`),window.setTimeout(()=>{r.removeAttribute(`data-settings-search-highlight`)},1600))});return()=>{t=!0,window.cancelAnimationFrame(n)}},t[101]=se,t[102]=Nt);let Pt;t[103]!==se||t[104]!==k?(Pt=[se,k],t[103]=se,t[104]=k,t[105]=Pt):Pt=t[105],Q.useEffect(Nt,Pt);let Ft;t[106]===g?Ft=t[107]:(Ft=()=>(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-6`,children:(0,$.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,$.jsx)(`div`,{className:`typography-ui-header font-semibold text-foreground`,children:g(`settings.view.unavailable.title`)}),(0,$.jsx)(`p`,{className:`typography-ui text-muted-foreground mt-1`,children:g(`settings.view.unavailable.description`)})]})}),t[106]=g,t[107]=Ft);let It=Ft,Lt=Yh,Rt;t[108]!==C||t[109]!==He.isVSCode||t[110]!==k?(Rt=()=>{if(C){if(he()||He.isVSCode){L(`page-sidebar`);return}if((typeof window<`u`?jh(window.history.state):null)?.page===k){window.history.back();return}L(`page-sidebar`)}},t[108]=C,t[109]=He.isVSCode,t[110]=k,t[111]=Rt):Rt=t[111];let zt=Rt,Bt;t[112]!==re||t[113]!==zt||t[114]!==C||t[115]!==z||t[116]!==r||t[117]!==ot||t[118]!==It||t[119]!==He?(Bt=e=>{let t=Ni(e);if(t&&!Oh(t,He))return It();switch(e){case`home`:return(0,$.jsx)(Ph,{onOpen:ot});case`projects`:return(0,$.jsx)(Uu,{});case`instances`:return r??It();case`remote-instances`:return(0,$.jsx)(gf,{});case`agents`:return(0,$.jsx)(Do,{});case`assistants`:return(0,$.jsx)(Jo,{onItemDeleted:C?zt:void 0,saveActionContainer:C?re:void 0});case`behavior`:return(0,$.jsx)(os,{});case`commands`:return(0,$.jsx)(ms,{});case`mcp`:return(0,$.jsx)($s,{});case`plugins`:return(0,$.jsx)(Hl,{});case`global-config`:return(0,$.jsx)(Gl,{});case`skills.installed`:return(0,$.jsx)(Pu,{view:`installed`});case`skills.catalog`:return(0,$.jsx)(Pu,{view:`catalog`});case`providers`:return(0,$.jsx)(zf,{});case`usage`:return(0,$.jsx)(fp,{});case`about`:return(0,$.jsx)(`div`,{className:q(`h-full overflow-auto px-5 py-6`,z&&`h-auto overflow-visible p-3`),children:(0,$.jsx)(ta,{})});case`magic-prompts`:return(0,$.jsx)(xp,{});case`git`:return(0,$.jsx)(kp,{});case`archived-sessions`:return(0,$.jsx)(dh,{});case`appearance`:case`chat`:case`shortcuts`:case`sessions`:case`summary-ai`:case`notifications`:case`voice`:{let t=ut[e]??`visual`;return(0,$.jsx)(th,{section:t,flowMobile:z})}default:return(0,$.jsx)(Ph,{onOpen:ot})}},t[112]=re,t[113]=zt,t[114]=C,t[115]=z,t[116]=r,t[117]=ot,t[118]=It,t[119]=He,t[120]=Bt):Bt=t[120];let Vt=Bt,Ut,Wt;t[121]!==m||t[122]!==C||t[123]!==I||t[124]!==k?(Ut=()=>{if(!C||!m||I!==`nav`||k===`home`||B.current===k)return;let e=Ni(k);!e||e.slug===`home`||(B.current=k,L(e.kind===`split`?`page-sidebar`:`page-content`))},Wt=[m,C,I,k],t[121]=m,t[122]=C,t[123]=I,t[124]=k,t[125]=Ut,t[126]=Wt):(Ut=t[125],Wt=t[126]),Q.useEffect(Ut,Wt);let Gt,Kt;t[127]!==p||t[128]!==k?(Gt=()=>{!p||k!==`home`||(B.current=null,L(`nav`))},Kt=[p,k],t[127]=p,t[128]=k,t[129]=Gt,t[130]=Kt):(Gt=t[129],Kt=t[130]),Q.useEffect(Gt,Kt);let qt=C&&I!==`nav`,Jt=C&&I===`page-content`&&ct?.kind===`split`,Zt=I===`page-content`&&ct?.kind===`split`&&!Jt,Qt;t[131]!==Jt||t[132]!==qt||t[133]!==g?(Qt=g(Jt?`settings.view.actions.back`:qt?`settings.view.actions.backToSettings`:`settings.view.actions.closeSettings`),t[131]=Jt,t[132]=qt,t[133]=g,t[134]=Qt):Qt=t[134];let $t=Qt,en=Le(),tn;t[135]===He.isVSCode?tn=t[136]:(tn=e=>{if(typeof window>`u`||He.isVSCode||he())return;let t=jh(window.history.state);(t?.page!==e||t.stage!==`page-content`)&&window.history.pushState({...Mh(),[wh]:{page:e,stage:`page-content`}},``,window.location.href)},t[135]=He.isVSCode,t[136]=tn);let nn=tn,rn;t[137]!==nn||t[138]!==k?(rn=()=>{L(`page-content`),nn(k)},t[137]=nn,t[138]=k,t[139]=rn):rn=t[139];let an=rn,on;t[140]!==Jt||t[141]!==p||t[142]!==zt||t[143]!==E?(on=()=>{if(p&&X.getState().settingsReturnTo){B.current=null,L(`nav`),E(`home`),X.getState().restoreSettingsReturnTo();return}if(Jt){zt();return}L(`nav`)},t[140]=Jt,t[141]=p,t[142]=zt,t[143]=E,t[144]=on):on=t[144];let sn=on,cn;t[145]!==ct?.kind||t[146]!==I?(cn=()=>{if(I===`page-content`){Se.current=xe.current,Ce.current=ct?.kind===`split`?be.current:ye.current;return}Se.current=be.current,Ce.current=ye.current},t[145]=ct?.kind,t[146]=I,t[147]=cn):cn=t[147];let ln=ct?.kind,un;t[148]!==I||t[149]!==ln?(un=[ln,I],t[148]=I,t[149]=ln,t[150]=un):un=t[150],Q.useLayoutEffect(cn,un);let dn=`mobile-settings:${k}`,fn=z&&I!==`nav`,pn;t[151]!==sn||t[152]!==dn||t[153]!==fn?(pn={id:dn,active:fn,onBack:sn,surfaceRef:Se,underlayRef:Ce},t[151]=sn,t[152]=dn,t[153]=fn,t[154]=pn):pn=t[154],Nr(pn);let mn,hn;t[155]!==C||t[156]!==He.isVSCode||t[157]!==k?(mn=()=>{if(!C||He.isVSCode||he())return;let e=e=>{if(Ni(k)?.kind===`split`){if(jh(e.state)?.page===k){L(`page-content`);return}L(Xh)}};return window.addEventListener(`popstate`,e),()=>{window.removeEventListener(`popstate`,e)}},hn=[C,He.isVSCode,k],t[155]=C,t[156]=He.isVSCode,t[157]=k,t[158]=mn,t[159]=hn):(mn=t[158],hn=t[159]),Q.useEffect(mn,hn);let gn;t[160]===Symbol.for(`react.memo_cache_sentinel`)?(gn=()=>{L(`page-sidebar`)},t[160]=gn):gn=t[160];let vn=gn,bn=()=>{let e=ae.trim().length>0;return(0,$.jsxs)(`div`,{className:q(`flex h-full flex-col overflow-hidden`,C&&`oc-settings-navigation-content`,z&&`h-auto w-full overflow-visible`),children:[(0,$.jsx)(`div`,{className:q(`px-2 pt-3`,C&&`oc-mobile-settings-search`),children:(0,$.jsxs)(`div`,{className:q(`flex h-10 items-center gap-1.5 rounded-md border border-border bg-background/70 px-2 text-muted-foreground focus-within:ring-2 focus-within:ring-primary/40 sm:h-8`,C&&`oc-mobile-settings-search-field`),children:[(0,$.jsx)(Z,{name:`search`,className:`h-4 w-4 shrink-0`}),(0,$.jsx)(`input`,{value:ae,onChange:e=>oe(e.target.value),onKeyDown:Mt,placeholder:g(`settings.view.search.placeholder`),"aria-label":g(`settings.view.search.aria`),className:`typography-ui min-w-0 flex-1 bg-transparent text-foreground outline-none placeholder:text-muted-foreground/70`}),e&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>oe(``),"aria-label":g(`settings.view.search.clear`),className:`inline-flex h-7 w-7 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-interactive-hover hover:text-foreground sm:h-5 sm:w-5`,children:(0,$.jsx)(Z,{name:`close`,className:`h-3.5 w-3.5`})})]})}),(0,$.jsx)(`div`,{className:q(`flex-1 min-h-0 overflow-y-auto overflow-x-hidden`,z&&`w-full flex-none overflow-visible`),children:(0,$.jsx)(`div`,{className:q(C?`oc-mobile-settings-nav-list flex min-w-0 flex-col`:`flex flex-col gap-0.5 px-2 pb-2 pt-4`),children:e?pt.length>0?(()=>{let e=0;return yt.map(t=>{let n=t.results.map(t=>{let n=e;e+=1;let r=n===le,i=!!t.description;return(0,$.jsxs)(`button`,{type:`button`,ref:e=>{Ee.current[n]=e},onMouseMove:()=>{Oe.current=!1,ue(n)},onClick:()=>At(t),className:q(C?`oc-mobile-settings-row oc-mobile-settings-search-result`:`flex w-full flex-col rounded-md px-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,i?`min-h-11 py-1.5`:`py-2`,r?`bg-interactive-selection`:`hover:bg-interactive-hover`),children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:t.title}),i&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 line-clamp-2`,children:t.description})]}),C?(0,$.jsx)(Z,{name:`arrow-right-s`,className:`size-4 shrink-0 text-muted-foreground/60`}):null]},t.id)});return C?(0,$.jsx)(yh,{label:t.pageTitle,ariaLabel:t.pageTitle,children:n},t.page):(0,$.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,$.jsx)(`div`,{className:`px-2 pb-0.5 pt-2 typography-micro font-medium text-muted-foreground/70`,children:t.pageTitle}),n]},t.page)})})():(0,$.jsx)(`div`,{className:`px-2 py-6 text-center typography-ui text-muted-foreground`,children:g(`settings.view.search.noResults`)}):(0,$.jsx)($.Fragment,{children:Ke.map((e,t)=>{let{group:n,pages:r}=e,i=g(`settings.view.navigation.groups.${n}`),a=r.map(e=>{let t=k===e.slug,n=Nh(e.slug);return!n&&e.slug!==`mcp`?null:(0,$.jsx)(yn,{children:(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>ot(e.slug),"aria-current":t?`page`:void 0,className:q(C?`oc-mobile-settings-row`:`flex h-8 w-full items-center gap-2 overflow-hidden rounded-md px-2 text-left`,t&&!C?`bg-interactive-selection text-foreground`:`text-foreground hover:bg-interactive-hover`),children:[e.slug===`mcp`?(0,$.jsx)(ni,{className:`h-4 w-4 shrink-0`}):(0,$.jsx)(Z,{name:n,className:`h-4 w-4 shrink-0`}),(0,$.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 overflow-hidden whitespace-nowrap transition-opacity duration-150 opacity-100`,children:(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate`,children:ft(e.slug)})}),C?(0,$.jsx)(Z,{name:`arrow-right-s`,className:`size-4 shrink-0 text-muted-foreground/60`}):null]})})},e.slug)});return C?(0,$.jsx)(yh,{label:i,ariaLabel:i,children:a},n):(0,$.jsxs)(`div`,{className:q(`space-y-0.5`,t>0&&`pt-3`),children:[(0,$.jsx)(`div`,{className:`px-2 pb-0.5 typography-micro font-medium text-muted-foreground/70`,children:i}),a]},n)})})})}),(0,$.jsx)(`div`,{className:q(`overflow-hidden transition-opacity duration-150 opacity-100`,C&&`oc-mobile-settings-footer`),children:(0,$.jsx)(`div`,{className:q(`border-t-[0.5px] border-border/40 bg-sidebar px-2 py-1 space-y-0.5`,C&&`oc-mobile-floating-surface oc-mobile-settings-card`),children:!He.isVSCode&&(0,$.jsxs)(J,{type:`button`,variant:`ghost`,size:`sm`,disabled:v.isPending,"aria-busy":v.isPending,className:q(C?`oc-mobile-settings-row`:`w-full justify-start overflow-hidden`,`text-sm font-semibold text-sidebar-foreground/90`,`hover:text-sidebar-foreground hover:bg-interactive-hover`),onClick:b,children:[(0,$.jsx)(Z,{name:`restart`,className:q(`h-4 w-4 shrink-0`,v.isPending&&`animate-spin`)}),(0,$.jsx)(`span`,{children:g(`settings.view.actions.reloadOpenCode`)})]})})})]})},xn=()=>(0,$.jsx)(`div`,{className:q(`flex-1 min-h-0 overflow-hidden`,z?`w-full flex-none overflow-visible bg-transparent`:He.isVSCode?`bg-background`:`bg-sidebar`),children:(0,$.jsx)(`div`,{className:q(`flex h-full min-h-0 flex-col`,z&&`h-auto w-full overflow-visible`),children:(0,$.jsx)(xr,{children:bn()})})}),Sn=e=>{let t=e===void 0?I:e;if(t===`nav`)return xn();let n=q(`flex-1 min-h-0 overflow-hidden bg-transparent`,z?`w-full flex-none overflow-visible`:`px-[var(--oc-mobile-page-inline-inset)]`);if(!ct)return(0,$.jsx)(`div`,{className:n});if(t===`page-sidebar`){if(ct.kind!==`split`){let e=Vt(k);return(0,$.jsx)(`div`,{className:n,children:(0,$.jsx)(hh,{className:`oc-mobile-settings-detail-card`,children:(0,$.jsx)(xr,{children:e})})})}return(0,$.jsx)(`div`,{className:n,children:(0,$.jsx)(hh,{className:`oc-mobile-settings-detail-card`,children:(0,$.jsx)(xr,{children:Lt(k,{onItemSelect:an})})})})}let r=Vt(k);return(0,$.jsx)(`div`,{className:n,children:(0,$.jsx)(hh,{className:`oc-mobile-settings-detail-card`,children:(0,$.jsx)(xr,{children:r})})})},Cn;t[161]!==ct||t[162]!==ot||t[163]!==Vt||t[164]!==He.isVSCode||t[165]!==k?(Cn=()=>!ct||k===`home`?(0,$.jsx)(Ph,{onOpen:ot}):k===`usage`?(0,$.jsx)(Wf,{children:(0,$.jsx)(xr,{children:(0,$.jsx)(fp,{})})}):ct.kind===`split`?(0,$.jsxs)(`div`,{className:`oc-settings-entity-split flex h-full min-h-0 overflow-hidden`,children:[(0,$.jsx)(`div`,{className:q(`oc-settings-entity-list min-h-0 border-r-[0.5px] border-border/40`,He.isVSCode?`bg-background`:`bg-sidebar`),children:(0,$.jsx)(xr,{children:Lt(k,{})})}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0 min-h-0 overflow-hidden bg-background`,children:(0,$.jsx)(xr,{children:Vt(k)})})]}):(0,$.jsx)(`div`,{className:`h-full min-h-0 overflow-hidden bg-background`,children:(0,$.jsx)(xr,{children:Vt(k)})}),t[161]=ct,t[162]=ot,t[163]=Vt,t[164]=He.isVSCode,t[165]=k,t[166]=Cn):Cn=t[166];let wn=Cn,Tn=e=>{let t=e===void 0?I:e;return(0,$.jsx)(Ze,{sticky:!0,title:t===`nav`?g(`settings.view.home.title`):ct?ft(ct.slug):g(`settings.view.home.title`),backAriaLabel:$t,onBack:qt?sn:n,trailing:t===`page-content`&&k===`assistants`?(0,$.jsx)(`div`,{ref:ie}):void 0,actions:[...Zt?[{icon:`list-unordered`,ariaLabel:g(`settings.view.actions.openSectionList`),onClick:vn}]:[],...n?[{icon:`close`,ariaLabel:g(`settings.view.actions.closeSettings`),title:g(`settings.view.actions.closeSettingsWithShortcut`,{shortcut:en}),onClick:n}]:[]]})};if(z){let e=I!==`nav`,n=e&&ct?.kind===`split`,r=I===`page-content`,i=I===`page-sidebar`,a=r&&ct?.kind===`split`,o=e&&!a,s;t[167]===g?s=t[168]:(s=g(`mobile.settings.placeholder.title`),t[167]=g,t[168]=s);let c;return t[169]===s?c=t[170]:(c=(0,$.jsx)(vi,{title:s}),t[169]=s,t[170]=c),(0,$.jsxs)(`div`,{ref:ve,"data-settings-view":`true`,"data-mobile-settings-detail-active":e?`true`:void 0,className:`oc-settings-workspace oc-settings-workspace-mobile h-auto w-full min-w-0 overflow-visible bg-transparent`,children:[(0,$.jsxs)(`div`,{ref:ye,"data-mobile-settings-stage":`nav`,"data-mobile-navigation-underlay":o?`true`:void 0,"aria-hidden":e?`true`:void 0,inert:e?!0:void 0,className:`oc-mobile-settings-root-surface fixed inset-0 z-20 flex h-[100dvh] w-full min-w-0 max-w-full flex-col gap-[var(--oc-mobile-page-gap)] overflow-y-auto overflow-x-hidden overscroll-contain px-[var(--oc-mobile-page-inline-inset)] pb-[calc(var(--oc-mobile-dock-height)+2.5rem+var(--oc-safe-area-bottom,env(safe-area-inset-bottom,0px)))] pt-[calc(var(--oc-safe-area-top,env(safe-area-inset-top,0px))+1rem)] [contain:layout_paint]`,children:[c,xn()]}),n?(0,$.jsxs)(`div`,{ref:be,"data-mobile-settings-stage":`page-sidebar`,"data-mobile-navigation-underlay":a?`true`:void 0,"data-mobile-settings-push-surface":`true`,"aria-hidden":i?void 0:`true`,inert:!i||void 0,className:`fixed inset-0 z-40 flex h-[100dvh] w-full min-w-0 max-w-full touch-pan-y flex-col overflow-hidden bg-background [contain:layout_paint]`,children:[Tn(`page-sidebar`),(0,$.jsx)(`div`,{className:`min-h-0 w-full flex-1 overflow-y-auto overflow-x-hidden overscroll-contain px-[var(--oc-mobile-page-inline-inset)]`,children:Sn(`page-sidebar`)})]}):null,r?(0,$.jsxs)(`div`,{ref:xe,"data-mobile-settings-stage":`page-content`,"data-mobile-settings-push-surface":`true`,className:`fixed inset-0 z-50 flex h-[100dvh] w-full min-w-0 max-w-full touch-pan-y flex-col overflow-hidden bg-background [contain:layout_paint]`,children:[Tn(`page-content`),(0,$.jsx)(`div`,{className:`min-h-0 w-full flex-1 overflow-y-auto overflow-x-hidden overscroll-contain px-[var(--oc-mobile-page-inline-inset)]`,children:Sn(`page-content`)})]}):null]})}let En=C?`oc-settings-workspace-mobile bg-transparent`:`oc-settings-workspace-desktop bg-background`,Dn=z&&`h-auto w-full overflow-visible`,On;t[171]!==En||t[172]!==Dn?(On=q(`oc-settings-workspace relative flex h-full min-h-0 flex-col overflow-hidden`,En,Dn),t[171]=En,t[172]=Dn,t[173]=On):On=t[173];let kn=C&&!R?Tn():C?null:(0,$.jsxs)($.Fragment,{children:[qt&&(0,$.jsx)(`div`,{className:q(`absolute left-3 z-50`,a?`top-2`:`top-3`),children:(0,$.jsx)(`button`,{type:`button`,onClick:sn,"aria-label":g(`settings.view.actions.back`),className:`inline-flex h-9 w-9 items-center justify-center rounded-lg p-2 text-muted-foreground hover:text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,children:(0,$.jsx)(Z,{name:`arrow-left-s`,className:`h-5 w-5`})})}),n&&(0,$.jsx)(`div`,{className:q(`absolute right-0.5 z-50`,a?`top-0.5`:`top-1`),children:(0,$.jsx)(`button`,{type:`button`,onClick:n,"aria-label":g(`settings.view.actions.closeSettings`),title:g(`settings.view.actions.closeSettingsWithShortcut`,{shortcut:en}),className:`inline-flex h-7 w-7 items-center justify-center rounded-md p-0.5 text-muted-foreground hover:text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,children:(0,$.jsx)(Z,{name:`close`,className:`h-5 w-5`})})})]}),An=z&&`w-full flex-none overflow-visible`,jn;t[174]===An?jn=t[175]:(jn=q(`flex flex-1 min-h-0 overflow-hidden`,An),t[174]=An,t[175]=jn);let Mn=C?Sn():(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:q(`relative flex h-full min-h-0 flex-col overflow-hidden border-r-[0.5px] border-border/40`,je?`bg-sidebar`:He.isVSCode?`bg-background`:`bg-sidebar`,pe?``:`transition-[width,min-width] duration-200 ease-[cubic-bezier(0.25,0.1,0.25,1)]`),style:{width:`${te}px`,minWidth:`${te}px`},children:[(0,$.jsx)(`div`,{className:q(`absolute right-0 top-0 z-20 h-full w-[6px] -mr-[3px] cursor-col-resize`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,pe?`bg-primary/30`:`bg-transparent hover:bg-primary/20`),tabIndex:0,onPointerDown:et,onKeyDown:nt,role:`separator`,"aria-orientation":`vertical`,"aria-valuemin":xh,"aria-valuemax":Sh,"aria-valuenow":te,"aria-label":g(`settings.view.actions.resizeNavigation`)}),(0,$.jsx)(xr,{children:bn()})]}),(0,$.jsx)(`div`,{className:`oc-settings-detail-pane flex-1 overflow-hidden bg-background`,children:wn()})]}),Nn;t[176]!==jn||t[177]!==Mn?(Nn=(0,$.jsx)(`div`,{className:jn,children:Mn}),t[176]=jn,t[177]=Mn,t[178]=Nn):Nn=t[178];let Pn;return t[179]!==On||t[180]!==kn||t[181]!==Nn?(Pn=(0,$.jsxs)(`div`,{ref:ve,"data-settings-view":`true`,className:On,children:[kn,Nn]}),t[179]=On,t[180]=kn,t[181]=Nn,t[182]=Pn):Pn=t[182],Pn};function Ih(e){return e.settingsPage}function Lh(e){return e.isSettingsDialogOpen}function Rh(e){return e.setSettingsPage}function zh(e){return e.openSettingsRequestRevision}function Bh(e){return e.slug!==`home`}function Vh(e){return e.activeProjectId}function Hh(e){return e.slug}function Uh(e){return e.name}function Wh(e){return e.name}function Gh(e){return e.name}function Kh(e){return e.name}function qh(e){if(e.id.startsWith(`assistants.`)){if(e.id===`assistants.instance-enabled`)return e.id;if(e.id===`assistants.default-share`){let t=Xt.getState(),n=qe()?.assistants??[],r=n.some(e=>e.id===t.settingsSelectedAssistantID);return t.selectSettingsAssistant(r?t.settingsSelectedAssistantID:n[0]?.id??null),e.id}return Xt.getState().requestCreate(),e.id===`assistants.create`?`assistants.name`:e.id}if(e.id.startsWith(`agents.`)){let t=_t.getState(),n=Ah(`new-agent`,Ot().map(Uh));return t.setAgentDraft({name:n,scope:`user`}),t.setSelectedAgent(n),e.id===`agents.create`?`agents.name`:e.id}if(e.id.startsWith(`commands.`)){let t=fa.getState(),n=Ah(`new-command`,Nt().map(Wh));return t.setCommandDraft({name:n,scope:`user`}),t.setSelectedCommand(n),e.id===`commands.create`?`commands.name`:e.id}if(e.id.startsWith(`mcp.`)){let t=va.getState(),n=Ah(`new-mcp-server`,ki().map(Gh));return t.setMcpDraft({name:n,scope:`user`,type:`local`,command:[],url:``,environment:[],headers:[],oauthEnabled:!0,oauthClientId:``,oauthClientSecret:``,oauthScope:``,oauthRedirectUri:``,timeout:``,enabled:!0}),t.setSelectedMcp(n),e.id===`mcp.create`?`mcp.server`:e.id}if(e.id.startsWith(`skills.`)){let t=ot(O),n=Ca.getState(),r=Ah(`new-skill`,t.map(Kh));return n.setSkillDraft({name:r,scope:`user`,source:`opencode`,description:``,instructions:``}),n.setSelectedSkill(r),e.id===`skills.create`?`skills.basic-information`:e.id}return e.id===`providers.connect`&&Ct.getState().setSelectedProvider(Eh),e.id===`plugins.create`?`plugins.spec`:e.id}function Jh(){window.dispatchEvent(new CustomEvent(`openchamber:settings-open-plugin-add`))}function Yh(e,t){switch(e){case`projects`:return(0,$.jsx)(Iu,{onItemSelect:t.onItemSelect});case`agents`:return(0,$.jsx)($a,{onItemSelect:t.onItemSelect});case`assistants`:return(0,$.jsx)(qo,{onItemSelect:t.onItemSelect});case`commands`:return(0,$.jsx)(ss,{onItemSelect:t.onItemSelect});case`mcp`:return(0,$.jsx)(vs,{onItemSelect:t.onItemSelect});case`plugins`:return(0,$.jsx)(Sl,{onItemSelect:t.onItemSelect});case`skills.installed`:return(0,$.jsx)(Jl,{onItemSelect:t.onItemSelect});case`providers`:return(0,$.jsx)(yf,{onItemSelect:t.onItemSelect});case`usage`:return(0,$.jsx)(Wf,{onItemSelect:t.onItemSelect});case`magic-prompts`:return(0,$.jsx)(hp,{onItemSelect:t.onItemSelect});default:return null}}function Xh(e){return e===`page-content`?`page-sidebar`:e}export{vh as a,Jo as c,ia as d,ra as f,hh as i,va as l,ta as m,bh as n,_h as o,na as p,gh as r,hd as s,Fh as t,sa as u};
25
+ `):e(`settings.remoteInstances.page.logsDialog.empty`)})]})}),(0,$.jsx)(an,{open:!!me,onOpenChange:e=>{e||Qn()},children:(0,$.jsxs)(tn,{className:`sm:max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:e(`settings.remoteInstances.page.patternDialog.title`)}),(0,$.jsx)(rn,{children:me?e(`settings.remoteInstances.page.patternDialog.descriptionWithHost`,{host:me}):e(`settings.remoteInstances.page.patternDialog.description`)})]}),(0,$.jsxs)(`form`,{className:`space-y-3`,onSubmit:e=>{e.preventDefault(),$n()},children:[(0,$.jsx)(gn,{value:ge,onChange:e=>_e(e.target.value),placeholder:e(`settings.remoteInstances.page.patternDialog.destinationPlaceholder`),autoFocus:!0}),(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:Qn,disabled:ve,children:e(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{type:`submit`,size:`xs`,className:`!font-normal`,disabled:ve,children:e(`settings.common.actions.create`)})]})]})]})})]})})},_f=`__add_provider__`,vf=()=>{let e=me.getDirectory();return typeof e==`string`&&e.trim().length>0?e.trim():null},yf=({onItemSelect:e})=>{let{t}=Fe(),n=gt(e=>e.providers),r=gt(e=>e.selectedProviderId),i=gt(e=>e.setSelectedProvider),a=Kt(e=>e.activeProjectId),[o,s]=Q.useState({}),c=Q.useMemo(()=>vf(),[a]);Q.useEffect(()=>{if(n.length===0){s({});return}let e=!1;return(async()=>{let t=n.map(async t=>{try{let n=c?`?directory=${encodeURIComponent(c)}`:``,r=await l(`/api/provider/${encodeURIComponent(t.id)}/source${n}`,{method:`GET`,headers:{Accept:`application/json`}});if(!r.ok)return;let i=await r.json().catch(()=>null),a=i?.sources??i?.data?.sources;if(!a||e)return;s(e=>({...e,[t.id]:a}))}catch{}});await Promise.all(t)})(),()=>{e=!0}},[c,n]);let u=Q.useMemo(()=>n.filter(e=>!!o[e.id]?.project?.exists),[n,o]),d=Q.useMemo(()=>n.filter(e=>!o[e.id]?.project?.exists),[n,o]),f=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsx)(`span`,{children:t(`settings.providers.sidebar.section.userProviders`)}),(0,$.jsx)(J,{size:`icon`,variant:`ghost`,onClick:()=>{i(_f),e?.()},"aria-label":t(`settings.providers.sidebar.actions.connectProviderAria`),title:t(`settings.providers.sidebar.actions.connectProviderTitle`),children:(0,$.jsx)(Z,{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)(Ba,{}),(0,$.jsx)($.Fragment,{children:n.length===0?(0,$.jsx)(Jr,{label:f,children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row py-12 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`stack`,className:`mx-auto mb-3 h-10 w-10 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-ui-label font-medium`,children:t(`settings.providers.sidebar.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:t(`settings.providers.sidebar.empty.description`)})]})}):(0,$.jsxs)($.Fragment,{children:[d.length>0?(0,$.jsx)(Jr,{label:f,children:d.map(t=>(0,$.jsx)(bf,{provider:t,selectedProviderId:r,onSelect:()=>{i(t.id),e?.()}},t.id))}):(0,$.jsx)(Jr,{label:f,cardClassName:`hidden`,children:(0,$.jsx)(`span`,{})}),u.length>0&&(0,$.jsx)(Jr,{label:t(`settings.providers.sidebar.section.projectProviders`),children:u.map(t=>(0,$.jsx)(bf,{provider:t,selectedProviderId:r,onSelect:()=>{i(t.id),e?.()}},t.id))})]})})]})},bf=e=>{let t=(0,Ki.c)(17),{provider:n,selectedProviderId:r,onSelect:i}=e,a=Array.isArray(n.models)?n.models.length:0,o=n.id===r,s=n.id,c=o?`bg-interactive-selection`:`hover:bg-interactive-hover`,l;t[0]===c?l=t[1]:(l=q(`oc-settings-group-row group relative flex items-center transition-colors duration-150 !min-h-0 py-2`,c),t[0]=c,t[1]=l);let u;t[2]===n.id?u=t[3]:(u=(0,$.jsx)(sn,{providerId:n.id,className:`h-3.5 w-3.5 flex-shrink-0`}),t[2]=n.id,t[3]=u);let d=n.name||n.id,f;t[4]===d?f=t[5]:(f=(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate flex-1 min-w-0 text-foreground`,children:d}),t[4]=d,t[5]=f);let p;t[6]===a?p=t[7]:(p=(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/60 flex-shrink-0`,children:a}),t[6]=a,t[7]=p);let m;t[8]!==i||t[9]!==u||t[10]!==f||t[11]!==p?(m=(0,$.jsxs)(`button`,{type:`button`,onClick:i,className:`flex min-w-0 flex-1 items-center gap-1.5 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,tabIndex:0,children:[u,f,p]}),t[8]=i,t[9]=u,t[10]=f,t[11]=p,t[12]=m):m=t[12];let h;return t[13]!==n.id||t[14]!==l||t[15]!==m?(h=(0,$.jsx)(`div`,{className:l,children:m},s),t[13]=n.id,t[14]=l,t[15]=m,t[16]=h):h=t[16],h},xf=(e,t)=>e.flatMap((e,n)=>t(e)?[{method:e,methodIndex:n}]:[]),Sf=(e=me.getDirectory())=>Ee({queryKey:[i(),o(),`provider-connections`,e??null],queryFn:async({signal:t})=>{let n=me.getSdkClient(),r=e?{directory:e}:void 0,[i,a]=await Promise.all([n.provider.list({location:r},{signal:t}),n.integration.list({location:r},{signal:t})]);return{providers:i.data,integrations:a.data}}});function Cf(e){let t=me.getSdkClient(),n=o(),r=me.getDirectory(),i=r?{directory:r}:void 0,a=new AbortController,s,c,l,u=!1,d=!1,f=!1,p=()=>!a.signal.aborted&&n===o()&&r===me.getDirectory(),m=()=>{clearTimeout(c),clearTimeout(l)},h=()=>{s&&!d&&!f&&n===o()&&(f=!0,t.integration.oauth.cancel({integrationID:e.integrationID,attemptID:s.attemptID,location:i}).catch(()=>void 0))},g=()=>{a.abort(),m(),h()},_=t=>{p()&&(g(),e.onError(t))},v=async()=>{p()&&(d=!0,m(),await e.onSuccess())},y=async()=>{if(!(!p()||!s))try{let n=await t.integration.oauth.status({integrationID:e.integrationID,attemptID:s.attemptID,location:i},{signal:a.signal});if(!p())return;if(n.data.status===`complete`){await v();return}if(n.data.status!==`pending`){_(`complete`);return}c=setTimeout(()=>{y()},1500)}catch{_(`complete`)}};return{cancel:g,isCurrent:p,async start(n){l=setTimeout(()=>_(`start`),3e4);try{if(s=(await t.integration.oauth.connect({integrationID:e.integrationID,methodID:n,location:i},{signal:a.signal})).data,!p()){h();return}if(clearTimeout(l),!s.attemptID||![`auto`,`code`].includes(s.mode)){_(`start`);return}let r=Math.min(6e5,(s.time?.expires??Date.now()+6e5)-Date.now());if(r<=0){_(`complete`);return}l=setTimeout(()=>_(`complete`),r),e.onAttempt(s),s.mode===`auto`&&y()}catch{_(`start`)}},async complete(n){if(!(!p()||!s||s.mode!==`code`||u||!n.trim())){u=!0;try{await t.integration.oauth.complete({integrationID:e.integrationID,attemptID:s.attemptID,code:n.trim(),location:i},{signal:a.signal}),await v()}catch{_(`complete`)}}}}}var wf=`opencode`;function Tf(e){return e===`opencode-go`?wf:e}function Ef(e,t){let n=Tf(e);return t?.find(e=>e.id===n)}function Df(e){return(e?.connections??[]).some(e=>e.type===`credential`&&e.method===`oauth`)}function Of(e){return(e?.methods??[]).flatMap(e=>e.type===`oauth`&&typeof e.id==`string`&&e.id?[{id:e.id,label:e.label??e.name}]:[])}function kf(e,t){return t[Tf(e)]??t[e]??[]}function Af(e,t){let n=Tf(e);return n===e?t[e]||e:t[n]||n}var jf=({providerId:e,providerName:t})=>{let{t:n}=Fe(),[r,i]=Q.useState(null),[a,o]=Q.useState({}),[s,c]=Q.useState(!1),[u,d]=Q.useState(null),[f,p]=Q.useState(``),[m,h]=Q.useState(!1),g=Q.useRef(null),_=De({...Sf(),enabled:e===`opencode-go`}),v=`/api/quota/credentials/${e}`,y=e===`opencode-go`?Ef(e,_.data?.integrations):void 0,b=Df(y),x=Of(y);Q.useEffect(()=>{l(v).then(async e=>{if(!e.ok)throw Error();let t=await e.json();i(t),o(t.workspaceId?{workspaceId:t.workspaceId}:{})}).catch(()=>i({configured:!1}))},[v]);let S=Me(()=>{g.current?.cancel(),g.current=null,d(null),p(``),h(!1)});Q.useEffect(()=>()=>{g.current?.cancel(),g.current=null},[]);let C=async(e,r,a)=>{c(!0);try{let s=await l(e,{method:r,headers:a?{"Content-Type":`application/json`}:void 0,body:a?JSON.stringify(a):void 0}),c=await s.json().catch(()=>null);if(!s.ok)throw Error(c?.error);c?.configured!==void 0&&i(c),o(e=>e.workspaceId?{workspaceId:e.workspaceId}:{}),Y.success(n(`settings.providers.page.quotaCredentials.saved`,{provider:t}))}catch(e){Y.error(e instanceof Error&&e.message?e.message:n(`settings.providers.page.openCodeGo.saveFailed`))}finally{c(!1)}},w=Me(async e=>{let t=Tf(`opencode-go`);if(!e||t===`opencode-go`){Y.error(n(`settings.providers.page.toast.oauthStartFailed`));return}S(),h(!0);let r=Cf({integrationID:t,onAttempt:({mode:t,url:r,instructions:i})=>{d({methodID:e,mode:t,url:r,instructions:i,userCode:/[A-Z0-9]{4}-[A-Z0-9]{4,5}/.exec(i)?.[0]}),t===`code`&&h(!1),r&&Lr(r),Y.message(n(`settings.providers.page.toast.completeOAuthInBrowser`))},onSuccess:async()=>{d(null),p(``),h(!1);try{if(await tt({scopes:[`providers`],mode:`active`}),!r.isCurrent()||g.current!==r)return;await _.refetch({throwOnError:!0})}catch{r.isCurrent()&&g.current===r&&Y.error(n(`settings.providers.page.toast.authMethodsLoadFailed`))}!r.isCurrent()||g.current!==r||Y.success(n(`settings.providers.page.toast.oauthCompleted`))},onError:e=>{h(!1),d(null),p(``),Y.error(n(e===`start`?`settings.providers.page.toast.oauthStartFailed`:`settings.providers.page.toast.oauthCompleteFailed`))}});g.current=r,await r.start(e)}),T=Me(async()=>{!f.trim()||u?.mode!==`code`||(h(!0),await g.current?.complete(f))}),E=Me(async(e,t,r)=>{(await Pe(e)).ok?Y.success(n(t)):Y.error(n(r))}),D=(e,t,n)=>(0,$.jsx)(Yr,{label:t,children:(0,$.jsx)(gn,{className:`w-full font-mono text-xs`,type:e===`workspaceId`?`text`:`password`,autoComplete:`off`,value:a[e]??``,onChange:t=>o(n=>({...n,[e]:t.target.value})),placeholder:r?.secretMasked??n})});return(0,$.jsx)(`div`,{"data-settings-item":`providers.${e}-credentials`,children:(0,$.jsxs)(Jr,{label:t,className:`oc-settings-detail-group`,children:[e===`opencode-go`&&(0,$.jsx)($.Fragment,{children:_.isPending?(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:n(`settings.providers.page.auth.loadingMethods`)})}):b?(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex items-center gap-1.5`,role:`status`,children:[(0,$.jsx)(Z,{name:`check`,className:`h-4 w-4 shrink-0 text-[var(--status-success)]`}),(0,$.jsx)(`p`,{className:`min-w-0 typography-ui-label text-foreground`,children:n(`settings.providers.page.openCodeGo.consoleConnected`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:n(`settings.providers.page.openCodeGo.consoleHint`)})}),(x.length>0?x:[{id:``,label:void 0}]).map(e=>{let t=u?.methodID===e.id;return(0,$.jsxs)(`div`,{className:`oc-settings-group-row`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,$.jsx)(`p`,{className:`min-w-0 typography-ui-label text-foreground`,children:e.label||n(`settings.providers.page.openCodeGo.consoleSignIn`)}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(J,{size:`xs`,className:`!font-normal w-full sm:w-auto`,"aria-busy":m,disabled:m||!e.id,onClick:()=>void w(e.id),children:m&&u?.mode===`auto`?n(`settings.providers.page.state.loading`):n(`settings.providers.page.openCodeGo.consoleSignIn`)}),t&&(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`!font-normal`,onClick:S,children:n(`settings.common.actions.cancel`)})]})]}),t&&u?.instructions&&(0,$.jsx)(`p`,{className:`mt-2 typography-meta text-[var(--primary-base)] bg-[var(--primary-base)]/10 px-2 py-1.5 rounded`,children:u.instructions}),t&&u?.userCode&&(0,$.jsxs)(`div`,{className:`mt-2 flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,$.jsx)(gn,{value:u.userCode,readOnly:!0,className:`min-w-0 flex-1 font-mono text-center tracking-widest`}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>void E(u.userCode??``,`settings.providers.page.toast.deviceCodeCopied`,`settings.providers.page.toast.deviceCodeCopyFailed`),children:n(`settings.providers.page.actions.copyCode`)})]}),t&&u?.url&&(0,$.jsxs)(`div`,{className:`mt-2 flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,$.jsx)(gn,{value:u.url,readOnly:!0,className:`min-w-0 flex-1 text-xs text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>Lr(u.url??``),children:n(`settings.providers.page.actions.open`)}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>void E(u.url??``,`settings.providers.page.toast.oauthLinkCopied`,`settings.providers.page.toast.oauthLinkCopyFailed`),children:n(`settings.providers.page.actions.copy`)})]})]}),t&&u?.mode===`code`&&(0,$.jsxs)(`div`,{className:`mt-2 flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,$.jsx)(gn,{value:f,onChange:e=>p(e.target.value),placeholder:n(`settings.providers.page.auth.pasteAuthorizationCodePlaceholder`),className:`min-w-0 flex-1 font-mono text-xs`,"aria-label":n(`settings.providers.page.auth.pasteAuthorizationCodePlaceholder`)}),(0,$.jsx)(J,{size:`xs`,className:`!font-normal`,onClick:()=>void T(),disabled:m||!f.trim(),children:n(m?`settings.providers.page.actions.saving`:`settings.providers.page.actions.complete`)})]})]},e.id||`console`)})]})}),e===`opencode-go`&&D(`workspaceId`,n(`settings.providers.page.openCodeGo.workspaceId`),`wrk_...`),e===`opencode-go`&&D(`authCookie`,n(`settings.providers.page.openCodeGo.authCookie`),`auth=...`),e===`ollama-cloud`&&D(`cookie`,n(`settings.providers.page.openCodeGo.authCookie`),`session=...`),e===`cursor`&&D(`accessToken`,n(`settings.providers.page.auth.apiKeyLabel`),n(`settings.providers.page.auth.apiKeyPlaceholder`)),e===`cursor`&&D(`refreshToken`,n(`settings.providers.page.auth.apiKeyLabel`),n(`settings.providers.page.auth.apiKeyPlaceholder`)),(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-wrap gap-2`,children:[(0,$.jsx)(J,{size:`xs`,disabled:s,onClick:()=>C(v,`PUT`,a),children:r?.configured?n(`settings.providers.page.openCodeGo.replace`):n(`settings.providers.page.openCodeGo.save`)}),r?.configured&&(0,$.jsx)(J,{variant:`outline`,size:`xs`,disabled:s,onClick:()=>C(`${v}/validate`,`POST`),children:n(`settings.providers.page.openCodeGo.validate`)}),e===`cursor`&&(0,$.jsx)(J,{variant:`outline`,size:`xs`,disabled:s,onClick:()=>C(`${v}/import`,`POST`),children:n(`settings.providers.page.actions.connect`)}),r?.configured&&(0,$.jsx)(J,{variant:`destructive`,size:`xs`,disabled:s,onClick:()=>C(v,`DELETE`),children:n(`settings.providers.page.openCodeGo.delete`)})]})]})})},Mf=e=>{let t=(0,Ki.c)(13),{itemId:n,label:r,description:i,action:a,rows:o,children:s}=e,c=o!==void 0&&o,l;t[0]!==a||t[1]!==r?(l=a?(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-2`,children:[(0,$.jsx)(`div`,{className:`min-w-0`,children:r}),(0,$.jsx)(`div`,{className:`shrink-0`,children:a})]}):r,t[0]=a,t[1]=r,t[2]=l):l=t[2];let u;t[3]!==s||t[4]!==c?(u=c?s:(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:s}),t[3]=s,t[4]=c,t[5]=u):u=t[5];let d;t[6]!==i||t[7]!==l||t[8]!==u?(d=(0,$.jsx)(Jr,{className:`oc-settings-detail-group`,label:l,description:i,children:u}),t[6]=i,t[7]=l,t[8]=u,t[9]=d):d=t[9];let f;return t[10]!==n||t[11]!==d?(f=(0,$.jsx)(`div`,{"data-settings-item":n,children:d}),t[10]=n,t[11]=d,t[12]=f):f=t[12],f},Nf=e=>new Intl.NumberFormat(Re(),{notation:`compact`,compactDisplay:`short`,maximumFractionDigits:1,minimumFractionDigits:0}).format(e),Pf=e=>{if(typeof e!=`number`||Number.isNaN(e))return null;if(e===0)return`0`;let t=Nf(e);return t.endsWith(`.0`)?t.slice(0,-2):t},Ff=`__add_provider__`,If=e=>{let t=typeof e.type==`string`?e.type:``,n=`${t} ${`${e.name??``} ${e.label??``}`.toLowerCase()}`.toLowerCase();return n.includes(`oauth`)?`oauth`:n.includes(`api`)?`api`:t.toLowerCase()},Lf=(e,t,n)=>{let r=t.find(t=>t.id===e);return typeof r?.integrationID==`string`&&r.integrationID?r.integrationID:(n.some(t=>t.id===e),e)},Rf=(e,t)=>{let n={},r={},i=new Map(t.filter(e=>typeof e.id==`string`&&e.id.length>0).map(e=>[e.id,e])),a=(e,t)=>{r[e]=t.id??e,n[e]=(t.methods??[]).map(e=>({type:e.type,id:e.id,name:e.label??e.name,label:e.label??e.name}))};for(let n of e){if(typeof n.id!=`string`||!n.id)continue;let r=Lf(n.id,e,t),o=i.get(r);o&&a(n.id,o)}for(let e of t)typeof e.id!=`string`||!e.id||n[e.id]||a(e.id,e);return{methodsByProvider:n,integrationIdByProvider:r}},zf=()=>{let e=(0,Ki.c)(2),t=`${Q.useSyncExternalStore(r,o,o)}:${pe(Vf)}`,n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(Bf,{},t),e[0]=t,e[1]=n),n},Bf=()=>{let{t:e}=Fe(),t=gt(e=>e.providers),n=gt(e=>e.selectedProviderId),r=gt(e=>e.setSelectedProvider),a=gt(e=>e.getModelMetadata),s=K(e=>e.hiddenModels),c=K(e=>e.toggleHiddenModel),u=K(e=>e.hideAllModels),d=K(e=>e.showAllModels),f=De(Sf()),{methodsByProvider:p,integrationIdByProvider:m}=Q.useMemo(()=>Rf(f.data?.providers??[],f.data?.integrations??[]),[f.data]),h=f.isPending;Q.useEffect(()=>{f.isError&&Y.error(e(`settings.providers.page.toast.authMethodsLoadFailed`))},[f.isError,e]);let[g,_]=Q.useState({}),[v,y]=Q.useState(null),[b,x]=Q.useState(``),[S,C]=Q.useState(null),[w,T]=Q.useState({}),[E,D]=Q.useState({}),O=f.isPending,k=f.isError?e(`settings.providers.page.state.unableToLoadProviderList`):null,[A,j]=Q.useState(``),[M,N]=Q.useState(``),[P,F]=Q.useState(!1),[I,L]=Q.useState({}),[R,z]=Q.useState(!1),B=n===Ff,V=Q.useRef(null);Q.useEffect(()=>{let e=new AbortController;return V.current=e,()=>e.abort()},[]);let H=Me(()=>{let e=V.current;if(!e||e.signal.aborted)return null;let t=me.getDirectory(),n=o();return{directory:t,location:t?{directory:t}:void 0,transportIdentity:i(),signal:e.signal,isCurrent:()=>V.current===e&&!e.signal.aborted&&o()===n&&me.getDirectory()===t}}),U=Q.useRef(null),W=Me(()=>{U.current?.cancel(),U.current=null,C(null),D({}),T({}),y(null)});Q.useEffect(()=>(W(),()=>{U.current?.cancel(),U.current=null}),[n,A,W]),Q.useEffect(()=>{!n&&t.length>0&&r(t[0].id)},[t,n,r]);let ee=Q.useMemo(()=>(f.data?.integrations??[]).filter(e=>!e.id.startsWith(`mcp_`)&&e.connections.length===0).sort((e,t)=>{let n=(e.name||e.id).toLowerCase(),r=(t.name||t.id).toLowerCase();return n.localeCompare(r)}),[f.data]);Q.useEffect(()=>{n===Ff&&A&&!ee.some(e=>e.id===A)&&j(``)},[n,A,ee]),Q.useEffect(()=>{if(n===Ff){z(!0);return}z(!1)},[n,e]),Q.useEffect(()=>{if(!n||n===Ff)return;let t=!1;return(async()=>{try{let r=await l(`/api/provider/${encodeURIComponent(n)}/source`,{method:`GET`,headers:{Accept:`application/json`}}),i=await r.json().catch(()=>null);if(!r.ok)throw Error(i?.error||e(`settings.providers.page.toast.providerSourcesLoadFailed`));let a=i?.sources??i?.data?.sources;!t&&a&&L(e=>({...e,[n]:a}))}catch(e){t||console.error(`Failed to load provider sources:`,e)}})(),()=>{t=!0}},[n,e]);let G=t.find(e=>e.id===n),te=n?I[n]:void 0,ne=Me(async t=>{let n=g[t]?.trim()??``;if(!n){Y.error(e(`settings.providers.page.toast.apiKeyRequired`));return}let i=H();if(!i)return;let a=`api:${t}`;y(a);try{let a=m[t]||t;if(await me.getSdkClient().integration.connect.key({integrationID:a,key:n,location:i.location},{signal:i.signal}),!i.isCurrent()||(_(e=>({...e,[t]:``})),await tt({scopes:[`providers`],mode:`active`,queryDirectory:i.directory,transportIdentity:i.transportIdentity}),!i.isCurrent()))return;let o=await f.refetch({throwOnError:!0});if(!i.isCurrent())return;let s=o.data?.providers.find(e=>e.id===t||e.integrationID===a);s&&r(s.id),Y.success(e(`settings.providers.page.toast.apiKeySaved`))}catch{i.isCurrent()&&Y.error(e(`settings.providers.page.toast.apiKeySaveFailed`))}finally{i.isCurrent()&&y(null)}}),re=Me(async(t,n)=>{W();let i=`oauth:${t}:${n}`;y(i);let a=kf(t,p)[n],o=typeof a?.id==`string`?a.id:``;if(!o){y(null),Y.error(e(`settings.providers.page.toast.oauthStartFailed`));return}let s=Af(t,m),c=m[t]||t,l=Cf({integrationID:s,onAttempt:({attemptID:r,mode:i,url:a,instructions:c})=>{D({[`${t}:${n}`]:{url:a,instructions:c,mode:i,userCode:/[A-Z0-9]{4}-[A-Z0-9]{4,5}/.exec(c)?.[0]}}),C({providerId:t,methodIndex:n,methodID:o,attemptID:r,mode:i}),i===`code`&&y(null),a&&s!==`claude-code`&&Lr(a),Y.message(e(`settings.providers.page.toast.completeOAuthInBrowser`))},onSuccess:async()=>{if(C(null),D({}),T({}),await tt({scopes:[`providers`],mode:`active`}),!l.isCurrent()||U.current!==l)return;let n=await f.refetch({throwOnError:!0});if(!l.isCurrent()||U.current!==l)return;Y.success(e(`settings.providers.page.toast.oauthCompleted`));let i=n.data?.providers.find(e=>e.id===t)??(s===c?n.data?.providers.find(e=>e.integrationID===s):void 0);i&&r(i.id),y(null)},onError:t=>{y(null),C(null),D({}),T({}),Y.error(e(t===`start`?`settings.providers.page.toast.oauthStartFailed`:`settings.providers.page.toast.oauthCompleteFailed`))}});U.current=l,await l.start(o)}),ie=Me(async(e,t)=>{let n=`${e}:${t}`,r=w[n]?.trim();!r||S?.mode!==`code`||S.providerId!==e||S.methodIndex!==t||(y(`oauth-complete:${e}:${t}`),await U.current?.complete(r))}),ae=async t=>{if((await Pe(t)).ok){Y.success(e(`settings.providers.page.toast.oauthLinkCopied`));return}Y.error(e(`settings.providers.page.toast.oauthLinkCopyFailed`))},oe=async t=>{if((await Pe(t)).ok){Y.success(e(`settings.providers.page.toast.deviceCodeCopied`));return}Y.error(e(`settings.providers.page.toast.deviceCodeCopyFailed`))},se=Me(async t=>{let n=H();if(!n)return;let r=`disconnect:${t}`;y(r);try{let r=me.getSdkClient(),i=m[t]||t,a=await r.integration.get({integrationID:i,location:n.location},{signal:n.signal});if(!n.isCurrent())return;let o=(Array.isArray(a.data?.connections)?a.data.connections:[]).flatMap(e=>e.type===`credential`&&typeof e.id==`string`&&e.id?[e.id]:[]);if(o.length===0)throw Error(e(`settings.providers.page.toast.providerDisconnectFailed`));if(await Promise.all(o.map(e=>r.credential.remove({credentialID:e},{signal:n.signal}))),!n.isCurrent()||(await tt({scopes:[`providers`],mode:`active`,queryDirectory:n.directory,transportIdentity:n.transportIdentity}),!n.isCurrent())||(await f.refetch({throwOnError:!0}),!n.isCurrent()))return;Y.success(e(`settings.providers.page.toast.providerDisconnected`))}catch{n.isCurrent()&&Y.error(e(`settings.providers.page.toast.providerDisconnectFailed`))}finally{n.isCurrent()&&y(null)}});if(!B&&t.length===0)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`stack`,className:`mx-auto mb-3 h-12 w-12 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.providers.page.empty.noProvidersDetected`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:e(`settings.providers.page.empty.checkOpenCodeConfiguration`)})]})});if(B)return(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-section-stack mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[(0,$.jsx)(`div`,{"data-settings-item":`providers.connect`,children:(0,$.jsx)(`h1`,{className:`typography-ui-header font-semibold text-foreground`,children:e(`settings.providers.page.connect.title`)})}),(0,$.jsxs)(Mf,{label:e(`settings.providers.page.connect.selectProviderTitle`),children:[k&&(0,$.jsx)(`p`,{role:`alert`,className:`typography-meta text-muted-foreground`,children:k}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 py-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.providers.page.connect.providerField`)}),O?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.providers.page.state.loading`)}):k&&!f.data?(0,$.jsx)(J,{variant:`outline`,size:`xs`,onClick:()=>void f.refetch(),children:e(`settings.providers.page.actions.reconnect`)}):ee.length===0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.providers.page.connect.allProvidersConnected`)}):(0,$.jsxs)(rr,{open:P,onOpenChange:e=>{F(e),e||N(``)},children:[(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:q(`flex items-center justify-between gap-2 rounded-lg border border-input bg-transparent px-2 py-2 typography-ui-label whitespace-nowrap shadow-none outline-none hover:bg-interactive-hover h-6 w-fit`),children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-2 min-w-0`,children:[A?(0,$.jsx)(sn,{providerId:A,className:`h-3.5 w-3.5 flex-shrink-0`}):null,(0,$.jsx)(`span`,{className:q(`truncate typography-ui-label font-normal`,A?`text-foreground`:`text-muted-foreground`),children:A?ee.find(e=>e.id===A)?.name||A:e(`settings.providers.page.connect.selectProviderPlaceholder`)})]}),(0,$.jsx)(Z,{name:`arrow-down-s`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/50`})]})}),(0,$.jsxs)(Jn,{align:`start`,className:`w-[280px] p-0`,onCloseAutoFocus:e=>e.preventDefault(),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-[var(--surface-subtle)] px-3 py-2`,onKeyDown:e=>e.stopPropagation(),children:[(0,$.jsx)(Z,{name:`search`,className:`h-4 w-4 text-muted-foreground`}),(0,$.jsx)(`input`,{type:`text`,value:M,onChange:e=>N(e.target.value),onKeyDown:e=>e.stopPropagation(),placeholder:e(`settings.providers.page.connect.searchProvidersPlaceholder`),className:`flex-1 bg-transparent typography-meta outline-none placeholder:text-muted-foreground`,autoFocus:!0})]}),(0,$.jsx)(Ar,{outerClassName:`max-h-[240px]`,className:`p-1`,children:(()=>{let t=ee.filter(e=>{let t=M.toLowerCase();return(e.name||e.id).toLowerCase().includes(t)||e.id.toLowerCase().includes(t)});return t.length===0?(0,$.jsx)(`p`,{className:`py-4 text-center typography-meta text-muted-foreground`,children:e(`settings.providers.page.connect.noProvidersFound`)}):t.map(e=>(0,$.jsxs)(fr,{onSelect:()=>{j(e.id),F(!1),N(``)},className:`flex items-center justify-between`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-2 min-w-0`,children:[(0,$.jsx)(sn,{providerId:e.id,className:`h-4 w-4 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.name||e.id})]}),A===e.id&&(0,$.jsx)(Z,{name:`check`,className:`h-4 w-4 text-[var(--primary-base)]`})]},e.id))})()})]})]})]})]}),A&&(0,$.jsx)(Mf,{itemId:`providers.auth`,label:e(`settings.providers.page.auth.title`),rows:!h,children:h?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.providers.page.auth.loadingMethods`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{className:`oc-settings-split-row-stacked`,label:(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e(`settings.providers.page.auth.apiKeyLabel`),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.providers.page.auth.apiKeyTooltip`)})]})]}),children:(0,$.jsxs)(`div`,{className:`oc-settings-value-inline`,children:[(0,$.jsx)(gn,{type:`password`,value:g[A]??``,onChange:e=>_(t=>({...t,[A]:e.target.value})),placeholder:e(`settings.providers.page.auth.apiKeyPlaceholder`),className:`oc-settings-value-inline-input font-mono text-xs`}),(0,$.jsx)(J,{size:`xs`,className:`!font-normal`,onClick:()=>ne(A),disabled:v===`api:${A}`,children:v===`api:${A}`?e(`settings.providers.page.actions.saving`):e(`settings.providers.page.actions.saveKey`)})]})}),(()=>{let t=xf(kf(A,p),e=>If(e)===`oauth`);return t.length===0?null:(0,$.jsx)(`div`,{className:`oc-settings-group-row space-y-4`,children:t.map(({method:t,methodIndex:n},r)=>{let i=t.label||t.name||e(`settings.providers.page.auth.oauthMethodFallback`,{index:String(r+1)}),a=`${A}:${n}`,o=S?.providerId===A&&S?.methodIndex===n;return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:i}),(t.description||t.help)&&(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:String(t.description||t.help)})]}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>re(A,n),disabled:v===`oauth:${A}:${n}`||v===`oauth-complete:${A}:${n}`,children:o&&S.mode===`auto`?e(`settings.providers.page.state.loading`):e(`settings.providers.page.actions.connect`)}),o&&(0,$.jsx)(J,{variant:`ghost`,size:`xs`,onClick:W,children:e(`settings.common.actions.cancel`)})]}),E[a]?.instructions&&(0,$.jsx)(`p`,{className:`typography-meta text-[var(--primary-base)] bg-[var(--primary-base)]/10 px-2 py-1.5 rounded`,children:E[a]?.instructions}),E[a]?.userCode&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(gn,{value:E[a]?.userCode,readOnly:!0,className:`font-mono text-center tracking-widest`}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>oe(E[a]?.userCode??``),children:e(`settings.providers.page.actions.copyCode`)})]}),E[a]?.url&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(gn,{value:E[a]?.url,readOnly:!0,className:`text-xs text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`flex gap-1 shrink-0`,children:[(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>Lr(E[a]?.url??``),children:e(`settings.providers.page.actions.open`)}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>ae(E[a]?.url??``),children:e(`settings.providers.page.actions.copy`)})]})]}),o&&S?.mode===`code`&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(gn,{value:w[a]??``,onChange:e=>T(t=>({...t,[a]:e.target.value})),placeholder:e(`settings.providers.page.auth.pasteAuthorizationCodePlaceholder`),className:`font-mono text-xs`}),(0,$.jsx)(J,{size:`xs`,className:`!font-normal`,onClick:()=>ie(A,n),disabled:v===`oauth-complete:${A}:${n}`,children:v===`oauth-complete:${A}:${n}`?e(`settings.providers.page.actions.saving`):e(`settings.providers.page.actions.complete`)})]})]},`${A}-${i}`)})})})()]})})]})});if(!G)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`stack`,className:`mx-auto mb-3 h-12 w-12 opacity-50`}),(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.providers.page.empty.selectProviderFromSidebar`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:e(`settings.providers.page.empty.reviewDetailsAndConfigureAuth`)})]})});let ce=Array.isArray(G.models)?G.models:[],le=xf(kf(G.id,p),e=>If(e)===`oauth`),ue=ce.filter(e=>{let t=typeof e?.name==`string`?e.name:``,n=typeof e?.id==`string`?e.id:``,r=b.trim().toLowerCase();return!r||t.toLowerCase().includes(r)||n.toLowerCase().includes(r)});return(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-section-stack mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(sn,{providerId:G.id,className:`h-5 w-5 shrink-0`}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground truncate`,children:G.name||G.id}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:(0,$.jsx)(`span`,{className:`font-mono`,children:G.id})})]})]}),(0,$.jsx)(Mf,{itemId:`providers.auth`,rows:R&&!h,label:e(`settings.providers.page.auth.title`),action:(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>{W(),z(e=>!e)},children:e(R?`settings.common.actions.cancel`:`settings.providers.page.actions.reconnect`)}),children:R?h?(0,$.jsx)(`div`,{className:`py-1.5 typography-meta text-muted-foreground`,children:e(`settings.providers.page.auth.loadingMethods`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{className:`oc-settings-split-row-stacked`,label:(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e(`settings.providers.page.auth.apiKeyLabel`),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.providers.page.auth.apiKeyTooltip`)})]})]}),children:(0,$.jsxs)(`div`,{className:`oc-settings-value-inline`,children:[(0,$.jsx)(gn,{type:`password`,value:g[G.id]??``,onChange:e=>_(t=>({...t,[G.id]:e.target.value})),placeholder:e(`settings.providers.page.auth.apiKeyPlaceholder`),className:`oc-settings-value-inline-input font-mono text-xs`}),(0,$.jsx)(J,{size:`xs`,className:`!font-normal`,onClick:()=>ne(G.id),disabled:v===`api:${G.id}`,children:v===`api:${G.id}`?e(`settings.providers.page.actions.saving`):e(`settings.providers.page.actions.saveKey`)})]})}),le.length>0&&(0,$.jsx)(`div`,{className:`oc-settings-group-row space-y-4`,children:le.map(({method:t,methodIndex:n},r)=>{let i=t.label||t.name||e(`settings.providers.page.auth.oauthMethodFallback`,{index:String(r+1)}),a=`${G.id}:${n}`,o=S?.providerId===G.id&&S?.methodIndex===n;return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:i}),(t.description||t.help)&&(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:String(t.description||t.help)})]}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>re(G.id,n),disabled:v===`oauth:${G.id}:${n}`||v===`oauth-complete:${G.id}:${n}`,children:o&&S.mode===`auto`?e(`settings.providers.page.state.loading`):e(`settings.providers.page.actions.connect`)}),o&&(0,$.jsx)(J,{variant:`ghost`,size:`xs`,onClick:W,children:e(`settings.common.actions.cancel`)})]}),E[a]?.instructions&&(0,$.jsx)(`p`,{className:`typography-meta text-[var(--primary-base)] bg-[var(--primary-base)]/10 px-2 py-1.5 rounded`,children:E[a]?.instructions}),E[a]?.userCode&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(gn,{value:E[a]?.userCode,readOnly:!0,className:`font-mono text-center tracking-widest`}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>oe(E[a]?.userCode??``),children:e(`settings.providers.page.actions.copyCode`)})]}),E[a]?.url&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(gn,{value:E[a]?.url,readOnly:!0,className:`text-xs text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`flex gap-1 shrink-0`,children:[(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>Lr(E[a]?.url??``),children:e(`settings.providers.page.actions.open`)}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>ae(E[a]?.url??``),children:e(`settings.providers.page.actions.copy`)})]})]}),o&&S?.mode===`code`&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,$.jsx)(gn,{value:w[a]??``,onChange:e=>T(t=>({...t,[a]:e.target.value})),placeholder:e(`settings.providers.page.auth.pasteAuthorizationCodePlaceholder`),className:`font-mono text-xs`}),(0,$.jsx)(J,{size:`xs`,className:`!font-normal`,onClick:()=>ie(G.id,n),disabled:v===`oauth-complete:${G.id}:${n}`,children:v===`oauth-complete:${G.id}:${n}`?e(`settings.providers.page.actions.saving`):e(`settings.providers.page.actions.complete`)})]})]},`${G.id}-${i}`)})})]}):(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 py-1.5`,children:[(0,$.jsx)(Z,{name:`check`,className:`w-4 h-4 text-[var(--status-success)] shrink-0`}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.providers.page.auth.connected`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground ml-1`,children:e(`settings.providers.page.auth.useReconnectHint`)})]})}),(G.id===`opencode`||G.id===`opencode-go`)&&(0,$.jsx)(jf,{providerId:`opencode-go`,providerName:`OpenCode Go`}),(G.id===`ollama`||G.id===`ollama-cloud`)&&(0,$.jsx)(jf,{providerId:`ollama-cloud`,providerName:`Ollama Cloud`}),G.id===`cursor`&&(0,$.jsx)(jf,{providerId:`cursor`,providerName:`Cursor`}),(0,$.jsx)(Mf,{itemId:`providers.connection-details`,label:e(`settings.providers.page.connectionDetails.title`),children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 py-1.5 sm:flex-row sm:items-center sm:justify-between sm:gap-8`,children:[(0,$.jsx)(`div`,{className:`flex min-w-0 flex-col`,children:te&&(te.auth.exists||te.user.exists||te.project.exists||te.custom?.exists)?(0,$.jsxs)(`span`,{className:`typography-meta text-muted-foreground`,children:[e(`settings.providers.page.connectionDetails.configuredIn`),` `,[te.auth.exists?e(`settings.providers.page.connectionDetails.source.authCredentials`):null,te.user.exists?e(`settings.providers.page.connectionDetails.source.userConfig`):null,te.project.exists?e(`settings.providers.page.connectionDetails.source.projectConfig`):null,te.custom?.exists?e(`settings.providers.page.connectionDetails.source.customConfig`):null].filter(Boolean).join(`, `)]}):(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e(`settings.providers.page.connectionDetails.noActiveSource`)})}),(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`!font-normal text-[var(--status-error)] hover:text-[var(--status-error)]`,onClick:()=>se(G.id),disabled:v===`disconnect:${G.id}`,children:v===`disconnect:${G.id}`?e(`settings.providers.page.actions.disconnecting`):e(`settings.providers.page.actions.disconnect`)})]})}),(0,$.jsxs)(Mf,{itemId:`providers.models`,label:(0,$.jsxs)($.Fragment,{children:[e(`settings.providers.page.models.title`),ce.length>0&&(0,$.jsxs)(`span`,{className:`ml-1.5 typography-micro text-muted-foreground font-normal`,children:[`(`,ce.length,`)`]})]}),action:(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>{let e=ce.map(e=>typeof e?.id==`string`?e.id:``).filter(e=>e.length>0);u(G.id,e)},children:e(`settings.providers.page.actions.hideAll`)}),(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`!font-normal`,onClick:()=>d(G.id),children:e(`settings.providers.page.actions.showAll`)})]}),children:[(0,$.jsxs)(`div`,{className:`relative mb-2`,children:[(0,$.jsx)(Z,{name:`search`,className:`absolute left-2 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground`}),(0,$.jsx)(gn,{value:b,onChange:e=>x(e.target.value),placeholder:e(`settings.providers.page.models.filterPlaceholder`),className:`h-7 pl-8 w-full`})]}),ue.length===0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground py-4 text-center`,children:e(`settings.providers.page.models.noModelsMatchFilter`)}):(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)]`,children:ue.map(t=>{let n=typeof t?.id==`string`?t.id:``,r=typeof t?.name==`string`?t.name:n,i=n?a(G.id,n):void 0,o=s.some(e=>e.providerID===G.id&&e.modelID===n),l=Pf(i?.limit?.context),u=Pf(i?.limit?.output),d=[];return i?.tool_call&&d.push({key:`tools`,icon:`tools`,label:e(`settings.providers.page.models.capability.toolCalling`)}),i?.reasoning&&d.push({key:`reasoning`,icon:`brain-ai-3`,label:e(`settings.providers.page.models.capability.reasoning`)}),i?.attachment&&d.push({key:`image`,icon:`file-image`,label:e(`settings.providers.page.models.capability.imageInput`)}),(0,$.jsx)(`div`,{className:`py-1.5`,children:(0,$.jsxs)(`div`,{className:q(`flex flex-wrap items-center gap-x-3 gap-y-1.5 md:flex-nowrap md:gap-3`,o&&`opacity-50`),children:[(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground truncate w-full min-w-0 md:w-auto md:flex-1`,children:r}),(0,$.jsxs)(`div`,{className:`flex w-full flex-wrap items-center gap-2 flex-shrink-0 md:w-auto md:flex-nowrap`,children:[(l||u)&&(0,$.jsxs)(`span`,{className:`typography-micro text-muted-foreground flex-shrink-0 bg-[var(--surface-muted)] px-1.5 py-0.5 rounded`,children:[l?`${l} ${e(`settings.providers.page.models.tokenBadge.context`)}`:``,l&&u?` · `:``,u?`${u} ${e(`settings.providers.page.models.tokenBadge.output`)}`:``]}),d.length>0&&(0,$.jsx)(`div`,{className:`flex items-center gap-1 flex-shrink-0`,children:d.map(({key:e,icon:t,label:n})=>(0,$.jsx)(`span`,{className:`flex h-5 w-5 rounded items-center justify-center text-muted-foreground bg-[var(--surface-muted)]`,title:n,"aria-label":n,children:(0,$.jsx)(Z,{name:t,className:`h-3 w-3`})},e))}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>c(G.id,n),className:`ml-auto flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-[var(--interactive-hover)]/50 md:ml-0`,title:e(o?`settings.providers.page.models.actions.showModelInSelectors`:`settings.providers.page.models.actions.hideModelFromSelectors`),"aria-label":e(o?`settings.providers.page.models.actions.showModel`:`settings.providers.page.models.actions.hideModel`),children:o?(0,$.jsx)(Z,{name:`eye-off`,className:`h-3.5 w-3.5`}):(0,$.jsx)(Z,{name:`eye`,className:`h-3.5 w-3.5`})})]})]})},n)})})]})]})})};function Vf(e){return e.currentDirectory}function Hf(){let{t:e}=Fe(),t=ci(e=>e.magpieUsageUrl),n=ci(e=>e.magpieSources),r=ci(e=>e.magpieError),a=ci(e=>e.fetchMagpieQuotas),[o,s]=Q.useState(null),[c,l]=Q.useState(!1),[u,d]=Q.useState(!1),f=Q.useId(),p=n.reduce((e,t)=>e+t.results.length,0),m=i();Q.useEffect(()=>{s(null),d(!1)},[m]);let h=Me(async()=>{let e=i(),n=(o??t).trim();l(!0),d(!1);try{if(n){let e=new URL(n);if(![`http:`,`https:`].includes(e.protocol)||e.username||e.password||e.search||e.hash)throw Error(`Invalid URL`)}if(await T({magpieUsageUrl:n}),e!==i())return;ci.setState({magpieUsageUrl:n}),s(null),await a()}catch{e===i()&&d(!0)}finally{l(!1)}});return(0,$.jsx)(Jr,{label:`Magpie`,itemId:`usage.magpie`,children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row min-w-0`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground break-words`,children:p>0?e(`settings.usage.magpie.connected`,{count:p}):e(`settings.usage.magpie.description`)}),(r||n.some(e=>e.identified&&e.error))&&(0,$.jsx)(`p`,{role:`status`,className:`typography-meta text-muted-foreground`,children:e(`settings.usage.magpie.unavailable`)}),(0,$.jsxs)(`details`,{className:`mt-2 min-w-0`,children:[(0,$.jsx)(`summary`,{className:`cursor-pointer typography-meta text-muted-foreground hover:text-foreground`,children:e(`settings.usage.magpie.manual`)}),(0,$.jsxs)(`div`,{className:`mt-3 flex min-w-0 flex-col gap-2`,children:[(0,$.jsx)(`label`,{htmlFor:f,className:`typography-meta text-muted-foreground`,children:e(`settings.usage.magpie.url`)}),(0,$.jsx)(gn,{id:f,className:`w-full min-w-0`,value:o??t,disabled:c,onChange:e=>s(e.target.value),"aria-label":e(`settings.usage.magpie.url`)}),(0,$.jsx)(J,{className:`self-end`,size:`sm`,variant:`outline`,onClick:h,disabled:c,children:e(`settings.usage.magpie.save`)}),u&&(0,$.jsx)(`p`,{role:`alert`,className:`typography-meta text-[var(--status-error)]`,children:e(`settings.usage.page.state.refreshFailedTitle`)})]})]})]})})}var Uf=e=>{let t=e?.windows??{},n=Object.values(t).map(e=>e.usedPercent).filter(e=>typeof e==`number`);return n.length===0?null:Math.max(...n)},Wf=e=>{let t=(0,Ki.c)(122),{onItemSelect:n,children:r}=e,{t:i}=Fe(),a=ci(Gf),o=ci(Kf),s=ci(qf),c=ci(Jf),l=ci(Yf),u=ci(Xf),d=ci(Zf),f=ci(Qf),p=ci($f),m=ci(ep),h=ci(tp),g=ci(np),_=ci(rp),v=ci(ip),y,b;t[0]===v?(y=t[1],b=t[2]):(y=()=>{v()},b=[v],t[0]=v,t[1]=y,t[2]=b),Q.useEffect(y,b);let x=ap,S;t[3]===p?S=t[4]:(S=e=>{p(e),x({usageAutoRefresh:e})},t[3]=p,t[4]=S);let C=S,w;t[5]===m?w=t[6]:(w=e=>{let t=Number(e);Number.isFinite(t)&&(m(t),x({usageRefreshIntervalMs:t}))},t[5]=m,t[6]=w);let T=w,E;t[7]===h?E=t[8]:(E=e=>{(e===`usage`||e===`remaining`)&&(h(e),x({usageDisplayMode:e}))},t[7]=h,t[8]=E);let D=E,O;t[9]===_?O=t[10]:(O=e=>{_(e),x({usageShowPredValues:e})},t[9]=_,t[10]=O);let k=O,A=r?`oc-settings-usage-workspace`:`oc-settings-usage-sidebar`,j;t[11]===A?j=t[12]:(j=q(`oc-settings-page-content h-full min-w-0 overflow-y-auto bg-background p-3`,A),t[11]=A,t[12]=j);let M;t[13]===i?M=t[14]:(M=i(`settings.usage.sidebar.title`),t[13]=i,t[14]=M);let N;t[15]===c?N=t[16]:(N=()=>c(),t[15]=c,t[16]=N);let P;t[17]===i?P=t[18]:(P=i(`settings.usage.sidebar.actions.refreshAria`),t[17]=i,t[18]=P);let F;t[19]===i?F=t[20]:(F=i(`settings.usage.sidebar.actions.refreshTitle`),t[19]=i,t[20]=F);let I=l&&`animate-spin`,L;t[21]===I?L=t[22]:(L=q(`h-3.5 w-3.5`,I),t[21]=I,t[22]=L);let R;t[23]===L?R=t[24]:(R=(0,$.jsx)(Z,{name:`refresh`,className:L}),t[23]=L,t[24]=R);let z;t[25]!==l||t[26]!==N||t[27]!==P||t[28]!==F||t[29]!==R?(z=(0,$.jsx)(J,{size:`icon`,variant:`ghost`,className:`text-muted-foreground`,onClick:N,"aria-label":P,title:F,disabled:l,children:R}),t[25]=l,t[26]=N,t[27]=P,t[28]=F,t[29]=R,t[30]=z):z=t[30];let B;t[31]!==z||t[32]!==M?(B=(0,$.jsx)(Yr,{label:M,children:z}),t[31]=z,t[32]=M,t[33]=B):B=t[33];let V;t[34]===i?V=t[35]:(V=i(`settings.usage.sidebar.field.autoRefresh`),t[34]=i,t[35]=V);let H;t[36]===i?H=t[37]:(H=i(`settings.usage.sidebar.actions.toggleAutoRefreshAria`),t[36]=i,t[37]=H);let U;t[38]!==C||t[39]!==H||t[40]!==u?(U=(0,$.jsx)(on,{checked:u,onChange:C,ariaLabel:H}),t[38]=C,t[39]=H,t[40]=u,t[41]=U):U=t[41];let W;t[42]!==V||t[43]!==U?(W=(0,$.jsx)(Yr,{label:V,children:U}),t[42]=V,t[43]=U,t[44]=W):W=t[44];let ee;t[45]===i?ee=t[46]:(ee=i(`settings.usage.sidebar.field.refreshInterval`),t[45]=i,t[46]=ee);let G=String(d),te=!u,ne;t[47]===i?ne=t[48]:(ne=i(`settings.usage.sidebar.field.intervalPlaceholder`),t[47]=i,t[48]=ne);let re;t[49]===ne?re=t[50]:(re=(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:ne,children:op})}),t[49]=ne,t[50]=re);let ie;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`30000`,children:`30s`}),(0,$.jsx)(cn,{value:`60000`,children:`1m`}),(0,$.jsx)(cn,{value:`300000`,children:`5m`})]}),t[51]=ie):ie=t[51];let ae;t[52]!==T||t[53]!==G||t[54]!==te||t[55]!==re?(ae=(0,$.jsxs)(pn,{value:G,onValueChange:T,disabled:te,children:[re,ie]}),t[52]=T,t[53]=G,t[54]=te,t[55]=re,t[56]=ae):ae=t[56];let oe;t[57]!==ee||t[58]!==ae?(oe=(0,$.jsx)(Yr,{label:ee,children:ae}),t[57]=ee,t[58]=ae,t[59]=oe):oe=t[59];let se;t[60]===i?se=t[61]:(se=i(`settings.usage.sidebar.field.display`),t[60]=i,t[61]=se);let ce;t[62]===i?ce=t[63]:(ce=i(`settings.usage.sidebar.field.displayModePlaceholder`),t[62]=i,t[63]=ce);let le;t[64]===i?le=t[65]:(le=e=>e===`usage`?i(`settings.usage.sidebar.field.displayModeUsage`):e===`remaining`?i(`settings.usage.sidebar.field.displayModeRemaining`):e,t[64]=i,t[65]=le);let ue;t[66]!==ce||t[67]!==le?(ue=(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:ce,children:le})}),t[66]=ce,t[67]=le,t[68]=ue):ue=t[68];let de;t[69]===i?de=t[70]:(de=i(`settings.usage.sidebar.field.displayModeUsage`),t[69]=i,t[70]=de);let fe;t[71]===de?fe=t[72]:(fe=(0,$.jsx)(cn,{value:`usage`,children:de}),t[71]=de,t[72]=fe);let pe;t[73]===i?pe=t[74]:(pe=i(`settings.usage.sidebar.field.displayModeRemaining`),t[73]=i,t[74]=pe);let me;t[75]===pe?me=t[76]:(me=(0,$.jsx)(cn,{value:`remaining`,children:pe}),t[75]=pe,t[76]=me);let he;t[77]!==fe||t[78]!==me?(he=(0,$.jsxs)(dn,{children:[fe,me]}),t[77]=fe,t[78]=me,t[79]=he):he=t[79];let ge;t[80]!==D||t[81]!==ue||t[82]!==he||t[83]!==f?(ge=(0,$.jsxs)(pn,{value:f,onValueChange:D,children:[ue,he]}),t[80]=D,t[81]=ue,t[82]=he,t[83]=f,t[84]=ge):ge=t[84];let _e;t[85]!==se||t[86]!==ge?(_e=(0,$.jsx)(Yr,{label:se,children:ge}),t[85]=se,t[86]=ge,t[87]=_e):_e=t[87];let ve;t[88]===i?ve=t[89]:(ve=i(`settings.usage.sidebar.field.showPredictions`),t[88]=i,t[89]=ve);let ye;t[90]===i?ye=t[91]:(ye=i(`settings.usage.sidebar.field.showPredictions`),t[90]=i,t[91]=ye);let K;t[92]!==k||t[93]!==g||t[94]!==ve||t[95]!==ye?(K=(0,$.jsx)(Zr,{checked:g,onChange:k,label:ve,ariaLabel:ye}),t[92]=k,t[93]=g,t[94]=ve,t[95]=ye,t[96]=K):K=t[96];let be;t[97]!==B||t[98]!==W||t[99]!==oe||t[100]!==_e||t[101]!==K?(be=(0,$.jsxs)(Jr,{children:[B,W,oe,_e,K]}),t[97]=B,t[98]=W,t[99]=oe,t[100]=_e,t[101]=K,t[102]=be):be=t[102];let xe;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(Hf,{}),t[103]=xe):xe=t[103];let Se=r?`oc-settings-usage-results`:void 0,Ce;t[104]!==n||t[105]!==a||t[106]!==o||t[107]!==s||t[108]!==i?(Ce=ti(a).map(e=>{let t=a.find(t=>t?.providerId===e.id),r=Uf(t?.usage),c=kn(r),l=e.id===o,u=t?.configured??!1,d=u?c===`critical`?{backgroundColor:`var(--status-error)`}:c===`warn`?{backgroundColor:`var(--status-warning)`}:{backgroundColor:`var(--status-success)`}:{backgroundColor:`var(--surface-muted-foreground)`,opacity:.4};return(0,$.jsx)(`div`,{className:q(`oc-settings-group-row group relative flex items-center transition-colors duration-150`,l?`bg-interactive-selection`:`hover:bg-interactive-hover`),children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{s(e.id),n?.()},className:`flex min-w-0 flex-1 items-center gap-2 rounded-sm text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,children:[(0,$.jsx)(`span`,{className:`h-2.5 w-2.5 rounded-full flex-shrink-0`,style:d}),(0,$.jsx)(sn,{providerId:e.id,className:`h-4 w-4 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate flex-1 min-w-0 text-foreground`,children:e.name}),!u&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/60 flex-shrink-0`,children:i(`settings.usage.sidebar.status.notSet`)})]})},e.id)}),t[104]=n,t[105]=a,t[106]=o,t[107]=s,t[108]=i,t[109]=Ce):Ce=t[109];let we;t[110]===Ce?we=t[111]:(we=(0,$.jsx)(Jr,{children:Ce}),t[110]=Ce,t[111]=we);let Te;t[112]===r?Te=t[113]:(Te=r&&(0,$.jsx)(`div`,{className:`oc-settings-usage-detail min-w-0`,children:r}),t[112]=r,t[113]=Te);let Ee;t[114]!==Se||t[115]!==we||t[116]!==Te?(Ee=(0,$.jsxs)(`div`,{className:Se,children:[we,Te]}),t[114]=Se,t[115]=we,t[116]=Te,t[117]=Ee):Ee=t[117];let De;return t[118]!==be||t[119]!==Ee||t[120]!==j?(De=(0,$.jsxs)(`div`,{className:j,children:[be,xe,Ee]}),t[118]=be,t[119]=Ee,t[120]=j,t[121]=De):De=t[121],De};function Gf(e){return e.results}function Kf(e){return e.selectedProviderId}function qf(e){return e.setSelectedProvider}function Jf(e){return e.fetchAllQuotas}function Yf(e){return e.isLoading}function Xf(e){return e.autoRefresh}function Zf(e){return e.refreshIntervalMs}function Qf(e){return e.displayMode}function $f(e){return e.setAutoRefresh}function ep(e){return e.setRefreshInterval}function tp(e){return e.setDisplayMode}function np(e){return e.showPredValues}function rp(e){return e.setShowPredValues}function ip(e){return e.loadSettings}async function ap(e){try{await T(e)}catch(e){console.warn(`Failed to save usage settings:`,e)}}function op(e){return e===`30000`?`30s`:e===`60000`?`1m`:e===`300000`?`5m`:e}var sp=e=>{let t=(0,Ki.c)(54),{title:n,window:r,subtitle:i,showToggle:a,toggleEnabled:o,onToggle:s}=e,c=a!==void 0&&a,l=o!==void 0&&o,{locale:u}=Fe(),[d,f]=Q.useState(Date.now),p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>f(Date.now()),t[0]=p):p=t[0],Ae(p,r.disablePace&&r.resetAt?3e4:null);let m=r.resetAt?Math.max(0,Math.ceil((r.resetAt-d)/6e4)):null,h;t[1]!==u||t[2]!==m?(h=m===null?``:[{unit:`day`,value:Math.floor(m/1440)},{unit:`hour`,value:Math.floor(m%1440/60)},{unit:`minute`,value:m%60}].filter(e=>{let{unit:t,value:n}=e;return n>0||t===`minute`&&m===0}).map(e=>{let{unit:t,value:n}=e;return new Intl.NumberFormat(u,{style:`unit`,unit:t,unitDisplay:`long`}).format(n)}).join(` `),t[1]=u,t[2]=m,t[3]=h):h=t[3];let g=h,_=ci(cp),v=ci(lp),y=K(up),b=_===`remaining`?r.remainingPercent:r.usedPercent,x=_===`remaining`?`remaining`:`used`,S;t[4]!==b||t[5]!==r.disablePace||t[6]!==r.valueLabel?(S=r.disablePace&&r.valueLabel&&b!==null?`${Mn(null,b)} · ${r.valueLabel}`:Mn(r.valueLabel,b),t[4]=b,t[5]=r.disablePace,t[6]=r.valueLabel,t[7]=S):S=t[7];let C=S,w=r.resetAfterFormatted??r.resetAtFormatted,T;t[8]!==w||t[9]!==y||t[10]!==r.resetAt?(T=ir(r.resetAt,w,y),t[8]=w,t[9]=y,t[10]=r.resetAt,t[11]=T):T=t[11];let E=T,D;t[12]===n?D=t[13]:(D=In(n),t[12]=n,t[13]=D);let O=D,k;t[14]!==n||t[15]!==r.disablePace||t[16]!==r.resetAt||t[17]!==r.usedPercent||t[18]!==r.windowSeconds?(k=r.disablePace?null:or(r.usedPercent,r.resetAt,r.windowSeconds,n),t[14]=n,t[15]=r.disablePace,t[16]=r.resetAt,t[17]=r.usedPercent,t[18]=r.windowSeconds,t[19]=k):k=t[19];let A=k,j;bb0:{if(!A||A.dailyAllocationPercent===null){j=null;break bb0}let e=Fn(A.elapsedRatio);j=_===`remaining`?100-e:e}let M=j,N;t[20]!==s||t[21]!==c||t[22]!==l?(N=c&&(0,$.jsx)(on,{checked:l,onChange:e=>s?.(e),ariaLabel:`Show in dropdown`}),t[20]=s,t[21]=c,t[22]=l,t[23]=N):N=t[23];let P;t[24]===O?P=t[25]:(P=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:O}),t[24]=O,t[25]=P);let F;t[26]===i?F=t[27]:(F=i&&(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground truncate`,children:i}),t[26]=i,t[27]=F);let I;t[28]!==P||t[29]!==F?(I=(0,$.jsxs)(`div`,{className:`min-w-0 flex flex-col`,children:[P,F]}),t[28]=P,t[29]=F,t[30]=I):I=t[30];let L;t[31]!==N||t[32]!==I?(L=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 flex items-center gap-2`,children:[N,I]}),t[31]=N,t[32]=I,t[33]=L):L=t[33];let R=C===`-`?``:C,z;t[34]===R?z=t[35]:(z=(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground tabular-nums flex items-center justify-end`,children:R}),t[34]=R,t[35]=z);let B;t[36]!==L||t[37]!==z?(B=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[L,z]}),t[36]=L,t[37]=z,t[38]=B):B=t[38];let V;t[39]!==x||t[40]!==g||t[41]!==b||t[42]!==M||t[43]!==E||t[44]!==r.disablePace||t[45]!==r.usedPercent?(V=(!r.disablePace||b!==null||E)&&(0,$.jsxs)(`div`,{className:`mt-2.5`,children:[(!r.disablePace||b!==null)&&(0,$.jsx)(fi,{percent:b,tonePercent:r.usedPercent,expectedMarkerPercent:M,className:`h-1.5`}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:E?r.disablePace?`${E} (${g})`:`Resets ${E}`:``}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:r.disablePace&&b===null?``:x})]})]}),t[39]=x,t[40]=g,t[41]=b,t[42]=M,t[43]=E,t[44]=r.disablePace,t[45]=r.usedPercent,t[46]=V):V=t[46];let H;t[47]!==A||t[48]!==v?(H=A&&v&&(0,$.jsx)(`div`,{className:`mt-1.5`,children:(0,$.jsx)(oi,{paceInfo:A})}),t[47]=A,t[48]=v,t[49]=H):H=t[49];let U;return t[50]!==B||t[51]!==V||t[52]!==H?(U=(0,$.jsxs)(`div`,{className:`py-3`,children:[B,V,H]}),t[50]=B,t[51]=V,t[52]=H,t[53]=U):U=t[53],U};function cp(e){return e.displayMode}function lp(e){return e.showPredValues}function up(e){return e.timeFormatPreference}var dp=(e,t)=>{if(!e)return`-`;try{return zn(e,t,{fallback:`-`})}catch{return`-`}},fp=()=>{let{t:e}=Fe(),t=K(e=>e.timeFormatPreference),n=ci(e=>e.results),r=ci(e=>e.selectedProviderId),i=ci(e=>e.setSelectedProvider),a=ci(e=>e.loadSettings),o=ci(e=>e.fetchAllQuotas),s=ci(e=>e.isLoading),c=ci(e=>e.lastUpdated),l=ci(e=>e.error),u=ci(e=>e.dropdownProviderIds),d=ci(e=>e.setDropdownProviderIds),f=ci(e=>e.selectedModels),p=ci(e=>e.toggleModelSelected),m=ci(e=>e.applyDefaultSelections);si(),Q.useEffect(()=>{a(),o()},[a,o]),Q.useEffect(()=>{if(r&&(!r.startsWith(`magpie:`)||n.some(e=>e.providerId===r))||n.length===0)return;let e=n.find(e=>e?.configured)?.providerId;i(e??Gr[0]?.id??null)},[n,r,i]);let h=n.find(e=>e?.providerId===r)??null,g=Gr.find(e=>e.id===r),_=h?.providerName??g?.name??r??e(`settings.usage.sidebar.title`),v=h?.usage,y=r?u.includes(r):!1,b=Q.useCallback(e=>{if(!r)return;let t=e?Array.from(new Set([...u,r])):u.filter(e=>e!==r);d(t),T({usageDropdownProviders:t,magpieHiddenProviders:ci.getState().magpieHiddenProviders})},[u,r,d]),x=Q.useMemo(()=>v?.models?Object.entries(v.models).map(([e,t])=>({name:e,windows:t})).filter(e=>Object.keys(e.windows.windows).length>0):[],[v?.models]);Q.useEffect(()=>{r&&x.length>0&&m(r,x.map(e=>e.name))},[r,x,m]);let S=Q.useMemo(()=>!r||x.length===0?new Map:li(x,e=>e.name,r),[x,r]),C=Q.useMemo(()=>{if(!r)return[];let e=hi(r);return ri(e)},[r]),[w,E]=Q.useState(()=>({})),D=Q.useCallback(e=>{E(t=>({...t,[e]:!t[e]}))},[]),O=Q.useCallback(e=>{if(!r)return;p(r,e);let t=f[r]??[],n=t.includes(e)?t.filter(t=>t!==e):[...t,e],i={...f,[r]:n};T({usageSelectedModels:i})},[r,f,p]),k=r?f[r]??[]:[];return r?(0,$.jsx)(Ar,{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,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(sn,{providerId:r,className:`h-5 w-5 shrink-0`}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground truncate`,children:e(`settings.usage.page.header.providerUsage`,{provider:_})}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground truncate`,children:s?(0,$.jsx)(`span`,{className:`animate-pulse`,children:e(`settings.usage.page.header.refreshing`)}):e(`settings.usage.page.header.lastUpdated`,{time:dp(c,t)})})]})]}),(0,$.jsx)(Jr,{children:(0,$.jsxs)(`div`,{"data-settings-item":`usage.header-menu`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,"aria-pressed":y,onClick:()=>b(!y),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),b(!y))},children:[(0,$.jsx)(`div`,{className:`oc-settings-split-row-copy`,children:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.usage.page.options.showInHeader`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 cursor-help text-muted-foreground/60`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:e(`settings.usage.page.options.showInHeaderTooltip`)})]})]})}),(0,$.jsx)(`div`,{"data-settings-value":``,className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:y,onChange:b,ariaLabel:e(`settings.usage.page.options.showInHeaderAria`)})})]})}),!h&&(0,$.jsx)(`div`,{className:`px-2`,children:(0,$.jsx)(`p`,{className:`typography-ui-label text-foreground`,children:e(`settings.usage.page.state.noData`)})}),l&&(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--status-error-border)] bg-[var(--status-error-background)] px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-medium text-[var(--status-error)]`,children:e(`settings.usage.page.state.refreshFailedTitle`)}),(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]/80 mt-1`,children:l})]}),h?.configured&&!h.ok&&h.error&&(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--status-error-border)] bg-[var(--status-error-background)] px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-medium text-[var(--status-error)]`,children:e(`settings.usage.page.state.refreshFailedTitle`)}),(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]/80 mt-1`,children:h.error})]}),h&&!h.configured&&(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--status-warning-border)] bg-[var(--status-warning-background)] px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-medium text-[var(--status-warning)]`,children:e(`settings.usage.page.state.providerNotConfiguredTitle`)}),(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-warning)]/80 mt-1`,children:e(`settings.usage.page.state.providerNotConfiguredDescription`)})]}),v?.accounts?.map((n,r)=>(0,$.jsx)(Jr,{label:n.name,children:(0,$.jsxs)(`div`,{className:`oc-settings-group-row`,children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground break-words`,children:[n.user,n.plan,n.from].filter(Boolean).join(` · `)}),n.readAt&&(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.usage.page.header.lastUpdated`,{time:dp(n.readAt,t)})}),n.stale&&(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:e(`settings.usage.magpie.cached`)}),n.error&&(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:e(`settings.usage.page.state.refreshFailedTitle`)}),(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)]`,children:Object.entries(n.windows).map(([e,t])=>(0,$.jsx)(sp,{title:t.label??e,window:t},e))})]})},`${n.id}:${r}`)),!v?.accounts&&v?.windows&&Object.keys(v.windows).length>0&&(0,$.jsx)(Jr,{children:(0,$.jsx)(`div`,{"data-settings-item":`usage.model-quotas`,className:`oc-settings-group-row`,children:(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)]`,children:Object.entries(v.windows).map(([e,t])=>(0,$.jsx)(sp,{title:e,window:t},e))})})}),x.length>0&&(0,$.jsxs)(Jr,{label:e(`settings.usage.page.section.modelQuotas`),children:[C.map(e=>{let t=S.get(e.id)??[];if(t.length===0)return null;let n=w[e.id]??!1;return(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsxs)(Hi,{open:!n,onOpenChange:()=>D(e.id),children:[(0,$.jsxs)(Vi,{className:`flex w-full items-center justify-between py-0.5 group`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 text-left`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label font-normal text-foreground`,children:e.label}),(0,$.jsxs)(`span`,{className:`typography-micro text-muted-foreground`,children:[`(`,t.length,`)`]})]}),n?(0,$.jsx)(Z,{name:`arrow-right-s`,className:`h-4 w-4 text-muted-foreground group-hover:text-foreground transition-colors`}):(0,$.jsx)(Z,{name:`arrow-down-s`,className:`h-4 w-4 text-muted-foreground group-hover:text-foreground transition-colors`})]}),(0,$.jsx)(Bi,{children:(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)] mt-1`,children:t.map(e=>{let t=Object.entries(e.windows.windows);if(t.length===0)return null;let[n,r]=t[0],i=k.includes(e.name);return(0,$.jsx)(sp,{title:n,subtitle:pi(e.name),window:r,showToggle:!0,toggleEnabled:i,onToggle:()=>O(e.name)},e.name)})})})]})},e.id)}),(()=>{let t=S.get(null)??[];if(t.length===0)return null;let n=w.other??!1;return(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsxs)(Hi,{open:!n,onOpenChange:()=>D(`other`),children:[(0,$.jsxs)(Vi,{className:`flex w-full items-center justify-between py-0.5 group`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 text-left`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label font-normal text-foreground`,children:e(`settings.usage.page.section.otherModels`)}),(0,$.jsxs)(`span`,{className:`typography-micro text-muted-foreground`,children:[`(`,t.length,`)`]})]}),n?(0,$.jsx)(Z,{name:`arrow-right-s`,className:`h-4 w-4 text-muted-foreground group-hover:text-foreground transition-colors`}):(0,$.jsx)(Z,{name:`arrow-down-s`,className:`h-4 w-4 text-muted-foreground group-hover:text-foreground transition-colors`})]}),(0,$.jsx)(Bi,{children:(0,$.jsx)(`div`,{className:`divide-y divide-[var(--surface-subtle)] mt-1`,children:t.map(e=>{let t=Object.entries(e.windows.windows);if(t.length===0)return null;let[n,r]=t[0],i=k.includes(e.name);return(0,$.jsx)(sp,{title:n,subtitle:pi(e.name),window:r,showToggle:!0,toggleEnabled:i,onToggle:()=>O(e.name)},e.name)})})})]})})})()]}),h?.configured&&v&&Object.keys(v.windows??{}).length===0&&x.length===0&&(0,$.jsxs)(`div`,{className:`px-2`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label text-foreground`,children:e(`settings.usage.page.state.noQuotaWindowsTitle`)}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground mt-1`,children:e(`settings.usage.page.state.noQuotaWindowsDescription`)})]})]})}):(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center text-muted-foreground`,children:(0,$.jsx)(`p`,{className:`typography-body`,children:e(`settings.usage.page.empty.selectProvider`)})})},pp=`git.commit.generate`,mp=oe(e=>({selectedPromptId:pp,setSelectedPromptId:t=>{e(e=>e.selectedPromptId===t?e:{selectedPromptId:t})}})),hp=e=>{let t=(0,Ki.c)(22),{onItemSelect:n}=e,{t:r}=Fe(),i=mp(gp),a=mp(_p),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={groupKey:`settings.magicPrompts.sidebar.group.git`,items:[{id:`git.commit.generate`,titleKey:`settings.magicPrompts.sidebar.item.gitCommitGenerate`},{id:`git.pr.generate`,titleKey:`settings.magicPrompts.sidebar.item.gitPrGenerate`},{id:`git.conflict.resolve`,titleKey:`settings.magicPrompts.sidebar.item.gitConflictResolve`},{id:`git.integrate.cherrypick.resolve`,titleKey:`settings.magicPrompts.sidebar.item.gitCherrypickConflictResolve`}]},t[0]=o):o=t[0];let s;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(s={groupKey:`settings.magicPrompts.sidebar.group.github`,items:[{id:`github.pr.review`,titleKey:`settings.magicPrompts.sidebar.item.githubPrReview`},{id:`github.issue.review`,titleKey:`settings.magicPrompts.sidebar.item.githubIssueReview`},{id:`github.pr.checks.review`,titleKey:`settings.magicPrompts.sidebar.item.githubPrFailedChecksReview`},{id:`github.pr.comments.review`,titleKey:`settings.magicPrompts.sidebar.item.githubPrCommentsReview`},{id:`github.pr.comment.single`,titleKey:`settings.magicPrompts.sidebar.item.githubSinglePrCommentReview`}]},t[1]=s):s=t[1];let c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=[o,s,{groupKey:`settings.magicPrompts.sidebar.group.session`,items:[{id:`session.explore`,titleKey:`settings.magicPrompts.sidebar.item.sessionExplore`},{id:`session.summary`,titleKey:`settings.magicPrompts.sidebar.item.sessionSummary`},{id:`session.review`,titleKey:`settings.magicPrompts.sidebar.item.sessionWorkspaceReview`},{id:`session.craftGoal`,titleKey:`settings.magicPrompts.sidebar.item.sessionCraftGoal`},{id:`session.catchup`,titleKey:`settings.magicPrompts.sidebar.item.sessionCatchUp`},{id:`session.debug`,titleKey:`settings.magicPrompts.sidebar.item.sessionDebug`},{id:`session.weigh`,titleKey:`settings.magicPrompts.sidebar.item.sessionWeigh`},{id:`session.fusion`,titleKey:`settings.magicPrompts.sidebar.item.sessionFusion`}]}],t[2]=c):c=t[2];let l=c,u;t[3]===r?u=t[4]:(u=r(`settings.magicPrompts.sidebar.title`),t[3]=r,t[4]=u);let d;t[5]===u?d=t[6]:(d=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:u}),t[5]=u,t[6]=d);let f;t[7]===r?f=t[8]:(f=r(`settings.magicPrompts.sidebar.description`),t[7]=r,t[8]=f);let p;t[9]===f?p=t[10]:(p=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:f}),t[9]=f,t[10]=p);let m;t[11]!==d||t[12]!==p?(m=(0,$.jsxs)(`div`,{className:`flex flex-col justify-center gap-1 px-2`,children:[d,p]}),t[11]=d,t[12]=p,t[13]=m):m=t[13];let h;t[14]!==n||t[15]!==i||t[16]!==a||t[17]!==r?(h=l.map(e=>(0,$.jsx)(Jr,{label:r(e.groupKey),children:e.items.map(e=>{let t=i===e.id;return(0,$.jsx)(`button`,{type:`button`,onClick:()=>{a(e.id),n?.()},className:q(`oc-settings-group-row flex w-full items-center text-left transition-colors`,t?`bg-interactive-selection text-foreground`:`text-foreground hover:bg-interactive-hover`),children:(0,$.jsx)(`span`,{className:`typography-ui-label truncate font-normal`,children:r(e.titleKey)})},e.id)})},e.groupKey)),t[14]=n,t[15]=i,t[16]=a,t[17]=r,t[18]=h):h=t[18];let g;return t[19]!==m||t[20]!==h?(g=(0,$.jsxs)(`div`,{className:`oc-settings-page-content h-full overflow-y-auto bg-background p-3`,children:[m,h]}),t[19]=m,t[20]=h,t[21]=g):g=t[21],g};function gp(e){return e.selectedPromptId}function _p(e){return e.setSelectedPromptId}var vp={"git.commit.generate":{titleKey:`settings.magicPrompts.page.group.gitCommitGenerate.title`,descriptionKey:`settings.magicPrompts.page.group.gitCommitGenerate.description`,blocks:[{id:`git.commit.generate.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`git.commit.generate.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"git.pr.generate":{titleKey:`settings.magicPrompts.page.group.gitPrGenerate.title`,descriptionKey:`settings.magicPrompts.page.group.gitPrGenerate.description`,blocks:[{id:`git.pr.generate.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`git.pr.generate.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"github.pr.review":{titleKey:`settings.magicPrompts.page.group.githubPrReview.title`,descriptionKey:`settings.magicPrompts.page.group.githubPrReview.description`,blocks:[{id:`github.pr.review.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`github.pr.review.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"github.issue.review":{titleKey:`settings.magicPrompts.page.group.githubIssueReview.title`,descriptionKey:`settings.magicPrompts.page.group.githubIssueReview.description`,blocks:[{id:`github.issue.review.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`github.issue.review.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"github.pr.checks.review":{titleKey:`settings.magicPrompts.page.group.githubPrFailedChecksReview.title`,descriptionKey:`settings.magicPrompts.page.group.githubPrFailedChecksReview.description`,blocks:[{id:`github.pr.checks.review.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`github.pr.checks.review.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"github.pr.comments.review":{titleKey:`settings.magicPrompts.page.group.githubPrCommentsReview.title`,descriptionKey:`settings.magicPrompts.page.group.githubPrCommentsReview.description`,blocks:[{id:`github.pr.comments.review.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`github.pr.comments.review.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"github.pr.comment.single":{titleKey:`settings.magicPrompts.page.group.githubSinglePrCommentReview.title`,descriptionKey:`settings.magicPrompts.page.group.githubSinglePrCommentReview.description`,blocks:[{id:`github.pr.comment.single.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`github.pr.comment.single.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"git.conflict.resolve":{titleKey:`settings.magicPrompts.page.group.gitConflictResolve.title`,descriptionKey:`settings.magicPrompts.page.group.gitConflictResolve.description`,blocks:[{id:`git.conflict.resolve.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`git.conflict.resolve.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"git.integrate.cherrypick.resolve":{titleKey:`settings.magicPrompts.page.group.gitCherrypickConflictResolve.title`,descriptionKey:`settings.magicPrompts.page.group.gitCherrypickConflictResolve.description`,blocks:[{id:`git.integrate.cherrypick.resolve.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`git.integrate.cherrypick.resolve.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.summary":{titleKey:`settings.magicPrompts.page.group.sessionSummary.title`,descriptionKey:`settings.magicPrompts.page.group.sessionSummary.description`,blocks:[{id:`session.summary.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.summary.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.review":{titleKey:`settings.magicPrompts.page.group.sessionWorkspaceReview.title`,descriptionKey:`settings.magicPrompts.page.group.sessionWorkspaceReview.description`,blocks:[{id:`session.review.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.review.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.craftGoal":{titleKey:`settings.magicPrompts.page.group.sessionCraftGoal.title`,descriptionKey:`settings.magicPrompts.page.group.sessionCraftGoal.description`,blocks:[{id:`session.craftGoal.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.craftGoal.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.catchup":{titleKey:`settings.magicPrompts.page.group.sessionCatchUp.title`,descriptionKey:`settings.magicPrompts.page.group.sessionCatchUp.description`,blocks:[{id:`session.catchup.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.catchup.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.debug":{titleKey:`settings.magicPrompts.page.group.sessionDebug.title`,descriptionKey:`settings.magicPrompts.page.group.sessionDebug.description`,blocks:[{id:`session.debug.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.debug.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.weigh":{titleKey:`settings.magicPrompts.page.group.sessionWeigh.title`,descriptionKey:`settings.magicPrompts.page.group.sessionWeigh.description`,blocks:[{id:`session.weigh.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.weigh.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.explore":{titleKey:`settings.magicPrompts.page.group.sessionExplore.title`,descriptionKey:`settings.magicPrompts.page.group.sessionExplore.description`,blocks:[{id:`session.explore.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.explore.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]},"session.fusion":{titleKey:`settings.magicPrompts.page.group.sessionFusion.title`,descriptionKey:`settings.magicPrompts.page.group.sessionFusion.description`,blocks:[{id:`session.fusion.visible`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`},{id:`session.fusion.instructions`,titleKey:`settings.magicPrompts.page.block.instructions`}]}},yp=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),bp=e=>e.endsWith(`.visible`),xp=()=>{let{t:e}=Fe(),t=Q.useCallback(t=>e(t),[e]),n=mp(e=>e.selectedPromptId),[r,i]=Q.useState(!0),[a,o]=Q.useState({}),[s,c]=Q.useState({}),[l,u]=Q.useState({}),[d,f]=Q.useState({}),[p,m]=Q.useState(!1);Q.useEffect(()=>{let t=!0;return(async()=>{i(!0);try{let e=await kt();if(!t)return;o(e)}catch(t){console.warn(`Failed to load magic prompts:`,t),Y.error(e(`settings.magicPrompts.page.toast.loadFailed`))}finally{t&&i(!1)}})(),()=>{t=!1}},[e]);let h=vp[n]??vp[`git.commit.generate`],g=Q.useCallback(e=>yp(a,e)?a[e]:jt(e),[a]),_=Q.useCallback(e=>s[e]??g(e),[s,g]),v=Q.useCallback((e,t)=>{c(n=>n[e]===t?n:{...n,[e]:t})},[]),y=Q.useCallback(async t=>{let n=_(t);if(bp(t)&&n.trim().length===0){Y.error(e(`settings.magicPrompts.page.toast.visiblePromptRequired`));return}u(e=>({...e,[t]:!0}));try{let r=n===jt(t)?await Mt(t):await Tt(t,n);o(r.overrides),Y.success(e(`settings.magicPrompts.page.toast.saved`))}catch(t){let n=t instanceof Error?t.message:String(t);Y.error(e(`settings.magicPrompts.page.toast.saveFailed`),{description:n})}finally{u(e=>({...e,[t]:!1}))}},[_,e]),b=Q.useCallback(async t=>{f(e=>({...e,[t]:!0}));try{let n=await Mt(t);o(n.overrides),c(e=>({...e,[t]:jt(t)})),Y.success(e(`settings.magicPrompts.page.toast.resetSuccess`))}catch(t){let n=t instanceof Error?t.message:String(t);Y.error(e(`settings.magicPrompts.page.toast.resetFailed`),{description:n})}finally{f(e=>({...e,[t]:!1}))}},[e]),x=Q.useCallback(async()=>{m(!0);try{let t=await Nt();o(t.overrides),c({}),Y.success(e(`settings.magicPrompts.page.toast.resetAllSuccess`))}catch(t){let n=t instanceof Error?t.message:String(t);Y.error(e(`settings.magicPrompts.page.toast.resetAllFailed`),{description:n})}finally{m(!1)}},[e]);return r?(0,$.jsxs)(`div`,{className:`py-6 px-6 flex items-center gap-2 text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 rounded-full bg-current animate-busy-pulse`,"aria-label":e(`settings.magicPrompts.page.loading.aria`)}),(0,$.jsx)(`span`,{className:`typography-ui`,children:e(`settings.magicPrompts.page.loading.text`)})]}):(0,$.jsx)(`div`,{className:`h-full overflow-auto`,children:(0,$.jsxs)(`div`,{className:`oc-settings-page-content mx-auto w-full max-w-4xl px-6 py-6`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground`,children:t(h.titleKey)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:t(h.descriptionKey)})]})]})}),(0,$.jsx)(J,{"data-settings-item":`magic-prompts.reset-overrides`,variant:`outline`,size:`sm`,onClick:()=>{x()},disabled:p||Object.keys(a).length===0,children:e(p?`settings.magicPrompts.page.actions.resetting`:`settings.magicPrompts.page.actions.resetAllOverrides`)})]}),h.blocks.map(n=>{let r=Bt(n.id),i=g(n.id),o=_(n.id),s=yp(a,n.id),c=o!==i,u=bp(n.id)&&o.trim().length===0,f=l[n.id]===!0,p=d[n.id]===!0;return(0,$.jsx)(Jr,{label:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`span`,{children:t(n.titleKey)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:r.description})]})]}),cardClassName:`p-3`,children:(0,$.jsxs)(`div`,{"data-settings-item":bp(n.id)?`magic-prompts.visible-prompt`:`magic-prompts.instructions`,className:`space-y-3`,children:[r.placeholders&&r.placeholders.length>0&&(0,$.jsxs)(`div`,{className:`typography-micro text-muted-foreground`,children:[e(`settings.magicPrompts.page.placeholdersLabel`),` `,r.placeholders.map(e=>`{{${e.key}}}`).join(`, `)]}),(0,$.jsx)(jr,{embedded:!0,value:o,onChange:e=>v(n.id,e.target.value),className:`min-h-[220px] font-mono text-sm`}),u&&(0,$.jsx)(`div`,{className:`typography-micro text-[var(--status-error)]`,children:e(`settings.magicPrompts.page.validation.visiblePromptRequired`)}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:e(c?`settings.magicPrompts.page.status.unsavedChanges`:s?`settings.magicPrompts.page.status.usingSavedOverride`:`settings.magicPrompts.page.status.usingBuiltinDefault`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:()=>{b(n.id)},disabled:!s||f||p,children:e(p?`settings.magicPrompts.page.actions.resetting`:`settings.magicPrompts.page.actions.resetToDefault`)}),(0,$.jsx)(J,{size:`sm`,onClick:()=>{y(n.id)},disabled:!c||f||p||u,children:e(f?`settings.common.actions.saving`:`settings.magicPrompts.page.actions.save`)})]})]})]})},n.id)})]})})},Sp=()=>{let{t:e}=Fe(),t=gt(e=>e.settingsGitmojiEnabled),n=gt(e=>e.setSettingsGitmojiEnabled),r=g(),i=K(e=>e.gitChangesViewMode),a=K(e=>e.setGitChangesViewMode),[o,s]=Q.useState(!0),c=Q.useMemo(()=>[{id:`flat`,label:e(`settings.openchamber.git.option.flatList`)},{id:`tree`,label:e(`settings.openchamber.git.option.treeView`)}],[e]);Q.useEffect(()=>{(async()=>{try{let e=null;if(!e){let t=h()?.settings;if(t)try{let n=(await t.load())?.settings;n&&(e={gitmojiEnabled:typeof n.gitmojiEnabled==`boolean`?n.gitmojiEnabled:void 0,gitChangesViewMode:n.gitChangesViewMode===`flat`||n.gitChangesViewMode===`tree`?n.gitChangesViewMode:void 0})}catch{}}if(!e){let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});t.ok&&(e=await t.json())}e&&(typeof e.gitmojiEnabled==`boolean`&&n(e.gitmojiEnabled),(e.gitChangesViewMode===`flat`||e.gitChangesViewMode===`tree`)&&a(e.gitChangesViewMode))}catch(e){console.warn(`Failed to load git settings:`,e)}finally{s(!1)}})()},[a,n]);let u=Q.useCallback(async e=>{n(e);try{await T({gitmojiEnabled:e})}catch(e){console.warn(`Failed to save gitmoji setting:`,e)}},[n]),d=Q.useCallback(e=>{e!==i&&(a(e),T({gitChangesViewMode:e}))},[i,a]);return o?null:(0,$.jsxs)(Jr,{label:e(`settings.openchamber.git.title`),children:[(0,$.jsx)(Yr,{itemId:`git.changes-view`,label:e(`settings.openchamber.git.changesViewTitle`),controlClassName:`items-end`,children:(0,$.jsx)(`div`,{role:`radiogroup`,"aria-label":e(`settings.openchamber.git.changesViewAria`),className:`mt-0.5 space-y-0`,children:c.map(t=>{let n=i===t.id;return(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-pressed":n,onClick:()=>{d(t.id)},onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),d(t.id))},className:`flex w-full items-center gap-2 py-0 text-left`,children:[(0,$.jsx)(ec,{checked:n,onChange:()=>{d(t.id)},ariaLabel:e(`settings.openchamber.git.optionAria`,{option:t.label})}),(0,$.jsx)(`span`,{className:n?`typography-ui-label font-normal text-foreground`:`typography-ui-label font-normal text-foreground/50`,children:t.label})]},t.id)})})}),(0,$.jsxs)(`div`,{"data-settings-item":`git.gitmoji`,className:`oc-settings-group-row group flex cursor-pointer items-center gap-2`,role:`button`,tabIndex:0,"aria-pressed":t,onClick:()=>{u(!t)},onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),u(!t))},children:[(0,$.jsx)(on,{checked:t,onChange:e=>{u(e)},ariaLabel:e(`settings.openchamber.git.enableGitmojiAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.git.enableGitmoji`)})]}),(0,$.jsxs)(`div`,{"data-settings-item":`git.gitignored-files`,className:`oc-settings-group-row group flex cursor-pointer items-center gap-2`,role:`button`,tabIndex:0,"aria-pressed":r,onClick:()=>m(!r),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),m(!r))},children:[(0,$.jsx)(on,{checked:r,onChange:m,ariaLabel:e(`settings.openchamber.git.showGitignoredAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.git.showGitignored`)})]})]})},Cp=({itemId:e})=>{let{t}=Fe(),{isMobile:n}=Tr(),r=h()?.github,i=mr(),a=i.data??null,o=i.isLoading&&!i.data,s=i.isFetched,c=_i(e=>e.refreshStatus),u=_i(e=>e.setStatus),d=Q.useCallback(async e=>{await Lr(e)},[]),[f,p]=Q.useState(!1),[m,g]=Q.useState(null),[_,v]=Q.useState(null),y=Q.useRef(null),b=Q.useRef(0),x=Q.useCallback(()=>{y.current!=null&&(window.clearTimeout(y.current),y.current=null),v(null)},[]);Q.useEffect(()=>((async()=>{try{s||await c(r)}catch(e){console.warn(`Failed to load GitHub auth status:`,e)}})(),()=>{x()}),[s,c,r,x]);let S=Q.useCallback(async()=>{p(!0);try{let e=r?await r.authStart():await(async()=>{let e=await l(`/api/github/auth/start`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({})}),t=await e.json().catch(()=>null);if(!e.ok||!t||!(`deviceCode`in t))throw Error(t?.error||e.statusText);return t})();g(e),b.current=Date.now(),v(Math.max(1,e.interval)*1e3);let t=e.verificationUriComplete||e.verificationUri;d(t)}catch(e){console.error(`Failed to start GitHub connect:`,e),Y.error(t(`settings.github.page.toast.startConnectFailed`))}finally{p(!1)}},[d,r,t]),C=Q.useCallback(async e=>{if(r)return r.authComplete(e);let t=await l(`/api/github/auth/complete`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({deviceCode:e})}),n=await t.json().catch(()=>null);if(!t.ok||!n)throw Error(n?.error||t.statusText);return n},[r]);Q.useEffect(()=>{if(!m?.deviceCode||!_||y.current!=null)return;let e=!1,n=b.current+m.expiresIn*1e3,i=async()=>{if(Date.now()>=n){Y.error(t(`settings.github.page.toast.authorizationFailed`)),g(null),x();return}try{let n=await C(m.deviceCode);if(e)return;if(n.connected){Y.success(t(`settings.github.page.toast.connected`)),g(null),x(),await c(r,{force:!0});return}if(n.status===`slow_down`){v(e=>e?e+5e3:5e3);return}if(n.status===`expired_token`||n.status===`access_denied`){Y.error(n.error||t(`settings.github.page.toast.authorizationFailed`)),g(null),x();return}}catch(t){if(e)return;console.warn(`GitHub polling failed:`,t)}y.current=window.setTimeout(()=>void i(),_)};return y.current=window.setTimeout(()=>void i(),_),()=>{e=!0,y.current!=null&&(window.clearTimeout(y.current),y.current=null)}},[m,_,C,c,r,x,t]);let w=Q.useCallback(async e=>{p(!0);try{if(r)await r.authSetGhCliDisabled(e);else{let t=await l(`/api/github/auth/gh-cli`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({disabled:e})}),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.error||t.statusText)}Y.success(t(e?`settings.github.page.toast.ghCliDisabled`:`settings.github.page.toast.ghCliEnabled`)),await c(r,{force:!0})}catch(e){console.error(`Failed to update gh CLI setting:`,e),Y.error(t(`settings.github.page.toast.ghCliUpdateFailed`))}finally{p(!1)}},[c,r,t]),T=Q.useCallback(async()=>{p(!0);try{if(x(),g(null),r)await r.authDisconnect();else{let e=await l(`/api/github/auth`,{method:`DELETE`,headers:{Accept:`application/json`}});if(!e.ok)throw Error(e.statusText)}Y.success(t(`settings.github.page.toast.disconnected`)),await c(r,{force:!0})}catch(e){console.error(`Failed to disconnect GitHub:`,e),Y.error(t(`settings.github.page.toast.disconnectFailed`))}finally{p(!1)}},[c,r,x,t]),E=Q.useCallback(async e=>{if(e){p(!0);try{let n=r?await r.authActivate(e):await(async()=>{let t=await l(`/api/github/auth/activate`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({accountId:e})}),n=await t.json().catch(()=>null);if(!t.ok||!n)throw Error(n?.error||t.statusText);return n})();u(n),Y.success(t(`settings.github.page.toast.accountSwitched`))}catch(e){console.error(`Failed to switch GitHub account:`,e),Y.error(t(`settings.github.page.toast.accountSwitchFailed`))}finally{p(!1)}}},[r,u,t]);if(o)return null;if(i.isError&&!i.data)return(0,$.jsx)(`div`,{className:`oc-settings-group-description text-[var(--status-error)]`,children:i.error.message});let D=!!a?.connected,O=a?.user,k=(a?.accounts??[]).filter(e=>!e.current),A=a?.ghCli??null,j=A?.active?t(`settings.github.page.accountSource.cli`):t(`settings.github.page.accountSource.oauth`);return(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[(0,$.jsxs)(Jr,{itemId:e,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:t(`settings.github.page.oauth.title`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:t(`settings.github.page.tooltip.connectAccount`)})]})]}),children:[(0,$.jsxs)(`div`,{className:`flex flex-col`,children:[D?(0,$.jsxs)(`div`,{className:q(`oc-settings-group-row`,n?`flex flex-col items-stretch gap-3`:`flex items-center justify-between gap-4`),children:[(0,$.jsxs)(`div`,{className:q(`flex min-w-0 items-center gap-3`,n?`w-full`:void 0),children:[O?.avatarUrl?(0,$.jsx)(`img`,{src:O.avatarUrl,alt:O.login?t(`settings.github.page.avatarAlt.withLogin`,{login:O.login}):t(`settings.github.page.avatarAlt.fallback`),className:`h-10 w-10 shrink-0 rounded-full border border-[var(--interactive-border)] bg-[var(--surface-muted)] object-cover`,loading:`lazy`,referrerPolicy:`no-referrer`}):(0,$.jsx)(`div`,{className:`h-10 w-10 shrink-0 rounded-full border border-[var(--interactive-border)] bg-[var(--surface-muted)]`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:O?.name?.trim()||O?.login||`GitHub`}),(0,$.jsxs)(`div`,{className:q(`flex items-center gap-2 typography-meta text-muted-foreground mt-0.5`,n?`flex-wrap`:`truncate`),children:[(0,$.jsx)(Z,{name:`github-fill`,className:`h-3.5 w-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`font-mono`,children:O?.login||t(`settings.github.page.label.unknownUser`)}),O?.email&&(0,$.jsx)(`span`,{className:`opacity-50`,children:`•`}),O?.email&&(0,$.jsx)(`span`,{children:O.email}),(0,$.jsx)(`span`,{className:`opacity-50`,children:`•`}),(0,$.jsx)(`span`,{children:j})]}),a?.scope&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70 mt-0.5`,children:t(`settings.github.page.label.scopes`,{value:a.scope})}),A?.active&&(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70 mt-0.5`,children:t(`settings.github.page.ghCli.activeDescription`)})]})]}),A?.active?(0,$.jsx)(J,{size:`sm`,variant:`outline`,onClick:()=>w(!0),disabled:f,className:q(n?`w-full`:void 0),children:t(`settings.github.page.ghCli.actions.disable`)}):(0,$.jsx)(J,{size:`sm`,variant:`outline`,onClick:T,disabled:f,className:q(`text-[var(--status-error)] hover:text-[var(--status-error)]`,n?`w-full`:void 0),children:t(`settings.github.page.actions.disconnect`)})]}):(0,$.jsxs)(`div`,{className:q(`oc-settings-group-row`,n?`flex flex-col items-stretch gap-3`:`flex items-center justify-between gap-4`),children:[(0,$.jsx)(`div`,{className:`flex min-w-0 flex-col`,children:(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:t(`settings.github.page.status.notConnected`)})}),(0,$.jsx)(J,{size:`sm`,variant:`default`,onClick:S,disabled:f,className:q(n?`w-full`:void 0),children:t(`settings.github.page.actions.connect`)})]}),k.length>0&&(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-col gap-2`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:t(`settings.github.page.label.otherAccounts`)}),k.map(e=>{let n=e.user,r=e.source===`gh-cli`?t(`settings.github.page.accountSource.cli`):t(`settings.github.page.accountSource.oauth`);return(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[n?.avatarUrl?(0,$.jsx)(`img`,{src:n.avatarUrl,alt:n.login?t(`settings.github.page.avatarAlt.withLogin`,{login:n.login}):t(`settings.github.page.avatarAlt.fallback`),className:`h-6 w-6 shrink-0 rounded-full border border-[var(--interactive-border)] bg-[var(--surface-muted)] object-cover`,loading:`lazy`,referrerPolicy:`no-referrer`}):(0,$.jsx)(`div`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-[var(--interactive-border)] bg-[var(--surface-muted)]`,children:(0,$.jsx)(Z,{name:`github-fill`,className:`h-3 w-3 text-muted-foreground`})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex flex-col`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:n?.name?.trim()||n?.login||`GitHub`}),n?.login&&(0,$.jsxs)(`span`,{className:`typography-micro text-muted-foreground truncate`,children:[(0,$.jsx)(`span`,{className:`font-mono`,children:n.login}),(0,$.jsx)(`span`,{className:`mx-1 opacity-50`,children:`·`}),(0,$.jsx)(`span`,{children:r})]})]})]}),(0,$.jsx)(J,{size:`sm`,variant:`ghost`,onClick:()=>E(e.id),disabled:f,children:t(`settings.github.page.actions.switchTo`)})]},e.id)})]})]}),D&&(0,$.jsx)(`div`,{className:`oc-settings-group-row flex justify-end`,children:(0,$.jsx)(J,{size:`sm`,variant:`outline`,onClick:S,disabled:f,className:q(n?`w-full`:void 0),children:t(`settings.github.page.actions.addAccount`)})})]}),m&&(0,$.jsxs)(`div`,{className:`mt-4 rounded-lg bg-[var(--surface-elevated)]/70 p-4 border border-[var(--interactive-border)]`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`h4`,{className:`typography-ui-label text-foreground`,children:t(`settings.github.page.flow.title`)}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:t(`settings.github.page.flow.description`)})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 mt-4`,children:[(0,$.jsx)(`div`,{className:`font-mono text-xl tracking-widest text-foreground bg-[var(--surface-muted)] px-3 py-1.5 rounded-md border border-[var(--interactive-border)]`,children:m.userCode}),(0,$.jsx)(J,{size:`sm`,asChild:!0,children:(0,$.jsx)(`a`,{href:m.verificationUriComplete||m.verificationUri,target:`_blank`,rel:`noopener noreferrer`,children:t(`settings.github.page.actions.openGithub`)})})]}),(0,$.jsxs)(`div`,{className:`mt-4 flex items-center justify-between`,children:[(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground animate-pulse`,children:t(`settings.github.page.flow.waiting`)}),(0,$.jsx)(J,{size:`sm`,variant:`ghost`,disabled:f,onClick:()=>{x(),g(null)},children:t(`settings.common.actions.cancel`)})]})]}),A?.available&&!A?.active&&(!A.user||A.disabled)&&(0,$.jsx)(Jr,{label:t(`settings.github.page.ghCli.title`),children:(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsxs)(`div`,{className:q(n?`flex flex-col gap-3`:`flex items-center justify-between gap-4`),children:[(0,$.jsxs)(`div`,{className:q(`flex min-w-0 items-center gap-3`,n?`w-full`:void 0),children:[A.user?.avatarUrl?(0,$.jsx)(`img`,{src:A.user.avatarUrl,alt:A.user.login?t(`settings.github.page.avatarAlt.withLogin`,{login:A.user.login}):t(`settings.github.page.avatarAlt.fallback`),className:`h-10 w-10 shrink-0 rounded-full border border-[var(--interactive-border)] bg-[var(--surface-muted)] object-cover`,loading:`lazy`,referrerPolicy:`no-referrer`}):(0,$.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full border border-[var(--interactive-border)] bg-[var(--surface-muted)]`,children:(0,$.jsx)(Z,{name:`github-fill`,className:`h-4 w-4 text-muted-foreground`})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[!A.disabled&&A.user&&(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground truncate`,children:A.user.name?.trim()||A.user.login||`GitHub`}),!A.disabled&&A.user?.login&&(0,$.jsxs)(`div`,{className:q(`flex items-center gap-2 typography-meta text-muted-foreground mt-0.5`,n?`flex-wrap`:`truncate`),children:[(0,$.jsx)(Z,{name:`github-fill`,className:`h-3.5 w-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`font-mono`,children:A.user.login}),A.user.email&&(0,$.jsx)(`span`,{className:`opacity-50`,children:`•`}),A.user.email&&(0,$.jsx)(`span`,{children:A.user.email})]}),(0,$.jsx)(`div`,{className:q(`typography-meta text-muted-foreground`,A.disabled?`opacity-60`:void 0),children:A.disabled?t(`settings.github.page.ghCli.disabledDescription`):t(`settings.github.page.ghCli.fallbackDescription`)})]})]}),(0,$.jsx)(J,{size:`sm`,variant:`outline`,onClick:()=>w(!A.disabled),disabled:f,className:q(n?`w-full`:void 0),children:A.disabled?t(`settings.github.page.ghCli.actions.enable`):t(`settings.github.page.ghCli.actions.disable`)})]})})})]})},wp=[{key:`keyword`,label:`Green`,cssVar:`var(--syntax-keyword)`},{key:`error`,label:`Red`,cssVar:`var(--status-error)`},{key:`string`,label:`Cyan`,cssVar:`var(--syntax-string)`},{key:`function`,label:`Orange`,cssVar:`var(--syntax-function)`},{key:`type`,label:`Yellow`,cssVar:`var(--syntax-type)`}],Tp=[{key:`branch`,Icon:`git-branch`,label:`Branch`},{key:`briefcase`,Icon:`briefcase`,label:`Work`},{key:`house`,Icon:`home`,label:`Personal`},{key:`graduation`,Icon:`graduation-cap`,label:`School`},{key:`code`,Icon:`code`,label:`Code`}],Ep=({open:e,onOpenChange:t,profileId:n,importData:r})=>{let{t:i}=Fe(),a=xi(e=>e.getProfileById),o=xi(e=>e.createProfile),s=xi(e=>e.updateProfile),c=xi(e=>e.deleteProfile),l=Q.useMemo(()=>n&&n!==`new`&&!r?a(n):null,[n,a,r]),u=n===`new`||r!=null,d=n===`global`,[f,p]=Q.useState(``),[m,h]=Q.useState(``),[g,_]=Q.useState(``),[v,y]=Q.useState(`ssh`),[b,x]=Q.useState(``),[S,C]=Q.useState(!1),[w,T]=Q.useState(``),[E,D]=Q.useState(``),[O,k]=Q.useState(`keyword`),[A,j]=Q.useState(`branch`),[M,N]=Q.useState(!1),[P,F]=Q.useState(!1),[I,L]=Q.useState(!1);Q.useEffect(()=>{if(e){if(r){let e=r.host.split(`/`),t=e.length>=3?e[e.length-1]:r.host;p(t),h(r.username),_(``),y(`token`),x(``),C(!1),T(``),D(r.host),k(`string`),j(`code`)}else if(u)p(``),h(``),_(``),y(`ssh`),x(``),C(!1),T(``),D(``),k(`keyword`),j(`branch`);else if(l)p(l.name),h(l.userName),_(l.userEmail),y(l.authType||`ssh`),x(l.sshKey||``),C(l.signCommits===!0),T(l.signingKey||``),D(l.host||``),k(l.color||`keyword`),j(l.icon||`branch`);else if(d){let e=a(`global`);e&&(p(e.name),h(e.userName),_(e.userEmail),y(e.authType||`ssh`),x(e.sshKey||``),C(!1),T(``),D(e.host||``),k(e.color||`keyword`),j(e.icon||`branch`))}}},[e,n,l,u,r,d,a]);let R=async()=>{if(!m.trim()||!g.trim()){Y.error(i(`settings.gitIdentities.editor.toast.userNameEmailRequired`));return}if(v===`token`&&!E.trim()){Y.error(i(`settings.gitIdentities.editor.toast.hostRequiredForToken`));return}if(S&&!w.trim()){Y.error(i(`settings.gitIdentities.editor.toast.signingKeyRequired`));return}N(!0);try{let e={name:f.trim()||m.trim(),userName:m.trim(),userEmail:g.trim(),authType:v,sshKey:v===`ssh`&&b.trim()||null,signCommits:S,signingKey:w.trim()||null,host:v===`token`&&E.trim()||null,color:O,icon:A},r;if(u)r=await o(e);else if(n)r=await s(n,e);else return;r?(Y.success(i(u?`settings.gitIdentities.editor.toast.profileCreated`:`settings.gitIdentities.editor.toast.profileUpdated`)),t(!1)):Y.error(i(u?`settings.gitIdentities.editor.toast.createProfileFailed`:`settings.gitIdentities.editor.toast.updateProfileFailed`))}catch(e){console.error(`Error saving profile:`,e),Y.error(i(`settings.gitIdentities.editor.toast.saveUnexpectedError`))}finally{N(!1)}},z=async()=>{if(!(!n||u)){L(!0);try{await c(n)?(Y.success(i(`settings.gitIdentities.editor.toast.profileDeleted`)),F(!1),t(!1)):Y.error(i(`settings.gitIdentities.editor.toast.deleteProfileFailed`))}catch(e){console.error(`Error deleting profile:`,e),Y.error(i(`settings.gitIdentities.editor.toast.deleteUnexpectedError`))}finally{L(!1)}}},B=Q.useMemo(()=>wp.find(e=>e.key===O)?.cssVar||`var(--syntax-keyword)`,[O]),V=r?i(`settings.gitIdentities.editor.title.importCredential`):u?i(`settings.gitIdentities.editor.title.newIdentity`):d?i(`settings.gitIdentities.editor.title.globalIdentity`):l?.name||i(`settings.gitIdentities.editor.title.editIdentity`);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(an,{open:e,onOpenChange:t,children:(0,$.jsxs)(tn,{className:`max-w-lg max-h-[85vh] overflow-y-auto`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:V}),(0,$.jsx)(rn,{children:i(d?`settings.gitIdentities.editor.description.globalReadOnly`:u?`settings.gitIdentities.editor.description.newProfile`:`settings.gitIdentities.editor.description.editProfile`)})]}),(0,$.jsxs)(`div`,{className:`space-y-5 py-2`,children:[!d&&(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground block mb-1.5`,children:i(`settings.gitIdentities.editor.field.profileName`)}),(0,$.jsx)(gn,{value:f,onChange:e=>p(e.target.value),placeholder:i(`settings.gitIdentities.editor.field.profileNamePlaceholder`),className:`h-8`})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.color`)}),(0,$.jsx)(`div`,{className:`flex gap-1.5`,children:wp.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>k(e.key),className:q(`w-6 h-6 rounded-md border-2 transition-all cursor-pointer`,O===e.key?`border-foreground scale-110`:`border-transparent hover:border-border`),style:{backgroundColor:e.cssVar},title:e.label},e.key))})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.icon`)}),(0,$.jsx)(`div`,{className:`flex gap-1.5`,children:Tp.map(e=>{let t=e.Icon;return(0,$.jsx)(`button`,{type:`button`,onClick:()=>j(e.key),className:q(`w-7 h-7 rounded-md border-2 transition-all flex items-center justify-center cursor-pointer`,A===e.key?`border-[var(--interactive-border)] bg-[var(--surface-muted)]`:`border-transparent hover:border-[var(--interactive-border)] hover:bg-[var(--surface-muted)]/50`),title:e.label,children:(0,$.jsx)(Z,{name:t,className:`w-3.5 h-3.5`,style:{color:A===e.key?B:`var(--surface-muted-foreground)`}})},e.key)})})]})]}),!d&&(0,$.jsx)(`div`,{className:`border-t border-border/40`}),(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 mb-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.userName`)}),!d&&(0,$.jsx)(`span`,{className:`text-[var(--status-error)] text-xs`,children:`*`}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:i(`settings.gitIdentities.editor.field.userNameTooltip`)})]})]}),(0,$.jsx)(gn,{value:m,onChange:e=>h(e.target.value),placeholder:i(`settings.gitIdentities.editor.field.userNamePlaceholder`),required:!d,readOnly:d,disabled:d,className:`h-8`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 mb-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.emailAddress`)}),!d&&(0,$.jsx)(`span`,{className:`text-[var(--status-error)] text-xs`,children:`*`}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:i(`settings.gitIdentities.editor.field.emailAddressTooltip`)})]})]}),(0,$.jsx)(gn,{type:`email`,value:g,onChange:e=>_(e.target.value),placeholder:i(`settings.gitIdentities.editor.field.emailAddressPlaceholder`),required:!d,readOnly:d,disabled:d,className:`h-8`})]})]}),!d&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`border-t border-border/40`}),(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.authMethod`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsxs)(J,{size:`sm`,type:`button`,variant:`chip`,"aria-pressed":v===`ssh`,onClick:()=>y(`ssh`),children:[(0,$.jsx)(Z,{name:`lock-2`,className:`w-3.5 h-3.5 mr-1`}),` SSH`]}),(0,$.jsxs)(J,{size:`sm`,type:`button`,variant:`chip`,"aria-pressed":v===`token`,onClick:()=>y(`token`),children:[(0,$.jsx)(Z,{name:`key`,className:`w-3.5 h-3.5 mr-1`}),` `,i(`settings.gitIdentities.editor.field.authToken`)]})]})]}),v===`ssh`&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 mb-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.sshKeyPath`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:i(`settings.gitIdentities.editor.field.sshKeyPathTooltip`)})]})]}),(0,$.jsx)(gn,{value:b,onChange:e=>x(e.target.value),placeholder:i(`settings.gitIdentities.editor.field.sshKeyPathPlaceholder`),className:`h-8 font-mono text-xs`})]}),(0,$.jsxs)(`div`,{className:`border-t border-border/40 pt-3 space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(on,{checked:S,onChange:C,ariaLabel:i(`settings.gitIdentities.editor.field.signCommits`)}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.signCommits`)}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70`,children:i(`settings.gitIdentities.editor.section.commitSigning`)})]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`flex items-center gap-1.5 mb-1.5`,children:(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.signingKey`)})}),(0,$.jsx)(gn,{value:w,onChange:e=>T(e.target.value),placeholder:i(`settings.gitIdentities.editor.field.signingKeyPlaceholder`),disabled:!S,className:`h-8 font-mono text-xs`})]})]}),v===`token`&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 mb-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label text-foreground`,children:i(`settings.gitIdentities.editor.field.host`)}),(0,$.jsx)(`span`,{className:`text-[var(--status-error)] text-xs`,children:`*`}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:i(`settings.gitIdentities.editor.field.hostTooltip`)})]})]}),(0,$.jsx)(gn,{value:E,onChange:e=>D(e.target.value),placeholder:i(`settings.gitIdentities.editor.field.hostPlaceholder`),required:!0,className:`h-8 font-mono text-xs`})]})]})]})]}),(0,$.jsxs)(en,{className:`gap-2`,children:[!d&&!u&&(0,$.jsxs)(J,{variant:`outline`,size:`sm`,onClick:()=>F(!0),className:`text-[var(--status-error)] hover:text-[var(--status-error)] border-[var(--status-error)]/30 hover:bg-[var(--status-error)]/10 mr-auto`,children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`w-3.5 h-3.5 mr-1`}),` `,i(`settings.common.actions.delete`)]}),(0,$.jsx)(J,{variant:`ghost`,size:`sm`,onClick:()=>t(!1),className:`text-foreground hover:bg-interactive-hover hover:text-foreground`,children:i(d?`settings.gitIdentities.editor.actions.close`:`settings.common.actions.cancel`)}),!d&&(0,$.jsx)(J,{size:`sm`,onClick:R,disabled:M,children:i(M?`settings.common.actions.saving`:u?`settings.gitIdentities.editor.actions.create`:`settings.gitIdentities.editor.actions.save`)})]})]})}),(0,$.jsx)(an,{open:P,onOpenChange:e=>{I||F(e)},children:(0,$.jsxs)(tn,{className:`max-w-md`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:i(`settings.gitIdentities.page.deleteDialog.title`)}),(0,$.jsx)(rn,{children:i(`settings.gitIdentities.page.deleteDialog.description`,{name:l?.name||f})})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{variant:`ghost`,onClick:()=>F(!1),disabled:I,children:i(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{size:`sm`,variant:`destructive`,onClick:()=>void z(),disabled:I,children:i(`settings.common.actions.delete`)})]})]})})]})},Dp={branch:`git-branch`,briefcase:`briefcase`,house:`home`,graduation:`graduation-cap`,code:`code`,heart:`heart`},Op={keyword:`var(--syntax-keyword)`,error:`var(--status-error)`,string:`var(--syntax-string)`,function:`var(--syntax-function)`,type:`var(--syntax-type)`},kp=()=>{let e=(0,Ki.c)(116),{t}=Fe(),{profiles:n,globalIdentity:r,defaultGitIdentityId:i,deleteProfile:a,loadProfiles:o,loadGlobalIdentity:s,loadDiscoveredCredentials:c,loadDefaultGitIdentityId:l,setDefaultGitIdentityId:u,getUnimportedCredentials:d}=xi(le(Mp)),[f,p]=Q.useState(!1),[m,h]=Q.useState(null),[g,_]=Q.useState(null),[v,y]=Q.useState(null),[b,x]=Q.useState(!1),S,C;e[0]!==l||e[1]!==c||e[2]!==s||e[3]!==o?(S=()=>{o(),s(),c(),l()},C=[o,s,c,l],e[0]=l,e[1]=c,e[2]=s,e[3]=o,e[4]=S,e[5]=C):(S=e[4],C=e[5]),Q.useEffect(S,C);let w,T,E,D,O,k,A,j,M,N,P,F,I,L;if(e[6]!==i||e[7]!==v||e[8]!==a||e[9]!==d||e[10]!==r||e[11]!==n||e[12]!==u||e[13]!==t){let o=d(),s;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(s=(e,t)=>{h(e),_(t??null),p(!0)},e[28]=s):s=e[28];let c=s,l;e[29]!==i||e[30]!==u||e[31]!==t?(l=async e=>{let n=i===e?null:e;if(!await u(n)){Y.error(t(`settings.gitIdentities.page.toast.updateDefaultFailed`));return}Y.success(t(n?`settings.gitIdentities.page.toast.defaultUpdated`:`settings.gitIdentities.page.toast.defaultUnset`))},e[29]=i,e[30]=u,e[31]=t,e[32]=l):l=e[32];let f=l,m;e[33]!==v||e[34]!==a||e[35]!==t?(m=async()=>{v&&(x(!0),await a(v.id)?(Y.success(t(`settings.gitIdentities.page.toast.profileDeleted`,{name:v.name})),y(null)):Y.error(t(`settings.gitIdentities.page.toast.deleteProfileFailed`)),x(!1))},e[33]=v,e[34]=a,e[35]=t,e[36]=m):m=e[36],E=m,T=Ar,O=`h-full`,k=`w-full bg-background`,L=`oc-settings-page-content mx-auto w-full max-w-3xl p-3 sm:p-6 sm:pt-8`,e[37]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(Cp,{itemId:`git.github-account`}),e[37]=D):D=e[37],w=Jr,A=`git.identities`;let g;e[38]===t?g=e[39]:(g=t(`settings.gitIdentities.page.section.title`),e[38]=t,e[39]=g);let b;e[40]===g?b=e[41]:(b=(0,$.jsx)(`span`,{children:g}),e[40]=g,e[41]=b);let S,C;e[42]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>c(`new`),C=(0,$.jsx)(Z,{name:`add`,className:`mr-1 size-3.5`}),e[42]=S,e[43]=C):(S=e[42],C=e[43]);let R;e[44]===t?R=e[45]:(R=t(`settings.common.badge.new`),e[44]=t,e[45]=R);let z;e[46]===R?z=e[47]:(z=(0,$.jsxs)(J,{size:`sm`,variant:`ghost`,onClick:S,children:[C,` `,R]}),e[46]=R,e[47]=z),e[48]!==b||e[49]!==z?(j=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[b,z]}),e[48]=b,e[49]=z,e[50]=j):j=e[50],M=`flex flex-col`,N=r&&(0,$.jsx)(Ap,{profile:r,isDefault:i===`global`,onEdit:()=>c(`global`),onToggleDefault:()=>f(`global`),isReadOnly:!0,hasBorder:n.length>0||o.length>0}),P=n.map((e,t)=>(0,$.jsx)(Ap,{profile:e,isDefault:i===e.id,onEdit:()=>c(e.id),onToggleDefault:()=>f(e.id),onDelete:()=>y(e),hasBorder:t<n.length-1||o.length>0},e.id)),F=!r&&n.length===0&&o.length===0&&(0,$.jsxs)(`div`,{className:`py-8 px-4 text-center text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`shield-keyhole`,className:`mx-auto mb-2 h-8 w-8 opacity-40`}),(0,$.jsx)(`p`,{className:`typography-ui-label`,children:t(`settings.gitIdentities.page.empty.title`)}),(0,$.jsx)(`p`,{className:`typography-meta mt-1 opacity-75`,children:t(`settings.gitIdentities.page.empty.description`)})]}),I=o.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`px-4 py-2 border-t border-[var(--surface-subtle)]`,children:(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:t(`settings.gitIdentities.page.discoveredCredentials.title`)})}),o.map((e,t)=>(0,$.jsx)(jp,{credential:e,onImport:()=>c(`new`,{host:e.host,username:e.username}),hasBorder:t<o.length-1},`${e.host}-${e.username}`))]}),e[6]=i,e[7]=v,e[8]=a,e[9]=d,e[10]=r,e[11]=n,e[12]=u,e[13]=t,e[14]=w,e[15]=T,e[16]=E,e[17]=D,e[18]=O,e[19]=k,e[20]=A,e[21]=j,e[22]=M,e[23]=N,e[24]=P,e[25]=F,e[26]=I,e[27]=L}else w=e[14],T=e[15],E=e[16],D=e[17],O=e[18],k=e[19],A=e[20],j=e[21],M=e[22],N=e[23],P=e[24],F=e[25],I=e[26],L=e[27];let R;e[51]!==w||e[52]!==A||e[53]!==j||e[54]!==M||e[55]!==N||e[56]!==P||e[57]!==F||e[58]!==I?(R=(0,$.jsxs)(w,{itemId:A,label:j,cardClassName:M,children:[N,P,F,I]}),e[51]=w,e[52]=A,e[53]=j,e[54]=M,e[55]=N,e[56]=P,e[57]=F,e[58]=I,e[59]=R):R=e[59];let z;e[60]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(Sp,{}),e[60]=z):z=e[60];let B;e[61]!==D||e[62]!==R||e[63]!==L?(B=(0,$.jsxs)(`div`,{className:L,children:[D,R,z]}),e[61]=D,e[62]=R,e[63]=L,e[64]=B):B=e[64];let V;e[65]!==T||e[66]!==O||e[67]!==k||e[68]!==B?(V=(0,$.jsx)(T,{outerClassName:O,className:k,children:B}),e[65]=T,e[66]=O,e[67]=k,e[68]=B,e[69]=V):V=e[69];let H;e[70]!==g||e[71]!==f||e[72]!==m?(H=(0,$.jsx)(Ep,{open:f,onOpenChange:p,profileId:m,importData:g}),e[70]=g,e[71]=f,e[72]=m,e[73]=H):H=e[73];let U=v!==null,W;e[74]===b?W=e[75]:(W=e=>{b||e||y(null)},e[74]=b,e[75]=W);let ee;e[76]===t?ee=e[77]:(ee=t(`settings.gitIdentities.page.deleteDialog.title`),e[76]=t,e[77]=ee);let G;e[78]===ee?G=e[79]:(G=(0,$.jsx)(nn,{children:ee}),e[78]=ee,e[79]=G);let te=v?.name??``,ne;e[80]!==t||e[81]!==te?(ne=t(`settings.gitIdentities.page.deleteDialog.description`,{name:te}),e[80]=t,e[81]=te,e[82]=ne):ne=e[82];let re;e[83]===ne?re=e[84]:(re=(0,$.jsx)(rn,{children:ne}),e[83]=ne,e[84]=re);let ie;e[85]!==G||e[86]!==re?(ie=(0,$.jsxs)($t,{children:[G,re]}),e[85]=G,e[86]=re,e[87]=ie):ie=e[87];let ae;e[88]===Symbol.for(`react.memo_cache_sentinel`)?(ae=()=>y(null),e[88]=ae):ae=e[88];let oe;e[89]===t?oe=e[90]:(oe=t(`settings.common.actions.cancel`),e[89]=t,e[90]=oe);let se;e[91]!==b||e[92]!==oe?(se=(0,$.jsx)(J,{variant:`ghost`,onClick:ae,disabled:b,children:oe}),e[91]=b,e[92]=oe,e[93]=se):se=e[93];let ce;e[94]===E?ce=e[95]:(ce=()=>void E(),e[94]=E,e[95]=ce);let ue;e[96]===t?ue=e[97]:(ue=t(`settings.common.actions.delete`),e[96]=t,e[97]=ue);let de;e[98]!==b||e[99]!==ce||e[100]!==ue?(de=(0,$.jsx)(J,{size:`sm`,variant:`destructive`,onClick:ce,disabled:b,children:ue}),e[98]=b,e[99]=ce,e[100]=ue,e[101]=de):de=e[101];let fe;e[102]!==se||e[103]!==de?(fe=(0,$.jsxs)(en,{children:[se,de]}),e[102]=se,e[103]=de,e[104]=fe):fe=e[104];let pe;e[105]!==ie||e[106]!==fe?(pe=(0,$.jsxs)(tn,{className:`max-w-md`,children:[ie,fe]}),e[105]=ie,e[106]=fe,e[107]=pe):pe=e[107];let me;e[108]!==U||e[109]!==W||e[110]!==pe?(me=(0,$.jsx)(an,{open:U,onOpenChange:W,children:pe}),e[108]=U,e[109]=W,e[110]=pe,e[111]=me):me=e[111];let he;return e[112]!==V||e[113]!==H||e[114]!==me?(he=(0,$.jsxs)($.Fragment,{children:[V,H,me]}),e[112]=V,e[113]=H,e[114]=me,e[115]=he):he=e[115],he},Ap=e=>{let t=(0,Ki.c)(56),{profile:n,isDefault:r,onEdit:i,onToggleDefault:a,onDelete:o,isReadOnly:s,hasBorder:c}=e,{t:l}=Fe(),[u,d]=Q.useState(!1),f=Dp[n.icon||`branch`]||`git-branch`,p=Op[n.color||``],m=n.authType||`ssh`,h;t[0]===i?h=t[1]:(h=e=>{e.currentTarget===e.target&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i())},t[0]=i,t[1]=h);let g=h,_;t[2]!==r||t[3]!==s||t[4]!==o||t[5]!==a||t[6]!==l?(_=e=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(e,{onClick:e=>{e.stopPropagation(),a()},children:l(r?`settings.gitIdentities.page.actions.unsetDefault`:`settings.gitIdentities.page.actions.setAsDefault`)}),!s&&o&&(0,$.jsxs)(e,{onClick:e=>{e.stopPropagation(),o()},className:`text-destructive focus:text-destructive`,children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`h-4 w-4 mr-px`}),l(`settings.common.actions.delete`)]})]}),t[2]=r,t[3]=s,t[4]=o,t[5]=a,t[6]=l,t[7]=_):_=t[7];let v=_,y=c&&`border-b border-[var(--surface-subtle)]`,b;t[8]===y?b=t[9]:(b=q(`group flex items-center justify-between gap-3 px-4 py-2.5 transition-colors hover:bg-[var(--interactive-hover)]/30 cursor-pointer`,y),t[8]=y,t[9]=b);let x;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{e.preventDefault(),d(!0)},t[10]=x):x=t[10];let S;t[11]!==g||t[12]!==i||t[13]!==b?(S=(0,$.jsx)(`div`,{className:b,onClick:i,role:`button`,tabIndex:0,onKeyDown:g,onContextMenu:x}),t[11]=g,t[12]=i,t[13]=b,t[14]=S):S=t[14];let C;t[15]===p?C=t[16]:(C={color:p},t[15]=p,t[16]=C);let w;t[17]!==f||t[18]!==C?(w=(0,$.jsx)(Z,{name:f,className:`w-4 h-4 shrink-0`,style:C}),t[17]=f,t[18]=C,t[19]=w):w=t[19];let T;t[20]===n.name?T=t[21]:(T=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:n.name}),t[20]=n.name,t[21]=T);let E;t[22]===m?E=t[23]:(E=(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:m}),t[22]=m,t[23]=E);let D;t[24]!==r||t[25]!==l?(D=r&&(0,$.jsx)(`span`,{className:`typography-micro text-primary bg-primary/12 px-1 rounded flex-shrink-0 leading-none pb-px border border-primary/25`,children:l(`settings.gitIdentities.page.badge.default`)}),t[24]=r,t[25]=l,t[26]=D):D=t[26];let O;t[27]!==s||t[28]!==l?(O=s&&(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:l(`settings.agents.sidebar.badge.system`)}),t[27]=s,t[28]=l,t[29]=O):O=t[29];let k;t[30]!==E||t[31]!==D||t[32]!==O||t[33]!==T?(k=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[T,E,D,O]}),t[30]=E,t[31]=D,t[32]=O,t[33]=T,t[34]=k):k=t[34];let A=m===`token`&&n.host?n.host:n.userEmail,j;t[35]===A?j=t[36]:(j=(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/60 truncate leading-tight`,children:A}),t[35]=A,t[36]=j);let M;t[37]!==k||t[38]!==j?(M=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[k,j]}),t[37]=k,t[38]=j,t[39]=M):M=t[39];let N;t[40]!==M||t[41]!==w?(N=(0,$.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[w,M]}),t[40]=M,t[41]=w,t[42]=N):N=t[42];let P;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(Zn,{asChild:!0,children:(0,$.jsx)(J,{size:`icon`,variant:`ghost`,className:`h-6 w-6 shrink-0 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100`,onClick:Np,children:(0,$.jsx)(Z,{name:`more-2`,className:`h-3.5 w-3.5`})})}),t[43]=P):P=t[43];let F;t[44]===v?F=t[45]:(F=(0,$.jsxs)(rr,{children:[P,(0,$.jsx)(Jn,{align:`end`,className:`w-fit min-w-28`,children:v(fr)})]}),t[44]=v,t[45]=F);let I;t[46]!==N||t[47]!==F||t[48]!==S?(I=(0,$.jsxs)(Pi,{render:S,children:[N,F]}),t[46]=N,t[47]=F,t[48]=S,t[49]=I):I=t[49];let L;t[50]===v?L=t[51]:(L=(0,$.jsx)(Ii,{className:`w-fit min-w-28`,children:v(Ri)}),t[50]=v,t[51]=L);let R;return t[52]!==u||t[53]!==I||t[54]!==L?(R=(0,$.jsxs)(ji,{open:u,onOpenChange:d,children:[I,L]}),t[52]=u,t[53]=I,t[54]=L,t[55]=R):R=t[55],R},jp=e=>{let t=(0,Ki.c)(21),{credential:n,onImport:r,hasBorder:i}=e,{t:a}=Fe(),o;t[0]===n.host?o=t[1]:(o=n.host.split(`/`),t[0]=n.host,t[1]=o);let s=o,c=s.length>=3?s[s.length-1]:n.host,l=n.host.includes(`/`),u=i&&`border-b border-[var(--surface-subtle)]`,d;t[2]===u?d=t[3]:(d=q(`flex items-center justify-between gap-3 px-4 py-2.5 transition-colors hover:bg-[var(--interactive-hover)]/30`,u),t[2]=u,t[3]=d);let f;t[4]===c?f=t[5]:(f=(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate block`,children:c}),t[4]=c,t[5]=f);let p=l?n.host:n.username,m;t[6]===p?m=t[7]:(m=(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/60 truncate block leading-tight`,children:p}),t[6]=p,t[7]=m);let h;t[8]!==f||t[9]!==m?(h=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[f,m]}),t[8]=f,t[9]=m,t[10]=h):h=t[10];let g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(Z,{name:`download`,className:`h-3 w-3`}),t[11]=g):g=t[11];let _;t[12]===a?_=t[13]:(_=a(`settings.gitIdentities.page.actions.import`),t[12]=a,t[13]=_);let v;t[14]!==r||t[15]!==_?(v=(0,$.jsxs)(J,{size:`sm`,variant:`ghost`,onClick:r,className:`gap-1 shrink-0`,children:[g,_]}),t[14]=r,t[15]=_,t[16]=v):v=t[16];let y;return t[17]!==v||t[18]!==d||t[19]!==h?(y=(0,$.jsxs)(`div`,{className:d,children:[h,v]}),t[17]=v,t[18]=d,t[19]=h,t[20]=y):y=t[20],y};function Mp(e){return{profiles:e.profiles,globalIdentity:e.globalIdentity,defaultGitIdentityId:e.defaultGitIdentityId,deleteProfile:e.deleteProfile,loadProfiles:e.loadProfiles,loadGlobalIdentity:e.loadGlobalIdentity,loadDiscoveredCredentials:e.loadDiscoveredCredentials,loadDefaultGitIdentityId:e.loadDefaultGitIdentityId,setDefaultGitIdentityId:e.setDefaultGitIdentityId,getUnimportedCredentials:e.getUnimportedCredentials}}function Np(e){return e.stopPropagation()}function Pp(){let e=(0,Ki.c)(32),{t}=Fe(),{settings:n}=kr(),r=dt(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=o(),e[0]=i):i=e[0];let a=i,s;e[1]===n?s=e[2]:(s={mutationFn:async e=>{let t=o();if(await n.save({questionAutoDelegateEnabled:e}),t!==o())throw Error(`Runtime changed`);await st()}},e[1]=n,e[2]=s);let c=Te(s,O),l=c.reset,u,d;e[3]===l?(u=e[4],d=e[5]):(u=()=>{l()},d=[a,l],e[3]=l,e[4]=u,e[5]=d),(0,Q.useEffect)(u,d);let f;e[6]===t?f=e[7]:(f=t(`settings.chat.questionDelegate.label`),e[6]=t,e[7]=f);let p;e[8]===t?p=e[9]:(p=t(`settings.chat.questionDelegate.label`),e[8]=t,e[9]=p);let m;e[10]===t?m=e[11]:(m=t(`settings.chat.questionDelegate.description`),e[10]=t,e[11]=m);let h=r.data?.snapshot.enabled??!0,g=c.isPending||!r.data||r.isError,_;e[12]===c?_=e[13]:(_=e=>c.mutate(e),e[12]=c,e[13]=_);let v;e[14]!==f||e[15]!==p||e[16]!==m||e[17]!==h||e[18]!==g||e[19]!==_?(v=(0,$.jsx)(Zr,{label:f,ariaLabel:p,description:m,checked:h,disabled:g,onChange:_}),e[14]=f,e[15]=p,e[16]=m,e[17]=h,e[18]=g,e[19]=_,e[20]=v):v=e[20];let y;e[21]!==c.isPending||e[22]!==t?(y=c.isPending?(0,$.jsx)(`div`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,role:`status`,children:t(`settings.common.actions.saving`)}):null,e[21]=c.isPending,e[22]=t,e[23]=y):y=e[23];let b;e[24]!==r||e[25]!==c||e[26]!==t?(b=r.isError||c.isError?(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-wrap items-center gap-2`,role:`alert`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-[var(--status-error)]`,children:t(c.isError?`settings.chat.questionDelegate.saveFailed`:`chat.questionDelegate.loadFailed`)}),(0,$.jsx)(J,{variant:`ghost`,size:`xs`,disabled:c.isPending,onClick:()=>c.isError?c.mutate(c.variables??!0):void r.refetch(),children:t(`chat.questionDelegate.retry`)})]}):null,e[24]=r,e[25]=c,e[26]=t,e[27]=b):b=e[27];let x;return e[28]!==v||e[29]!==y||e[30]!==b?(x=(0,$.jsxs)($.Fragment,{children:[v,y,b]}),e[28]=v,e[29]=y,e[30]=b,e[31]=x):x=e[31],x}var Fp=e=>{let t=(0,Ki.c)(12),{isMobile:n,itemId:r,label:i,description:a,descriptionPlacement:o,children:s,className:c,copyClassName:l,controlClassName:u}=e,d=n&&`oc-mobile-settings-detail-group`,f;t[0]===d?f=t[1]:(f=q(`oc-settings-detail-group`,d),t[0]=d,t[1]=f);let p;return t[2]!==s||t[3]!==c||t[4]!==u||t[5]!==l||t[6]!==a||t[7]!==o||t[8]!==r||t[9]!==i||t[10]!==f?(p=(0,$.jsx)(ui,{itemId:r,label:i,description:a,descriptionPlacement:o,groupClassName:f,className:c,copyClassName:l,controlClassName:u,children:s}),t[2]=s,t[3]=c,t[4]=u,t[5]=l,t[6]=a,t[7]=o,t[8]=r,t[9]=i,t[10]=f,t[11]=p):p=t[11],p},Ip=e=>{let t=(0,Ki.c)(9),{isMobile:n,label:r,children:i,description:a,className:o,cardClassName:s}=e,c=n&&`oc-mobile-settings-detail-group`,l;t[0]!==o||t[1]!==c?(l=q(`oc-settings-detail-group`,c,o),t[0]=o,t[1]=c,t[2]=l):l=t[2];let u;return t[3]!==s||t[4]!==i||t[5]!==a||t[6]!==r||t[7]!==l?(u=(0,$.jsx)(Jr,{label:r,description:a,className:l,cardClassName:s,children:i}),t[3]=s,t[4]=i,t[5]=a,t[6]=r,t[7]=l,t[8]=u):u=t[8],u},Lp=e=>{let t=(0,Ki.c)(8),{isMobile:n,itemId:r,label:i,mobileLabel:a,description:o,children:s,className:c,copyClassName:l,controlClassName:u}=e,d=n&&a!==void 0?a:i,f;return t[0]!==s||t[1]!==c||t[2]!==u||t[3]!==l||t[4]!==o||t[5]!==r||t[6]!==d?(f=(0,$.jsx)(Yr,{itemId:r,label:d,description:o,className:c,copyClassName:l,controlClassName:u,children:s}),t[0]=s,t[1]=c,t[2]=u,t[3]=l,t[4]=o,t[5]=r,t[6]=d,t[7]=f):f=t[7],f},Rp=e=>{let t=(0,Ki.c)(17),{selected:n,onSelect:r,label:i,ariaLabel:a}=e,o;t[0]===r?o=t[1]:(o=e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),r())},t[0]=r,t[1]=o);let s;t[2]!==a||t[3]!==r||t[4]!==n?(s=(0,$.jsx)(ec,{checked:n,onChange:r,ariaLabel:a}),t[2]=a,t[3]=r,t[4]=n,t[5]=s):s=t[5];let c=n?`text-foreground`:`text-foreground/50`,l;t[6]===c?l=t[7]:(l=q(`typography-ui-label font-normal`,c),t[6]=c,t[7]=l);let u;t[8]!==i||t[9]!==l?(u=(0,$.jsx)(`span`,{className:l,children:i}),t[8]=i,t[9]=l,t[10]=u):u=t[10];let d;return t[11]!==r||t[12]!==n||t[13]!==o||t[14]!==s||t[15]!==u?(d=(0,$.jsxs)(`div`,{className:`oc-settings-group-row group flex cursor-pointer items-center gap-2 text-left`,role:`button`,tabIndex:0,"aria-pressed":n,onClick:r,onKeyDown:o,children:[s,u]}),t[11]=r,t[12]=n,t[13]=o,t[14]=s,t[15]=u,t[16]=d):d=t[16],d},zp=[{value:`system`,labelKey:`settings.openchamber.visual.option.themeMode.system`},{value:`light`,labelKey:`settings.openchamber.visual.option.themeMode.light`},{value:`dark`,labelKey:`settings.openchamber.visual.option.themeMode.dark`}],Bp=[{id:`dynamic`,labelKey:`settings.openchamber.visual.option.diffLayout.auto.label`,descriptionKey:`settings.openchamber.visual.option.diffLayout.auto.description`},{id:`inline`,labelKey:`settings.openchamber.visual.option.diffLayout.inline.label`,descriptionKey:`settings.openchamber.visual.option.diffLayout.inline.description`},{id:`side-by-side`,labelKey:`settings.openchamber.visual.option.diffLayout.sideBySide.label`,descriptionKey:`settings.openchamber.visual.option.diffLayout.sideBySide.description`}],Vp=`OpenChamberY - AI Coding Assistant`,Hp=[{id:`system`,labelKey:`settings.openchamber.visual.option.pwaOrientation.system.label`,descriptionKey:`settings.openchamber.visual.option.pwaOrientation.system.description`},{id:`portrait`,labelKey:`settings.openchamber.visual.option.pwaOrientation.portrait.label`,descriptionKey:`settings.openchamber.visual.option.pwaOrientation.portrait.description`},{id:`landscape`,labelKey:`settings.openchamber.visual.option.pwaOrientation.landscape.label`,descriptionKey:`settings.openchamber.visual.option.pwaOrientation.landscape.description`}],Up=[{id:`native`,labelKey:`settings.openchamber.visual.option.mobileKeyboardMode.native.label`,descriptionKey:`settings.openchamber.visual.option.mobileKeyboardMode.native.description`},{id:`resize-content`,labelKey:`settings.openchamber.visual.option.mobileKeyboardMode.resizeContent.label`,descriptionKey:`settings.openchamber.visual.option.mobileKeyboardMode.resizeContent.description`}],Wp=[{id:`steer`,labelKey:`settings.openchamber.visual.option.followUpBehavior.steer.label`},{id:`queue`,labelKey:`settings.openchamber.visual.option.followUpBehavior.queue.label`}],Gp=e=>e===`portrait`||e===`landscape`?e:`system`,Kp=[{id:`sorted`,labelKey:`settings.openchamber.visual.option.chatRenderMode.sorted.label`,descriptionKey:`settings.openchamber.visual.option.chatRenderMode.sorted.description`},{id:`live`,labelKey:`settings.openchamber.visual.option.chatRenderMode.live.label`,descriptionKey:`settings.openchamber.visual.option.chatRenderMode.live.description`}],qp=[{id:`auto`,labelKey:`settings.openchamber.visual.option.messageTransport.auto.label`,descriptionKey:`settings.openchamber.visual.option.messageTransport.auto.description`},{id:`ws`,labelKey:`settings.openchamber.visual.option.messageTransport.ws.label`,descriptionKey:`settings.openchamber.visual.option.messageTransport.ws.description`},{id:`sse`,labelKey:`settings.openchamber.visual.option.messageTransport.sse.label`,descriptionKey:`settings.openchamber.visual.option.messageTransport.sse.description`}],Jp=[{id:`auto`,labelKey:`settings.openchamber.visual.option.timeFormat.auto.label`,descriptionKey:`settings.openchamber.visual.option.timeFormat.auto.description`},{id:`24h`,labelKey:`settings.openchamber.visual.option.timeFormat.24h.label`,descriptionKey:`settings.openchamber.visual.option.timeFormat.24h.description`},{id:`12h`,labelKey:`settings.openchamber.visual.option.timeFormat.12h.label`,descriptionKey:`settings.openchamber.visual.option.timeFormat.12h.description`}],Yp=[{id:`auto`,labelKey:`settings.openchamber.visual.option.weekStart.auto.label`,descriptionKey:`settings.openchamber.visual.option.weekStart.auto.description`},{id:`monday`,labelKey:`settings.openchamber.visual.option.weekStart.monday.label`},{id:`sunday`,labelKey:`settings.openchamber.visual.option.weekStart.sunday.label`}],Xp=({visibleSettings:e,mobile:t})=>{let{locale:n,locales:r,setLocale:i,label:a,t:o}=Fe(),s=Q.useCallback(e=>o(e),[o]),{isMobile:c}=Tr(),u=t??c,{browserTab:d}=mi(),f=K(e=>e.showReasoningTraces),p=K(e=>e.sessionTitleRefreshEnabled),m=K(e=>e.setSessionTitleRefreshEnabled),h=K(e=>e.sessionGoalEnabled),g=K(e=>e.setSessionGoalEnabled),_=K(e=>e.sessionGoalDefaultBudgetEnabled),v=K(e=>e.setSessionGoalDefaultBudgetEnabled),b=K(e=>e.sessionGoalDefaultBudget),x=K(e=>e.setSessionGoalDefaultBudget),S=K(e=>e.setShowReasoningTraces),C=K(e=>e.collapsibleThinkingBlocks),w=K(e=>e.setCollapsibleThinkingBlocks),E=K(e=>e.collapsibleUserMessages),O=K(e=>e.setCollapsibleUserMessages),k=K(e=>e.expandedEditorToolbar),A=K(e=>e.setExpandedEditorToolbar),M=Mr(e=>e.enabled),P=Mr(e=>e.setEnabled),F=K(e=>e.chatRenderMode),I=K(e=>e.setChatRenderMode),R=K(e=>e.fontSize),z=K(e=>e.setFontSize),B=K(e=>e.codeFontSize),V=K(e=>e.setCodeFontSize),H=K(e=>e.terminalFontSize),U=K(e=>e.setTerminalFontSize),W=K(e=>e.editorFontSize),ee=K(e=>e.setEditorFontSize),G=K(e=>e.uiFont),te=K(e=>e.setUiFont),ne=K(e=>e.monoFont),re=K(e=>e.setMonoFont),ie=K(e=>e.padding),ae=K(e=>e.setPadding),oe=K(e=>e.inputBarOffset),se=K(e=>e.setInputBarOffset),ce=K(e=>e.mobileKeyboardMode),le=K(e=>e.setMobileKeyboardMode),ue=K(e=>e.diffLayoutPreference),de=K(e=>e.setDiffLayoutPreference),fe=K(e=>e.showTerminalQuickKeysOnDesktop),pe=K(e=>e.setShowTerminalQuickKeysOnDesktop),me=K(e=>e.fileEditorKeymap),he=K(e=>e.setFileEditorKeymap),ge=y(e=>e.followUpBehavior),_e=y(e=>e.setFollowUpBehavior),Se=K(e=>e.persistChatDraft),Ce=K(e=>e.setPersistChatDraft),we=K(e=>e.inputSpellcheckEnabled),Te=K(e=>e.setInputSpellcheckEnabled),Ee=K(e=>e.showSubagentTaskDetails),De=K(e=>e.setShowSubagentTaskDetails),Oe=K(e=>e.timeFormatPreference),ke=K(e=>e.setTimeFormatPreference),Ae=K(e=>e.weekStartPreference),je=K(e=>e.setWeekStartPreference),Me=K(e=>e.showSplitAssistantMessageActions),Ne=K(e=>e.setShowSplitAssistantMessageActions),Pe=K(e=>e.showAssistantTps),Ie=K(e=>e.setShowAssistantTps),Le=ii(e=>e.sidebarBrandName),Re=ii(e=>e.setSidebarBrandName),ze=K(e=>e.allowPromptingSubagentSessions),Be=K(e=>e.setAllowPromptingSubagentSessions),Ve=gt(e=>e.settingsMessageStreamTransport),He=gt(e=>e.setSettingsMessageStreamTransport),Ue=Ve,We=K(e=>e.isSettingsDialogOpen),{themeMode:Ge,setThemeMode:Ke,availableThemes:qe,customThemesLoading:Je,reloadCustomThemes:Ye,lightThemeId:Xe,darkThemeId:Ze,setLightThemePreference:Qe,setDarkThemePreference:$e}=Qt(),[et,tt]=Q.useState(!1),[nt,rt]=Q.useState(!1),[it,at]=Q.useState(!1),ot=Q.useMemo(()=>j()&&typeof window<`u`&&window.__OPENCHAMBER_ELECTRON__?.macVibrancySupported===!0,[]),st=typeof window<`u`&&window.__OPENCHAMBER_ELECTRON__?.macVibrancy===!0,[ct,lt]=Q.useState(st),[ut,dt]=Q.useState(!1),ft=Q.useMemo(()=>j()&&typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`darwin`,[]),pt=K(e=>e.dockBadgeEnabled),mt=K(e=>e.setDockBadgeEnabled),[ht,_t]=Q.useState(0),vt=K(e=>e.reportUsage),yt=K(e=>e.setReportUsage),bt=Q.useCallback(e=>{yt(e),T({reportUsage:e})},[yt]),xt=We&&(!e||e.includes(`chatRenderMode`));Q.useEffect(()=>{if(!xt)return;let e=null,t=Date.now(),n=()=>{let r=Date.now();r-t>=420&&(_t(e=>(e+1)%24),t=r),e=requestAnimationFrame(n)};(typeof document>`u`||document.visibilityState===`visible`)&&(e=requestAnimationFrame(n));let r=()=>{document.visibilityState===`visible`&&e===null?e=requestAnimationFrame(n):document.visibilityState!==`visible`&&e!==null&&(cancelAnimationFrame(e),e=null)};return document.addEventListener(`visibilitychange`,r),()=>{document.removeEventListener(`visibilitychange`,r),e!==null&&cancelAnimationFrame(e)}},[xt]);let St=Q.useCallback(e=>{A(e),T({expandedEditorToolbar:e})},[A]),Ct=Q.useCallback(e=>{O(e),T({collapsibleUserMessages:e})},[O]),wt=Q.useCallback(e=>{Ne(e),T({showSplitAssistantMessageActions:e})},[Ne]),Tt=Q.useCallback(e=>{Ie(e),T({showAssistantTps:e})},[Ie]),Et=Q.useCallback(e=>{Te(e),T({inputSpellcheckEnabled:e})},[Te]),Dt=Q.useCallback(e=>{I(e),T({chatRenderMode:e})},[I]),Ot=Q.useCallback(e=>{He(e),T({messageStreamTransport:e})},[He]),kt=Q.useCallback(e=>{De(e),T({showSubagentTaskDetails:e})},[De]),At=Q.useCallback(e=>{ke(e),T({timeFormatPreference:e})},[ke]),jt=Q.useCallback(e=>{je(e),T({weekStartPreference:e})},[je]),Mt=Q.useMemo(()=>qe.filter(e=>e.metadata.variant===`light`).sort((e,t)=>e.metadata.name.localeCompare(t.metadata.name)),[qe]),Nt=Q.useMemo(()=>qe.filter(e=>e.metadata.variant===`dark`).sort((e,t)=>e.metadata.name.localeCompare(t.metadata.name)),[qe]),Pt=Q.useMemo(()=>Mt.find(e=>e.metadata.id===Xe)??Mt[0],[Mt,Xe]),Ft=Q.useMemo(()=>Nt.find(e=>e.metadata.id===Ze)??Nt[0],[Nt,Ze]),It=Q.useCallback((e,t)=>{let n=t===`dark`?` Dark`:` Light`;return e.endsWith(n)?e.slice(0,-n.length):e},[]),X=t=>t===`splitAssistantMessageActions`?!1:!e||e.includes(t),Lt=async()=>{if(!it){at(!0);try{await Jt(),rt(!1),Y.success(o(`settings.openchamber.visual.transcriptCache.toast.cleared`))}catch{Y.error(o(`settings.openchamber.visual.transcriptCache.toast.failed`))}finally{at(!1)}}},Rt=D(),zt=Pr()&&X(`iosNativeUi`),Bt=X(`theme`)&&!Rt,Vt=X(`theme`)||X(`timeFormat`)||X(`weekStart`),Ht=Rt?Vt||X(`sidebarBrand`):X(`theme`)||X(`sidebarBrand`)||X(`pwaInstallName`)||X(`pwaOrientation`)||X(`mobileKeyboardMode`)||X(`timeFormat`)||X(`weekStart`)||zt,Ut=X(`fontSize`)||X(`codeFontSize`)||X(`terminalFontSize`)||X(`editorFontSize`)||X(`spacing`)||X(`inputBarOffset`),Wt=X(`terminalQuickKeys`)&&!u||X(`fileEditorKeymap`)||X(`expandedEditorToolbar`),Gt=X(`questionAutoDelegate`)||X(`chatRenderMode`)||X(`messageTransport`)||X(`collapsibleUserMessages`)||X(`splitAssistantMessageActions`)||X(`showAssistantTps`)||X(`subagentReadOnlyBanner`)||X(`diffLayout`)||X(`reasoning`)||X(`followUpBehavior`)||X(`persistDraft`)||X(`showSubagentTaskDetails`)||!u&&X(`inputSpellcheck`),Kt=X(`pwaInstallName`)&&L()&&d&&!j()&&!Rt,qt=X(`pwaOrientation`)&&L()&&!j()&&!Rt,Yt=X(`mobileKeyboardMode`)&&L()&&!j()&&!Rt&&be(),[Xt,Zt]=Q.useState(``),[sn,ln]=Q.useState(`system`),fn=Q.useMemo(()=>{let e=Jp.find(e=>e.id===Oe);return s(e?.labelKey??`settings.openchamber.visual.option.timeFormat.auto.label`)},[Oe,s]),mn=Q.useMemo(()=>{let e=Yp.find(e=>e.id===Ae);return s(e?.labelKey??`settings.openchamber.visual.option.weekStart.auto.label`)},[Ae,s]),bn=Q.useMemo(()=>{let e=Hp.find(e=>e.id===sn);return e?s(e.labelKey):void 0},[sn,s]),xn=Q.useMemo(()=>{let e=Up.find(e=>e.id===ce);return e?s(e.labelKey):void 0},[ce,s]),Sn=Q.useCallback(async e=>{if(typeof window>`u`)return;let t=window,n=e.trim().replace(/\s+/g,` `).slice(0,64);if(await T({pwaAppName:n}),typeof t.__OPENCHAMBER_SET_PWA_INSTALL_NAME__==`function`){let e=t.__OPENCHAMBER_SET_PWA_INSTALL_NAME__(n);Zt(e);return}Zt(n||Vp),t.__OPENCHAMBER_UPDATE_PWA_MANIFEST__?.()},[]),Cn=Q.useCallback(async e=>{if(typeof window>`u`)return;let t=window,n=Gp(e);if(await T({pwaOrientation:n}),typeof t.__OPENCHAMBER_SET_PWA_ORIENTATION__==`function`){let e=t.__OPENCHAMBER_SET_PWA_ORIENTATION__(n);ln(e);return}ln(n),t.__OPENCHAMBER_UPDATE_PWA_MANIFEST__?.()},[]);return Q.useEffect(()=>{if(typeof window>`u`||!Kt&&!qt&&!Yt)return;let e=!1;return(async()=>{try{let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`},cache:`no-store`});if(!t.ok){e||Zt(Vp);return}let n=await t.json().catch(()=>({})),r=(typeof n?.pwaAppName==`string`?n.pwaAppName:``).trim().replace(/\s+/g,` `).slice(0,64),i=Gp(n?.pwaOrientation),a=ye(n?.mobileKeyboardMode);e||(Kt&&Zt(r||Vp),qt&&ln(i),Yt&&le(a))}catch{e||(Kt&&Zt(Vp),qt&&ln(`system`),Yt&&le(`native`))}})(),()=>{e=!0}},[le,Yt,Kt,qt]),(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[Ht&&(0,$.jsxs)($.Fragment,{children:[Bt&&(0,$.jsxs)(Ip,{isMobile:u,label:(0,$.jsxs)(`div`,{className:`flex w-full min-w-0 items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{children:o(`settings.openchamber.visual.section.colorMode`)}),(0,$.jsxs)(`div`,{className:`inline-flex shrink-0 items-center gap-1`,children:[(0,$.jsx)(`button`,{type:`button`,"data-settings-item":`appearance.reload-themes`,disabled:Je||et,onClick:()=>{let e=Date.now();tt(!0),Ye().finally(()=>{let t=Date.now()-e;if(t<500){window.setTimeout(()=>{tt(!1)},500-t);return}tt(!1)})},className:`inline-flex items-center typography-micro font-normal text-muted-foreground underline decoration-[1px] underline-offset-2 hover:text-foreground disabled:cursor-not-allowed disabled:text-muted-foreground/60`,children:o(et?`settings.openchamber.visual.actions.reloadingThemes`:`settings.openchamber.visual.actions.reloadThemes`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`flex items-center justify-center rounded-md p-0.5 text-muted-foreground/70 hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.field.themeImportInfoAria`),children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5`})})}),(0,$.jsx)(vn,{sideOffset:8,children:o(`settings.openchamber.visual.field.themeImportInfoTooltip`)})]})]})]}),children:[(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.color-mode`,label:o(`settings.openchamber.visual.field.themeMode`),children:(0,$.jsx)(`div`,{className:`flex flex-nowrap items-center justify-end gap-1`,role:`group`,"aria-label":o(`settings.openchamber.visual.field.themeMode`),children:zp.map(e=>(0,$.jsx)(J,{variant:`chip`,size:`xs`,"aria-pressed":Ge===e.value,className:`oc-mobile-settings-chip shrink-0 !font-normal`,onClick:()=>Ke(e.value),children:s(e.labelKey)},e.value))})}),(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.light-theme`,label:o(`settings.openchamber.visual.field.lightTheme`),children:(0,$.jsxs)(pn,{value:Pt?.metadata.id??``,onValueChange:Qe,children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.selectLightThemeAria`),className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:o(`settings.openchamber.visual.field.selectThemePlaceholder`),children:Pt?It(Pt.metadata.name,`light`):void 0})}),(0,$.jsx)(dn,{children:Mt.map(e=>(0,$.jsx)(cn,{value:e.metadata.id,children:It(e.metadata.name,`light`)},e.metadata.id))})]})}),(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.dark-theme`,label:o(`settings.openchamber.visual.field.darkTheme`),children:(0,$.jsxs)(pn,{value:Ft?.metadata.id??``,onValueChange:$e,children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.selectDarkThemeAria`),className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:o(`settings.openchamber.visual.field.selectThemePlaceholder`),children:Ft?It(Ft.metadata.name,`dark`):void 0})}),(0,$.jsx)(dn,{children:Nt.map(e=>(0,$.jsx)(cn,{value:e.metadata.id,children:It(e.metadata.name,`dark`)},e.metadata.id))})]})}),ot&&(0,$.jsxs)(`div`,{"data-settings-item":`appearance.window-transparency`,className:`oc-settings-group-row flex flex-col gap-1.5`,children:[(0,$.jsxs)(`div`,{className:`group flex cursor-pointer items-start gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":ct,onClick:()=>{ut||lt(!ct)},onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),ut||lt(!ct))},children:[(0,$.jsx)(on,{checked:ct,onChange:lt,disabled:ut,ariaLabel:o(`settings.openchamber.visual.field.macVibrancy`)}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.macVibrancy`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:o(`settings.openchamber.visual.field.macVibrancyHint`)})]})]}),ct!==st&&(0,$.jsx)(`div`,{className:`pl-6`,children:(0,$.jsx)(J,{variant:`outline`,size:`sm`,disabled:ut,onClick:()=>{dt(!0),N(`desktop_set_vibrancy`,{enabled:ct})},children:o(ut?`settings.openchamber.visual.actions.restarting`:`settings.openchamber.visual.actions.saveAndRestart`)})})]}),ft&&(0,$.jsx)(`div`,{"data-settings-item":`appearance.dock-badge`,className:`oc-settings-group-row flex flex-col gap-1.5`,children:(0,$.jsxs)(`div`,{className:`group flex cursor-pointer items-start gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":pt,onClick:()=>mt(!pt),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),mt(!pt))},children:[(0,$.jsx)(on,{checked:pt,onChange:mt,ariaLabel:o(`settings.openchamber.visual.field.dockBadge`)}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.dockBadge`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:o(`settings.openchamber.visual.field.dockBadgeHint`)})]})]})})]}),zt&&(0,$.jsx)(Ip,{isMobile:u,children:(0,$.jsx)(Zr,{itemId:`appearance.ios-native-ui`,checked:M,onChange:P,label:o(`settings.openchamber.visual.field.iosNativeUi`),description:o(`settings.openchamber.visual.field.iosNativeUiHint`),ariaLabel:o(`settings.openchamber.visual.field.iosNativeUi`)})}),Vt&&(0,$.jsxs)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.localization`),children:[(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.language`,label:o(`settings.appearance.language.label`),description:o(`settings.appearance.language.description`),children:(0,$.jsxs)(pn,{value:n,onValueChange:e=>i(e),children:[(0,$.jsx)(un,{"aria-label":o(`settings.appearance.language.select`),className:`w-fit`,children:(0,$.jsx)(hn,{children:a(n)})}),(0,$.jsx)(dn,{children:r.map(e=>(0,$.jsx)(cn,{value:e,children:a(e)},e))})]})}),(X(`timeFormat`)||X(`weekStart`))&&(0,$.jsxs)($.Fragment,{children:[X(`timeFormat`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.time-format`,label:o(`settings.openchamber.visual.field.timeFormat`),children:(0,$.jsxs)(pn,{value:Oe,onValueChange:e=>At(e),children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.selectTimeFormatAria`),className:`w-fit`,children:(0,$.jsx)(hn,{children:fn})}),(0,$.jsx)(dn,{children:Jp.map(e=>(0,$.jsx)(cn,{value:e.id,children:s(e.labelKey)},e.id))})]})}),X(`weekStart`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.week-start`,label:o(`settings.openchamber.visual.field.weekStartsOn`),children:(0,$.jsxs)(pn,{value:Ae,onValueChange:e=>jt(e),children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.selectWeekStartAria`),className:`w-fit`,children:(0,$.jsx)(hn,{children:mn})}),(0,$.jsx)(dn,{children:Yp.map(e=>(0,$.jsx)(cn,{value:e.id,children:s(e.labelKey)},e.id))})]})})]})]}),X(`sidebarBrand`)&&(0,$.jsx)(Fp,{isMobile:u,itemId:`appearance.sidebar-brand`,label:o(`settings.openchamber.visual.field.sidebarBrand`),description:o(`settings.openchamber.visual.field.sidebarBrandHint`),descriptionPlacement:`outside`,children:(0,$.jsx)(gn,{value:Le,onChange:e=>Re(e.target.value),maxLength:64,"aria-label":o(`settings.openchamber.visual.field.sidebarBrandAria`)})}),(Kt||qt||Yt)&&(0,$.jsxs)($.Fragment,{children:[Kt&&(0,$.jsxs)(Fp,{isMobile:u,itemId:`appearance.pwa-install-name`,label:o(`settings.openchamber.visual.field.installAppName`),description:o(`settings.openchamber.visual.field.installAppNameHint`),children:[(0,$.jsx)(gn,{value:Xt,onChange:e=>{Zt(e.target.value)},onBlur:()=>{Sn(Xt)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),Sn(Xt))},maxLength:64,"aria-label":o(`settings.openchamber.visual.field.pwaInstallAppNameAria`)}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>{Zt(Vp),Sn(``)},className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetInstallAppNameAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),qt&&(0,$.jsxs)(Fp,{isMobile:u,itemId:`appearance.pwa-orientation`,label:o(`settings.openchamber.visual.field.installOrientation`),description:o(`settings.openchamber.visual.field.installOrientationHint`),descriptionPlacement:`outside`,children:[(0,$.jsxs)(pn,{value:sn,onValueChange:e=>{let t=Gp(e);ln(t),Cn(t)},children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.pwaInstallOrientationAria`),className:`w-full`,children:(0,$.jsx)(hn,{placeholder:o(`settings.openchamber.visual.field.selectOrientationPlaceholder`),children:bn})}),(0,$.jsx)(dn,{children:Hp.map(e=>(0,$.jsx)(cn,{value:e.id,children:s(e.labelKey)},e.id))})]}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>{ln(`system`),Cn(`system`)},disabled:sn===`system`,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetInstallOrientationAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),Yt&&(0,$.jsxs)(Fp,{isMobile:u,itemId:`appearance.mobile-keyboard-mode`,label:o(`settings.openchamber.visual.field.mobileKeyboardMode`),description:o(`settings.openchamber.visual.field.mobileKeyboardModeHint`),descriptionPlacement:`outside`,children:[(0,$.jsxs)(pn,{value:ce,onValueChange:e=>{let t=ye(e);le(t),T({mobileKeyboardMode:t})},children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.mobileKeyboardModeAria`),className:`w-full`,children:(0,$.jsx)(hn,{placeholder:o(`settings.openchamber.visual.field.selectMobileKeyboardModePlaceholder`),children:xn})}),(0,$.jsx)(dn,{children:Up.map(e=>(0,$.jsx)(cn,{value:e.id,children:s(e.labelKey)},e.id))})]}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>{le(`native`),T({mobileKeyboardMode:`native`})},disabled:ce===`native`,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetMobileKeyboardModeAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]})]})]}),Ut&&(0,$.jsx)($.Fragment,{children:(0,$.jsx)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.spacingAndLayout`),children:(0,$.jsxs)($.Fragment,{children:[X(`fontSize`)&&!u&&(0,$.jsxs)(Lp,{isMobile:u,label:o(`settings.openchamber.visual.field.interfaceFont`),children:[(0,$.jsxs)(pn,{value:G,onValueChange:e=>te(e),children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.selectInterfaceFontAria`),className:`w-[13rem]`,children:(0,$.jsx)(hn,{children:ve.find(e=>e.id===G)?.label})}),(0,$.jsx)(dn,{children:ve.map(e=>(0,$.jsx)(cn,{value:e.id,children:(0,$.jsx)(`span`,{style:{fontFamily:e.stack},children:e.label})},e.id))})]}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>te(`system`),disabled:G===`system`,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetInterfaceFontAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`terminalFontSize`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.code-font`,label:o(`settings.openchamber.visual.field.codeFont`),children:[(0,$.jsxs)(pn,{value:ne,onValueChange:e=>re(e),children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.selectCodeFontAria`),className:`w-full max-w-[13rem]`,children:(0,$.jsx)(hn,{children:xe.find(e=>e.id===ne)?.label})}),(0,$.jsx)(dn,{children:xe.map(e=>(0,$.jsx)(cn,{value:e.id,children:(0,$.jsx)(`span`,{style:{fontFamily:e.stack},children:e.label})},e.id))})]}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>re(`system-mono`),disabled:ne===`system-mono`,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetCodeFontAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`fontSize`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.interface-font-size`,label:o(`settings.openchamber.visual.field.interfaceFontSize`),children:[(0,$.jsx)(yi,{value:R,onValueChange:z,min:50,max:200,step:5,"aria-label":o(`settings.openchamber.visual.field.fontSizePercentageAria`),className:`w-16`}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>z(100),disabled:R===100,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetFontSizeAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`codeFontSize`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.code-font-size`,label:o(`settings.openchamber.visual.field.codeFontSize`),children:[(0,$.jsx)(yi,{value:B,onValueChange:V,min:50,max:200,step:5,"aria-label":o(`settings.openchamber.visual.field.codeFontSizePercentageAria`),className:`w-16`}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>V(100),disabled:B===100,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetCodeFontSizeAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`terminalFontSize`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.terminal-font-size`,label:o(`settings.openchamber.visual.field.terminalFontSize`),children:[(0,$.jsx)(yi,{value:H,onValueChange:U,min:9,max:52,step:1,className:`w-16`}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>U(13),disabled:H===13,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetTerminalFontSizeAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`editorFontSize`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.editor-font-size`,label:o(`settings.openchamber.visual.field.editorFontSize`),children:[(0,$.jsx)(yi,{value:W,onValueChange:ee,min:9,max:32,step:1,className:`w-16`}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>ee(13),disabled:W===13,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetEditorFontSizeAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`spacing`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.spacing-density`,label:o(`settings.openchamber.visual.field.spacingDensity`),children:[(0,$.jsx)(yi,{value:ie,onValueChange:ae,min:50,max:200,step:5,className:`w-16`}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>ae(100),disabled:ie===100,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetSpacingAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]}),X(`inputBarOffset`)&&(0,$.jsxs)(Lp,{isMobile:u,itemId:`appearance.input-bar-offset`,label:(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:o(`settings.openchamber.visual.field.inputBarOffset`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:o(`settings.openchamber.visual.field.inputBarOffsetTooltip`)})]})]}),children:[(0,$.jsx)(yi,{value:oe,onValueChange:se,min:0,max:100,step:5,className:`w-16`}),(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:()=>se(0),disabled:oe===0,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":o(`settings.openchamber.visual.actions.resetInputBarOffsetAria`),title:o(`settings.common.actions.reset`),children:(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`})})]})]})})}),Wt&&(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.navigation`),children:[X(`fileEditorKeymap`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.file-editor-keymap`,label:o(`settings.openchamber.visual.field.fileEditorKeymap`),children:(0,$.jsx)(`div`,{role:`radiogroup`,"aria-label":o(`settings.openchamber.visual.field.fileEditorKeymap`),className:`flex flex-wrap items-center justify-end gap-x-3 gap-y-1`,children:[`default`,`vim`].map(e=>{let t=me===e,n=o(`settings.openchamber.visual.option.fileEditorKeymap.${e}`);return(0,$.jsxs)(`button`,{type:`button`,className:`flex cursor-pointer items-center gap-2 py-0.5 text-left`,role:`radio`,"aria-checked":t,onClick:()=>he(e),children:[(0,$.jsx)(`span`,{"aria-hidden":!0,className:q(`relative flex h-[14px] w-[14px] min-h-[14px] min-w-[14px] shrink-0 self-center items-center justify-center rounded-full transition-[background-color,box-shadow] duration-200 ease-out`,t?`bg-[color-mix(in_srgb,var(--primary-base)_80%,transparent)] shadow-none`:`bg-[var(--surface-muted)] shadow-[inset_0_0_0_1px_var(--interactive-border)]`),children:(0,$.jsx)(`span`,{className:q(`block h-[5px] w-[5px] rounded-full bg-white`,!t&&`opacity-0`)})}),(0,$.jsx)(`span`,{className:q(`typography-ui-label font-normal`,t?`text-foreground`:`text-foreground/50`),children:n})]},e)})})}),X(`expandedEditorToolbar`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.expanded-editor-toolbar`,label:o(`settings.openchamber.visual.field.expandedEditorToolbar`),children:(0,$.jsx)(on,{checked:k,onChange:St,ariaLabel:o(`settings.openchamber.visual.field.expandedEditorToolbarAria`)})}),X(`terminalQuickKeys`)&&!u&&!j()&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.terminal-quick-keys`,label:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:o(`settings.openchamber.visual.field.terminalQuickKeys`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:o(`settings.openchamber.visual.field.terminalQuickKeysTooltip`)})]})]}),children:(0,$.jsx)(on,{checked:fe,onChange:pe,ariaLabel:o(`settings.openchamber.visual.field.terminalQuickKeysAria`)})})]})}),Gt&&(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[(X(`chatRenderMode`)||X(`messageTransport`)||X(`diffLayout`)&&!Rt)&&(0,$.jsxs)(`div`,{className:`grid w-full grid-cols-1 gap-y-[var(--oc-settings-section-stack-gap)]`,children:[X(`chatRenderMode`)&&(0,$.jsx)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.chatRenderMode`),className:`w-full`,cardClassName:`!border-0 !bg-transparent !rounded-none overflow-visible`,children:(0,$.jsx)(`div`,{"data-settings-item":`chat.render-mode`,className:`min-w-0 w-full`,children:(0,$.jsx)(`div`,{role:`radiogroup`,"aria-label":o(`settings.openchamber.visual.section.chatRenderModeAria`),className:`grid w-full grid-cols-1 gap-3 sm:grid-cols-2`,children:Kp.map(e=>{let t=F===e.id,n=ht%12;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>Dt(e.id),"aria-pressed":t,className:q(`flex flex-col items-start gap-1 rounded-lg border p-3 text-left transition-colors`,t?`border-primary bg-primary/5`:`border-border hover:border-border/80 hover:bg-muted/50`),children:[(0,$.jsx)(`span`,{className:q(`typography-ui-label`,t?`text-foreground`:`text-muted-foreground`),children:s(e.labelKey)}),(0,$.jsx)(`div`,{className:`mt-2 w-full rounded-md border border-border/60 bg-muted/30 p-2`,children:e.id===`live`?(0,$.jsx)(`div`,{className:`space-y-1.5`,children:[0,1,2].map(e=>{let t=e*3+1,r=n-t+1,i=r<=0?0:r===1?42:r===2?68:92;return(0,$.jsxs)(`div`,{className:q(`flex items-center gap-1.5 transition-all duration-300 motion-reduce:transition-none`,i>0?`translate-y-0 opacity-100`:`translate-y-1 opacity-0`),children:[(0,$.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full bg-muted-foreground/55`}),(0,$.jsx)(`span`,{className:`h-1.5 rounded bg-muted-foreground/30 transition-all duration-300 motion-reduce:transition-none`,style:{width:`${i}%`}})]},e)})}):(0,$.jsx)(`div`,{className:`space-y-1.5`,children:[0,1,2].map(e=>{let t=n>=(e+1)*3;return(0,$.jsxs)(`div`,{className:q(`flex items-center gap-1.5 transition-all duration-300 motion-reduce:transition-none`,t?`translate-y-0 opacity-100`:`translate-y-1 opacity-0`),children:[(0,$.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full bg-muted-foreground/55`}),(0,$.jsx)(`span`,{className:`h-1.5 rounded bg-muted-foreground/30`,style:{width:`92%`}})]},e)})})})]},e.id)})})})}),X(`messageTransport`)&&(0,$.jsx)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.messageStreamTransport`),className:`w-full`,children:(0,$.jsxs)(`div`,{"data-settings-item":`chat.message-transport`,className:`oc-settings-group-row flex flex-col gap-2`,children:[(0,$.jsx)(`div`,{className:`flex flex-wrap items-center gap-1`,children:qp.map(e=>(0,$.jsx)(J,{variant:`chip`,size:`xs`,"aria-pressed":Ue===e.id,className:`!font-normal`,onClick:()=>Ot(e.id),children:s(e.labelKey)},e.id))}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:(()=>{let e=qp.find(e=>e.id===Ue);return e?.descriptionKey?s(e.descriptionKey):``})()})]})}),X(`diffLayout`)&&!Rt&&(0,$.jsx)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.diffLayout`),className:`w-full`,children:(0,$.jsx)(`div`,{"data-settings-item":`chat.diff-layout`,role:`radiogroup`,"aria-label":o(`settings.openchamber.visual.section.diffLayoutAria`),children:Bp.map(e=>{let t=ue===e.id;return(0,$.jsx)(Rp,{selected:t,onSelect:()=>de(e.id),label:s(e.labelKey),ariaLabel:o(`settings.openchamber.visual.field.diffLayoutAria`,{option:s(e.labelKey)})},e.id)})})})]}),X(`sessionGoal`)&&!Rt&&(0,$.jsxs)(Ip,{isMobile:u,label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:o(`settings.openchamber.visual.goal.sectionTitle`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 cursor-help text-muted-foreground/60`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-sm`,children:o(`settings.openchamber.visual.goal.description`)})]})]}),children:[(0,$.jsx)(Lp,{isMobile:u,itemId:`chat.session-goal`,label:o(`settings.openchamber.visual.field.sessionGoal`),children:(0,$.jsx)(on,{checked:h,onChange:g,ariaLabel:o(`settings.openchamber.visual.field.sessionGoalAria`)})}),(0,$.jsxs)(Lp,{isMobile:u,itemId:`chat.session-goal-budget`,label:o(`settings.openchamber.visual.goal.budgetLabel`),children:[(0,$.jsx)(on,{checked:_,onChange:v,disabled:!h,ariaLabel:o(`settings.openchamber.visual.goal.budgetAria`)}),h&&_?(0,$.jsx)(yi,{value:b,onValueChange:e=>{typeof e==`number`&&Number.isFinite(e)&&e>0&&x(Math.floor(e))},min:1e3,max:1e8,step:5e4}):null]})]}),(X(`sessionAssist`)||X(`collapsibleUserMessages`)||X(`splitAssistantMessageActions`)||X(`showAssistantTps`)||X(`subagentReadOnlyBanner`)||X(`persistDraft`)||X(`showSubagentTaskDetails`)||!u&&X(`inputSpellcheck`)||X(`reasoning`))&&(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[(X(`sessionAssist`)||X(`questionAutoDelegate`)||X(`subagentReadOnlyBanner`))&&(0,$.jsxs)(Ip,{isMobile:u,label:(0,$.jsx)(`span`,{"data-settings-item":`chat.session-assistance`,children:o(`settings.openchamber.visual.section.sessionAssistance`)}),children:[X(`sessionAssist`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.session-title-refresh`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":p,onClick:()=>m(!p),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),m(!p))},children:[(0,$.jsx)(on,{checked:p,onChange:m,ariaLabel:o(`settings.openchamber.visual.field.sessionTitleRefreshAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.sessionTitleRefresh`)})]}),X(`subagentReadOnlyBanner`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.subagent-read-only-banner`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":ze,onClick:()=>Be(!ze),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),Be(!ze))},children:[(0,$.jsx)(on,{checked:ze,onChange:Be,ariaLabel:o(`settings.openchamber.visual.field.allowPromptingSubagentSessionsAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.allowPromptingSubagentSessions`)})]}),X(`questionAutoDelegate`)&&(0,$.jsx)(`div`,{"data-settings-item":`chat.question-auto-delegate`,className:`oc-settings-group-row`,children:(0,$.jsx)(Pp,{})})]}),(X(`collapsibleUserMessages`)||X(`splitAssistantMessageActions`)||X(`showAssistantTps`)||X(`reasoning`))&&(0,$.jsxs)(Ip,{isMobile:u,label:(0,$.jsx)(`span`,{"data-settings-item":`chat.message-appearance`,children:o(`settings.openchamber.visual.section.messageAppearance`)}),children:[X(`reasoning`)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{"data-settings-item":`chat.reasoning`,className:`hidden`,"aria-hidden":!0}),(0,$.jsx)(Zr,{checked:f,onChange:S,label:o(`settings.openchamber.visual.field.showReasoningTraces`),description:o(`settings.openchamber.visual.field.showReasoningTracesHint`),ariaLabel:o(`settings.openchamber.visual.field.showReasoningTracesAria`)}),f&&(0,$.jsxs)(`div`,{className:`oc-settings-group-row group flex cursor-pointer items-center gap-2`,role:`button`,tabIndex:0,"aria-pressed":C,onClick:()=>w(!C),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),w(!C))},children:[(0,$.jsx)(on,{checked:C,onChange:w,ariaLabel:o(`settings.openchamber.visual.field.collapsibleThinkingBlocksAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.collapsibleThinkingBlocks`)})]})]}),X(`collapsibleUserMessages`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.collapsible-user-messages`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":E,onClick:()=>Ct(!E),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),Ct(!E))},children:[(0,$.jsx)(on,{checked:E,onChange:Ct,ariaLabel:o(`settings.openchamber.visual.field.collapsibleUserMessagesAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.collapsibleUserMessages`)})]}),X(`splitAssistantMessageActions`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.inline-assistant-actions`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":Me,onClick:()=>wt(!Me),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),wt(!Me))},children:[(0,$.jsx)(on,{checked:Me,onChange:wt,ariaLabel:o(`settings.openchamber.visual.field.showSplitAssistantMessageActionsAria`)}),(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.showSplitAssistantMessageActions`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 cursor-help text-muted-foreground/60`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:o(`settings.openchamber.visual.field.showSplitAssistantMessageActionsTooltip`)})]})]})]}),X(`showAssistantTps`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.assistant-tps`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":Pe,onClick:()=>Tt(!Pe),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),Tt(!Pe))},children:[(0,$.jsx)(on,{checked:Pe,onChange:Tt,ariaLabel:o(`settings.openchamber.visual.field.showAssistantTpsAria`)}),(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.showAssistantTps`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 cursor-help text-muted-foreground/60`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:o(`settings.openchamber.visual.field.showAssistantTpsTooltip`)})]})]})]})]}),X(`showSubagentTaskDetails`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.subagent-task-details`,className:`group flex cursor-pointer items-start gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":Ee,onClick:()=>kt(!Ee),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),kt(!Ee))},children:[(0,$.jsx)(on,{checked:Ee,onChange:kt,ariaLabel:o(`settings.openchamber.visual.field.showSubagentTaskDetailsAria`),className:`mt-0.5`}),(0,$.jsxs)(`span`,{className:`min-w-0 flex flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.showSubagentTaskDetails`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:o(`settings.openchamber.visual.field.showSubagentTaskDetailsHint`)})]})]}),X(`showSubagentTaskDetails`)&&(0,$.jsx)(Ip,{isMobile:u,children:(0,$.jsx)(Zr,{itemId:`chat.subagent-task-details`,checked:Ee,onChange:kt,label:o(`settings.openchamber.visual.field.showSubagentTaskDetails`),description:o(`settings.openchamber.visual.field.showSubagentTaskDetailsHint`),ariaLabel:o(`settings.openchamber.visual.field.showSubagentTaskDetailsAria`)})}),(X(`persistDraft`)||X(`followUpBehavior`)||!u&&X(`inputSpellcheck`))&&(0,$.jsxs)(Ip,{isMobile:u,label:(0,$.jsx)(`span`,{"data-settings-item":`chat.composer`,children:o(`settings.openchamber.visual.section.composer`)}),children:[X(`followUpBehavior`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`chat.follow-up-behavior`,label:o(`settings.openchamber.visual.field.followUpBehavior`),description:o(`settings.openchamber.visual.field.followUpBehaviorDescription`),children:(0,$.jsxs)(pn,{value:ge,onValueChange:e=>_e(e===`steer`?`steer`:`queue`),children:[(0,$.jsx)(un,{"aria-label":o(`settings.openchamber.visual.field.followUpBehaviorAria`),className:`w-fit`,children:(0,$.jsx)(hn,{children:o(`settings.openchamber.visual.option.followUpBehavior.${ge}.label`)})}),(0,$.jsx)(dn,{children:Wp.map(e=>(0,$.jsx)(cn,{value:e.id,children:s(e.labelKey)},e.id))})]})}),X(`persistDraft`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.persist-drafts`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":Se,onClick:()=>Ce(!Se),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),Ce(!Se))},children:[(0,$.jsx)(on,{checked:Se,onChange:Ce,ariaLabel:o(`settings.openchamber.visual.field.persistDraftMessagesAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.persistDraftMessages`)})]}),!u&&X(`inputSpellcheck`)&&(0,$.jsxs)(`div`,{"data-settings-item":`chat.spellcheck`,className:`group flex cursor-pointer items-center gap-2 py-0.5`,role:`button`,tabIndex:0,"aria-pressed":we,onClick:()=>Et(!we),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),Et(!we))},children:[(0,$.jsx)(on,{checked:we,onChange:Et,ariaLabel:o(`settings.openchamber.visual.field.enableSpellcheckInTextInputsAria`)}),(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:o(`settings.openchamber.visual.field.enableSpellcheckInTextInputs`)})]})]})]})]}),X(`reportUsage`)&&(0,$.jsxs)(Ip,{isMobile:u,label:o(`settings.openchamber.visual.section.privacy`),children:[X(`reportUsage`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.usage-reports`,label:o(`settings.openchamber.visual.field.sendAnonymousUsageReports`),description:o(`settings.openchamber.visual.field.sendAnonymousUsageReportsHint`),children:(0,$.jsx)(on,{checked:vt,onChange:bt,ariaLabel:o(`settings.openchamber.visual.field.sendAnonymousUsageReportsAria`)})}),X(`reportUsage`)&&(0,$.jsx)(Lp,{isMobile:u,itemId:`appearance.transcript-cache`,label:o(`settings.openchamber.visual.transcriptCache.label`),description:o(`settings.openchamber.visual.transcriptCache.description`),children:(0,$.jsx)(J,{type:`button`,variant:`destructive`,size:`sm`,disabled:it,onClick:()=>rt(!0),children:o(`settings.openchamber.visual.transcriptCache.action`)})})]})]}),(0,$.jsx)(an,{open:nt,onOpenChange:e=>{it||rt(e)},children:(0,$.jsxs)(tn,{className:`max-w-[min(480px,100vw-2rem)]`,children:[(0,$.jsxs)($t,{children:[(0,$.jsx)(nn,{children:o(`settings.openchamber.visual.transcriptCache.dialog.title`)}),(0,$.jsx)(rn,{children:o(`settings.openchamber.visual.transcriptCache.dialog.description`)})]}),(0,$.jsxs)(en,{children:[(0,$.jsx)(J,{type:`button`,variant:`ghost`,disabled:it,onClick:()=>rt(!1),children:o(`settings.common.actions.cancel`)}),(0,$.jsx)(J,{type:`button`,variant:`destructive`,disabled:it,"aria-busy":it||void 0,onClick:()=>void Lt(),children:o(it?`settings.openchamber.visual.transcriptCache.dialog.clearing`:`settings.openchamber.visual.transcriptCache.action`)})]})]})})]})},Zp=1,Qp=365,$p=30,em=[{value:`archive`,labelKey:`settings.openchamber.sessionRetention.action.archive`},{value:`delete`,labelKey:`settings.openchamber.sessionRetention.action.delete`}],tm=()=>{let e=(0,Ki.c)(101),{t}=Fe(),n=K(nm),r=K(rm),i=K(im),a=K(am),o=K(om),s=K(sm),c;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={autoRun:!1},e[0]=c):c=e[0];let{candidates:l,isRunning:u,runCleanup:d,action:f}=tr(c),p=l.length,m;e[1]!==d||e[2]!==t?(m=async()=>{let e=await d({force:!0});if(e.completedIds.length===0&&e.failedIds.length===0){Y.message(e.action===`archive`?t(`settings.openchamber.sessionRetention.toast.noneEligibleArchive`):t(`settings.openchamber.sessionRetention.toast.noneEligibleDelete`));return}e.completedIds.length>0&&Y.success(e.action===`archive`?t(`settings.openchamber.sessionRetention.toast.archivedCount`,{count:e.completedIds.length}):t(`settings.openchamber.sessionRetention.toast.deletedCount`,{count:e.completedIds.length})),e.failedIds.length>0&&Y.error(e.action===`archive`?t(`settings.openchamber.sessionRetention.toast.failedArchiveCount`,{count:e.failedIds.length}):t(`settings.openchamber.sessionRetention.toast.failedDeleteCount`,{count:e.failedIds.length}))},e[1]=d,e[2]=t,e[3]=m):m=e[3];let h=m,g;e[4]===t?g=e[5]:(g=t(`settings.openchamber.sessionRetention.title`),e[4]=t,e[5]=g);let _;e[6]===g?_=e[7]:(_=(0,$.jsx)(`span`,{children:g}),e[6]=g,e[7]=_);let v;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 cursor-help text-muted-foreground/60`})}),e[8]=v):v=e[8];let y;e[9]===t?y=e[10]:(y=t(`settings.openchamber.sessionRetention.tooltip`),e[9]=t,e[10]=y);let b;e[11]===y?b=e[12]:(b=(0,$.jsxs)(yn,{children:[v,(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:y})]}),e[11]=y,e[12]=b);let x;e[13]!==_||e[14]!==b?(x=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[_,b]}),e[13]=_,e[14]=b,e[15]=x):x=e[15];let S,C;e[16]!==n||e[17]!==a?(S=()=>a(!n),C=e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),a(!n))},e[16]=n,e[17]=a,e[18]=S,e[19]=C):(S=e[18],C=e[19]);let w;e[20]===t?w=e[21]:(w=t(`settings.openchamber.sessionRetention.field.enableAutoCleanup`),e[20]=t,e[21]=w);let T;e[22]===w?T=e[23]:(T=(0,$.jsx)(`div`,{className:`oc-settings-split-row-copy`,children:(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:w})}),e[22]=w,e[23]=T);let E;e[24]===t?E=e[25]:(E=t(`settings.openchamber.sessionRetention.field.enableAutoCleanupAria`),e[24]=t,e[25]=E);let D;e[26]!==n||e[27]!==a||e[28]!==E?(D=(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:n,onChange:a,ariaLabel:E})}),e[26]=n,e[27]=a,e[28]=E,e[29]=D):D=e[29];let O;e[30]!==n||e[31]!==T||e[32]!==D||e[33]!==S||e[34]!==C?(O=(0,$.jsxs)(`div`,{"data-settings-item":`sessions.auto-cleanup`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,"aria-pressed":n,onClick:S,onKeyDown:C,children:[T,D]}),e[30]=n,e[31]=T,e[32]=D,e[33]=S,e[34]=C,e[35]=O):O=e[35];let k;e[36]===t?k=e[37]:(k=t(`settings.openchamber.sessionRetention.field.retentionPeriod`),e[36]=t,e[37]=k);let A;e[38]===t?A=e[39]:(A=t(`settings.openchamber.sessionRetention.field.retentionPeriodAria`),e[38]=t,e[39]=A);let j;e[40]!==r||e[41]!==o||e[42]!==A?(j=(0,$.jsx)(yi,{value:r,onValueChange:o,min:Zp,max:Qp,step:1,"aria-label":A,className:`w-20 tabular-nums`}),e[40]=r,e[41]=o,e[42]=A,e[43]=j):j=e[43];let M;e[44]===t?M=e[45]:(M=t(`settings.openchamber.sessionRetention.field.days`),e[44]=t,e[45]=M);let N;e[46]===M?N=e[47]:(N=(0,$.jsx)(`span`,{className:`typography-ui-label text-muted-foreground`,children:M}),e[46]=M,e[47]=N);let P;e[48]===o?P=e[49]:(P=()=>o($p),e[48]=o,e[49]=P);let F=r===$p,I;e[50]===t?I=e[51]:(I=t(`settings.openchamber.sessionRetention.actions.resetRetentionAria`),e[50]=t,e[51]=I);let L;e[52]===t?L=e[53]:(L=t(`settings.common.actions.reset`),e[52]=t,e[53]=L);let R;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(Z,{name:`restart`,className:`h-3.5 w-3.5`}),e[54]=R):R=e[54];let z;e[55]!==P||e[56]!==F||e[57]!==I||e[58]!==L?(z=(0,$.jsx)(J,{size:`sm`,type:`button`,variant:`ghost`,onClick:P,disabled:F,className:`h-7 w-7 px-0 text-muted-foreground hover:text-foreground`,"aria-label":I,title:L,children:R}),e[55]=P,e[56]=F,e[57]=I,e[58]=L,e[59]=z):z=e[59];let B;e[60]!==k||e[61]!==j||e[62]!==N||e[63]!==z?(B=(0,$.jsxs)(Yr,{itemId:`sessions.retention-period`,label:k,children:[j,N,z]}),e[60]=k,e[61]=j,e[62]=N,e[63]=z,e[64]=B):B=e[64];let V;e[65]===t?V=e[66]:(V=t(`settings.openchamber.sessionRetention.field.whenSessionsExpire`),e[65]=t,e[66]=V);let H;e[67]!==i||e[68]!==s||e[69]!==t?(H=em.map(e=>(0,$.jsx)(J,{type:`button`,variant:`chip`,size:`xs`,"aria-pressed":i===e.value,className:`!font-normal`,onClick:()=>s(e.value),children:t(e.labelKey)},e.value)),e[67]=i,e[68]=s,e[69]=t,e[70]=H):H=e[70];let U;e[71]===H?U=e[72]:(U=(0,$.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-1`,children:H}),e[71]=H,e[72]=U);let W;e[73]!==V||e[74]!==U?(W=(0,$.jsx)(Yr,{itemId:`sessions.retention-action`,label:V,children:U}),e[73]=V,e[74]=U,e[75]=W):W=e[75];let ee;e[76]!==O||e[77]!==B||e[78]!==W||e[79]!==x?(ee=(0,$.jsxs)(Jr,{label:x,children:[O,B,W]}),e[76]=O,e[77]=B,e[78]=W,e[79]=x,e[80]=ee):ee=e[80];let G;e[81]===t?G=e[82]:(G=t(`settings.openchamber.sessionRetention.manualCleanup.title`),e[81]=t,e[82]=G);let te;e[83]!==f||e[84]!==p||e[85]!==t?(te=t(f===`archive`?`settings.openchamber.sessionRetention.manualCleanup.eligibleArchiveNow`:`settings.openchamber.sessionRetention.manualCleanup.eligibleDeleteNow`,{count:p}),e[83]=f,e[84]=p,e[85]=t,e[86]=te):te=e[86];let ne;e[87]!==u||e[88]!==t?(ne=t(u?`settings.openchamber.sessionRetention.actions.cleaningUp`:`settings.openchamber.sessionRetention.actions.runCleanupNow`),e[87]=u,e[88]=t,e[89]=ne):ne=e[89];let re;e[90]!==h||e[91]!==u||e[92]!==ne?(re=(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`xs`,onClick:h,disabled:u,className:`!font-normal`,children:ne}),e[90]=h,e[91]=u,e[92]=ne,e[93]=re):re=e[93];let ie;e[94]!==G||e[95]!==te||e[96]!==re?(ie=(0,$.jsx)(ui,{label:G,description:te,descriptionPlacement:`outside`,children:re}),e[94]=G,e[95]=te,e[96]=re,e[97]=ie):ie=e[97];let ae;return e[98]!==ee||e[99]!==ie?(ae=(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[ee,ie]}),e[98]=ee,e[99]=ie,e[100]=ae):ae=e[100],ae};function nm(e){return e.autoDeleteEnabled}function rm(e){return e.autoDeleteAfterDays}function im(e){return e.sessionRetentionAction}function am(e){return e.setAutoDeleteEnabled}function om(e){return e.setAutoDeleteAfterDays}function sm(e){return e.setSessionRetentionAction}var cm=(e,t,n)=>!e||!Number.isFinite(e)?t:new Intl.DateTimeFormat(Re(),{dateStyle:`medium`,timeStyle:`short`,hour12:n===`auto`?void 0:n===`12h`}).format(e),lm=()=>{let{t:e}=Fe(),t=K(e=>e.timeFormatPreference),[n,r]=Q.useState(!1),[i,a]=Q.useState(!0),[o,s]=Q.useState(!1),[c,l]=Q.useState(null),[u,d]=Q.useState(!1),[f,p]=Q.useState([]),[m,h]=Q.useState(ar),[g,_]=Q.useState(``),v=Q.useMemo(()=>Ln(),[]),y=Q.useCallback(async()=>{a(!0),_(``);try{let e=await Pn();p(e)}catch(t){let n=t instanceof Error?t.message:e(`settings.openchamber.passkeys.toast.loadFailed`);_(n)}finally{a(!1)}},[e]);Q.useEffect(()=>{let e=!1;return(async()=>{try{if(!v.supported){e||(r(!1),a(!1));return}e||r(!0)}catch{e||r(!1)}if(!e){let e=await Nn();if(h(e),!e.enabled){p([]),a(!1);return}await y()}})(),()=>{e=!0,xn()}},[y,v.supported]);let b=Q.useCallback(async()=>{if(!m.enabled){let t=e(`settings.openchamber.passkeys.toast.enableUiPasswordFirst`);_(t),Y.message(t);return}if(!n){_(v.reason),Y.message(v.reason);return}if(o){xn(),s(!1);return}_(``),s(!0);try{await An(),h(await Nn()),await y(),Y.success(e(`settings.openchamber.passkeys.toast.added`))}catch(t){if(Tn(t)){Y.message(e(`settings.openchamber.passkeys.toast.setupCanceled`));return}let n=t instanceof Error?t.message:e(`settings.openchamber.passkeys.toast.addFailed`);_(n),Y.error(n)}finally{s(!1)}},[o,y,m.enabled,v.reason,n,e]),x=Q.useCallback(async t=>{l(t),_(``);try{await Bn(t),h(await Nn()),await y(),Y.success(e(`settings.openchamber.passkeys.toast.removed`))}catch(t){let n=t instanceof Error?t.message:e(`settings.openchamber.passkeys.toast.removeFailed`);_(n),Y.error(n)}finally{l(null)}},[y,e]),S=Q.useCallback(async()=>{d(!0),_(``);try{await jn(),window.location.reload()}catch(t){let n=t instanceof Error?t.message:e(`settings.openchamber.passkeys.toast.clearAuthFailed`);_(n),Y.error(n),d(!1)}},[e]);return(0,$.jsxs)(Jr,{label:e(`settings.openchamber.passkeys.title`),children:[(0,$.jsx)(Yr,{label:e(`settings.openchamber.passkeys.field.currentDevice`),children:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[(0,$.jsx)(J,{type:`button`,variant:o?`secondary`:`outline`,size:`xs`,onClick:()=>void b(),disabled:i||u,className:`!font-normal`,children:e(o?`settings.openchamber.passkeys.actions.cancelSetup`:`settings.openchamber.passkeys.actions.add`)}),(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,onClick:()=>void S(),disabled:i||o||u,className:`!font-normal text-muted-foreground hover:text-foreground`,children:e(u?`settings.openchamber.passkeys.actions.signingOut`:`settings.openchamber.passkeys.actions.signOutEverywhere`)})]})}),!m.enabled&&(0,$.jsx)(`p`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,children:e(`settings.openchamber.passkeys.state.uiPasswordRequired`)}),m.enabled&&!n&&(0,$.jsx)(`p`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,children:v.reason}),i?(0,$.jsx)(`p`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,children:e(`settings.openchamber.passkeys.state.loading`)}):f.length===0?(0,$.jsx)(`p`,{className:`oc-settings-group-row typography-meta text-muted-foreground`,children:e(`settings.openchamber.passkeys.state.noneSaved`)}):(0,$.jsx)($.Fragment,{children:f.map(n=>(0,$.jsx)(Yr,{label:n.label,copyClassName:`truncate`,children:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground truncate`,children:n.lastUsedAt?e(`settings.openchamber.passkeys.item.lastUsed`,{time:cm(n.lastUsedAt,e(`settings.openchamber.passkeys.time.neverUsed`),t)}):e(`settings.openchamber.passkeys.item.added`,{time:cm(n.createdAt,e(`settings.openchamber.passkeys.time.neverUsed`),t)})}),(0,$.jsx)(J,{type:`button`,variant:`ghost`,size:`xs`,onClick:()=>void x(n.id),disabled:c===n.id,className:`!font-normal text-muted-foreground hover:text-foreground`,children:c===n.id?e(`settings.openchamber.passkeys.actions.removing`):e(`settings.common.actions.delete`)})]})},n.id))}),g&&(0,$.jsx)(`div`,{className:`oc-settings-group-row`,children:(0,$.jsx)(`p`,{className:`typography-meta text-[var(--status-error)]`,children:g})})]})},um=e=>Dt(e)||{providerId:``,modelId:``},dm=()=>{let{t:e}=Fe(),t=gt(e=>e.setProvider),n=gt(e=>e.setModel),r=gt(e=>e.setAgent),i=gt(e=>e.setCurrentVariant),a=gt(e=>e.setSettingsDefaultModel),o=gt(e=>e.setSettingsDefaultVariant),s=gt(e=>e.setSettingsDefaultAgent),c=K(e=>e.showDeletionDialog),u=K(e=>e.setShowDeletionDialog),d=gt(e=>e.providers),[f,p]=Q.useState(),[m,g]=Q.useState(),[_,v]=Q.useState(),[y,b]=Q.useState(!0),x=Q.useMemo(()=>um(f),[f]);Q.useEffect(()=>{(async()=>{try{let e=null;if(!e){let t=h()?.settings;if(t)try{let n=(await t.load())?.settings;if(n){let t=n;e={defaultModel:typeof n.defaultModel==`string`?n.defaultModel:void 0,defaultVariant:typeof t.defaultVariant==`string`?t.defaultVariant:void 0,defaultAgent:typeof n.defaultAgent==`string`?n.defaultAgent:void 0}}}catch{}}if(!e){let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});t.ok&&(e=await t.json())}if(e){let t=typeof e.defaultModel==`string`&&e.defaultModel.trim().length>0?e.defaultModel.trim():void 0,n=typeof e.defaultVariant==`string`&&e.defaultVariant.trim().length>0?e.defaultVariant.trim():void 0,r=typeof e.defaultAgent==`string`&&e.defaultAgent.trim().length>0?e.defaultAgent.trim():void 0;t!==void 0&&p(t),n!==void 0&&g(n),r!==void 0&&v(r)}}catch(e){console.warn(`Failed to load defaults settings:`,e)}finally{b(!1)}})()},[]);let S=Q.useCallback(async(e,r)=>{let s=e&&r?`${e}/${r}`:void 0;p(s),g(void 0),o(void 0),i(void 0),a(s),e&&r&&d.find(t=>t.id===e)&&(t(e),n(r));try{await T({defaultModel:s??``,defaultVariant:``});let e=await l(`/api/config/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({defaultModel:s})});e.ok||console.warn(`Failed to save default model to server:`,e.status,e.statusText)}catch(e){console.warn(`Failed to save default model:`,e)}},[d,i,n,t,a,o]),C=`__default__`,w=Q.useCallback(t=>t===C?e(`settings.openchamber.defaults.option.default`):t.charAt(0).toUpperCase()+t.slice(1),[e]),E=Q.useCallback(async e=>{let t=e===C?void 0:e||void 0;g(t),o(t),i(t);try{await T({defaultVariant:t??``})}catch(e){console.warn(`Failed to save default variant:`,e)}},[i,o]),D=Q.useCallback(async e=>{let t=e||void 0;v(t),s(t),e&&r(e);try{await T({defaultAgent:t??``})}catch(e){console.warn(`Failed to save default agent:`,e)}},[r,s]),O=Q.useMemo(()=>{if(!x.providerId||!x.modelId)return[];let e=d.find(e=>e.id===x.providerId)?.models.find(e=>e.id===x.modelId)?.variants;return e?Object.keys(e):[]},[x.modelId,x.providerId,d]),k=O.length>0;return Q.useEffect(()=>{!k&&m&&(g(void 0),o(void 0),i(void 0),T({defaultVariant:``}).catch(()=>{}))},[m,i,o,k]),y?null:(0,$.jsxs)(Jr,{label:e(`settings.openchamber.defaults.title`),description:(0,$.jsxs)($.Fragment,{children:[e(`settings.openchamber.defaults.summaryPrefix`),` `,x.providerId?(0,$.jsxs)(`span`,{className:`text-foreground`,children:[x.providerId,`/`,x.modelId,k?` (${m??e(`settings.openchamber.defaults.option.defaultLowercase`)})`:``]}):(0,$.jsx)(`span`,{className:`text-foreground`,children:e(`settings.openchamber.defaults.summaryOpenCodeDefault`)}),_&&(0,$.jsxs)($.Fragment,{children:[` / `,(0,$.jsx)(`span`,{className:`text-foreground`,children:_})]})]}),children:[(0,$.jsx)(Yr,{itemId:`sessions.default-model`,label:e(`settings.openchamber.defaults.field.defaultModel`),children:(0,$.jsx)(Kn,{providerId:x.providerId,modelId:x.modelId,onChange:S,className:`oc-settings-inline-value`})}),(0,$.jsx)(Yr,{itemId:`sessions.default-thinking`,label:e(`settings.openchamber.defaults.field.defaultThinking`),children:(0,$.jsxs)(pn,{value:m??C,onValueChange:E,disabled:!k,children:[(0,$.jsx)(un,{className:`w-fit min-w-[120px]`,children:(0,$.jsx)(hn,{placeholder:e(`settings.openchamber.defaults.field.thinkingPlaceholder`),children:w(m??C)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:C,children:e(`settings.openchamber.defaults.option.default`)}),O.map(e=>(0,$.jsx)(cn,{value:e,children:w(e)},e))]})]})}),(0,$.jsx)(Yr,{itemId:`sessions.default-agent`,label:e(`settings.openchamber.defaults.field.defaultAgent`),children:(0,$.jsx)(ur,{agentName:_||``,onChange:D,className:`oc-settings-inline-value`})}),(0,$.jsxs)(`div`,{"data-settings-item":`sessions.deletion-dialog`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,"aria-pressed":c,onClick:()=>u(!c),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),u(!c))},children:[(0,$.jsx)(`div`,{className:`oc-settings-split-row-copy`,children:(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.defaults.field.showDeletionDialog`)})}),(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:c,onChange:u,ariaLabel:e(`settings.openchamber.defaults.field.showDeletionDialogAria`)})})]})]})},fm=`You are generating a Conventional Commits subject line from the diffs of the selected files.`,pm=[`You are a title generator. Output ONLY a thread title.`,`Name the main subject of the work.`,`Keep that subject across follow-ups, polish, commit, push, tidy, and review.`,`Switch only when the user clearly starts a different topic.`,`One line, no explanation.`,`Hard limit: never exceed 6 CJK characters (or 6 words for English). No modifiers. No verbs.`,`Use the language of the user messages.`,`Keep technical terms, numbers, filenames, and HTTP codes exact.`,`Never include tool names, summarizing, or generating.`,`Always output a meaningful title.`].join(`
26
+ `),mm=`summary-custom-model-suggestions`,hm=e=>{let t=e.trim();if(!t)return null;try{let e=new URL(t);return e.protocol!==`https:`&&e.protocol!==`http:`||e.username||e.password?null:e.toString().replace(/\/+$/,``)}catch{return null}},gm=()=>{let{t:e}=Fe(),{currentTheme:t}=Qt(),[n,r]=Q.useState(`provider`),[i,a]=Q.useState(``),[o,s]=Q.useState(``),[c,u]=Q.useState(``),[d,f]=Q.useState(``),[p,m]=Q.useState(``),[g,_]=Q.useState(!1),[v,y]=Q.useState(fm),[b,x]=Q.useState(pm),[S,C]=Q.useState([]),[w,E]=Q.useState(!0),[D,O]=Q.useState(!1),[k,A]=Q.useState(!1),[j,M]=Q.useState(null),N=Q.useMemo(()=>[bi(t,{syntaxColors:!1})],[t]);Q.useEffect(()=>{let e=!0;return(async()=>{try{let t=null,n=h()?.settings;if(n){let e=(await n.load())?.settings;e&&(t=e)}if(!t){let e=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});e.ok&&(t=await e.json())}if(!e||!t)return;t.summaryModelMode&&r(t.summaryModelMode),typeof t.summaryProviderID==`string`&&a(t.summaryProviderID),typeof t.summaryModelID==`string`&&s(t.summaryModelID),typeof t.summaryCustomModelID==`string`&&t.summaryCustomModelID?u(t.summaryCustomModelID):t.summaryModelMode===`custom`&&typeof t.summaryModelID==`string`&&u(t.summaryModelID),typeof t.summaryCustomBaseURL==`string`&&f(t.summaryCustomBaseURL),typeof t.hasSummaryCustomAPIToken==`boolean`&&_(t.hasSummaryCustomAPIToken),y(t.summaryCommitPrompt??fm),x(t.summarySessionTitlePrompt??pm)}catch(e){console.warn(`Failed to load summary settings:`,e)}finally{e&&E(!1)}})(),()=>{e=!1}},[]),Q.useEffect(()=>{if(n!==`custom`){C([]);return}let e=hm(d);if(!e||!p.trim()&&!g){C([]);return}let t=!0,r=window.setTimeout(()=>{(async()=>{try{let n=await(await l(`/api/small-model/custom-models`,{method:`POST`,headers:{Accept:`application/json`,"Content-Type":`application/json`},body:JSON.stringify({baseURL:e,...p.trim()?{apiToken:p}:{}})})).json().catch(()=>null),r=Array.isArray(n?.models)?n.models.filter(e=>typeof e==`string`&&e.length>0):[];t&&C(r)}catch{t&&C([])}})()},400);return()=>{t=!1,window.clearTimeout(r)}},[g,p,d,n]);let P=()=>hm(d)?!c.trim()||!p.trim()&&!g?`incomplete`:null:d.trim()?`baseURL`:`incomplete`,F=t=>e(t===`token`?`settings.openchamber.defaults.summary.testError.token`:t===`model`?`settings.openchamber.defaults.summary.testError.model`:t===`baseURL`?`settings.openchamber.defaults.summary.testError.baseUrl`:`settings.openchamber.defaults.summary.testError.incomplete`),I=Me(async()=>{if(n===`custom`){let e=P();if(e){Y.error(F(e));return}}O(!0);try{let e={summaryModelMode:n,summaryCommitPrompt:v,summarySessionTitlePrompt:b};n===`provider`?(e.summaryProviderID=i.trim(),e.summaryModelID=o.trim()):(e.summaryCustomBaseURL=d,e.summaryCustomModelID=c.trim(),p.trim()&&(e.summaryCustomAPIToken=p)),await T(e),p.trim()&&_(!0),m(``)}catch(e){console.warn(`Failed to save summary settings:`,e)}finally{O(!1)}}),L=Me(async()=>{O(!0);try{await T({summaryCustomAPIToken:``}),m(``),_(!1)}catch(e){console.warn(`Failed to clear summary API token:`,e)}finally{O(!1)}}),R=Me(async()=>{if(k)return;M(null);let t=n,r=t===`custom`?P():null;if(r){M(F(r));return}A(!0);try{let n=await l(`/api/small-model/test`,{method:`POST`,headers:{Accept:`application/json`,"Content-Type":`application/json`},body:JSON.stringify(t===`provider`?{mode:t,providerID:i,modelID:o}:{baseURL:d,modelID:c,...p.trim()?{apiToken:p}:{}})}),r=await n.json().catch(()=>null);if(n.ok&&r?.ok===!0){Y.success(e(`settings.openchamber.defaults.summary.testConnectionOk`));return}if(t===`provider`){let t=e(`settings.openchamber.defaults.summary.testError.provider`,{code:typeof r?.code==`string`?r.code:`generation_failed`});M(typeof r?.message==`string`&&r.message.trim()?`${t}\n${r.message}`:t);return}let a=r?.code===`token`||r?.code===`model`||r?.code===`baseURL`||r?.code===`incomplete`?r.code:`baseURL`,s=F(a);M(typeof r?.message==`string`&&r.message.trim()?`${s}\n${r.message}`:s)}catch{M(t===`provider`?e(`settings.openchamber.defaults.summary.testError.provider`,{code:`network_error`}):F(`baseURL`))}finally{A(!1)}});return w?null:(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[(0,$.jsxs)(Jr,{label:e(`settings.openchamber.defaults.summary.title`),description:(0,$.jsxs)(`span`,{className:`flex flex-col gap-2`,children:[(0,$.jsxs)(`span`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{children:e(`settings.openchamber.defaults.summary.description`)}),(0,$.jsx)(J,{"data-settings-item":`summary-ai.test-connection`,variant:`outline`,size:`sm`,onClick:()=>void R(),disabled:D||k,children:e(k?`settings.openchamber.defaults.summary.testingConnection`:`settings.openchamber.defaults.summary.testConnection`)})]}),j?(0,$.jsx)(`span`,{role:`alert`,className:`whitespace-pre-wrap break-words text-[var(--status-error)]`,children:j}):null]}),children:[(0,$.jsx)(Yr,{itemId:`summary-ai.configuration`,label:e(`settings.openchamber.defaults.summary.modelSourceTitle`),className:`oc-settings-summary-model-source-row`,controlClassName:`items-start`,children:(0,$.jsxs)(`div`,{role:`radiogroup`,"aria-label":e(`settings.openchamber.defaults.summary.modelSourceAria`),className:`flex flex-col gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2 py-0.5`,children:[(0,$.jsx)(ec,{checked:n===`provider`,onChange:()=>r(`provider`),ariaLabel:e(`settings.openchamber.defaults.summary.provider`)}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:n===`provider`?`typography-ui-label text-foreground`:`typography-ui-label text-foreground/50`,children:e(`settings.openchamber.defaults.summary.provider`)}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:e(`settings.openchamber.defaults.summary.providerDescription`)})]})]}),(0,$.jsxs)(`div`,{className:`flex items-start gap-2 py-0.5`,children:[(0,$.jsx)(ec,{checked:n===`custom`,onChange:()=>r(`custom`),ariaLabel:e(`settings.openchamber.defaults.summary.custom`)}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:n===`custom`?`typography-ui-label text-foreground`:`typography-ui-label text-foreground/50`,children:e(`settings.openchamber.defaults.summary.custom`)}),(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:e(`settings.openchamber.defaults.summary.customDescription`)})]})]})]})}),n===`provider`?(0,$.jsx)(Yr,{label:e(`settings.openchamber.defaults.summary.providerModel`),children:(0,$.jsx)(Kn,{providerId:i,modelId:o,placeholder:e(`settings.openchamber.defaults.summary.providerModelDefault`),onChange:(e,t)=>{a(e),s(t)},className:`oc-settings-inline-value`})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{label:e(`settings.openchamber.defaults.summary.baseUrl`),children:(0,$.jsx)(gn,{value:d,onChange:e=>f(e.target.value),placeholder:e(`settings.openchamber.defaults.summary.baseUrlPlaceholder`)})}),(0,$.jsx)(Yr,{label:e(`settings.openchamber.defaults.summary.modelId`),children:(0,$.jsxs)(`div`,{className:`w-full`,children:[(0,$.jsx)(gn,{value:c,onChange:e=>u(e.target.value),placeholder:e(`settings.openchamber.defaults.summary.modelIdPlaceholder`),list:S.length>0?mm:void 0}),S.length>0?(0,$.jsx)(`datalist`,{id:mm,children:S.map(e=>(0,$.jsx)(`option`,{value:e},e))}):null]})}),(0,$.jsx)(Yr,{label:e(`settings.openchamber.defaults.summary.apiToken`),children:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(gn,{type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:e(g?`settings.openchamber.defaults.summary.apiTokenStored`:`settings.openchamber.defaults.summary.apiTokenPlaceholder`),className:`max-w-xl`}),g?(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:()=>void L(),disabled:D,children:e(`settings.openchamber.defaults.summary.clearToken`)}):null]})})]})]}),(0,$.jsxs)(Jr,{label:e(`settings.openchamber.defaults.summary.promptTitle`),children:[(0,$.jsx)(Yr,{label:e(`settings.openchamber.defaults.summary.commitPrompt`),description:e(`settings.openchamber.defaults.summary.commitPromptDescription`),className:`oc-settings-split-row-stacked`,controlClassName:`w-full max-w-none justify-self-stretch`,children:(0,$.jsx)(`div`,{className:`h-64 w-full overflow-hidden bg-background`,children:(0,$.jsx)(Ur,{value:v,onChange:y,extensions:N,className:`h-full`,enableSearch:!0})})}),(0,$.jsx)(Yr,{label:e(`settings.openchamber.defaults.summary.sessionTitlePrompt`),description:e(`settings.openchamber.defaults.summary.sessionTitlePromptDescription`),className:`oc-settings-split-row-stacked`,controlClassName:`w-full max-w-none justify-self-stretch`,children:(0,$.jsx)(`div`,{className:`h-64 w-full overflow-hidden bg-background`,children:(0,$.jsx)(Ur,{value:b,onChange:x,extensions:N,className:`h-full`,enableSearch:!0})})}),(0,$.jsx)(`div`,{className:`oc-settings-group-row flex items-center justify-end`,children:(0,$.jsx)(J,{size:`sm`,onClick:()=>void I(),disabled:D,children:e(D?`settings.common.actions.saving`:`settings.openchamber.defaults.summary.save`)})})]})]})},_m={completion:{titleKey:`settings.notifications.page.template.defaults.completion.title`,messageKey:`settings.notifications.page.template.defaults.completion.message`},error:{titleKey:`settings.notifications.page.template.defaults.error.title`,messageKey:`settings.notifications.page.template.defaults.error.message`},question:{titleKey:`settings.notifications.page.template.defaults.question.title`,messageKey:`settings.notifications.page.template.defaults.question.message`},subtask:{titleKey:`settings.notifications.page.template.defaults.subtask.title`,messageKey:`settings.notifications.page.template.defaults.subtask.message`}},vm={completion:`settings.notifications.page.template.event.completion`,subtask:`settings.notifications.page.template.event.subtask`,error:`settings.notifications.page.template.event.error`,question:`settings.notifications.page.template.event.question`},ym=()=>{let{t:e}=Fe(),t=Q.useMemo(()=>j(),[]),n=Q.useMemo(()=>D(),[]),r=Q.useMemo(()=>typeof window>`u`?!1:window.Capacitor?.isNativePlatform?.()===!0||window.location.protocol===`capacitor:`,[]),i=!t&&!n&&!r,a=K(e=>e.nativeNotificationsEnabled),o=K(e=>e.setNativeNotificationsEnabled),s=K(e=>e.notificationMode),c=K(e=>e.setNotificationMode),l=K(e=>e.notifyOnSubtasks),u=K(e=>e.setNotifyOnSubtasks),d=K(e=>e.notifyOnCompletion),f=K(e=>e.setNotifyOnCompletion),p=K(e=>e.notifyOnError),m=K(e=>e.setNotifyOnError),g=K(e=>e.notifyOnQuestion),_=K(e=>e.setNotifyOnQuestion),v=K(e=>e.notifyOnPermission),y=K(e=>e.setNotifyOnPermission),b=K(e=>e.notifyOnScheduledTasks),x=K(e=>e.setNotifyOnScheduledTasks),S=K(e=>e.notifyOnAssistants),C=K(e=>e.setNotifyOnAssistants),w=K(e=>e.notifyOnGoals),T=K(e=>e.setNotifyOnGoals),E=K(e=>e.notificationTemplates),O=K(e=>e.setNotificationTemplates),[k,A]=Q.useState(`default`),[M,N]=Q.useState(!1),[P,F]=Q.useState(!1),[I,L]=Q.useState(!1);Q.useEffect(()=>{if(!i){N(!1),F(!1);return}typeof Notification<`u`&&A(Notification.permission);let e=typeof window<`u`&&`serviceWorker`in navigator&&`PushManager`in window&&`Notification`in window;N(e),(async()=>{if(!e){F(!1);return}try{let e=await navigator.serviceWorker.getRegistration();if(!e){F(!1);return}let t=await e.pushManager.getSubscription();F(!!t)}catch{F(!1)}})()},[i]);let R=async n=>{if(t){o(n);return}if(!i){o(n);return}if(n&&typeof Notification<`u`&&Notification.permission==="default")try{let t=await Notification.requestPermission();A(t),t===`granted`?o(!0):Y.error(e(`settings.notifications.page.toast.permissionDenied.title`),{description:e(`settings.notifications.page.toast.permissionDenied.description`)})}catch(t){console.error(`Failed to request notification permission:`,t),Y.error(e(`settings.notifications.page.toast.requestPermissionFailed`))}else o(!!(n&&k===`granted`))},z=t||n||r||i&&typeof Notification<`u`&&Notification.permission===`granted`,B=(e,t,n)=>{O({...E,[e]:{...E[e],[t]:n}})},V=e=>{let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e+=1)r[e]=n.charCodeAt(e);return r},H=async(e,t,n)=>{let r=null,i=new Promise((e,i)=>{r=setTimeout(()=>{i(Error(n))},t)});try{return await Promise.race([e,i])}finally{r&&clearTimeout(r)}},U=async e=>{if(e.active)return;let t=e.installing||e.waiting;t&&t.state!==`activated`&&await H(new Promise(e=>{let n=()=>{t.state===`activated`&&(t.removeEventListener(`statechange`,n),e())};t.addEventListener(`statechange`,n),n()}),15e3,`Service worker activation timed out`)},W=async()=>{if(typeof navigator.serviceWorker.register!=`function`)throw Error(`navigator.serviceWorker.register unavailable`);let e=[{label:`no-options`,opts:null},{label:`scope-root`,opts:{scope:`/`}},{label:`type-classic`,opts:{type:`classic`}},{label:`type-classic-scope`,opts:{type:`classic`,scope:`/`}},{label:`updateViaCache-none`,opts:{type:`classic`,updateViaCache:`none`,scope:`/`}}],t=null;for(let n of e)try{let e=n.opts?navigator.serviceWorker.register(`/sw.js`,n.opts):navigator.serviceWorker.register(`/sw.js`);return await H(e,1e4,`Service worker registration timed out (${n.label})`)}catch(e){t=e}throw t instanceof Error?t:Error(`Service worker registration failed`)},ee=async()=>{if(!(`serviceWorker`in navigator))throw Error(`Service worker not supported`);let e=await navigator.serviceWorker.getRegistration();if(e)return e;let t=await W();try{await t.update()}catch{}return await U(t),t},G=e=>{let t=e,n=[`type=${typeof e}`,`toString=${String(e)}`,`name=${String(t?.name??``)}`,`message=${String(t?.message??``)}`],r=``;try{r=JSON.stringify(e)}catch{}return{summary:n.filter(Boolean).join(` | `),json:r,stack:typeof t?.stack==`string`?t.stack:``}},te=async()=>{let t=h();if(!t?.notifications){Y.error(e(`settings.notifications.page.toast.notificationsApiUnavailable`));return}try{await t.notifications.notifyAgentCompletion({title:e(`settings.notifications.page.testNotification.title`),body:e(`settings.notifications.page.testNotification.body`),tag:`openchamber-test`})?Y.success(e(`settings.notifications.page.toast.testNotificationSent`)):Y.error(e(`settings.notifications.page.toast.testNotificationFailed`))}catch(t){console.error(`Test notification failed:`,t),Y.error(e(`settings.notifications.page.toast.testNotificationFailed`))}},ne=async()=>{if(!M){Y.error(e(`settings.notifications.page.toast.pushUnsupported`));return}let t=h();if(!t?.push){Y.error(e(`settings.notifications.page.toast.pushApiUnavailable`));return}L(!0);try{if(typeof Notification<`u`&&Notification.permission==="default"){let t=await Notification.requestPermission();if(A(t),t!==`granted`){Y.error(e(`settings.notifications.page.toast.permissionDenied.title`),{description:e(`settings.notifications.page.toast.permissionDenied.enableInBrowser`)});return}}if(typeof Notification<`u`&&Notification.permission!==`granted`){Y.error(e(`settings.notifications.page.toast.permissionDenied.title`),{description:e(`settings.notifications.page.toast.permissionDenied.enableInBrowser`)});return}let n=await t.push.getVapidPublicKey();if(!n?.publicKey){Y.error(e(`settings.notifications.page.toast.pushKeyLoadFailed`));return}let r=await ee();await U(r);let i=await r.pushManager.getSubscription();if(!(`pushManager`in r)||!r.pushManager)throw Error(`PushManager unavailable (requires installed PWA + iOS 16.4+)`);let a=(i??await H(r.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:V(n.publicKey)}),15e3,`Push subscription timed out`)).toJSON(),o=a.keys;if(!a.endpoint||!o?.p256dh||!o.auth)throw Error(`Push subscription missing keys`);if(!(await H(t.push.subscribe({endpoint:a.endpoint,keys:{p256dh:o.p256dh,auth:o.auth},origin:typeof window<`u`?window.location.origin:void 0,platform:ge()}),15e3,`Push subscribe request timed out`))?.ok){Y.error(e(`settings.notifications.page.toast.enableBackgroundFailed`));return}F(!0),Y.success(e(`settings.notifications.page.toast.backgroundEnabled`))}catch(t){console.error(`[Push] Enable failed:`,t);let n=G(t);Y.error(e(`settings.notifications.page.toast.enableBackgroundFailed`),{description:n.summary})}finally{L(!1)}},re=async()=>{if(!M){F(!1);return}let t=h();if(!t?.push){Y.error(e(`settings.notifications.page.toast.pushApiUnavailable`));return}L(!0);try{let n=await(await ee()).pushManager.getSubscription();if(!n){F(!1);return}let r=n.endpoint;await n.unsubscribe(),await t.push.unsubscribe({endpoint:r}),F(!1),Y.success(e(`settings.notifications.page.toast.backgroundDisabled`))}finally{L(!1)}},ie=i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`block`,children:e(`settings.notifications.page.delivery.browserPermissionHint`)}),k===`denied`?(0,$.jsx)(`span`,{className:`mt-1 block text-[var(--status-error)]`,children:e(`settings.notifications.page.delivery.permissionDenied`)}):null,k===`granted`&&!a?(0,$.jsx)(`span`,{className:`mt-1 block`,children:e(`settings.notifications.page.delivery.permissionGrantedButDisabled`)}):null]}):n?e(`settings.notifications.page.delivery.vscodeHint`):void 0;return(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[(0,$.jsxs)(Jr,{label:e(`settings.notifications.page.delivery.title`),description:ie,className:`oc-settings-detail-group`,children:[(0,$.jsx)(Zr,{itemId:`notifications.delivery`,checked:a&&z,onChange:e=>{R(e)},label:e(`settings.notifications.page.delivery.enableLabel`),ariaLabel:e(`settings.notifications.page.delivery.enableAria`)}),a&&z&&!r?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Zr,{checked:s===`always`,onChange:e=>c(e?`always`:`hidden-only`),label:e(`settings.notifications.page.delivery.focusedLabel`),ariaLabel:e(`settings.notifications.page.delivery.focusedAria`)}),(0,$.jsx)(`div`,{className:`oc-settings-group-row flex items-center`,children:(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>void te(),children:e(`settings.notifications.page.delivery.testAction`)})})]}):null]}),a&&z?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Jr,{label:e(`settings.notifications.page.events.title`),className:`oc-settings-detail-group`,children:[(0,$.jsx)(Zr,{itemId:`notifications.events`,checked:d,onChange:f,label:e(`settings.notifications.page.events.completionLabel`),ariaLabel:e(`settings.notifications.page.events.completionAria`)}),(0,$.jsx)(Zr,{checked:l,onChange:u,label:e(`settings.notifications.page.events.subtaskLabel`),ariaLabel:e(`settings.notifications.page.events.subtaskAria`)}),(0,$.jsx)(Zr,{checked:p,onChange:m,label:e(`settings.notifications.page.events.errorLabel`),ariaLabel:e(`settings.notifications.page.events.errorAria`)}),(0,$.jsx)(Zr,{checked:g,onChange:_,label:e(`settings.notifications.page.events.questionLabel`),ariaLabel:e(`settings.notifications.page.events.questionAria`)}),(0,$.jsx)(Zr,{checked:v,onChange:y,label:e(`settings.notifications.page.events.permissionLabel`),ariaLabel:e(`settings.notifications.page.events.permissionAria`)}),(0,$.jsx)(Zr,{checked:b,onChange:x,label:e(`settings.notifications.page.events.scheduledTasksLabel`),ariaLabel:e(`settings.notifications.page.events.scheduledTasksAria`)}),(0,$.jsx)(Zr,{checked:S,onChange:C,label:e(`settings.notifications.page.events.assistantsLabel`),ariaLabel:e(`settings.notifications.page.events.assistantsAria`)}),(0,$.jsx)(Zr,{checked:w,onChange:T,label:e(`settings.notifications.page.events.goalsLabel`),ariaLabel:e(`settings.notifications.page.events.goalsAria`)})]}),r?null:(0,$.jsx)(Jr,{label:e(`settings.notifications.page.template.title`),description:(0,$.jsxs)($.Fragment,{children:[e(`settings.notifications.page.template.variablesLabel`),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{project_name}`}),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{worktree}`}),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{branch}`}),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{session_name}`}),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{agent_name}`}),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{model_name}`}),` `,(0,$.jsx)(`code`,{className:`text-[var(--primary-base)]`,children:`{last_message}`})]}),className:`oc-settings-detail-group`,children:[`completion`,`subtask`,`error`,`question`].map(t=>(0,$.jsxs)(`div`,{className:`oc-settings-group-row`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label block font-normal text-foreground`,children:e(vm[t])}),(0,$.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-2 md:grid-cols-2 md:gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`label`,{className:`typography-micro mb-1 block text-muted-foreground`,children:e(`settings.notifications.page.template.field.title`)}),(0,$.jsx)(gn,{value:E[t].title,onChange:e=>B(t,`title`,e.target.value),className:`w-full`,placeholder:e(_m[t].titleKey)})]}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`label`,{className:`typography-micro mb-1 block text-muted-foreground`,children:e(`settings.notifications.page.template.field.message`)}),(0,$.jsx)(gn,{value:E[t].message,onChange:e=>B(t,`message`,e.target.value),className:`w-full`,placeholder:e(_m[t].messageKey)})]})]})]},t))})]}):null,i?(0,$.jsx)(Jr,{label:e(`settings.notifications.page.push.title`),className:`oc-settings-detail-group`,children:(0,$.jsxs)(`div`,{"data-settings-item":`notifications.push`,className:`oc-settings-group-row flex items-center gap-2`,children:[(0,$.jsx)(on,{checked:M?P:!1,disabled:!M||I,onChange:e=>{e?ne():re()},ariaLabel:e(`settings.notifications.page.push.enableAria`)}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,$.jsx)(`span`,{className:q(`typography-ui-label`,M?`text-foreground`:`text-muted-foreground`),children:e(`settings.notifications.page.push.enableLabel`)}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e(M?`settings.notifications.page.push.supportedHint`:`settings.notifications.page.push.unsupportedHint`)})]}),I&&(0,$.jsx)(`div`,{className:`pt-0.5 text-muted-foreground`,children:(0,$.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 rounded-full bg-current animate-busy-pulse`,"aria-label":e(`settings.notifications.page.push.loadingAria`)})})]})}):null]})},bm=e=>{if(!e)return;e.pause();let{src:t}=e;t.startsWith(`blob:`)&&URL.revokeObjectURL(t),e.removeAttribute(`src`),e.load()};function xm(e){let t=(0,Ki.c)(82),{onClose:n}=e,{t:i}=Fe(),[a,o]=(0,Q.useState)(``),[s,c]=(0,Q.useState)(!1),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l={onTranscript:o},t[0]=l):l=t[0];let u=Dr(l),d;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(d=Or(),t[1]=d):d=t[1];let f=d,p=u.status===`recording`,m=u.status===`uploading`,h=u.status===`failed`,g;t[2]!==u||t[3]!==h?(g=()=>{c(!1),o(``),h?u.discardFailedDictation():u.cancelDictation()},t[2]=u,t[3]=h,t[4]=g):g=t[4];let _=Me(g),v;t[5]!==_||t[6]!==n?(v=()=>{_(),n()},t[5]=_,t[6]=n,t[7]=v):v=t[7];let y=Me(v),b,x;t[8]===y?(b=t[9],x=t[10]):(b=()=>r(y),x=[y],t[8]=y,t[9]=b,t[10]=x),(0,Q.useEffect)(b,x);let S;t[11]===_?S=t[12]:(S=()=>{document.visibilityState===`hidden`&&_()},t[11]=_,t[12]=S),Ne(`visibilitychange`,S,document);let C=u.partialTranscript||a,w;t[13]!==u.error||t[14]!==s||t[15]!==m||t[16]!==p||t[17]!==i||t[18]!==C?(w=f?s&&!p&&!m&&!u.error&&!C?i(`settings.voice.volcengine.silence`):``:i(`settings.voice.volcengine.recordingUnsupported`),t[13]=u.error,t[14]=s,t[15]=m,t[16]=p,t[17]=i,t[18]=C,t[19]=w):w=t[19];let T=w,E=h?`chat.dictation.retry`:p?`settings.voice.volcengine.finishRecording`:m?`chat.dictation.processing`:`settings.voice.volcengine.startRecording`,D;t[20]!==i||t[21]!==E?(D=i(E),t[20]=i,t[21]=E,t[22]=D):D=t[22];let O=D,k;t[23]!==u||t[24]!==h||t[25]!==m||t[26]!==p?(k=()=>{if(!(m||!f)){if(h){u.retryFailedDictation();return}if(p){c(!0),u.confirmDictation();return}o(``),c(!1),u.startDictation()}},t[23]=u,t[24]=h,t[25]=m,t[26]=p,t[27]=k):k=t[27];let A=Me(k),j;t[28]===y?j=t[29]:(j=e=>{e||y()},t[28]=y,t[29]=j);let M;t[30]===i?M=t[31]:(M=i(`settings.voice.volcengine.asrTest`),t[30]=i,t[31]=M);let N;t[32]===M?N=t[33]:(N=(0,$.jsx)(nn,{className:`typography-ui-label font-medium`,children:M}),t[32]=M,t[33]=N);let P;t[34]===i?P=t[35]:(P=i(`settings.voice.volcengine.testHelp`),t[34]=i,t[35]=P);let F;t[36]===P?F=t[37]:(F=(0,$.jsx)(rn,{className:`sr-only`,children:P}),t[36]=P,t[37]=F);let I;t[38]!==N||t[39]!==F?(I=(0,$.jsxs)($t,{className:`items-center pt-2 text-center`,children:[N,F]}),t[38]=N,t[39]=F,t[40]=I):I=t[40];let L;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(`circle`,{cx:`72`,cy:`72`,r:`68`,stroke:`currentColor`,strokeWidth:`0.75`,opacity:`0.12`}),t[41]=L):L=t[41];let R=p&&`text-[var(--primary-base)]`,z;t[42]===R?z=t[43]:(z=q(R),t[42]=R,t[43]=z);let B=p?.5:.18,V;t[44]!==z||t[45]!==B?(V=(0,$.jsxs)(`svg`,{viewBox:`0 0 144 144`,className:`pointer-events-none absolute inset-0 size-full text-foreground`,fill:`none`,"aria-hidden":`true`,children:[L,(0,$.jsx)(`circle`,{cx:`72`,cy:`72`,r:`59`,stroke:`currentColor`,strokeWidth:`0.75`,strokeDasharray:`24 161.35`,strokeLinecap:`round`,transform:`rotate(-102 72 72)`,className:z,opacity:B})]}),t[44]=z,t[45]=B,t[46]=V):V=t[46];let H=p&&`text-[var(--primary-base)]`,U;t[47]===H?U=t[48]:(U=q(`relative size-28 max-h-full rounded-full !bg-transparent text-foreground shadow-none transition-transform duration-200 hover:scale-105 active:scale-95 motion-reduce:transform-none motion-reduce:transition-none`,H),t[47]=H,t[48]=U);let W=!f||m,ee=m||h?`refresh`:p?`stop`:`mic`,G=m&&`animate-spin motion-reduce:animate-none`,te;t[49]===G?te=t[50]:(te=q(`size-12`,G),t[49]=G,t[50]=te);let ne;t[51]!==ee||t[52]!==te?(ne=(0,$.jsx)(Z,{name:ee,className:te}),t[51]=ee,t[52]=te,t[53]=ne):ne=t[53];let re;t[54]===O?re=t[55]:(re=(0,$.jsx)(`span`,{className:`sr-only`,children:O}),t[54]=O,t[55]=re);let ie;t[56]!==A||t[57]!==O||t[58]!==p||t[59]!==U||t[60]!==W||t[61]!==ne||t[62]!==re?(ie=(0,$.jsxs)(J,{variant:`ghost`,size:`icon`,className:U,disabled:W,"aria-label":O,"aria-pressed":p,onClick:A,children:[ne,re]}),t[56]=A,t[57]=O,t[58]=p,t[59]=U,t[60]=W,t[61]=ne,t[62]=re,t[63]=ie):ie=t[63];let ae;t[64]!==V||t[65]!==ie?(ae=(0,$.jsxs)(`div`,{className:`relative flex size-36 shrink-0 items-center justify-center`,children:[V,ie]}),t[64]=V,t[65]=ie,t[66]=ae):ae=t[66];let oe;t[67]!==u.error||t[68]!==O||t[69]!==p||t[70]!==T||t[71]!==C?(oe=(0,$.jsx)(`div`,{className:`flex h-12 w-full shrink-0 items-center justify-center overflow-hidden px-2`,children:u.error?(0,$.jsx)(`p`,{role:`alert`,className:`max-h-full overflow-y-auto break-words text-center typography-meta text-[var(--status-error)]`,children:u.error}):(0,$.jsx)(`div`,{role:`log`,"aria-live":`polite`,title:C,className:`line-clamp-2 max-h-full break-words text-center typography-ui-label leading-6 text-muted-foreground`,children:C?p&&C.length>80?`…${C.slice(-80)}`:C:T||O})}),t[67]=u.error,t[68]=O,t[69]=p,t[70]=T,t[71]=C,t[72]=oe):oe=t[72];let se;t[73]!==ae||t[74]!==oe?(se=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-col items-center justify-center gap-3 overflow-y-auto pt-3`,children:[ae,oe]}),t[73]=ae,t[74]=oe,t[75]=se):se=t[75];let ce;t[76]!==I||t[77]!==se?(ce=(0,$.jsxs)(tn,{className:`h-[min(19rem,calc(100dvh-2rem))] grid-rows-[auto_minmax(0,1fr)] gap-0 overflow-hidden rounded-3xl sm:max-w-[22rem]`,children:[I,se]}),t[76]=I,t[77]=se,t[78]=ce):ce=t[78];let le;return t[79]!==j||t[80]!==ce?(le=(0,$.jsx)(an,{open:!0,onOpenChange:j,children:ce}),t[79]=j,t[80]=ce,t[81]=le):le=t[81],le}var Sm=[{value:`seed-tts-2.0`,label:`Seed TTS 2.0`},{value:`seed-icl-2.0`,label:`Seed ICL 2.0`}],Cm=[{value:`zh_female_vv_uranus_bigtts`,label:`Vivi 2.0`},{value:`zh_female_xiaohe_uranus_bigtts`,label:`小何 2.0`},{value:`zh_male_m191_uranus_bigtts`,label:`云舟 2.0`},{value:`zh_male_taocheng_uranus_bigtts`,label:`小天 2.0`},{value:`zh_male_liufei_uranus_bigtts`,label:`刘飞 2.0`},{value:`zh_female_sophie_uranus_bigtts`,label:`魅力苏菲 2.0`},{value:`zh_female_qingxinnvsheng_uranus_bigtts`,label:`清新女声 2.0`},{value:`zh_female_cancan_uranus_bigtts`,label:`知性灿灿 2.0`},{value:`zh_female_sajiaoxuemei_uranus_bigtts`,label:`撒娇学妹 2.0`},{value:`zh_female_tianmeixiaoyuan_uranus_bigtts`,label:`甜美小源 2.0`},{value:`zh_female_tianmeitaozi_uranus_bigtts`,label:`甜美桃子 2.0`},{value:`zh_female_shuangkuaisisi_uranus_bigtts`,label:`爽快思思 2.0`},{value:`zh_female_peiqi_uranus_bigtts`,label:`佩奇猪 2.0`},{value:`zh_female_linjianvhai_uranus_bigtts`,label:`邻家女孩 2.0`},{value:`zh_male_shaonianzixin_uranus_bigtts`,label:`少年梓辛 2.0`},{value:`zh_male_sunwukong_uranus_bigtts`,label:`猴哥 2.0`},{value:`zh_female_yingyujiaoxue_uranus_bigtts`,label:`Tina老师 2.0`},{value:`zh_female_kefunvsheng_uranus_bigtts`,label:`暖阳女声 2.0`},{value:`zh_female_xiaoxue_uranus_bigtts`,label:`儿童绘本 2.0`},{value:`zh_male_dayi_uranus_bigtts`,label:`大壹 2.0`},{value:`zh_female_mizai_uranus_bigtts`,label:`黑猫侦探社咪仔 2.0`},{value:`zh_female_jitangnv_uranus_bigtts`,label:`鸡汤女 2.0`},{value:`zh_female_meilinvyou_uranus_bigtts`,label:`魅力女友 2.0`},{value:`zh_female_liuchangnv_uranus_bigtts`,label:`流畅女声 2.0`},{value:`zh_male_ruyayichen_uranus_bigtts`,label:`儒雅逸辰 2.0`},{value:`en_male_tim_uranus_bigtts`,label:`Tim`},{value:`en_female_dacey_uranus_bigtts`,label:`Dacey`},{value:`en_female_stokie_uranus_bigtts`,label:`Stokie`}],wm=`$custom`,Tm=[{value:`volc.seedasr.sauc.duration`,label:`Seed ASR 2.0 · duration`},{value:`volc.seedasr.sauc.concurrent`,label:`Seed ASR 2.0 · concurrent`},{value:`volc.bigasr.sauc.duration`,label:`Big ASR 1.0 · duration`},{value:`volc.bigasr.sauc.concurrent`,label:`Big ASR 1.0 · concurrent`}];function Em(e){let t=(0,Ki.c)(42),{value:n,onChange:r,options:i,label:a,allowCustom:o,disabled:s}=e,c=o===void 0||o,l=s!==void 0&&s,{t:u}=Fe(),[d,f]=(0,Q.useState)(!1),p;if(t[0]!==i||t[1]!==n){let e;t[3]===n?e=t[4]:(e=e=>e.value===n,t[3]=n,t[4]=e),p=i.some(e),t[0]=i,t[1]=n,t[2]=p}else p=t[2];let m=p,h=c&&(d||!m),g=h?wm:n,_;t[5]===r?_=t[6]:(_=e=>{f(e===wm),e!==wm&&r(e)},t[5]=r,t[6]=_);let v;t[7]!==i||t[8]!==u?(v=(0,$.jsx)(hn,{children:e=>e===wm?u(`settings.voice.volcengine.custom`):i.find(t=>t.value===e)?.label??e}),t[7]=i,t[8]=u,t[9]=v):v=t[9];let y;t[10]!==a||t[11]!==v?(y=(0,$.jsx)(un,{className:`w-full min-w-0`,"aria-label":a,children:v}),t[10]=a,t[11]=v,t[12]=y):y=t[12];let b;t[13]===i?b=t[14]:(b=i.map(Dm),t[13]=i,t[14]=b);let x;t[15]!==c||t[16]!==m||t[17]!==n?(x=!c&&!m&&n&&(0,$.jsx)(cn,{value:n,children:n}),t[15]=c,t[16]=m,t[17]=n,t[18]=x):x=t[18];let S;t[19]!==c||t[20]!==u?(S=c&&(0,$.jsx)(cn,{value:wm,children:u(`settings.voice.volcengine.custom`)}),t[19]=c,t[20]=u,t[21]=S):S=t[21];let C;t[22]!==S||t[23]!==b||t[24]!==x?(C=(0,$.jsxs)(dn,{children:[b,x,S]}),t[22]=S,t[23]=b,t[24]=x,t[25]=C):C=t[25];let w;t[26]!==l||t[27]!==C||t[28]!==g||t[29]!==_||t[30]!==y?(w=(0,$.jsxs)(pn,{disabled:l,value:g,onValueChange:_,children:[y,C]}),t[26]=l,t[27]=C,t[28]=g,t[29]=_,t[30]=y,t[31]=w):w=t[31];let T;t[32]!==h||t[33]!==l||t[34]!==a||t[35]!==r||t[36]!==u||t[37]!==n?(T=h&&(0,$.jsx)(gn,{disabled:l,value:n,onChange:e=>r(e.target.value),"aria-label":`${a} (${u(`settings.voice.volcengine.custom`)})`}),t[32]=h,t[33]=l,t[34]=a,t[35]=r,t[36]=u,t[37]=n,t[38]=T):T=t[38];let E;return t[39]!==w||t[40]!==T?(E=(0,$.jsxs)(`div`,{className:`flex w-full min-w-0 flex-col items-end gap-2`,children:[w,T]}),t[39]=w,t[40]=T,t[41]=E):E=t[41],E}function Dm(e){return(0,$.jsx)(cn,{value:e.value,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(`span`,{className:`break-all typography-meta text-muted-foreground`,children:e.description??e.value})]})},e.value)}function Om(e){let t=(0,Ki.c)(60),{mode:n,form:r}=e,{t:i}=Fe(),a=(0,Q.useRef)(!0),o,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>(a.current=!0,()=>{a.current=!1}),s=[],t[0]=o,t[1]=s):(o=t[0],s=t[1]),(0,Q.useEffect)(o,s);let{values:c,draft:l,saving:u,edit:d,save:f}=r,{voice:p,resourceId:m,asrResourceId:h}=c,g;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g={enabled:!1},t[2]=g):g=t[2];let{speak:_,stop:v,isPlaying:y,error:b}=Wn(g),[x,S]=(0,Q.useState)(!1),C;t[3]!==y||t[4]!==n||t[5]!==f||t[6]!==u||t[7]!==_||t[8]!==v||t[9]!==i?(C=async()=>{if(n===`tts`&&y){v();return}if(u)return;let e=await f();if(!(!e||!a.current)){if(!e.configured){ke.error(i(`settings.providers.page.toast.apiKeyRequired`));return}n===`asr`?S(!0):_(i(`settings.voice.page.preview.voiceLine`,{voiceName:`OpenChamber`}))}},t[3]=y,t[4]=n,t[5]=f,t[6]=u,t[7]=_,t[8]=v,t[9]=i,t[10]=C):C=t[10];let w=C,T=`voice.volcengine-${n}-key`,E;t[11]===i?E=t[12]:(E=i(`settings.voice.page.field.apiKey`),t[11]=i,t[12]=E);let D;t[13]===i?D=t[14]:(D=i(`settings.voice.volcengine.keyHelp`),t[13]=i,t[14]=D);let O;t[15]===i?O=t[16]:(O=i(`settings.voice.volcengine.openLink`),t[15]=i,t[16]=O);let k;t[17]===O?k=t[18]:(k=(0,$.jsx)(`a`,{href:`https://console.volcengine.com/speech/new`,target:`_blank`,rel:`noreferrer`,className:`text-primary underline`,children:O}),t[17]=O,t[18]=k);let A;t[19]!==D||t[20]!==k?(A=(0,$.jsxs)($.Fragment,{children:[D,` `,k]}),t[19]=D,t[20]=k,t[21]=A):A=t[21];let j=c.configured&&l.apiKey===void 0?`••••••••`:`API Key`,M=l.apiKey??``,N;t[22]===d?N=t[23]:(N=e=>d({apiKey:e.target.value}),t[22]=d,t[23]=N);let P;t[24]===i?P=t[25]:(P=i(`settings.voice.page.field.apiKey`),t[24]=i,t[25]=P);let F;t[26]!==u||t[27]!==j||t[28]!==M||t[29]!==N||t[30]!==P?(F=(0,$.jsx)(gn,{type:`password`,autoComplete:`off`,disabled:u,placeholder:j,value:M,onChange:N,"aria-label":P}),t[26]=u,t[27]=j,t[28]=M,t[29]=N,t[30]=P,t[31]=F):F=t[31];let I;t[32]!==A||t[33]!==F||t[34]!==T||t[35]!==E?(I=(0,$.jsx)(Yr,{itemId:T,label:E,description:A,children:F}),t[32]=A,t[33]=F,t[34]=T,t[35]=E,t[36]=I):I=t[36];let L;t[37]!==d||t[38]!==b||t[39]!==y||t[40]!==n||t[41]!==m||t[42]!==u||t[43]!==i||t[44]!==w||t[45]!==p?(L=n===`tts`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{itemId:`voice.volcengine-resource`,label:i(`settings.voice.volcengine.resource`),children:(0,$.jsx)(Em,{value:m,disabled:u,onChange:e=>d({resourceId:e}),options:Sm,label:i(`settings.voice.volcengine.resource`)})}),(0,$.jsx)(Yr,{itemId:`voice.volcengine-speaker`,label:i(`settings.voice.volcengine.speaker`),children:(0,$.jsx)(Em,{value:p,disabled:u,onChange:e=>d({voice:e}),options:m===`seed-tts-2.0`?Cm:[],label:i(`settings.voice.volcengine.speaker`)},m)}),(0,$.jsxs)(Yr,{label:i(`settings.voice.page.actions.preview`),children:[(0,$.jsx)(J,{variant:`outline`,size:`sm`,disabled:!y&&u,"aria-busy":u,onClick:()=>void w(),children:i(y?`settings.voice.volcengine.stop`:`settings.voice.page.actions.preview`)}),b&&(0,$.jsx)(`span`,{role:`alert`,className:`text-[var(--status-error)]`,children:b})]})]}),t[37]=d,t[38]=b,t[39]=y,t[40]=n,t[41]=m,t[42]=u,t[43]=i,t[44]=w,t[45]=p,t[46]=L):L=t[46];let R;t[47]!==h||t[48]!==d||t[49]!==n||t[50]!==u||t[51]!==c.asrContext||t[52]!==i||t[53]!==w||t[54]!==x?(R=n===`asr`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{itemId:`voice.volcengine-asr-resource`,label:i(`settings.voice.volcengine.asrResource`),children:(0,$.jsx)(Em,{value:h,disabled:u,onChange:e=>d({asrResourceId:e}),options:Tm.map(e=>({...e,description:i(e.value.endsWith(`.duration`)?`settings.voice.volcengine.durationHelp`:`settings.voice.volcengine.concurrentHelp`)})),label:i(`settings.voice.volcengine.asrResource`),allowCustom:!1})}),(0,$.jsx)(Yr,{itemId:`voice.volcengine-asr-context`,className:`oc-settings-split-row-stacked`,label:i(`settings.voice.volcengine.asrContext`),description:i(`settings.voice.volcengine.asrContextHelp`),children:(0,$.jsx)(jr,{rows:5,maxLength:2e3,disabled:u,value:c.asrContext,onChange:e=>d({asrContext:e.target.value}),"aria-label":i(`settings.voice.volcengine.asrContext`)})}),(0,$.jsx)(Yr,{itemId:`voice.volcengine-asr-test`,label:i(`settings.voice.volcengine.asrTest`),description:i(`settings.voice.volcengine.testHelp`),children:(0,$.jsx)(J,{variant:`outline`,size:`sm`,disabled:u,"aria-busy":u,onClick:()=>void w(),children:i(`settings.voice.volcengine.asrTest`)})}),x&&(0,$.jsx)(xm,{onClose:()=>S(!1)})]}),t[47]=h,t[48]=d,t[49]=n,t[50]=u,t[51]=c.asrContext,t[52]=i,t[53]=w,t[54]=x,t[55]=R):R=t[55];let z;return t[56]!==I||t[57]!==L||t[58]!==R?(z=(0,$.jsxs)($.Fragment,{children:[I,L,R]}),t[56]=I,t[57]=L,t[58]=R,t[59]=z):z=t[59],z}function km(e){let{t}=Fe(),[n,r]=(0,Q.useState)({}),a=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>(a.current=!0,()=>{a.current=!1}),[]);let s=Te({mutationFn:({patch:e,generation:t,transport:n})=>yr(e,t,n),networkMode:`always`,retry:!1,gcTime:0}),c=async()=>{if(s.isPending)return null;let e=o(),c=n;try{let t=await s.mutateAsync({patch:n,generation:e,transport:i()});return!a.current||e!==o()?null:(r(e=>e===c?{}:Object.fromEntries(Object.entries(e).filter(([e,t])=>!Object.is(t,c[e])))),t)}catch{return a.current&&e===o()&&ke.error(t(`settings.voice.volcengine.saveFailed`)),null}finally{s.reset()}};return{values:{...e,...n},draft:n,saving:s.isPending,edit:e=>r(t=>({...t,...e})),save:c}}var Am=[{id:`parakeet-tdt-0.6b-v2-int8`,labelKey:`settings.voice.page.stt.model.parakeetV2`,badgeKey:`settings.voice.page.stt.badge.bestForEnglish`,accuracy:5,speed:5,size:`460 MB`},{id:`parakeet-tdt-0.6b-v3-int8`,labelKey:`settings.voice.page.stt.model.parakeetV3`,badgeKey:`settings.voice.page.stt.badge.bestForMultilingual`,accuracy:5,speed:4,size:`465 MB`},{id:`whisper-base-int8`,labelKey:`settings.voice.page.stt.model.whisperBase`,badgeKey:null,accuracy:3,speed:3,size:`200 MB`},{id:`whisper-tiny-int8`,labelKey:`settings.voice.page.stt.model.whisperTiny`,badgeKey:null,accuracy:2,speed:4,size:`115 MB`}],jm=e=>{let t=(0,Ki.c)(8),{value:n,label:r}=e,i=`${r}: ${n}/5`,a=`${n/5*100}%`,o;t[0]===a?o=t[1]:(o=(0,$.jsx)(`span`,{className:`h-1.5 w-12 flex-shrink-0 overflow-hidden rounded-full bg-[var(--interactive-border)]`,"aria-hidden":`true`,children:(0,$.jsx)(`span`,{className:`block h-full rounded-full bg-[var(--primary-base)]`,style:{width:a}})}),t[0]=a,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,$.jsx)(`span`,{className:`typography-ui-compact text-muted-foreground`,children:r}),t[2]=r,t[3]=s);let c;return t[4]!==i||t[5]!==o||t[6]!==s?(c=(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,title:i,children:[o,s]}),t[4]=i,t[5]=o,t[6]=s,t[7]=c):c=t[7],c},Mm=({selectedModelId:e,onSelect:t})=>{let{t:n}=Fe(),r=(0,Q.useCallback)(e=>n(e),[n]),[i,a]=(0,Q.useState)(new Map),[o,s]=(0,Q.useState)(null),c=(0,Q.useCallback)(async()=>{try{let e=await l(`/api/dictation/status`,{query:{provider:`local`}});if(!e.ok)return;let t=await e.json();Array.isArray(t?.models)&&a(new Map(t.models.map(e=>[e.id,e])))}catch{}},[]);(0,Q.useEffect)(()=>{c()},[c]);let u=Array.from(i.values()).some(e=>e.downloading);(0,Q.useEffect)(()=>{if(!u)return;let e=setInterval(()=>{c()},2e3);return()=>clearInterval(e)},[u,c]);let d=async e=>{s(e);try{await l(`/api/dictation/models/${encodeURIComponent(e)}/download`,{method:`POST`}),await c()}catch{}finally{s(null)}},f=async e=>{s(e);try{await l(`/api/dictation/models/${encodeURIComponent(e)}`,{method:`DELETE`}),await c()}catch{}finally{s(null)}};return(0,$.jsx)(`div`,{role:`radiogroup`,"aria-label":n(`settings.voice.page.field.model`),className:`mt-1 w-full min-w-0 space-y-0`,children:Am.map(a=>{let s=e===a.id,c=i.get(a.id)??null;return(0,$.jsxs)(`div`,{className:`flex w-full items-start gap-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`pt-0.5`,children:(0,$.jsx)(ec,{checked:s,onChange:()=>t(a.id),ariaLabel:r(a.labelKey)})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 cursor-pointer`,role:`button`,tabIndex:0,onClick:()=>t(a.id),onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),t(a.id))},children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-0.5`,children:[(0,$.jsx)(`span`,{className:q(`typography-ui-label font-normal`,s?`text-foreground`:`text-foreground/50`),children:r(a.labelKey)}),a.badgeKey?(0,$.jsx)(`span`,{className:`rounded px-1 text-[9px] font-medium uppercase leading-[14px] tracking-wide`,style:{backgroundColor:`var(--status-success-background)`,color:`var(--status-success)`,border:`1px solid var(--status-success-border)`},children:r(a.badgeKey)}):null]}),(0,$.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-4 gap-y-0.5`,children:[(0,$.jsx)(jm,{value:a.accuracy,label:n(`settings.voice.page.stt.meta.accuracy`)}),(0,$.jsx)(jm,{value:a.speed,label:n(`settings.voice.page.stt.meta.speed`)}),(0,$.jsx)(`span`,{className:`typography-ui-compact tabular-nums text-muted-foreground`,children:a.size})]}),c?.downloadError?(0,$.jsx)(`p`,{className:`mt-0.5 typography-meta text-[var(--status-error)]`,children:c.downloadError}):null]}),(0,$.jsx)(`div`,{className:`flex w-14 flex-shrink-0 items-center justify-end gap-1 pt-0.5`,children:c?.installed?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`h-6 w-6 p-0 text-muted-foreground hover:text-[var(--status-error)]`,disabled:o===a.id,onClick:()=>{f(a.id)},title:n(`settings.voice.page.stt.modelDelete`),"aria-label":n(`settings.voice.page.stt.modelDelete`),children:(0,$.jsx)(Z,{name:`delete-bin`,className:`h-4 w-4`})}),(0,$.jsx)(Z,{name:`checkbox-circle`,className:`h-4 w-4 flex-shrink-0 text-[var(--status-success)]`,"aria-label":n(`settings.voice.page.stt.modelInstalled`)})]}):c?.downloading?(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground`}),(0,$.jsx)(`span`,{className:`typography-ui-compact tabular-nums text-muted-foreground`,children:typeof c.downloadProgress==`number`?`${c.downloadProgress}%`:``})]}):(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`h-6 w-6 p-0`,disabled:o===a.id,onClick:()=>{d(a.id)},title:n(`settings.voice.page.stt.modelDownload`),"aria-label":n(`settings.voice.page.stt.modelDownload`),children:(0,$.jsx)(Z,{name:`download`,className:`h-4 w-4`})})})]},a.id)})})},Nm=[{id:0,label:`Alloy (af)`},{id:1,label:`Bella (af)`},{id:2,label:`Nicole (af)`},{id:3,label:`Sarah (af)`},{id:4,label:`Sky (af)`},{id:5,label:`Adam (am)`},{id:6,label:`Michael (am)`},{id:7,label:`Emma (bf)`},{id:8,label:`Isabella (bf)`},{id:9,label:`George (bm)`},{id:10,label:`Lewis (bm)`}],Pm=`kokoro-en-v0_19`,Fm=()=>{let{t:e}=Fe(),[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(!1),a=(0,Q.useCallback)(async()=>{try{let e=await l(`/api/dictation/status`,{query:{provider:`local`}});if(!e.ok)return;let t=await e.json(),r=Array.isArray(t?.ttsModels)?t.ttsModels.find(e=>e.id===Pm):null;r&&n(r)}catch{}},[]);(0,Q.useEffect)(()=>{a()},[a]),(0,Q.useEffect)(()=>{if(!t?.downloading)return;let e=setInterval(()=>{a()},2e3);return()=>clearInterval(e)},[t?.downloading,a]);let o=async e=>{i(!0);try{await l(e===`POST`?`/api/dictation/models/${Pm}/download`:`/api/dictation/models/${Pm}`,{method:e}),await a()}catch{}finally{i(!1)}};return t?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 py-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:`Kokoro`}),(0,$.jsx)(`span`,{className:`typography-ui-compact tabular-nums text-muted-foreground`,children:`305 MB`}),t.installed?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`checkbox-circle`,className:`h-4 w-4 text-[var(--status-success)]`,"aria-label":e(`settings.voice.page.stt.modelInstalled`)}),(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`h-6 w-6 p-0 text-muted-foreground hover:text-[var(--status-error)]`,disabled:r,onClick:()=>{o(`DELETE`)},title:e(`settings.voice.page.stt.modelDelete`),"aria-label":e(`settings.voice.page.stt.modelDelete`),children:(0,$.jsx)(Z,{name:`delete-bin`,className:`h-4 w-4`})})]}):t.downloading?(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`h-3.5 w-3.5 animate-spin text-muted-foreground`}),(0,$.jsx)(`span`,{className:`typography-ui-compact tabular-nums text-muted-foreground`,children:typeof t.downloadProgress==`number`?`${t.downloadProgress}%`:``})]}):(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`h-6 w-6 p-0`,disabled:r,onClick:()=>{o(`POST`)},title:e(`settings.voice.page.stt.modelDownload`),"aria-label":e(`settings.voice.page.stt.modelDownload`),children:(0,$.jsx)(Z,{name:`download`,className:`h-4 w-4`})}),t.downloadError?(0,$.jsx)(`span`,{className:`typography-meta text-[var(--status-error)]`,children:t.downloadError}):null]}):null},Im=[{value:`alloy`,label:`Alloy`},{value:`ash`,label:`Ash`},{value:`ballad`,label:`Ballad`},{value:`coral`,label:`Coral`},{value:`echo`,label:`Echo`},{value:`fable`,label:`Fable`},{value:`nova`,label:`Nova`},{value:`onyx`,label:`Onyx`},{value:`sage`,label:`Sage`},{value:`shimmer`,label:`Shimmer`},{value:`verse`,label:`Verse`},{value:`marin`,label:`Marin`},{value:`cedar`,label:`Cedar`}],Lm=()=>{let e=(0,Ki.c)(2),t=(0,Q.useSyncExternalStore)(r,o,o),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(Rm,{},t),e[0]=t,e[1]=n),n};function Rm(){let e=(0,Ki.c)(8),{t}=Fe(),n=hr(),r;e[0]!==n||e[1]!==t?(r=n.isError&&(0,$.jsx)(Yr,{label:t(`settings.voice.volcengine.loadFailed`),children:(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:()=>void n.refetch(),children:t(`settings.voice.volcengine.retry`)})}),e[0]=n,e[1]=t,e[2]=r):r=e[2];let i=n.data??Et,a;e[3]===i?a=e[4]:(a=(0,$.jsx)(zm,{settings:i}),e[3]=i,e[4]=a);let o;return e[5]!==r||e[6]!==a?(o=(0,$.jsxs)($.Fragment,{children:[r,a]}),e[5]=r,e[6]=a,e[7]=o):o=e[7],o}var zm=({settings:e})=>{let{t}=Fe(),{isMobile:n}=Tr(),r=km(e),i=km(e),{voiceProvider:a,speechRate:o,speechPitch:s,speechVolume:c,sayVoice:u,localTtsVoiceId:d,browserVoice:f,openaiVoice:p,openaiApiKey:m,openaiCompatibleUrl:h,openaiCompatibleApiKey:g,openaiCompatibleVoice:_,openaiCompatibleTtsModel:v,showMessageTTSButtons:y,ttsInputMode:b}=r.values,{sttProvider:x,sttServerUrl:S,sttApiKey:C,sttModel:w,sttLocalModel:T,sttLanguage:E,dictationEnabled:D}=i.values,O=e=>r.edit({voiceProvider:e}),k=e=>r.edit({speechRate:e}),A=e=>r.edit({speechPitch:e}),j=e=>r.edit({speechVolume:e}),M=e=>r.edit({sayVoice:e}),N=e=>r.edit({localTtsVoiceId:e}),P=e=>r.edit({browserVoice:e}),F=e=>r.edit({openaiVoice:e}),I=e=>r.edit({openaiApiKey:e}),L=e=>r.edit({openaiCompatibleUrl:e}),R=e=>r.edit({openaiCompatibleApiKey:e}),z=e=>r.edit({openaiCompatibleVoice:e}),B=e=>r.edit({openaiCompatibleTtsModel:e}),V=e=>r.edit({ttsInputMode:e}),H=e=>r.edit({showMessageTTSButtons:e}),U=e=>i.edit({dictationEnabled:e}),W=e=>i.edit({sttProvider:e}),ee=e=>i.edit({sttServerUrl:e}),G=e=>i.edit({sttApiKey:e}),te=e=>i.edit({sttModel:e}),ne=e=>i.edit({sttLocalModel:e}),re=e=>i.edit({sttLanguage:e}),{speak:ie,stop:ae,isPlaying:oe,error:se}=Sn(),ce=Me(async()=>{if(oe){ae();return}if(!await r.save())return;let e=Nm.find(e=>e.id===d)?.label??String(d);ie(t(`settings.voice.page.preview.voiceLine`,{voiceName:e}))}),[le,ue]=(0,Q.useState)(!1),[de,fe]=(0,Q.useState)([]),[pe,me]=(0,Q.useState)(!1),[he,ge]=(0,Q.useState)(null),[_e,ve]=(0,Q.useState)(!1),[ye,K]=(0,Q.useState)(!1),[be,xe]=(0,Q.useState)(null),[Se,Ce]=(0,Q.useState)(!1),[we,Te]=(0,Q.useState)(null),[Ee,De]=(0,Q.useState)([]),[Oe,ke]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>((async()=>{let e=await Cr.waitForVoices();De(e)})(),`speechSynthesis`in window&&(window.speechSynthesis.onvoiceschanged=()=>{De(window.speechSynthesis.getVoices())}),()=>{`speechSynthesis`in window&&(window.speechSynthesis.onvoiceschanged=null)}),[]);let Ae=(0,Q.useMemo)(()=>Ee.filter(e=>e.lang).sort((e,t)=>{let n=e.lang.startsWith(`en`),r=t.lang.startsWith(`en`);if(n&&!r)return-1;if(!n&&r)return 1;let i=e.lang.localeCompare(t.lang);return i===0?e.name.localeCompare(t.name):i}),[Ee]),je=Me(async()=>{if(Oe){Cr.cancelSpeech(),ke(!1);return}if(!await r.save())return;let e=Ee.find(e=>e.name===f),n=e?.name??t(`settings.voice.page.preview.browserVoiceFallback`),i=t(`settings.voice.page.preview.voiceLine`,{voiceName:n});ke(!0);let a=new SpeechSynthesisUtterance(i);a.rate=o,a.pitch=s,a.volume=c,e&&(a.voice=e,a.lang=e.lang),a.onend=()=>ke(!1),a.onerror=()=>ke(!1),window.speechSynthesis.cancel(),window.speechSynthesis.speak(a)});(0,Q.useEffect)(()=>()=>{Oe&&Cr.cancelSpeech()},[Oe]),(0,Q.useEffect)(()=>{if(!y||a!==`openai`&&a!==`openai-compatible`){ve(m.trim().length>0||e.openaiApiKeyConfigured);return}(async()=>{try{let t=(await(await l(`/api/tts/status`)).json()).available,n=m.trim().length>0||e.openaiApiKeyConfigured;ve(t||n)}catch{ve(m.trim().length>0||e.openaiApiKeyConfigured)}})()},[m,e.openaiApiKeyConfigured,y,a]),(0,Q.useEffect)(()=>{if(!y){ue(!1),fe([]);return}l(`/api/tts/say/status`).then(e=>e.json()).then(e=>{if(ue(e.available),e.voices){let t=e.voices.filter((e,t,n)=>n.findIndex(t=>t.name===e.name)===t).sort((e,t)=>e.name.localeCompare(t.name));fe(t)}}).catch(()=>{ue(!1)})},[y]);let Ne=Me(async()=>{if(he){bm(he),ge(null),me(!1);return}if(!await r.save())return;me(!0);let e=null;try{let n=await l(`/api/tts/say/speak`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:t(`settings.voice.page.preview.voiceLine`,{voiceName:u})})});if(!n.ok)throw Error(`Preview failed`);let r=await n.blob(),i=URL.createObjectURL(r);e=new Audio(i),e.onended=()=>{bm(e),ge(null),me(!1)},e.onerror=()=>{bm(e),ge(null),me(!1)},ge(e),await e.play()}catch{bm(e),ge(null),me(!1)}});(0,Q.useEffect)(()=>()=>{bm(he)},[he]);let Pe=Me(async()=>{if(be){bm(be),xe(null),K(!1);return}if(!await r.save())return;K(!0);let e=null;try{let n=await l(`/api/tts/speak`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:t(`settings.voice.page.preview.voiceLine`,{voiceName:p})})});if(!n.ok){let e=await n.json().catch(()=>({error:`Unknown error`}));throw Error(e.error||`HTTP ${n.status}`)}let r=await n.blob(),i=URL.createObjectURL(r);e=new Audio(i),e.onended=()=>{bm(e),xe(null),K(!1)},e.onerror=()=>{bm(e),xe(null),K(!1)},xe(e),await e.play()}catch{bm(e),xe(null),K(!1)}});(0,Q.useEffect)(()=>()=>{bm(be)},[be]);let Ie=Me(async()=>{if(we){bm(we),Te(null),Ce(!1);return}if(!h.trim()||!await r.save())return;Ce(!0);let e=null;try{let n=await l(`/api/tts/speak`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:t(`settings.voice.page.preview.customServerLine`)})});if(!n.ok){let e=await n.json().catch(()=>({error:`Unknown error`}));throw Error(e.error||`HTTP ${n.status}`)}let r=await n.blob(),i=URL.createObjectURL(r);e=new Audio(i),e.onended=()=>{bm(e),Te(null),Ce(!1)},e.onerror=()=>{bm(e),Te(null),Ce(!1)},Te(e),await e.play()}catch{bm(e),Te(null),Ce(!1)}});(0,Q.useEffect)(()=>()=>{bm(we)},[we]);let Le=`flex-1 min-w-0 h-1.5 bg-[var(--interactive-border)] rounded-full appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-[var(--primary-base)] [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-[var(--primary-base)] [&::-moz-range-thumb]:border-0 disabled:opacity-50`;return(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[(0,$.jsx)(`div`,{className:`space-y-1`,children:(0,$.jsx)(`h2`,{className:`typography-ui-header font-semibold text-foreground`,children:t(`settings.page.voice.title`)})}),(0,$.jsx)(`div`,{"data-settings-item":`voice.playback`,children:(0,$.jsxs)(Jr,{label:t(`settings.voice.page.section.playbackAndSummary`),children:[(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.messageReadAloudButton`),children:(0,$.jsx)(on,{checked:y,onChange:H,ariaLabel:t(`settings.voice.page.field.messageReadAloudButtonAria`)})}),y&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:t(`settings.voice.page.field.provider`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:(0,$.jsxs)(`ul`,{className:`space-y-1`,children:[(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:t(`settings.voice.page.provider.browser`)}),` `,t(`settings.voice.page.tooltip.browser`)]}),(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:t(`settings.voice.page.provider.local`)}),` `,t(`settings.voice.page.tooltip.localTts`)]}),(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:`OpenAI:`}),` `,t(`settings.voice.page.tooltip.openai`)]}),(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:t(`settings.voice.page.provider.custom`)}),` `,t(`settings.voice.page.tooltip.custom`)]}),(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:t(`settings.voice.page.provider.say`)}),` `,t(`settings.voice.page.tooltip.say`)]})]})})]})]}),children:(0,$.jsxs)(pn,{value:a,onValueChange:e=>{(e===`browser`||e===`local`||e===`openai`||e===`openai-compatible`||e===`volcengine`||e===`say`&&le)&&O(e)},children:[(0,$.jsx)(un,{"aria-label":t(`settings.voice.page.field.provider`),children:(0,$.jsx)(hn,{children:{browser:t(`settings.voice.page.provider.browser`),volcengine:t(`settings.voice.volcengine.providerOption`),local:t(`settings.voice.page.provider.local`),openai:`OpenAI`,"openai-compatible":t(`settings.voice.page.provider.custom`),say:t(`settings.voice.page.provider.say`)}[a]})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`browser`,children:t(`settings.voice.page.provider.browser`)}),(0,$.jsx)(cn,{value:`volcengine`,children:t(`settings.voice.volcengine.providerOption`)}),(0,$.jsx)(cn,{value:`local`,children:t(`settings.voice.page.provider.local`)}),(0,$.jsx)(cn,{value:`openai`,children:`OpenAI`}),(0,$.jsx)(cn,{value:`openai-compatible`,children:t(`settings.voice.page.provider.custom`)}),le&&(0,$.jsx)(cn,{value:`say`,children:t(`settings.voice.page.provider.say`)})]})]})}),a===`volcengine`&&(0,$.jsx)(Om,{mode:`tts`,form:r}),a===`openai`&&(0,$.jsx)(Yr,{label:(0,$.jsx)(`span`,{className:q(!_e&&`text-[var(--status-error)]`),children:t(`settings.voice.page.field.apiKey`)}),description:(0,$.jsx)(`span`,{className:q(!_e&&`text-[var(--status-error)]/80`),children:t(_e&&!m?`settings.voice.page.field.apiKeyHintUsingConfig`:_e?`settings.voice.page.field.apiKeyHintProvide`:`settings.voice.page.field.apiKeyHintRequired`)}),children:(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(gn,{type:`password`,value:m,onChange:e=>I(e.target.value),placeholder:e.openaiApiKeyConfigured&&r.draft.openaiApiKey===void 0?`••••••••`:`sk-...`,className:`w-full pr-8`}),m&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>I(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Z,{name:`close`,className:`w-3.5 h-3.5`})})]})}),a===`openai-compatible`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{label:(0,$.jsx)(`span`,{className:q(!h.trim()&&`text-[var(--status-error)]`),children:t(`settings.voice.page.field.serverUrl`)}),description:t(`settings.voice.page.field.serverUrlHint`),children:(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(gn,{type:`text`,value:h,onChange:e=>L(e.target.value),placeholder:`http://localhost:8880/v1`,className:`w-full pr-8`}),h&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>L(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Z,{name:`close`,className:`w-3.5 h-3.5`})})]})}),(0,$.jsx)(Yr,{label:`API Key`,description:`Optional`,children:(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(gn,{type:`password`,value:g,onChange:e=>R(e.target.value),placeholder:e.openaiCompatibleApiKeyConfigured&&r.draft.openaiCompatibleApiKey===void 0?`••••••••`:`sk-...`,className:`w-full pr-8`}),g&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>R(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Z,{name:`close`,className:`w-3.5 h-3.5`})})]})}),(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.model`),children:(0,$.jsx)(`div`,{className:`relative w-full`,children:(0,$.jsx)(gn,{type:`text`,value:v,onChange:e=>B(e.target.value),placeholder:`speaches-ai/Kokoro-82M-v1.0-ONNX`,className:`w-full`})})}),(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.voice`),description:t(`settings.voice.page.field.voiceIdentifierHint`),children:(0,$.jsxs)(`div`,{className:`flex w-full items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`relative min-w-0 flex-1`,children:(0,$.jsx)(gn,{type:`text`,value:_,onChange:e=>z(e.target.value),placeholder:`af_sky`,className:`w-full`})}),(0,$.jsx)(J,{size:`xs`,variant:`ghost`,onClick:Ie,title:t(`settings.voice.page.actions.preview`),disabled:!h.trim(),children:Se?(0,$.jsx)(Z,{name:`stop`,className:`w-3.5 h-3.5`}):(0,$.jsx)(Z,{name:`play`,className:`w-3.5 h-3.5`})})]})})]}),a===`local`&&(0,$.jsx)(Fm,{}),a!==`volcengine`&&(0,$.jsxs)(Yr,{label:t(`settings.voice.page.field.voice`),children:[a===`local`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(pn,{value:String(d),onValueChange:e=>N(Number.parseInt(e,10)||0),children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:t(`settings.voice.page.field.selectVoicePlaceholder`),children:e=>Nm.find(t=>String(t.id)===e)?.label??e})}),(0,$.jsx)(dn,{children:Nm.map(e=>(0,$.jsx)(cn,{value:String(e.id),children:e.label},e.id))})]}),(0,$.jsx)(J,{size:`xs`,variant:`ghost`,onClick:ce,title:t(`settings.voice.page.actions.preview`),children:oe?(0,$.jsx)(Z,{name:`stop`,className:`w-3.5 h-3.5`}):(0,$.jsx)(Z,{name:`play`,className:`w-3.5 h-3.5`})}),se?(0,$.jsx)(`span`,{className:`typography-meta text-[var(--status-error)]`,children:se}):null]}),a===`openai`&&_e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(pn,{value:p,onValueChange:F,children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:t(`settings.voice.page.field.selectVoicePlaceholder`)})}),(0,$.jsx)(dn,{children:Im.map(e=>(0,$.jsx)(cn,{value:e.value,children:e.label},e.value))})]}),(0,$.jsx)(J,{size:`xs`,variant:`ghost`,onClick:Pe,title:t(`settings.voice.page.actions.preview`),children:ye?(0,$.jsx)(Z,{name:`stop`,className:`w-3.5 h-3.5`}):(0,$.jsx)(Z,{name:`play`,className:`w-3.5 h-3.5`})})]}),a===`openai-compatible`&&(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:t(`settings.voice.page.field.configuredAbove`)}),a===`say`&&le&&de.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(pn,{value:u,onValueChange:M,children:[(0,$.jsx)(un,{className:`w-fit`,children:(0,$.jsx)(hn,{placeholder:t(`settings.voice.page.field.selectVoicePlaceholder`)})}),(0,$.jsx)(dn,{children:de.map(e=>(0,$.jsx)(cn,{value:e.name,children:e.name},e.name))})]}),(0,$.jsx)(J,{size:`xs`,variant:`ghost`,onClick:Ne,title:t(`settings.voice.page.actions.preview`),children:pe?(0,$.jsx)(Z,{name:`stop`,className:`w-3.5 h-3.5`}):(0,$.jsx)(Z,{name:`play`,className:`w-3.5 h-3.5`})})]}),a===`browser`&&Ae.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(pn,{value:f||`$auto`,onValueChange:e=>P(e===`$auto`?``:e),children:[(0,$.jsx)(un,{className:`w-fit max-w-[200px]`,children:(0,$.jsx)(hn,{placeholder:t(`settings.voice.page.field.auto`)})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`$auto`,children:t(`settings.voice.page.field.auto`)}),Ae.map(e=>(0,$.jsxs)(cn,{value:e.name,children:[e.name,` (`,e.lang,`)`]},e.name))]})]}),(0,$.jsx)(J,{size:`xs`,variant:`ghost`,onClick:je,title:t(`settings.voice.page.actions.preview`),children:Oe?(0,$.jsx)(Z,{name:`stop`,className:`w-3.5 h-3.5`}):(0,$.jsx)(Z,{name:`play`,className:`w-3.5 h-3.5`})})]})]}),(0,$.jsxs)(Yr,{label:t(`settings.voice.page.field.speechRate`),children:[!n&&(0,$.jsx)(`input`,{type:`range`,min:.5,max:2,step:.1,value:o,onChange:e=>k(Number(e.target.value)),className:Le}),(0,$.jsx)(yi,{value:o,onValueChange:k,min:.5,max:2,step:.1,className:`w-16 tabular-nums`})]}),(0,$.jsxs)(Yr,{label:t(`settings.voice.page.field.speechPitch`),children:[!n&&(0,$.jsx)(`input`,{type:`range`,min:.5,max:2,step:.1,value:s,onChange:e=>A(Number(e.target.value)),className:Le}),(0,$.jsx)(yi,{value:s,onValueChange:A,min:.5,max:2,step:.1,className:`w-16 tabular-nums`})]}),(0,$.jsxs)(Yr,{label:t(`settings.voice.page.field.speechVolume`),children:[!n&&(0,$.jsx)(`input`,{type:`range`,min:0,max:1,step:.1,value:c,onChange:e=>j(Number(e.target.value)),className:Le}),n?(0,$.jsx)(yi,{value:Math.round(c*100),onValueChange:e=>j(e/100),min:0,max:100,step:10,className:`w-16 tabular-nums`}):(0,$.jsxs)(`span`,{className:`typography-ui-label text-foreground tabular-nums min-w-[3rem] text-right`,children:[Math.round(c*100),`%`]})]}),(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.ttsInputMode`),children:(0,$.jsxs)(pn,{value:b,onValueChange:e=>{(e===`final`||e===`sanitized`||e===`raw`||e===`summarized`)&&V(e)},children:[(0,$.jsx)(un,{className:`w-fit max-w-full`,"aria-label":t(`settings.voice.page.field.ttsInputMode`),children:(0,$.jsx)(hn,{children:()=>t(b===`final`?`settings.voice.page.field.ttsInputModeFinal`:b===`raw`?`settings.voice.page.field.ttsInputModeRaw`:b===`summarized`?`settings.voice.page.field.ttsInputModeSummarized`:`settings.voice.page.field.ttsInputModeSanitized`)})}),(0,$.jsx)(dn,{children:[[`final`,`settings.voice.page.field.ttsInputModeFinal`,`settings.voice.page.field.ttsInputModeFinalDescription`],[`sanitized`,`settings.voice.page.field.ttsInputModeSanitized`,`settings.voice.page.field.ttsInputModeSanitizedDescription`],[`raw`,`settings.voice.page.field.ttsInputModeRaw`,`settings.voice.page.field.ttsInputModeRawDescription`],[`summarized`,`settings.voice.page.field.ttsInputModeSummarized`,`settings.voice.page.field.ttsInputModeSummarizedDescription`]].map(([e,n,r])=>(0,$.jsx)(cn,{value:e,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1 text-left`,children:[(0,$.jsx)(`span`,{children:t(n)}),(0,$.jsx)(`span`,{className:`max-w-64 whitespace-normal typography-meta text-muted-foreground`,children:t(r)})]})},e))})]})})]}),(0,$.jsx)(`div`,{className:`oc-settings-group-row flex justify-end`,children:(0,$.jsx)(J,{size:`sm`,"aria-busy":r.saving,onClick:()=>{r.saving||r.save()},children:t(`settings.voice.volcengine.save`)})})]})}),(0,$.jsx)(`div`,{"data-settings-item":`voice.speech-recognition`,children:(0,$.jsxs)(Jr,{label:t(`settings.voice.page.section.speechRecognition`),children:[(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.enableVoiceInput`),children:(0,$.jsx)(on,{checked:D,onChange:U,ariaLabel:t(`settings.voice.page.field.enableVoiceInputAria`)})}),D&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{children:t(`settings.voice.page.field.provider`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:(0,$.jsxs)(`ul`,{className:`space-y-1`,children:[(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:t(`settings.voice.page.provider.local`)}),` `,t(`settings.voice.page.tooltip.sttLocal`)]}),(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:t(`settings.voice.page.provider.server`)}),` `,t(`settings.voice.page.tooltip.sttServer`)]})]})})]})]}),children:(0,$.jsxs)(pn,{value:x,onValueChange:e=>{(e===`local`||e===`openai-compatible`||e===`volcengine`)&&W(e)},children:[(0,$.jsx)(un,{"aria-label":t(`settings.voice.page.field.provider`),children:(0,$.jsx)(hn,{children:{local:t(`settings.voice.page.provider.local`),volcengine:t(`settings.voice.volcengine.providerOption`),"openai-compatible":t(`settings.voice.page.provider.server`)}[x]})}),(0,$.jsxs)(dn,{children:[(0,$.jsx)(cn,{value:`local`,children:t(`settings.voice.page.provider.local`)}),(0,$.jsx)(cn,{value:`volcengine`,children:t(`settings.voice.volcengine.providerOption`)}),(0,$.jsx)(cn,{value:`openai-compatible`,children:t(`settings.voice.page.provider.server`)})]})]})}),x===`volcengine`&&(0,$.jsx)(Om,{mode:`asr`,form:i}),x===`local`&&(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.model`),className:`oc-settings-split-row-stacked`,children:(0,$.jsx)(Mm,{selectedModelId:T,onSelect:ne})}),x===`openai-compatible`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yr,{label:(0,$.jsx)(`span`,{className:q(!S.trim()&&`text-[var(--status-error)]`),children:t(`settings.voice.page.field.serverUrl`)}),description:t(`settings.voice.page.field.sttServerUrlHint`),children:(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(gn,{type:`text`,value:S,onChange:e=>ee(e.target.value),placeholder:`http://localhost:8001/v1`,className:`w-full pr-8`}),S&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>ee(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Z,{name:`close`,className:`w-3.5 h-3.5`})})]})}),(0,$.jsx)(Yr,{label:`API Key`,description:`Optional`,children:(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(gn,{type:`password`,value:C,onChange:e=>G(e.target.value),placeholder:e.sttApiKeyConfigured&&i.draft.sttApiKey===void 0?`••••••••`:`sk-...`,className:`w-full pr-8`}),C&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>G(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Z,{name:`close`,className:`w-3.5 h-3.5`})})]})}),(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.model`),children:(0,$.jsx)(`div`,{className:`relative w-full`,children:(0,$.jsx)(gn,{type:`text`,value:w,onChange:e=>te(e.target.value),placeholder:`deepdml/faster-whisper-large-v3-turbo-ct2`,className:`w-full`})})}),(0,$.jsx)(Yr,{label:t(`settings.voice.page.field.language`),description:t(`settings.voice.page.field.sttLanguageHint`),children:(0,$.jsx)(`div`,{className:`relative w-full`,children:(0,$.jsx)(gn,{type:`text`,value:E,onChange:e=>re(e.target.value),placeholder:`auto`,className:`w-full`})})})]})]}),(0,$.jsx)(`div`,{className:`oc-settings-group-row flex justify-end`,children:(0,$.jsx)(J,{size:`sm`,"aria-busy":i.saving,onClick:()=>{i.saving||i.save()},children:t(`settings.voice.volcengine.save`)})})]})})]})},Bm=e=>{let t=(0,Ki.c)(45),{className:n}=e,{t:r}=Fe(),i=Yn(),a=sr(),o;t[0]===i.data?.providers?o=t[1]:(o=i.data?.providers??[],t[0]=i.data?.providers,t[1]=o);let s=o,c=i.data?.selectedId??null,l=pr(i.data),u;t[2]!==s||t[3]!==c||t[4]!==a||t[5]!==r?(u=e=>{!s.some(t=>t.id===e)||e===c||a.mutate(e,{onError:()=>{Y.error(r(`settings.openchamber.browserProvider.toast.selectFailed`))}})},t[2]=s,t[3]=c,t[4]=a,t[5]=r,t[6]=u):u=t[6];let d=Me(u);if(!l)return null;let f;t[7]!==s||t[8]!==c?(f=s.find(e=>e.id===c)??null,t[7]=s,t[8]=c,t[9]=f):f=t[9];let p=f,m;t[10]===r?m=t[11]:(m=r(`settings.openchamber.browserProvider.label`),t[10]=r,t[11]=m);let h;t[12]===r?h=t[13]:(h=r(`settings.openchamber.browserProvider.info`),t[12]=r,t[13]=h);let g;t[14]===r?g=t[15]:(g=r(`settings.openchamber.browserProvider.aria`),t[14]=r,t[15]=g);let _=p?.id,v=a.isPending,y;t[16]===r?y=t[17]:(y=r(`settings.openchamber.browserProvider.aria`),t[16]=r,t[17]=y);let b;t[18]===r?b=t[19]:(b=r(`settings.openchamber.browserProvider.placeholder`),t[18]=r,t[19]=b);let x;t[20]!==p?.name||t[21]!==r?(x=p?.name??r(`settings.openchamber.browserProvider.placeholder`),t[20]=p?.name,t[21]=r,t[22]=x):x=t[22];let S;t[23]!==b||t[24]!==x?(S=(0,$.jsx)(hn,{placeholder:b,children:x}),t[23]=b,t[24]=x,t[25]=S):S=t[25];let C;t[26]!==S||t[27]!==y?(C=(0,$.jsx)(un,{className:`oc-settings-inline-value w-fit max-w-full`,"aria-label":y,children:S}),t[26]=S,t[27]=y,t[28]=C):C=t[28];let w;t[29]===s?w=t[30]:(w=s.map(Vm),t[29]=s,t[30]=w);let T;t[31]===w?T=t[32]:(T=(0,$.jsx)(dn,{children:w}),t[31]=w,t[32]=T);let E;t[33]!==d||t[34]!==a.isPending||t[35]!==C||t[36]!==T||t[37]!==_?(E=(0,$.jsxs)(pn,{value:_,onValueChange:d,disabled:v,children:[C,T]}),t[33]=d,t[34]=a.isPending,t[35]=C,t[36]=T,t[37]=_,t[38]=E):E=t[38];let D;return t[39]!==n||t[40]!==E||t[41]!==m||t[42]!==h||t[43]!==g?(D=(0,$.jsx)(ui,{itemId:`sessions.browser-provider`,label:m,description:h,descriptionPlacement:`outside`,groupClassName:n,ariaLabel:g,children:E}),t[39]=n,t[40]=E,t[41]=m,t[42]=h,t[43]=g,t[44]=D):D=t[44],D};function Vm(e){return(0,$.jsx)(cn,{value:e.id,children:e.name},e.id)}var Hm=()=>{let{t:e}=Fe(),[t,n]=Q.useState(``),[r,i]=Q.useState(!0),[a,o]=Q.useState(!1),s=K(e=>e.showOpenCodeUpdateNotifications),c=K(e=>e.setShowOpenCodeUpdateNotifications);Q.useEffect(()=>{let e=!1;return(async()=>{try{let t=await l(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});if(!t.ok)return;let r=await t.json().catch(()=>null);if(e||!r)return;let i=typeof r.opencodeBinary==`string`?r.opencodeBinary.trim():``;n(i)}catch{}finally{e||i(!1)}})(),()=>{e=!0}},[]);let u=Q.useCallback(async()=>{if(!(typeof window>`u`)&&j())try{let e=await z();e.success&&e.path&&e.path.trim().length>0&&n(e.path.trim())}catch{}},[]),d=Q.useCallback(async()=>{o(!0);try{let n=t.trim(),r=n.length>=2&&(n.startsWith(`"`)&&n.endsWith(`"`)||n.startsWith(`'`)&&n.endsWith(`'`))?n.slice(1,-1).trim():n;await T({opencodeBinary:r}),await ct({message:e(`settings.openchamber.opencodeCli.actions.restartingOpenCode`),mode:`projects`,scopes:[`all`]})}finally{o(!1)}},[e,t]),f=Q.useCallback(e=>{c(e),T({showOpenCodeUpdateNotifications:e})},[c]);return(0,$.jsxs)(Jr,{label:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:e(`settings.openchamber.opencodeCli.title`)}),(0,$.jsxs)(yn,{children:[(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 cursor-help text-muted-foreground/60`})}),(0,$.jsxs)(vn,{sideOffset:8,className:`max-w-xs`,children:[e(`settings.openchamber.opencodeCli.tooltipPrefix`),` `,(0,$.jsx)(`code`,{className:`font-mono text-xs`,children:`opencode`}),e(`settings.openchamber.opencodeCli.tooltipSuffix`)]})]})]}),description:(0,$.jsxs)($.Fragment,{children:[e(`settings.openchamber.opencodeCli.tipPrefix`),` `,(0,$.jsx)(`span`,{className:`font-mono`,children:`OPENCODE_BINARY`}),` `,e(`settings.openchamber.opencodeCli.tipMiddle`),` `,(0,$.jsx)(`span`,{className:`font-mono`,children:`~/.config/openchamber/settings.json`}),`.`]}),children:[(0,$.jsx)(Yr,{itemId:`sessions.opencode-binary`,label:e(`settings.openchamber.opencodeCli.field.binaryPath`),children:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center justify-end gap-2`,children:[(0,$.jsx)(gn,{value:t,onChange:e=>n(e.target.value),placeholder:e(`settings.openchamber.opencodeCli.field.binaryPathPlaceholder`),disabled:r||a,className:`h-7 min-w-0 flex-1 font-mono text-xs`}),(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`xs`,onClick:u,disabled:r||a||!j(),className:`h-7 w-7 p-0`,"aria-label":e(`settings.openchamber.opencodeCli.actions.browseAria`),title:e(`settings.openchamber.opencodeCli.actions.browse`),children:(0,$.jsx)(Z,{name:`folder`,className:`h-4 w-4`})})]})}),(0,$.jsxs)(`label`,{"data-settings-item":`sessions.opencode-update-notifications`,className:`oc-settings-group-row oc-settings-split-row cursor-pointer`,children:[(0,$.jsx)(`div`,{className:`oc-settings-split-row-copy`,children:(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.opencodeCli.field.showUpdateNotifications`)})}),(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:s,onChange:f,ariaLabel:e(`settings.openchamber.opencodeCli.field.showUpdateNotificationsAria`)})})]}),(0,$.jsx)(`div`,{className:`oc-settings-group-row flex justify-end`,children:(0,$.jsx)(J,{type:`button`,size:`xs`,onClick:d,disabled:r||a,className:`shrink-0 !font-normal`,children:e(a?`settings.common.actions.saving`:`settings.openchamber.opencodeCli.actions.saveAndReload`)})})]})},Um=[{id:`auto`,labelKey:`settings.openchamber.desktopNetwork.option.windowControlsAuto`},{id:`left`,labelKey:`settings.openchamber.desktopNetwork.option.windowControlsLeft`},{id:`right`,labelKey:`settings.openchamber.desktopNetwork.option.windowControlsRight`}],Wm=()=>{let{t:e}=Fe(),t=Q.useCallback(t=>e(t),[e]),n=j()&&S(),r=E(),i=K(e=>e.desktopWindowControlsPosition),a=K(e=>e.setDesktopWindowControlsPosition),[o,s]=Q.useState(!1),[c,l]=Q.useState(!1),[p,m]=Q.useState(!1),[h,g]=Q.useState(!1),[y,x]=Q.useState(!1),[C,w]=Q.useState(!1),[D,O]=Q.useState(!1),[k,A]=Q.useState(!1),[M,N]=Q.useState(!1),[P,F]=Q.useState(null);Q.useEffect(()=>{if(!n){s(!1);return}let e=!1;return(async()=>{let t=await _();e||(s(t?.supported===!0),l(t?.enabled===!0))})(),()=>{e=!0}},[n]),Q.useEffect(()=>{if(!n){g(!1);return}let e=!1;return(async()=>{let t=await u();e||(g(t?.supported===!0),x(t?.enabled===!0))})(),()=>{e=!0}},[n]),Q.useEffect(()=>{if(!n){O(!1);return}let e=!1;return(async()=>{let t=await b();e||(O(t?.supported===!0),A(t?.enabled===!0))})(),()=>{e=!0}},[n]);let I=Q.useCallback(e=>{a(e),T({desktopWindowControlsPosition:e})},[a]),L=Q.useCallback(async()=>{if(!o||p)return;let t=!c;l(t),m(!0),F(null);try{let n=await f(t);if(!n?.supported)throw Error(e(`settings.openchamber.desktopNetwork.error.launchAtLoginUnsupported`));l(n.enabled)}catch(n){l(!t),F(n instanceof Error?n.message:e(`settings.openchamber.desktopNetwork.error.launchAtLoginSaveFailed`))}finally{m(!1)}},[p,c,o,e]),R=Q.useCallback(async()=>{if(!h||C)return;let t=!y;x(t),w(!0),F(null);try{let n=await d(t);if(!n)throw Error(e(`settings.openchamber.desktopNetwork.error.minimizeToTraySaveFailed`));if(!n.supported)throw Error(e(`settings.openchamber.desktopNetwork.error.minimizeToTrayUnsupported`));x(n.enabled)}catch(n){x(!t),F(n instanceof Error?n.message:e(`settings.openchamber.desktopNetwork.error.minimizeToTraySaveFailed`))}finally{w(!1)}},[C,y,h,e]),z=Q.useCallback(async()=>{if(!D||M)return;let t=!k;A(t),N(!0),F(null);try{let n=await v(t);if(!n?.supported)throw Error(e(`settings.openchamber.desktopNetwork.error.keepAwakeUnsupported`));A(n.enabled)}catch(n){A(!t),F(n instanceof Error?n.message:e(`settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed`))}finally{N(!1)}},[M,k,D,e]);return!n&&!r?null:(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[r?(0,$.jsx)(Jr,{label:e(`settings.openchamber.desktopNetwork.field.windowControlsPosition`),children:(0,$.jsx)(Yr,{itemId:`sessions.desktop-window-controls-position`,label:e(`settings.openchamber.desktopNetwork.field.windowControlsPosition`),description:e(`settings.openchamber.desktopNetwork.field.windowControlsPositionDescription`),children:(0,$.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-1`,role:`group`,"aria-label":e(`settings.openchamber.desktopNetwork.field.windowControlsPositionAria`),children:Um.map(e=>(0,$.jsx)(J,{type:`button`,variant:`chip`,size:`xs`,className:`!font-normal`,"aria-pressed":i===e.id,onClick:()=>I(e.id),children:t(e.labelKey)},e.id))})})}):null,!n||!(o||h||D||P)?null:(0,$.jsxs)(Jr,{label:e(`settings.openchamber.desktopNetwork.title`),children:[o?(0,$.jsxs)(`div`,{"data-settings-item":`sessions.desktop-launch-at-login`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,onClick:L,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),L())},children:[(0,$.jsxs)(`div`,{className:`oc-settings-split-row-copy`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.desktopNetwork.field.launchAtLogin`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:e(`settings.openchamber.desktopNetwork.field.launchAtLoginDescription`)})]}),(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:c,onChange:L,ariaLabel:e(`settings.openchamber.desktopNetwork.field.launchAtLoginAria`),disabled:p})})]}):null,h?(0,$.jsxs)(`div`,{"data-settings-item":`sessions.desktop-minimize-to-tray`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,onClick:R,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),R())},children:[(0,$.jsxs)(`div`,{className:`oc-settings-split-row-copy`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.desktopNetwork.field.minimizeToTray`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:e(`settings.openchamber.desktopNetwork.field.minimizeToTrayDescription`)})]}),(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:y,onChange:R,ariaLabel:e(`settings.openchamber.desktopNetwork.field.minimizeToTrayAria`),disabled:C})})]}):null,D?(0,$.jsxs)(`div`,{"data-settings-item":`sessions.desktop-keep-awake`,className:`oc-settings-group-row oc-settings-split-row group cursor-pointer`,role:`button`,tabIndex:0,onClick:z,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),z())},children:[(0,$.jsxs)(`div`,{className:`oc-settings-split-row-copy`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:e(`settings.openchamber.desktopNetwork.field.keepAwake`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:e(`settings.openchamber.desktopNetwork.field.keepAwakeDescription`)})]}),(0,$.jsx)(`div`,{className:`oc-settings-split-row-control`,children:(0,$.jsx)(on,{checked:k,onChange:z,ariaLabel:e(`settings.openchamber.desktopNetwork.field.keepAwakeAria`),disabled:M})})]}):null,P?(0,$.jsx)(`div`,{className:`oc-settings-group-row typography-meta text-[var(--status-error)]`,children:P}):null]})]})},Gm=new Set([`shift`,`control`,`alt`,`meta`]),Km=e=>{if(Gm.has(e.key.toLowerCase()))return null;let t=[];(e.metaKey||e.ctrlKey)&&t.push(`mod`),e.shiftKey&&t.push(`shift`),e.altKey&&t.push(`alt`);let n=Vn(e.key);return n?(t.push(n),wn(t.join(`+`))):null},qm=()=>{let e=(0,Ki.c)(59),{t}=Fe(),n;e[0]===t?n=e[1]:(n=e=>t(e),e[0]=t,e[1]=n);let r=n,i=K(Jm),a=K(Ym),o=K(Xm),s=K(Zm),c;if(e[2]===Symbol.for(`react.memo_cache_sentinel`)){bb0:{let e=$n();if(!D()){c=e;break bb0}c=e.filter(Qm)}e[2]=c}else c=e[2];let l=c,u;e[3]===r?u=e[4]:(u=(e,t)=>{let n=`settings.openchamber.keyboardShortcuts.action.${e}.label`,i=r(n);return i===n?t:i},e[3]=r,e[4]=u);let d=u,[f,p]=Q.useState(null),m;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(m={},e[5]=m):m=e[5];let[h,g]=Q.useState(m),[_,v]=Q.useState(``),[y,b]=Q.useState(``),[x,S]=Q.useState(null),C=$m,w;e[6]===i?w=e[7]:(w=(e,t)=>{let n=wn(t);for(let t of l){if(t.id===e)continue;let r=qn(t.id,i);if(wn(r)===n)return t.id}return null},e[6]=i,e[7]=w);let T=w,E;e[8]!==T||e[9]!==a||e[10]!==i||e[11]!==t?(E=(e,n)=>{let r=wn(n),o=T(e,r);if(o){S({actionId:e,combo:r,conflictActionId:o}),v(``);return}let s={...i,[e]:r};a(e,r),C(s),S(null),v(``),b(Sr(r)?t(`settings.openchamber.keyboardShortcuts.warning.riskyBrowserShortcut`):``),g(t=>{let n={...t};return delete n[e],n})},e[8]=T,e[9]=a,e[10]=i,e[11]=t,e[12]=E):E=e[12];let O=E,k;e[13]!==x||e[14]!==a||e[15]!==i||e[16]!==t?(k=()=>{if(!x)return;let e={...i,[x.conflictActionId]:Qn,[x.actionId]:x.combo};a(x.conflictActionId,Qn),a(x.actionId,x.combo),C(e),S(null),v(``),b(Sr(x.combo)?t(`settings.openchamber.keyboardShortcuts.warning.riskyBrowserShortcut`):``),g(e=>{let t={...e};return delete t[x.actionId],t})},e[13]=x,e[14]=a,e[15]=i,e[16]=t,e[17]=k):k=e[17];let A=k,j;e[18]!==o||e[19]!==i?(j=e=>{let t={...i};delete t[e],o(e),C(t),g(t=>{let n={...t};return delete n[e],n}),S(null),v(``),b(``)},e[18]=o,e[19]=i,e[20]=j):j=e[20];let M=j,N;e[21]===t?N=e[22]:(N=t(`settings.openchamber.keyboardShortcuts.title`),e[21]=t,e[22]=N);let P;e[23]===N?P=e[24]:(P=(0,$.jsx)(`span`,{children:N}),e[23]=N,e[24]=P);let F;e[25]===s?F=e[26]:(F=()=>{s(),C({}),g({}),S(null),v(``),b(``)},e[25]=s,e[26]=F);let I;e[27]===t?I=e[28]:(I=t(`settings.openchamber.keyboardShortcuts.actions.resetAll`),e[27]=t,e[28]=I);let L;e[29]!==F||e[30]!==I?(L=(0,$.jsx)(J,{type:`button`,variant:`outline`,size:`xs`,className:`!font-normal`,onClick:F,children:I}),e[29]=F,e[30]=I,e[31]=L):L=e[31];let R;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsx)(Z,{name:`information`,className:`h-3.5 w-3.5 text-muted-foreground/60 cursor-help`})}),e[32]=R):R=e[32];let z;e[33]===t?z=e[34]:(z=t(`settings.openchamber.keyboardShortcuts.tooltip`),e[33]=t,e[34]=z);let B;e[35]===z?B=e[36]:(B=(0,$.jsxs)(yn,{children:[R,(0,$.jsx)(vn,{sideOffset:8,className:`max-w-xs`,children:z})]}),e[35]=z,e[36]=B);let V;e[37]!==L||e[38]!==B||e[39]!==P?(V=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[P,L,B]}),e[37]=L,e[38]=B,e[39]=P,e[40]=V):V=e[40];let H;e[41]!==A||e[42]!==_||e[43]!==x||e[44]!==t||e[45]!==y?(H=(_||y||x)&&(0,$.jsxs)(`div`,{className:`mb-2 space-y-2 px-1`,children:[x&&(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--status-warning-border)] bg-[var(--status-warning-background)] p-3 flex flex-col sm:flex-row sm:items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`typography-meta text-foreground`,children:t(`settings.openchamber.keyboardShortcuts.overwritePrompt`)}),(0,$.jsxs)(`div`,{className:`flex gap-2 shrink-0`,children:[(0,$.jsx)(J,{type:`button`,size:`xs`,className:`!font-normal`,onClick:A,children:t(`settings.openchamber.keyboardShortcuts.actions.overwrite`)}),(0,$.jsx)(J,{type:`button`,size:`xs`,className:`!font-normal`,variant:`ghost`,onClick:()=>S(null),children:t(`settings.common.actions.cancel`)})]})]}),_&&(0,$.jsx)(`div`,{className:`rounded-lg border border-[var(--status-error-border)] bg-[var(--status-error-background)] p-3 typography-meta text-foreground`,children:_}),y&&(0,$.jsx)(`div`,{className:`rounded-lg border border-[var(--status-warning-border)] bg-[var(--status-warning-background)] p-3 typography-meta text-foreground`,children:y})]}),e[41]=A,e[42]=_,e[43]=x,e[44]=t,e[45]=y,e[46]=H):H=e[46];let U;e[47]!==d||e[48]!==f||e[49]!==h||e[50]!==M||e[51]!==O||e[52]!==i||e[53]!==t?(U=l.map(e=>{let n=qn(e.id,i),r=h[e.id],a=r??n,o=typeof r==`string`&&wn(r)!==wn(n);return(0,$.jsxs)(Yr,{label:d(e.id,e.label),children:[(0,$.jsx)(gn,{readOnly:!0,value:f===e.id?t(`settings.openchamber.keyboardShortcuts.field.pressKeys`):er(a),onFocus:()=>{p(e.id),v(``)},onBlur:()=>{f===e.id&&p(null)},onKeyDown:t=>{if(t.preventDefault(),t.stopPropagation(),t.key===`Escape`){p(null);return}let n=Km(t);n&&(g(t=>({...t,[e.id]:n})),p(null),S(null),v(``))},className:`w-40 min-w-0 typography-ui-label text-right`}),(0,$.jsx)(J,{type:`button`,variant:`secondary`,size:`xs`,className:`!font-normal`,onClick:()=>{let n=h[e.id];if(!n){v(t(`settings.openchamber.keyboardShortcuts.error.captureFirst`));return}O(e.id,n)},disabled:!o,children:t(`settings.common.actions.saveChanges`)}),(0,$.jsx)(J,{type:`button`,size:`xs`,className:`!font-normal`,variant:`ghost`,onClick:()=>M(e.id),children:t(`settings.common.actions.reset`)})]},e.id)}),e[47]=d,e[48]=f,e[49]=h,e[50]=M,e[51]=O,e[52]=i,e[53]=t,e[54]=U):U=e[54];let W;return e[55]!==V||e[56]!==H||e[57]!==U?(W=(0,$.jsxs)(Jr,{itemId:`shortcuts.keyboard-shortcuts`,label:V,children:[H,U]}),e[55]=V,e[56]=H,e[57]=U,e[58]=W):W=e[58],W};function Jm(e){return e.shortcutOverrides}function Ym(e){return e.setShortcutOverride}function Xm(e){return e.clearShortcutOverride}function Zm(e){return e.resetAllShortcutOverrides}function Qm(e){return e.id!==`toggle_prompt_navigator`}function $m(e){T({shortcutOverrides:e})}var eh=()=>{let e=(0,Ki.c)(2),[t,n]=Q.useState(0),i,a;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>r(()=>n(uh)),a=[],e[0]=i,e[1]=a):(i=e[0],a=e[1]),Q.useEffect(i,a),t},th=e=>{let t=(0,Ki.c)(25),{section:n,flowMobile:r}=e,i=r!==void 0&&r,{isMobile:a}=Tr();eh();let o;t[0]===a?o=t[1]:(o=a&&L(),t[0]=a,t[1]=o);let s=o,c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=D(),t[2]=c):c=t[2];let l=c,u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=j()&&(S()||E()),t[3]=u):u=t[3];let d=u;if(!n){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Xp,{}),t[4]=e):e=t[4];let n;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(dm,{})}),t[5]=n):n=t[5];let r,i,a,o;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(gm,{})}),a=d&&(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(Wm,{})}),o=!l&&(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(Hm,{})}),r=(0,$.jsx)(Bm,{className:`oc-settings-page-section`}),t[6]=r,t[7]=i,t[8]=a,t[9]=o):(r=t[6],i=t[7],a=t[8],o=t[9]);let c;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(tm,{})}),t[10]=c):c=t[10];let u;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(lm,{})}),t[11]=u):u=t[11];let f;t[12]===s?f=t[13]:(f=s&&(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(ta,{})}),t[12]=s,t[13]=f);let p;return t[14]===f?p=t[15]:(p=(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`w-full`,children:(0,$.jsxs)(`div`,{className:`oc-settings-page-content openchamber-page-body mx-auto max-w-3xl p-3 sm:p-6 sm:pt-8`,children:[e,n,i,a,o,r,c,u,f]})}),t[14]=f,t[15]=p),p}let f;t[16]!==i||t[17]!==n?(f=()=>{switch(n){case`visual`:return(0,$.jsx)(rh,{mobile:i});case`chat`:return(0,$.jsx)(ih,{});case`sessions`:return(0,$.jsx)(ah,{});case`summary-ai`:return(0,$.jsx)(gm,{});case`shortcuts`:return(0,$.jsx)(nh,{});case`git`:return(0,$.jsx)(oh,{});case`github`:return(0,$.jsx)(sh,{});case`notifications`:return(0,$.jsx)(ch,{});case`voice`:return(0,$.jsx)(lh,{});default:return null}},t[16]=i,t[17]=n,t[18]=f):f=t[18];let p=f,m;t[19]===p?m=t[20]:(m=p(),t[19]=p,t[20]=m);let h;t[21]===m?h=t[22]:(h=(0,$.jsx)(`div`,{className:`oc-settings-page-content openchamber-page-body mx-auto max-w-3xl p-3 sm:p-6 sm:pt-8`,children:m}),t[21]=m,t[22]=h);let g=h;if(i)return g;let _;return t[23]===g?_=t[24]:(_=(0,$.jsx)(Ar,{outerClassName:`h-full`,className:`w-full`,children:g}),t[23]=g,t[24]=_),_},nh=()=>{let e=(0,Ki.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(qm,{}),e[0]=t):t=e[0],t},rh=e=>{let t=(0,Ki.c)(5),{mobile:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=D(),t[0]=r):r=t[0];let i=r,a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=i?[]:[`weekStart`],t[1]=a):a=t[1];let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=[`theme`,`sidebarBrand`,`pwaInstallName`,`pwaOrientation`,`mobileKeyboardMode`,`timeFormat`,...a,`iosNativeUi`,`fontSize`,`codeFontSize`,`terminalFontSize`,`editorFontSize`,`fileEditorKeymap`,`spacing`,`inputBarOffset`,`expandedEditorToolbar`,...i?[]:[`terminalQuickKeys`],`reportUsage`],t[2]=o):o=t[2];let s;return t[3]===n?s=t[4]:(s=(0,$.jsx)(Xp,{mobile:n,visibleSettings:o}),t[3]=n,t[4]=s),s},ih=()=>{let e=(0,Ki.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(Xp,{visibleSettings:[`chatRenderMode`,`messageTransport`,`diffLayout`,`followUpBehavior`,`sessionGoal`,`questionAutoDelegate`,`sessionAssist`,`subagentReadOnlyBanner`,`reasoning`,`collapsibleUserMessages`,`showAssistantTps`,`persistDraft`,`inputSpellcheck`]}),e[0]=t):t=e[0],t},ah=()=>{let e=(0,Ki.c)(8),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=D(),e[0]=t):t=e[0];let n=t;eh();let r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=j()&&(S()||E()),e[1]=r):r=e[1];let i=r,a,o,s,c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(dm,{}),o=i&&(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(Wm,{})}),s=!n&&(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(Hm,{})}),c=(0,$.jsx)(Bm,{}),e[2]=a,e[3]=o,e[4]=s,e[5]=c):(a=e[2],o=e[3],s=e[4],c=e[5]);let l;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(tm,{})}),e[6]=l):l=e[6];let u;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsxs)(`div`,{className:`oc-settings-section-stack`,children:[a,o,s,c,l,(0,$.jsx)(`div`,{className:`oc-settings-page-section`,children:(0,$.jsx)(lm,{})})]}),e[7]=u):u=e[7],u},oh=()=>{let e=(0,Ki.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{className:`oc-settings-section-stack`,children:(0,$.jsx)(Sp,{})}),e[0]=t):t=e[0],t},sh=()=>{let e=(0,Ki.c)(1);if(D())return null;let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(Cp,{}),e[0]=t):t=e[0],t},ch=()=>{let e=(0,Ki.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(ym,{}),e[0]=t):t=e[0],t},lh=()=>{let e=(0,Ki.c)(1);if(D())return null;let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(Lm,{}),e[0]=t):t=e[0],t};function uh(e){return e+1}var dh=()=>{let e=(0,Ki.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(Nl,{children:(0,$.jsx)(gi,{mode:`page`})}),e[0]=t):t=e[0],t},fh=[{id:`chat.question-auto-delegate`,page:`chat`,titleKey:`settings.chat.questionDelegate.label`,descriptionKey:`settings.chat.questionDelegate.description`,keywords:[`question`,`auto`,`delegate`,`30`,`subagent`,`托管`,`倒计时`]},{id:`instances.manage`,page:`instances`,titleKey:`mobile.settings.switchInstance`,keywords:[`instance`,`server`,`connection`,`switch`],isAvailable:e=>e.isMobile},{id:`global-config.editor`,page:`global-config`,titleKey:`settings.globalConfig.title`,descriptionKey:`settings.globalConfig.description`,keywords:[`opencode.json`,`opencode.jsonc`,`oh-my-opencode-slim`,`oh-my-openagent`,`json`,`jsonc`]},{id:`appearance.language`,page:`appearance`,titleKey:`settings.appearance.language.label`,descriptionKey:`settings.appearance.language.description`,keywords:[`locale`,`translation`,`ui language`]},{id:`appearance.time-format`,page:`appearance`,titleKey:`settings.openchamber.visual.field.timeFormat`,keywords:[`clock`,`12h`,`24h`]},{id:`appearance.week-start`,page:`appearance`,titleKey:`settings.openchamber.visual.field.weekStartsOn`,keywords:[`calendar`,`monday`,`sunday`],isAvailable:e=>!e.isVSCode},{id:`appearance.light-theme`,page:`appearance`,titleKey:`settings.openchamber.visual.field.lightTheme`,keywords:[`theme`,`color`,`light mode`],isAvailable:e=>!e.isVSCode},{id:`appearance.dark-theme`,page:`appearance`,titleKey:`settings.openchamber.visual.field.darkTheme`,keywords:[`theme`,`color`,`dark mode`],isAvailable:e=>!e.isVSCode},{id:`appearance.window-transparency`,page:`appearance`,titleKey:`settings.openchamber.visual.field.macVibrancy`,descriptionKey:`settings.openchamber.visual.field.macVibrancyHint`,keywords:[`transparent`,`transparency`,`vibrancy`,`blur`,`macos`,`opaque`],isAvailable:e=>e.isDesktopLocalOrigin},{id:`appearance.dock-badge`,page:`appearance`,titleKey:`settings.openchamber.visual.field.dockBadge`,descriptionKey:`settings.openchamber.visual.field.dockBadgeHint`,keywords:[`dock`,`badge`,`unread`,`unseen`,`counter`,`count`,`notification`,`macos`],isAvailable:e=>e.isMac},{id:`appearance.sidebar-brand`,page:`appearance`,titleKey:`settings.openchamber.visual.field.sidebarBrand`,descriptionKey:`settings.openchamber.visual.field.sidebarBrandHint`,keywords:[`logo`,`brand`,`wordmark`,`sidebar`]},{id:`appearance.pwa-install-name`,page:`appearance`,titleKey:`settings.openchamber.visual.field.installAppName`,descriptionKey:`settings.openchamber.visual.field.installAppNameHint`,keywords:[`pwa`,`installed app`],isAvailable:e=>e.isWeb&&!e.isDesktop&&!e.isVSCode},{id:`appearance.pwa-orientation`,page:`appearance`,titleKey:`settings.openchamber.visual.field.installOrientation`,descriptionKey:`settings.openchamber.visual.field.installOrientationHint`,keywords:[`pwa`,`portrait`,`landscape`],isAvailable:e=>e.isWeb&&!e.isDesktop&&!e.isVSCode},{id:`appearance.mobile-keyboard-mode`,page:`appearance`,titleKey:`settings.openchamber.visual.field.mobileKeyboardMode`,descriptionKey:`settings.openchamber.visual.field.mobileKeyboardModeHint`,keywords:[`mobile`,`keyboard`,`resize`],isAvailable:e=>e.isMobile&&e.isWeb&&!e.isDesktop&&!e.isVSCode},{id:`appearance.ios-native-ui`,page:`appearance`,titleKey:`settings.openchamber.visual.field.iosNativeUi`,descriptionKey:`settings.openchamber.visual.field.iosNativeUiHint`,keywords:[`ios`,`native`,`webview`,`composer`,`tab bar`,`live activity`],isAvailable:()=>Pr()},{id:`appearance.interface-font-size`,page:`appearance`,titleKey:`settings.openchamber.visual.field.interfaceFontSize`,keywords:[`font`,`text size`,`ui scale`]},{id:`appearance.code-font-size`,page:`appearance`,titleKey:`settings.openchamber.visual.field.codeFontSize`,keywords:[`code`,`font`,`text size`,`diff`]},{id:`appearance.terminal-font-size`,page:`appearance`,titleKey:`settings.openchamber.visual.field.terminalFontSize`,keywords:[`terminal`,`font`,`text size`]},{id:`appearance.editor-font-size`,page:`appearance`,titleKey:`settings.openchamber.visual.field.editorFontSize`,keywords:[`editor`,`font`,`text size`,`code`]},{id:`appearance.spacing-density`,page:`appearance`,titleKey:`settings.openchamber.visual.field.spacingDensity`,keywords:[`density`,`compact`,`comfortable`,`spacing`]},{id:`appearance.input-bar-offset`,page:`appearance`,titleKey:`settings.openchamber.visual.field.inputBarOffset`,descriptionKey:`settings.openchamber.visual.field.inputBarOffsetTooltip`,keywords:[`input`,`home bar`,`offset`]},{id:`appearance.expanded-editor-toolbar`,page:`appearance`,titleKey:`settings.openchamber.visual.field.expandedEditorToolbar`,keywords:[`editor`,`toolbar`,`tabs`,`docked`,`files`]},{id:`appearance.file-editor-keymap`,page:`appearance`,titleKey:`settings.openchamber.visual.field.fileEditorKeymap`,keywords:[`editor`,`vim`,`keymap`]},{id:`appearance.terminal-quick-keys`,page:`appearance`,titleKey:`settings.openchamber.visual.field.terminalQuickKeys`,descriptionKey:`settings.openchamber.visual.field.terminalQuickKeysTooltip`,keywords:[`terminal`,`keyboard`,`esc`,`ctrl`,`arrows`],isAvailable:e=>!e.isMobile&&!e.isDesktop&&!e.isVSCode},{id:`about.check-updates`,page:`about`,titleKey:`settings.openchamber.about.actions.checkForUpdates`,keywords:[`updates`,`version`,`ota`]},{id:`about.feedback`,page:`about`,titleKey:`settings.openchamber.about.actions.submitFeedback`,keywords:[`feedback`,`issues`,`bugs`,`github`]},{id:`about.beta-updates`,page:`about`,titleKey:`settings.openchamber.about.betaUpdates.label`,descriptionKey:`settings.openchamber.about.betaUpdates.description`,keywords:[`beta`,`updates`,`channel`,`ota`],isAvailable:e=>e.isDesktop||he()},{id:`about.diagnostics`,page:`about`,titleKey:`settings.openchamber.about.diagnostics.label`,keywords:[`diagnostics`,`logs`,`feat`,`transcript`,`task`]},{id:`about.export-diagnostics`,page:`about`,titleKey:`settings.openchamber.about.diagnostics.export`,keywords:[`diagnostics`,`logs`,`export`,`feat`,`transcript`,`task`],isAvailable:()=>rt()},{id:`appearance.usage-reports`,page:`appearance`,titleKey:`settings.openchamber.visual.field.sendAnonymousUsageReports`,descriptionKey:`settings.openchamber.visual.field.sendAnonymousUsageReportsHint`,keywords:[`telemetry`,`analytics`]},{id:`appearance.transcript-cache`,page:`appearance`,titleKey:`settings.openchamber.visual.transcriptCache.label`,descriptionKey:`settings.openchamber.visual.transcriptCache.description`,keywords:[`cache`,`local data`,`conversation history`,`transcript`,`privacy`]},{id:`chat.render-mode`,page:`chat`,titleKey:`settings.openchamber.visual.section.chatRenderMode`,keywords:[`messages`,`conversation`,`rendering`]},{id:`chat.message-transport`,page:`chat`,titleKey:`settings.openchamber.visual.section.messageStreamTransport`,keywords:[`streaming`,`sse`,`websocket`]},{id:`chat.session-assistance`,page:`chat`,titleKey:`settings.openchamber.visual.section.sessionAssistance`,keywords:[`title`,`assist`,`subagent`]},{id:`chat.session-title-refresh`,page:`chat`,titleKey:`settings.openchamber.visual.field.sessionTitleRefresh`,keywords:[`title`,`rename`,`refresh`,`throttle`,`small model`,`summary`]},{id:`chat.session-goal`,page:`chat`,titleKey:`settings.openchamber.visual.field.sessionGoal`,keywords:[`goal`,`objective`,`auto continue`,`small model`],isAvailable:e=>!e.isVSCode},{id:`chat.session-goal-budget`,page:`chat`,titleKey:`settings.openchamber.visual.goal.budgetLabel`,keywords:[`goal`,`budget`,`tokens`,`limit`],isAvailable:e=>!e.isVSCode},{id:`chat.reasoning-traces`,page:`chat`,titleKey:`settings.openchamber.visual.field.showReasoningTraces`,descriptionKey:`settings.openchamber.visual.field.showReasoningTracesHint`,keywords:[`thinking`,`reasoning`,`mobile`,`fetch time`]},{id:`chat.reasoning`,page:`chat`,titleKey:`settings.openchamber.visual.section.reasoning`,keywords:[`thinking`,`traces`]},{id:`chat.diff-layout`,page:`chat`,titleKey:`settings.openchamber.visual.section.diffLayout`,keywords:[`diff`,`inline`,`side by side`,`layout`],isAvailable:e=>!e.isVSCode},{id:`chat.collapsible-user-messages`,page:`chat`,titleKey:`settings.openchamber.visual.field.collapsibleUserMessages`,keywords:[`collapse`,`expand`,`clamp`,`long messages`,`user messages`]},{id:`chat.message-appearance`,page:`chat`,titleKey:`settings.openchamber.visual.section.messageAppearance`,keywords:[`layout`,`messages`,`appearance`]},{id:`chat.inline-assistant-actions`,page:`chat`,titleKey:`settings.openchamber.visual.field.showSplitAssistantMessageActions`,descriptionKey:`settings.openchamber.visual.field.showSplitAssistantMessageActionsTooltip`,keywords:[`copy`,`read aloud`],isAvailable:()=>!1},{id:`chat.assistant-tps`,page:`chat`,titleKey:`settings.openchamber.visual.field.showAssistantTps`,descriptionKey:`settings.openchamber.visual.field.showAssistantTpsTooltip`,keywords:[`tps`,`tokens`,`speed`,`rate`,`tok/s`,`throughput`]},{id:`chat.subagent-read-only-banner`,page:`chat`,titleKey:`settings.openchamber.visual.field.allowPromptingSubagentSessions`,keywords:[`subagent`,`read only`,`prompt`,`banner`]},{id:`chat.follow-up-behavior`,page:`chat`,titleKey:`settings.openchamber.visual.field.followUpBehavior`,descriptionKey:`settings.openchamber.visual.field.followUpBehaviorDescription`,keywords:[`follow up`,`queue`,`steer`,`send immediately`]},{id:`chat.persist-drafts`,page:`chat`,titleKey:`settings.openchamber.visual.field.persistDraftMessages`,keywords:[`draft`,`message`]},{id:`chat.composer`,page:`chat`,titleKey:`settings.openchamber.visual.section.composer`,keywords:[`input`,`draft`,`spellcheck`]},{id:`chat.spellcheck`,page:`chat`,titleKey:`settings.openchamber.visual.field.enableSpellcheckInTextInputs`,keywords:[`spelling`,`input`],isAvailable:e=>!e.isMobile},{id:`sessions.default-model`,page:`sessions`,titleKey:`settings.openchamber.defaults.field.defaultModel`,keywords:[`model`,`provider`,`new sessions`]},{id:`sessions.default-thinking`,page:`sessions`,titleKey:`settings.openchamber.defaults.field.defaultThinking`,keywords:[`thinking`,`reasoning`,`variant`]},{id:`sessions.default-agent`,page:`sessions`,titleKey:`settings.openchamber.defaults.field.defaultAgent`,keywords:[`agent`,`new sessions`]},{id:`sessions.browser-provider`,page:`sessions`,titleKey:`settings.openchamber.browserProvider.label`,descriptionKey:`settings.openchamber.browserProvider.info`,keywords:[`browser`,`extension`,`provider`,`live view`],isAvailable:()=>pr(_r())},{id:`sessions.deletion-dialog`,page:`sessions`,titleKey:`settings.openchamber.defaults.field.showDeletionDialog`,keywords:[`delete`,`confirmation`]},{id:`summary-ai.configuration`,page:`summary-ai`,titleKey:`settings.openchamber.defaults.summary.title`,descriptionKey:`settings.openchamber.defaults.summary.description`,keywords:[`summary`,`commit`,`session title`,`prompt`,`provider`,`custom api`,`base url`,`api token`]},{id:`summary-ai.test-connection`,page:`summary-ai`,titleKey:`settings.openchamber.defaults.summary.testConnection`,keywords:[`summary`,`connection`,`test`,`provider`,`api`]},{id:`sessions.auto-cleanup`,page:`sessions`,titleKey:`settings.openchamber.sessionRetention.field.enableAutoCleanup`,descriptionKey:`settings.openchamber.sessionRetention.tooltip`,keywords:[`retention`,`archive`,`delete`]},{id:`sessions.retention-period`,page:`sessions`,titleKey:`settings.openchamber.sessionRetention.field.retentionPeriod`,keywords:[`days`,`cleanup`,`retention`]},{id:`sessions.retention-action`,page:`sessions`,titleKey:`settings.openchamber.sessionRetention.field.whenSessionsExpire`,keywords:[`archive`,`delete`,`expire`]},{id:`archived-sessions.manage`,page:`archived-sessions`,titleKey:`settings.openchamber.archivedSessions.title`,descriptionKey:`settings.openchamber.archivedSessions.description`,keywords:[`archive`,`archived`,`restore`,`preview`,`history`]},{id:`sessions.desktop-launch-at-login`,page:`sessions`,titleKey:`settings.openchamber.desktopNetwork.field.launchAtLogin`,descriptionKey:`settings.openchamber.desktopNetwork.field.launchAtLoginDescription`,keywords:[`desktop`,`startup`,`login`],isAvailable:e=>e.isDesktopLocalOrigin},{id:`sessions.desktop-window-controls-position`,page:`sessions`,titleKey:`settings.openchamber.desktopNetwork.field.windowControlsPosition`,descriptionKey:`settings.openchamber.desktopNetwork.field.windowControlsPositionDescription`,keywords:[`desktop`,`window`,`controls`,`minimize`,`maximize`,`close`,`titlebar`,`linux`,`windows`],isAvailable:e=>e.isDesktop&&(e.isWindows||!e.isMac)},{id:`sessions.desktop-minimize-to-tray`,page:`sessions`,titleKey:`settings.openchamber.desktopNetwork.field.minimizeToTray`,descriptionKey:`settings.openchamber.desktopNetwork.field.minimizeToTrayDescription`,keywords:[`desktop`,`tray`,`system tray`,`minimize`,`close`,`background`,`windows`],isAvailable:e=>e.isDesktopLocalOrigin&&e.isWindows},{id:`sessions.desktop-keep-awake`,page:`sessions`,titleKey:`settings.openchamber.desktopNetwork.field.keepAwake`,descriptionKey:`settings.openchamber.desktopNetwork.field.keepAwakeDescription`,keywords:[`desktop`,`sleep`,`awake`,`server`,`mobile`,`phone`],isAvailable:e=>e.isDesktopLocalOrigin},{id:`remote-instances.desktop-ui-password`,page:`remote-instances`,titleKey:`settings.openchamber.desktopPassword.field.password`,descriptionKey:`settings.openchamber.desktopPassword.field.passwordDescription`,keywords:[`desktop`,`password`,`auth`,`login`],isAvailable:e=>e.isDesktopLocalOrigin},{id:`remote-instances.desktop-lan-access`,page:`remote-instances`,titleKey:`settings.openchamber.desktopNetwork.field.allowLanAccess`,descriptionKey:`settings.openchamber.desktopNetwork.field.allowLanAccessDescription`,keywords:[`desktop`,`lan`,`network`,`phone`,`tablet`],isAvailable:e=>e.isDesktopLocalOrigin},{id:`sessions.opencode-binary`,page:`sessions`,titleKey:`settings.openchamber.opencodeCli.field.binaryPath`,keywords:[`opencode`,`cli`,`binary`,`path`],isAvailable:e=>!e.isVSCode},{id:`sessions.opencode-update-notifications`,page:`sessions`,titleKey:`settings.openchamber.opencodeCli.field.showUpdateNotifications`,keywords:[`opencode`,`cli`,`updates`],isAvailable:e=>!e.isVSCode},{id:`git.github-account`,page:`git`,titleKey:`settings.github.page.actions.connect`,keywords:[`github`,`account`,`oauth`,`prs`,`issues`]},{id:`git.identities`,page:`git`,titleKey:`settings.gitIdentities.page.section.title`,descriptionKey:`settings.gitIdentities.page.empty.description`,keywords:[`identity`,`profile`,`author`,`email`,`credentials`,`signing`,`commit signing`,`ssh signing`,`gpg`]},{id:`git.changes-view`,page:`git`,titleKey:`settings.openchamber.git.changesViewTitle`,keywords:[`changes`,`flat list`,`tree view`]},{id:`git.gitmoji`,page:`git`,titleKey:`settings.openchamber.git.enableGitmoji`,keywords:[`commit`,`emoji`]},{id:`git.gitignored-files`,page:`git`,titleKey:`settings.openchamber.git.showGitignored`,keywords:[`ignored`,`files`,`gitignore`]},{id:`usage.magpie`,page:`usage`,titleKey:`settings.usage.magpie.url`,descriptionKey:`settings.usage.magpie.description`,keywords:[`magpie`,`quota`,`gateway`]},{id:`usage.header-menu`,page:`usage`,titleKey:`settings.usage.page.options.showInHeader`,descriptionKey:`settings.usage.page.options.showInHeaderTooltip`,keywords:[`quota`,`header`,`dropdown`]},{id:`usage.model-quotas`,page:`usage`,titleKey:`settings.usage.page.section.modelQuotas`,keywords:[`models`,`quota`,`limits`,`tokens`]},{id:`projects.name`,page:`projects`,titleKey:`settings.projects.page.field.projectName`,keywords:[`label`,`display name`,`project metadata`]},{id:`projects.accent-color`,page:`projects`,titleKey:`settings.projects.page.field.accentColor`,keywords:[`color`,`appearance`,`project metadata`]},{id:`projects.icon`,page:`projects`,titleKey:`settings.projects.page.field.projectIcon`,keywords:[`icon`,`favicon`,`upload`,`project metadata`]},{id:`projects.worktree`,page:`projects`,titleKey:`settings.projects.page.section.worktree`,keywords:[`worktree`,`branch`,`repository`]},{id:`projects.worktree.setup.wait`,page:`projects`,titleKey:`settings.openchamber.worktrees.setup.waitForCommands`,keywords:[`worktree`,`setup commands`,`bootstrap`,`wait`]},{id:`remote-instances.client-auth`,page:`remote-instances`,titleKey:`settings.remoteInstances.clientAuth.title`,descriptionKey:`settings.remoteInstances.clientAuth.description`,keywords:[`pairing link`,`client token`,`connect desktop`,`remote access`,`relay`,`devices`,`connect from anywhere`],isAvailable:e=>!e.isVSCode},{id:`remote-instances.instances`,page:`remote-instances`,titleKey:`settings.remoteInstances.sidebar.title`,descriptionKey:`settings.remoteInstances.sidebar.description`,keywords:[`import link`,`pairing link`,`connect link`,`ssh`,`remote instance`,`host switcher`],isAvailable:e=>e.isDesktop},{id:`behavior.system-prompt`,page:`behavior`,titleKey:`settings.behavior.page.section.systemPrompt`,descriptionKey:`settings.behavior.page.warning.title`,keywords:[`agents.md`,`global instructions`,`system prompt`]},{id:`behavior.response-style`,page:`behavior`,titleKey:`settings.behavior.page.section.responseStyle`,descriptionKey:`settings.behavior.page.responseStyle.tooltip`,keywords:[`tone`,`concise`,`detailed`,`custom instructions`]},{id:`agents.create`,page:`agents`,titleKey:`settings.agents.page.title.new`,keywords:[`create`,`add`,`new agent`]},{id:`assistants.instance-enabled`,page:`assistants`,titleKey:`assistants.settings.instanceEnabled`,descriptionKey:`assistants.settings.description`,keywords:[`assistant`,`enable`,`feature`]},{id:`assistants.create`,page:`assistants`,titleKey:`assistants.settings.create`,keywords:[`assistant`,`new`,`add`]},{id:`assistants.name`,page:`assistants`,titleKey:`assistants.settings.name`,keywords:[`assistant`,`name`]},{id:`assistants.default-share`,page:`assistants`,titleKey:`assistants.settings.defaultShare`,keywords:[`share`,`default`,`mobile`]},{id:`assistants.prompt`,page:`assistants`,titleKey:`assistants.settings.defaultPrompt`,keywords:[`prompt`,`instructions`]},{id:`assistants.model`,page:`assistants`,titleKey:`assistants.settings.model`,keywords:[`provider`,`model`]},{id:`assistants.workspace`,page:`assistants`,titleKey:`assistants.settings.workspace`,keywords:[`path`,`directory`,`workspace`]},{id:`agents.name`,page:`agents`,titleKey:`settings.agents.page.field.agentName`,keywords:[`agent`,`name`]},{id:`agents.mode`,page:`agents`,titleKey:`settings.agents.page.field.mode`,descriptionKey:`settings.agents.page.field.modeTooltip`,keywords:[`primary`,`subagent`,`visibility`]},{id:`agents.scope`,page:`agents`,titleKey:`settings.agents.page.field.scope`,keywords:[`scope`,`project`,`user`,`global`]},{id:`agents.model`,page:`agents`,titleKey:`settings.agents.page.field.overrideModel`,keywords:[`model`,`provider`,`variant`]},{id:`agents.system-prompt`,page:`agents`,titleKey:`settings.agents.page.section.systemPrompt`,keywords:[`prompt`,`instructions`]},{id:`agents.permissions`,page:`agents`,titleKey:`settings.agents.page.section.toolPermissions`,keywords:[`tools`,`permissions`,`allow`,`ask`,`deny`]},{id:`commands.create`,page:`commands`,titleKey:`settings.commands.page.title.new`,keywords:[`create`,`add`,`new command`]},{id:`commands.name`,page:`commands`,titleKey:`settings.commands.page.field.commandName`,keywords:[`slash command`,`name`]},{id:`commands.agent`,page:`commands`,titleKey:`settings.commands.page.field.overrideAgent`,keywords:[`agent`,`execution`]},{id:`commands.model`,page:`commands`,titleKey:`settings.agents.page.field.overrideModel`,keywords:[`model`,`provider`]},{id:`commands.template`,page:`commands`,titleKey:`settings.commands.page.section.template`,keywords:[`prompt`,`template`,`arguments`,`shell`,`file`]},{id:`mcp.create`,page:`mcp`,titleKey:`settings.mcp.sidebar.actions.addServerTitle`,keywords:[`create`,`add`,`server`]},{id:`mcp.server`,page:`mcp`,titleKey:`settings.mcp.page.server.title`,keywords:[`server`,`name`,`transport`]},{id:`mcp.command`,page:`mcp`,titleKey:`settings.mcp.page.connection.command`,keywords:[`stdio`,`local`,`command`]},{id:`mcp.environment`,page:`mcp`,titleKey:`settings.mcp.page.env.title`,keywords:[`env`,`variables`,`api key`]},{id:`mcp.advanced`,page:`mcp`,titleKey:`settings.mcp.page.advanced.title`,keywords:[`oauth`,`headers`,`timeout`]},{id:`plugins.create`,page:`plugins`,titleKey:`settings.plugins.sidebar.actions.addTitle`,keywords:[`add`,`plugin`,`npm`,`path`,`file`]},{id:`plugins.spec`,page:`plugins`,titleKey:`settings.plugins.page.field.spec`,keywords:[`npm`,`package`,`path`]},{id:`plugins.options`,page:`plugins`,titleKey:`settings.plugins.page.field.options`,keywords:[`json`,`configuration`]},{id:`plugins.content`,page:`plugins`,titleKey:`settings.plugins.page.field.content`,keywords:[`file`,`code`]},{id:`providers.connect`,page:`providers`,titleKey:`settings.providers.page.connect.title`,keywords:[`add provider`,`connect provider`,`credentials`]},{id:`providers.auth`,page:`providers`,titleKey:`settings.providers.page.auth.title`,keywords:[`api key`,`oauth`,`credentials`]},{id:`providers.connection-details`,page:`providers`,titleKey:`settings.providers.page.connectionDetails.title`,keywords:[`config`,`source`,`disconnect`]},{id:`providers.models`,page:`providers`,titleKey:`settings.providers.page.models.title`,keywords:[`models`,`hide`,`show`]},{id:`skills.create`,page:`skills.installed`,titleKey:`settings.skills.page.title.newSkill`,keywords:[`create`,`add`,`new skill`]},{id:`skills.basic-information`,page:`skills.installed`,titleKey:`settings.skills.page.section.basicInformation`,keywords:[`name`,`location`,`description`]},{id:`skills.instructions`,page:`skills.installed`,titleKey:`settings.skills.page.section.instructions`,keywords:[`markdown`,`skill.md`,`content`]},{id:`skills.supporting-files`,page:`skills.installed`,titleKey:`settings.skills.page.section.supportingFiles`,keywords:[`files`,`resources`]},{id:`skills.catalog.source`,page:`skills.catalog`,titleKey:`settings.skills.catalog.page.section.sourceRepository`,keywords:[`catalog`,`repository`,`source`,`refresh`]},{id:`skills.catalog.search`,page:`skills.catalog`,titleKey:`settings.skills.catalog.shared.field.searchSkillsPlaceholder`,keywords:[`find skills`,`install skills`,`catalog search`]},{id:`skills.catalog.add-catalog`,page:`skills.catalog`,titleKey:`settings.skills.catalog.page.actions.addCatalog`,keywords:[`external repository`,`add source`,`catalog`]},{id:`magic-prompts.visible-prompt`,page:`magic-prompts`,titleKey:`settings.magicPrompts.page.block.visiblePrompt`,keywords:[`prompt text`,`user message`,`template`],isAvailable:e=>!e.isVSCode},{id:`magic-prompts.instructions`,page:`magic-prompts`,titleKey:`settings.magicPrompts.page.block.instructions`,keywords:[`hidden prompt`,`instructions`,`template`],isAvailable:e=>!e.isVSCode},{id:`magic-prompts.reset-overrides`,page:`magic-prompts`,titleKey:`settings.magicPrompts.page.actions.resetAllOverrides`,keywords:[`reset`,`default prompts`,`overrides`],isAvailable:e=>!e.isVSCode},{id:`shortcuts.keyboard-shortcuts`,page:`shortcuts`,titleKey:`settings.openchamber.keyboardShortcuts.title`,descriptionKey:`settings.openchamber.keyboardShortcuts.tooltip`,keywords:[`keyboard`,`hotkeys`,`bindings`]},{id:`voice.playback`,page:`voice`,titleKey:`settings.voice.page.section.playbackAndSummary`,keywords:[`tts`,`read aloud`,`voice`,`provider`,`speech rate`,`speech pitch`,`speech volume`,`tts input mode`,`markdown`,`volcengine`,`doubao`,`火山`,`豆包`,`seed-tts`,`音色`,`api key`]},{id:`voice.speech-recognition`,page:`voice`,titleKey:`settings.voice.page.section.speechRecognition`,keywords:[`stt`,`dictation`,`voice input`,`transcribe`,`whisper`,`parakeet`,`microphone`,`volcengine`,`doubao`,`火山`,`豆包`,`asr`,`实时字幕`,`识别`,`api key`,`recognition context`,`terminology`,`语境`,`上下文`,`中英文`]},{id:`notifications.delivery`,page:`notifications`,titleKey:`settings.notifications.page.delivery.title`,keywords:[`desktop notifications`,`system notifications`]},{id:`notifications.events`,page:`notifications`,titleKey:`settings.notifications.page.events.title`,keywords:[`completion`,`subtasks`,`errors`,`questions`]},{id:`notifications.push`,page:`notifications`,titleKey:`settings.notifications.page.push.title`,keywords:[`background`,`push`],isAvailable:e=>e.isWeb&&!e.isDesktop&&!e.isVSCode}];function ph(e){return e.trim().toLocaleLowerCase()}function mh({query:e,runtimeCtx:t,visiblePageSlugs:n,t:r,getPageTitle:i}){let a=ph(e);if(!a)return[];let o=n?new Set(n):null,s=a.split(/\s+/).filter(Boolean);return fh.flatMap(e=>{if(o&&!o.has(e.page))return[];let n=Ni(e.page);if(!n||n.isAvailable&&!n.isAvailable(t)||e.isAvailable&&!e.isAvailable(t))return[];let a=r(e.titleKey),c=e.descriptionKey?r(e.descriptionKey):null,l=ph([a,c,i(e.page),...e.keywords??[]].filter(Boolean).join(` `));return s.every(e=>l.includes(e))?[{...e,title:a,description:c,pageTitle:i(e.page)}]:[]})}function hh(e){let t=(0,Ki.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({asChild:i,className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i!==void 0&&i?Ie:`div`,o;t[4]===n?o=t[5]:(o=q(`oc-mobile-floating-surface`,n),t[4]=n,t[5]=o);let s;return t[6]!==a||t[7]!==r||t[8]!==o?(s=(0,$.jsx)(a,{className:o,...r}),t[6]=a,t[7]=r,t[8]=o,t[9]=s):s=t[9],s}function gh(e){let t=(0,Ki.c)(20),n,r,i,a,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6]):({as:o,children:n,className:r,variant:s,surfaceProps:a,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s);let c=o===void 0?`div`:o,l=s===void 0?`actions`:s,u;t[7]===r?u=t[8]:(u=q(`oc-mobile-floating-bottom-bar-frame`,r),t[7]=r,t[8]=u);let d=l===`navigation`?`oc-mobile-floating-bottom-bar-navigation`:`oc-mobile-floating-bottom-bar-actions`,f;t[9]===d?f=t[10]:(f=q(`oc-mobile-floating-bottom-bar`,d),t[9]=d,t[10]=f);let p;t[11]!==n||t[12]!==a||t[13]!==f?(p=(0,$.jsx)(hh,{...a,className:f,children:n}),t[11]=n,t[12]=a,t[13]=f,t[14]=p):p=t[14];let m;return t[15]!==c||t[16]!==i||t[17]!==u||t[18]!==p?(m=(0,$.jsx)(c,{className:u,...i,children:p}),t[15]=c,t[16]=i,t[17]=u,t[18]=p,t[19]=m):m=t[19],m}function _h(e){let t=(0,Ki.c)(17),{title:n,children:r,surface:i,scrollsWithPage:a,showHeader:o,trailing:s,className:c,surfaceClassName:l,surfaceAriaLabel:u}=e,d=i===void 0||i,f=a!==void 0&&a,p=o===void 0||o,m=f&&`oc-mobile-tab-page-flow`,h=!p&&`gap-0`,g;t[0]!==c||t[1]!==m||t[2]!==h?(g=q(`oc-mobile-tab-page`,m,h,c),t[0]=c,t[1]=m,t[2]=h,t[3]=g):g=t[3];let _;t[4]!==p||t[5]!==n||t[6]!==s?(_=p?(0,$.jsx)(vi,{title:n,trailing:s}):null,t[4]=p,t[5]=n,t[6]=s,t[7]=_):_=t[7];let v;t[8]!==r||t[9]!==d||t[10]!==u||t[11]!==l?(v=d?(0,$.jsx)(hh,{className:q(`oc-mobile-tab-page-surface`,l),"aria-label":u,children:r}):(0,$.jsx)(`div`,{className:q(`oc-mobile-tab-page-content`,l),"aria-label":u,children:r}),t[8]=r,t[9]=d,t[10]=u,t[11]=l,t[12]=v):v=t[12];let y;return t[13]!==g||t[14]!==_||t[15]!==v?(y=(0,$.jsxs)(`div`,{className:g,children:[_,v]}),t[13]=g,t[14]=_,t[15]=v,t[16]=y):y=t[16],y}function vh(e){let t=(0,Ki.c)(12),{label:n,children:r,className:i,cardClassName:a,ariaLabel:o}=e,s;t[0]!==a||t[1]!==i?(s=q(`oc-mobile-labeled-surface-group`,a,i),t[0]=a,t[1]=i,t[2]=s):s=t[2];let c;t[3]===n?c=t[4]:(c=(0,$.jsx)(`div`,{className:`oc-mobile-labeled-surface-group-label`,children:n}),t[3]=n,t[4]=c);let l;t[5]===r?l=t[6]:(l=r?(0,$.jsx)(`div`,{className:`oc-mobile-labeled-surface-group-content`,children:r}):null,t[5]=r,t[6]=l);let u;return t[7]!==o||t[8]!==s||t[9]!==c||t[10]!==l?(u=(0,$.jsxs)(`section`,{className:s,"aria-label":o,children:[c,l]}),t[7]=o,t[8]=s,t[9]=c,t[10]=l,t[11]=u):u=t[11],u}function yh(e){let t=(0,Ki.c)(10),{label:n,children:r,ariaLabel:i,className:a,borderless:o}=e,s=o!==void 0&&o,c;t[0]===a?c=t[1]:(c=q(`oc-mobile-settings-group`,a),t[0]=a,t[1]=c);let l=s&&`oc-mobile-settings-card-borderless`,u;t[2]===l?u=t[3]:(u=q(`oc-mobile-settings-card`,l),t[2]=l,t[3]=u);let d;return t[4]!==i||t[5]!==r||t[6]!==n||t[7]!==c||t[8]!==u?(d=(0,$.jsx)(Jr,{label:n,ariaLabel:i,className:c,cardClassName:u,children:r}),t[4]=i,t[5]=r,t[6]=n,t[7]=c,t[8]=u,t[9]=d):d=t[9],d}var bh=e({SettingsView:()=>Fh,getSettingsNavIcon:()=>Nh}),xh=176,Sh=280,Ch=8,wh=`__openchamberSettingsDetail`;function Th(e){return Math.min(Sh,Math.max(xh,e))}var Eh=`__add_provider__`;function Dh(e,t){return{isVSCode:D(),isWeb:!e&&L(),isDesktop:e,isMobile:t}}function Oh(e,t){return!e.isAvailable||e.isAvailable(t)}function kh(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ah(e,t){let n=new Set(t),r=e,i=1;for(;n.has(r);)r=`${e}-${i}`,i+=1;return r}function jh(e){if(!kh(e))return null;let t=e[wh];if(!kh(t))return null;let n=t.page,r=t.stage;return typeof n!=`string`||r!==`page-content`?null:{page:Fi(n),stage:r}}function Mh(){return typeof window>`u`||!kh(window.history.state)?{}:window.history.state}function Nh(e){switch(e){case`projects`:return`folders`;case`instances`:return`server`;case`remote-instances`:return`server`;case`appearance`:return`palette`;case`chat`:return`chat-ai-3`;case`magic-prompts`:return`ai-generate-2`;case`notifications`:return`notification-3`;case`shortcuts`:return`command`;case`sessions`:return`chat-history`;case`archived-sessions`:return`archive`;case`summary-ai`:return`ai-generate-2`;case`providers`:return`cloud`;case`agents`:return`node-tree`;case`assistants`:return`robot-2`;case`behavior`:return`brain`;case`commands`:return`slash-commands-2`;case`mcp`:return null;case`plugins`:return`code-box`;case`global-config`:return`settings-3`;case`skills.installed`:return`book-open`;case`skills.catalog`:return`book`;case`git`:return`git-branch`;case`usage`:return`bar-chart-2`;case`voice`:return`mic`;case`about`:return`information`;case`home`:return null;default:return`robot-2`}}var Ph=e=>{let t=(0,Ki.c)(95),{onOpen:n}=e,{t:r}=Fe(),i;t[0]===r?i=t[1]:(i=r(`settings.view.home.title`),t[0]=r,t[1]=i);let a;t[2]===i?a=t[3]:(a=(0,$.jsx)(`h1`,{className:`typography-ui-header font-semibold text-foreground`,children:i}),t[2]=i,t[3]=a);let o;t[4]===r?o=t[5]:(o=r(`settings.view.home.description`),t[4]=r,t[5]=o);let s;t[6]===o?s=t[7]:(s=(0,$.jsx)(`p`,{className:`typography-ui text-muted-foreground`,children:o}),t[6]=o,t[7]=s);let c;t[8]!==a||t[9]!==s?(c=(0,$.jsxs)(`div`,{className:`space-y-1`,children:[a,s]}),t[8]=a,t[9]=s,t[10]=c):c=t[10];let l;t[11]===n?l=t[12]:(l=()=>n(`providers`),t[11]=n,t[12]=l);let u;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(u=q(`rounded-lg border border-border bg-[var(--surface-elevated)] p-4 text-left`,`hover:bg-[var(--interactive-hover)] transition-colors`),t[13]=u):u=t[13];let d;t[14]===r?d=t[15]:(d=r(`settings.view.home.cards.providers.title`),t[14]=r,t[15]=d);let f;t[16]===d?f=t[17]:(f=(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:d}),t[16]=d,t[17]=f);let p;t[18]===r?p=t[19]:(p=r(`settings.view.home.cards.providers.description`),t[18]=r,t[19]=p);let m;t[20]===p?m=t[21]:(m=(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70`,children:p}),t[20]=p,t[21]=m);let h;t[22]!==m||t[23]!==l||t[24]!==f?(h=(0,$.jsxs)(`button`,{type:`button`,onClick:l,className:u,children:[f,m]}),t[22]=m,t[23]=l,t[24]=f,t[25]=h):h=t[25];let g;t[26]===n?g=t[27]:(g=()=>n(`agents`),t[26]=n,t[27]=g);let _;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(_=q(`rounded-lg border border-border bg-[var(--surface-elevated)] p-4 text-left`,`hover:bg-[var(--interactive-hover)] transition-colors`),t[28]=_):_=t[28];let v;t[29]===r?v=t[30]:(v=r(`settings.view.home.cards.agents.title`),t[29]=r,t[30]=v);let y;t[31]===v?y=t[32]:(y=(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:v}),t[31]=v,t[32]=y);let b;t[33]===r?b=t[34]:(b=r(`settings.view.home.cards.agents.description`),t[33]=r,t[34]=b);let x;t[35]===b?x=t[36]:(x=(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70`,children:b}),t[35]=b,t[36]=x);let S;t[37]!==g||t[38]!==y||t[39]!==x?(S=(0,$.jsxs)(`button`,{type:`button`,onClick:g,className:_,children:[y,x]}),t[37]=g,t[38]=y,t[39]=x,t[40]=S):S=t[40];let C;t[41]===n?C=t[42]:(C=()=>n(`skills.catalog`),t[41]=n,t[42]=C);let w;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(w=q(`rounded-lg border border-border bg-[var(--surface-elevated)] p-4 text-left`,`hover:bg-[var(--interactive-hover)] transition-colors`),t[43]=w):w=t[43];let T;t[44]===r?T=t[45]:(T=r(`settings.view.home.cards.skillsCatalog.title`),t[44]=r,t[45]=T);let E;t[46]===T?E=t[47]:(E=(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:T}),t[46]=T,t[47]=E);let D;t[48]===r?D=t[49]:(D=r(`settings.view.home.cards.skillsCatalog.description`),t[48]=r,t[49]=D);let O;t[50]===D?O=t[51]:(O=(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70`,children:D}),t[50]=D,t[51]=O);let k;t[52]!==C||t[53]!==E||t[54]!==O?(k=(0,$.jsxs)(`button`,{type:`button`,onClick:C,className:w,children:[E,O]}),t[52]=C,t[53]=E,t[54]=O,t[55]=k):k=t[55];let A;t[56]===n?A=t[57]:(A=()=>n(`mcp`),t[56]=n,t[57]=A);let j;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(j=q(`rounded-lg border border-border bg-[var(--surface-elevated)] p-4 text-left`,`hover:bg-[var(--interactive-hover)] transition-colors`),t[58]=j):j=t[58];let M;t[59]===r?M=t[60]:(M=r(`settings.view.home.cards.mcp.title`),t[59]=r,t[60]=M);let N;t[61]===M?N=t[62]:(N=(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:M}),t[61]=M,t[62]=N);let P;t[63]===r?P=t[64]:(P=r(`settings.view.home.cards.mcp.description`),t[63]=r,t[64]=P);let F;t[65]===P?F=t[66]:(F=(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70`,children:P}),t[65]=P,t[66]=F);let I;t[67]!==A||t[68]!==N||t[69]!==F?(I=(0,$.jsxs)(`button`,{type:`button`,onClick:A,className:j,children:[N,F]}),t[67]=A,t[68]=N,t[69]=F,t[70]=I):I=t[70];let L;t[71]===n?L=t[72]:(L=()=>n(`usage`),t[71]=n,t[72]=L);let R;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(R=q(`rounded-lg border border-border bg-[var(--surface-elevated)] p-4 text-left`,`hover:bg-[var(--interactive-hover)] transition-colors`),t[73]=R):R=t[73];let z;t[74]===r?z=t[75]:(z=r(`settings.view.home.cards.usage.title`),t[74]=r,t[75]=z);let B;t[76]===z?B=t[77]:(B=(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:z}),t[76]=z,t[77]=B);let V;t[78]===r?V=t[79]:(V=r(`settings.view.home.cards.usage.description`),t[78]=r,t[79]=V);let H;t[80]===V?H=t[81]:(H=(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground/70`,children:V}),t[80]=V,t[81]=H);let U;t[82]!==L||t[83]!==B||t[84]!==H?(U=(0,$.jsxs)(`button`,{type:`button`,onClick:L,className:R,children:[B,H]}),t[82]=L,t[83]=B,t[84]=H,t[85]=U):U=t[85];let W;t[86]!==h||t[87]!==S||t[88]!==k||t[89]!==I||t[90]!==U?(W=(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[h,S,k,I,U]}),t[86]=h,t[87]=S,t[88]=k,t[89]=I,t[90]=U,t[91]=W):W=t[91];let ee;return t[92]!==W||t[93]!==c?(ee=(0,$.jsx)(`div`,{className:`h-full overflow-auto`,children:(0,$.jsxs)(`div`,{className:`mx-auto w-full max-w-3xl px-6 py-6 space-y-6`,children:[c,W]})}),t[92]=W,t[93]=c,t[94]=ee):ee=t[94],ee},Fh=e=>{let t=(0,Ki.c)(183),{onClose:n,mobileInstancesPage:r,forceMobile:i,isWindowed:a,visiblePageSlugs:o,hideMobileHeader:s,flowMobile:c,autoOpenMobilePage:l,initialMobileStage:u,onMobileStageChange:d}=e,f=s!==void 0&&s,p=c!==void 0&&c,m=l===void 0||l,h=u===void 0?`nav`:u,{t:g}=Fe(),_;t[0]===g?_=t[1]:(_={mutationFn:bt,onError:()=>ke.error(g(`chat.chatInput.toast.reloadFailed`))},t[0]=g,t[1]=_);let v=Te(_),y;t[2]===v?y=t[3]:(y=()=>{v.isPending||v.mutate()},t[2]=v,t[3]=y);let b=Me(y),x=Tr(),C=i??x.isMobile,w=K(Ih),T=K(Lh),E=K(Rh),D;t[4]===w?D=t[5]:(D=Fi(w),t[4]=w,t[5]=D);let k=D;Yn();let A=k===`commands`,M;t[6]===A?M=t[7]:(M={enabled:A},t[6]=A,t[7]=M);let{refetch:N}=It(M),P,F;t[8]!==N||t[9]!==k?(P=()=>{k===`commands`&&N()},F=[N,k],t[8]=N,t[9]=k,t[10]=P,t[11]=F):(P=t[10],F=t[11]),Q.useEffect(P,F);let[I,L]=Q.useState(h),R=f&&I===`nav`,z=C&&p,B=Q.useRef(null),V=Q.useRef(0),H=Xt(zh),U,W;t[12]!==C||t[13]!==H||t[14]!==E||t[15]!==k?(U=()=>{if(!C||H<=V.current)return;let e=Xt.getState().settingsSelectedAssistantID;if(!(!e||e===`new`)){if(k!==`assistants`){E(`assistants`);return}V.current=H,B.current=`assistants`,L(`page-content`)}},W=[C,H,E,k],t[12]=C,t[13]=H,t[14]=E,t[15]=k,t[16]=U,t[17]=W):(U=t[16],W=t[17]),Q.useEffect(U,W);let ee,G;t[18]!==I||t[19]!==d?(ee=()=>{d?.(I)},G=[I,d],t[18]=I,t[19]=d,t[20]=ee,t[21]=G):(ee=t[20],G=t[21]),Q.useEffect(ee,G);let[te,ne]=Q.useState(216),[re,ie]=Q.useState(null),[ae,oe]=Q.useState(``),[se,ce]=Q.useState(null),[le,ue]=Q.useState(0),[de,fe]=Q.useState(!1),[pe,me]=Q.useState(!1),ge=Q.useRef(0),_e=Q.useRef(te),ve=Q.useRef(null),ye=Q.useRef(null),be=Q.useRef(null),xe=Q.useRef(null),Se=Q.useRef(null),Ce=Q.useRef(null),we;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(we=[],t[22]=we):we=t[22];let Ee=Q.useRef(we),De=Q.useRef(0),Oe=Q.useRef(!1),Ae;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=j(),t[23]=Ae):Ae=t[23];let je=Ae,Ne;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=j()&&S(),t[24]=Ne):Ne=t[24];let Pe=Ne,Ie;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=j()&&typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`darwin`,t[25]=Ie):Ie=t[25];let Re=Ie,ze;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(ze=j()&&typeof window<`u`&&window.__OPENCHAMBER_PLATFORM__===`win32`,t[26]=ze):ze=t[26];let Be=ze,Ve;t[27]===C?Ve=t[28]:(Ve=Dh(je,C),t[27]=C,t[28]=Ve);let He=Ve,Ue;if(t[29]!==C||t[30]!==r||t[31]!==He||t[32]!==o){let e=o?new Set(o):null,n;t[34]===He?n=t[35]:(n=e=>Oh(e,He),t[34]=He,t[35]=n);let i;t[36]===r?i=t[37]:(i=e=>e.slug!==`instances`||!!r,t[36]=r,t[37]=i);let a;t[38]===He.isVSCode?a=t[39]:(a=e=>!(He.isVSCode&&e.slug===`projects`),t[38]=He.isVSCode,t[39]=a);let s;t[40]===C?s=t[41]:(s=e=>!(C&&e.slug===`shortcuts`),t[40]=C,t[41]=s),Ue=Mi.filter(Bh).filter(t=>!e||e.has(t.slug)).filter(n).filter(i).filter(a).filter(s),t[29]=C,t[30]=r,t[31]=He,t[32]=o,t[33]=Ue}else Ue=t[33];let We=Ue,Ge;t[42]===We?Ge=t[43]:(Ge=Li(We),t[42]=We,t[43]=Ge);let Ke=Ge,qe=Kt(Vh),Je,Ye;t[44]===de?(Je=t[45],Ye=t[46]):(Je=()=>{if(typeof window>`u`)return;let e=()=>{if(!de){let e=Th(Math.floor(window.innerWidth*.12));ne(e)}};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},Ye=[de],t[44]=de,t[45]=Je,t[46]=Ye),Q.useEffect(Je,Ye);let Xe,Qe;t[47]===pe?(Xe=t[48],Qe=t[49]):(Xe=()=>{if(!pe)return;let e=e=>{let t=e.clientX-ge.current,n=Th(_e.current+t);ne(n),fe(!0)},t=()=>me(!1);return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t,{once:!0}),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}},Qe=[pe],t[47]=pe,t[48]=Xe,t[49]=Qe),Q.useEffect(Xe,Qe);let $e;t[50]===te?$e=t[51]:($e=e=>{me(!0),ge.current=e.clientX,_e.current=te,e.preventDefault()},t[50]=te,t[51]=$e);let et=$e,tt;t[52]===te?tt=t[53]:(tt=e=>{let t=e.shiftKey?32:Ch,n;bb160:switch(e.key){case`ArrowLeft`:n=te-t;break bb160;case`ArrowRight`:n=te+t;break bb160;case`Home`:n=xh;break bb160;case`End`:n=Sh;break bb160;default:return}e.preventDefault(),ne(Th(n)),fe(!0)},t[52]=te,t[53]=tt);let nt=tt,rt;t[54]!==T||t[55]!==a||t[56]!==He.isVSCode||t[57]!==k?(rt=()=>{if(!(!T&&!He.isVSCode&&!a)){if(k===`agents`){yt.getState().loadAgents();return}if(k!==`commands`&&k!==`mcp`){if(k===`plugins`){qc.getState().loadPlugins();return}(k===`skills.installed`||k===`skills.catalog`)&&ot(O,ut())}}},t[54]=T,t[55]=a,t[56]=He.isVSCode,t[57]=k,t[58]=rt):rt=t[58];let it;t[59]!==qe||t[60]!==T||t[61]!==a||t[62]!==He.isVSCode||t[63]!==k?(it=[qe,T,a,He.isVSCode,k],t[59]=qe,t[60]=T,t[61]=a,t[62]=He.isVSCode,t[63]=k,t[64]=it):it=t[64],Q.useEffect(rt,it);let at;t[65]!==C||t[66]!==E?(at=e=>{if(E(e),B.current=e,!C)return;let t=Ni(e);if(!t||t.slug===`home`){L(`nav`);return}L(t.kind===`split`?`page-sidebar`:`page-content`)},t[65]=C,t[66]=E,t[67]=at):at=t[67];let st=at,ct;t[68]===k?ct=t[69]:(ct=Ni(k),t[68]=k,t[69]=ct);let Y=ct,lt;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(lt={appearance:`visual`,chat:`chat`,shortcuts:`shortcuts`,sessions:`sessions`,"summary-ai":`summary-ai`,notifications:`notifications`,voice:`voice`},t[70]=lt):lt=t[70];let dt=lt,ft;t[71]===g?ft=t[72]:(ft=e=>{switch(e){case`projects`:return g(`settings.page.projects.title`);case`instances`:return g(`mobile.settings.switchInstance`);case`remote-instances`:return g(`settings.page.remoteInstances.title`);case`providers`:return g(`settings.page.providers.title`);case`usage`:return g(`settings.page.usage.title`);case`agents`:return g(`settings.page.agents.title`);case`assistants`:return g(`settings.page.assistants.title`);case`behavior`:return g(`settings.page.behavior.title`);case`commands`:return g(`settings.page.commands.title`);case`mcp`:return g(`settings.page.mcp.title`);case`plugins`:return g(`settings.page.plugins.title`);case`global-config`:return g(`settings.globalConfig.title`);case`skills.installed`:return g(`settings.page.skills.title`);case`skills.catalog`:return g(`settings.page.skillsCatalog.title`);case`git`:return g(`settings.page.git.title`);case`appearance`:return g(`settings.page.appearance.title`);case`chat`:return g(`settings.page.chat.title`);case`shortcuts`:return g(`settings.page.shortcuts.title`);case`sessions`:return g(`settings.page.sessions.title`);case`archived-sessions`:return g(`settings.page.archivedSessions.title`);case`summary-ai`:return g(`settings.page.summaryAI.title`);case`magic-prompts`:return g(`settings.page.magicPrompts.title`);case`notifications`:return g(`settings.page.notifications.title`);case`voice`:return g(`settings.page.voice.title`);case`about`:return g(`settings.page.about.title`);default:return g(`settings.view.home.title`)}},t[71]=g,t[72]=ft);let pt=ft,mt;t[73]!==pt||t[74]!==He||t[75]!==ae||t[76]!==g||t[77]!==We?(mt=mh({query:ae,runtimeCtx:{...He,isDesktopLocalOrigin:Pe,isMac:Re,isWindows:Be},visiblePageSlugs:We.map(Hh),t:g,getPageTitle:pt}),t[73]=pt,t[74]=He,t[75]=ae,t[76]=g,t[77]=We,t[78]=mt):mt=t[78];let ht=mt,gt=qh,_t;if(t[79]!==ht){_t=[];let e=new Map;for(let t of ht){let n=e.get(t.page);n||(n={page:t.page,pageTitle:t.pageTitle,results:[]},e.set(t.page,n),_t.push(n)),n.results.push(t)}t[79]=ht,t[80]=_t}else _t=t[80];let vt=_t,xt;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(xt=()=>{ue(0),De.current=0,Oe.current=!1},t[81]=xt):xt=t[81];let St;t[82]===ae?St=t[83]:(St=[ae],t[82]=ae,t[83]=St),Q.useEffect(xt,St);let Ct,wt;t[84]===le?(Ct=t[85],wt=t[86]):(Ct=()=>{De.current=le},wt=[le],t[84]=le,t[85]=Ct,t[86]=wt),Q.useEffect(Ct,wt);let Tt,Et;t[87]===le?(Tt=t[88],Et=t[89]):(Tt=()=>{Ee.current[le]?.scrollIntoView({block:`nearest`})},Et=[le],t[87]=le,t[88]=Tt,t[89]=Et),Q.useEffect(Tt,Et);let Dt,Ot;t[90]!==le||t[91]!==ht.length?(Dt=()=>{le>=ht.length&&ue(Math.max(0,ht.length-1)),Ee.current.length=ht.length},Ot=[le,ht.length],t[90]=le,t[91]=ht.length,t[92]=Dt,t[93]=Ot):(Dt=t[92],Ot=t[93]),Q.useEffect(Dt,Ot);let kt;t[94]!==C||t[95]!==st?(kt=e=>{let t=gt(e);ce(t),st(e.page),C&&L(`page-content`),e.id===`plugins.create`&&typeof window<`u`&&window.setTimeout(Jh,50)},t[94]=C,t[95]=st,t[96]=kt):kt=t[96];let At=kt,jt;t[97]!==At||t[98]!==ae||t[99]!==ht?(jt=e=>{if(ae.trim()){if(e.key===`Escape`){e.preventDefault(),oe(``);return}if(ht.length!==0){if(e.key===`ArrowDown`){e.preventDefault(),Oe.current=!0,ue(e=>(e+1)%ht.length);return}if(e.key===`ArrowUp`){e.preventDefault(),Oe.current=!0,ue(e=>(e-1+ht.length)%ht.length);return}if(e.key===`Enter`){e.preventDefault();let t=(De.current%ht.length+ht.length)%ht.length,n=ht[t]??ht[0];n&&At(n)}}}},t[97]=At,t[98]=ae,t[99]=ht,t[100]=jt):jt=t[100];let Mt=jt,Nt;t[101]===se?Nt=t[102]:(Nt=()=>{let e=se;if(!e)return;let t=!1,n=window.requestAnimationFrame(()=>{if(t)return;let n=typeof CSS<`u`&&CSS.escape?CSS.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,`\\$&`),r=ve.current?.querySelector(`[data-settings-item="${n}"]`);r&&(ce(null),r.scrollIntoView({block:`center`,behavior:`smooth`}),r.setAttribute(`data-settings-search-highlight`,`true`),window.setTimeout(()=>{r.removeAttribute(`data-settings-search-highlight`)},1600))});return()=>{t=!0,window.cancelAnimationFrame(n)}},t[101]=se,t[102]=Nt);let Pt;t[103]!==se||t[104]!==k?(Pt=[se,k],t[103]=se,t[104]=k,t[105]=Pt):Pt=t[105],Q.useEffect(Nt,Pt);let Ft;t[106]===g?Ft=t[107]:(Ft=()=>(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-6`,children:(0,$.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,$.jsx)(`div`,{className:`typography-ui-header font-semibold text-foreground`,children:g(`settings.view.unavailable.title`)}),(0,$.jsx)(`p`,{className:`typography-ui text-muted-foreground mt-1`,children:g(`settings.view.unavailable.description`)})]})}),t[106]=g,t[107]=Ft);let X=Ft,Lt=Yh,zt;t[108]!==C||t[109]!==He.isVSCode||t[110]!==k?(zt=()=>{if(C){if(he()||He.isVSCode){L(`page-sidebar`);return}if((typeof window<`u`?jh(window.history.state):null)?.page===k){window.history.back();return}L(`page-sidebar`)}},t[108]=C,t[109]=He.isVSCode,t[110]=k,t[111]=zt):zt=t[111];let Bt=zt,Vt;t[112]!==re||t[113]!==Bt||t[114]!==C||t[115]!==z||t[116]!==r||t[117]!==st||t[118]!==X||t[119]!==He?(Vt=e=>{let t=Ni(e);if(t&&!Oh(t,He))return X();switch(e){case`home`:return(0,$.jsx)(Ph,{onOpen:st});case`projects`:return(0,$.jsx)(Uu,{});case`instances`:return r??X();case`remote-instances`:return(0,$.jsx)(gf,{});case`agents`:return(0,$.jsx)(Do,{});case`assistants`:return(0,$.jsx)(Jo,{onItemDeleted:C?Bt:void 0,saveActionContainer:C?re:void 0});case`behavior`:return(0,$.jsx)(os,{});case`commands`:return(0,$.jsx)(ms,{});case`mcp`:return(0,$.jsx)($s,{});case`plugins`:return(0,$.jsx)(Hl,{});case`global-config`:return(0,$.jsx)(Gl,{});case`skills.installed`:return(0,$.jsx)(Pu,{view:`installed`});case`skills.catalog`:return(0,$.jsx)(Pu,{view:`catalog`});case`providers`:return(0,$.jsx)(zf,{});case`usage`:return(0,$.jsx)(fp,{});case`about`:return(0,$.jsx)(`div`,{className:q(`h-full overflow-auto px-5 py-6`,z&&`h-auto overflow-visible p-3`),children:(0,$.jsx)(ta,{})});case`magic-prompts`:return(0,$.jsx)(xp,{});case`git`:return(0,$.jsx)(kp,{});case`archived-sessions`:return(0,$.jsx)(dh,{});case`appearance`:case`chat`:case`shortcuts`:case`sessions`:case`summary-ai`:case`notifications`:case`voice`:{let t=dt[e]??`visual`;return(0,$.jsx)(th,{section:t,flowMobile:z})}default:return(0,$.jsx)(Ph,{onOpen:st})}},t[112]=re,t[113]=Bt,t[114]=C,t[115]=z,t[116]=r,t[117]=st,t[118]=X,t[119]=He,t[120]=Vt):Vt=t[120];let Ht=Vt,Ut,Wt;t[121]!==m||t[122]!==C||t[123]!==I||t[124]!==k?(Ut=()=>{if(!C||!m||I!==`nav`||k===`home`||B.current===k)return;let e=Ni(k);!e||e.slug===`home`||(B.current=k,L(e.kind===`split`?`page-sidebar`:`page-content`))},Wt=[m,C,I,k],t[121]=m,t[122]=C,t[123]=I,t[124]=k,t[125]=Ut,t[126]=Wt):(Ut=t[125],Wt=t[126]),Q.useEffect(Ut,Wt);let Gt,qt;t[127]!==p||t[128]!==k?(Gt=()=>{!p||k!==`home`||(B.current=null,L(`nav`))},qt=[p,k],t[127]=p,t[128]=k,t[129]=Gt,t[130]=qt):(Gt=t[129],qt=t[130]),Q.useEffect(Gt,qt);let Jt=C&&I!==`nav`,Yt=C&&I===`page-content`&&Y?.kind===`split`,Zt=I===`page-content`&&Y?.kind===`split`&&!Yt,Qt;t[131]!==Yt||t[132]!==Jt||t[133]!==g?(Qt=g(Yt?`settings.view.actions.back`:Jt?`settings.view.actions.backToSettings`:`settings.view.actions.closeSettings`),t[131]=Yt,t[132]=Jt,t[133]=g,t[134]=Qt):Qt=t[134];let $t=Qt,en=Le(),tn;t[135]===He.isVSCode?tn=t[136]:(tn=e=>{if(typeof window>`u`||He.isVSCode||he())return;let t=jh(window.history.state);(t?.page!==e||t.stage!==`page-content`)&&window.history.pushState({...Mh(),[wh]:{page:e,stage:`page-content`}},``,window.location.href)},t[135]=He.isVSCode,t[136]=tn);let nn=tn,rn;t[137]!==nn||t[138]!==k?(rn=()=>{L(`page-content`),nn(k)},t[137]=nn,t[138]=k,t[139]=rn):rn=t[139];let an=rn,on;t[140]!==Yt||t[141]!==p||t[142]!==Bt||t[143]!==E?(on=()=>{if(p&&Rt.getState().settingsReturnTo){B.current=null,L(`nav`),E(`home`),Rt.getState().restoreSettingsReturnTo();return}if(Yt){Bt();return}L(`nav`)},t[140]=Yt,t[141]=p,t[142]=Bt,t[143]=E,t[144]=on):on=t[144];let sn=on,cn;t[145]!==Y?.kind||t[146]!==I?(cn=()=>{if(I===`page-content`){Se.current=xe.current,Ce.current=Y?.kind===`split`?be.current:ye.current;return}Se.current=be.current,Ce.current=ye.current},t[145]=Y?.kind,t[146]=I,t[147]=cn):cn=t[147];let ln=Y?.kind,un;t[148]!==I||t[149]!==ln?(un=[ln,I],t[148]=I,t[149]=ln,t[150]=un):un=t[150],Q.useLayoutEffect(cn,un);let dn=`mobile-settings:${k}`,fn=z&&I!==`nav`,pn;t[151]!==sn||t[152]!==dn||t[153]!==fn?(pn={id:dn,active:fn,onBack:sn,surfaceRef:Se,underlayRef:Ce},t[151]=sn,t[152]=dn,t[153]=fn,t[154]=pn):pn=t[154],Nr(pn);let mn,hn;t[155]!==C||t[156]!==He.isVSCode||t[157]!==k?(mn=()=>{if(!C||He.isVSCode||he())return;let e=e=>{if(Ni(k)?.kind===`split`){if(jh(e.state)?.page===k){L(`page-content`);return}L(Xh)}};return window.addEventListener(`popstate`,e),()=>{window.removeEventListener(`popstate`,e)}},hn=[C,He.isVSCode,k],t[155]=C,t[156]=He.isVSCode,t[157]=k,t[158]=mn,t[159]=hn):(mn=t[158],hn=t[159]),Q.useEffect(mn,hn);let gn;t[160]===Symbol.for(`react.memo_cache_sentinel`)?(gn=()=>{L(`page-sidebar`)},t[160]=gn):gn=t[160];let vn=gn,bn=()=>{let e=ae.trim().length>0;return(0,$.jsxs)(`div`,{className:q(`flex h-full flex-col overflow-hidden`,C&&`oc-settings-navigation-content`,z&&`h-auto w-full overflow-visible`),children:[(0,$.jsx)(`div`,{className:q(`px-2 pt-3`,C&&`oc-mobile-settings-search`),children:(0,$.jsxs)(`div`,{className:q(`flex h-10 items-center gap-1.5 rounded-md border border-border bg-background/70 px-2 text-muted-foreground focus-within:ring-2 focus-within:ring-primary/40 sm:h-8`,C&&`oc-mobile-settings-search-field`),children:[(0,$.jsx)(Z,{name:`search`,className:`h-4 w-4 shrink-0`}),(0,$.jsx)(`input`,{value:ae,onChange:e=>oe(e.target.value),onKeyDown:Mt,placeholder:g(`settings.view.search.placeholder`),"aria-label":g(`settings.view.search.aria`),className:`typography-ui min-w-0 flex-1 bg-transparent text-foreground outline-none placeholder:text-muted-foreground/70`}),e&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>oe(``),"aria-label":g(`settings.view.search.clear`),className:`inline-flex h-7 w-7 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-interactive-hover hover:text-foreground sm:h-5 sm:w-5`,children:(0,$.jsx)(Z,{name:`close`,className:`h-3.5 w-3.5`})})]})}),(0,$.jsx)(`div`,{className:q(`flex-1 min-h-0 overflow-y-auto overflow-x-hidden`,z&&`w-full flex-none overflow-visible`),children:(0,$.jsx)(`div`,{className:q(C?`oc-mobile-settings-nav-list flex min-w-0 flex-col`:`flex flex-col gap-0.5 px-2 pb-2 pt-4`),children:e?ht.length>0?(()=>{let e=0;return vt.map(t=>{let n=t.results.map(t=>{let n=e;e+=1;let r=n===le,i=!!t.description;return(0,$.jsxs)(`button`,{type:`button`,ref:e=>{Ee.current[n]=e},onMouseMove:()=>{Oe.current=!1,ue(n)},onClick:()=>At(t),className:q(C?`oc-mobile-settings-row oc-mobile-settings-search-result`:`flex w-full flex-col rounded-md px-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,i?`min-h-11 py-1.5`:`py-2`,r?`bg-interactive-selection`:`hover:bg-interactive-hover`),children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground truncate`,children:t.title}),i&&(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground/70 line-clamp-2`,children:t.description})]}),C?(0,$.jsx)(Z,{name:`arrow-right-s`,className:`size-4 shrink-0 text-muted-foreground/60`}):null]},t.id)});return C?(0,$.jsx)(yh,{label:t.pageTitle,ariaLabel:t.pageTitle,children:n},t.page):(0,$.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,$.jsx)(`div`,{className:`px-2 pb-0.5 pt-2 typography-micro font-medium text-muted-foreground/70`,children:t.pageTitle}),n]},t.page)})})():(0,$.jsx)(`div`,{className:`px-2 py-6 text-center typography-ui text-muted-foreground`,children:g(`settings.view.search.noResults`)}):(0,$.jsx)($.Fragment,{children:Ke.map((e,t)=>{let{group:n,pages:r}=e,i=g(`settings.view.navigation.groups.${n}`),a=r.map(e=>{let t=k===e.slug,n=Nh(e.slug);return!n&&e.slug!==`mcp`?null:(0,$.jsx)(yn,{children:(0,$.jsx)(_n,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>st(e.slug),"aria-current":t?`page`:void 0,className:q(C?`oc-mobile-settings-row`:`flex h-8 w-full items-center gap-2 overflow-hidden rounded-md px-2 text-left`,t&&!C?`bg-interactive-selection text-foreground`:`text-foreground hover:bg-interactive-hover`),children:[e.slug===`mcp`?(0,$.jsx)(ni,{className:`h-4 w-4 shrink-0`}):(0,$.jsx)(Z,{name:n,className:`h-4 w-4 shrink-0`}),(0,$.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 overflow-hidden whitespace-nowrap transition-opacity duration-150 opacity-100`,children:(0,$.jsx)(`span`,{className:`typography-ui-label font-normal truncate`,children:pt(e.slug)})}),C?(0,$.jsx)(Z,{name:`arrow-right-s`,className:`size-4 shrink-0 text-muted-foreground/60`}):null]})})},e.slug)});return C?(0,$.jsx)(yh,{label:i,ariaLabel:i,children:a},n):(0,$.jsxs)(`div`,{className:q(`space-y-0.5`,t>0&&`pt-3`),children:[(0,$.jsx)(`div`,{className:`px-2 pb-0.5 typography-micro font-medium text-muted-foreground/70`,children:i}),a]},n)})})})}),(0,$.jsx)(`div`,{className:q(`overflow-hidden transition-opacity duration-150 opacity-100`,C&&`oc-mobile-settings-footer`),children:(0,$.jsx)(`div`,{className:q(`border-t-[0.5px] border-border/40 bg-sidebar px-2 py-1 space-y-0.5`,C&&`oc-mobile-floating-surface oc-mobile-settings-card`),children:!He.isVSCode&&(0,$.jsxs)(J,{type:`button`,variant:`ghost`,size:`sm`,disabled:v.isPending,"aria-busy":v.isPending,className:q(C?`oc-mobile-settings-row`:`w-full justify-start overflow-hidden`,`text-sm font-semibold text-sidebar-foreground/90`,`hover:text-sidebar-foreground hover:bg-interactive-hover`),onClick:b,children:[(0,$.jsx)(Z,{name:`restart`,className:q(`h-4 w-4 shrink-0`,v.isPending&&`animate-spin`)}),(0,$.jsx)(`span`,{children:g(`settings.view.actions.reloadOpenCode`)})]})})})]})},xn=()=>(0,$.jsx)(`div`,{className:q(`flex-1 min-h-0 overflow-hidden`,z?`w-full flex-none overflow-visible bg-transparent`:He.isVSCode?`bg-background`:`bg-sidebar`),children:(0,$.jsx)(`div`,{className:q(`flex h-full min-h-0 flex-col`,z&&`h-auto w-full overflow-visible`),children:(0,$.jsx)(xr,{children:bn()})})}),Sn=e=>{let t=e===void 0?I:e;if(t===`nav`)return xn();let n=q(`flex-1 min-h-0 overflow-hidden bg-transparent`,z?`w-full flex-none overflow-visible`:`px-[var(--oc-mobile-page-inline-inset)]`);if(!Y)return(0,$.jsx)(`div`,{className:n});if(t===`page-sidebar`){if(Y.kind!==`split`){let e=Ht(k);return(0,$.jsx)(`div`,{className:n,children:(0,$.jsx)(hh,{className:`oc-mobile-settings-detail-card`,children:(0,$.jsx)(xr,{children:e})})})}return(0,$.jsx)(`div`,{className:n,children:(0,$.jsx)(hh,{className:`oc-mobile-settings-detail-card`,children:(0,$.jsx)(xr,{children:Lt(k,{onItemSelect:an})})})})}let r=Ht(k);return(0,$.jsx)(`div`,{className:n,children:(0,$.jsx)(hh,{className:`oc-mobile-settings-detail-card`,children:(0,$.jsx)(xr,{children:r})})})},Cn;t[161]!==Y||t[162]!==st||t[163]!==Ht||t[164]!==He.isVSCode||t[165]!==k?(Cn=()=>!Y||k===`home`?(0,$.jsx)(Ph,{onOpen:st}):k===`usage`?(0,$.jsx)(Wf,{children:(0,$.jsx)(xr,{children:(0,$.jsx)(fp,{})})}):Y.kind===`split`?(0,$.jsxs)(`div`,{className:`oc-settings-entity-split flex h-full min-h-0 overflow-hidden`,children:[(0,$.jsx)(`div`,{className:q(`oc-settings-entity-list min-h-0 border-r-[0.5px] border-border/40`,He.isVSCode?`bg-background`:`bg-sidebar`),children:(0,$.jsx)(xr,{children:Lt(k,{})})}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0 min-h-0 overflow-hidden bg-background`,children:(0,$.jsx)(xr,{children:Ht(k)})})]}):(0,$.jsx)(`div`,{className:`h-full min-h-0 overflow-hidden bg-background`,children:(0,$.jsx)(xr,{children:Ht(k)})}),t[161]=Y,t[162]=st,t[163]=Ht,t[164]=He.isVSCode,t[165]=k,t[166]=Cn):Cn=t[166];let wn=Cn,Tn=e=>{let t=e===void 0?I:e;return(0,$.jsx)(Ze,{sticky:!0,title:t===`nav`?g(`settings.view.home.title`):Y?pt(Y.slug):g(`settings.view.home.title`),backAriaLabel:$t,onBack:Jt?sn:n,trailing:t===`page-content`&&k===`assistants`?(0,$.jsx)(`div`,{ref:ie}):void 0,actions:[...Zt?[{icon:`list-unordered`,ariaLabel:g(`settings.view.actions.openSectionList`),onClick:vn}]:[],...n?[{icon:`close`,ariaLabel:g(`settings.view.actions.closeSettings`),title:g(`settings.view.actions.closeSettingsWithShortcut`,{shortcut:en}),onClick:n}]:[]]})};if(z){let e=I!==`nav`,n=e&&Y?.kind===`split`,r=I===`page-content`,i=I===`page-sidebar`,a=r&&Y?.kind===`split`,o=e&&!a,s;t[167]===g?s=t[168]:(s=g(`mobile.settings.placeholder.title`),t[167]=g,t[168]=s);let c;return t[169]===s?c=t[170]:(c=(0,$.jsx)(vi,{title:s}),t[169]=s,t[170]=c),(0,$.jsxs)(`div`,{ref:ve,"data-settings-view":`true`,"data-mobile-settings-detail-active":e?`true`:void 0,className:`oc-settings-workspace oc-settings-workspace-mobile h-auto w-full min-w-0 overflow-visible bg-transparent`,children:[(0,$.jsxs)(`div`,{ref:ye,"data-mobile-settings-stage":`nav`,"data-mobile-navigation-underlay":o?`true`:void 0,"aria-hidden":e?`true`:void 0,inert:e?!0:void 0,className:`oc-mobile-settings-root-surface fixed inset-0 z-20 flex h-[100dvh] w-full min-w-0 max-w-full flex-col gap-[var(--oc-mobile-page-gap)] overflow-y-auto overflow-x-hidden overscroll-contain px-[var(--oc-mobile-page-inline-inset)] pb-[calc(var(--oc-mobile-dock-height)+2.5rem+var(--oc-safe-area-bottom,env(safe-area-inset-bottom,0px)))] pt-[calc(var(--oc-safe-area-top,env(safe-area-inset-top,0px))+1rem)] [contain:layout_paint]`,children:[c,xn()]}),n?(0,$.jsxs)(`div`,{ref:be,"data-mobile-settings-stage":`page-sidebar`,"data-mobile-navigation-underlay":a?`true`:void 0,"data-mobile-settings-push-surface":`true`,"aria-hidden":i?void 0:`true`,inert:!i||void 0,className:`fixed inset-0 z-40 flex h-[100dvh] w-full min-w-0 max-w-full touch-pan-y flex-col overflow-hidden bg-background [contain:layout_paint]`,children:[Tn(`page-sidebar`),(0,$.jsx)(`div`,{className:`min-h-0 w-full flex-1 overflow-y-auto overflow-x-hidden overscroll-contain px-[var(--oc-mobile-page-inline-inset)]`,children:Sn(`page-sidebar`)})]}):null,r?(0,$.jsxs)(`div`,{ref:xe,"data-mobile-settings-stage":`page-content`,"data-mobile-settings-push-surface":`true`,className:`fixed inset-0 z-50 flex h-[100dvh] w-full min-w-0 max-w-full touch-pan-y flex-col overflow-hidden bg-background [contain:layout_paint]`,children:[Tn(`page-content`),(0,$.jsx)(`div`,{className:`min-h-0 w-full flex-1 overflow-y-auto overflow-x-hidden overscroll-contain px-[var(--oc-mobile-page-inline-inset)]`,children:Sn(`page-content`)})]}):null]})}let En=C?`oc-settings-workspace-mobile bg-transparent`:`oc-settings-workspace-desktop bg-background`,Dn=z&&`h-auto w-full overflow-visible`,On;t[171]!==En||t[172]!==Dn?(On=q(`oc-settings-workspace relative flex h-full min-h-0 flex-col overflow-hidden`,En,Dn),t[171]=En,t[172]=Dn,t[173]=On):On=t[173];let kn=C&&!R?Tn():C?null:(0,$.jsxs)($.Fragment,{children:[Jt&&(0,$.jsx)(`div`,{className:q(`absolute left-3 z-50`,a?`top-2`:`top-3`),children:(0,$.jsx)(`button`,{type:`button`,onClick:sn,"aria-label":g(`settings.view.actions.back`),className:`inline-flex h-9 w-9 items-center justify-center rounded-lg p-2 text-muted-foreground hover:text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,children:(0,$.jsx)(Z,{name:`arrow-left-s`,className:`h-5 w-5`})})}),n&&(0,$.jsx)(`div`,{className:q(`absolute right-0.5 z-50`,a?`top-0.5`:`top-1`),children:(0,$.jsx)(`button`,{type:`button`,onClick:n,"aria-label":g(`settings.view.actions.closeSettings`),title:g(`settings.view.actions.closeSettingsWithShortcut`,{shortcut:en}),className:`inline-flex h-7 w-7 items-center justify-center rounded-md p-0.5 text-muted-foreground hover:text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,children:(0,$.jsx)(Z,{name:`close`,className:`h-5 w-5`})})})]}),An=z&&`w-full flex-none overflow-visible`,jn;t[174]===An?jn=t[175]:(jn=q(`flex flex-1 min-h-0 overflow-hidden`,An),t[174]=An,t[175]=jn);let Mn=C?Sn():(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:q(`relative flex h-full min-h-0 flex-col overflow-hidden border-r-[0.5px] border-border/40`,je?`bg-sidebar`:He.isVSCode?`bg-background`:`bg-sidebar`,pe?``:`transition-[width,min-width] duration-200 ease-[cubic-bezier(0.25,0.1,0.25,1)]`),style:{width:`${te}px`,minWidth:`${te}px`},children:[(0,$.jsx)(`div`,{className:q(`absolute right-0 top-0 z-20 h-full w-[6px] -mr-[3px] cursor-col-resize`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,pe?`bg-primary/30`:`bg-transparent hover:bg-primary/20`),tabIndex:0,onPointerDown:et,onKeyDown:nt,role:`separator`,"aria-orientation":`vertical`,"aria-valuemin":xh,"aria-valuemax":Sh,"aria-valuenow":te,"aria-label":g(`settings.view.actions.resizeNavigation`)}),(0,$.jsx)(xr,{children:bn()})]}),(0,$.jsx)(`div`,{className:`oc-settings-detail-pane flex-1 overflow-hidden bg-background`,children:wn()})]}),Nn;t[176]!==jn||t[177]!==Mn?(Nn=(0,$.jsx)(`div`,{className:jn,children:Mn}),t[176]=jn,t[177]=Mn,t[178]=Nn):Nn=t[178];let Pn;return t[179]!==On||t[180]!==kn||t[181]!==Nn?(Pn=(0,$.jsxs)(`div`,{ref:ve,"data-settings-view":`true`,className:On,children:[kn,Nn]}),t[179]=On,t[180]=kn,t[181]=Nn,t[182]=Pn):Pn=t[182],Pn};function Ih(e){return e.settingsPage}function Lh(e){return e.isSettingsDialogOpen}function Rh(e){return e.setSettingsPage}function zh(e){return e.openSettingsRequestRevision}function Bh(e){return e.slug!==`home`}function Vh(e){return e.activeProjectId}function Hh(e){return e.slug}function Uh(e){return e.name}function Wh(e){return e.name}function Gh(e){return e.name}function Kh(e){return e.name}function qh(e){if(e.id.startsWith(`assistants.`)){if(e.id===`assistants.instance-enabled`)return e.id;if(e.id===`assistants.default-share`){let t=Xt.getState(),n=qe()?.assistants??[],r=n.some(e=>e.id===t.settingsSelectedAssistantID);return t.selectSettingsAssistant(r?t.settingsSelectedAssistantID:n[0]?.id??null),e.id}return Xt.getState().requestCreate(),e.id===`assistants.create`?`assistants.name`:e.id}if(e.id.startsWith(`agents.`)){let t=yt.getState(),n=Ah(`new-agent`,Lt().map(Uh));return t.setAgentDraft({name:n,scope:`user`}),t.setSelectedAgent(n),e.id===`agents.create`?`agents.name`:e.id}if(e.id.startsWith(`commands.`)){let t=fa.getState(),n=Ah(`new-command`,zt().map(Wh));return t.setCommandDraft({name:n,scope:`user`}),t.setSelectedCommand(n),e.id===`commands.create`?`commands.name`:e.id}if(e.id.startsWith(`mcp.`)){let t=va.getState(),n=Ah(`new-mcp-server`,ki().map(Gh));return t.setMcpDraft({name:n,scope:`user`,type:`local`,command:[],url:``,environment:[],headers:[],oauthEnabled:!0,oauthClientId:``,oauthClientSecret:``,oauthScope:``,oauthRedirectUri:``,timeout:``,enabled:!0}),t.setSelectedMcp(n),e.id===`mcp.create`?`mcp.server`:e.id}if(e.id.startsWith(`skills.`)){let t=xt(O),n=Ca.getState(),r=Ah(`new-skill`,t.map(Kh));return n.setSkillDraft({name:r,scope:`user`,source:`opencode`,description:``,instructions:``}),n.setSelectedSkill(r),e.id===`skills.create`?`skills.basic-information`:e.id}return e.id===`providers.connect`&&gt.getState().setSelectedProvider(Eh),e.id===`plugins.create`?`plugins.spec`:e.id}function Jh(){window.dispatchEvent(new CustomEvent(`openchamber:settings-open-plugin-add`))}function Yh(e,t){switch(e){case`projects`:return(0,$.jsx)(Iu,{onItemSelect:t.onItemSelect});case`agents`:return(0,$.jsx)($a,{onItemSelect:t.onItemSelect});case`assistants`:return(0,$.jsx)(qo,{onItemSelect:t.onItemSelect});case`commands`:return(0,$.jsx)(ss,{onItemSelect:t.onItemSelect});case`mcp`:return(0,$.jsx)(vs,{onItemSelect:t.onItemSelect});case`plugins`:return(0,$.jsx)(Sl,{onItemSelect:t.onItemSelect});case`skills.installed`:return(0,$.jsx)(Jl,{onItemSelect:t.onItemSelect});case`providers`:return(0,$.jsx)(yf,{onItemSelect:t.onItemSelect});case`usage`:return(0,$.jsx)(Wf,{onItemSelect:t.onItemSelect});case`magic-prompts`:return(0,$.jsx)(hp,{onItemSelect:t.onItemSelect});default:return null}}function Xh(e){return e===`page-content`?`page-sidebar`:e}export{vh as a,Jo as c,ia as d,ra as f,hh as i,va as l,ta as m,bh as n,_h as o,na as p,gh as r,hd as s,Fh as t,sa as u};