ryco-cli 0.1.16 → 0.1.17

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 (64) hide show
  1. package/dist/bin.cjs +1 -1
  2. package/dist/bin.mjs +1 -1
  3. package/dist/client/assets/{AccountSettings-CkFq28pN.js → AccountSettings-F4ZOTHid.js} +1 -1
  4. package/dist/client/assets/{AiFocusSettings-BI9AgQUi.js → AiFocusSettings-DwIYKKIc.js} +1 -1
  5. package/dist/client/assets/{BranchToolbar.logic-6LRTxcuo.js → BranchToolbar.logic-B2jdtYEs.js} +1 -1
  6. package/dist/client/assets/{ChatRightPanel-BSNsAFtv.js → ChatRightPanel-CxA4EQ1O.js} +3 -3
  7. package/dist/client/assets/{ChatThreadRouteView-Daox0F74.js → ChatThreadRouteView-BJ6OSbWZ.js} +1 -1
  8. package/dist/client/assets/{CommandPaletteDialog-CIZnwgK9.js → CommandPaletteDialog-DywhkOKa.js} +1 -1
  9. package/dist/client/assets/{ConnectionsSettings-DFBNmvfL.js → ConnectionsSettings-B8t9Z17K.js} +1 -1
  10. package/dist/client/assets/{DiagnosticsSettings-DhuLK993.js → DiagnosticsSettings-Bt7j-SXg.js} +1 -1
  11. package/dist/client/assets/{DraftChatThreadRouteView-BmVyawpM.js → DraftChatThreadRouteView-BzcBT-YW.js} +1 -1
  12. package/dist/client/assets/{HostedConnectionControls-BvHq5iCa.js → HostedConnectionControls-DLrwfgKF.js} +1 -1
  13. package/dist/client/assets/{HostedHubRoot-CB5TRXg5.js → HostedHubRoot-eqwMpBq5.js} +1 -1
  14. package/dist/client/assets/{HostedNativeAuthorizationRoute-Cb5WJuEG.js → HostedNativeAuthorizationRoute-C11yMgF7.js} +1 -1
  15. package/dist/client/assets/{HostedRelayTrustNotice-DFcgMZlL.js → HostedRelayTrustNotice-CMrrvMuJ.js} +1 -1
  16. package/dist/client/assets/{IntegrationsSettingsPanel-BIy-rKDv.js → IntegrationsSettingsPanel-rkW9RyYH.js} +1 -1
  17. package/dist/client/assets/{KeybindingsSettings-u3yB7Cob.js → KeybindingsSettings-CjU5J7hU.js} +1 -1
  18. package/dist/client/assets/{McpServersSettings-V32mLD4v.js → McpServersSettings-D-Gq3vgy.js} +1 -1
  19. package/dist/client/assets/{NewWorktreeDialog-B64WGjQj.js → NewWorktreeDialog-C4D-dD0C.js} +1 -1
  20. package/dist/client/assets/{NoActiveThreadState-C0MwHtMx.js → NoActiveThreadState-z_FeP4Al.js} +1 -1
  21. package/dist/client/assets/{NodeSecuritySettings-CWlThhfV.js → NodeSecuritySettings-CMjnKY0w.js} +1 -1
  22. package/dist/client/assets/{OpinionatedPluginsSettings-CVzfv5nP.js → OpinionatedPluginsSettings-D9INVQf7.js} +1 -1
  23. package/dist/client/assets/{PhoneGetAppInterstitial-CylfsDBD.js → PhoneGetAppInterstitial-B8iVzT22.js} +1 -1
  24. package/dist/client/assets/{PhoneHome-DBwwEeaI.js → PhoneHome-BonZTgK7.js} +1 -1
  25. package/dist/client/assets/{PhoneSettingsSurface-sDCNEVkR.js → PhoneSettingsSurface-B-6LoBMV.js} +1 -1
  26. package/dist/client/assets/{ProjectFavicon-BjXJxNbQ.js → ProjectFavicon-CxXx07Sa.js} +1 -1
  27. package/dist/client/assets/{ProviderModelPicker-BTFj53Qv.js → ProviderModelPicker-M_Ezjlmq.js} +1 -1
  28. package/dist/client/assets/{ProvidersSettingsPanel-IhzMeM1F.js → ProvidersSettingsPanel-CtTyCMP0.js} +1 -1
  29. package/dist/client/assets/{RootAppShell-CG06ruyc.js → RootAppShell-DJfVW8Xa.js} +2 -2
  30. package/dist/client/assets/{SettingsDialog-ByR9PwEc.js → SettingsDialog-ClIbtJ2y.js} +1 -1
  31. package/dist/client/assets/{SettingsPanels-CwsCgdds.js → SettingsPanels-DshjYQGk.js} +1 -1
  32. package/dist/client/assets/{SourceControlSettings-5w4N9XII.js → SourceControlSettings-C_GMp7qk.js} +1 -1
  33. package/dist/client/assets/{StatisticsPage-jRyjIh52.js → StatisticsPage-CDukahZF.js} +1 -1
  34. package/dist/client/assets/{StatisticsPanel-CV5eFeO_.js → StatisticsPanel-BTdaxoVf.js} +1 -1
  35. package/dist/client/assets/{ThreadStatusIndicators-C40TYVEC.js → ThreadStatusIndicators-D_6jI6us.js} +0 -0
  36. package/dist/client/assets/{ThreadTerminalDrawer-flv5ZDel.js → ThreadTerminalDrawer-C2B3Ry66.js} +1 -1
  37. package/dist/client/assets/{ThreadWorkspacePanel-B-cBAWFz.js → ThreadWorkspacePanel-D8gR7mQC.js} +1 -1
  38. package/dist/client/assets/{WorkItemsTab-0DE4S4n0.js → WorkItemsTab-QQXGM1BH.js} +1 -1
  39. package/dist/client/assets/{branding-Ck4g7yv3.js → branding-BS9Iv2ln.js} +1 -1
  40. package/dist/client/assets/{capabilities-xa5Ll0KT.js → capabilities-tpmeGBtr.js} +1 -1
  41. package/dist/client/assets/{desktopUpdateAtoms-hP0oc_If.js → desktopUpdateAtoms-BpN7gP0v.js} +1 -1
  42. package/dist/client/assets/{desktopWorkspace-hOxsGVFz.js → desktopWorkspace-CIvAIvMt.js} +1 -1
  43. package/dist/client/assets/{device-DIfzlguu.js → device-B3lHunk1.js} +1 -1
  44. package/dist/client/assets/{editorPreferences-B54y5_sx.js → editorPreferences-DiUypD3L.js} +1 -1
  45. package/dist/client/assets/{index-Dp3JRlOK.js → index-C536LXZ6.js} +1 -1
  46. package/dist/client/assets/{main-B6n7O_N3.js → main-BjfqengQ.js} +2 -2
  47. package/dist/client/assets/{projectPaths-D8b4yLOe.js → projectPaths-3WDk4ziK.js} +1 -1
  48. package/dist/client/assets/{providerIconUtils-Cq0fezxt.js → providerIconUtils-DLRASbiu.js} +1 -1
  49. package/dist/client/assets/{runtime-QZPKtH2P.js → runtime-CYtynKGT.js} +1 -1
  50. package/dist/client/assets/{session-logic-BuGYhZKZ.js → session-logic-DfaSS3p9.js} +1 -1
  51. package/dist/client/assets/{sidebarProjectFolders-Dlo6McCj.js → sidebarProjectFolders-DKxZsoOv.js} +1 -1
  52. package/dist/client/assets/storeSelectors-BeLJe5C1.js +1 -0
  53. package/dist/client/assets/{threadPinning-D2e9MEDr.js → threadPinning-UKIVw0OX.js} +1 -1
  54. package/dist/client/assets/{threadPriorityRefreshRuntime-DbEFchoL.js → threadPriorityRefreshRuntime-BbiIUPfh.js} +1 -1
  55. package/dist/client/assets/types-BeLJe5C1.js +1 -0
  56. package/dist/client/assets/{useAtlassian-Zb2Kkt0_.js → useAtlassian-BTWMzLgJ.js} +0 -0
  57. package/dist/client/assets/{useHandleNewThread-ByVfL71G.js → useHandleNewThread-9FAjhuhK.js} +1 -1
  58. package/dist/client/assets/{usePhoneThreadActions-BhTVcLtf.js → usePhoneThreadActions-B7yDFO2l.js} +1 -1
  59. package/dist/client/assets/{useStatistics-Dbp94K5j.js → useStatistics-C9g3i7bQ.js} +1 -1
  60. package/dist/client/assets/{useThreadActions-CPL4dO-X.js → useThreadActions-CouKkjbt.js} +1 -1
  61. package/dist/client/index.html +1 -1
  62. package/package.json +1 -1
  63. package/dist/client/assets/storeSelectors-_h41wnN2.js +0 -1
  64. package/dist/client/assets/types-_h41wnN2.js +0 -1
@@ -1 +1 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{Et as r,Gt as i,Pt as a,Yt as o,kt as s,zn as c}from"./runtime-QZPKtH2P.js";import{Dt as l}from"./primary-CiDY2oUi.js";import{It as u,t as ee}from"./composerDraftStore-TYv9j3vY.js";import{c as d}from"./useSwipeDismiss-D22_vuiH.js";import{a as f,c as p,i as te,l as ne,n as re,o as ie,s as ae,t as oe,u as se}from"./rightPanelRouteSearch-BS8CkNS6.js";import{t as ce}from"./useNavigate-2tVq4iZ2.js";import{a as le,f as ue,g as de,h as fe,i as pe,l as me,m as he,n as ge,o as _e,r as m,s as ve,t as ye,u as be}from"./ChatRightPanel-BSNsAFtv.js";import{r as xe}from"./desktopWorkspace-hOxsGVFz.js";import{o as Se,s as Ce}from"./tabSwitchInstrumentation-CLDM7g1_.js";import"./device-DIfzlguu.js";import{t as we}from"./utils-CV2fJJxC.js";import"./storeSelectors-_h41wnN2.js";import{t as Te}from"./usePresentationTier-B_SCFvN7.js";import{o as Ee}from"./sidebar-CFGg5Tkr.js";import{n as De}from"./NoActiveThreadState-C0MwHtMx.js";var Oe=n(),h=e(t(),1),g=u();function _(e){let t=(0,Oe.c)(222),{threadRef:n,search:u}=e;Se(`ChatThreadRouteView`);let m=ce(),_=n?`${n.environmentId}:${n.threadId}`:null,v=n?.environmentId??null,y=n?.threadId??null,Ne;t[0]!==m||t[1]!==n?(Ne=e=>{n&&m({to:`/$environmentId/$threadId`,params:d(n),replace:!0,search:e})},t[0]=m,t[1]=n,t[2]=Ne):Ne=t[2];let Pe=Ne,Fe;t[3]!==_||t[4]!==Pe||t[5]!==u?(Fe={threadKey:_,search:u,replaceSearch:Pe},t[3]=_,t[4]=Pe,t[5]=u,t[6]=Fe):Fe=t[6];let b=be(Fe),Ie;t[7]===n?.environmentId?Ie=t[8]:(Ie=e=>a(e,n?.environmentId??null).bootstrapComplete,t[7]=n?.environmentId,t[8]=Ie);let Le=o(Ie),Re;t[9]===n?Re=t[10]:(Re=s(n),t[9]=n,t[10]=Re);let ze=o(Re),Be;t[11]===n?Be=t[12]:(Be=e=>i(e,n),t[11]=n,t[12]=Be);let Ve=o(Be),He;t[13]===n?.environmentId?He=t[14]:(He=e=>a(e,n?.environmentId??null).threadIds.length>0,t[13]=n?.environmentId,t[14]=He);let Ue=o(He),We=c(Me),x;t[15]!==We||t[16]!==n?.environmentId?(x=()=>r(n?.environmentId??null,We),t[15]=We,t[16]=n?.environmentId,t[17]=x):x=t[17],n?.environmentId;let Ge;t[18]===x?Ge=t[19]:(Ge=x(),t[18]=x,t[19]=Ge);let Ke=o(Ge),qe=fe(n),Je=he(n),Ye=de(n?.environmentId),Xe=Ve||qe,Ze;t[20]===ze?Ze=t[21]:(Ze=ve(ze),t[20]=ze,t[21]=Ze);let S=Ze,Qe=Ue||Ye,$e=Xe&&(Le||ze!==void 0),C=b.diff===`1`,w=b.preview===`1`,et;t[22]===b?et=t[23]:(et=oe(b),t[22]=b,t[23]=et);let T=et,tt;t[24]===b?tt=t[25]:(tt=re(b),t[24]=b,t[25]=tt);let E=tt,D=b.workspaceTab===`agent`&&b.workspaceAgentKey?b.workspaceAgentKey:null,nt=Ce(me),O=Te(),rt;t[26]===_?rt=t[27]:(rt=e=>_?e.pendingOpenByThreadKey[_]:void 0,t[26]=_,t[27]=rt);let it=l(rt),at=l(je),ot=De(),st=!nt&&O!==`phone`,ct;t[28]!==_||t[29]!==E||t[30]!==st?(ct={threadKey:_,open:E,canMaximize:st},t[28]=_,t[29]=E,t[30]=st,t[31]=ct):ct=t[31];let{maximized:k,toggleMaximized:lt}=ue(ct),ut;t[32]!==D||t[33]!==_||t[34]!==C||t[35]!==w||t[36]!==T?(ut=()=>({threadKey:_,hasOpenedDiff:C,hasOpenedPreview:w,hasOpenedTerminal:T===`terminal`,hasOpenedSimulator:T===`simulator`,hasOpenedAgents:T===`agents`,openedAgentKeys:D?[D]:[]}),t[32]=D,t[33]=_,t[34]=C,t[35]=w,t[36]=T,t[37]=ut):ut=t[37];let[A,dt]=(0,h.useState)(ut),ft,pt;t[38]!==v||t[39]!==y?(ft=()=>{if(!(!v||!y))return xe(v,y)},pt=[v,y],t[38]=v,t[39]=y,t[40]=ft,t[41]=pt):(ft=t[40],pt=t[41]),(0,h.useEffect)(ft,pt);let mt,ht;t[42]!==at||t[43]!==m||t[44]!==it||t[45]!==O||t[46]!==n?(mt=()=>{!n||!it||O===`phone`||(at(n.environmentId,n.threadId),m({to:`/$environmentId/$threadId`,params:d(n),search:Ae}))},ht=[at,m,it,O,n],t[42]=at,t[43]=m,t[44]=it,t[45]=O,t[46]=n,t[47]=mt,t[48]=ht):(mt=t[47],ht=t[48]),(0,h.useEffect)(mt,ht);let j=A.threadKey===_?A.hasOpenedDiff:C,M=A.threadKey===_?A.hasOpenedPreview:w,N=A.threadKey===_?A.hasOpenedTerminal:T===`terminal`,P=A.threadKey===_?A.hasOpenedSimulator:T===`simulator`,F=A.threadKey===_?A.hasOpenedAgents:T===`agents`,gt;t[49]!==D||t[50]!==_||t[51]!==A.openedAgentKeys||t[52]!==A.threadKey?(gt=A.threadKey===_?A.openedAgentKeys:D?[D]:[],t[49]=D,t[50]=_,t[51]=A.openedAgentKeys,t[52]=A.threadKey,t[53]=gt):gt=t[53];let _t=gt,vt;t[54]!==D||t[55]!==_t?(vt=D&&!_t.includes(D)?[..._t,D]:_t,t[54]=D,t[55]=_t,t[56]=vt):vt=t[56];let I=vt,yt;t[57]===T?yt=t[58]:(yt=()=>T??`review`,t[57]=T,t[58]=yt);let[L,bt]=(0,h.useState)(yt),R;t[59]!==F||t[60]!==j||t[61]!==M||t[62]!==P||t[63]!==N||t[64]!==T?(R=[],(M||T===`files`)&&R.push(`files`),(j||T===`review`)&&R.push(`review`),(N||T===`terminal`)&&R.push(`terminal`),(P||T===`simulator`)&&R.push(`simulator`),(F||T===`agents`)&&R.push(`agents`),t[59]=F,t[60]=j,t[61]=M,t[62]=P,t[63]=N,t[64]=T,t[65]=R):R=t[65];let z=R,xt;t[66]!==_||t[67]!==C||t[68]!==I||t[69]!==w||t[70]!==T?(xt=e=>{bt(e),dt(t=>{let n={threadKey:_,hasOpenedDiff:(t.threadKey===_?t.hasOpenedDiff:C)||e===`review`,hasOpenedPreview:(t.threadKey===_?t.hasOpenedPreview:w)||e===`files`,hasOpenedTerminal:(t.threadKey===_?t.hasOpenedTerminal:T===`terminal`)||e===`terminal`,hasOpenedSimulator:(t.threadKey===_?t.hasOpenedSimulator:T===`simulator`)||e===`simulator`,hasOpenedAgents:(t.threadKey===_?t.hasOpenedAgents:T===`agents`)||e===`agents`,openedAgentKeys:t.threadKey===_?t.openedAgentKeys:I};return t.threadKey===n.threadKey&&t.hasOpenedDiff===n.hasOpenedDiff&&t.hasOpenedPreview===n.hasOpenedPreview&&t.hasOpenedTerminal===n.hasOpenedTerminal&&t.hasOpenedSimulator===n.hasOpenedSimulator&&t.hasOpenedAgents===n.hasOpenedAgents&&t.openedAgentKeys===n.openedAgentKeys?t:n})},t[66]=_,t[67]=C,t[68]=I,t[69]=w,t[70]=T,t[71]=xt):xt=t[71];let B=xt,St;t[72]!==m||t[73]!==n?(St=()=>{n&&m({to:`/$environmentId/$threadId`,params:d(n),search:ke})},t[72]=m,t[73]=n,t[74]=St):St=t[74];let V=St,Ct;t[75]!==F||t[76]!==j||t[77]!==M||t[78]!==P||t[79]!==N||t[80]!==L||t[81]!==m||t[82]!==I||t[83]!==n?(Ct=()=>{n&&m({to:`/$environmentId/$threadId`,params:d(n),search:e=>{let t=I[I.length-1];return L===`agent`&&t?te(e,t):L===`files`&&M?ie(e):L===`review`&&j?ae(e):L===`terminal`&&N?ne(e):L===`simulator`&&P?p(e):L===`agents`&&F?f(e):M?ie(e):j?ae(e):N?ne(e):P?p(e):F?f(e):t?te(e,t):se(e)}})},t[75]=F,t[76]=j,t[77]=M,t[78]=P,t[79]=N,t[80]=L,t[81]=m,t[82]=I,t[83]=n,t[84]=Ct):Ct=t[84];let H=Ct,wt;t[85]!==V||t[86]!==H||t[87]!==E?(wt=()=>{if(E){V();return}H()},t[85]=V,t[86]=H,t[87]=E,t[88]=wt):wt=t[88];let U=wt,Tt;t[89]!==D||t[90]!==_||t[91]!==F||t[92]!==j||t[93]!==M||t[94]!==P||t[95]!==N||t[96]!==m||t[97]!==I||t[98]!==T||t[99]!==n?(Tt=e=>{if(!n)return;if(e.mode===`agent`){let t=I.filter(t=>t!==e.agentKey);dt(e=>({threadKey:_,hasOpenedDiff:e.threadKey===_?e.hasOpenedDiff:j,hasOpenedPreview:e.threadKey===_?e.hasOpenedPreview:M,hasOpenedTerminal:e.threadKey===_?e.hasOpenedTerminal:N,hasOpenedSimulator:e.threadKey===_?e.hasOpenedSimulator:P,hasOpenedAgents:e.threadKey===_?e.hasOpenedAgents:F,openedAgentKeys:t})),T===`agent`&&D===e.agentKey&&m({to:`/$environmentId/$threadId`,params:d(n),search:e=>{let n=t[t.length-1];return n?te(e,n):M?ie(e):j?ae(e):N?ne(e):P?p(e):F?f(e):se(e)}});return}let t=e.mode===`review`?!1:j||T===`review`,r=e.mode===`files`?!1:M||T===`files`,i=e.mode===`terminal`?!1:N||T===`terminal`,a=e.mode===`simulator`?!1:P||T===`simulator`,o=e.mode===`agents`?!1:F||T===`agents`;dt(e=>{let n={threadKey:_,hasOpenedDiff:t,hasOpenedPreview:r,hasOpenedTerminal:i,hasOpenedSimulator:a,hasOpenedAgents:o,openedAgentKeys:e.threadKey===_?e.openedAgentKeys:I};return e.threadKey===n.threadKey&&e.hasOpenedDiff===n.hasOpenedDiff&&e.hasOpenedPreview===n.hasOpenedPreview&&e.hasOpenedTerminal===n.hasOpenedTerminal&&e.hasOpenedSimulator===n.hasOpenedSimulator&&e.hasOpenedAgents===n.hasOpenedAgents&&e.openedAgentKeys===n.openedAgentKeys?e:n}),T===e.mode&&m({to:`/$environmentId/$threadId`,params:d(n),search:n=>e.mode!==`files`&&r?ie(n):e.mode!==`review`&&t?ae(n):e.mode!==`terminal`&&i?ne(n):e.mode!==`simulator`&&a?p(n):e.mode!==`agents`&&o?f(n):se(n)})},t[89]=D,t[90]=_,t[91]=F,t[92]=j,t[93]=M,t[94]=P,t[95]=N,t[96]=m,t[97]=I,t[98]=T,t[99]=n,t[100]=Tt):Tt=t[100];let W=Tt,Et,Dt;t[101]!==B||t[102]!==T?(Et=()=>{T!==null&&(bt(T),B(T))},Dt=[B,T],t[101]=B,t[102]=T,t[103]=Et,t[104]=Dt):(Et=t[103],Dt=t[104]),(0,h.useEffect)(Et,Dt);let Ot,kt;t[105]!==D||t[106]!==_||t[107]!==C||t[108]!==F||t[109]!==j||t[110]!==M||t[111]!==P||t[112]!==N||t[113]!==w||t[114]!==T?(Ot=()=>{!_||!D||dt(e=>{let t=e.threadKey===_?e.openedAgentKeys:[];return t.includes(D)?e.threadKey===_?e:{threadKey:_,hasOpenedDiff:j,hasOpenedPreview:M,hasOpenedTerminal:N,hasOpenedSimulator:P,hasOpenedAgents:F,openedAgentKeys:t}:{threadKey:_,hasOpenedDiff:e.threadKey===_?e.hasOpenedDiff:C,hasOpenedPreview:e.threadKey===_?e.hasOpenedPreview:w,hasOpenedTerminal:e.threadKey===_?e.hasOpenedTerminal:T===`terminal`,hasOpenedSimulator:e.threadKey===_?e.hasOpenedSimulator:T===`simulator`,hasOpenedAgents:e.threadKey===_?e.hasOpenedAgents:T===`agents`,openedAgentKeys:[...t,D]}})},kt=[D,_,C,F,j,M,P,N,w,T],t[105]=D,t[106]=_,t[107]=C,t[108]=F,t[109]=j,t[110]=M,t[111]=P,t[112]=N,t[113]=w,t[114]=T,t[115]=Ot,t[116]=kt):(Ot=t[115],kt=t[116]),(0,h.useEffect)(Ot,kt);let At,jt;t[117]!==Le||t[118]!==Qe||t[119]!==Ke||t[120]!==m||t[121]!==Xe||t[122]!==n?(At=()=>{!n||!Le||!Xe&&Qe&&m(Ke?{to:`/$environmentId/$threadId`,params:d(Ke),replace:!0}:{to:`/`,replace:!0})},jt=[Le,Qe,Ke,m,Xe,n],t[117]=Le,t[118]=Qe,t[119]=Ke,t[120]=m,t[121]=Xe,t[122]=n,t[123]=At,t[124]=jt):(At=t[123],jt=t[124]),(0,h.useEffect)(At,jt);let Mt;t[125]!==Je?.promotedTo||t[126]!==S||t[127]!==n?(Mt=()=>{!n||!S||!Je?.promotedTo||ee(n)},t[125]=Je?.promotedTo,t[126]=S,t[127]=n,t[128]=Mt):Mt=t[128];let Nt=Je?.promotedTo,Pt;if(t[129]!==S||t[130]!==Nt||t[131]!==n?(Pt=[Nt,S,n],t[129]=S,t[130]=Nt,t[131]=n,t[132]=Pt):Pt=t[132],(0,h.useEffect)(Mt,Pt),!n||!$e)return null;let G=E||T===`review`||j||T===`files`||M||T===`terminal`||N||T===`simulator`||P||T===`agents`||F||T===`agent`||I.length>0,Ft=E||T===`review`||j||T===`files`||M||T===`terminal`||N||T===`agent`||I.length>0,K=E?T:L;if(O===`phone`){let e,r,i,a;t[133]===B?(e=t[134],r=t[135],i=t[136],a=t[137]):(e=()=>B(`review`),r=()=>B(`files`),i=()=>B(`terminal`),a=()=>B(`agent`),t[133]=B,t[134]=e,t[135]=r,t[136]=i,t[137]=a);let o;t[138]!==E||t[139]!==e||t[140]!==r||t[141]!==i||t[142]!==a||t[143]!==n.environmentId||t[144]!==n.threadId||t[145]!==U?(o=(0,g.jsx)(Ee,{className:`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,children:(0,g.jsx)(pe,{environmentId:n.environmentId,threadId:n.threadId,onDiffPanelOpen:e,onPreviewPanelOpen:r,onTerminalPanelOpen:i,onAgentPanelOpen:a,workspacePanelOpen:E,onToggleWorkspacePanel:U,routeKind:`server`})}),t[138]=E,t[139]=e,t[140]=r,t[141]=i,t[142]=a,t[143]=n.environmentId,t[144]=n.threadId,t[145]=U,t[146]=o):o=t[146];let s;t[147]!==W||t[148]!==K||t[149]!==I||t[150]!==z||t[151]!==Ft?(s=Ft?(0,g.jsx)(ye,{mode:`phone`,panelMode:K,openedPanelModes:z,openedAgentKeys:I,onClosePanelTab:W}):null,t[147]=W,t[148]=K,t[149]=I,t[150]=z,t[151]=Ft,t[152]=s):s=t[152];let c;t[153]!==V||t[154]!==E||t[155]!==s?(c=(0,g.jsx)(_e,{label:`Workspace`,open:E,onClose:V,children:s}),t[153]=V,t[154]=E,t[155]=s,t[156]=c):c=t[156];let l;return t[157]!==o||t[158]!==c?(l=(0,g.jsxs)(g.Fragment,{children:[o,c]}),t[157]=o,t[158]=c,t[159]=l):l=t[159],l}if(!nt){let e=k&&`w-0 flex-none`,r;t[160]===e?r=t[161]:(r=we(`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,e),t[160]=e,t[161]=r);let i=k?!0:void 0,a,o,s,c;t[162]===B?(a=t[163],o=t[164],s=t[165],c=t[166]):(a=()=>B(`review`),o=()=>B(`files`),s=()=>B(`terminal`),c=()=>B(`agent`),t[162]=B,t[163]=a,t[164]=o,t[165]=s,t[166]=c);let l;t[167]!==E||t[168]!==a||t[169]!==o||t[170]!==s||t[171]!==c||t[172]!==n.environmentId||t[173]!==n.threadId||t[174]!==U?(l=(0,g.jsx)(pe,{environmentId:n.environmentId,threadId:n.threadId,onDiffPanelOpen:a,onPreviewPanelOpen:o,onTerminalPanelOpen:s,onAgentPanelOpen:c,workspacePanelOpen:E,onToggleWorkspacePanel:U,routeKind:`server`}),t[167]=E,t[168]=a,t[169]=o,t[170]=s,t[171]=c,t[172]=n.environmentId,t[173]=n.threadId,t[174]=U,t[175]=l):l=t[175];let u;t[176]!==r||t[177]!==i||t[178]!==l?(u=(0,g.jsx)(Ee,{className:r,inert:i,children:l}),t[176]=r,t[177]=i,t[178]=l,t[179]=u):u=t[179];let ee=k&&ot,d;t[180]!==W||t[181]!==V||t[182]!==K||t[183]!==H||t[184]!==I||t[185]!==z||t[186]!==k||t[187]!==E||t[188]!==G||t[189]!==ee||t[190]!==lt?(d=(0,g.jsx)(ge,{open:E,panelMode:K,openedPanelModes:z,openedAgentKeys:I,onClosePanelTab:W,onClose:V,onOpen:H,renderContent:G,maximized:k,onToggleMaximized:lt,reserveChromeInset:ee}),t[180]=W,t[181]=V,t[182]=K,t[183]=H,t[184]=I,t[185]=z,t[186]=k,t[187]=E,t[188]=G,t[189]=ee,t[190]=lt,t[191]=d):d=t[191];let f;return t[192]!==u||t[193]!==d?(f=(0,g.jsxs)(g.Fragment,{children:[u,d]}),t[192]=u,t[193]=d,t[194]=f):f=t[194],f}let q,J,Y,X;t[195]===B?(q=t[196],J=t[197],Y=t[198],X=t[199]):(q=()=>B(`review`),J=()=>B(`files`),Y=()=>B(`terminal`),X=()=>B(`agent`),t[195]=B,t[196]=q,t[197]=J,t[198]=Y,t[199]=X);let Z;t[200]!==E||t[201]!==q||t[202]!==J||t[203]!==Y||t[204]!==X||t[205]!==n.environmentId||t[206]!==n.threadId||t[207]!==U?(Z=(0,g.jsx)(Ee,{className:`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,children:(0,g.jsx)(pe,{environmentId:n.environmentId,threadId:n.threadId,onDiffPanelOpen:q,onPreviewPanelOpen:J,onTerminalPanelOpen:Y,onAgentPanelOpen:X,workspacePanelOpen:E,onToggleWorkspacePanel:U,routeKind:`server`})}),t[200]=E,t[201]=q,t[202]=J,t[203]=Y,t[204]=X,t[205]=n.environmentId,t[206]=n.threadId,t[207]=U,t[208]=Z):Z=t[208];let Q;t[209]!==W||t[210]!==K||t[211]!==I||t[212]!==z||t[213]!==G?(Q=G?(0,g.jsx)(ye,{mode:`sheet`,panelMode:K,openedPanelModes:z,openedAgentKeys:I,onClosePanelTab:W}):null,t[209]=W,t[210]=K,t[211]=I,t[212]=z,t[213]=G,t[214]=Q):Q=t[214];let $;t[215]!==V||t[216]!==E||t[217]!==Q?($=(0,g.jsx)(le,{open:E,onClose:V,children:Q}),t[215]=V,t[216]=E,t[217]=Q,t[218]=$):$=t[218];let It;return t[219]!==Z||t[220]!==$?(It=(0,g.jsxs)(g.Fragment,{children:[Z,$]}),t[219]=Z,t[220]=$,t[221]=It):It=t[221],It}function ke(e){return m(e)}function Ae(e){return p(e)}function je(e){return e.consumeOpenRequest}function Me(e){return e.sidebarThreadSortOrder}export{_ as ChatThreadRouteView};
1
+ import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{Et as r,Gt as i,Pt as a,Yt as o,kt as s,zn as c}from"./runtime-CYtynKGT.js";import{Dt as l}from"./primary-CiDY2oUi.js";import{It as u,t as ee}from"./composerDraftStore-TYv9j3vY.js";import{c as d}from"./useSwipeDismiss-D22_vuiH.js";import{a as f,c as p,i as te,l as ne,n as re,o as ie,s as ae,t as oe,u as se}from"./rightPanelRouteSearch-BS8CkNS6.js";import{t as ce}from"./useNavigate-2tVq4iZ2.js";import{a as le,f as ue,g as de,h as fe,i as pe,l as me,m as he,n as ge,o as _e,r as m,s as ve,t as ye,u as be}from"./ChatRightPanel-CxA4EQ1O.js";import{r as xe}from"./desktopWorkspace-CIvAIvMt.js";import{o as Se,s as Ce}from"./tabSwitchInstrumentation-CLDM7g1_.js";import"./device-B3lHunk1.js";import{t as we}from"./utils-CV2fJJxC.js";import"./storeSelectors-BeLJe5C1.js";import{t as Te}from"./usePresentationTier-B_SCFvN7.js";import{o as Ee}from"./sidebar-CFGg5Tkr.js";import{n as De}from"./NoActiveThreadState-z_FeP4Al.js";var Oe=n(),h=e(t(),1),g=u();function _(e){let t=(0,Oe.c)(222),{threadRef:n,search:u}=e;Se(`ChatThreadRouteView`);let m=ce(),_=n?`${n.environmentId}:${n.threadId}`:null,v=n?.environmentId??null,y=n?.threadId??null,Ne;t[0]!==m||t[1]!==n?(Ne=e=>{n&&m({to:`/$environmentId/$threadId`,params:d(n),replace:!0,search:e})},t[0]=m,t[1]=n,t[2]=Ne):Ne=t[2];let Pe=Ne,Fe;t[3]!==_||t[4]!==Pe||t[5]!==u?(Fe={threadKey:_,search:u,replaceSearch:Pe},t[3]=_,t[4]=Pe,t[5]=u,t[6]=Fe):Fe=t[6];let b=be(Fe),Ie;t[7]===n?.environmentId?Ie=t[8]:(Ie=e=>a(e,n?.environmentId??null).bootstrapComplete,t[7]=n?.environmentId,t[8]=Ie);let Le=o(Ie),Re;t[9]===n?Re=t[10]:(Re=s(n),t[9]=n,t[10]=Re);let ze=o(Re),Be;t[11]===n?Be=t[12]:(Be=e=>i(e,n),t[11]=n,t[12]=Be);let Ve=o(Be),He;t[13]===n?.environmentId?He=t[14]:(He=e=>a(e,n?.environmentId??null).threadIds.length>0,t[13]=n?.environmentId,t[14]=He);let Ue=o(He),We=c(Me),x;t[15]!==We||t[16]!==n?.environmentId?(x=()=>r(n?.environmentId??null,We),t[15]=We,t[16]=n?.environmentId,t[17]=x):x=t[17],n?.environmentId;let Ge;t[18]===x?Ge=t[19]:(Ge=x(),t[18]=x,t[19]=Ge);let Ke=o(Ge),qe=fe(n),Je=he(n),Ye=de(n?.environmentId),Xe=Ve||qe,Ze;t[20]===ze?Ze=t[21]:(Ze=ve(ze),t[20]=ze,t[21]=Ze);let S=Ze,Qe=Ue||Ye,$e=Xe&&(Le||ze!==void 0),C=b.diff===`1`,w=b.preview===`1`,et;t[22]===b?et=t[23]:(et=oe(b),t[22]=b,t[23]=et);let T=et,tt;t[24]===b?tt=t[25]:(tt=re(b),t[24]=b,t[25]=tt);let E=tt,D=b.workspaceTab===`agent`&&b.workspaceAgentKey?b.workspaceAgentKey:null,nt=Ce(me),O=Te(),rt;t[26]===_?rt=t[27]:(rt=e=>_?e.pendingOpenByThreadKey[_]:void 0,t[26]=_,t[27]=rt);let it=l(rt),at=l(je),ot=De(),st=!nt&&O!==`phone`,ct;t[28]!==_||t[29]!==E||t[30]!==st?(ct={threadKey:_,open:E,canMaximize:st},t[28]=_,t[29]=E,t[30]=st,t[31]=ct):ct=t[31];let{maximized:k,toggleMaximized:lt}=ue(ct),ut;t[32]!==D||t[33]!==_||t[34]!==C||t[35]!==w||t[36]!==T?(ut=()=>({threadKey:_,hasOpenedDiff:C,hasOpenedPreview:w,hasOpenedTerminal:T===`terminal`,hasOpenedSimulator:T===`simulator`,hasOpenedAgents:T===`agents`,openedAgentKeys:D?[D]:[]}),t[32]=D,t[33]=_,t[34]=C,t[35]=w,t[36]=T,t[37]=ut):ut=t[37];let[A,dt]=(0,h.useState)(ut),ft,pt;t[38]!==v||t[39]!==y?(ft=()=>{if(!(!v||!y))return xe(v,y)},pt=[v,y],t[38]=v,t[39]=y,t[40]=ft,t[41]=pt):(ft=t[40],pt=t[41]),(0,h.useEffect)(ft,pt);let mt,ht;t[42]!==at||t[43]!==m||t[44]!==it||t[45]!==O||t[46]!==n?(mt=()=>{!n||!it||O===`phone`||(at(n.environmentId,n.threadId),m({to:`/$environmentId/$threadId`,params:d(n),search:Ae}))},ht=[at,m,it,O,n],t[42]=at,t[43]=m,t[44]=it,t[45]=O,t[46]=n,t[47]=mt,t[48]=ht):(mt=t[47],ht=t[48]),(0,h.useEffect)(mt,ht);let j=A.threadKey===_?A.hasOpenedDiff:C,M=A.threadKey===_?A.hasOpenedPreview:w,N=A.threadKey===_?A.hasOpenedTerminal:T===`terminal`,P=A.threadKey===_?A.hasOpenedSimulator:T===`simulator`,F=A.threadKey===_?A.hasOpenedAgents:T===`agents`,gt;t[49]!==D||t[50]!==_||t[51]!==A.openedAgentKeys||t[52]!==A.threadKey?(gt=A.threadKey===_?A.openedAgentKeys:D?[D]:[],t[49]=D,t[50]=_,t[51]=A.openedAgentKeys,t[52]=A.threadKey,t[53]=gt):gt=t[53];let _t=gt,vt;t[54]!==D||t[55]!==_t?(vt=D&&!_t.includes(D)?[..._t,D]:_t,t[54]=D,t[55]=_t,t[56]=vt):vt=t[56];let I=vt,yt;t[57]===T?yt=t[58]:(yt=()=>T??`review`,t[57]=T,t[58]=yt);let[L,bt]=(0,h.useState)(yt),R;t[59]!==F||t[60]!==j||t[61]!==M||t[62]!==P||t[63]!==N||t[64]!==T?(R=[],(M||T===`files`)&&R.push(`files`),(j||T===`review`)&&R.push(`review`),(N||T===`terminal`)&&R.push(`terminal`),(P||T===`simulator`)&&R.push(`simulator`),(F||T===`agents`)&&R.push(`agents`),t[59]=F,t[60]=j,t[61]=M,t[62]=P,t[63]=N,t[64]=T,t[65]=R):R=t[65];let z=R,xt;t[66]!==_||t[67]!==C||t[68]!==I||t[69]!==w||t[70]!==T?(xt=e=>{bt(e),dt(t=>{let n={threadKey:_,hasOpenedDiff:(t.threadKey===_?t.hasOpenedDiff:C)||e===`review`,hasOpenedPreview:(t.threadKey===_?t.hasOpenedPreview:w)||e===`files`,hasOpenedTerminal:(t.threadKey===_?t.hasOpenedTerminal:T===`terminal`)||e===`terminal`,hasOpenedSimulator:(t.threadKey===_?t.hasOpenedSimulator:T===`simulator`)||e===`simulator`,hasOpenedAgents:(t.threadKey===_?t.hasOpenedAgents:T===`agents`)||e===`agents`,openedAgentKeys:t.threadKey===_?t.openedAgentKeys:I};return t.threadKey===n.threadKey&&t.hasOpenedDiff===n.hasOpenedDiff&&t.hasOpenedPreview===n.hasOpenedPreview&&t.hasOpenedTerminal===n.hasOpenedTerminal&&t.hasOpenedSimulator===n.hasOpenedSimulator&&t.hasOpenedAgents===n.hasOpenedAgents&&t.openedAgentKeys===n.openedAgentKeys?t:n})},t[66]=_,t[67]=C,t[68]=I,t[69]=w,t[70]=T,t[71]=xt):xt=t[71];let B=xt,St;t[72]!==m||t[73]!==n?(St=()=>{n&&m({to:`/$environmentId/$threadId`,params:d(n),search:ke})},t[72]=m,t[73]=n,t[74]=St):St=t[74];let V=St,Ct;t[75]!==F||t[76]!==j||t[77]!==M||t[78]!==P||t[79]!==N||t[80]!==L||t[81]!==m||t[82]!==I||t[83]!==n?(Ct=()=>{n&&m({to:`/$environmentId/$threadId`,params:d(n),search:e=>{let t=I[I.length-1];return L===`agent`&&t?te(e,t):L===`files`&&M?ie(e):L===`review`&&j?ae(e):L===`terminal`&&N?ne(e):L===`simulator`&&P?p(e):L===`agents`&&F?f(e):M?ie(e):j?ae(e):N?ne(e):P?p(e):F?f(e):t?te(e,t):se(e)}})},t[75]=F,t[76]=j,t[77]=M,t[78]=P,t[79]=N,t[80]=L,t[81]=m,t[82]=I,t[83]=n,t[84]=Ct):Ct=t[84];let H=Ct,wt;t[85]!==V||t[86]!==H||t[87]!==E?(wt=()=>{if(E){V();return}H()},t[85]=V,t[86]=H,t[87]=E,t[88]=wt):wt=t[88];let U=wt,Tt;t[89]!==D||t[90]!==_||t[91]!==F||t[92]!==j||t[93]!==M||t[94]!==P||t[95]!==N||t[96]!==m||t[97]!==I||t[98]!==T||t[99]!==n?(Tt=e=>{if(!n)return;if(e.mode===`agent`){let t=I.filter(t=>t!==e.agentKey);dt(e=>({threadKey:_,hasOpenedDiff:e.threadKey===_?e.hasOpenedDiff:j,hasOpenedPreview:e.threadKey===_?e.hasOpenedPreview:M,hasOpenedTerminal:e.threadKey===_?e.hasOpenedTerminal:N,hasOpenedSimulator:e.threadKey===_?e.hasOpenedSimulator:P,hasOpenedAgents:e.threadKey===_?e.hasOpenedAgents:F,openedAgentKeys:t})),T===`agent`&&D===e.agentKey&&m({to:`/$environmentId/$threadId`,params:d(n),search:e=>{let n=t[t.length-1];return n?te(e,n):M?ie(e):j?ae(e):N?ne(e):P?p(e):F?f(e):se(e)}});return}let t=e.mode===`review`?!1:j||T===`review`,r=e.mode===`files`?!1:M||T===`files`,i=e.mode===`terminal`?!1:N||T===`terminal`,a=e.mode===`simulator`?!1:P||T===`simulator`,o=e.mode===`agents`?!1:F||T===`agents`;dt(e=>{let n={threadKey:_,hasOpenedDiff:t,hasOpenedPreview:r,hasOpenedTerminal:i,hasOpenedSimulator:a,hasOpenedAgents:o,openedAgentKeys:e.threadKey===_?e.openedAgentKeys:I};return e.threadKey===n.threadKey&&e.hasOpenedDiff===n.hasOpenedDiff&&e.hasOpenedPreview===n.hasOpenedPreview&&e.hasOpenedTerminal===n.hasOpenedTerminal&&e.hasOpenedSimulator===n.hasOpenedSimulator&&e.hasOpenedAgents===n.hasOpenedAgents&&e.openedAgentKeys===n.openedAgentKeys?e:n}),T===e.mode&&m({to:`/$environmentId/$threadId`,params:d(n),search:n=>e.mode!==`files`&&r?ie(n):e.mode!==`review`&&t?ae(n):e.mode!==`terminal`&&i?ne(n):e.mode!==`simulator`&&a?p(n):e.mode!==`agents`&&o?f(n):se(n)})},t[89]=D,t[90]=_,t[91]=F,t[92]=j,t[93]=M,t[94]=P,t[95]=N,t[96]=m,t[97]=I,t[98]=T,t[99]=n,t[100]=Tt):Tt=t[100];let W=Tt,Et,Dt;t[101]!==B||t[102]!==T?(Et=()=>{T!==null&&(bt(T),B(T))},Dt=[B,T],t[101]=B,t[102]=T,t[103]=Et,t[104]=Dt):(Et=t[103],Dt=t[104]),(0,h.useEffect)(Et,Dt);let Ot,kt;t[105]!==D||t[106]!==_||t[107]!==C||t[108]!==F||t[109]!==j||t[110]!==M||t[111]!==P||t[112]!==N||t[113]!==w||t[114]!==T?(Ot=()=>{!_||!D||dt(e=>{let t=e.threadKey===_?e.openedAgentKeys:[];return t.includes(D)?e.threadKey===_?e:{threadKey:_,hasOpenedDiff:j,hasOpenedPreview:M,hasOpenedTerminal:N,hasOpenedSimulator:P,hasOpenedAgents:F,openedAgentKeys:t}:{threadKey:_,hasOpenedDiff:e.threadKey===_?e.hasOpenedDiff:C,hasOpenedPreview:e.threadKey===_?e.hasOpenedPreview:w,hasOpenedTerminal:e.threadKey===_?e.hasOpenedTerminal:T===`terminal`,hasOpenedSimulator:e.threadKey===_?e.hasOpenedSimulator:T===`simulator`,hasOpenedAgents:e.threadKey===_?e.hasOpenedAgents:T===`agents`,openedAgentKeys:[...t,D]}})},kt=[D,_,C,F,j,M,P,N,w,T],t[105]=D,t[106]=_,t[107]=C,t[108]=F,t[109]=j,t[110]=M,t[111]=P,t[112]=N,t[113]=w,t[114]=T,t[115]=Ot,t[116]=kt):(Ot=t[115],kt=t[116]),(0,h.useEffect)(Ot,kt);let At,jt;t[117]!==Le||t[118]!==Qe||t[119]!==Ke||t[120]!==m||t[121]!==Xe||t[122]!==n?(At=()=>{!n||!Le||!Xe&&Qe&&m(Ke?{to:`/$environmentId/$threadId`,params:d(Ke),replace:!0}:{to:`/`,replace:!0})},jt=[Le,Qe,Ke,m,Xe,n],t[117]=Le,t[118]=Qe,t[119]=Ke,t[120]=m,t[121]=Xe,t[122]=n,t[123]=At,t[124]=jt):(At=t[123],jt=t[124]),(0,h.useEffect)(At,jt);let Mt;t[125]!==Je?.promotedTo||t[126]!==S||t[127]!==n?(Mt=()=>{!n||!S||!Je?.promotedTo||ee(n)},t[125]=Je?.promotedTo,t[126]=S,t[127]=n,t[128]=Mt):Mt=t[128];let Nt=Je?.promotedTo,Pt;if(t[129]!==S||t[130]!==Nt||t[131]!==n?(Pt=[Nt,S,n],t[129]=S,t[130]=Nt,t[131]=n,t[132]=Pt):Pt=t[132],(0,h.useEffect)(Mt,Pt),!n||!$e)return null;let G=E||T===`review`||j||T===`files`||M||T===`terminal`||N||T===`simulator`||P||T===`agents`||F||T===`agent`||I.length>0,Ft=E||T===`review`||j||T===`files`||M||T===`terminal`||N||T===`agent`||I.length>0,K=E?T:L;if(O===`phone`){let e,r,i,a;t[133]===B?(e=t[134],r=t[135],i=t[136],a=t[137]):(e=()=>B(`review`),r=()=>B(`files`),i=()=>B(`terminal`),a=()=>B(`agent`),t[133]=B,t[134]=e,t[135]=r,t[136]=i,t[137]=a);let o;t[138]!==E||t[139]!==e||t[140]!==r||t[141]!==i||t[142]!==a||t[143]!==n.environmentId||t[144]!==n.threadId||t[145]!==U?(o=(0,g.jsx)(Ee,{className:`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,children:(0,g.jsx)(pe,{environmentId:n.environmentId,threadId:n.threadId,onDiffPanelOpen:e,onPreviewPanelOpen:r,onTerminalPanelOpen:i,onAgentPanelOpen:a,workspacePanelOpen:E,onToggleWorkspacePanel:U,routeKind:`server`})}),t[138]=E,t[139]=e,t[140]=r,t[141]=i,t[142]=a,t[143]=n.environmentId,t[144]=n.threadId,t[145]=U,t[146]=o):o=t[146];let s;t[147]!==W||t[148]!==K||t[149]!==I||t[150]!==z||t[151]!==Ft?(s=Ft?(0,g.jsx)(ye,{mode:`phone`,panelMode:K,openedPanelModes:z,openedAgentKeys:I,onClosePanelTab:W}):null,t[147]=W,t[148]=K,t[149]=I,t[150]=z,t[151]=Ft,t[152]=s):s=t[152];let c;t[153]!==V||t[154]!==E||t[155]!==s?(c=(0,g.jsx)(_e,{label:`Workspace`,open:E,onClose:V,children:s}),t[153]=V,t[154]=E,t[155]=s,t[156]=c):c=t[156];let l;return t[157]!==o||t[158]!==c?(l=(0,g.jsxs)(g.Fragment,{children:[o,c]}),t[157]=o,t[158]=c,t[159]=l):l=t[159],l}if(!nt){let e=k&&`w-0 flex-none`,r;t[160]===e?r=t[161]:(r=we(`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,e),t[160]=e,t[161]=r);let i=k?!0:void 0,a,o,s,c;t[162]===B?(a=t[163],o=t[164],s=t[165],c=t[166]):(a=()=>B(`review`),o=()=>B(`files`),s=()=>B(`terminal`),c=()=>B(`agent`),t[162]=B,t[163]=a,t[164]=o,t[165]=s,t[166]=c);let l;t[167]!==E||t[168]!==a||t[169]!==o||t[170]!==s||t[171]!==c||t[172]!==n.environmentId||t[173]!==n.threadId||t[174]!==U?(l=(0,g.jsx)(pe,{environmentId:n.environmentId,threadId:n.threadId,onDiffPanelOpen:a,onPreviewPanelOpen:o,onTerminalPanelOpen:s,onAgentPanelOpen:c,workspacePanelOpen:E,onToggleWorkspacePanel:U,routeKind:`server`}),t[167]=E,t[168]=a,t[169]=o,t[170]=s,t[171]=c,t[172]=n.environmentId,t[173]=n.threadId,t[174]=U,t[175]=l):l=t[175];let u;t[176]!==r||t[177]!==i||t[178]!==l?(u=(0,g.jsx)(Ee,{className:r,inert:i,children:l}),t[176]=r,t[177]=i,t[178]=l,t[179]=u):u=t[179];let ee=k&&ot,d;t[180]!==W||t[181]!==V||t[182]!==K||t[183]!==H||t[184]!==I||t[185]!==z||t[186]!==k||t[187]!==E||t[188]!==G||t[189]!==ee||t[190]!==lt?(d=(0,g.jsx)(ge,{open:E,panelMode:K,openedPanelModes:z,openedAgentKeys:I,onClosePanelTab:W,onClose:V,onOpen:H,renderContent:G,maximized:k,onToggleMaximized:lt,reserveChromeInset:ee}),t[180]=W,t[181]=V,t[182]=K,t[183]=H,t[184]=I,t[185]=z,t[186]=k,t[187]=E,t[188]=G,t[189]=ee,t[190]=lt,t[191]=d):d=t[191];let f;return t[192]!==u||t[193]!==d?(f=(0,g.jsxs)(g.Fragment,{children:[u,d]}),t[192]=u,t[193]=d,t[194]=f):f=t[194],f}let q,J,Y,X;t[195]===B?(q=t[196],J=t[197],Y=t[198],X=t[199]):(q=()=>B(`review`),J=()=>B(`files`),Y=()=>B(`terminal`),X=()=>B(`agent`),t[195]=B,t[196]=q,t[197]=J,t[198]=Y,t[199]=X);let Z;t[200]!==E||t[201]!==q||t[202]!==J||t[203]!==Y||t[204]!==X||t[205]!==n.environmentId||t[206]!==n.threadId||t[207]!==U?(Z=(0,g.jsx)(Ee,{className:`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,children:(0,g.jsx)(pe,{environmentId:n.environmentId,threadId:n.threadId,onDiffPanelOpen:q,onPreviewPanelOpen:J,onTerminalPanelOpen:Y,onAgentPanelOpen:X,workspacePanelOpen:E,onToggleWorkspacePanel:U,routeKind:`server`})}),t[200]=E,t[201]=q,t[202]=J,t[203]=Y,t[204]=X,t[205]=n.environmentId,t[206]=n.threadId,t[207]=U,t[208]=Z):Z=t[208];let Q;t[209]!==W||t[210]!==K||t[211]!==I||t[212]!==z||t[213]!==G?(Q=G?(0,g.jsx)(ye,{mode:`sheet`,panelMode:K,openedPanelModes:z,openedAgentKeys:I,onClosePanelTab:W}):null,t[209]=W,t[210]=K,t[211]=I,t[212]=z,t[213]=G,t[214]=Q):Q=t[214];let $;t[215]!==V||t[216]!==E||t[217]!==Q?($=(0,g.jsx)(le,{open:E,onClose:V,children:Q}),t[215]=V,t[216]=E,t[217]=Q,t[218]=$):$=t[218];let It;return t[219]!==Z||t[220]!==$?(It=(0,g.jsxs)(g.Fragment,{children:[Z,$]}),t[219]=Z,t[220]=$,t[221]=It):It=t[221],It}function ke(e){return m(e)}function Ae(e){return p(e)}function je(e){return e.consumeOpenRequest}function Me(e){return e.sidebarThreadSortOrder}export{_ as ChatThreadRouteView};
@@ -1 +1 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{_ as r,g as i,y as a}from"./env-Bcq9YR3B.js";import{Jc as o,V as s,nt as c,st as l,t as u}from"./src-DmPIm3ie.js";import{At as d,Cn as ee,Hn as te,It as ne,Mt as f,Nn as re,O as ie,Pn as ae,R as oe,Rt as se,Wn as ce,Yt as le,bn as ue,cn as de,gn as fe,ut as pe,x as me,xn as he,zn as ge}from"./runtime-QZPKtH2P.js";import{a as _e,r as ve}from"./primary-CiDY2oUi.js";import{t as ye}from"./useDebouncedValue-s0BC8Yyp.js";import{It as be}from"./composerDraftStore-TYv9j3vY.js";import{c as xe}from"./useSwipeDismiss-D22_vuiH.js";import{t as Se}from"./useHandleNewThread-ByVfL71G.js";import{t as Ce}from"./useNavigate-2tVq4iZ2.js";import{L as we,h as Te,m as Ee,n as De,t as Oe}from"./ThreadStatusIndicators-C40TYVEC.js";import{t as ke}from"./presentationTier-xlIjcFab.js";import{t as Ae}from"./settingsDialogStore-LxRFC5hh.js";import{i as p}from"./uiStateStore-DzUrk2GS.js";import{c as je,o as Me}from"./BranchToolbar.logic-6LRTxcuo.js";import{f as Ne}from"./useRenderElement-DchFnsR8.js";import{n as Pe,t as Fe}from"./arrow-up-CTcWIlqV.js";import{t as Ie}from"./arrow-left-Dtj9PfsA.js";import{t as Le}from"./chart-column-Dw6ACmXM.js";import{t as Re}from"./chevron-right-BWYGybX9.js";import{n as m,t as h}from"./kbd-DbvN3zTb.js";import{t as ze}from"./circle-alert-BWvs6IOn.js";import{i as g}from"./toast-C-0Ft2jD.js";import{i as _,n as Be,r as Ve,t as He}from"./square-pen-Bj3p_Q8E.js";import{t as Ue}from"./folder-DtsQoI9_.js";import{i as v,n as We,r as Ge}from"./chatThreadActions-BZvyhfKr.js";import{a as Ke,c as qe,d as Je,f as Ye,g as Xe,h as Ze,i as Qe,l as $e,m as et,n as tt,o as nt,r as rt,s as it,t as at,u as ot}from"./projectPaths-D8b4yLOe.js";import{t as st}from"./shallow-DWZCFNun.js";import{i as ct,n as lt,r as y,s as ut,t as b}from"./utils-CV2fJJxC.js";import{i as x}from"./timestampFormat-8uPXS812.js";import{_ as dt}from"./keybindings-BPE3eEAM.js";import{i as ft,n as pt,t as mt}from"./tooltip-C_-9XEfA.js";import{c as S,d as C,f as ht,i as gt,l as _t,m as w,n as vt,o as yt,s as bt,t as xt,u as T}from"./command-Cyn6yIEa.js";import{a as E,c as St,f as D,i as O,u as k}from"./Icons-BEtED8P8.js";import{t as Ct}from"./ProjectFavicon-BjXJxNbQ.js";import{t as wt}from"./button-DG8WqjNn.js";import{t as A}from"./toastHelpers-CSQRKo4F.js";import{n as Tt}from"./composerHandleContext-BrQ6d8r9.js";import{t as Et}from"./capabilities-xa5Ll0KT.js";import{n as Dt,r as Ot}from"./threadPinning-D2e9MEDr.js";var kt=Ne(`corner-left-up`,[[`path`,{d:`M14 9 9 4 4 9`,key:`1af5af`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`,key:`1blwi3`}]]),At=Ne(`folder-symlink`,[[`path`,{d:`M2 9.35V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`,key:`y8kt7d`}],[`path`,{d:`m8 16 3-3-3-3`,key:`rlqrt1`}]]),jt=Ne(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),j=e(t(),1),Mt=n(),M=`size-4 text-muted-foreground/80`,N=`size-4`;function Nt(e){return e.isAlias?`browse:alias:${e.name}:${e.fullPath}`:`browse:${e.fullPath}`}function Pt(e){let t=e.browseFilterQuery.toLowerCase(),n=e.browseFilterQuery.startsWith(`.`),r=e.browseEntries.filter(e=>e.name.toLowerCase().startsWith(t)&&(n||!e.name.startsWith(`.`))),i=null,a=e.highlightedItemValue;a&&a.startsWith(`browse:`)&&(i=r.find(e=>Nt(e)===a)??null);let o=e.browseFilterQuery.length>0?r.find(t=>t.name===e.browseFilterQuery)??null:null;return{filteredEntries:r,highlightedEntry:i,exactEntry:o}}function P(e){return e.trim().toLowerCase().replace(/\s+/g,` `)}function Ft(e){return e.projects.map(t=>({kind:`action`,value:`${e.valuePrefix}:${t.environmentId}:${t.id}`,searchTerms:[t.name,t.cwd],title:t.name,description:t.cwd,icon:e.icon(t),run:async()=>{await e.runProject(t)}}))}function It(e){let t=f(e.threads.filter(e=>e.archivedAt===null),e.sortOrder);return(e.limit===void 0?t:t.slice(0,e.limit)).map(t=>{let n=e.projectTitleById.get(t.projectId),r=[];n&&r.push(n),t.branch&&r.push(`#${t.branch}`),t.id===e.activeThreadId&&r.push(`Current thread`);let i=e.renderLeadingContent?.(t),a=e.renderTrailingContent?.(t);return Object.assign({kind:`action`,value:`thread:${t.id}`,searchTerms:[t.title,n??``,t.branch??``],title:t.title,description:r.join(` · `),timestamp:x(t.latestUserMessageAt??t.updatedAt??t.createdAt),icon:e.icon},i?{titleLeadingContent:i}:{},a?{titleTrailingContent:a}:{},{run:async()=>{await e.runThread(t)}})})}function F(e,t){let n=P(e);return n.length===0||!n.includes(t)?-1/0:n===t?3:n.startsWith(t)?2:1}function Lt(e,t){let n=e.searchTerms.filter(e=>e.length>0);if(n.length===0)return 0;for(let[e,r]of n.entries()){let n=F(r,t);if(n!==-1/0)return 1e3-e*100+n}return 0}function Rt(e){return e.searchResults.map(t=>{let n=e.threadTitleById.get(t.threadId)??`Thread`,r=e.projectTitleByThreadId.get(t.threadId),i=[n,r].filter(Boolean).join(` · `);return{kind:`action`,value:`message:${t.environmentId}:${t.threadId}:${t.messageId}`,searchTerms:[t.snippet,n,r??``],title:t.snippet,description:i,timestamp:x(t.timestamp),icon:e.icon,run:async()=>{await e.runMessage(t)}}})}function zt(e){let t=e.query.startsWith(`>`),n=P(t?e.query.slice(1):e.query);if(n.length===0)return t?e.activeGroups.filter(e=>e.value===`actions`):[...e.activeGroups];let r=[...e.activeGroups];t?r=r.filter(e=>e.value===`actions`):e.isInSubmenu||(r=r.filter(e=>e.value!==`recent-threads`));let i=[...r];return!e.isInSubmenu&&!t&&(e.projectSearchItems.length>0&&i.push({value:`projects-search`,label:`Projects`,items:e.projectSearchItems}),e.threadSearchItems.length>0&&i.push({value:`threads-search`,label:`Threads`,items:e.threadSearchItems}),e.messageSearchItems&&e.messageSearchItems.length>0&&i.push({value:`messages-search`,label:`Messages`,items:e.messageSearchItems})),i.flatMap(e=>{let t=e.items.map((e,t)=>P(e.searchTerms.join(` `)).includes(n)?{item:e,index:t,rank:Lt(e,n)}:null).filter(e=>e!==null).toSorted((e,t)=>t.rank-e.rank||e.index-t.index).map(e=>e.item);return t.length===0?[]:[{value:e.value,label:e.label,items:t}]})}function Bt(e){let t=[];e.canBrowseUp&&t.push({kind:`action`,value:`browse:up`,searchTerms:[e.browseQuery,`..`],title:`..`,icon:e.upIcon,keepOpen:!0,run:async()=>{e.browseUp()}});for(let n of e.browseEntries)t.push({kind:`action`,value:Nt(n),searchTerms:[e.browseQuery,n.fullPath,n.name],title:n.name,icon:n.isSymlink?e.symlinkIcon:e.directoryIcon,keepOpen:!0,run:async()=>{n.isAlias?e.browseToPath(n.fullPath):e.browseTo(n.name)}});return[{value:`directories`,label:`Directories`,items:t}]}function Vt(e){return e.currentView?e.isBrowsing?`submenu-browse`:`submenu`:e.isBrowsing?`root-browse`:`root`}function Ht(e){let t=[];return e.actionItems.length>0&&t.push({value:`actions`,label:`Actions`,items:e.actionItems}),e.recentThreadItems.length>0&&t.push({value:`recent-threads`,label:`Recent Threads`,items:e.recentThreadItems}),t}function Ut(e){switch(e){case`root`:return`Search commands, projects, and threads...`;case`root-browse`:return`Enter project path (e.g. ~/projects/my-app)`;case`submenu`:return`Search...`;case`submenu-browse`:return`Enter path (e.g. ~/projects/my-app)`}}var I=be();function Wt(e){let t=(0,Mt.c)(13);if(e.groups.length===0){let n=e.emptyStateMessage??(e.isActionsOnly?`No matching actions.`:`No matching commands, projects, or threads.`),r;return t[0]===n?r=t[1]:(r=(0,I.jsx)(`div`,{className:`py-10 text-center text-sm text-muted-foreground`,children:n}),t[0]=n,t[1]=r),r}let n;if(t[2]!==e.groups||t[3]!==e.highlightedItemValue||t[4]!==e.keybindings||t[5]!==e.onExecuteItem){let r;t[7]!==e.highlightedItemValue||t[8]!==e.keybindings||t[9]!==e.onExecuteItem?(r=t=>(0,I.jsxs)(bt,{items:t.items,children:[(0,I.jsx)(S,{children:t.label}),(0,I.jsx)(vt,{children:t=>t.disabled?(0,I.jsx)(Gt,{item:t},t.value):(0,I.jsx)(L,{item:t,keybindings:e.keybindings,isActive:e.highlightedItemValue===t.value,onExecuteItem:e.onExecuteItem},t.value)})]},t.value),t[7]=e.highlightedItemValue,t[8]=e.keybindings,t[9]=e.onExecuteItem,t[10]=r):r=t[10],n=e.groups.map(r),t[2]=e.groups,t[3]=e.highlightedItemValue,t[4]=e.keybindings,t[5]=e.onExecuteItem,t[6]=n}else n=t[6];let r;return t[11]===n?r=t[12]:(r=(0,I.jsx)(C,{children:n}),t[11]=n,t[12]=r),r}function Gt(e){let t=(0,Mt.c)(8),n;t[0]!==e.item.description||t[1]!==e.item.title||t[2]!==e.item.titleLeadingContent?(n=e.item.description?(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 text-sm text-foreground`,children:[e.item.titleLeadingContent,(0,I.jsx)(`span`,{className:`truncate`,children:e.item.title})]}),(0,I.jsx)(`span`,{className:`truncate text-muted-foreground/70 text-xs`,children:e.item.description})]}):(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 text-sm text-foreground`,children:[e.item.titleLeadingContent,(0,I.jsx)(`span`,{className:`truncate`,children:e.item.title})]}),t[0]=e.item.description,t[1]=e.item.title,t[2]=e.item.titleLeadingContent,t[3]=n):n=t[3];let r;return t[4]!==e.item.icon||t[5]!==e.item.titleTrailingContent||t[6]!==n?(r=(0,I.jsxs)(`div`,{className:`flex min-h-8 select-none items-center gap-2 rounded-sm px-2 py-1.5 text-base opacity-64 sm:min-h-7 sm:text-sm`,children:[e.item.icon,n,e.item.titleTrailingContent]}),t[4]=e.item.icon,t[5]=e.item.titleTrailingContent,t[6]=n,t[7]=r):r=t[7],r}function L(e){let t=(0,Mt.c)(27),n;t[0]!==e.item.shortcutCommand||t[1]!==e.keybindings?(n=e.item.shortcutCommand?dt(e.keybindings,e.item.shortcutCommand):null,t[0]=e.item.shortcutCommand,t[1]=e.keybindings,t[2]=n):n=t[2];let r=n,i=e.item.value,a=e.isActive&&`bg-accent! text-accent-foreground!`,o;t[3]===a?o=t[4]:(o=b(`cursor-pointer gap-2 hover:bg-transparent hover:text-inherit data-highlighted:bg-transparent data-highlighted:text-inherit data-selected:bg-transparent data-selected:text-inherit [&[data-highlighted][data-selected]]:bg-transparent [&[data-highlighted][data-selected]]:text-inherit`,a),t[3]=a,t[4]=o);let s;t[5]===e?s=t[6]:(s=()=>{e.onExecuteItem(e.item)},t[5]=e,t[6]=s);let c;t[7]!==e.item.description||t[8]!==e.item.title||t[9]!==e.item.titleLeadingContent?(c=e.item.description?(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 text-sm text-foreground`,children:[e.item.titleLeadingContent,(0,I.jsx)(`span`,{className:`truncate`,children:e.item.title})]}),(0,I.jsx)(`span`,{className:`truncate text-muted-foreground/70 text-xs`,children:e.item.description})]}):(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 text-sm text-foreground`,children:[e.item.titleLeadingContent,(0,I.jsx)(`span`,{className:`truncate`,children:e.item.title})]}),t[7]=e.item.description,t[8]=e.item.title,t[9]=e.item.titleLeadingContent,t[10]=c):c=t[10];let l;t[11]===e.item.timestamp?l=t[12]:(l=e.item.timestamp?(0,I.jsx)(`span`,{className:`min-w-12 shrink-0 text-right text-[10px] tabular-nums text-muted-foreground/70`,children:e.item.timestamp}):null,t[11]=e.item.timestamp,t[12]=l);let u;t[13]===r?u=t[14]:(u=r?(0,I.jsx)(w,{children:r}):null,t[13]=r,t[14]=u);let d;t[15]===e.item.kind?d=t[16]:(d=e.item.kind===`submenu`?(0,I.jsx)(Re,{className:`ml-auto size-4 shrink-0 text-muted-foreground/50`}):null,t[15]=e.item.kind,t[16]=d);let ee;return t[17]!==e.item.icon||t[18]!==e.item.titleTrailingContent||t[19]!==e.item.value||t[20]!==o||t[21]!==s||t[22]!==c||t[23]!==l||t[24]!==u||t[25]!==d?(ee=(0,I.jsxs)(T,{value:i,className:o,onMouseDown:Kt,onClick:s,children:[e.item.icon,c,e.item.titleTrailingContent,l,u,d]}),t[17]=e.item.icon,t[18]=e.item.titleTrailingContent,t[19]=e.item.value,t[20]=o,t[21]=s,t[22]=c,t[23]=l,t[24]=u,t[25]=d,t[26]=ee):ee=t[26],ee}function Kt(e){e.preventDefault()}var qt=[],Jt=3e4,Yt=2,Xt=20;function Zt(e){return lt(e)?`Finder`:y(e)?`Explorer`:`Files`}function Qt(e){return e===`windows`?`Win32`:e===`darwin`?`MacIntel`:e===`linux`?`Linux`:typeof navigator>`u`?``:navigator.platform}var $t=[`url`,`github`,`gitlab`,`forgejo`,`bitbucket`,`azure-devops`],en=[`github`,`gitlab`,`forgejo`,`bitbucket`,`azure-devops`];function tn(e){switch(e){case`github`:return`GitHub`;case`gitlab`:return`GitLab`;case`forgejo`:return`Forgejo`;case`bitbucket`:return`Bitbucket`;case`azure-devops`:return`Azure DevOps`;case`url`:return`Git URL`}}function nn(e){switch(e){case`github`:return`owner/repo`;case`gitlab`:return`group/project`;case`forgejo`:return`owner/repo`;case`bitbucket`:return`workspace/repository`;case`azure-devops`:return`project/repository`;case`url`:return`URL`}}function rn(e){return e===`url`?null:e}function R(e,t){switch(e){case`github`:return(0,I.jsx)(k,{className:t});case`gitlab`:return(0,I.jsx)(D,{className:t});case`forgejo`:return(0,I.jsx)(St,{className:t});case`bitbucket`:return(0,I.jsx)(E,{className:t});case`azure-devops`:return(0,I.jsx)(O,{className:t});case`url`:return(0,I.jsx)(v,{className:t})}}function an(e){return!e||e.step===`confirm`?null:e.source===`url`?`Enter Git clone URL`:`Enter ${tn(e.source)} repository (${nn(e.source)})`}function on(e){return e.split(`/`).at(-1)?.trim()??e}function sn(e){return`remote-repository:${e.provider}:${encodeURIComponent(e.nameWithOwner)}`}function cn(e,t){return e===`bitbucket`?t.url:t.sshUrl}function ln(e){return!e.includes(`/`)&&!e.includes(`:`)}function un(e){return e===`url`?null:e}function dn(e){return en.toSorted((t,n)=>{let r=e[t].ready;return r===e[n].ready?tn(t).localeCompare(tn(n)):r?-1:1})}function fn(e){let t={ready:!1,hint:`Provider status unavailable. Open Settings -> Source Control and rescan.`},n={url:{ready:!0,hint:null},github:t,gitlab:t,forgejo:t,bitbucket:t,"azure-devops":t};if(!e)return n;let r=new Map(e.sourceControlProviders.map(e=>[e.kind,e])),i={...n};for(let e of $t){let n=un(e);if(!n)continue;let a=r.get(n);if(!a){i[e]=t;continue}if(a.status!==`available`){i[e]={ready:!1,hint:a.installHint};continue}if(a.auth.status===`unauthenticated`){i[e]={ready:!1,hint:o(a.auth.detail)??`${a.label} is not authenticated. Open Settings -> Source Control for setup guidance.`};continue}i[e]={ready:!0,hint:null}}return i}function pn(e){return e instanceof Error&&e.message.trim().length>0?e.message:`An error occurred.`}function z(){let e=(0,Mt.c)(5),t=pe(mn),n=pe(B),r,i;e[0]===n?(r=e[1],i=e[2]):(r=()=>()=>{n(!1)},i=[n],e[0]=n,e[1]=r,e[2]=i),(0,j.useEffect)(r,i);let a;return e[3]===t?a=e[4]:(a=t?(0,I.jsx)(hn,{}):null,e[3]=t,e[4]=a),a}function B(e){return e.setOpen}function mn(e){return e.open}function hn(){let e=Et(s.dispatchCommand),t=Et(u.projectsAdd),n=Et(u.serverGetStatistics),o=Ce(),f=pe(e=>e.setOpen),be=pe(e=>e.openIntent),Ne=pe(e=>e.clearOpenIntent),Re=Tt(),[v,y]=(0,j.useState)(``),x=(0,j.useDeferredValue)(v),dt=x.startsWith(`>`),[S,C]=(0,j.useState)(null),w=ge(),vt=p(e=>e.pinnedThreadKeys),bt=te(),{activeDraftThread:T,activeThread:E,defaultProjectRef:St,handleNewThread:D}=Se(),O=le(st(ne)),k=le(st(se)),Mt=ce(),[Nt,P]=(0,j.useState)([]),F=Nt.at(-1)??null,Lt=F===null,[Gt,L]=(0,j.useState)(0),[Kt,$t]=(0,j.useState)(null),[en,un]=(0,j.useState)(!1),[z,B]=(0,j.useState)(null),[mn,hn]=(0,j.useState)(!1),[gn,_n]=(0,j.useState)(!1),[vn,yn]=(0,j.useState)([]),V=_e(),bn=ve()?.label??null,xn=ue(e=>e.byId),H=he(e=>e.byId),Sn=(0,j.useMemo)(()=>{let e=[],t=new Set;V&&(t.add(V),e.push({environmentId:V,label:Me({isPrimary:!0,environmentId:V,runtimeLabel:bn}),isPrimary:!0}));for(let n of Object.values(xn)){if(t.has(n.environmentId))continue;let r=H[n.environmentId];e.push({environmentId:n.environmentId,label:Me({isPrimary:!1,environmentId:n.environmentId,runtimeLabel:r?.descriptor?.label??null,savedLabel:n.label}),isPrimary:!1})}return e.sort((e,t)=>e.isPrimary===t.isPrimary?e.label.localeCompare(t.label):e.isPrimary?-1:1),e},[V,bn,xn,H]),Cn=Sn[0]?.environmentId??null,U=Kt??Cn,wn=(0,j.useMemo)(()=>Qt(U&&V&&U===V?ve()?.platform.os??null:U?H[U]?.descriptor?.platform.os??H[U]?.serverConfig?.environment.platform.os??null:null),[U,V,H]),Tn=z!==null,En=z?.step===`repository`,W=En&&z?rn(z.source):null,Dn=En?x.trim():``,G=we({environmentId:z?.step===`repository`?z.environmentId:null,provider:W,query:Dn,limit:25,enabled:z?.step===`repository`&&z.source!==`url`&&W===`bitbucket`}),K=!En&&ot(v,wn),On=Vt({currentView:F,isBrowsing:K}),kn=Lt&&!dt&&!K&&!Tn,An=kn?x.trim():``,[jn]=ye(An,{wait:200}),Mn=(0,j.useMemo)(()=>{let e=new Set,t=[];for(let n of k)e.has(n.environmentId)||(e.add(n.environmentId),t.push(n.environmentId));for(let n of O)e.has(n.environmentId)||(e.add(n.environmentId),t.push(n.environmentId));return t},[O,k]);(0,j.useEffect)(()=>{let e=jn.trim();if(!kn||e.length<Yt||Mn.length===0){yn([]);return}let t=!1,n=Mn.map(async t=>{let n=fe(t);if(!n)return[];try{return(await n.orchestration.searchThreadMessages({query:e,limit:Xt})).map(e=>Object.assign({environmentId:t},e))}catch{return[]}});return Promise.all(n).then(e=>{t||yn(e.flat().toSorted((e,t)=>t.timestamp.localeCompare(e.timestamp)).slice(0,Xt))}),()=>{t=!0}},[kn,jn,Mn]);let Nn=(0,j.useCallback)(e=>{let t=e&&V&&e===V?bt:e?H[e]?.serverConfig:null,n=e&&V&&e===V?w:e?H[e]?.serverConfig?.settings:null;return et({workspaceAccessRoot:t?.workspaceAccessRoot,configuredBaseDirectory:n?.addProjectBaseDirectory})},[V,bt,H,w]),Pn=(0,j.useMemo)(()=>new Map(O.map(e=>[e.id,e.cwd])),[O]),q=(0,j.useMemo)(()=>new Map(O.map(e=>[e.id,e.name])),[O]),Fn=(0,j.useMemo)(()=>new Map(k.map(e=>[e.id,e.title])),[k]),In=(0,j.useMemo)(()=>new Map(k.map(e=>[e.id,q.get(e.projectId)??``])),[q,k]),Ln=(0,j.useCallback)(async e=>{await o({to:`/$environmentId/$threadId`,params:xe(r(e.environmentId,e.threadId)),search:t=>({...t,messageId:e.messageId})})},[o]),Rn=(0,j.useMemo)(()=>Rt({searchResults:vn,threadTitleById:Fn,projectTitleByThreadId:In,icon:(0,I.jsx)(Te,{className:M}),runMessage:Ln}),[vn,Ln,In,Fn]),zn=E?.id,Bn=E?a(r(E.environmentId,E.id)):null,Vn=Dt({threadKey:Bn,pinned:Bn?vt[Bn]===!0:!1}),Hn=E?.environmentId??T?.environmentId??null,Un=E?.projectId??T?.projectId??null,Wn=Un?Pn.get(Un)??null:null,J=U&&Hn===U?Wn:null,Y=ie(v.trim())&&J===null,Gn=K?Ke(v):``,Kn=K&&!qe(v)?nt(v):``,qn=je({environmentId:U,partialPath:Gn,cwd:J,staleTime:Jt,enabled:K&&Gn.length>0&&U!==null&&!Y}),X=qn.data,Jn=qn.isPending,Yn=X?.entries??qt,Xn=X?.workspaceAccessRoot!==void 0&&Je(X.parentPath,X.workspaceAccessRoot),Zn=K&&!Y&&!Xn&&tt(Gn),{filteredEntries:Qn,exactEntry:$n}=(0,j.useMemo)(()=>Pt({browseEntries:Yn,browseFilterQuery:Kn,highlightedItemValue:S}),[Yn,Kn,S]),er=(0,j.useCallback)(e=>{de({environmentId:U,partialPath:e,cwd:J,staleTime:Jt})},[U,J]);(0,j.useEffect)(()=>{K&&Zn&&er(it(v))},[Zn,K,er,v]);let tr=(0,j.useMemo)(()=>async e=>{p.getState().setProjectExpanded(me(e,w),!0);let t=d(k.filter(t=>t.environmentId===e.environmentId),e.id,w.sidebarThreadSortOrder);if(t){await o({to:`/$environmentId/$threadId`,params:xe(r(t.environmentId,t.id))});return}await D(i(e.environmentId,e.id),{envMode:w.defaultThreadEnvMode})},[D,o,w,k]),nr=(0,j.useMemo)(()=>Ft({projects:O,valuePrefix:`project`,icon:e=>(0,I.jsx)(Ct,{environmentId:e.environmentId,cwd:e.cwd,projectId:e.id,customAvatarContentHash:e.customAvatarContentHash??null,className:M}),runProject:tr}),[tr,O]),rr=(0,j.useMemo)(()=>Ft({projects:O,valuePrefix:`new-thread-in`,icon:e=>(0,I.jsx)(Ct,{environmentId:e.environmentId,cwd:e.cwd,projectId:e.id,customAvatarContentHash:e.customAvatarContentHash??null,className:M}),runProject:async e=>{await Ge({activeDraftThread:T,activeThread:E,defaultProjectRef:St,defaultThreadEnvMode:w.defaultThreadEnvMode,handleNewThread:D},i(e.environmentId,e.id))}}),[T,E,St,D,O,w.defaultThreadEnvMode]),ir=(0,j.useMemo)(()=>It({threads:k,...zn?{activeThreadId:zn}:{},projectTitleById:q,sortOrder:w.sidebarThreadSortOrder,icon:(0,I.jsx)(Te,{className:M}),renderLeadingContent:e=>(0,I.jsx)(Oe,{thread:e}),renderTrailingContent:e=>(0,I.jsx)(De,{thread:e}),runThread:async e=>{await o({to:`/$environmentId/$threadId`,params:xe(r(e.environmentId,e.id))})}}),[zn,o,q,w.sidebarThreadSortOrder,k]),ar=ir.slice(0,12);function or(e){P(t=>[...t,{addonIcon:e.addonIcon,groups:e.groups,...e.initialQuery?{initialQuery:e.initialQuery}:{}}]),C(null),y(e.initialQuery??``)}function sr(e){or({addonIcon:e.addonIcon,groups:e.groups,...e.initialQuery?{initialQuery:e.initialQuery}:{}})}function cr(){B(null),Nt.length<=1&&$t(null),P(e=>e.slice(0,-1)),C(null),y(``)}function lr(e){C(null),y(e),e===``&&F?.initialQuery&&cr()}let ur=(0,j.useCallback)(e=>{$t(e),B(null),or({addonIcon:(0,I.jsx)(_,{className:N}),groups:[],initialQuery:Nn(e)})},[Nn]),dr=(0,j.useCallback)((e,t)=>{$t(e),B({step:`repository`,environmentId:e,source:t}),or({addonIcon:R(t,N),groups:[],initialQuery:``})},[]),fr=Ae(e=>e.openSettings),pr=(0,j.useCallback)(()=>{f(!1),fr(`source-control`)},[fr,f]),mr=(0,j.useCallback)((e,t)=>{let n=[{kind:`action`,value:`action:add-project:${e}:local`,searchTerms:[`local`,`folder`,`directory`,`browse`],title:`Local folder`,description:`Browse a folder on disk`,icon:(0,I.jsx)(_,{className:M}),keepOpen:!0,run:async()=>{ur(e)}}],r=[`url`,...dn(t)];for(let i of r){let r=tn(i),a=i===`url`?`Git URL`:`${r} repository`,o=i===`url`?`Clone from a remote URL`:`Clone ${r} ${nn(i)}`,s=t[i],c=s.hint,l=s.ready?void 0:(0,I.jsx)(`span`,{className:`ml-auto`,children:(0,I.jsxs)(mt,{children:[(0,I.jsx)(ft,{render:(0,I.jsx)(wt,{variant:`outline`,size:`xs`,className:`h-5 rounded-sm px-1.5 text-[10px] text-warning-foreground`,onClick:()=>{pr()},children:`Setup Required`})}),(0,I.jsx)(pt,{align:`end`,side:`left`,children:c??`Open Settings -> Source Control to configure this provider.`})]})});if(!s.ready){n.push({kind:`action`,value:`action:add-project:${e}:${i}:not-ready`,searchTerms:[`clone`,`remote`,`repository`,`repo`,`git`,r,`setup required`],title:a,description:o,disabled:!0,icon:R(i,M),...l?{titleTrailingContent:l}:{},run:async()=>{}});continue}n.push({kind:`action`,value:`action:add-project:${e}:${i}`,searchTerms:[`clone`,`remote`,`repository`,`repo`,`git`,r],title:a,description:o,icon:R(i,M),...l?{titleTrailingContent:l}:{},keepOpen:!0,run:async()=>{dr(e,i)}})}return[{value:`sources:${e}`,label:`Sources`,items:n}]},[pr,ur,dr]),hr=(0,j.useCallback)(e=>{$t(e),B(null);let t={environmentId:e},n=re(t).data;or({addonIcon:(0,I.jsx)(_,{className:N}),groups:mr(e,fn(n))}),ae(t).then(t=>{P(n=>n.at(-1)?.groups[0]?.value===`sources:${e}`?[...n.slice(0,-1),{addonIcon:(0,I.jsx)(_,{className:N}),groups:mr(e,fn(t))}]:n)})},[mr]),gr=Sn.map(e=>({kind:`action`,value:`action:add-project:environment:${e.environmentId}`,searchTerms:[e.label,e.environmentId,e.isPrimary?`this device`:``],title:e.label,description:e.isPrimary?`This device`:e.environmentId,icon:(0,I.jsx)(_,{className:M}),keepOpen:!0,run:async()=>{hr(e.environmentId)}})),_r=(0,j.useMemo)(()=>[{value:`environments`,label:`Environments`,items:gr}],[gr]),vr=(0,j.useCallback)(()=>{if(!t.allowed){g.add(A({type:`error`,title:`Unable to add project`,description:t.reason??`This action is unavailable.`}));return}if(Sn.length>1){or({addonIcon:(0,I.jsx)(_,{className:N}),groups:_r});return}let e=Cn;if(!e){g.add(A({type:`error`,title:`Unable to browse projects`,description:`No environment is available.`}));return}hr(e)},[t.allowed,t.reason,_r,Sn.length,Cn,hr]);(0,j.useLayoutEffect)(()=>{be?.kind===`add-project`&&(Ne(),vr())},[Ne,vr,be]);let Z=[];if(Z.push({kind:`action`,value:`action:show-inbox-sidebar`,searchTerms:[`sidebar`,`inbox`,`tasks`,`activity`],title:`Show Inbox sidebar`,icon:(0,I.jsx)(Be,{className:M}),shortcutCommand:`sidebar.showInbox`,run:async()=>{oe.getState().clearSelection(),p.getState().setSidebarMode(`inbox`),f(!1)}},{kind:`action`,value:`action:show-projects-sidebar`,searchTerms:[`sidebar`,`projects`,`tree`,`folders`],title:`Show Projects sidebar`,icon:(0,I.jsx)(Ve,{className:M}),shortcutCommand:`sidebar.showProjects`,run:async()=>{oe.getState().clearSelection(),p.getState().setSidebarMode(`projects`),f(!1)}}),Z.push({kind:`action`,value:`action:toggle-current-thread-pin`,searchTerms:[`pin`,`unpin`,`thread`,`favorite`,`keep at top`],title:Vn.title,...Vn.description?{description:Vn.description}:{},disabled:Vn.disabled,icon:Vn.pinned?(0,I.jsx)(jt,{className:M}):(0,I.jsx)(Xe,{className:M}),shortcutCommand:`thread.pinToggle`,run:async()=>{!E||!Bn||await Ot({threadKey:Bn,threadTitle:E.title,confirmUnpin:w.confirmThreadUnpin})}}),O.length>0){let t=Un?q.get(Un)??null:null;t&&Z.push({kind:`action`,value:`action:new-thread`,searchTerms:[`new thread`,`chat`,`create`,`draft`],title:(0,I.jsxs)(I.Fragment,{children:[`New thread in `,(0,I.jsx)(`span`,{className:`font-semibold`,children:t})]}),icon:(0,I.jsx)(He,{className:M}),shortcutCommand:`chat.new`,...e.reason?{description:e.reason}:{},disabled:!e.allowed,run:async()=>{await We({activeDraftThread:T,activeThread:E,defaultProjectRef:St,defaultThreadEnvMode:w.defaultThreadEnvMode,handleNewThread:D})}}),Z.push({kind:`submenu`,value:`action:new-thread-in`,searchTerms:[`new thread`,`project`,`pick`,`choose`,`select`],title:`New thread in...`,icon:(0,I.jsx)(He,{className:M}),addonIcon:(0,I.jsx)(He,{className:N}),groups:[{value:`projects`,label:`Projects`,items:rr}],...e.reason?{description:e.reason}:{},disabled:!e.allowed})}Z.push({kind:`action`,value:`action:add-project`,searchTerms:[`add project`,`folder`,`directory`,`browse`,`clone`,`remote`,`repository`,`repo`,`git`,`github`,`gitlab`,`forgejo`,`codeberg`,`bitbucket`,`azure`,`devops`,`url`,`environment`],title:`Add project`,...t.reason?{description:t.reason}:{},disabled:!t.allowed,icon:(0,I.jsx)(_,{className:M}),keepOpen:!0,run:async()=>{vr()}}),ke()!==`phone`&&Z.push({kind:`action`,value:`action:statistics`,searchTerms:[`statistics`,`usage`,`activity`,`tokens`,`cost`,`history`],title:`Open statistics`,...n.reason?{description:n.reason}:{},disabled:!n.allowed,icon:(0,I.jsx)(Le,{className:M}),run:async()=>{f(!1),await o({to:`/statistics`})}}),Z.push({kind:`action`,value:`action:settings`,searchTerms:[`settings`,`preferences`,`configuration`,`keybindings`],title:`Open settings`,icon:(0,I.jsx)(Ee,{className:M}),run:async()=>{f(!1),fr()}});let yr=Ht({actionItems:Z,recentThreadItems:ar}),br=zt({activeGroups:F?F.groups:yr,query:x,isInSubmenu:F!==null,projectSearchItems:nr,threadSearchItems:ir,messageSearchItems:Rn}),xr=(0,j.useCallback)(async(e,t)=>{let n=t?.environmentId??U;if(!n){g.add(A({type:`error`,title:`Failed to add project`,description:`Choose an environment and try again.`}));return}let a=t?.api??fe(n);if(!a){g.add(A({type:`error`,title:`Failed to add project`,description:`The environment is still reconnecting. Try again shortly.`}));return}if(Ye(e.trim(),wn)){g.add(A({type:`error`,title:`Failed to add project`,description:`Windows-style paths are only supported on Windows.`}));return}if(ie(e.trim())&&!J){g.add(A({type:`error`,title:`Failed to add project`,description:`Relative paths require an active project.`}));return}let s=Ze(e,J);if(s.length===0)return;let u=Qe(O.filter(e=>e.environmentId===n),s);if(u){p.getState().setProjectExpanded(me(u,w),!0);let e=d(k.filter(e=>e.environmentId===u.environmentId),u.id,w.sidebarThreadSortOrder);e?await o({to:`/$environmentId/$threadId`,params:xe(r(e.environmentId,e.id))}):await D(i(u.environmentId,u.id),{envMode:w.defaultThreadEnvMode}).catch(()=>void 0),f(!1);return}try{let e=ut();await a.orchestration.dispatchCommand({type:`project.create`,commandId:ct(),projectId:e,title:$e(s),workspaceRoot:s,projectMetadataDir:`.ryco`,createWorkspaceRootIfMissing:!0,defaultModelSelection:{instanceId:l.make(`codex`),model:c},createdAt:new Date().toISOString()}),await D(i(n,e),{envMode:w.defaultThreadEnvMode}).catch(()=>void 0),f(!1)}catch(e){g.add(A({type:`error`,title:`Failed to add project`,description:e instanceof Error?e.message:`An error occurred.`}))}},[U,wn,J,D,o,O,f,w,k]),Sr=(0,j.useCallback)(e=>Nn(e),[Nn]),Q=(0,j.useCallback)(e=>{let t=Sr(e.flow.environmentId);B({step:`confirm`,environmentId:e.flow.environmentId,source:e.flow.source,repositoryInput:e.repositoryInput,repository:e.repository,remoteUrl:e.remoteUrl}),C(null),y(t),L(e=>e+1)},[Sr]);async function Cr(e){if(!z)return;let t=fe(z.environmentId);if(!t){g.add(A({type:`error`,title:`Unable to clone project`,description:`Environment API is not available.`}));return}if(z.step===`repository`){let e=v.trim();if(e.length===0||mn)return;let n=rn(z.source);if(!n){Q({flow:z,repositoryInput:e,repository:null,remoteUrl:e});return}let r=G.data?.repositories??[];if(ln(e)&&Dn===e&&r.length===1){let e=r[0];Q({flow:z,repositoryInput:e.nameWithOwner,repository:e,remoteUrl:cn(z.source,e)});return}hn(!0);try{let r=await t.sourceControl.lookupRepository({provider:n,repository:e});Q({flow:z,repositoryInput:e,repository:r,remoteUrl:cn(z.source,r)})}catch(e){g.add(A({type:`error`,title:`Repository lookup failed`,description:pn(e)}))}finally{hn(!1)}return}let n=(e??v).trim();if(n.length===0||gn)return;if(Ye(n,wn)){g.add(A({type:`error`,title:`Clone failed`,description:`Windows-style paths are only supported on Windows.`}));return}if(ie(n)&&!J){g.add(A({type:`error`,title:`Clone failed`,description:`Relative paths require an active project.`}));return}let r=Ze(n,J);if(r.length!==0){_n(!0);try{let e=rn(z.source),n=await t.sourceControl.cloneRepository({...e&&z.repository?{provider:e,repository:z.repository.nameWithOwner,remoteUrl:z.remoteUrl,...z.source===`bitbucket`?{protocol:`https`}:{}}:{remoteUrl:z.remoteUrl},destinationPath:r});await xr(n.cwd,{environmentId:z.environmentId,api:t})}catch(e){g.add(A({type:`error`,title:`Clone failed`,description:pn(e)}))}finally{_n(!1)}}}function wr(e){let t=at(v,e);C(null),y(t),L(e=>e+1)}function Tr(e){let t=rt(e);C(null),y(t),L(e=>e+1)}function Er(){if(!Zn)return;let e=it(v);e!==null&&(C(null),y(e),L(e=>e+1))}let Dr=qe(v)?X?.parentPath??v.trim():$n?.fullPath??v.trim(),Or=[...qn.error?[{value:`browse-status`,label:`Filesystem`,items:[{kind:`action`,value:`browse-status:error`,searchTerms:[`filesystem`,`unavailable`,`error`],title:`Unable to browse folders`,description:pn(qn.error),icon:(0,I.jsx)(ze,{className:M}),disabled:!0,run:async()=>{}}]}]:[],...Bt({browseEntries:Qn,browseQuery:v,canBrowseUp:Zn,upIcon:(0,I.jsx)(kt,{className:M}),directoryIcon:(0,I.jsx)(Ue,{className:M}),symlinkIcon:(0,I.jsx)(At,{className:M}),browseUp:Er,browseTo:wr,browseToPath:Tr})],kr=Or.map(e=>e.value===`directories`?{...e,label:`Select where to clone`}:e),Ar=(0,j.useMemo)(()=>z?.step===`confirm`?{title:z.repository?.nameWithOwner??z.repositoryInput,description:z.repository?.url??z.remoteUrl,icon:R(z.source,M)}:null,[z]),jr=(0,j.useMemo)(()=>{if(z?.step!==`repository`||z.source===`url`||W!==`bitbucket`)return[];let e=G.data?.repositories??[];return e.length>0?[{value:`remote-repositories:${z.environmentId}:${W}`,label:Dn.length>0?`Matching repositories`:`Available repositories`,items:e.map(e=>({kind:`action`,value:sn(e),searchTerms:[e.nameWithOwner,on(e.nameWithOwner),e.url,e.sshUrl],title:e.nameWithOwner,description:e.url,icon:R(z.source,M),keepOpen:!0,run:async()=>{Q({flow:z,repositoryInput:e.nameWithOwner,repository:e,remoteUrl:cn(z.source,e)})}}))}]:G.isFetching?[{value:`remote-repositories:${z.environmentId}:${W}:loading`,label:`Repositories`,items:[{kind:`action`,value:`remote-repositories:loading`,searchTerms:[`loading`,`repository`,`repo`],title:`Loading repositories`,description:`Reading available Bitbucket workspaces`,icon:R(z.source,M),disabled:!0,run:async()=>{}}]}]:G.error===null?[]:[{value:`remote-repositories:${z.environmentId}:${W}:error`,label:`Repositories`,items:[{kind:`action`,value:`remote-repositories:error`,searchTerms:[`error`,`repository`,`repo`],title:`Unable to load repositories`,description:pn(G.error),icon:R(z.source,M),disabled:!0,run:async()=>{}}]}]},[z,Q,W,Dn,G.data?.repositories,G.error,G.isFetching]),Mr=z?.step===`repository`&&z.source===`bitbucket`?Dn.length===0?`No repositories found. Enter workspace/repository manually.`:`No matching repositories. Enter workspace/repository manually.`:null,Nr=br;z?.step===`repository`?Nr=jr:z?.step===`confirm`?Nr=Y?[]:kr:K&&(Nr=Y?[]:Or);let Pr=an(z)??Ut(On),Fr=On===`submenu`||On===`submenu-browse`,$=S?.startsWith(`browse:`)??!1,Ir=K&&!Y,Lr=Ir&&!Jn&&v.trim().length>0&&!$&&(qe(v)?!X:$n===null),Rr=lt(navigator.platform),zr=Rr?`⌘`:`Ctrl`,Br=z?.step===`confirm`,Vr=Br?Lr?`Create & Clone`:`Clone`:Lr?`Create & Add`:`Add`,Hr=$?`${zr} Enter`:`Enter`,Ur=z?z.source===`url`?`Continue`:`Lookup`:null,Wr=mn||gn,Gr=z?.step===`repository`&&v.trim().length>0&&!Wr,Kr=Zt(navigator.platform),qr=K&&U!==null&&V!==null&&U===V&&typeof window<`u`&&window.desktopBridge!==void 0,Jr=(0,j.useMemo)(()=>{if(!qr)return;let e=v.trim();if(e.length===0)return;let t=qe(v)?X?.parentPath??e:Gn||e,n=Ze(t,J);return n.length>0?n:void 0},[Gn,X?.parentPath,qr,J,v]);function Yr(e){return Rr?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function Xr(e){if(z?.step===`repository`&&e.key===`Enter`){e.preventDefault();let t=G.data?.repositories.find(e=>sn(e)===S);if(t){Q({flow:z,repositoryInput:t.nameWithOwner,repository:t,remoteUrl:cn(z.source,t)});return}Cr();return}if(Ir&&e.key===`Enter`&&(!$||Yr(e))){e.preventDefault(),Br?Cr(Dr):xr(Dr);return}e.key===`Backspace`&&v===``&&Fr&&(e.preventDefault(),cr())}function Zr(e){if(!e.disabled){if(e.kind===`submenu`){sr(e);return}e.keepOpen||f(!1),e.run().catch(e=>{g.add(A({type:`error`,title:`Unable to run command`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))})}}let Qr=(0,j.useCallback)(async()=>{if(!qr||en)return;let e=ee();if(!e)return;un(!0);let t=null;try{t=await e.dialogs.pickFolder(Jr?{initialPath:Jr}:void 0)}catch{un(!1);return}un(!1),t&&await xr(t)},[qr,Jr,xr,en]);return(0,I.jsx)(gt,{"aria-label":`Command palette`,className:`project-glass-surface overflow-hidden p-0`,"data-testid":`command-palette`,surface:`glass`,finalFocus:()=>(Re?.current?.focusAtEnd(),!1),onBackdropPointerDown:()=>{f(!1)},children:(0,I.jsxs)(xt,{"aria-label":`Command palette`,autoHighlight:K||Tn?!1:`always`,mode:`none`,onItemHighlighted:e=>{C(typeof e==`string`?e:null)},onValueChange:lr,value:v,children:[(0,I.jsxs)(`div`,{className:`relative`,children:[(0,I.jsx)(_t,{className:z?.step===`repository`?`pe-32`:K?Lr?`pe-36`:`pe-16`:void 0,placeholder:Pr,wrapperClassName:Fr?`[&_[data-slot=autocomplete-start-addon]]:pointer-events-auto`:void 0,...Fr?{startAddon:(0,I.jsx)(`button`,{type:`button`,className:`flex cursor-pointer items-center`,"aria-label":`Back`,onClick:cr,children:(0,I.jsx)(Ie,{})})}:K&&!Fr?{startAddon:(0,I.jsx)(_,{})}:{},onKeyDown:Xr}),z?.step===`repository`?(0,I.jsxs)(wt,{variant:`outline`,size:`xs`,tabIndex:-1,className:`absolute inset-e-2.5 top-1/2 gap-1.5 pe-1 ps-2 -translate-y-1/2`,"aria-label":`${Ur??`Continue`} (Enter)`,disabled:!Gr,onMouseDown:e=>{e.preventDefault()},onClick:()=>{Cr()},title:`${Ur??`Continue`} (Enter)`,children:[(0,I.jsx)(`span`,{children:Wr?`Working`:Ur}),(0,I.jsx)(m,{className:`pointer-events-none -me-0.5 items-center gap-1 pointer-coarse:hidden`,children:(0,I.jsx)(h,{children:`Enter`})})]}):K?(0,I.jsxs)(wt,{variant:`outline`,size:`xs`,tabIndex:-1,className:b(`absolute inset-e-2.5 top-1/2 pe-1 ps-2 -translate-y-1/2`,$?`gap-1`:`gap-1.5`),"aria-label":`${Vr} (${Hr})`,disabled:Y||Br&&Wr,onMouseDown:e=>{e.preventDefault()},onClick:()=>{Y||(Br?Cr(Dr):xr(Dr))},title:`${Vr} (${Hr})`,children:[(0,I.jsx)(`span`,{children:Br&&Wr?`Cloning`:Vr}),(0,I.jsx)(m,{className:`pointer-events-none -me-0.5 items-center gap-1 pointer-coarse:hidden`,children:(0,I.jsx)(h,{children:$?`${zr} Enter`:`Enter`})})]}):null]}),(0,I.jsxs)(ht,{className:`max-h-[min(28rem,70vh)] bg-transparent`,children:[Ar?(0,I.jsxs)(`div`,{className:`p-2 pb-0`,children:[(0,I.jsx)(`div`,{className:`px-2 py-1.5 font-medium text-muted-foreground text-xs`,children:`Repository`}),(0,I.jsxs)(`div`,{className:`flex min-h-8 items-center gap-2 rounded-sm px-2 py-1.5`,children:[Ar.icon,(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,I.jsx)(`span`,{className:`truncate text-foreground text-sm`,children:Ar.title}),(0,I.jsx)(`span`,{className:`truncate text-muted-foreground/70 text-xs`,children:Ar.description})]})]})]}):null,(0,I.jsx)(Wt,{groups:Nr,highlightedItemValue:S,isActionsOnly:dt,keybindings:Mt,onExecuteItem:Zr,...z?.step===`repository`?{emptyStateMessage:z.source===`url`?`Enter a Git clone URL and press Enter to continue.`:Mr??`Enter a repository path and press Enter to look it up.`}:z?.step===`confirm`?{emptyStateMessage:`Choose a destination path and press Enter to clone.`}:Y?{emptyStateMessage:`Relative paths require an active project.`}:Lr?{emptyStateMessage:`Press Enter to create this folder and add it as a project.`}:{}})]}),(0,I.jsxs)(yt,{className:`gap-3 max-sm:flex-col max-sm:items-start`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-3 pointer-coarse:hidden`,children:[(0,I.jsxs)(m,{className:`items-center gap-1.5`,children:[(0,I.jsx)(h,{children:(0,I.jsx)(Fe,{})}),(0,I.jsx)(h,{children:(0,I.jsx)(Pe,{})}),(0,I.jsx)(`span`,{className:b(`text-muted-foreground/80`),children:`Navigate`})]}),z?.step===`repository`?(0,I.jsxs)(m,{className:`items-center gap-1.5`,children:[(0,I.jsx)(h,{children:`Enter`}),(0,I.jsx)(`span`,{className:b(`text-muted-foreground/80`),children:Ur??`Continue`})]}):!Ir||$?(0,I.jsxs)(m,{className:`items-center gap-1.5`,children:[(0,I.jsx)(h,{children:`Enter`}),(0,I.jsx)(`span`,{className:b(`text-muted-foreground/80`),children:`Select`})]}):null,Fr?(0,I.jsxs)(m,{className:`items-center gap-1.5`,children:[(0,I.jsx)(h,{children:`Backspace`}),(0,I.jsx)(`span`,{className:b(`text-muted-foreground/80`),children:`Back`})]}):null,(0,I.jsxs)(m,{className:`items-center gap-1.5`,children:[(0,I.jsx)(h,{children:`Esc`}),(0,I.jsx)(`span`,{className:b(`text-muted-foreground/80`),children:`Close`})]})]}),qr?(0,I.jsx)(wt,{variant:`ghost`,size:`xs`,className:`h-auto px-2 text-xs text-muted-foreground/80 hover:bg-transparent hover:text-foreground`,disabled:en,onClick:()=>{Qr()},children:`Open in ${Kr}`}):null]})]},`${Nt.length}-${Gt}-${K}-${z?.step??`none`}`)})}export{z as CommandPaletteDialog};
1
+ import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{_ as r,g as i,y as a}from"./env-Bcq9YR3B.js";import{Jc as o,V as s,nt as c,st as l,t as u}from"./src-DmPIm3ie.js";import{At as d,Cn as ee,Hn as te,It as ne,Mt as f,Nn as re,O as ie,Pn as ae,R as oe,Rt as se,Wn as ce,Yt as le,bn as ue,cn as de,gn as fe,ut as pe,x as me,xn as he,zn as ge}from"./runtime-CYtynKGT.js";import{a as _e,r as ve}from"./primary-CiDY2oUi.js";import{t as ye}from"./useDebouncedValue-s0BC8Yyp.js";import{It as be}from"./composerDraftStore-TYv9j3vY.js";import{c as xe}from"./useSwipeDismiss-D22_vuiH.js";import{t as Se}from"./useHandleNewThread-9FAjhuhK.js";import{t as Ce}from"./useNavigate-2tVq4iZ2.js";import{L as we,h as Te,m as Ee,n as De,t as Oe}from"./ThreadStatusIndicators-D_6jI6us.js";import{t as ke}from"./presentationTier-xlIjcFab.js";import{t as Ae}from"./settingsDialogStore-LxRFC5hh.js";import{i as p}from"./uiStateStore-DzUrk2GS.js";import{c as je,o as Me}from"./BranchToolbar.logic-B2jdtYEs.js";import{f as Ne}from"./useRenderElement-DchFnsR8.js";import{n as Pe,t as Fe}from"./arrow-up-CTcWIlqV.js";import{t as Ie}from"./arrow-left-Dtj9PfsA.js";import{t as Le}from"./chart-column-Dw6ACmXM.js";import{t as Re}from"./chevron-right-BWYGybX9.js";import{n as m,t as h}from"./kbd-DbvN3zTb.js";import{t as ze}from"./circle-alert-BWvs6IOn.js";import{i as g}from"./toast-C-0Ft2jD.js";import{i as _,n as Be,r as Ve,t as He}from"./square-pen-Bj3p_Q8E.js";import{t as Ue}from"./folder-DtsQoI9_.js";import{i as v,n as We,r as Ge}from"./chatThreadActions-BZvyhfKr.js";import{a as Ke,c as qe,d as Je,f as Ye,g as Xe,h as Ze,i as Qe,l as $e,m as et,n as tt,o as nt,r as rt,s as it,t as at,u as ot}from"./projectPaths-3WDk4ziK.js";import{t as st}from"./shallow-DWZCFNun.js";import{i as ct,n as lt,r as y,s as ut,t as b}from"./utils-CV2fJJxC.js";import{i as x}from"./timestampFormat-8uPXS812.js";import{_ as dt}from"./keybindings-BPE3eEAM.js";import{i as ft,n as pt,t as mt}from"./tooltip-C_-9XEfA.js";import{c as S,d as C,f as ht,i as gt,l as _t,m as w,n as vt,o as yt,s as bt,t as xt,u as T}from"./command-Cyn6yIEa.js";import{a as E,c as St,f as D,i as O,u as k}from"./Icons-BEtED8P8.js";import{t as Ct}from"./ProjectFavicon-CxXx07Sa.js";import{t as wt}from"./button-DG8WqjNn.js";import{t as A}from"./toastHelpers-CSQRKo4F.js";import{n as Tt}from"./composerHandleContext-BrQ6d8r9.js";import{t as Et}from"./capabilities-tpmeGBtr.js";import{n as Dt,r as Ot}from"./threadPinning-UKIVw0OX.js";var kt=Ne(`corner-left-up`,[[`path`,{d:`M14 9 9 4 4 9`,key:`1af5af`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`,key:`1blwi3`}]]),At=Ne(`folder-symlink`,[[`path`,{d:`M2 9.35V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`,key:`y8kt7d`}],[`path`,{d:`m8 16 3-3-3-3`,key:`rlqrt1`}]]),jt=Ne(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),j=e(t(),1),Mt=n(),M=`size-4 text-muted-foreground/80`,N=`size-4`;function Nt(e){return e.isAlias?`browse:alias:${e.name}:${e.fullPath}`:`browse:${e.fullPath}`}function Pt(e){let t=e.browseFilterQuery.toLowerCase(),n=e.browseFilterQuery.startsWith(`.`),r=e.browseEntries.filter(e=>e.name.toLowerCase().startsWith(t)&&(n||!e.name.startsWith(`.`))),i=null,a=e.highlightedItemValue;a&&a.startsWith(`browse:`)&&(i=r.find(e=>Nt(e)===a)??null);let o=e.browseFilterQuery.length>0?r.find(t=>t.name===e.browseFilterQuery)??null:null;return{filteredEntries:r,highlightedEntry:i,exactEntry:o}}function P(e){return e.trim().toLowerCase().replace(/\s+/g,` `)}function Ft(e){return e.projects.map(t=>({kind:`action`,value:`${e.valuePrefix}:${t.environmentId}:${t.id}`,searchTerms:[t.name,t.cwd],title:t.name,description:t.cwd,icon:e.icon(t),run:async()=>{await e.runProject(t)}}))}function It(e){let t=f(e.threads.filter(e=>e.archivedAt===null),e.sortOrder);return(e.limit===void 0?t:t.slice(0,e.limit)).map(t=>{let n=e.projectTitleById.get(t.projectId),r=[];n&&r.push(n),t.branch&&r.push(`#${t.branch}`),t.id===e.activeThreadId&&r.push(`Current thread`);let i=e.renderLeadingContent?.(t),a=e.renderTrailingContent?.(t);return Object.assign({kind:`action`,value:`thread:${t.id}`,searchTerms:[t.title,n??``,t.branch??``],title:t.title,description:r.join(` · `),timestamp:x(t.latestUserMessageAt??t.updatedAt??t.createdAt),icon:e.icon},i?{titleLeadingContent:i}:{},a?{titleTrailingContent:a}:{},{run:async()=>{await e.runThread(t)}})})}function F(e,t){let n=P(e);return n.length===0||!n.includes(t)?-1/0:n===t?3:n.startsWith(t)?2:1}function Lt(e,t){let n=e.searchTerms.filter(e=>e.length>0);if(n.length===0)return 0;for(let[e,r]of n.entries()){let n=F(r,t);if(n!==-1/0)return 1e3-e*100+n}return 0}function Rt(e){return e.searchResults.map(t=>{let n=e.threadTitleById.get(t.threadId)??`Thread`,r=e.projectTitleByThreadId.get(t.threadId),i=[n,r].filter(Boolean).join(` · `);return{kind:`action`,value:`message:${t.environmentId}:${t.threadId}:${t.messageId}`,searchTerms:[t.snippet,n,r??``],title:t.snippet,description:i,timestamp:x(t.timestamp),icon:e.icon,run:async()=>{await e.runMessage(t)}}})}function zt(e){let t=e.query.startsWith(`>`),n=P(t?e.query.slice(1):e.query);if(n.length===0)return t?e.activeGroups.filter(e=>e.value===`actions`):[...e.activeGroups];let r=[...e.activeGroups];t?r=r.filter(e=>e.value===`actions`):e.isInSubmenu||(r=r.filter(e=>e.value!==`recent-threads`));let i=[...r];return!e.isInSubmenu&&!t&&(e.projectSearchItems.length>0&&i.push({value:`projects-search`,label:`Projects`,items:e.projectSearchItems}),e.threadSearchItems.length>0&&i.push({value:`threads-search`,label:`Threads`,items:e.threadSearchItems}),e.messageSearchItems&&e.messageSearchItems.length>0&&i.push({value:`messages-search`,label:`Messages`,items:e.messageSearchItems})),i.flatMap(e=>{let t=e.items.map((e,t)=>P(e.searchTerms.join(` `)).includes(n)?{item:e,index:t,rank:Lt(e,n)}:null).filter(e=>e!==null).toSorted((e,t)=>t.rank-e.rank||e.index-t.index).map(e=>e.item);return t.length===0?[]:[{value:e.value,label:e.label,items:t}]})}function Bt(e){let t=[];e.canBrowseUp&&t.push({kind:`action`,value:`browse:up`,searchTerms:[e.browseQuery,`..`],title:`..`,icon:e.upIcon,keepOpen:!0,run:async()=>{e.browseUp()}});for(let n of e.browseEntries)t.push({kind:`action`,value:Nt(n),searchTerms:[e.browseQuery,n.fullPath,n.name],title:n.name,icon:n.isSymlink?e.symlinkIcon:e.directoryIcon,keepOpen:!0,run:async()=>{n.isAlias?e.browseToPath(n.fullPath):e.browseTo(n.name)}});return[{value:`directories`,label:`Directories`,items:t}]}function Vt(e){return e.currentView?e.isBrowsing?`submenu-browse`:`submenu`:e.isBrowsing?`root-browse`:`root`}function Ht(e){let t=[];return e.actionItems.length>0&&t.push({value:`actions`,label:`Actions`,items:e.actionItems}),e.recentThreadItems.length>0&&t.push({value:`recent-threads`,label:`Recent Threads`,items:e.recentThreadItems}),t}function Ut(e){switch(e){case`root`:return`Search commands, projects, and threads...`;case`root-browse`:return`Enter project path (e.g. ~/projects/my-app)`;case`submenu`:return`Search...`;case`submenu-browse`:return`Enter path (e.g. ~/projects/my-app)`}}var I=be();function Wt(e){let t=(0,Mt.c)(13);if(e.groups.length===0){let n=e.emptyStateMessage??(e.isActionsOnly?`No matching actions.`:`No matching commands, projects, or threads.`),r;return t[0]===n?r=t[1]:(r=(0,I.jsx)(`div`,{className:`py-10 text-center text-sm text-muted-foreground`,children:n}),t[0]=n,t[1]=r),r}let n;if(t[2]!==e.groups||t[3]!==e.highlightedItemValue||t[4]!==e.keybindings||t[5]!==e.onExecuteItem){let r;t[7]!==e.highlightedItemValue||t[8]!==e.keybindings||t[9]!==e.onExecuteItem?(r=t=>(0,I.jsxs)(bt,{items:t.items,children:[(0,I.jsx)(S,{children:t.label}),(0,I.jsx)(vt,{children:t=>t.disabled?(0,I.jsx)(Gt,{item:t},t.value):(0,I.jsx)(L,{item:t,keybindings:e.keybindings,isActive:e.highlightedItemValue===t.value,onExecuteItem:e.onExecuteItem},t.value)})]},t.value),t[7]=e.highlightedItemValue,t[8]=e.keybindings,t[9]=e.onExecuteItem,t[10]=r):r=t[10],n=e.groups.map(r),t[2]=e.groups,t[3]=e.highlightedItemValue,t[4]=e.keybindings,t[5]=e.onExecuteItem,t[6]=n}else n=t[6];let r;return t[11]===n?r=t[12]:(r=(0,I.jsx)(C,{children:n}),t[11]=n,t[12]=r),r}function Gt(e){let t=(0,Mt.c)(8),n;t[0]!==e.item.description||t[1]!==e.item.title||t[2]!==e.item.titleLeadingContent?(n=e.item.description?(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 text-sm text-foreground`,children:[e.item.titleLeadingContent,(0,I.jsx)(`span`,{className:`truncate`,children:e.item.title})]}),(0,I.jsx)(`span`,{className:`truncate text-muted-foreground/70 text-xs`,children:e.item.description})]}):(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 text-sm text-foreground`,children:[e.item.titleLeadingContent,(0,I.jsx)(`span`,{className:`truncate`,children:e.item.title})]}),t[0]=e.item.description,t[1]=e.item.title,t[2]=e.item.titleLeadingContent,t[3]=n):n=t[3];let r;return t[4]!==e.item.icon||t[5]!==e.item.titleTrailingContent||t[6]!==n?(r=(0,I.jsxs)(`div`,{className:`flex min-h-8 select-none items-center gap-2 rounded-sm px-2 py-1.5 text-base opacity-64 sm:min-h-7 sm:text-sm`,children:[e.item.icon,n,e.item.titleTrailingContent]}),t[4]=e.item.icon,t[5]=e.item.titleTrailingContent,t[6]=n,t[7]=r):r=t[7],r}function L(e){let t=(0,Mt.c)(27),n;t[0]!==e.item.shortcutCommand||t[1]!==e.keybindings?(n=e.item.shortcutCommand?dt(e.keybindings,e.item.shortcutCommand):null,t[0]=e.item.shortcutCommand,t[1]=e.keybindings,t[2]=n):n=t[2];let r=n,i=e.item.value,a=e.isActive&&`bg-accent! text-accent-foreground!`,o;t[3]===a?o=t[4]:(o=b(`cursor-pointer gap-2 hover:bg-transparent hover:text-inherit data-highlighted:bg-transparent data-highlighted:text-inherit data-selected:bg-transparent data-selected:text-inherit [&[data-highlighted][data-selected]]:bg-transparent [&[data-highlighted][data-selected]]:text-inherit`,a),t[3]=a,t[4]=o);let s;t[5]===e?s=t[6]:(s=()=>{e.onExecuteItem(e.item)},t[5]=e,t[6]=s);let c;t[7]!==e.item.description||t[8]!==e.item.title||t[9]!==e.item.titleLeadingContent?(c=e.item.description?(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 text-sm text-foreground`,children:[e.item.titleLeadingContent,(0,I.jsx)(`span`,{className:`truncate`,children:e.item.title})]}),(0,I.jsx)(`span`,{className:`truncate text-muted-foreground/70 text-xs`,children:e.item.description})]}):(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 text-sm text-foreground`,children:[e.item.titleLeadingContent,(0,I.jsx)(`span`,{className:`truncate`,children:e.item.title})]}),t[7]=e.item.description,t[8]=e.item.title,t[9]=e.item.titleLeadingContent,t[10]=c):c=t[10];let l;t[11]===e.item.timestamp?l=t[12]:(l=e.item.timestamp?(0,I.jsx)(`span`,{className:`min-w-12 shrink-0 text-right text-[10px] tabular-nums text-muted-foreground/70`,children:e.item.timestamp}):null,t[11]=e.item.timestamp,t[12]=l);let u;t[13]===r?u=t[14]:(u=r?(0,I.jsx)(w,{children:r}):null,t[13]=r,t[14]=u);let d;t[15]===e.item.kind?d=t[16]:(d=e.item.kind===`submenu`?(0,I.jsx)(Re,{className:`ml-auto size-4 shrink-0 text-muted-foreground/50`}):null,t[15]=e.item.kind,t[16]=d);let ee;return t[17]!==e.item.icon||t[18]!==e.item.titleTrailingContent||t[19]!==e.item.value||t[20]!==o||t[21]!==s||t[22]!==c||t[23]!==l||t[24]!==u||t[25]!==d?(ee=(0,I.jsxs)(T,{value:i,className:o,onMouseDown:Kt,onClick:s,children:[e.item.icon,c,e.item.titleTrailingContent,l,u,d]}),t[17]=e.item.icon,t[18]=e.item.titleTrailingContent,t[19]=e.item.value,t[20]=o,t[21]=s,t[22]=c,t[23]=l,t[24]=u,t[25]=d,t[26]=ee):ee=t[26],ee}function Kt(e){e.preventDefault()}var qt=[],Jt=3e4,Yt=2,Xt=20;function Zt(e){return lt(e)?`Finder`:y(e)?`Explorer`:`Files`}function Qt(e){return e===`windows`?`Win32`:e===`darwin`?`MacIntel`:e===`linux`?`Linux`:typeof navigator>`u`?``:navigator.platform}var $t=[`url`,`github`,`gitlab`,`forgejo`,`bitbucket`,`azure-devops`],en=[`github`,`gitlab`,`forgejo`,`bitbucket`,`azure-devops`];function tn(e){switch(e){case`github`:return`GitHub`;case`gitlab`:return`GitLab`;case`forgejo`:return`Forgejo`;case`bitbucket`:return`Bitbucket`;case`azure-devops`:return`Azure DevOps`;case`url`:return`Git URL`}}function nn(e){switch(e){case`github`:return`owner/repo`;case`gitlab`:return`group/project`;case`forgejo`:return`owner/repo`;case`bitbucket`:return`workspace/repository`;case`azure-devops`:return`project/repository`;case`url`:return`URL`}}function rn(e){return e===`url`?null:e}function R(e,t){switch(e){case`github`:return(0,I.jsx)(k,{className:t});case`gitlab`:return(0,I.jsx)(D,{className:t});case`forgejo`:return(0,I.jsx)(St,{className:t});case`bitbucket`:return(0,I.jsx)(E,{className:t});case`azure-devops`:return(0,I.jsx)(O,{className:t});case`url`:return(0,I.jsx)(v,{className:t})}}function an(e){return!e||e.step===`confirm`?null:e.source===`url`?`Enter Git clone URL`:`Enter ${tn(e.source)} repository (${nn(e.source)})`}function on(e){return e.split(`/`).at(-1)?.trim()??e}function sn(e){return`remote-repository:${e.provider}:${encodeURIComponent(e.nameWithOwner)}`}function cn(e,t){return e===`bitbucket`?t.url:t.sshUrl}function ln(e){return!e.includes(`/`)&&!e.includes(`:`)}function un(e){return e===`url`?null:e}function dn(e){return en.toSorted((t,n)=>{let r=e[t].ready;return r===e[n].ready?tn(t).localeCompare(tn(n)):r?-1:1})}function fn(e){let t={ready:!1,hint:`Provider status unavailable. Open Settings -> Source Control and rescan.`},n={url:{ready:!0,hint:null},github:t,gitlab:t,forgejo:t,bitbucket:t,"azure-devops":t};if(!e)return n;let r=new Map(e.sourceControlProviders.map(e=>[e.kind,e])),i={...n};for(let e of $t){let n=un(e);if(!n)continue;let a=r.get(n);if(!a){i[e]=t;continue}if(a.status!==`available`){i[e]={ready:!1,hint:a.installHint};continue}if(a.auth.status===`unauthenticated`){i[e]={ready:!1,hint:o(a.auth.detail)??`${a.label} is not authenticated. Open Settings -> Source Control for setup guidance.`};continue}i[e]={ready:!0,hint:null}}return i}function pn(e){return e instanceof Error&&e.message.trim().length>0?e.message:`An error occurred.`}function z(){let e=(0,Mt.c)(5),t=pe(mn),n=pe(B),r,i;e[0]===n?(r=e[1],i=e[2]):(r=()=>()=>{n(!1)},i=[n],e[0]=n,e[1]=r,e[2]=i),(0,j.useEffect)(r,i);let a;return e[3]===t?a=e[4]:(a=t?(0,I.jsx)(hn,{}):null,e[3]=t,e[4]=a),a}function B(e){return e.setOpen}function mn(e){return e.open}function hn(){let e=Et(s.dispatchCommand),t=Et(u.projectsAdd),n=Et(u.serverGetStatistics),o=Ce(),f=pe(e=>e.setOpen),be=pe(e=>e.openIntent),Ne=pe(e=>e.clearOpenIntent),Re=Tt(),[v,y]=(0,j.useState)(``),x=(0,j.useDeferredValue)(v),dt=x.startsWith(`>`),[S,C]=(0,j.useState)(null),w=ge(),vt=p(e=>e.pinnedThreadKeys),bt=te(),{activeDraftThread:T,activeThread:E,defaultProjectRef:St,handleNewThread:D}=Se(),O=le(st(ne)),k=le(st(se)),Mt=ce(),[Nt,P]=(0,j.useState)([]),F=Nt.at(-1)??null,Lt=F===null,[Gt,L]=(0,j.useState)(0),[Kt,$t]=(0,j.useState)(null),[en,un]=(0,j.useState)(!1),[z,B]=(0,j.useState)(null),[mn,hn]=(0,j.useState)(!1),[gn,_n]=(0,j.useState)(!1),[vn,yn]=(0,j.useState)([]),V=_e(),bn=ve()?.label??null,xn=ue(e=>e.byId),H=he(e=>e.byId),Sn=(0,j.useMemo)(()=>{let e=[],t=new Set;V&&(t.add(V),e.push({environmentId:V,label:Me({isPrimary:!0,environmentId:V,runtimeLabel:bn}),isPrimary:!0}));for(let n of Object.values(xn)){if(t.has(n.environmentId))continue;let r=H[n.environmentId];e.push({environmentId:n.environmentId,label:Me({isPrimary:!1,environmentId:n.environmentId,runtimeLabel:r?.descriptor?.label??null,savedLabel:n.label}),isPrimary:!1})}return e.sort((e,t)=>e.isPrimary===t.isPrimary?e.label.localeCompare(t.label):e.isPrimary?-1:1),e},[V,bn,xn,H]),Cn=Sn[0]?.environmentId??null,U=Kt??Cn,wn=(0,j.useMemo)(()=>Qt(U&&V&&U===V?ve()?.platform.os??null:U?H[U]?.descriptor?.platform.os??H[U]?.serverConfig?.environment.platform.os??null:null),[U,V,H]),Tn=z!==null,En=z?.step===`repository`,W=En&&z?rn(z.source):null,Dn=En?x.trim():``,G=we({environmentId:z?.step===`repository`?z.environmentId:null,provider:W,query:Dn,limit:25,enabled:z?.step===`repository`&&z.source!==`url`&&W===`bitbucket`}),K=!En&&ot(v,wn),On=Vt({currentView:F,isBrowsing:K}),kn=Lt&&!dt&&!K&&!Tn,An=kn?x.trim():``,[jn]=ye(An,{wait:200}),Mn=(0,j.useMemo)(()=>{let e=new Set,t=[];for(let n of k)e.has(n.environmentId)||(e.add(n.environmentId),t.push(n.environmentId));for(let n of O)e.has(n.environmentId)||(e.add(n.environmentId),t.push(n.environmentId));return t},[O,k]);(0,j.useEffect)(()=>{let e=jn.trim();if(!kn||e.length<Yt||Mn.length===0){yn([]);return}let t=!1,n=Mn.map(async t=>{let n=fe(t);if(!n)return[];try{return(await n.orchestration.searchThreadMessages({query:e,limit:Xt})).map(e=>Object.assign({environmentId:t},e))}catch{return[]}});return Promise.all(n).then(e=>{t||yn(e.flat().toSorted((e,t)=>t.timestamp.localeCompare(e.timestamp)).slice(0,Xt))}),()=>{t=!0}},[kn,jn,Mn]);let Nn=(0,j.useCallback)(e=>{let t=e&&V&&e===V?bt:e?H[e]?.serverConfig:null,n=e&&V&&e===V?w:e?H[e]?.serverConfig?.settings:null;return et({workspaceAccessRoot:t?.workspaceAccessRoot,configuredBaseDirectory:n?.addProjectBaseDirectory})},[V,bt,H,w]),Pn=(0,j.useMemo)(()=>new Map(O.map(e=>[e.id,e.cwd])),[O]),q=(0,j.useMemo)(()=>new Map(O.map(e=>[e.id,e.name])),[O]),Fn=(0,j.useMemo)(()=>new Map(k.map(e=>[e.id,e.title])),[k]),In=(0,j.useMemo)(()=>new Map(k.map(e=>[e.id,q.get(e.projectId)??``])),[q,k]),Ln=(0,j.useCallback)(async e=>{await o({to:`/$environmentId/$threadId`,params:xe(r(e.environmentId,e.threadId)),search:t=>({...t,messageId:e.messageId})})},[o]),Rn=(0,j.useMemo)(()=>Rt({searchResults:vn,threadTitleById:Fn,projectTitleByThreadId:In,icon:(0,I.jsx)(Te,{className:M}),runMessage:Ln}),[vn,Ln,In,Fn]),zn=E?.id,Bn=E?a(r(E.environmentId,E.id)):null,Vn=Dt({threadKey:Bn,pinned:Bn?vt[Bn]===!0:!1}),Hn=E?.environmentId??T?.environmentId??null,Un=E?.projectId??T?.projectId??null,Wn=Un?Pn.get(Un)??null:null,J=U&&Hn===U?Wn:null,Y=ie(v.trim())&&J===null,Gn=K?Ke(v):``,Kn=K&&!qe(v)?nt(v):``,qn=je({environmentId:U,partialPath:Gn,cwd:J,staleTime:Jt,enabled:K&&Gn.length>0&&U!==null&&!Y}),X=qn.data,Jn=qn.isPending,Yn=X?.entries??qt,Xn=X?.workspaceAccessRoot!==void 0&&Je(X.parentPath,X.workspaceAccessRoot),Zn=K&&!Y&&!Xn&&tt(Gn),{filteredEntries:Qn,exactEntry:$n}=(0,j.useMemo)(()=>Pt({browseEntries:Yn,browseFilterQuery:Kn,highlightedItemValue:S}),[Yn,Kn,S]),er=(0,j.useCallback)(e=>{de({environmentId:U,partialPath:e,cwd:J,staleTime:Jt})},[U,J]);(0,j.useEffect)(()=>{K&&Zn&&er(it(v))},[Zn,K,er,v]);let tr=(0,j.useMemo)(()=>async e=>{p.getState().setProjectExpanded(me(e,w),!0);let t=d(k.filter(t=>t.environmentId===e.environmentId),e.id,w.sidebarThreadSortOrder);if(t){await o({to:`/$environmentId/$threadId`,params:xe(r(t.environmentId,t.id))});return}await D(i(e.environmentId,e.id),{envMode:w.defaultThreadEnvMode})},[D,o,w,k]),nr=(0,j.useMemo)(()=>Ft({projects:O,valuePrefix:`project`,icon:e=>(0,I.jsx)(Ct,{environmentId:e.environmentId,cwd:e.cwd,projectId:e.id,customAvatarContentHash:e.customAvatarContentHash??null,className:M}),runProject:tr}),[tr,O]),rr=(0,j.useMemo)(()=>Ft({projects:O,valuePrefix:`new-thread-in`,icon:e=>(0,I.jsx)(Ct,{environmentId:e.environmentId,cwd:e.cwd,projectId:e.id,customAvatarContentHash:e.customAvatarContentHash??null,className:M}),runProject:async e=>{await Ge({activeDraftThread:T,activeThread:E,defaultProjectRef:St,defaultThreadEnvMode:w.defaultThreadEnvMode,handleNewThread:D},i(e.environmentId,e.id))}}),[T,E,St,D,O,w.defaultThreadEnvMode]),ir=(0,j.useMemo)(()=>It({threads:k,...zn?{activeThreadId:zn}:{},projectTitleById:q,sortOrder:w.sidebarThreadSortOrder,icon:(0,I.jsx)(Te,{className:M}),renderLeadingContent:e=>(0,I.jsx)(Oe,{thread:e}),renderTrailingContent:e=>(0,I.jsx)(De,{thread:e}),runThread:async e=>{await o({to:`/$environmentId/$threadId`,params:xe(r(e.environmentId,e.id))})}}),[zn,o,q,w.sidebarThreadSortOrder,k]),ar=ir.slice(0,12);function or(e){P(t=>[...t,{addonIcon:e.addonIcon,groups:e.groups,...e.initialQuery?{initialQuery:e.initialQuery}:{}}]),C(null),y(e.initialQuery??``)}function sr(e){or({addonIcon:e.addonIcon,groups:e.groups,...e.initialQuery?{initialQuery:e.initialQuery}:{}})}function cr(){B(null),Nt.length<=1&&$t(null),P(e=>e.slice(0,-1)),C(null),y(``)}function lr(e){C(null),y(e),e===``&&F?.initialQuery&&cr()}let ur=(0,j.useCallback)(e=>{$t(e),B(null),or({addonIcon:(0,I.jsx)(_,{className:N}),groups:[],initialQuery:Nn(e)})},[Nn]),dr=(0,j.useCallback)((e,t)=>{$t(e),B({step:`repository`,environmentId:e,source:t}),or({addonIcon:R(t,N),groups:[],initialQuery:``})},[]),fr=Ae(e=>e.openSettings),pr=(0,j.useCallback)(()=>{f(!1),fr(`source-control`)},[fr,f]),mr=(0,j.useCallback)((e,t)=>{let n=[{kind:`action`,value:`action:add-project:${e}:local`,searchTerms:[`local`,`folder`,`directory`,`browse`],title:`Local folder`,description:`Browse a folder on disk`,icon:(0,I.jsx)(_,{className:M}),keepOpen:!0,run:async()=>{ur(e)}}],r=[`url`,...dn(t)];for(let i of r){let r=tn(i),a=i===`url`?`Git URL`:`${r} repository`,o=i===`url`?`Clone from a remote URL`:`Clone ${r} ${nn(i)}`,s=t[i],c=s.hint,l=s.ready?void 0:(0,I.jsx)(`span`,{className:`ml-auto`,children:(0,I.jsxs)(mt,{children:[(0,I.jsx)(ft,{render:(0,I.jsx)(wt,{variant:`outline`,size:`xs`,className:`h-5 rounded-sm px-1.5 text-[10px] text-warning-foreground`,onClick:()=>{pr()},children:`Setup Required`})}),(0,I.jsx)(pt,{align:`end`,side:`left`,children:c??`Open Settings -> Source Control to configure this provider.`})]})});if(!s.ready){n.push({kind:`action`,value:`action:add-project:${e}:${i}:not-ready`,searchTerms:[`clone`,`remote`,`repository`,`repo`,`git`,r,`setup required`],title:a,description:o,disabled:!0,icon:R(i,M),...l?{titleTrailingContent:l}:{},run:async()=>{}});continue}n.push({kind:`action`,value:`action:add-project:${e}:${i}`,searchTerms:[`clone`,`remote`,`repository`,`repo`,`git`,r],title:a,description:o,icon:R(i,M),...l?{titleTrailingContent:l}:{},keepOpen:!0,run:async()=>{dr(e,i)}})}return[{value:`sources:${e}`,label:`Sources`,items:n}]},[pr,ur,dr]),hr=(0,j.useCallback)(e=>{$t(e),B(null);let t={environmentId:e},n=re(t).data;or({addonIcon:(0,I.jsx)(_,{className:N}),groups:mr(e,fn(n))}),ae(t).then(t=>{P(n=>n.at(-1)?.groups[0]?.value===`sources:${e}`?[...n.slice(0,-1),{addonIcon:(0,I.jsx)(_,{className:N}),groups:mr(e,fn(t))}]:n)})},[mr]),gr=Sn.map(e=>({kind:`action`,value:`action:add-project:environment:${e.environmentId}`,searchTerms:[e.label,e.environmentId,e.isPrimary?`this device`:``],title:e.label,description:e.isPrimary?`This device`:e.environmentId,icon:(0,I.jsx)(_,{className:M}),keepOpen:!0,run:async()=>{hr(e.environmentId)}})),_r=(0,j.useMemo)(()=>[{value:`environments`,label:`Environments`,items:gr}],[gr]),vr=(0,j.useCallback)(()=>{if(!t.allowed){g.add(A({type:`error`,title:`Unable to add project`,description:t.reason??`This action is unavailable.`}));return}if(Sn.length>1){or({addonIcon:(0,I.jsx)(_,{className:N}),groups:_r});return}let e=Cn;if(!e){g.add(A({type:`error`,title:`Unable to browse projects`,description:`No environment is available.`}));return}hr(e)},[t.allowed,t.reason,_r,Sn.length,Cn,hr]);(0,j.useLayoutEffect)(()=>{be?.kind===`add-project`&&(Ne(),vr())},[Ne,vr,be]);let Z=[];if(Z.push({kind:`action`,value:`action:show-inbox-sidebar`,searchTerms:[`sidebar`,`inbox`,`tasks`,`activity`],title:`Show Inbox sidebar`,icon:(0,I.jsx)(Be,{className:M}),shortcutCommand:`sidebar.showInbox`,run:async()=>{oe.getState().clearSelection(),p.getState().setSidebarMode(`inbox`),f(!1)}},{kind:`action`,value:`action:show-projects-sidebar`,searchTerms:[`sidebar`,`projects`,`tree`,`folders`],title:`Show Projects sidebar`,icon:(0,I.jsx)(Ve,{className:M}),shortcutCommand:`sidebar.showProjects`,run:async()=>{oe.getState().clearSelection(),p.getState().setSidebarMode(`projects`),f(!1)}}),Z.push({kind:`action`,value:`action:toggle-current-thread-pin`,searchTerms:[`pin`,`unpin`,`thread`,`favorite`,`keep at top`],title:Vn.title,...Vn.description?{description:Vn.description}:{},disabled:Vn.disabled,icon:Vn.pinned?(0,I.jsx)(jt,{className:M}):(0,I.jsx)(Xe,{className:M}),shortcutCommand:`thread.pinToggle`,run:async()=>{!E||!Bn||await Ot({threadKey:Bn,threadTitle:E.title,confirmUnpin:w.confirmThreadUnpin})}}),O.length>0){let t=Un?q.get(Un)??null:null;t&&Z.push({kind:`action`,value:`action:new-thread`,searchTerms:[`new thread`,`chat`,`create`,`draft`],title:(0,I.jsxs)(I.Fragment,{children:[`New thread in `,(0,I.jsx)(`span`,{className:`font-semibold`,children:t})]}),icon:(0,I.jsx)(He,{className:M}),shortcutCommand:`chat.new`,...e.reason?{description:e.reason}:{},disabled:!e.allowed,run:async()=>{await We({activeDraftThread:T,activeThread:E,defaultProjectRef:St,defaultThreadEnvMode:w.defaultThreadEnvMode,handleNewThread:D})}}),Z.push({kind:`submenu`,value:`action:new-thread-in`,searchTerms:[`new thread`,`project`,`pick`,`choose`,`select`],title:`New thread in...`,icon:(0,I.jsx)(He,{className:M}),addonIcon:(0,I.jsx)(He,{className:N}),groups:[{value:`projects`,label:`Projects`,items:rr}],...e.reason?{description:e.reason}:{},disabled:!e.allowed})}Z.push({kind:`action`,value:`action:add-project`,searchTerms:[`add project`,`folder`,`directory`,`browse`,`clone`,`remote`,`repository`,`repo`,`git`,`github`,`gitlab`,`forgejo`,`codeberg`,`bitbucket`,`azure`,`devops`,`url`,`environment`],title:`Add project`,...t.reason?{description:t.reason}:{},disabled:!t.allowed,icon:(0,I.jsx)(_,{className:M}),keepOpen:!0,run:async()=>{vr()}}),ke()!==`phone`&&Z.push({kind:`action`,value:`action:statistics`,searchTerms:[`statistics`,`usage`,`activity`,`tokens`,`cost`,`history`],title:`Open statistics`,...n.reason?{description:n.reason}:{},disabled:!n.allowed,icon:(0,I.jsx)(Le,{className:M}),run:async()=>{f(!1),await o({to:`/statistics`})}}),Z.push({kind:`action`,value:`action:settings`,searchTerms:[`settings`,`preferences`,`configuration`,`keybindings`],title:`Open settings`,icon:(0,I.jsx)(Ee,{className:M}),run:async()=>{f(!1),fr()}});let yr=Ht({actionItems:Z,recentThreadItems:ar}),br=zt({activeGroups:F?F.groups:yr,query:x,isInSubmenu:F!==null,projectSearchItems:nr,threadSearchItems:ir,messageSearchItems:Rn}),xr=(0,j.useCallback)(async(e,t)=>{let n=t?.environmentId??U;if(!n){g.add(A({type:`error`,title:`Failed to add project`,description:`Choose an environment and try again.`}));return}let a=t?.api??fe(n);if(!a){g.add(A({type:`error`,title:`Failed to add project`,description:`The environment is still reconnecting. Try again shortly.`}));return}if(Ye(e.trim(),wn)){g.add(A({type:`error`,title:`Failed to add project`,description:`Windows-style paths are only supported on Windows.`}));return}if(ie(e.trim())&&!J){g.add(A({type:`error`,title:`Failed to add project`,description:`Relative paths require an active project.`}));return}let s=Ze(e,J);if(s.length===0)return;let u=Qe(O.filter(e=>e.environmentId===n),s);if(u){p.getState().setProjectExpanded(me(u,w),!0);let e=d(k.filter(e=>e.environmentId===u.environmentId),u.id,w.sidebarThreadSortOrder);e?await o({to:`/$environmentId/$threadId`,params:xe(r(e.environmentId,e.id))}):await D(i(u.environmentId,u.id),{envMode:w.defaultThreadEnvMode}).catch(()=>void 0),f(!1);return}try{let e=ut();await a.orchestration.dispatchCommand({type:`project.create`,commandId:ct(),projectId:e,title:$e(s),workspaceRoot:s,projectMetadataDir:`.ryco`,createWorkspaceRootIfMissing:!0,defaultModelSelection:{instanceId:l.make(`codex`),model:c},createdAt:new Date().toISOString()}),await D(i(n,e),{envMode:w.defaultThreadEnvMode}).catch(()=>void 0),f(!1)}catch(e){g.add(A({type:`error`,title:`Failed to add project`,description:e instanceof Error?e.message:`An error occurred.`}))}},[U,wn,J,D,o,O,f,w,k]),Sr=(0,j.useCallback)(e=>Nn(e),[Nn]),Q=(0,j.useCallback)(e=>{let t=Sr(e.flow.environmentId);B({step:`confirm`,environmentId:e.flow.environmentId,source:e.flow.source,repositoryInput:e.repositoryInput,repository:e.repository,remoteUrl:e.remoteUrl}),C(null),y(t),L(e=>e+1)},[Sr]);async function Cr(e){if(!z)return;let t=fe(z.environmentId);if(!t){g.add(A({type:`error`,title:`Unable to clone project`,description:`Environment API is not available.`}));return}if(z.step===`repository`){let e=v.trim();if(e.length===0||mn)return;let n=rn(z.source);if(!n){Q({flow:z,repositoryInput:e,repository:null,remoteUrl:e});return}let r=G.data?.repositories??[];if(ln(e)&&Dn===e&&r.length===1){let e=r[0];Q({flow:z,repositoryInput:e.nameWithOwner,repository:e,remoteUrl:cn(z.source,e)});return}hn(!0);try{let r=await t.sourceControl.lookupRepository({provider:n,repository:e});Q({flow:z,repositoryInput:e,repository:r,remoteUrl:cn(z.source,r)})}catch(e){g.add(A({type:`error`,title:`Repository lookup failed`,description:pn(e)}))}finally{hn(!1)}return}let n=(e??v).trim();if(n.length===0||gn)return;if(Ye(n,wn)){g.add(A({type:`error`,title:`Clone failed`,description:`Windows-style paths are only supported on Windows.`}));return}if(ie(n)&&!J){g.add(A({type:`error`,title:`Clone failed`,description:`Relative paths require an active project.`}));return}let r=Ze(n,J);if(r.length!==0){_n(!0);try{let e=rn(z.source),n=await t.sourceControl.cloneRepository({...e&&z.repository?{provider:e,repository:z.repository.nameWithOwner,remoteUrl:z.remoteUrl,...z.source===`bitbucket`?{protocol:`https`}:{}}:{remoteUrl:z.remoteUrl},destinationPath:r});await xr(n.cwd,{environmentId:z.environmentId,api:t})}catch(e){g.add(A({type:`error`,title:`Clone failed`,description:pn(e)}))}finally{_n(!1)}}}function wr(e){let t=at(v,e);C(null),y(t),L(e=>e+1)}function Tr(e){let t=rt(e);C(null),y(t),L(e=>e+1)}function Er(){if(!Zn)return;let e=it(v);e!==null&&(C(null),y(e),L(e=>e+1))}let Dr=qe(v)?X?.parentPath??v.trim():$n?.fullPath??v.trim(),Or=[...qn.error?[{value:`browse-status`,label:`Filesystem`,items:[{kind:`action`,value:`browse-status:error`,searchTerms:[`filesystem`,`unavailable`,`error`],title:`Unable to browse folders`,description:pn(qn.error),icon:(0,I.jsx)(ze,{className:M}),disabled:!0,run:async()=>{}}]}]:[],...Bt({browseEntries:Qn,browseQuery:v,canBrowseUp:Zn,upIcon:(0,I.jsx)(kt,{className:M}),directoryIcon:(0,I.jsx)(Ue,{className:M}),symlinkIcon:(0,I.jsx)(At,{className:M}),browseUp:Er,browseTo:wr,browseToPath:Tr})],kr=Or.map(e=>e.value===`directories`?{...e,label:`Select where to clone`}:e),Ar=(0,j.useMemo)(()=>z?.step===`confirm`?{title:z.repository?.nameWithOwner??z.repositoryInput,description:z.repository?.url??z.remoteUrl,icon:R(z.source,M)}:null,[z]),jr=(0,j.useMemo)(()=>{if(z?.step!==`repository`||z.source===`url`||W!==`bitbucket`)return[];let e=G.data?.repositories??[];return e.length>0?[{value:`remote-repositories:${z.environmentId}:${W}`,label:Dn.length>0?`Matching repositories`:`Available repositories`,items:e.map(e=>({kind:`action`,value:sn(e),searchTerms:[e.nameWithOwner,on(e.nameWithOwner),e.url,e.sshUrl],title:e.nameWithOwner,description:e.url,icon:R(z.source,M),keepOpen:!0,run:async()=>{Q({flow:z,repositoryInput:e.nameWithOwner,repository:e,remoteUrl:cn(z.source,e)})}}))}]:G.isFetching?[{value:`remote-repositories:${z.environmentId}:${W}:loading`,label:`Repositories`,items:[{kind:`action`,value:`remote-repositories:loading`,searchTerms:[`loading`,`repository`,`repo`],title:`Loading repositories`,description:`Reading available Bitbucket workspaces`,icon:R(z.source,M),disabled:!0,run:async()=>{}}]}]:G.error===null?[]:[{value:`remote-repositories:${z.environmentId}:${W}:error`,label:`Repositories`,items:[{kind:`action`,value:`remote-repositories:error`,searchTerms:[`error`,`repository`,`repo`],title:`Unable to load repositories`,description:pn(G.error),icon:R(z.source,M),disabled:!0,run:async()=>{}}]}]},[z,Q,W,Dn,G.data?.repositories,G.error,G.isFetching]),Mr=z?.step===`repository`&&z.source===`bitbucket`?Dn.length===0?`No repositories found. Enter workspace/repository manually.`:`No matching repositories. Enter workspace/repository manually.`:null,Nr=br;z?.step===`repository`?Nr=jr:z?.step===`confirm`?Nr=Y?[]:kr:K&&(Nr=Y?[]:Or);let Pr=an(z)??Ut(On),Fr=On===`submenu`||On===`submenu-browse`,$=S?.startsWith(`browse:`)??!1,Ir=K&&!Y,Lr=Ir&&!Jn&&v.trim().length>0&&!$&&(qe(v)?!X:$n===null),Rr=lt(navigator.platform),zr=Rr?`⌘`:`Ctrl`,Br=z?.step===`confirm`,Vr=Br?Lr?`Create & Clone`:`Clone`:Lr?`Create & Add`:`Add`,Hr=$?`${zr} Enter`:`Enter`,Ur=z?z.source===`url`?`Continue`:`Lookup`:null,Wr=mn||gn,Gr=z?.step===`repository`&&v.trim().length>0&&!Wr,Kr=Zt(navigator.platform),qr=K&&U!==null&&V!==null&&U===V&&typeof window<`u`&&window.desktopBridge!==void 0,Jr=(0,j.useMemo)(()=>{if(!qr)return;let e=v.trim();if(e.length===0)return;let t=qe(v)?X?.parentPath??e:Gn||e,n=Ze(t,J);return n.length>0?n:void 0},[Gn,X?.parentPath,qr,J,v]);function Yr(e){return Rr?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function Xr(e){if(z?.step===`repository`&&e.key===`Enter`){e.preventDefault();let t=G.data?.repositories.find(e=>sn(e)===S);if(t){Q({flow:z,repositoryInput:t.nameWithOwner,repository:t,remoteUrl:cn(z.source,t)});return}Cr();return}if(Ir&&e.key===`Enter`&&(!$||Yr(e))){e.preventDefault(),Br?Cr(Dr):xr(Dr);return}e.key===`Backspace`&&v===``&&Fr&&(e.preventDefault(),cr())}function Zr(e){if(!e.disabled){if(e.kind===`submenu`){sr(e);return}e.keepOpen||f(!1),e.run().catch(e=>{g.add(A({type:`error`,title:`Unable to run command`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))})}}let Qr=(0,j.useCallback)(async()=>{if(!qr||en)return;let e=ee();if(!e)return;un(!0);let t=null;try{t=await e.dialogs.pickFolder(Jr?{initialPath:Jr}:void 0)}catch{un(!1);return}un(!1),t&&await xr(t)},[qr,Jr,xr,en]);return(0,I.jsx)(gt,{"aria-label":`Command palette`,className:`project-glass-surface overflow-hidden p-0`,"data-testid":`command-palette`,surface:`glass`,finalFocus:()=>(Re?.current?.focusAtEnd(),!1),onBackdropPointerDown:()=>{f(!1)},children:(0,I.jsxs)(xt,{"aria-label":`Command palette`,autoHighlight:K||Tn?!1:`always`,mode:`none`,onItemHighlighted:e=>{C(typeof e==`string`?e:null)},onValueChange:lr,value:v,children:[(0,I.jsxs)(`div`,{className:`relative`,children:[(0,I.jsx)(_t,{className:z?.step===`repository`?`pe-32`:K?Lr?`pe-36`:`pe-16`:void 0,placeholder:Pr,wrapperClassName:Fr?`[&_[data-slot=autocomplete-start-addon]]:pointer-events-auto`:void 0,...Fr?{startAddon:(0,I.jsx)(`button`,{type:`button`,className:`flex cursor-pointer items-center`,"aria-label":`Back`,onClick:cr,children:(0,I.jsx)(Ie,{})})}:K&&!Fr?{startAddon:(0,I.jsx)(_,{})}:{},onKeyDown:Xr}),z?.step===`repository`?(0,I.jsxs)(wt,{variant:`outline`,size:`xs`,tabIndex:-1,className:`absolute inset-e-2.5 top-1/2 gap-1.5 pe-1 ps-2 -translate-y-1/2`,"aria-label":`${Ur??`Continue`} (Enter)`,disabled:!Gr,onMouseDown:e=>{e.preventDefault()},onClick:()=>{Cr()},title:`${Ur??`Continue`} (Enter)`,children:[(0,I.jsx)(`span`,{children:Wr?`Working`:Ur}),(0,I.jsx)(m,{className:`pointer-events-none -me-0.5 items-center gap-1 pointer-coarse:hidden`,children:(0,I.jsx)(h,{children:`Enter`})})]}):K?(0,I.jsxs)(wt,{variant:`outline`,size:`xs`,tabIndex:-1,className:b(`absolute inset-e-2.5 top-1/2 pe-1 ps-2 -translate-y-1/2`,$?`gap-1`:`gap-1.5`),"aria-label":`${Vr} (${Hr})`,disabled:Y||Br&&Wr,onMouseDown:e=>{e.preventDefault()},onClick:()=>{Y||(Br?Cr(Dr):xr(Dr))},title:`${Vr} (${Hr})`,children:[(0,I.jsx)(`span`,{children:Br&&Wr?`Cloning`:Vr}),(0,I.jsx)(m,{className:`pointer-events-none -me-0.5 items-center gap-1 pointer-coarse:hidden`,children:(0,I.jsx)(h,{children:$?`${zr} Enter`:`Enter`})})]}):null]}),(0,I.jsxs)(ht,{className:`max-h-[min(28rem,70vh)] bg-transparent`,children:[Ar?(0,I.jsxs)(`div`,{className:`p-2 pb-0`,children:[(0,I.jsx)(`div`,{className:`px-2 py-1.5 font-medium text-muted-foreground text-xs`,children:`Repository`}),(0,I.jsxs)(`div`,{className:`flex min-h-8 items-center gap-2 rounded-sm px-2 py-1.5`,children:[Ar.icon,(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,I.jsx)(`span`,{className:`truncate text-foreground text-sm`,children:Ar.title}),(0,I.jsx)(`span`,{className:`truncate text-muted-foreground/70 text-xs`,children:Ar.description})]})]})]}):null,(0,I.jsx)(Wt,{groups:Nr,highlightedItemValue:S,isActionsOnly:dt,keybindings:Mt,onExecuteItem:Zr,...z?.step===`repository`?{emptyStateMessage:z.source===`url`?`Enter a Git clone URL and press Enter to continue.`:Mr??`Enter a repository path and press Enter to look it up.`}:z?.step===`confirm`?{emptyStateMessage:`Choose a destination path and press Enter to clone.`}:Y?{emptyStateMessage:`Relative paths require an active project.`}:Lr?{emptyStateMessage:`Press Enter to create this folder and add it as a project.`}:{}})]}),(0,I.jsxs)(yt,{className:`gap-3 max-sm:flex-col max-sm:items-start`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-3 pointer-coarse:hidden`,children:[(0,I.jsxs)(m,{className:`items-center gap-1.5`,children:[(0,I.jsx)(h,{children:(0,I.jsx)(Fe,{})}),(0,I.jsx)(h,{children:(0,I.jsx)(Pe,{})}),(0,I.jsx)(`span`,{className:b(`text-muted-foreground/80`),children:`Navigate`})]}),z?.step===`repository`?(0,I.jsxs)(m,{className:`items-center gap-1.5`,children:[(0,I.jsx)(h,{children:`Enter`}),(0,I.jsx)(`span`,{className:b(`text-muted-foreground/80`),children:Ur??`Continue`})]}):!Ir||$?(0,I.jsxs)(m,{className:`items-center gap-1.5`,children:[(0,I.jsx)(h,{children:`Enter`}),(0,I.jsx)(`span`,{className:b(`text-muted-foreground/80`),children:`Select`})]}):null,Fr?(0,I.jsxs)(m,{className:`items-center gap-1.5`,children:[(0,I.jsx)(h,{children:`Backspace`}),(0,I.jsx)(`span`,{className:b(`text-muted-foreground/80`),children:`Back`})]}):null,(0,I.jsxs)(m,{className:`items-center gap-1.5`,children:[(0,I.jsx)(h,{children:`Esc`}),(0,I.jsx)(`span`,{className:b(`text-muted-foreground/80`),children:`Close`})]})]}),qr?(0,I.jsx)(wt,{variant:`ghost`,size:`xs`,className:`h-auto px-2 text-xs text-muted-foreground/80 hover:bg-transparent hover:text-foreground`,disabled:en,onClick:()=>{Qr()},children:`Open in ${Kr}`}):null]})]},`${Nt.length}-${Gt}-${K}-${z?.step??`none`}`)})}export{z as CommandPaletteDialog};
@@ -1,4 +1,4 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{Ca as r,Fr as i}from"./src-DmPIm3ie.js";import{Hn as a,Yt as o,bn as s,h as c,l,m as u,n as d,r as f,s as p,vt as m,xn as h}from"./runtime-QZPKtH2P.js";import{A as g,C as _,F as v,M as y,T as b,U as x,g as S,h as C,j as w,k as T,m as E,p as D,u as O}from"./primary-CiDY2oUi.js";import{It as k}from"./composerDraftStore-TYv9j3vY.js";import{n as A,t as j}from"./pairingUrl-rQM9kSGT.js";import{n as M,t as N}from"./visibilityPolling-BwzZdaSN.js";import{r as P,t as F}from"./hostedPairing-PogXRAb7.js";import{t as I}from"./settingsDialogStore-LxRFC5hh.js";import{i as ee}from"./uiStateStore-DzUrk2GS.js";import{n as L,o as R,t as z}from"./desktopWorkspace-hOxsGVFz.js";import{f as B}from"./useRenderElement-DchFnsR8.js";import{t as te}from"./arrow-up-right-DGeet8e6.js";import{t as ne}from"./chevron-down-B7C6FKzM.js";import{i as V}from"./toast-C-0Ft2jD.js";import{t as H}from"./plus-B2h-VEqh.js";import{t as U}from"./qr-code-ScYULAuR.js";import{t as W}from"./refresh-cw-DopCMrtR.js";import{t as re}from"./terminal-C_CyIsDD.js";import{t as ie}from"./triangle-alert-RL_T3KLo.js";import{t as G}from"./utils-CV2fJJxC.js";import{n as ae,t as oe}from"./timestampFormat-8uPXS812.js";import{i as K,n as se,t as ce}from"./tooltip-C_-9XEfA.js";import{t as le}from"./switch-BZjA7VT9.js";import{t as ue}from"./input-BZz4eLRl.js";import{t as de}from"./scroll-area-C0yF015F.js";import{t as q}from"./button-DG8WqjNn.js";import{t as fe}from"./useCopyToClipboard-BTpWxumf.js";import{t as pe}from"./toastHelpers-CSQRKo4F.js";import{a as me,c as he,i as ge,l as _e,n as ve,o as ye,r as be,s as xe,t as Se}from"./dialog-BNmFD6Nh.js";import{a as Ce,c as J,d as we,i as Te,o as Ee,p as De,s as Oe}from"./menu-B6UEFcn0.js";import{t as ke}from"./spinner-ClQu8SdC.js";import{t as Ae}from"./textarea-DHdmRD1r.js";import{a as je,i as Me,n as Ne,o as Pe,r as Fe,s as Ie,t as Le}from"./alert-dialog-9Jyh0e8u.js";import{n as Re,r as ze,t as Be}from"./popover-BuYzXGwl.js";import{a as Ve,i as He,n as Ue,r as Y}from"./settingsLayout-CHJT5wtl.js";import{n as We,t as Ge}from"./data-list-DTdqWMGN.js";import{t as Ke}from"./AnimatedHeight-BC-qaTJY.js";import{n as qe,t as Je}from"./group-CzdKmc45.js";import{t as Ye}from"./qr-code-Ie92aZvE.js";import{n as Xe,r as Ze,t as Qe}from"./collapsible-EhAEe5S9.js";var $e=B(`chevrons-left-right-ellipsis`,[[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`m17 7 5 5-5 5`,key:`1xlxn0`}],[`path`,{d:`m7 7-5 5 5 5`,key:`19njba`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}]]),X=e(t(),1),Z=n();function et(e,t){let n=new URL(e);return n.pathname=`/pair`,A(n,t).toString()}function tt(e,t){return new URL(e).protocol===`https:`?F({host:e,token:t}):null}var nt=`/assets/relay-architecture-YeimmXuP.html`,Q=k();function $(e,t){return e===null||t===null||!e.fileSecretStoreFallbackSupported?!1:t.enrolled===`none`||t.enrolled===`unknown`&&!e.allowFileSecretStore}function rt(e,t){return e===null||t===null?`Loading local launch configuration and identity state.`:e.fileSecretStoreFallbackSupported?t.enrolled===`active`||t.enrolled===`pending`?`Locked while this machine holds Hub identity material. Leave the Hub before changing it.`:t.enrolled===`unknown`?e.allowFileSecretStore?`Identity custody is unreadable, so an enabled fallback cannot be turned off.`:`Enable this only as a recovery action when an existing file-backed identity cannot be read.`:`Ryco still prefers the system credential store. This only permits the hardened POSIX file fallback when that store is unavailable.`:`Unavailable on Windows. Ryco requires the system credential store on this host.`}function it(e){return e<1024?`${e} B`:`${(e/1024).toFixed(+(e<10240))} KiB`}function at(e,t){if(e===null)return[{label:`Protocol`,value:`Loading`},{label:`Channels`,value:`Loading`},{label:`Relay queue`,value:`Loading`},{label:`Reconnect`,value:`Loading`}];let n=e.state===`online`&&e.protocolMajor!==void 0&&e.protocolMinor!==void 0?`${e.protocolMajor}.${e.protocolMinor}`:`Not negotiated`,r=e.nextRetryAt===void 0?e.reconnectAttempt===void 0?`Not scheduled`:`Attempt ${e.reconnectAttempt}`:`Attempt ${e.reconnectAttempt??0}, ${Math.max(0,Math.ceil((Date.parse(e.nextRetryAt)-t)/1e3))}s`;return[{label:`Protocol`,value:n},{label:`Channels`,value:String(e.activeChannels)},{label:`Relay queue`,value:it(e.queuedBytes)},{label:`Reconnect`,value:r}]}function ot(e){let t=(0,Z.c)(84),{config:n,identity:r,status:i,nowMs:a,savingFileFallback:o,configError:s,onFileFallbackChange:c,onOpenGuide:l}=e,[u,d]=(0,X.useState)(!1),f;t[0]!==n||t[1]!==r?(f=$(n,r),t[0]=n,t[1]=r,t[2]=f):f=t[2];let p=f,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k;if(t[3]!==p||t[4]!==n||t[5]!==s||t[6]!==r||t[7]!==a||t[8]!==c||t[9]!==l||t[10]!==u||t[11]!==o||t[12]!==i){let e=at(i,a);g=Qe,y=u,b=d;let f=u?`Hide advanced options`:`Show advanced options`,A;t[29]===f?A=t[30]:(A=(0,Q.jsx)(`span`,{className:`block text-[13px] font-semibold tracking-[-0.01em] text-foreground`,children:f}),t[29]=f,t[30]=A);let j;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,Q.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground/80`,children:`Key custody, startup ownership, CLI flags, and bounded relay diagnostics.`}),t[31]=j):j=t[31];let M;t[32]===s?M=t[33]:(M=s?(0,Q.jsx)(`span`,{className:`mt-1 block text-[11px] text-destructive`,children:s}):null,t[32]=s,t[33]=M);let N;t[34]!==A||t[35]!==M?(N=(0,Q.jsxs)(`span`,{children:[A,j,M]}),t[34]=A,t[35]=M,t[36]=N):N=t[36];let P=`size-4 shrink-0 text-muted-foreground transition-transform duration-200 motion-reduce:transition-none ${u?`rotate-180`:``}`,F;t[37]===P?F=t[38]:(F=(0,Q.jsx)(ne,{className:P,"aria-hidden":!0}),t[37]=P,t[38]=F),t[39]!==N||t[40]!==F?(x=(0,Q.jsxs)(Ze,{className:`group flex w-full items-center justify-between gap-4 border-t border-border/60 px-4 py-3.5 text-left transition-colors hover:bg-muted/25 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring sm:px-5`,children:[N,F]}),t[39]=N,t[40]=F,t[41]=x):x=t[41],h=Xe,v=`motion-reduce:transition-none`,D=`border-t border-border/60 bg-muted/10`;let I;t[42]!==n||t[43]!==r?(I=rt(n,r),t[42]=n,t[43]=r,t[44]=I):I=t[44];let ee=n?.allowFileSecretStore??!1,L=!p||o,R;t[45]===c?R=t[46]:(R=e=>c(!!e),t[45]=c,t[46]=R);let z;t[47]!==ee||t[48]!==L||t[49]!==R?(z=(0,Q.jsx)(le,{checked:ee,disabled:L,onCheckedChange:R,"aria-label":`Allow permissioned-file Hub key storage`}),t[47]=ee,t[48]=L,t[49]=R,t[50]=z):z=t[50],t[51]!==I||t[52]!==z?(O=(0,Q.jsx)(Y,{title:`Protected key fallback`,description:I,status:`Changing this launch setting restarts Ryco. It never moves or exports an existing key.`,control:z}),t[51]=I,t[52]=z,t[53]=O):O=t[53],t[54]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Q.jsx)(Y,{title:`Who owns startup`,description:`The desktop app owns Hub launch values for its bundled server and restarts that server to apply them. Exported Hub environment variables do not override this panel.`,status:`The Hub address stays outside ordinary server settings, diagnostics, and support output.`}),t[54]=k):k=t[54],t[55]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Q.jsx)(Y,{title:`CLI equivalents`,description:`Use these flags for a headless Ryco node. Explicit flags override matching environment variables.`,status:`Use RYCO_HUB_NODE_NAME instead of --hub-node-name when environment configuration is preferable. Boolean flags also support canonical --no-... forms.`,children:(0,Q.jsx)(`div`,{className:`pb-3.5 pt-3`,children:(0,Q.jsx)(`pre`,{className:`overflow-x-auto rounded-lg border border-border/60 bg-background/70 px-3 py-2.5 font-mono text-[11px] leading-5 text-foreground`,children:(0,Q.jsx)(`code`,{children:`ryco serve \\
1
+ import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{Ca as r,Fr as i}from"./src-DmPIm3ie.js";import{Hn as a,Yt as o,bn as s,h as c,l,m as u,n as d,r as f,s as p,vt as m,xn as h}from"./runtime-CYtynKGT.js";import{A as g,C as _,F as v,M as y,T as b,U as x,g as S,h as C,j as w,k as T,m as E,p as D,u as O}from"./primary-CiDY2oUi.js";import{It as k}from"./composerDraftStore-TYv9j3vY.js";import{n as A,t as j}from"./pairingUrl-rQM9kSGT.js";import{n as M,t as N}from"./visibilityPolling-BwzZdaSN.js";import{r as P,t as F}from"./hostedPairing-PogXRAb7.js";import{t as I}from"./settingsDialogStore-LxRFC5hh.js";import{i as ee}from"./uiStateStore-DzUrk2GS.js";import{n as L,o as R,t as z}from"./desktopWorkspace-CIvAIvMt.js";import{f as B}from"./useRenderElement-DchFnsR8.js";import{t as te}from"./arrow-up-right-DGeet8e6.js";import{t as ne}from"./chevron-down-B7C6FKzM.js";import{i as V}from"./toast-C-0Ft2jD.js";import{t as H}from"./plus-B2h-VEqh.js";import{t as U}from"./qr-code-ScYULAuR.js";import{t as W}from"./refresh-cw-DopCMrtR.js";import{t as re}from"./terminal-C_CyIsDD.js";import{t as ie}from"./triangle-alert-RL_T3KLo.js";import{t as G}from"./utils-CV2fJJxC.js";import{n as ae,t as oe}from"./timestampFormat-8uPXS812.js";import{i as K,n as se,t as ce}from"./tooltip-C_-9XEfA.js";import{t as le}from"./switch-BZjA7VT9.js";import{t as ue}from"./input-BZz4eLRl.js";import{t as de}from"./scroll-area-C0yF015F.js";import{t as q}from"./button-DG8WqjNn.js";import{t as fe}from"./useCopyToClipboard-BTpWxumf.js";import{t as pe}from"./toastHelpers-CSQRKo4F.js";import{a as me,c as he,i as ge,l as _e,n as ve,o as ye,r as be,s as xe,t as Se}from"./dialog-BNmFD6Nh.js";import{a as Ce,c as J,d as we,i as Te,o as Ee,p as De,s as Oe}from"./menu-B6UEFcn0.js";import{t as ke}from"./spinner-ClQu8SdC.js";import{t as Ae}from"./textarea-DHdmRD1r.js";import{a as je,i as Me,n as Ne,o as Pe,r as Fe,s as Ie,t as Le}from"./alert-dialog-9Jyh0e8u.js";import{n as Re,r as ze,t as Be}from"./popover-BuYzXGwl.js";import{a as Ve,i as He,n as Ue,r as Y}from"./settingsLayout-CHJT5wtl.js";import{n as We,t as Ge}from"./data-list-DTdqWMGN.js";import{t as Ke}from"./AnimatedHeight-BC-qaTJY.js";import{n as qe,t as Je}from"./group-CzdKmc45.js";import{t as Ye}from"./qr-code-Ie92aZvE.js";import{n as Xe,r as Ze,t as Qe}from"./collapsible-EhAEe5S9.js";var $e=B(`chevrons-left-right-ellipsis`,[[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`m17 7 5 5-5 5`,key:`1xlxn0`}],[`path`,{d:`m7 7-5 5 5 5`,key:`19njba`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}]]),X=e(t(),1),Z=n();function et(e,t){let n=new URL(e);return n.pathname=`/pair`,A(n,t).toString()}function tt(e,t){return new URL(e).protocol===`https:`?F({host:e,token:t}):null}var nt=`/assets/relay-architecture-YeimmXuP.html`,Q=k();function $(e,t){return e===null||t===null||!e.fileSecretStoreFallbackSupported?!1:t.enrolled===`none`||t.enrolled===`unknown`&&!e.allowFileSecretStore}function rt(e,t){return e===null||t===null?`Loading local launch configuration and identity state.`:e.fileSecretStoreFallbackSupported?t.enrolled===`active`||t.enrolled===`pending`?`Locked while this machine holds Hub identity material. Leave the Hub before changing it.`:t.enrolled===`unknown`?e.allowFileSecretStore?`Identity custody is unreadable, so an enabled fallback cannot be turned off.`:`Enable this only as a recovery action when an existing file-backed identity cannot be read.`:`Ryco still prefers the system credential store. This only permits the hardened POSIX file fallback when that store is unavailable.`:`Unavailable on Windows. Ryco requires the system credential store on this host.`}function it(e){return e<1024?`${e} B`:`${(e/1024).toFixed(+(e<10240))} KiB`}function at(e,t){if(e===null)return[{label:`Protocol`,value:`Loading`},{label:`Channels`,value:`Loading`},{label:`Relay queue`,value:`Loading`},{label:`Reconnect`,value:`Loading`}];let n=e.state===`online`&&e.protocolMajor!==void 0&&e.protocolMinor!==void 0?`${e.protocolMajor}.${e.protocolMinor}`:`Not negotiated`,r=e.nextRetryAt===void 0?e.reconnectAttempt===void 0?`Not scheduled`:`Attempt ${e.reconnectAttempt}`:`Attempt ${e.reconnectAttempt??0}, ${Math.max(0,Math.ceil((Date.parse(e.nextRetryAt)-t)/1e3))}s`;return[{label:`Protocol`,value:n},{label:`Channels`,value:String(e.activeChannels)},{label:`Relay queue`,value:it(e.queuedBytes)},{label:`Reconnect`,value:r}]}function ot(e){let t=(0,Z.c)(84),{config:n,identity:r,status:i,nowMs:a,savingFileFallback:o,configError:s,onFileFallbackChange:c,onOpenGuide:l}=e,[u,d]=(0,X.useState)(!1),f;t[0]!==n||t[1]!==r?(f=$(n,r),t[0]=n,t[1]=r,t[2]=f):f=t[2];let p=f,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k;if(t[3]!==p||t[4]!==n||t[5]!==s||t[6]!==r||t[7]!==a||t[8]!==c||t[9]!==l||t[10]!==u||t[11]!==o||t[12]!==i){let e=at(i,a);g=Qe,y=u,b=d;let f=u?`Hide advanced options`:`Show advanced options`,A;t[29]===f?A=t[30]:(A=(0,Q.jsx)(`span`,{className:`block text-[13px] font-semibold tracking-[-0.01em] text-foreground`,children:f}),t[29]=f,t[30]=A);let j;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,Q.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground/80`,children:`Key custody, startup ownership, CLI flags, and bounded relay diagnostics.`}),t[31]=j):j=t[31];let M;t[32]===s?M=t[33]:(M=s?(0,Q.jsx)(`span`,{className:`mt-1 block text-[11px] text-destructive`,children:s}):null,t[32]=s,t[33]=M);let N;t[34]!==A||t[35]!==M?(N=(0,Q.jsxs)(`span`,{children:[A,j,M]}),t[34]=A,t[35]=M,t[36]=N):N=t[36];let P=`size-4 shrink-0 text-muted-foreground transition-transform duration-200 motion-reduce:transition-none ${u?`rotate-180`:``}`,F;t[37]===P?F=t[38]:(F=(0,Q.jsx)(ne,{className:P,"aria-hidden":!0}),t[37]=P,t[38]=F),t[39]!==N||t[40]!==F?(x=(0,Q.jsxs)(Ze,{className:`group flex w-full items-center justify-between gap-4 border-t border-border/60 px-4 py-3.5 text-left transition-colors hover:bg-muted/25 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring sm:px-5`,children:[N,F]}),t[39]=N,t[40]=F,t[41]=x):x=t[41],h=Xe,v=`motion-reduce:transition-none`,D=`border-t border-border/60 bg-muted/10`;let I;t[42]!==n||t[43]!==r?(I=rt(n,r),t[42]=n,t[43]=r,t[44]=I):I=t[44];let ee=n?.allowFileSecretStore??!1,L=!p||o,R;t[45]===c?R=t[46]:(R=e=>c(!!e),t[45]=c,t[46]=R);let z;t[47]!==ee||t[48]!==L||t[49]!==R?(z=(0,Q.jsx)(le,{checked:ee,disabled:L,onCheckedChange:R,"aria-label":`Allow permissioned-file Hub key storage`}),t[47]=ee,t[48]=L,t[49]=R,t[50]=z):z=t[50],t[51]!==I||t[52]!==z?(O=(0,Q.jsx)(Y,{title:`Protected key fallback`,description:I,status:`Changing this launch setting restarts Ryco. It never moves or exports an existing key.`,control:z}),t[51]=I,t[52]=z,t[53]=O):O=t[53],t[54]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Q.jsx)(Y,{title:`Who owns startup`,description:`The desktop app owns Hub launch values for its bundled server and restarts that server to apply them. Exported Hub environment variables do not override this panel.`,status:`The Hub address stays outside ordinary server settings, diagnostics, and support output.`}),t[54]=k):k=t[54],t[55]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Q.jsx)(Y,{title:`CLI equivalents`,description:`Use these flags for a headless Ryco node. Explicit flags override matching environment variables.`,status:`Use RYCO_HUB_NODE_NAME instead of --hub-node-name when environment configuration is preferable. Boolean flags also support canonical --no-... forms.`,children:(0,Q.jsx)(`div`,{className:`pb-3.5 pt-3`,children:(0,Q.jsx)(`pre`,{className:`overflow-x-auto rounded-lg border border-border/60 bg-background/70 px-3 py-2.5 font-mono text-[11px] leading-5 text-foreground`,children:(0,Q.jsx)(`code`,{children:`ryco serve \\
2
2
  --hub-connector-enabled \\
3
3
  --hub-origin https://app.ryco.space \\
4
4
  --hub-node-name "Build node"
@@ -1,2 +1,2 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{t as r}from"./env-Bcq9YR3B.js";import{Kn as i,Mn as a,Sn as o,Vn as s,Zn as c,Zt as l,bn as u,gn as d,qn as f,xn as p}from"./runtime-QZPKtH2P.js";import{It as m}from"./composerDraftStore-TYv9j3vY.js";import{i as h,r as g}from"./branding-Ck4g7yv3.js";import{t as _}from"./settingsDialogStore-LxRFC5hh.js";import{f as v}from"./useRenderElement-DchFnsR8.js";import{t as y}from"./chevron-down-B7C6FKzM.js";import{i as b}from"./toast-C-0Ft2jD.js";import{t as x}from"./clipboard-copy-C4VV20QR.js";import{n as ee,t as S}from"./play-DYDxlTKo.js";import{t as C}from"./refresh-cw-DopCMrtR.js";import{t as w}from"./triangle-alert-RL_T3KLo.js";import{t as T}from"./utils-CV2fJJxC.js";import{t as E}from"./button-DG8WqjNn.js";import{t as D}from"./useCopyToClipboard-BTpWxumf.js";import{t as O}from"./toastHelpers-CSQRKo4F.js";import"./usePresentationTier-B_SCFvN7.js";import{i as k,r as te,t as ne}from"./alert-DomE7dAt.js";import{a as A,i as re,o as ie,s as j,t as M}from"./select-CZukJlTn.js";import{r as ae}from"./editorPreferences-B54y5_sx.js";import{t as N}from"./badge-w43sx8eF.js";import{i as P,n as F,r as I}from"./settingsLayout-CHJT5wtl.js";var oe=v(`clipboard-check`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`m9 14 2 2 4-4`,key:`df797q`}]]),L=e(t(),1),R=n(),z=`[redacted]`,B=/(token|secret|password|passwd|credential|authorization|bearer|api[-_]?key|apikey|cookie|session[-_]?id|private[-_]?key|pairing[-_]?code|access[-_]?key|signature|email)/i;function se(e){let t;try{t=new URL(e)}catch{return e}(t.username||t.password)&&(t.username=``,t.password=``);for(let e of t.searchParams.keys())B.test(e)&&t.searchParams.set(e,z);return t.toString()}function ce(e){return le(e,!1)}function le(e,t){if(t)return e==null?e:z;if(typeof e==`string`)return se(e);if(Array.isArray(e))return e.map(e=>le(e,!1));if(typeof e==`object`&&e){let t={};for(let[n,r]of Object.entries(e))t[n]=le(r,B.test(n));return t}return e}function ue(e){return ce({generatedAt:e.generatedAt,app:e.app,environments:e.environments.map(e=>({environmentId:e.environmentId,label:e.record?.label??null,connectionState:e.runtime?.connectionState??null,authState:e.runtime?.authState??null,role:e.runtime?.role??null,lastError:e.runtime?.lastError??null,lastErrorAt:e.runtime?.lastErrorAt??null,connectedAt:e.runtime?.connectedAt??null,disconnectedAt:e.runtime?.disconnectedAt??null,pushSequence:e.pushSequence})),providers:e.providers.map(e=>({instanceId:e.instanceId,driver:e.driver,enabled:e.enabled,installed:e.installed,version:e.version,status:e.status,availability:e.availability??`available`,authStatus:e.auth.status,authType:e.auth.type??null,message:e.message??null,unavailableReason:e.unavailableReason??null,checkedAt:e.checkedAt})),observability:e.observability?{logsDirectoryConfigured:e.observability.logsDirectoryPath.length>0,localTracingEnabled:e.observability.localTracingEnabled,otlpTracesEnabled:e.observability.otlpTracesEnabled,otlpMetricsEnabled:e.observability.otlpMetricsEnabled,localMetrics:e.observability.localMetrics?{turnQuiescenceAvgMs:e.observability.localMetrics.turnQuiescenceAvgMs,checkpointDurationP95Ms:e.observability.localMetrics.checkpointDurationP95Ms,wsReconnectCount:e.observability.localMetrics.wsReconnectCount,capturedAt:e.observability.localMetrics.capturedAt}:null}:null,performance:e.performance?{local:{turnQuiescenceAvgMs:e.performance.local.turnQuiescenceAvgMs,checkpointDurationP95Ms:e.performance.local.checkpointDurationP95Ms,latestThreadSnapshotDurationMs:e.performance.local.latestThreadSnapshotDurationMs,threadSnapshotDurationP95Ms:e.performance.local.threadSnapshotDurationP95Ms,wsReconnectCount:e.performance.local.wsReconnectCount,windowSampleCounts:{...e.performance.local.windowSampleCounts},capturedAt:e.performance.local.capturedAt},queues:{...e.performance.queues},traceSink:e.performance.traceSink?{...e.performance.traceSink}:null,snapshotCollectionDurationMs:e.performance.snapshotCollectionDurationMs}:null})}function de(e){return JSON.stringify(e,null,2)}function fe(e){return(e?.gapCount??0)>0}var V=m(),H={connected:`bg-success`,connecting:`bg-warning`,error:`bg-destructive`,disconnected:`bg-muted-foreground/40`},U={ready:`bg-success`,warning:`bg-warning`,error:`bg-destructive`,disabled:`bg-muted-foreground/40`};function W(e){let t=(0,R.c)(4),{className:n}=e,r;t[0]===n?r=t[1]:(r=T(`inline-block size-2 shrink-0 rounded-full`,n),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,V.jsx)(`span`,{className:r,"aria-hidden":!0}),t[2]=r,t[3]=i),i}function G(e){if(!e)return`No push events observed yet.`;let t=[`last #${e.highestSequence??`—`}`,`${e.eventCount} events`,`${e.snapshotCount} snapshots`];return e.gapCount>0?t.push(`${e.gapCount} gap${e.gapCount===1?``:`s`}`):t.push(`no gaps`),t.join(` · `)}function pe(e){let t=(0,R.c)(25),{environmentId:n,record:r,runtime:i,pushSequence:a}=e,o=i?.connectionState??`disconnected`,s=r?.label??n,c=fe(a),l=H[o]??`bg-muted-foreground/40`,u;t[0]===l?u=t[1]:(u=(0,V.jsx)(W,{className:l}),t[0]=l,t[1]=u);let d;t[2]!==s||t[3]!==u?(d=(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[u,s]}),t[2]=s,t[3]=u,t[4]=d):d=t[4];let f=i?.authState?` · auth ${i.authState}`:``,p=i?.role?` · ${i.role}`:``,m;t[5]!==o||t[6]!==f||t[7]!==p?(m=(0,V.jsxs)(`span`,{className:`block`,children:[`WS `,o,f,p]}),t[5]=o,t[6]=f,t[7]=p,t[8]=m):m=t[8];let h=c?`text-warning`:`text-muted-foreground/70`,g;t[9]===h?g=t[10]:(g=T(`block`,h),t[9]=h,t[10]=g);let _;t[11]===a?_=t[12]:(_=G(a),t[11]=a,t[12]=_);let v;t[13]!==g||t[14]!==_?(v=(0,V.jsx)(`span`,{className:g,children:_}),t[13]=g,t[14]=_,t[15]=v):v=t[15];let y;t[16]===i?y=t[17]:(y=i?.lastError?(0,V.jsx)(`span`,{className:`block break-all text-destructive`,children:i.lastError}):null,t[16]=i,t[17]=y);let b;t[18]!==v||t[19]!==y||t[20]!==m?(b=(0,V.jsxs)(`span`,{className:`space-y-0.5`,children:[m,v,y]}),t[18]=v,t[19]=y,t[20]=m,t[21]=b):b=t[21];let x;return t[22]!==b||t[23]!==d?(x=(0,V.jsx)(I,{title:d,description:b}),t[22]=b,t[23]=d,t[24]=x):x=t[24],x}function K(e){let t=(0,R.c)(52),{snapshot:n}=e,a=u(be),c=p(ye),d=l(ve),m=f(),_=i(),v=s(),y=n?.performance?.local??null,[ee,S]=(0,L.useState)(!1),C;t[0]!==y||t[1]!==_?(C=_?{..._,...y?{localMetrics:y}:{}}:null,t[0]=y,t[1]=_,t[2]=C):C=t[2];let w=C,T;t[3]!==d||t[4]!==a||t[5]!==c?(T=[...new Set([...Object.keys(a),...Object.keys(c),...Object.keys(d)])].toSorted(),t[3]=d,t[4]=a,t[5]=c,t[6]=T):T=t[6];let k=T,te;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(te={onCopy:_e,onError:ge},t[7]=te):te=t[7];let{copyToClipboard:ne,isCopied:A}=D(te),re;t[8]!==ne||t[9]!==k||t[10]!==w||t[11]!==m||t[12]!==d||t[13]!==a||t[14]!==c||t[15]!==n?.performance?(re=()=>{let e=ue({generatedAt:new Date().toISOString(),app:{version:h,stage:g,isElectron:r,userAgent:typeof navigator>`u`?null:navigator.userAgent},environments:k.map(e=>({environmentId:e,record:a[e]??null,runtime:c[e]??null,pushSequence:d[e]??null})),providers:m,observability:w,performance:n?.performance??null});ne(de(e),void 0)},t[8]=ne,t[9]=k,t[10]=w,t[11]=m,t[12]=d,t[13]=a,t[14]=c,t[15]=n?.performance,t[16]=re):re=t[16],n?.performance;let ie=re,j=_?.logsDirectoryPath??null,M;t[17]!==v||t[18]!==j?(M=()=>{if(!j)return;S(!0);let e=ae(v??[]);if(!e){S(!1),b.add(O({type:`error`,title:`Could not open logs folder`,description:`No available editors found.`}));return}o().shell.openInEditor(j,e).catch(he).finally(()=>{S(!1)})},t[17]=v,t[18]=j,t[19]=M):M=t[19];let N=M,F;t[20]===A?F=t[21]:(F=A?(0,V.jsx)(oe,{className:`size-3.5`}):(0,V.jsx)(x,{className:`size-3.5`}),t[20]=A,t[21]=F);let z=A?`Copied`:`Copy debug bundle`,B;t[22]!==ie||t[23]!==F||t[24]!==z?(B=(0,V.jsxs)(E,{size:`xs`,variant:`outline`,onClick:ie,children:[F,z]}),t[22]=ie,t[23]=F,t[24]=z,t[25]=B):B=t[25];let se;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,V.jsx)(I,{title:`Application`,description:`Version ${h} · ${g}${r?` · Desktop`:` · Browser`}`}),t[26]=se):se=t[26];let ce=j??`Resolving logs directory…`,le=!j||ee,fe=ee?`Opening…`:`Open logs folder`,H;t[27]!==N||t[28]!==le||t[29]!==fe?(H=(0,V.jsx)(E,{size:`xs`,variant:`outline`,disabled:le,onClick:N,children:fe}),t[27]=N,t[28]=le,t[29]=fe,t[30]=H):H=t[30];let U;t[31]!==ce||t[32]!==H?(U=(0,V.jsx)(I,{title:`Logs`,description:ce,control:H}),t[31]=ce,t[32]=H,t[33]=U):U=t[33];let W;t[34]!==U||t[35]!==B?(W=(0,V.jsxs)(P,{title:`Diagnostics`,headerAction:B,children:[se,U]}),t[34]=U,t[35]=B,t[36]=W):W=t[36];let G;t[37]!==k||t[38]!==d||t[39]!==a||t[40]!==c?(G=k.length===0?(0,V.jsx)(I,{title:`No environments`,description:`No environment connections are tracked yet.`}):k.map(e=>(0,V.jsx)(pe,{environmentId:e,record:a[e]??null,runtime:c[e]??null,pushSequence:d[e]??null},e)),t[37]=k,t[38]=d,t[39]=a,t[40]=c,t[41]=G):G=t[41];let K;t[42]===G?K=t[43]:(K=(0,V.jsx)(P,{title:`Environments`,children:G}),t[42]=G,t[43]=K);let q;t[44]===m?q=t[45]:(q=m.length===0?(0,V.jsx)(I,{title:`No providers`,description:`No provider instances are configured.`}):m.map(me),t[44]=m,t[45]=q);let J;t[46]===q?J=t[47]:(J=(0,V.jsx)(P,{title:`Providers`,children:q}),t[46]=q,t[47]=J);let Y;return t[48]!==W||t[49]!==K||t[50]!==J?(Y=(0,V.jsxs)(V.Fragment,{children:[W,K,J]}),t[48]=W,t[49]=K,t[50]=J,t[51]=Y):Y=t[51],Y}function me(e){let t=e.unavailableReason??e.message??null;return(0,V.jsx)(I,{title:(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,V.jsx)(W,{className:U[e.status]??`bg-muted-foreground/40`}),e.displayName??e.instanceId]}),description:(0,V.jsxs)(`span`,{className:`space-y-0.5`,children:[(0,V.jsxs)(`span`,{className:`block`,children:[e.status,` · auth `,e.auth.status,e.version?` · v${e.version}`:``]}),t?(0,V.jsx)(`span`,{className:`block break-all text-muted-foreground/70`,children:t}):null]})},e.instanceId)}function he(e){b.add(O({type:`error`,title:`Could not open logs folder`,description:e instanceof Error?e.message:`Failed to open logs folder.`}))}function ge(e){b.add(O({type:`error`,title:`Could not copy debug bundle`,description:e.message}))}function _e(){b.add({type:`success`,title:`Debug bundle copied`,description:`Secrets are redacted before export.`})}function ve(e){return e.byEnvironment}function ye(e){return e.byId}function be(e){return e.byId}var q=[{method:`thread/snapshot`,requestId:`req_9f2c81d4a6`,startedAt:`12s ago`},{method:`git/status`,requestId:`req_c07b3e51fd`,startedAt:`9s ago`}];function J(e){b.update(e,{type:`loading`,title:`Updating Claude Code`,description:`Running provider update command.`,timeout:0,actionProps:void 0,data:{hideCopyButton:!0}}),window.setTimeout(()=>{b.update(e,{type:`success`,title:`Provider updated`,description:`New sessions will use the updated provider.`,timeout:0,data:{hideCopyButton:!0,dismissAfterVisibleMs:3e3}})},1800)}var Y=[{value:`provider-update`,label:`Provider update available`,fire:()=>{let e=b.add(O({type:`warning`,title:`Update Available: Claude Code v2.1.4`,description:`Install the update now or review provider settings.`,timeout:0,actionProps:{children:`Update`,onClick:()=>J(e)},actionVariant:`default`,data:{hideCopyButton:!0,secondaryActionProps:{children:`Settings`,onClick:()=>_.getState().openSettings(`providers`)},secondaryActionVariant:`outline`}}))}},{value:`pr-checks-passed`,label:`PR checks passed`,fire:()=>{b.add({type:`success`,title:`Checks passed for PR #316`,description:`Redesign the notification toasts · 3273af68e412`,timeout:6e3,actionProps:{children:`Open PR`,onClick:()=>void 0},data:{actionVariant:`outline`}})}},{value:`git-push`,label:`Git push with follow-up action`,fire:()=>{b.add(O({type:`success`,title:`Pushed`,description:`3 commits pushed to origin/feat/notifications-toasts.`,timeout:0,actionProps:{children:`Open PR`,onClick:()=>void 0},actionVariant:`outline`,data:{dismissAfterVisibleMs:1e4}}))}},{value:`git-failed`,label:`Git action failed`,fire:()=>{b.add(O({type:`error`,title:`Action failed`,description:`remote: Permission to sak0a/ryco.git denied to deploy-bot.
1
+ import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{t as r}from"./env-Bcq9YR3B.js";import{Kn as i,Mn as a,Sn as o,Vn as s,Zn as c,Zt as l,bn as u,gn as d,qn as f,xn as p}from"./runtime-CYtynKGT.js";import{It as m}from"./composerDraftStore-TYv9j3vY.js";import{i as h,r as g}from"./branding-BS9Iv2ln.js";import{t as _}from"./settingsDialogStore-LxRFC5hh.js";import{f as v}from"./useRenderElement-DchFnsR8.js";import{t as y}from"./chevron-down-B7C6FKzM.js";import{i as b}from"./toast-C-0Ft2jD.js";import{t as x}from"./clipboard-copy-C4VV20QR.js";import{n as ee,t as S}from"./play-DYDxlTKo.js";import{t as C}from"./refresh-cw-DopCMrtR.js";import{t as w}from"./triangle-alert-RL_T3KLo.js";import{t as T}from"./utils-CV2fJJxC.js";import{t as E}from"./button-DG8WqjNn.js";import{t as D}from"./useCopyToClipboard-BTpWxumf.js";import{t as O}from"./toastHelpers-CSQRKo4F.js";import"./usePresentationTier-B_SCFvN7.js";import{i as k,r as te,t as ne}from"./alert-DomE7dAt.js";import{a as A,i as re,o as ie,s as j,t as M}from"./select-CZukJlTn.js";import{r as ae}from"./editorPreferences-DiUypD3L.js";import{t as N}from"./badge-w43sx8eF.js";import{i as P,n as F,r as I}from"./settingsLayout-CHJT5wtl.js";var oe=v(`clipboard-check`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`m9 14 2 2 4-4`,key:`df797q`}]]),L=e(t(),1),R=n(),z=`[redacted]`,B=/(token|secret|password|passwd|credential|authorization|bearer|api[-_]?key|apikey|cookie|session[-_]?id|private[-_]?key|pairing[-_]?code|access[-_]?key|signature|email)/i;function se(e){let t;try{t=new URL(e)}catch{return e}(t.username||t.password)&&(t.username=``,t.password=``);for(let e of t.searchParams.keys())B.test(e)&&t.searchParams.set(e,z);return t.toString()}function ce(e){return le(e,!1)}function le(e,t){if(t)return e==null?e:z;if(typeof e==`string`)return se(e);if(Array.isArray(e))return e.map(e=>le(e,!1));if(typeof e==`object`&&e){let t={};for(let[n,r]of Object.entries(e))t[n]=le(r,B.test(n));return t}return e}function ue(e){return ce({generatedAt:e.generatedAt,app:e.app,environments:e.environments.map(e=>({environmentId:e.environmentId,label:e.record?.label??null,connectionState:e.runtime?.connectionState??null,authState:e.runtime?.authState??null,role:e.runtime?.role??null,lastError:e.runtime?.lastError??null,lastErrorAt:e.runtime?.lastErrorAt??null,connectedAt:e.runtime?.connectedAt??null,disconnectedAt:e.runtime?.disconnectedAt??null,pushSequence:e.pushSequence})),providers:e.providers.map(e=>({instanceId:e.instanceId,driver:e.driver,enabled:e.enabled,installed:e.installed,version:e.version,status:e.status,availability:e.availability??`available`,authStatus:e.auth.status,authType:e.auth.type??null,message:e.message??null,unavailableReason:e.unavailableReason??null,checkedAt:e.checkedAt})),observability:e.observability?{logsDirectoryConfigured:e.observability.logsDirectoryPath.length>0,localTracingEnabled:e.observability.localTracingEnabled,otlpTracesEnabled:e.observability.otlpTracesEnabled,otlpMetricsEnabled:e.observability.otlpMetricsEnabled,localMetrics:e.observability.localMetrics?{turnQuiescenceAvgMs:e.observability.localMetrics.turnQuiescenceAvgMs,checkpointDurationP95Ms:e.observability.localMetrics.checkpointDurationP95Ms,wsReconnectCount:e.observability.localMetrics.wsReconnectCount,capturedAt:e.observability.localMetrics.capturedAt}:null}:null,performance:e.performance?{local:{turnQuiescenceAvgMs:e.performance.local.turnQuiescenceAvgMs,checkpointDurationP95Ms:e.performance.local.checkpointDurationP95Ms,latestThreadSnapshotDurationMs:e.performance.local.latestThreadSnapshotDurationMs,threadSnapshotDurationP95Ms:e.performance.local.threadSnapshotDurationP95Ms,wsReconnectCount:e.performance.local.wsReconnectCount,windowSampleCounts:{...e.performance.local.windowSampleCounts},capturedAt:e.performance.local.capturedAt},queues:{...e.performance.queues},traceSink:e.performance.traceSink?{...e.performance.traceSink}:null,snapshotCollectionDurationMs:e.performance.snapshotCollectionDurationMs}:null})}function de(e){return JSON.stringify(e,null,2)}function fe(e){return(e?.gapCount??0)>0}var V=m(),H={connected:`bg-success`,connecting:`bg-warning`,error:`bg-destructive`,disconnected:`bg-muted-foreground/40`},U={ready:`bg-success`,warning:`bg-warning`,error:`bg-destructive`,disabled:`bg-muted-foreground/40`};function W(e){let t=(0,R.c)(4),{className:n}=e,r;t[0]===n?r=t[1]:(r=T(`inline-block size-2 shrink-0 rounded-full`,n),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,V.jsx)(`span`,{className:r,"aria-hidden":!0}),t[2]=r,t[3]=i),i}function G(e){if(!e)return`No push events observed yet.`;let t=[`last #${e.highestSequence??`—`}`,`${e.eventCount} events`,`${e.snapshotCount} snapshots`];return e.gapCount>0?t.push(`${e.gapCount} gap${e.gapCount===1?``:`s`}`):t.push(`no gaps`),t.join(` · `)}function pe(e){let t=(0,R.c)(25),{environmentId:n,record:r,runtime:i,pushSequence:a}=e,o=i?.connectionState??`disconnected`,s=r?.label??n,c=fe(a),l=H[o]??`bg-muted-foreground/40`,u;t[0]===l?u=t[1]:(u=(0,V.jsx)(W,{className:l}),t[0]=l,t[1]=u);let d;t[2]!==s||t[3]!==u?(d=(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[u,s]}),t[2]=s,t[3]=u,t[4]=d):d=t[4];let f=i?.authState?` · auth ${i.authState}`:``,p=i?.role?` · ${i.role}`:``,m;t[5]!==o||t[6]!==f||t[7]!==p?(m=(0,V.jsxs)(`span`,{className:`block`,children:[`WS `,o,f,p]}),t[5]=o,t[6]=f,t[7]=p,t[8]=m):m=t[8];let h=c?`text-warning`:`text-muted-foreground/70`,g;t[9]===h?g=t[10]:(g=T(`block`,h),t[9]=h,t[10]=g);let _;t[11]===a?_=t[12]:(_=G(a),t[11]=a,t[12]=_);let v;t[13]!==g||t[14]!==_?(v=(0,V.jsx)(`span`,{className:g,children:_}),t[13]=g,t[14]=_,t[15]=v):v=t[15];let y;t[16]===i?y=t[17]:(y=i?.lastError?(0,V.jsx)(`span`,{className:`block break-all text-destructive`,children:i.lastError}):null,t[16]=i,t[17]=y);let b;t[18]!==v||t[19]!==y||t[20]!==m?(b=(0,V.jsxs)(`span`,{className:`space-y-0.5`,children:[m,v,y]}),t[18]=v,t[19]=y,t[20]=m,t[21]=b):b=t[21];let x;return t[22]!==b||t[23]!==d?(x=(0,V.jsx)(I,{title:d,description:b}),t[22]=b,t[23]=d,t[24]=x):x=t[24],x}function K(e){let t=(0,R.c)(52),{snapshot:n}=e,a=u(be),c=p(ye),d=l(ve),m=f(),_=i(),v=s(),y=n?.performance?.local??null,[ee,S]=(0,L.useState)(!1),C;t[0]!==y||t[1]!==_?(C=_?{..._,...y?{localMetrics:y}:{}}:null,t[0]=y,t[1]=_,t[2]=C):C=t[2];let w=C,T;t[3]!==d||t[4]!==a||t[5]!==c?(T=[...new Set([...Object.keys(a),...Object.keys(c),...Object.keys(d)])].toSorted(),t[3]=d,t[4]=a,t[5]=c,t[6]=T):T=t[6];let k=T,te;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(te={onCopy:_e,onError:ge},t[7]=te):te=t[7];let{copyToClipboard:ne,isCopied:A}=D(te),re;t[8]!==ne||t[9]!==k||t[10]!==w||t[11]!==m||t[12]!==d||t[13]!==a||t[14]!==c||t[15]!==n?.performance?(re=()=>{let e=ue({generatedAt:new Date().toISOString(),app:{version:h,stage:g,isElectron:r,userAgent:typeof navigator>`u`?null:navigator.userAgent},environments:k.map(e=>({environmentId:e,record:a[e]??null,runtime:c[e]??null,pushSequence:d[e]??null})),providers:m,observability:w,performance:n?.performance??null});ne(de(e),void 0)},t[8]=ne,t[9]=k,t[10]=w,t[11]=m,t[12]=d,t[13]=a,t[14]=c,t[15]=n?.performance,t[16]=re):re=t[16],n?.performance;let ie=re,j=_?.logsDirectoryPath??null,M;t[17]!==v||t[18]!==j?(M=()=>{if(!j)return;S(!0);let e=ae(v??[]);if(!e){S(!1),b.add(O({type:`error`,title:`Could not open logs folder`,description:`No available editors found.`}));return}o().shell.openInEditor(j,e).catch(he).finally(()=>{S(!1)})},t[17]=v,t[18]=j,t[19]=M):M=t[19];let N=M,F;t[20]===A?F=t[21]:(F=A?(0,V.jsx)(oe,{className:`size-3.5`}):(0,V.jsx)(x,{className:`size-3.5`}),t[20]=A,t[21]=F);let z=A?`Copied`:`Copy debug bundle`,B;t[22]!==ie||t[23]!==F||t[24]!==z?(B=(0,V.jsxs)(E,{size:`xs`,variant:`outline`,onClick:ie,children:[F,z]}),t[22]=ie,t[23]=F,t[24]=z,t[25]=B):B=t[25];let se;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,V.jsx)(I,{title:`Application`,description:`Version ${h} · ${g}${r?` · Desktop`:` · Browser`}`}),t[26]=se):se=t[26];let ce=j??`Resolving logs directory…`,le=!j||ee,fe=ee?`Opening…`:`Open logs folder`,H;t[27]!==N||t[28]!==le||t[29]!==fe?(H=(0,V.jsx)(E,{size:`xs`,variant:`outline`,disabled:le,onClick:N,children:fe}),t[27]=N,t[28]=le,t[29]=fe,t[30]=H):H=t[30];let U;t[31]!==ce||t[32]!==H?(U=(0,V.jsx)(I,{title:`Logs`,description:ce,control:H}),t[31]=ce,t[32]=H,t[33]=U):U=t[33];let W;t[34]!==U||t[35]!==B?(W=(0,V.jsxs)(P,{title:`Diagnostics`,headerAction:B,children:[se,U]}),t[34]=U,t[35]=B,t[36]=W):W=t[36];let G;t[37]!==k||t[38]!==d||t[39]!==a||t[40]!==c?(G=k.length===0?(0,V.jsx)(I,{title:`No environments`,description:`No environment connections are tracked yet.`}):k.map(e=>(0,V.jsx)(pe,{environmentId:e,record:a[e]??null,runtime:c[e]??null,pushSequence:d[e]??null},e)),t[37]=k,t[38]=d,t[39]=a,t[40]=c,t[41]=G):G=t[41];let K;t[42]===G?K=t[43]:(K=(0,V.jsx)(P,{title:`Environments`,children:G}),t[42]=G,t[43]=K);let q;t[44]===m?q=t[45]:(q=m.length===0?(0,V.jsx)(I,{title:`No providers`,description:`No provider instances are configured.`}):m.map(me),t[44]=m,t[45]=q);let J;t[46]===q?J=t[47]:(J=(0,V.jsx)(P,{title:`Providers`,children:q}),t[46]=q,t[47]=J);let Y;return t[48]!==W||t[49]!==K||t[50]!==J?(Y=(0,V.jsxs)(V.Fragment,{children:[W,K,J]}),t[48]=W,t[49]=K,t[50]=J,t[51]=Y):Y=t[51],Y}function me(e){let t=e.unavailableReason??e.message??null;return(0,V.jsx)(I,{title:(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,V.jsx)(W,{className:U[e.status]??`bg-muted-foreground/40`}),e.displayName??e.instanceId]}),description:(0,V.jsxs)(`span`,{className:`space-y-0.5`,children:[(0,V.jsxs)(`span`,{className:`block`,children:[e.status,` · auth `,e.auth.status,e.version?` · v${e.version}`:``]}),t?(0,V.jsx)(`span`,{className:`block break-all text-muted-foreground/70`,children:t}):null]})},e.instanceId)}function he(e){b.add(O({type:`error`,title:`Could not open logs folder`,description:e instanceof Error?e.message:`Failed to open logs folder.`}))}function ge(e){b.add(O({type:`error`,title:`Could not copy debug bundle`,description:e.message}))}function _e(){b.add({type:`success`,title:`Debug bundle copied`,description:`Secrets are redacted before export.`})}function ve(e){return e.byEnvironment}function ye(e){return e.byId}function be(e){return e.byId}var q=[{method:`thread/snapshot`,requestId:`req_9f2c81d4a6`,startedAt:`12s ago`},{method:`git/status`,requestId:`req_c07b3e51fd`,startedAt:`9s ago`}];function J(e){b.update(e,{type:`loading`,title:`Updating Claude Code`,description:`Running provider update command.`,timeout:0,actionProps:void 0,data:{hideCopyButton:!0}}),window.setTimeout(()=>{b.update(e,{type:`success`,title:`Provider updated`,description:`New sessions will use the updated provider.`,timeout:0,data:{hideCopyButton:!0,dismissAfterVisibleMs:3e3}})},1800)}var Y=[{value:`provider-update`,label:`Provider update available`,fire:()=>{let e=b.add(O({type:`warning`,title:`Update Available: Claude Code v2.1.4`,description:`Install the update now or review provider settings.`,timeout:0,actionProps:{children:`Update`,onClick:()=>J(e)},actionVariant:`default`,data:{hideCopyButton:!0,secondaryActionProps:{children:`Settings`,onClick:()=>_.getState().openSettings(`providers`)},secondaryActionVariant:`outline`}}))}},{value:`pr-checks-passed`,label:`PR checks passed`,fire:()=>{b.add({type:`success`,title:`Checks passed for PR #316`,description:`Redesign the notification toasts · 3273af68e412`,timeout:6e3,actionProps:{children:`Open PR`,onClick:()=>void 0},data:{actionVariant:`outline`}})}},{value:`git-push`,label:`Git push with follow-up action`,fire:()=>{b.add(O({type:`success`,title:`Pushed`,description:`3 commits pushed to origin/feat/notifications-toasts.`,timeout:0,actionProps:{children:`Open PR`,onClick:()=>void 0},actionVariant:`outline`,data:{dismissAfterVisibleMs:1e4}}))}},{value:`git-failed`,label:`Git action failed`,fire:()=>{b.add(O({type:`error`,title:`Action failed`,description:`remote: Permission to sak0a/ryco.git denied to deploy-bot.
2
2
  fatal: unable to access 'https://github.com/sak0a/ryco.git/': The requested URL returned error: 403`,timeout:0}))}},{value:`git-pull`,label:`Git pull (loading → result)`,fire:()=>{b.promise(new Promise(e=>{window.setTimeout(e,2400)}),{loading:{title:`Pulling...`},success:{title:`Pulled`,description:`Updated main from origin/main.`},error:{title:`Pull failed`,description:`Could not fast-forward.`}})}},{value:`slow-requests`,label:`Slow requests (expandable)`,fire:()=>{b.add({type:`warning`,title:`Some requests are slow`,description:`2 requests waiting longer than 5s.`,timeout:0,data:{expandableDescriptionTrigger:!0,expandableLabels:{expand:`Show requests`,collapse:`Hide requests`},expandableContent:(0,V.jsx)(`ul`,{className:`flex flex-col gap-1.5`,children:q.map(e=>(0,V.jsxs)(`li`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,V.jsx)(`span`,{className:`shrink-0 rounded-sm bg-muted px-1 py-0.5 font-mono text-[10px]`,children:e.method}),(0,V.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[11px] text-muted-foreground`,children:e.requestId}),(0,V.jsx)(`span`,{className:`ml-auto shrink-0 text-[11px] text-muted-foreground`,children:e.startedAt})]},e.requestId))})}})}},{value:`reconnected`,label:`Connection restored`,fire:()=>{b.add({type:`success`,title:`Reconnected to Ryco Server`,description:`Connection restored at ${new Date().toLocaleTimeString()}.`,timeout:0,data:{dismissAfterVisibleMs:8e3,hideCopyButton:!0}})}},{value:`long-error`,label:`Error with long details`,fire:()=>{b.add({type:`error`,title:`Provider session crashed`,description:`The provider session exited unexpectedly with code 137 while processing the turn. Last stderr output: FATAL ERROR: Reached heap limit — allocation failed, JavaScript heap out of memory. Restart the session or reduce the attached context, then try again.`,timeout:0})}}],xe=[`pr-checks-passed`,`provider-update`,`git-failed`];function Se(){xe.forEach((e,t)=>{let n=Y.find(t=>t.value===e);n&&window.setTimeout(()=>n.fire(),t*350)})}function Ce(){let e=(0,R.c)(17),[t,n]=(0,L.useState)(Y[0]?.value??``),r;e[0]===t?r=e[1]:(r=Y.find(e=>e.value===t)??Y[0],e[0]=t,e[1]=r);let i=r,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=e=>{typeof e==`string`&&n(e)},e[2]=a):a=e[2];let o=i?.label,s;e[3]===o?s=e[4]:(s=(0,V.jsx)(ie,{className:`w-full sm:w-56`,"aria-label":`Notification sample`,children:(0,V.jsx)(j,{children:o})}),e[3]=o,e[4]=s);let c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,V.jsx)(A,{align:`end`,alignItemWithTrigger:!1,children:Y.map(we)}),e[5]=c):c=e[5];let l;e[6]!==t||e[7]!==s?(l=(0,V.jsxs)(M,{value:t,onValueChange:a,children:[s,c]}),e[6]=t,e[7]=s,e[8]=l):l=e[8];let u;e[9]===i?u=e[10]:(u=(0,V.jsx)(E,{"aria-label":`Show test notification`,size:`xs`,onClick:()=>i?.fire(),children:`Show`}),e[9]=i,e[10]=u);let d;e[11]!==l||e[12]!==u?(d=(0,V.jsx)(I,{title:`Test notification`,description:`Preview the notification design with realistic samples. Nothing is sent or changed.`,control:(0,V.jsxs)(`div`,{className:`flex w-full items-center gap-2 sm:w-auto`,children:[l,u]})}),e[11]=l,e[12]=u,e[13]=d):d=e[13];let f;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,V.jsx)(I,{title:`Notification stack`,description:`Fire a short burst to preview stacking, peeking, and hover expansion.`,control:(0,V.jsx)(E,{size:`xs`,variant:`outline`,onClick:Se,children:`Show stack`})}),e[14]=f):f=e[14];let p;return e[15]===d?p=e[16]:(p=(0,V.jsxs)(P,{title:`Notifications`,children:[d,f]}),e[15]=d,e[16]=p),p}function we(e){return(0,V.jsx)(re,{hideIndicator:!0,value:e.value,children:e.label},e.value)}function Te(e){return e===`failure`||e===`error`}function X(e){if(!Number.isFinite(e)||e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n>=10||r===0?n.toFixed(0):n.toFixed(1)} ${t[r]}`}function Z(e){return!Number.isFinite(e)||e<=0?`0 ms`:e<1e3?`${Math.round(e)} ms`:e<6e4?`${(e/1e3).toFixed(+(e<1e4))} s`:`${(e/6e4).toFixed(1)} min`}function Ee(e){return e===void 0||!Number.isFinite(e)?`n/a`:`${Math.max(0,Math.min(100,e)).toFixed(1)}%`}function Q(e,t=Date.now()){let n=Date.parse(e);if(!Number.isFinite(n))return e;let r=Math.max(0,t-n);return r<1e3?`just now`:r<6e4?`${Math.floor(r/1e3)}s ago`:r<36e5?`${Math.floor(r/6e4)}m ago`:r<864e5?`${Math.floor(r/36e5)}h ago`:`${Math.floor(r/864e5)}d ago`}function De(e){return e.map(e=>({label:e.sampledAt,value:e.memory.rssBytes}))}function Oe(e){return e.map(e=>({label:e.sampledAt,value:e.cpu.utilizationPercent??0}))}function ke(e){return e.map(e=>({label:e.label,value:e.count}))}function Ae(e){return e.slice(0,8).map(e=>({label:e.name,value:e.count}))}function je(e){let t=e.failures.latest[0];return t?t.message:`No failures`}var Me=5e3;function Ne(e){let t=(0,R.c)(33),{points:n,formatValue:r}=e,i;bb0:{if(n.length===0){i=``;break bb0}let e;t[0]===n?e=t[1]:(e=Math.max(...n.map(Pe),1),t[0]=n,t[1]=e);let r=e,a;if(t[2]!==r||t[3]!==n){let e;t[5]!==r||t[6]!==n.length?(e=(e,t)=>{let i=n.length===1?320:t/(n.length-1)*320,a=96-e.value/r*84-6;return`${t===0?`M`:`L`}${i.toFixed(2)},${a.toFixed(2)}`},t[5]=r,t[6]=n.length,t[7]=e):e=t[7],a=n.map(e).join(` `),t[2]=r,t[3]=n,t[4]=a}else a=t[4];i=a}let a=i,o,s,c,l,u;if(t[8]!==r||t[9]!==n){let e=n.at(-1)?.value??0;u=`min-w-0`,c=`mb-2 flex items-baseline justify-between gap-3`,t[15]===n.length?l=t[16]:(l=(0,V.jsxs)(`span`,{className:`font-mono text-[11px] text-muted-foreground/70`,children:[n.length,` samples`]}),t[15]=n.length,t[16]=l),o=`font-mono text-xs text-foreground`,s=r(e),t[8]=r,t[9]=n,t[10]=o,t[11]=s,t[12]=c,t[13]=l,t[14]=u}else o=t[10],s=t[11],c=t[12],l=t[13],u=t[14];let d;t[17]!==o||t[18]!==s?(d=(0,V.jsx)(`span`,{className:o,children:s}),t[17]=o,t[18]=s,t[19]=d):d=t[19];let f;t[20]!==c||t[21]!==l||t[22]!==d?(f=(0,V.jsxs)(`div`,{className:c,children:[l,d]}),t[20]=c,t[21]=l,t[22]=d,t[23]=f):f=t[23];let p;t[24]===a?p=t[25]:(p=(0,V.jsx)(`path`,{d:a,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,vectorEffect:`non-scaling-stroke`}),t[24]=a,t[25]=p);let m;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,V.jsx)(`line`,{x1:`0`,y1:95,x2:320,y2:95,className:`stroke-border`}),t[26]=m):m=t[26];let h;t[27]===p?h=t[28]:(h=(0,V.jsxs)(`svg`,{viewBox:`0 0 320 96`,className:`h-24 w-full overflow-visible text-info`,role:`img`,"aria-label":`Diagnostics history chart`,children:[p,m]}),t[27]=p,t[28]=h);let g;return t[29]!==h||t[30]!==u||t[31]!==f?(g=(0,V.jsxs)(`div`,{className:u,children:[f,h]}),t[29]=h,t[30]=u,t[31]=f,t[32]=g):g=t[32],g}function Pe(e){return e.value}function Fe(e){let t=(0,R.c)(12),{points:n,formatValue:r}=e,i=r===void 0?String:r,a;t[0]===n?a=t[1]:(a=Math.max(...n.map(Ie),1),t[0]=n,t[1]=a);let o=a;if(n.length===0){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,V.jsx)(`p`,{className:`px-4 py-4 text-muted-foreground text-sm`,children:`No data yet.`}),t[2]=e):e=t[2],e}let s;if(t[3]!==i||t[4]!==o||t[5]!==n){let e;t[7]!==i||t[8]!==o?(e=e=>(0,V.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_5rem] items-center gap-3 px-4 py-2.5`,children:[(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(`div`,{className:`mb-1 truncate text-[12px] font-medium`,children:e.label}),(0,V.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:(0,V.jsx)(`div`,{className:`h-full rounded-full bg-info`,style:{width:`${Math.max(4,e.value/o*100)}%`}})})]}),(0,V.jsx)(`div`,{className:`text-right font-mono text-[11px] text-muted-foreground`,children:i(e.value)})]},e.label),t[7]=i,t[8]=o,t[9]=e):e=t[9],s=n.map(e),t[3]=i,t[4]=o,t[5]=n,t[6]=s}else s=t[6];let c;return t[10]===s?c=t[11]:(c=(0,V.jsx)(`div`,{className:`divide-y divide-border/60`,children:s}),t[10]=s,t[11]=c),c}function Ie(e){return e.value}function $(e){let t=(0,R.c)(10),{label:n,value:r,detail:i}=e,a;t[0]===n?a=t[1]:(a=(0,V.jsx)(`div`,{className:`truncate text-[11px] font-medium text-muted-foreground uppercase tracking-[0.08em]`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=(0,V.jsx)(`div`,{className:`mt-1 truncate text-[15px] font-semibold text-foreground`,children:r}),t[2]=r,t[3]=o);let s;t[4]===i?s=t[5]:(s=i?(0,V.jsx)(`div`,{className:`mt-0.5 truncate text-[11px] text-muted-foreground`,children:i}):null,t[4]=i,t[5]=s);let c;return t[6]!==a||t[7]!==o||t[8]!==s?(c=(0,V.jsxs)(`div`,{className:`min-w-0 border-border/60 border-t px-4 py-3 first:border-t-0 sm:px-5`,children:[a,o,s]}),t[6]=a,t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function Le(e){let t=(0,R.c)(12),{label:n,value:r,detail:i}=e,a;t[0]===n?a=t[1]:(a=(0,V.jsx)(`div`,{className:`text-[12px] font-medium text-foreground`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=(0,V.jsx)(`div`,{className:`font-mono text-[12px] text-foreground`,children:r}),t[2]=r,t[3]=o);let s;t[4]===i?s=t[5]:(s=(0,V.jsx)(`div`,{className:`mt-0.5 text-[11px] text-muted-foreground`,children:i}),t[4]=i,t[5]=s);let c;t[6]!==o||t[7]!==s?(c=(0,V.jsxs)(`div`,{className:`min-w-0`,children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8];let l;return t[9]!==a||t[10]!==c?(l=(0,V.jsxs)(`div`,{className:`grid gap-1 border-border/60 border-t px-4 py-3 first:border-t-0 sm:grid-cols-[11rem_minmax(0,1fr)] sm:px-5`,children:[a,c]}),t[9]=a,t[10]=c,t[11]=l):l=t[11],l}function Re(e){let t=(0,R.c)(5),{value:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,V.jsx)(`summary`,{className:`cursor-pointer select-none text-[11px] text-muted-foreground hover:text-foreground`,children:`raw`}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=JSON.stringify(n,null,2),t[1]=n,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,V.jsxs)(`details`,{className:`group`,children:[r,(0,V.jsx)(`pre`,{className:`mt-2 max-h-64 overflow-auto rounded-md bg-muted/60 p-3 text-[11px] leading-relaxed`,children:i})]}),t[3]=i,t[4]=a),a}function ze(e){let t=(0,R.c)(5),{spans:n}=e;if(n.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,V.jsx)(`p`,{className:`px-4 py-4 text-muted-foreground text-sm`,children:`No spans retained yet.`}),t[0]=e):e=t[0],e}let r;t[1]===n?r=t[2]:(r=n.slice(0,10).map(Be),t[1]=n,t[2]=r);let i;return t[3]===r?i=t[4]:(i=(0,V.jsx)(`div`,{className:`divide-y divide-border/60`,children:r}),t[3]=r,t[4]=i),i}function Be(e){return(0,V.jsxs)(`div`,{className:`grid gap-2 px-4 py-3 sm:grid-cols-[minmax(0,1fr)_6rem_5rem] sm:items-start`,children:[(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`truncate text-[13px] font-medium`,children:e.name}),(0,V.jsx)(N,{size:`sm`,variant:Te(e.status)?`error`:`outline`,children:e.status})]}),(0,V.jsxs)(`div`,{className:`mt-1 truncate font-mono text-[11px] text-muted-foreground`,children:[e.source,` / `,e.kind,` / `,e.spanId]}),e.failureMessage&&Te(e.status)?(0,V.jsx)(`div`,{className:`mt-1 line-clamp-2 text-[11px] text-destructive`,children:e.failureMessage}):null,(0,V.jsx)(`div`,{className:`mt-2`,children:(0,V.jsx)(Re,{value:e})})]}),(0,V.jsx)(`div`,{className:`font-mono text-[11px] text-muted-foreground sm:text-right`,children:Z(e.durationMs)}),(0,V.jsx)(`div`,{className:`font-mono text-[11px] text-muted-foreground sm:text-right`,children:Q(e.endTime)})]},e.id)}function Ve(e){let t=(0,R.c)(9),{memorySeries:n,cpuSeries:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,V.jsx)(`div`,{className:`mb-1 text-[12px] font-semibold`,children:`RSS memory`}),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,V.jsxs)(`div`,{className:`min-w-0 p-4`,children:[i,(0,V.jsx)(Ne,{points:n,formatValue:X})]}),t[1]=n,t[2]=a);let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,V.jsx)(`div`,{className:`mb-1 text-[12px] font-semibold`,children:`CPU utilization`}),t[3]=o):o=t[3];let s;t[4]===r?s=t[5]:(s=(0,V.jsxs)(`div`,{className:`min-w-0 p-4`,children:[o,(0,V.jsx)(Ne,{points:r,formatValue:He})]}),t[4]=r,t[5]=s);let c;return t[6]!==a||t[7]!==s?(c=(0,V.jsx)(P,{title:`Resource history`,children:(0,V.jsxs)(`div`,{className:`grid gap-0 divide-y divide-border/60 lg:grid-cols-2 lg:divide-x lg:divide-y-0`,children:[a,s]})}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c}function He(e){return`${e.toFixed(1)}%`}function Ue(e){let t=(0,R.c)(25),{snapshot:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,V.jsx)(`div`,{className:`border-border/60 border-b px-4 py-2 text-[12px] font-semibold`,children:`Top span names`}),t[0]=r):r=t[0];let i;t[1]===n?.tracing.topSpanNames?i=t[2]:(i=n?.tracing.topSpanNames??[],t[1]=n?.tracing.topSpanNames,t[2]=i);let a;t[3]===i?a=t[4]:(a=Ae(i),t[3]=i,t[4]=a);let o;t[5]===a?o=t[6]:(o=(0,V.jsxs)(`div`,{className:`min-w-0`,children:[r,(0,V.jsx)(Fe,{points:a})]}),t[5]=a,t[6]=o);let s;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,V.jsx)(`div`,{className:`border-border/60 border-b px-4 py-2 text-[12px] font-semibold`,children:`Duration buckets`}),t[7]=s):s=t[7];let c;t[8]===n?.tracing.durationBuckets?c=t[9]:(c=n?.tracing.durationBuckets??[],t[8]=n?.tracing.durationBuckets,t[9]=c);let l;t[10]===c?l=t[11]:(l=ke(c),t[10]=c,t[11]=l);let u;t[12]===l?u=t[13]:(u=(0,V.jsxs)(`div`,{className:`min-w-0`,children:[s,(0,V.jsx)(Fe,{points:l})]}),t[12]=l,t[13]=u);let d;t[14]!==o||t[15]!==u?(d=(0,V.jsxs)(`div`,{className:`grid gap-0 divide-y divide-border/60 lg:grid-cols-2 lg:divide-x lg:divide-y-0`,children:[o,u]}),t[14]=o,t[15]=u,t[16]=d):d=t[16];let f;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,V.jsx)(`div`,{className:`border-border/60 border-b px-4 py-2 text-[12px] font-semibold`,children:`Slowest spans`}),t[17]=f):f=t[17];let p;t[18]===n?.tracing.slowestSpans?p=t[19]:(p=n?.tracing.slowestSpans??[],t[18]=n?.tracing.slowestSpans,t[19]=p);let m;t[20]===p?m=t[21]:(m=(0,V.jsxs)(`div`,{className:`border-border/60 border-t`,children:[f,(0,V.jsx)(ze,{spans:p})]}),t[20]=p,t[21]=m);let h;return t[22]!==m||t[23]!==d?(h=(0,V.jsxs)(P,{title:`Tracing diagnostics`,children:[d,m]}),t[22]=m,t[23]=d,t[24]=h):h=t[24],h}function We(e){let t=(0,R.c)(10),{snapshot:n,nowMs:r}=e,i;if(t[0]!==r||t[1]!==n?.failures.latest){let e;t[3]===r?e=t[4]:(e=e=>(0,V.jsxs)(`div`,{className:`grid gap-2 px-4 py-3 sm:grid-cols-[minmax(0,1fr)_6rem]`,children:[(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,V.jsx)(N,{size:`sm`,variant:`error`,children:e.category}),(0,V.jsx)(`span`,{className:`truncate text-[13px] font-medium`,children:e.message})]}),(0,V.jsxs)(`div`,{className:`mt-1 truncate font-mono text-[11px] text-muted-foreground`,children:[e.source,` / `,e.signature]}),(0,V.jsx)(`div`,{className:`mt-2`,children:(0,V.jsx)(Re,{value:e.raw??e})})]}),(0,V.jsx)(`div`,{className:`font-mono text-[11px] text-muted-foreground sm:text-right`,children:Q(e.occurredAt,r)})]},e.id),t[3]=r,t[4]=e),i=(n?.failures.latest??[]).slice(0,8).map(e),t[0]=r,t[1]=n?.failures.latest,t[2]=i}else i=t[2];let a;t[5]===n?a=t[6]:(a=n&&n.failures.latest.length===0?(0,V.jsx)(`p`,{className:`px-4 py-4 text-muted-foreground text-sm`,children:`No failures retained.`}):null,t[5]=n,t[6]=a);let o;return t[7]!==i||t[8]!==a?(o=(0,V.jsx)(P,{title:`Failures`,children:(0,V.jsxs)(`div`,{className:`divide-y divide-border/60`,children:[i,a]})}),t[7]=i,t[8]=a,t[9]=o):o=t[9],o}function Ge(e){let t=(0,R.c)(27),{snapshot:n,slowRpcAcks:r,nowMs:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,V.jsx)(`div`,{className:`border-border/60 border-b px-4 py-2 text-[12px] font-semibold`,children:`Providers`}),t[0]=a):a=t[0];let o;t[1]===n?.liveProcesses.providers?o=t[2]:(o=n?.liveProcesses.providers??[],t[1]=n?.liveProcesses.providers,t[2]=o);let s;t[3]===o?s=t[4]:(s=o.map(qe),t[3]=o,t[4]=s);let c;t[5]===s?c=t[6]:(c=(0,V.jsxs)(`div`,{className:`min-w-0`,children:[a,(0,V.jsx)(`div`,{className:`divide-y divide-border/60`,children:s})]}),t[5]=s,t[6]=c);let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,V.jsx)(`div`,{className:`border-border/60 border-b px-4 py-2 text-[12px] font-semibold`,children:`Terminals and slow RPCs`}),t[7]=l):l=t[7];let u;t[8]===n?.liveProcesses.terminals?u=t[9]:(u=n?.liveProcesses.terminals??[],t[8]=n?.liveProcesses.terminals,t[9]=u);let d;t[10]===u?d=t[11]:(d=u.map(Ke),t[10]=u,t[11]=d);let f;if(t[12]!==i||t[13]!==r){let e;t[15]===i?e=t[16]:(e=e=>(0,V.jsxs)(`div`,{className:`px-4 py-2.5`,children:[(0,V.jsx)(`div`,{className:`truncate text-[13px] font-medium`,children:e.tag}),(0,V.jsxs)(`div`,{className:`mt-1 font-mono text-[11px] text-muted-foreground`,children:[`slow ack / `,Q(e.startedAt,i)]})]},e.requestId),t[15]=i,t[16]=e),f=r.map(e),t[12]=i,t[13]=r,t[14]=f}else f=t[14];let p;t[17]!==r.length||t[18]!==n?.liveProcesses.terminals.length?(p=(n?.liveProcesses.terminals.length??0)===0&&r.length===0?(0,V.jsx)(`p`,{className:`px-4 py-4 text-muted-foreground text-sm`,children:`No live terminal or slow RPC activity.`}):null,t[17]=r.length,t[18]=n?.liveProcesses.terminals.length,t[19]=p):p=t[19];let m;t[20]!==d||t[21]!==f||t[22]!==p?(m=(0,V.jsxs)(`div`,{className:`min-w-0`,children:[l,(0,V.jsxs)(`div`,{className:`divide-y divide-border/60`,children:[d,f,p]})]}),t[20]=d,t[21]=f,t[22]=p,t[23]=m):m=t[23];let h;return t[24]!==m||t[25]!==c?(h=(0,V.jsx)(P,{title:`Live activity`,children:(0,V.jsxs)(`div`,{className:`grid gap-0 divide-y divide-border/60 lg:grid-cols-2 lg:divide-x lg:divide-y-0`,children:[c,m]})}),t[24]=m,t[25]=c,t[26]=h):h=t[26],h}function Ke(e){return(0,V.jsxs)(`div`,{className:`px-4 py-2.5`,children:[(0,V.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,V.jsx)(`span`,{className:`truncate text-[13px] font-medium`,children:e.terminalId}),(0,V.jsx)(N,{size:`sm`,variant:e.status===`error`?`error`:`outline`,children:e.status})]}),(0,V.jsxs)(`div`,{className:`mt-1 truncate font-mono text-[11px] text-muted-foreground`,children:[`pid `,e.pid??`n/a`,` / subprocess`,` `,e.hasRunningSubprocess?`yes`:`no`]})]},`${e.threadId}:${e.terminalId}`)}function qe(e){return(0,V.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3 px-4 py-2.5`,children:[(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(`div`,{className:`truncate text-[13px] font-medium`,children:e.displayName??e.instanceId}),(0,V.jsx)(`div`,{className:`truncate font-mono text-[11px] text-muted-foreground`,children:e.driver})]}),(0,V.jsx)(N,{size:`sm`,variant:e.status===`error`?`error`:e.status===`warning`?`warning`:`outline`,children:e.status})]},e.instanceId)}function Je(e){let t=(0,R.c)(57),{snapshot:n,memorySeries:r,cpuSeries:i,slowRpcAcks:a,latestFailure:o,nowMs:s}=e,c;t[0]===n?c=t[1]:(c=n?Z(n.uptimeMs):`n/a`,t[0]=n,t[1]=c);let l;t[2]!==s||t[3]!==n?(l=n?`Started ${Q(n.serverStartedAt,s)}`:void 0,t[2]=s,t[3]=n,t[4]=l):l=t[4];let u;t[5]!==c||t[6]!==l?(u=(0,V.jsx)($,{label:`Uptime`,value:c,detail:l}),t[5]=c,t[6]=l,t[7]=u):u=t[7];let d;t[8]===n?d=t[9]:(d=n?X(n.resources.current.memory.rssBytes):`n/a`,t[8]=n,t[9]=d);let f;t[10]===n?f=t[11]:(f=n?`${X(n.resources.current.memory.heapUsedBytes)} heap used`:void 0,t[10]=n,t[11]=f);let p;t[12]!==d||t[13]!==f?(p=(0,V.jsx)($,{label:`Memory`,value:d,detail:f}),t[12]=d,t[13]=f,t[14]=p):p=t[14];let m;t[15]===n?m=t[16]:(m=n?Ee(n.resources.current.cpu.utilizationPercent):`n/a`,t[15]=n,t[16]=m);let h;t[17]===n?h=t[18]:(h=n?.resources.current.eventLoopDelayMs===void 0?void 0:`${Z(n.resources.current.eventLoopDelayMs)} event loop delay`,t[17]=n,t[18]=h);let g;t[19]!==m||t[20]!==h?(g=(0,V.jsx)($,{label:`CPU`,value:m,detail:h}),t[19]=m,t[20]=h,t[21]=g):g=t[21];let _;t[22]===n?.liveProcesses.providers?_=t[23]:(_=n?.liveProcesses.providers.filter(Ye).length??0,t[22]=n?.liveProcesses.providers,t[23]=_);let v=`${_} providers`,y=`${n?.liveProcesses.terminals.length??0} terminal sessions`,b;t[24]!==v||t[25]!==y?(b=(0,V.jsx)($,{label:`Activity`,value:v,detail:y}),t[24]=v,t[25]=y,t[26]=b):b=t[26];let x=`${n?.tracing.retainedSpanCount??0} spans`,ee=n?`${n.limits.fileTailBytes/1024} KB file tail`:void 0,S;t[27]!==x||t[28]!==ee?(S=(0,V.jsx)($,{label:`Tracing`,value:x,detail:ee}),t[27]=x,t[28]=ee,t[29]=S):S=t[29];let C;t[30]===o?C=t[31]:(C=(0,V.jsx)($,{label:`Latest failure`,value:o}),t[30]=o,t[31]=C);let w;t[32]!==b||t[33]!==S||t[34]!==C||t[35]!==u||t[36]!==p||t[37]!==g?(w=(0,V.jsx)(P,{title:`Overview`,children:(0,V.jsxs)(`div`,{className:`grid sm:grid-cols-2 lg:grid-cols-3`,children:[u,p,g,b,S,C]})}),t[32]=b,t[33]=S,t[34]=C,t[35]=u,t[36]=p,t[37]=g,t[38]=w):w=t[38];let T;t[39]!==i||t[40]!==r?(T=(0,V.jsx)(Ve,{memorySeries:r,cpuSeries:i}),t[39]=i,t[40]=r,t[41]=T):T=t[41];let E;t[42]===n?E=t[43]:(E=(0,V.jsx)(Ue,{snapshot:n}),t[42]=n,t[43]=E);let D;t[44]!==s||t[45]!==n?(D=(0,V.jsx)(We,{snapshot:n,nowMs:s}),t[44]=s,t[45]=n,t[46]=D):D=t[46];let O;t[47]!==s||t[48]!==a||t[49]!==n?(O=(0,V.jsx)(Ge,{snapshot:n,slowRpcAcks:a,nowMs:s}),t[47]=s,t[48]=a,t[49]=n,t[50]=O):O=t[50];let k;return t[51]!==w||t[52]!==T||t[53]!==E||t[54]!==D||t[55]!==O?(k=(0,V.jsxs)(V.Fragment,{children:[w,T,E,D,O]}),t[51]=w,t[52]=T,t[53]=E,t[54]=D,t[55]=O,t[56]=k):k=t[56],k}function Ye(e){return e.enabled}function Xe(e){let t=(0,R.c)(14),{snapshot:n,error:r}=e;if(!r&&(!n||n.warnings.length===0))return null;let i=r?`error`:`warning`,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,V.jsx)(w,{}),t[0]=a):a=t[0];let o=r?`Diagnostics refresh failed`:`Diagnostics warnings`,s;t[1]===o?s=t[2]:(s=(0,V.jsx)(k,{children:o}),t[1]=o,t[2]=s);let c;t[3]===r?c=t[4]:(c=r?(0,V.jsx)(`span`,{children:r}):null,t[3]=r,t[4]=c);let l;t[5]===n?.warnings?l=t[6]:(l=n?.warnings.slice(0,4).map(Ze),t[5]=n?.warnings,t[6]=l);let u;t[7]!==c||t[8]!==l?(u=(0,V.jsxs)(te,{children:[c,l]}),t[7]=c,t[8]=l,t[9]=u):u=t[9];let d;return t[10]!==i||t[11]!==s||t[12]!==u?(d=(0,V.jsxs)(ne,{variant:i,children:[a,s,u]}),t[10]=i,t[11]=s,t[12]=u,t[13]=d):d=t[13],d}function Ze(e){return(0,V.jsxs)(`span`,{children:[e.message,e.count?` (${e.count})`:``]},`${e.code}:${e.source??``}`)}function Qe({presentation:e=`performance`}){let t=c(),[n,r]=(0,L.useState)(null),[i,s]=(0,L.useState)(null),[l,u]=(0,L.useState)(!0),[f,m]=(0,L.useState)(!1),h=(0,L.useRef)(!1),g=(0,L.useRef)(!1),_=(0,L.useRef)(!1),v=a(),b=p(e=>e.byId),x=Date.now(),w=(0,L.useCallback)(async(e=!1)=>{if(!(!e&&document.visibilityState!==`visible`)&&!h.current){h.current=!0,u(e=>e&&!g.current);try{let e=t?d(t.environmentId)?.server:o().server;if(!e)throw Error(`Diagnostics are unavailable on ${t?.nodeLabel}.`);let n=await e.getDiagnosticsSnapshot();if(_.current)return;r(n),s(null),g.current=!0}catch(e){if(_.current)return;s(e instanceof Error?e.message:`Unable to refresh diagnostics.`)}finally{h.current=!1,_.current||u(!1)}}},[t]);(0,L.useEffect)(()=>{if(_.current=!1,w(),f)return()=>{_.current=!0};let e=null,t=()=>{e!==null&&(window.clearInterval(e),e=null)},n=()=>{document.visibilityState===`visible`&&e===null&&(e=window.setInterval(()=>void w(),Me))};n();let r=()=>{if(document.visibilityState===`visible`){w(),n();return}t()};return document.addEventListener(`visibilitychange`,r),()=>{_.current=!0,t(),document.removeEventListener(`visibilitychange`,r)}},[f,w]);let D=(0,L.useMemo)(()=>De(n?.resources.history??[]),[n]),O=(0,L.useMemo)(()=>Oe(n?.resources.history??[]),[n]),k=n?je(n):`No snapshot`,te=n?.liveProcesses.providers.filter(e=>e.enabled).length??0,ne=n?.liveProcesses.terminals.filter(e=>e.status===`starting`||e.status===`running`).length??0,A=Object.values(b),re=A.filter(e=>e.connectionState===`connected`).length,ie=A.filter(e=>e.connectionState===`connecting`).length,j=A.length===0?`No tracked clients`:`${re} connected${ie>0?` · ${ie} connecting`:``}`,M=n?.tracing.slowestSpans.find(e=>e.source===`server`)??null,ae=v[0]??null,N=n?.performance??null,I=N?.local.turnQuiescenceAvgMs??null,oe=N?.local.checkpointDurationP95Ms??null,R=N?.local.latestThreadSnapshotDurationMs??null,z=N?.local.threadSnapshotDurationP95Ms??null;return(0,V.jsxs)(F,{children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(`h1`,{className:`text-base font-semibold`,children:`Diagnostics`}),(0,V.jsx)(`p`,{className:`mt-1 text-muted-foreground text-xs`,children:n?`Updated ${Q(n.generatedAt,x)}`:`Waiting for snapshot`})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsxs)(E,{size:`xs`,variant:`outline`,onClick:()=>m(e=>!e),children:[f?(0,V.jsx)(S,{className:`size-3.5`}):(0,V.jsx)(ee,{className:`size-3.5`}),f?`Resume`:`Pause`]}),(0,V.jsxs)(E,{size:`xs`,variant:`outline`,onClick:()=>void w(!0),disabled:l,children:[(0,V.jsx)(C,{className:T(`size-3.5`,l&&`animate-spin`)}),`Refresh`]})]})]}),(0,V.jsx)(Xe,{snapshot:n,error:i}),null,e===`phone-legacy`?null:(0,V.jsx)(Ce,{}),e===`phone-legacy`?(0,V.jsx)(Je,{snapshot:n,memorySeries:D,cpuSeries:O,slowRpcAcks:v,latestFailure:k,nowMs:x}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(P,{title:`Performance now`,children:(0,V.jsxs)(`div`,{className:`grid sm:grid-cols-2 lg:grid-cols-3`,children:[(0,V.jsx)($,{label:`Backend CPU`,value:n?Ee(n.resources.current.cpu.utilizationPercent):`n/a`,detail:n?`Process uptime ${Z(n.uptimeMs)}`:void 0}),(0,V.jsx)($,{label:`RSS / heap`,value:n?X(n.resources.current.memory.rssBytes):`n/a`,detail:n?`${X(n.resources.current.memory.heapUsedBytes)} heap used`:void 0}),(0,V.jsx)($,{label:`Event-loop delay`,value:n?.resources.current.eventLoopDelayMs===void 0?`n/a`:Z(n.resources.current.eventLoopDelayMs),detail:`Measured once for this requested snapshot`}),(0,V.jsx)($,{label:`Providers / terminals`,value:`${te} enabled providers`,detail:`${ne} active terminals`}),(0,V.jsx)($,{label:`Turn quiescence`,value:I===null?`No samples`:Z(I),detail:`Rolling average`}),(0,V.jsx)($,{label:`Checkpoint duration`,value:oe===null?`No samples`:Z(oe),detail:`Rolling p95`}),(0,V.jsx)($,{label:`WebSocket state`,value:j,detail:`${N?.local.wsReconnectCount??0} reconnects in this server process`}),(0,V.jsx)($,{label:`Thread snapshot`,value:R===null?`No samples`:Z(R),detail:z===null?`Latest successful subscription snapshot`:`${Z(z)} rolling p95`}),(0,V.jsx)($,{label:`Latest failure`,value:k})]})}),(0,V.jsxs)(P,{title:`Why was this slow?`,children:[(0,V.jsx)(Le,{label:`Thread snapshot`,value:R===null?`No thread snapshot timing yet`:`${Z(R)} latest`,detail:z===null?`Replay duration and payload bytes are not collected because the current transport has no zero-copy attribution hook.`:`${Z(z)} rolling p95. Replay duration and payload bytes are not collected because the current transport has no zero-copy attribution hook.`}),(0,V.jsx)(Le,{label:`Queue pressure`,value:N?`${N.queues.runtimeDepthTotal+N.queues.liveBufferDepthTotal} queued now`:`No snapshot`,detail:N?`Largest runtime high-water ${N.queues.runtimeHighWaterMax}; live-buffer high-water ${N.queues.liveBufferHighWaterMax}; ${N.queues.liveBufferOverflowCount} overflows; replay depth ${N.queues.replayDepthMax}; replay lag ${N.queues.replayLagMax}; ${N.queues.providerLogDroppedRecords} provider log records dropped.`:`Runtime and replay queue evidence will appear after the first snapshot.`}),(0,V.jsx)(Le,{label:`Slowest server stage`,value:M?`${M.name} · ${Z(M.durationMs)}`:`No retained spans`,detail:M?`Server span completed ${Q(M.endTime,x)}.`:`Tracing has not retained a server stage yet.`}),(0,V.jsx)(Le,{label:`Current slow client RPC`,value:ae?.tag??`No slow RPC acknowledgement in progress`,detail:ae?`Exceeded its ${Z(ae.thresholdMs)} acknowledgement threshold; started ${Q(ae.startedAt,x)}.`:`Only RPCs that cross the existing client acknowledgement threshold appear here.`}),(0,V.jsx)(Le,{label:`Reconnect / resume`,value:j,detail:`${N?.local.wsReconnectCount??0} server-side reconnects. Per-environment push gaps and recovery state are in Advanced diagnostics.`}),(0,V.jsx)(Le,{label:`Recent failure`,value:n?.failures.latest[0]?.message??`No retained failures`,detail:n?.failures.latest[0]?`${n.failures.latest[0].source} · ${Q(n.failures.latest[0].occurredAt,x)}`:`No failure evidence is available for the current server process.`}),(0,V.jsx)(Le,{label:`Trace persistence`,value:N?.traceSink?`${X(N.traceSink.bufferedBytes)} buffered`:`Health unavailable`,detail:N?.traceSink?`${X(N.traceSink.maxBufferedBytes)} cap; ${N.traceSink.droppedRecords} dropped records; ${N.traceSink.writeFailures} write failures; retry delay ${Z(N.traceSink.retryDelayMs)}.`:`This diagnostics service is not attached to the local trace-file sink.`})]}),(0,V.jsxs)(`details`,{className:`group/diagnostics`,children:[(0,V.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between rounded-xl border bg-card px-4 py-3 text-sm font-medium text-foreground shadow-sm/4 marker:hidden hover:bg-accent/30`,children:[`Advanced diagnostics`,(0,V.jsx)(y,{className:`size-4 text-muted-foreground transition-transform group-open/diagnostics:rotate-180 motion-reduce:transition-none`})]}),(0,V.jsxs)(`div`,{className:`mt-5 space-y-5`,children:[(0,V.jsx)(Ve,{memorySeries:D,cpuSeries:O}),(0,V.jsx)(Ue,{snapshot:n}),(0,V.jsx)(We,{snapshot:n,nowMs:x}),(0,V.jsx)(Ge,{snapshot:n,slowRpcAcks:v,nowMs:x}),(0,V.jsx)(K,{snapshot:n})]})]})]})]})}export{Qe as DiagnosticsSettings};
@@ -1 +1 @@
1
- import{i as e,t}from"./react-SIfiwpqq.js";import{Ot as n,Yt as r}from"./runtime-QZPKtH2P.js";import{Dt as i}from"./primary-CiDY2oUi.js";import{It as a,P as o}from"./composerDraftStore-TYv9j3vY.js";import{c as ee}from"./useSwipeDismiss-D22_vuiH.js";import{a as s,c,i as l,l as u,n as te,o as d,s as f,t as ne,u as p}from"./rightPanelRouteSearch-BS8CkNS6.js";import{t as re}from"./useNavigate-2tVq4iZ2.js";import{a as ie,c as ae,d as oe,f as se,i as m,l as ce,n as le,o as ue,p as de,r as fe,t as h,u as pe}from"./ChatRightPanel-BSNsAFtv.js";import{s as me}from"./tabSwitchInstrumentation-CLDM7g1_.js";import"./device-DIfzlguu.js";import{t as he}from"./utils-CV2fJJxC.js";import"./storeSelectors-_h41wnN2.js";import{t as ge}from"./usePresentationTier-B_SCFvN7.js";import{o as g}from"./sidebar-CFGg5Tkr.js";import{n as _e}from"./NoActiveThreadState-C0MwHtMx.js";var _=e(t(),1),v=a();function y({rawDraftId:e,search:t}){let a=re(),y=o.make(e),b=`draft:${y}`,ve=(0,_.useCallback)(e=>{a({to:`/draft/$draftId`,params:{draftId:y},replace:!0,search:e})},[y,a]),x=pe({threadKey:b,search:t,replaceSearch:ve}),S=de(y),C=r((0,_.useMemo)(()=>n(S?.threadId??null),[S?.threadId])),w=ae(C),T=(0,_.useMemo)(()=>S?.promotedTo?w?S.promotedTo:null:C?{environmentId:C.environmentId,threadId:C.id}:null,[S?.promotedTo,C,w]),E=x.diff===`1`,D=x.preview===`1`,O=ne(x),k=te(x),A=x.workspaceTab===`agent`&&x.workspaceAgentKey?x.workspaceAgentKey:null,j=me(ce),M=ge(),N=T?`${T.environmentId}:${T.threadId}`:null,P=i(e=>N?e.pendingOpenByThreadKey[N]:void 0),F=i(e=>e.consumeOpenRequest),ye=_e(),{maximized:I,toggleMaximized:be}=se({threadKey:y,open:k,canMaximize:!j&&M!==`phone`}),[L,R]=(0,_.useState)(()=>({draftId:y,hasOpenedDiff:E,hasOpenedPreview:D,hasOpenedTerminal:O===`terminal`,hasOpenedSimulator:O===`simulator`,hasOpenedAgents:O===`agents`,openedAgentKeys:A?[A]:[]}));(0,_.useEffect)(()=>{!T||!P||M===`phone`||(F(T.environmentId,T.threadId),a({to:`/draft/$draftId`,params:{draftId:y},search:e=>c(e)}))},[T,F,y,a,P,M]);let z=L.draftId===y?L.hasOpenedDiff:E,B=L.draftId===y?L.hasOpenedPreview:D,V=L.draftId===y?L.hasOpenedTerminal:O===`terminal`,H=L.draftId===y?L.hasOpenedSimulator:O===`simulator`,U=L.draftId===y?L.hasOpenedAgents:O===`agents`,W=(0,_.useMemo)(()=>{let e=L.draftId===y?L.openedAgentKeys:A?[A]:[];return A&&!e.includes(A)?[...e,A]:e},[A,y,L]),[G,K]=(0,_.useState)(()=>O??`files`),q=(0,_.useMemo)(()=>{let e=[];return(B||O===`files`)&&e.push(`files`),(z||O===`review`)&&e.push(`review`),(V||O===`terminal`)&&e.push(`terminal`),(H||O===`simulator`)&&e.push(`simulator`),(U||O===`agents`)&&e.push(`agents`),e},[U,z,B,H,V,O]),J=(0,_.useCallback)(e=>{K(e),R(t=>{let n={draftId:y,hasOpenedDiff:(t.draftId===y?t.hasOpenedDiff:E)||e===`review`,hasOpenedPreview:(t.draftId===y?t.hasOpenedPreview:D)||e===`files`,hasOpenedTerminal:(t.draftId===y?t.hasOpenedTerminal:O===`terminal`)||e===`terminal`,hasOpenedSimulator:(t.draftId===y?t.hasOpenedSimulator:O===`simulator`)||e===`simulator`,hasOpenedAgents:(t.draftId===y?t.hasOpenedAgents:O===`agents`)||e===`agents`,openedAgentKeys:t.draftId===y?t.openedAgentKeys:W};return t.draftId===n.draftId&&t.hasOpenedDiff===n.hasOpenedDiff&&t.hasOpenedPreview===n.hasOpenedPreview&&t.hasOpenedTerminal===n.hasOpenedTerminal&&t.hasOpenedSimulator===n.hasOpenedSimulator&&t.hasOpenedAgents===n.hasOpenedAgents&&t.openedAgentKeys===n.openedAgentKeys?t:n})},[E,y,W,D,O]),Y=(0,_.useCallback)(()=>{a({to:`/draft/$draftId`,params:{draftId:y},search:e=>fe(e)})},[y,a]),X=(0,_.useCallback)(()=>{a({to:`/draft/$draftId`,params:{draftId:y},search:e=>{let t=W[W.length-1];return G===`agent`&&t?l(e,t):G===`files`&&B?d(e):G===`review`&&z?f(e):G===`terminal`&&V?u(e):G===`simulator`&&H?c(e):G===`agents`&&U?s(e):B?d(e):z?f(e):V?u(e):H?c(e):U?s(e):t?l(e,t):p(e)}})},[y,U,z,B,H,V,G,a,W]),Z=(0,_.useCallback)(()=>{if(k){Y();return}X()},[Y,X,k]),Q=(0,_.useCallback)(e=>{if(e.mode===`agent`){let t=W.filter(t=>t!==e.agentKey);R(e=>({draftId:y,hasOpenedDiff:e.draftId===y?e.hasOpenedDiff:z,hasOpenedPreview:e.draftId===y?e.hasOpenedPreview:B,hasOpenedTerminal:e.draftId===y?e.hasOpenedTerminal:V,hasOpenedSimulator:e.draftId===y?e.hasOpenedSimulator:H,hasOpenedAgents:e.draftId===y?e.hasOpenedAgents:U,openedAgentKeys:t})),O===`agent`&&A===e.agentKey&&a({to:`/draft/$draftId`,params:{draftId:y},search:e=>{let n=t[t.length-1];return n?l(e,n):B?d(e):z?f(e):V?u(e):H?c(e):U?s(e):p(e)}});return}let t=e.mode===`review`?!1:z||O===`review`,n=e.mode===`files`?!1:B||O===`files`,r=e.mode===`terminal`?!1:V||O===`terminal`,i=e.mode===`simulator`?!1:H||O===`simulator`,o=e.mode===`agents`?!1:U||O===`agents`;R(e=>{let a={draftId:y,hasOpenedDiff:t,hasOpenedPreview:n,hasOpenedTerminal:r,hasOpenedSimulator:i,hasOpenedAgents:o,openedAgentKeys:e.draftId===y?e.openedAgentKeys:W};return e.draftId===a.draftId&&e.hasOpenedDiff===a.hasOpenedDiff&&e.hasOpenedPreview===a.hasOpenedPreview&&e.hasOpenedTerminal===a.hasOpenedTerminal&&e.hasOpenedSimulator===a.hasOpenedSimulator&&e.hasOpenedAgents===a.hasOpenedAgents&&e.openedAgentKeys===a.openedAgentKeys?e:a}),O===e.mode&&a({to:`/draft/$draftId`,params:{draftId:y},search:a=>e.mode!==`files`&&n?d(a):e.mode!==`review`&&t?f(a):e.mode!==`terminal`&&r?u(a):e.mode!==`simulator`&&i?c(a):e.mode!==`agents`&&o?s(a):p(a)})},[A,y,U,z,B,H,V,a,W,O]);if((0,_.useEffect)(()=>{O!==null&&(K(O),J(O))},[J,O]),(0,_.useEffect)(()=>{A&&R(e=>{let t=e.draftId===y?e.openedAgentKeys:[];return t.includes(A)?e.draftId===y?e:{draftId:y,hasOpenedDiff:z,hasOpenedPreview:B,hasOpenedTerminal:V,hasOpenedSimulator:H,hasOpenedAgents:U,openedAgentKeys:t}:{draftId:y,hasOpenedDiff:e.draftId===y?e.hasOpenedDiff:E,hasOpenedPreview:e.draftId===y?e.hasOpenedPreview:D,hasOpenedTerminal:e.draftId===y?e.hasOpenedTerminal:O===`terminal`,hasOpenedSimulator:e.draftId===y?e.hasOpenedSimulator:O===`simulator`,hasOpenedAgents:e.draftId===y?e.hasOpenedAgents:O===`agents`,openedAgentKeys:[...t,A]}})},[A,E,y,U,z,B,H,V,D,O]),(0,_.useEffect)(()=>{T&&(oe(b,`${T.environmentId}:${T.threadId}`),a({to:`/$environmentId/$threadId`,params:ee(T),replace:!0}))},[T,a,b]),(0,_.useEffect)(()=>{S||T||a({to:`/`,replace:!0})},[T,S,a]),T)return(0,v.jsx)(g,{className:`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,children:(0,v.jsx)(m,{environmentId:T.environmentId,threadId:T.threadId,routeKind:`server`})});if(!S)return null;let xe=k||O===`review`||z||O===`files`||B||O===`terminal`||V||O===`simulator`||H||O===`agents`||U||O===`agent`||W.length>0,Se=k||O===`review`||z||O===`files`||B||O===`terminal`||V||O===`agent`||W.length>0,$=k?O:G;return M===`phone`?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(g,{className:`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,children:(0,v.jsx)(m,{draftId:y,environmentId:S.environmentId,threadId:S.threadId,onDiffPanelOpen:()=>J(`review`),onPreviewPanelOpen:()=>J(`files`),onTerminalPanelOpen:()=>J(`terminal`),onAgentPanelOpen:()=>J(`agent`),workspacePanelOpen:k,onToggleWorkspacePanel:Z,routeKind:`draft`})}),(0,v.jsx)(ue,{label:`Workspace`,open:k,onClose:Y,children:Se?(0,v.jsx)(h,{mode:`phone`,panelMode:$,openedPanelModes:q,openedAgentKeys:W,onClosePanelTab:Q}):null})]}):j?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(g,{className:`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,children:(0,v.jsx)(m,{draftId:y,environmentId:S.environmentId,threadId:S.threadId,onDiffPanelOpen:()=>J(`review`),onPreviewPanelOpen:()=>J(`files`),onTerminalPanelOpen:()=>J(`terminal`),onAgentPanelOpen:()=>J(`agent`),workspacePanelOpen:k,onToggleWorkspacePanel:Z,routeKind:`draft`})}),(0,v.jsx)(ie,{open:k,onClose:Y,children:xe?(0,v.jsx)(h,{mode:`sheet`,panelMode:$,openedPanelModes:q,openedAgentKeys:W,onClosePanelTab:Q}):null})]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(g,{className:he(`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,I&&`w-0 flex-none`),inert:I?!0:void 0,children:(0,v.jsx)(m,{draftId:y,environmentId:S.environmentId,threadId:S.threadId,onDiffPanelOpen:()=>J(`review`),onPreviewPanelOpen:()=>J(`files`),onTerminalPanelOpen:()=>J(`terminal`),onAgentPanelOpen:()=>J(`agent`),workspacePanelOpen:k,onToggleWorkspacePanel:Z,routeKind:`draft`})}),(0,v.jsx)(le,{open:k,panelMode:$,openedPanelModes:q,openedAgentKeys:W,onClosePanelTab:Q,onClose:Y,onOpen:X,renderContent:xe,maximized:I,onToggleMaximized:be,reserveChromeInset:I&&ye})]})}export{y as DraftChatThreadRouteView};
1
+ import{i as e,t}from"./react-SIfiwpqq.js";import{Ot as n,Yt as r}from"./runtime-CYtynKGT.js";import{Dt as i}from"./primary-CiDY2oUi.js";import{It as a,P as o}from"./composerDraftStore-TYv9j3vY.js";import{c as ee}from"./useSwipeDismiss-D22_vuiH.js";import{a as s,c,i as l,l as u,n as te,o as d,s as f,t as ne,u as p}from"./rightPanelRouteSearch-BS8CkNS6.js";import{t as re}from"./useNavigate-2tVq4iZ2.js";import{a as ie,c as ae,d as oe,f as se,i as m,l as ce,n as le,o as ue,p as de,r as fe,t as h,u as pe}from"./ChatRightPanel-CxA4EQ1O.js";import{s as me}from"./tabSwitchInstrumentation-CLDM7g1_.js";import"./device-B3lHunk1.js";import{t as he}from"./utils-CV2fJJxC.js";import"./storeSelectors-BeLJe5C1.js";import{t as ge}from"./usePresentationTier-B_SCFvN7.js";import{o as g}from"./sidebar-CFGg5Tkr.js";import{n as _e}from"./NoActiveThreadState-z_FeP4Al.js";var _=e(t(),1),v=a();function y({rawDraftId:e,search:t}){let a=re(),y=o.make(e),b=`draft:${y}`,ve=(0,_.useCallback)(e=>{a({to:`/draft/$draftId`,params:{draftId:y},replace:!0,search:e})},[y,a]),x=pe({threadKey:b,search:t,replaceSearch:ve}),S=de(y),C=r((0,_.useMemo)(()=>n(S?.threadId??null),[S?.threadId])),w=ae(C),T=(0,_.useMemo)(()=>S?.promotedTo?w?S.promotedTo:null:C?{environmentId:C.environmentId,threadId:C.id}:null,[S?.promotedTo,C,w]),E=x.diff===`1`,D=x.preview===`1`,O=ne(x),k=te(x),A=x.workspaceTab===`agent`&&x.workspaceAgentKey?x.workspaceAgentKey:null,j=me(ce),M=ge(),N=T?`${T.environmentId}:${T.threadId}`:null,P=i(e=>N?e.pendingOpenByThreadKey[N]:void 0),F=i(e=>e.consumeOpenRequest),ye=_e(),{maximized:I,toggleMaximized:be}=se({threadKey:y,open:k,canMaximize:!j&&M!==`phone`}),[L,R]=(0,_.useState)(()=>({draftId:y,hasOpenedDiff:E,hasOpenedPreview:D,hasOpenedTerminal:O===`terminal`,hasOpenedSimulator:O===`simulator`,hasOpenedAgents:O===`agents`,openedAgentKeys:A?[A]:[]}));(0,_.useEffect)(()=>{!T||!P||M===`phone`||(F(T.environmentId,T.threadId),a({to:`/draft/$draftId`,params:{draftId:y},search:e=>c(e)}))},[T,F,y,a,P,M]);let z=L.draftId===y?L.hasOpenedDiff:E,B=L.draftId===y?L.hasOpenedPreview:D,V=L.draftId===y?L.hasOpenedTerminal:O===`terminal`,H=L.draftId===y?L.hasOpenedSimulator:O===`simulator`,U=L.draftId===y?L.hasOpenedAgents:O===`agents`,W=(0,_.useMemo)(()=>{let e=L.draftId===y?L.openedAgentKeys:A?[A]:[];return A&&!e.includes(A)?[...e,A]:e},[A,y,L]),[G,K]=(0,_.useState)(()=>O??`files`),q=(0,_.useMemo)(()=>{let e=[];return(B||O===`files`)&&e.push(`files`),(z||O===`review`)&&e.push(`review`),(V||O===`terminal`)&&e.push(`terminal`),(H||O===`simulator`)&&e.push(`simulator`),(U||O===`agents`)&&e.push(`agents`),e},[U,z,B,H,V,O]),J=(0,_.useCallback)(e=>{K(e),R(t=>{let n={draftId:y,hasOpenedDiff:(t.draftId===y?t.hasOpenedDiff:E)||e===`review`,hasOpenedPreview:(t.draftId===y?t.hasOpenedPreview:D)||e===`files`,hasOpenedTerminal:(t.draftId===y?t.hasOpenedTerminal:O===`terminal`)||e===`terminal`,hasOpenedSimulator:(t.draftId===y?t.hasOpenedSimulator:O===`simulator`)||e===`simulator`,hasOpenedAgents:(t.draftId===y?t.hasOpenedAgents:O===`agents`)||e===`agents`,openedAgentKeys:t.draftId===y?t.openedAgentKeys:W};return t.draftId===n.draftId&&t.hasOpenedDiff===n.hasOpenedDiff&&t.hasOpenedPreview===n.hasOpenedPreview&&t.hasOpenedTerminal===n.hasOpenedTerminal&&t.hasOpenedSimulator===n.hasOpenedSimulator&&t.hasOpenedAgents===n.hasOpenedAgents&&t.openedAgentKeys===n.openedAgentKeys?t:n})},[E,y,W,D,O]),Y=(0,_.useCallback)(()=>{a({to:`/draft/$draftId`,params:{draftId:y},search:e=>fe(e)})},[y,a]),X=(0,_.useCallback)(()=>{a({to:`/draft/$draftId`,params:{draftId:y},search:e=>{let t=W[W.length-1];return G===`agent`&&t?l(e,t):G===`files`&&B?d(e):G===`review`&&z?f(e):G===`terminal`&&V?u(e):G===`simulator`&&H?c(e):G===`agents`&&U?s(e):B?d(e):z?f(e):V?u(e):H?c(e):U?s(e):t?l(e,t):p(e)}})},[y,U,z,B,H,V,G,a,W]),Z=(0,_.useCallback)(()=>{if(k){Y();return}X()},[Y,X,k]),Q=(0,_.useCallback)(e=>{if(e.mode===`agent`){let t=W.filter(t=>t!==e.agentKey);R(e=>({draftId:y,hasOpenedDiff:e.draftId===y?e.hasOpenedDiff:z,hasOpenedPreview:e.draftId===y?e.hasOpenedPreview:B,hasOpenedTerminal:e.draftId===y?e.hasOpenedTerminal:V,hasOpenedSimulator:e.draftId===y?e.hasOpenedSimulator:H,hasOpenedAgents:e.draftId===y?e.hasOpenedAgents:U,openedAgentKeys:t})),O===`agent`&&A===e.agentKey&&a({to:`/draft/$draftId`,params:{draftId:y},search:e=>{let n=t[t.length-1];return n?l(e,n):B?d(e):z?f(e):V?u(e):H?c(e):U?s(e):p(e)}});return}let t=e.mode===`review`?!1:z||O===`review`,n=e.mode===`files`?!1:B||O===`files`,r=e.mode===`terminal`?!1:V||O===`terminal`,i=e.mode===`simulator`?!1:H||O===`simulator`,o=e.mode===`agents`?!1:U||O===`agents`;R(e=>{let a={draftId:y,hasOpenedDiff:t,hasOpenedPreview:n,hasOpenedTerminal:r,hasOpenedSimulator:i,hasOpenedAgents:o,openedAgentKeys:e.draftId===y?e.openedAgentKeys:W};return e.draftId===a.draftId&&e.hasOpenedDiff===a.hasOpenedDiff&&e.hasOpenedPreview===a.hasOpenedPreview&&e.hasOpenedTerminal===a.hasOpenedTerminal&&e.hasOpenedSimulator===a.hasOpenedSimulator&&e.hasOpenedAgents===a.hasOpenedAgents&&e.openedAgentKeys===a.openedAgentKeys?e:a}),O===e.mode&&a({to:`/draft/$draftId`,params:{draftId:y},search:a=>e.mode!==`files`&&n?d(a):e.mode!==`review`&&t?f(a):e.mode!==`terminal`&&r?u(a):e.mode!==`simulator`&&i?c(a):e.mode!==`agents`&&o?s(a):p(a)})},[A,y,U,z,B,H,V,a,W,O]);if((0,_.useEffect)(()=>{O!==null&&(K(O),J(O))},[J,O]),(0,_.useEffect)(()=>{A&&R(e=>{let t=e.draftId===y?e.openedAgentKeys:[];return t.includes(A)?e.draftId===y?e:{draftId:y,hasOpenedDiff:z,hasOpenedPreview:B,hasOpenedTerminal:V,hasOpenedSimulator:H,hasOpenedAgents:U,openedAgentKeys:t}:{draftId:y,hasOpenedDiff:e.draftId===y?e.hasOpenedDiff:E,hasOpenedPreview:e.draftId===y?e.hasOpenedPreview:D,hasOpenedTerminal:e.draftId===y?e.hasOpenedTerminal:O===`terminal`,hasOpenedSimulator:e.draftId===y?e.hasOpenedSimulator:O===`simulator`,hasOpenedAgents:e.draftId===y?e.hasOpenedAgents:O===`agents`,openedAgentKeys:[...t,A]}})},[A,E,y,U,z,B,H,V,D,O]),(0,_.useEffect)(()=>{T&&(oe(b,`${T.environmentId}:${T.threadId}`),a({to:`/$environmentId/$threadId`,params:ee(T),replace:!0}))},[T,a,b]),(0,_.useEffect)(()=>{S||T||a({to:`/`,replace:!0})},[T,S,a]),T)return(0,v.jsx)(g,{className:`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,children:(0,v.jsx)(m,{environmentId:T.environmentId,threadId:T.threadId,routeKind:`server`})});if(!S)return null;let xe=k||O===`review`||z||O===`files`||B||O===`terminal`||V||O===`simulator`||H||O===`agents`||U||O===`agent`||W.length>0,Se=k||O===`review`||z||O===`files`||B||O===`terminal`||V||O===`agent`||W.length>0,$=k?O:G;return M===`phone`?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(g,{className:`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,children:(0,v.jsx)(m,{draftId:y,environmentId:S.environmentId,threadId:S.threadId,onDiffPanelOpen:()=>J(`review`),onPreviewPanelOpen:()=>J(`files`),onTerminalPanelOpen:()=>J(`terminal`),onAgentPanelOpen:()=>J(`agent`),workspacePanelOpen:k,onToggleWorkspacePanel:Z,routeKind:`draft`})}),(0,v.jsx)(ue,{label:`Workspace`,open:k,onClose:Y,children:Se?(0,v.jsx)(h,{mode:`phone`,panelMode:$,openedPanelModes:q,openedAgentKeys:W,onClosePanelTab:Q}):null})]}):j?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(g,{className:`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,children:(0,v.jsx)(m,{draftId:y,environmentId:S.environmentId,threadId:S.threadId,onDiffPanelOpen:()=>J(`review`),onPreviewPanelOpen:()=>J(`files`),onTerminalPanelOpen:()=>J(`terminal`),onAgentPanelOpen:()=>J(`agent`),workspacePanelOpen:k,onToggleWorkspacePanel:Z,routeKind:`draft`})}),(0,v.jsx)(ie,{open:k,onClose:Y,children:xe?(0,v.jsx)(h,{mode:`sheet`,panelMode:$,openedPanelModes:q,openedAgentKeys:W,onClosePanelTab:Q}):null})]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(g,{className:he(`h-svh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground md:h-dvh`,I&&`w-0 flex-none`),inert:I?!0:void 0,children:(0,v.jsx)(m,{draftId:y,environmentId:S.environmentId,threadId:S.threadId,onDiffPanelOpen:()=>J(`review`),onPreviewPanelOpen:()=>J(`files`),onTerminalPanelOpen:()=>J(`terminal`),onAgentPanelOpen:()=>J(`agent`),workspacePanelOpen:k,onToggleWorkspacePanel:Z,routeKind:`draft`})}),(0,v.jsx)(le,{open:k,panelMode:$,openedPanelModes:q,openedAgentKeys:W,onClosePanelTab:Q,onClose:Y,onOpen:X,renderContent:xe,maximized:I,onToggleMaximized:be,reserveChromeInset:I&&ye})]})}export{y as DraftChatThreadRouteView};