ryco-cli 0.1.4 → 0.1.5

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 (127) hide show
  1. package/dist/{AzureDevOpsSourceControlProvider-BEDcpXP2.cjs → AzureDevOpsSourceControlProvider-CdgNqZ5j.cjs} +2 -2
  2. package/dist/{AzureDevOpsSourceControlProvider-CajSnvPV.mjs → AzureDevOpsSourceControlProvider-OsyDSESj.mjs} +2 -2
  3. package/dist/{BitbucketSourceControlProvider-Ca-sxPgI.cjs → BitbucketSourceControlProvider-DBTH98i4.cjs} +9 -2
  4. package/dist/{BitbucketSourceControlProvider-Ryxef3zA.mjs → BitbucketSourceControlProvider-SQ3gKdFs.mjs} +9 -2
  5. package/dist/{ClaudeDriver-oGrpXzWa.mjs → ClaudeDriver-2dTtrsFD.mjs} +2 -2
  6. package/dist/{ClaudeDriver-CxOmXtj3.cjs → ClaudeDriver-D9yC2F0b.cjs} +2 -2
  7. package/dist/{CodexDriver-C1I8AGHl.cjs → CodexDriver-BC2B-qpT.cjs} +3 -3
  8. package/dist/{CodexDriver-DbICyzcH.mjs → CodexDriver-CIDYevQX.mjs} +3 -3
  9. package/dist/{CodexTextGeneration-DV3LOkTX.mjs → CodexTextGeneration-CjknB1Xl.mjs} +2 -2
  10. package/dist/{CodexTextGeneration-Cr97QFv_.cjs → CodexTextGeneration-DNeO-8GE.cjs} +2 -2
  11. package/dist/{CopilotDriver-GUpzG61v.cjs → CopilotDriver-BGChrP5c.cjs} +3 -3
  12. package/dist/{CopilotDriver-Dt6azZQI.mjs → CopilotDriver-NPhlLrk2.mjs} +3 -3
  13. package/dist/{CursorDriver-C3gFClL-.mjs → CursorDriver-BcAVbT8D.mjs} +2 -2
  14. package/dist/{CursorDriver-lhvplGt8.cjs → CursorDriver-CYxn4_c1.cjs} +2 -2
  15. package/dist/{ForgejoSourceControlProvider-DTVWs_CM.mjs → ForgejoSourceControlProvider-BjCE3730.mjs} +2 -2
  16. package/dist/{ForgejoSourceControlProvider-2PTEgbVl.cjs → ForgejoSourceControlProvider-D3wP2Cav.cjs} +2 -2
  17. package/dist/{GitHubSourceControlProvider-BJmqP2K1.mjs → GitHubSourceControlProvider-DByZ_cnw.mjs} +2 -2
  18. package/dist/{GitHubSourceControlProvider-Beu-58zB.cjs → GitHubSourceControlProvider-DU_7IvMa.cjs} +2 -2
  19. package/dist/{GitLabSourceControlProvider-CCHBNnen.cjs → GitLabSourceControlProvider-BVJ5IqTS.cjs} +2 -2
  20. package/dist/{GitLabSourceControlProvider-CWnF37fR.mjs → GitLabSourceControlProvider-BdMCIjXb.mjs} +2 -2
  21. package/dist/{OpenCodeDriver-i2DXhUaw.cjs → OpenCodeDriver-DyR83FcY.cjs} +2 -2
  22. package/dist/{OpenCodeDriver-Cja8fkzJ.mjs → OpenCodeDriver-fwqXoVyH.mjs} +2 -2
  23. package/dist/{SourceControlProviderDiscoveryCatalog-DoDSpZoa.mjs → SourceControlProviderDiscoveryCatalog-CQiMyDCC.mjs} +2 -2
  24. package/dist/{SourceControlProviderDiscoveryCatalog-DyPSXqm_.cjs → SourceControlProviderDiscoveryCatalog-DqQVhwYM.cjs} +2 -2
  25. package/dist/bin.cjs +4672 -3686
  26. package/dist/bin.mjs +4672 -3686
  27. package/dist/client/assets/{AnimatedHeight-DCd3-Wey.js → AnimatedHeight-CYuVQOpY.js} +1 -1
  28. package/dist/client/assets/AppearanceSettings-BBbC8CV5.js +1 -0
  29. package/dist/client/assets/{BranchToolbar.logic-BUrYeNec.js → BranchToolbar.logic-Di2EkKiO.js} +1 -1
  30. package/dist/client/assets/ChatRightPanel-BJ_cVP66.js +188 -0
  31. package/dist/client/assets/{ChatThreadRouteView-C93RPP7s.js → ChatThreadRouteView-DmxD3m2U.js} +1 -1
  32. package/dist/client/assets/CommandPaletteDialog-CAzz6bsT.js +1 -0
  33. package/dist/client/assets/{CompositeRoot-C5GNdZws.js → CompositeRoot-BvXCwn2c.js} +1 -1
  34. package/dist/client/assets/ConnectionsSettings-Cmxm0y2u.js +1 -0
  35. package/dist/client/assets/{DialogHandle-C1Oxda1b.js → DialogHandle-CXNAm3QY.js} +1 -1
  36. package/dist/client/assets/{DialogRoot-BCS_qKVO.js → DialogRoot-DaMwpoP_.js} +1 -1
  37. package/dist/client/assets/{DialogTitle-R_4ZQbHx.js → DialogTitle-KXmfgzP3.js} +1 -1
  38. package/dist/client/assets/{DialogTrigger-ChuIKLi7.js → DialogTrigger-NHyQnW3X.js} +1 -1
  39. package/dist/client/assets/{DialogViewport-Dq_9hdYC.js → DialogViewport-CL0WR9a5.js} +1 -1
  40. package/dist/client/assets/{DraftChatThreadRouteView-BwDNEWLP.js → DraftChatThreadRouteView-C_hqauF6.js} +1 -1
  41. package/dist/client/assets/{JetBrainsIcons-CZi1rQn9.js → JetBrainsIcons-BcR8pCma.js} +1 -1
  42. package/dist/client/assets/{KeybindingsSettings-CEqFMcaP.js → KeybindingsSettings-m2AteGOl.js} +1 -1
  43. package/dist/client/assets/McpServersSettings-DndIDxgA.js +6 -0
  44. package/dist/client/assets/{NoActiveThreadState-5VSVCJBv.js → NoActiveThreadState-Bt-Wkv-C.js} +1 -1
  45. package/dist/client/assets/{OpinionatedPluginsSettings-BnDPa2E2.js → OpinionatedPluginsSettings-oDtdE6qx.js} +1 -1
  46. package/dist/client/assets/{ProjectFavicon-CtqYuFQF.js → ProjectFavicon-j9IX_7-B.js} +1 -1
  47. package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-Dqh8LlGG.js → ProviderUpdateLaunchNotification.logic-BFzNCo3I.js} +1 -1
  48. package/dist/client/assets/ProvidersSettingsPanel-CvlIBNVJ.js +1 -0
  49. package/dist/client/assets/{QueryClientProvider-B5z3RyQ9.js → QueryClientProvider-BZxRKpeb.js} +1 -1
  50. package/dist/client/assets/{RedactedSensitiveText-Ddxd4ZX9.js → RedactedSensitiveText-UnZZJnFF.js} +1 -1
  51. package/dist/client/assets/RootAppShell-CyHZ_F5P.js +12 -0
  52. package/dist/client/assets/{SettingsDialog-C-vm2P1q.js → SettingsDialog-BYJ8AhQp.js} +2 -2
  53. package/dist/client/assets/SourceControlSettings-7xU6VH6N.js +1 -0
  54. package/dist/client/assets/{ThreadStatusIndicators-6ASnD4_d.js → ThreadStatusIndicators-M9FWDEex.js} +1 -1
  55. package/dist/client/assets/{ThreadTerminalDrawer-BxuSy2xD.js → ThreadTerminalDrawer-BXoXAbsR.js} +3 -3
  56. package/dist/client/assets/{ThreadWorkspacePanel-C3S7Fjib.js → ThreadWorkspacePanel-D1J63TVD.js} +5 -5
  57. package/dist/client/assets/{alert-dialog-BwCq7-J2.js → alert-dialog-BJQbh5gX.js} +1 -1
  58. package/dist/client/assets/{chatThreadActions-DHwgLZQX.js → chatThreadActions--n7v5mnB.js} +1 -1
  59. package/dist/client/assets/{clamp-Bj3CMoU0.js → clamp-NYtK3f5s.js} +1 -1
  60. package/dist/client/assets/codexUsageLimits-BJQiZCqn.js +1 -0
  61. package/dist/client/assets/composerDraftStore-xu3n5gdX.js +21 -0
  62. package/dist/client/assets/{desktopUpdateReactQuery-DdRc1zr8.js → desktopUpdateReactQuery-YSCkifKp.js} +1 -1
  63. package/dist/client/assets/{download-DchCbuiJ.js → download-Bi4-cFbc.js} +1 -1
  64. package/dist/client/assets/{draft-input-Byd_iP54.js → draft-input-BGSRgOW7.js} +1 -1
  65. package/dist/client/assets/{empty-CFWSIvUd.js → empty-BTxheW4B.js} +1 -1
  66. package/dist/client/assets/{environmentApi-4U60qRO5.js → environmentApi-BFHi_M02.js} +1 -1
  67. package/dist/client/assets/{folder-open-CuS_UI1W.js → folder-open-DJmHEPv9.js} +1 -1
  68. package/dist/client/assets/{group-BlyMND_M.js → group-Dwm-OV-r.js} +1 -1
  69. package/dist/client/assets/{index-R0mA-hZk.js → index-BI5yFj9n.js} +2 -2
  70. package/dist/client/assets/{input-BQQgfZzY.js → input-BfUa3JUD.js} +1 -1
  71. package/dist/client/assets/kbd-Dd57M8OY.js +1 -0
  72. package/dist/client/assets/{keybindings-BIa18Wmf.js → keybindings--G1bkIjA.js} +1 -1
  73. package/dist/client/assets/{keyboard-BQYTddoX.js → keyboard-B87VTfPa.js} +1 -1
  74. package/dist/client/assets/{main-YXLWCEbb.js → main-BQf5U-fz.js} +3 -3
  75. package/dist/client/assets/main-DrwkwNo9.css +2 -0
  76. package/dist/client/assets/{mutation-B8SILYi_.js → mutation-DJZgOJRu.js} +1 -1
  77. package/dist/client/assets/plus-B10j9MbZ.js +1 -0
  78. package/dist/client/assets/providerDriverMeta-B6xuq7ij.js +1 -0
  79. package/dist/client/assets/providerIconUtils-Ch6hejVW.js +47 -0
  80. package/dist/client/assets/{refresh-cw-DFCVsvMH.js → refresh-cw-CRxaXR0E.js} +1 -1
  81. package/dist/client/assets/{resolveAriaLabelledBy-CdSYKkwq.js → resolveAriaLabelledBy-D4fWpj84.js} +1 -1
  82. package/dist/client/assets/{rightPanelRouteSearch-DweDTgju.js → rightPanelRouteSearch-CTMFCS6R.js} +1 -1
  83. package/dist/client/assets/{scroll-area-CZPNMSSG.js → scroll-area-BgFq7GRd.js} +1 -1
  84. package/dist/client/assets/{separator-ZLn_GZKy.js → separator-CB3Ctlvi.js} +1 -1
  85. package/dist/client/assets/{server-B7ETA5io.js → server-tdx7WxLI.js} +1 -1
  86. package/dist/client/assets/{session-logic-DOD1qizY.js → session-logic-CaiGe4hy.js} +1 -1
  87. package/dist/client/assets/{settingsDialogStore-DJNXaaZ-.js → settingsDialogStore-9vo22xKp.js} +1 -1
  88. package/dist/client/assets/{settingsLayout-BaSDLd6v.js → settingsLayout-B5o13iGO.js} +1 -1
  89. package/dist/client/assets/{sidebar-VWf4R998.js → sidebar-Bbdql7Af.js} +1 -1
  90. package/dist/client/assets/{skeleton-IoKKnfW9.js → skeleton-C8OZcsPq.js} +1 -1
  91. package/dist/client/assets/{storeSelectors-BL-4Ncd3.js → storeSelectors-DBRyhCGm.js} +1 -1
  92. package/dist/client/assets/{threadRoutes-a4QytG8s.js → threadRoutes-CfldSp4X.js} +1 -1
  93. package/dist/client/assets/{threadSelectionStore-CgsIp6vR.js → threadSelectionStore-BggKwzmQ.js} +1 -1
  94. package/dist/client/assets/{toast-L2eWWYjv.js → toast-DE-WwLMa.js} +1 -1
  95. package/dist/client/assets/{toggle-oOk0T_MY.js → toggle-BFMa0a0Y.js} +1 -1
  96. package/dist/client/assets/{toggle-group-D7mEwQCR.js → toggle-group-DdKXHoT3.js} +1 -1
  97. package/dist/client/assets/{trash-2-D0zhbiNO.js → trash-2-CZQem-sz.js} +1 -1
  98. package/dist/client/assets/useHandleNewThread-DOPZAFqE.js +1 -0
  99. package/dist/client/assets/{useLabelableId-yw8wMwvn.js → useLabelableId-BzWaBebJ.js} +1 -1
  100. package/dist/client/assets/{useNavigate-CvKQXZa7.js → useNavigate-B1qgM5mt.js} +1 -1
  101. package/dist/client/assets/{vscode-icons-C1r6bNpj.js → vscode-icons-E8NUFd62.js} +1 -1
  102. package/dist/client/assets/{wrench-DzrU49ry.js → wrench-DEteICtk.js} +1 -1
  103. package/dist/client/assets/x-b9324xm-.js +1 -0
  104. package/dist/client/index.html +1 -1
  105. package/dist/{collectUint8StreamText-CgTEDbi7.cjs → collectUint8StreamText-DbCOJom3.cjs} +295 -132
  106. package/dist/{collectUint8StreamText-Cgz3T1YG.mjs → collectUint8StreamText-DuFJyaQh.mjs} +290 -133
  107. package/dist/{makeManagedServerProvider-DRMA8nAp.cjs → makeManagedServerProvider-C3cQUDkZ.cjs} +1 -1
  108. package/dist/{makeManagedServerProvider-D43I_B9P.mjs → makeManagedServerProvider-wFGZ2-vd.mjs} +1 -1
  109. package/package.json +1 -1
  110. package/dist/client/assets/AppearanceSettings-pPltzbuu.js +0 -1
  111. package/dist/client/assets/ChatRightPanel-Cy2c02Dt.js +0 -188
  112. package/dist/client/assets/CommandPaletteDialog-D6t0Mkkl.js +0 -1
  113. package/dist/client/assets/ConnectionsSettings-qYzLbX7_.js +0 -1
  114. package/dist/client/assets/McpServersSettings-Co1o7_0g.js +0 -6
  115. package/dist/client/assets/ProvidersSettingsPanel-BwDIEOF4.js +0 -1
  116. package/dist/client/assets/RootAppShell-CThrOBqP.js +0 -12
  117. package/dist/client/assets/SourceControlSettings-oK-xLUFA.js +0 -1
  118. package/dist/client/assets/arrow-up-DUD3DBES.js +0 -1
  119. package/dist/client/assets/codexUsageLimits-Mjd2rHmE.js +0 -1
  120. package/dist/client/assets/composerDraftStore-DTMZbmmF.js +0 -21
  121. package/dist/client/assets/kbd-Dgp27U1W.js +0 -1
  122. package/dist/client/assets/main-Da7Z4Ig1.css +0 -2
  123. package/dist/client/assets/plus-F__wNuW-.js +0 -1
  124. package/dist/client/assets/providerDriverMeta-BIPPb2w0.js +0 -1
  125. package/dist/client/assets/providerIconUtils-C54pAs0t.js +0 -46
  126. package/dist/client/assets/useHandleNewThread-DVTiX8Lz.js +0 -1
  127. package/dist/client/assets/x-BQzUKGMv.js +0 -1
@@ -1,4 +1,4 @@
1
- import{i as e,t}from"./react-PSPkXoKo.js";import{t as n}from"./compiler-runtime-BNrXlsa1.js";import{V as r,ao as i,no as a,ro as o}from"./react-CjD7iThp.js";import{Ht as s,Mt as c,Qt as l,Tt as u,Wt as d,gt as f,it as p,n as m,nt as h,t as g,tt as _}from"./environmentApi-4U60qRO5.js";import{Ei as v,Fr as y,G as b,H as x,Mi as S,Nr as C,Oi as w,U as T,Ur as E,a as D,hi as O,mi as k,t as A}from"./composerDraftStore-DTMZbmmF.js";import{$n as j,Bt as ee,Ft as M,Gt as N,It as P,Ln as te,Nt as ne,Un as re,Vn as F,Zn as ie,cr as I,dr as ae,dt as oe,ft as se,g as ce,w as L,zn as le}from"./providerIconUtils-C54pAs0t.js";import{$ as ue,A as de,B as fe,C as pe,Ct as me,D as he,E as R,F as ge,G as _e,H as z,I as ve,J as ye,K as be,L as xe,M as Se,N as B,O as V,P as Ce,Q as H,R as U,S as we,T as Te,Tt as W,U as G,V as K,W as q,X as J,Y as Ee,Z as De,_ as Oe,at as ke,b as Ae,ct as je,d as Me,dt as Ne,et as Pe,f as Fe,ft as Ie,g as Le,h as Re,ht as ze,it as Be,j as Ve,k as He,lt as Ue,m as We,mt as Ge,nt as Ke,ot as qe,p as Je,pt as Ye,q as Y,rt as Xe,st as X,tt as Ze,u as Qe,ut as $e,v as et,w as tt,wt as nt,x as rt,y as Z,yt as it,z as at}from"./ChatRightPanel-Cy2c02Dt.js";import{t as ot}from"./useNavigate-CvKQXZa7.js";import{a as st,n as ct,r as lt}from"./threadRoutes-a4QytG8s.js";import{a as ut,c as dt,d as ft,f as pt,i as mt,l as ht,o as gt,p as _t,r as vt,s as yt,t as bt,u as xt}from"./rightPanelRouteSearch-DweDTgju.js";import{f as St,p as Ct,s as wt}from"./toast-L2eWWYjv.js";import{t as Tt}from"./toggle-oOk0T_MY.js";import{t as Et}from"./folder-open-CuS_UI1W.js";import{t as Dt}from"./plus-F__wNuW-.js";import{t as Ot}from"./refresh-cw-DFCVsvMH.js";import{t as kt}from"./x-BQzUKGMv.js";import{r as At,t as jt}from"./storeSelectors-BL-4Ncd3.js";import{g as Mt}from"./keybindings-BIa18Wmf.js";import{t as Nt}from"./scroll-area-CZPNMSSG.js";import{t as Pt}from"./useTheme-C7Ji7x06.js";import Ft from"./ThreadTerminalDrawer-BxuSy2xD.js";import{n as It,t as Lt}from"./toggle-group-D7mEwQCR.js";var Rt=w(`columns-2`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M12 3v18`,key:`108xh3`}]]),zt=w(`git-compare`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`path`,{d:`M11 18H8a2 2 0 0 1-2-2V9`,key:`19pyzm`}]]),Bt=w(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),Vt=w(`message-square-text`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]),Ht=w(`panel-right-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m8 9 3 3-3 3`,key:`12hl5m`}]]),Ut=w(`panel-right-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m10 15-3-3 3-3`,key:`1pgupc`}]]),Wt=w(`pilcrow`,[[`path`,{d:`M13 4v16`,key:`8vvj80`}],[`path`,{d:`M17 4v16`,key:`7dpous`}],[`path`,{d:`M19 4H9.5a4.5 4.5 0 0 0 0 9H13`,key:`sh4n9v`}]]),Gt=w(`rows-3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M21 9H3`,key:`1338ky`}],[`path`,{d:`M21 15H3`,key:`9uk58r`}]]),Kt=w(`text-wrap`,[[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`,key:`18xa6z`}],[`path`,{d:`M3 19h6`,key:`1ygdsz`}],[`path`,{d:`M3 5h18`,key:`1u36vt`}]]);function qt(e,t){return e?.start===t?.start&&e?.end===t?.end&&e?.side===t?.side&&e?.endSide===t?.endSide}function Jt(){return z({tagName:`button`,properties:{"data-utility-button":``,type:`button`},children:[G({name:`diffs-icon-plus`,properties:{"data-icon":``}})]})}function Yt(e,t){return e.lineNumber===t.lineNumber&&e.side===t.side}var Xt=class{hoveredLine;hoveredToken;pre;gutterUtilityContainer;gutterUtilityButton;gutterUtilitySlot;interactiveLinesAttr=!1;interactiveLineNumbersAttr=!1;hasPointerListeners=!1;hasDocumentPointerListeners=!1;selectedRange=null;renderedSelectionRange;selectionAnchor;queuedSelectionRender;pointerSession={mode:`idle`};constructor(e,t){this.mode=e,this.options=t}setOptions(e){this.options=e}cleanUp(){this.pre?.removeEventListener(`click`,this.handlePointerClick),this.pre?.removeEventListener(`pointerdown`,this.handlePointerDown),this.pre?.removeEventListener(`pointermove`,this.handlePointerMove),this.pre?.removeEventListener(`pointerleave`,this.handlePointerLeave),this.pre?.removeAttribute(`data-interactive-lines`),this.pre?.removeAttribute(`data-interactive-line-numbers`),this.pre=void 0,this.gutterUtilityContainer?.remove(),this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.clearHoveredLine(),this.clearHoveredToken(),this.detachDocumentPointerListeners(),this.clearPointerSession(),this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.interactiveLinesAttr=!1,this.interactiveLineNumbersAttr=!1,this.hasPointerListeners=!1}setup(e){this.setSelectionDirty();let{usesCustomGutterUtility:t=!1,enableGutterUtility:n=!1}=this.options;this.pre!==e&&(this.cleanUp(),this.pre=e),n?this.ensureGutterUtilityNode(t):this.gutterUtilityContainer!=null&&(this.gutterUtilityContainer.remove(),this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.pointerSession.mode===`gutterSelecting`&&(this.clearPointerSession(),this.detachDocumentPointerListeners())),this.syncPointerListeners(e),this.updateInteractiveLineAttributes(),this.renderSelection()}setSelectionDirty(){this.renderedSelectionRange=void 0}isSelectionDirty(){return this.renderedSelectionRange===null}setSelection(e){let t=!(e===this.selectedRange||qt(e??void 0,this.selectedRange??void 0));!this.isSelectionDirty()&&!t||(this.selectedRange=e,this.renderSelection(),t&&this.notifySelectionCommitted())}getSelection(){return this.selectedRange}getHoveredLine=()=>{if(this.hoveredLine!=null){if(this.mode===`diff`&&this.hoveredLine.type===`diff-line`)return{lineNumber:this.hoveredLine.lineNumber,side:this.hoveredLine.annotationSide};if(this.mode===`file`&&this.hoveredLine.type===`line`)return{lineNumber:this.hoveredLine.lineNumber}}};handlePointerClick=e=>{let{onHunkExpand:t,onLineClick:n,onLineNumberClick:r,onTokenClick:i,onMergeConflictActionClick:a}=this.options;t==null&&n==null&&r==null&&a==null&&i==null||this.options.onGutterUtilityClick!=null&&ln(e.composedPath())||(un(this.options.__debugPointerEvents,`click`,`FileDiff.DEBUG.handlePointerClick:`,e),this.handlePointerEvent({eventType:`click`,event:e}))};handlePointerMove=e=>{let{lineHoverHighlight:t=`disabled`,onLineEnter:n,onLineLeave:r,onTokenEnter:i,onTokenLeave:a,enableGutterUtility:o=!1}=this.options;t===`disabled`&&!o&&n==null&&r==null&&i==null&&a==null||(un(this.options.__debugPointerEvents,`move`,`FileDiff.DEBUG.handlePointerMove:`,e),this.handlePointerEvent({eventType:`move`,event:e}))};handlePointerLeave=e=>{let{__debugPointerEvents:t}=this.options;if(un(t,`move`,`FileDiff.DEBUG.handlePointerLeave: no event`),this.hoveredLine==null&&this.hoveredToken==null){un(t,`move`,`FileDiff.DEBUG.handlePointerLeave: returned early, no hovered line or token`);return}this.gutterUtilityContainer?.remove(),this.hoveredToken!=null&&(this.options.onTokenLeave?.(this.hoveredToken,e),this.clearHoveredToken()),this.hoveredLine!=null&&(this.options.onLineLeave?.({...this.hoveredLine,event:e}),this.clearHoveredLine())};handlePointerEvent({eventType:e,event:t}){let{__debugPointerEvents:n}=this.options,r=t.composedPath();un(n,e,`FileDiff.DEBUG.handlePointerEvent:`,{eventType:e,composedPath:r});let i=this.resolvePointerTarget(r);un(n,e,`FileDiff.DEBUG.handlePointerEvent: resolvePointerTarget result:`,i);let{onLineClick:a,onLineNumberClick:o,onLineEnter:s,onLineLeave:c,onTokenClick:l,onTokenEnter:u,onTokenLeave:d,onHunkExpand:f,onMergeConflictActionClick:p}=this.options;switch(e){case`move`:{let e=tn(i)&&this.hoveredLine?.lineElement===i.lineElement;en(i)&&this.hoveredToken?.tokenElement===i.tokenElement||(this.hoveredToken!=null&&(d?.(this.hoveredToken,t),this.clearHoveredToken()),en(i)&&(this.setHoveredToken(this.toTokenEventBaseProps(i)),u?.(this.hoveredToken,t))),e||(this.hoveredLine!=null&&(this.gutterUtilityContainer?.remove(),c?.({...this.hoveredLine,event:t}),this.clearHoveredLine()),tn(i)&&(this.setHoveredLine(this.toEventBaseProps(i)),this.gutterUtilityContainer!=null&&i.numberElement.appendChild(this.gutterUtilityContainer),s?.({...this.hoveredLine,event:t})));break}case`click`:{if(i==null)break;if(rn(i)&&p!=null){p(i);break}if(nn(i)&&f!=null){f(i.hunkIndex,i.all||t.shiftKey?`both`:i.direction,i.all||t.shiftKey?1/0:void 0);break}if(!tn(i))break;en(i)&&l!=null&&l(this.toTokenEventBaseProps(i),t);let e=this.toEventBaseProps(i);o!=null&&i.numberColumn?o({...e,event:t}):a?.({...e,event:t});break}}}syncPointerListeners(e){let{__debugPointerEvents:t,lineHoverHighlight:n=`disabled`,onLineClick:r,onLineNumberClick:i,onLineEnter:a,onLineLeave:o,onTokenClick:s,onTokenEnter:c,onTokenLeave:l,onHunkExpand:u,onMergeConflictActionClick:d,enableGutterUtility:f=!1,enableLineSelection:p=!1,onGutterUtilityClick:m}=this.options,h=m!=null,g=n!==`disabled`||r!=null||i!=null||a!=null||o!=null||s!=null||c!=null||l!=null||u!=null||d!=null||f||p||h;g&&!this.hasPointerListeners?(e.addEventListener(`click`,this.handlePointerClick),e.addEventListener(`pointerdown`,this.handlePointerDown),e.addEventListener(`pointermove`,this.handlePointerMove),e.addEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!0,un(t,`click`,`FileDiff.DEBUG.attachEventListeners: Attaching click events for:`,(()=>{let e=[];return(t===`both`||t===`click`)&&(r!=null&&e.push(`onLineClick`),i!=null&&e.push(`onLineNumberClick`),u!=null&&e.push(`expandable hunk separators`),d!=null&&e.push(`merge conflict actions`)),e})()),un(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer move event`),un(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer leave event`)):!g&&this.hasPointerListeners&&(e.removeEventListener(`click`,this.handlePointerClick),e.removeEventListener(`pointerdown`,this.handlePointerDown),e.removeEventListener(`pointermove`,this.handlePointerMove),e.removeEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!1);let _=this.pointerSession.mode===`selecting`||this.pointerSession.mode===`pendingSingleLineUnselect`,v=this.pointerSession.mode===`gutterSelecting`;(!p&&_||!h&&v)&&(this.clearPointerSession(),this.detachDocumentPointerListeners(),this.selectionAnchor=void 0,this.clearPendingSingleLineState())}updateInteractiveLineAttributes(){if(this.pre==null)return;let{onLineClick:e,onLineNumberClick:t,enableLineSelection:n=!1}=this.options,r=e!=null,i=t!=null||n;r&&!this.interactiveLinesAttr?(this.pre.setAttribute(`data-interactive-lines`,``),this.interactiveLinesAttr=!0):!r&&this.interactiveLinesAttr&&(this.pre.removeAttribute(`data-interactive-lines`),this.interactiveLinesAttr=!1),i&&!this.interactiveLineNumbersAttr?(this.pre.setAttribute(`data-interactive-line-numbers`,``),this.interactiveLineNumbersAttr=!0):!i&&this.interactiveLineNumbersAttr&&(this.pre.removeAttribute(`data-interactive-line-numbers`),this.interactiveLineNumbersAttr=!1)}handlePointerDown=e=>{if(e.pointerType===`mouse`&&e.button!==0||this.pre==null||this.pointerSession.mode!==`idle`)return;let t=e.composedPath();ln(t)&&this.options.onGutterUtilityClick!=null?this.startGutterSelectionFromPointerDown(e,t):this.startLineSelectionFromPointerDown(e,t)};startLineSelectionFromPointerDown(e,t){let{enableLineSelection:n=!1}=this.options;if(!n)return;let r=this.getSelectionPointerInfo(t,!0);if(r==null)return;let{pre:i}=this;if(i==null)return;e.preventDefault();let{lineNumber:a,eventSide:o,lineIndex:s}=r;if(e.shiftKey&&this.selectedRange!=null){let t=this.getIndexesFromSelection(this.selectedRange,i.getAttribute(`data-diff-type`)===`split`);if(t==null)return;let n=t.start<=t.end?s>=t.start:s<=t.end;this.selectionAnchor={lineNumber:n?this.selectedRange.start:this.selectedRange.end,side:n?this.selectedRange.side:this.selectedRange.endSide??this.selectedRange.side},this.updateSelection(a,o,!1),this.notifySelectionStart(this.selectedRange),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners();return}if(this.selectedRange?.start===a&&this.selectedRange?.end===a){let t={lineNumber:a,side:o};this.selectionAnchor=t,this.pointerSession={mode:`pendingSingleLineUnselect`,pointerId:e.pointerId,anchor:t,pending:t},this.attachDocumentPointerListeners();return}this.selectedRange=null,this.selectionAnchor={lineNumber:a,side:o},this.updateSelection(a,o,!1),this.notifySelectionStart(this.selectedRange),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners()}startGutterSelectionFromPointerDown(e,t){let{enableLineSelection:n=!1,onGutterUtilityClick:r}=this.options;if(r==null)return;let i=this.getSelectionPointFromPath(t);i!=null&&(e.preventDefault(),e.stopPropagation(),this.pointerSession={mode:`gutterSelecting`,pointerId:e.pointerId,anchor:i,current:i},n&&(this.selectionAnchor={lineNumber:i.lineNumber,side:i.side},this.updateSelection(i.lineNumber,i.side,!1),this.notifySelectionStart(this.selectedRange)),this.attachDocumentPointerListeners())}handleDocumentPointerMove=e=>{let{enableLineSelection:t=!1}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;let n=this.getSelectionPointFromPath(e.composedPath());if(n==null)return;this.pointerSession.current=n,t===!0&&this.updateSelection(n.lineNumber,n.side);return}case`selecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;let t=this.getSelectionPointerInfo(e.composedPath(),!1);if(t==null||this.selectionAnchor==null)return;this.updateSelection(t.lineNumber,t.eventSide);return}case`pendingSingleLineUnselect`:{if(e.pointerId!==this.pointerSession.pointerId)return;let t=this.getSelectionPointerInfo(e.composedPath(),!1);if(t==null||this.selectionAnchor==null)return;let n={lineNumber:t.lineNumber,side:t.eventSide};if(Yt(this.pointerSession.pending,n))return;this.updateSelection(t.lineNumber,t.eventSide,!1),this.notifySelectionStart(this.selectedRange),this.notifySelectionChangeDelta(),this.pointerSession={mode:`selecting`,pointerId:e.pointerId};return}}};handleDocumentPointerUp=e=>{let{enableLineSelection:t=!1,onGutterUtilityClick:n}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;let r=this.getSelectionPointFromPath(e.composedPath());r!=null&&(this.pointerSession.current=r,t&&this.updateSelection(r.lineNumber,r.side)),n?.(this.buildSelectedLineRange(this.pointerSession.anchor,this.pointerSession.current)),this.selectionAnchor=void 0,t&&(this.notifySelectionEnd(this.selectedRange),this.notifySelectionCommitted()),this.clearPointerSession(),this.detachDocumentPointerListeners();return}case`pendingSingleLineUnselect`:if(e.pointerId!==this.pointerSession.pointerId)return;this.updateSelection(null,void 0,!1),this.selectionAnchor=void 0,this.clearPendingSingleLineState(),this.detachDocumentPointerListeners(),this.notifySelectionEnd(this.selectedRange),this.notifySelectionCommitted();return;case`selecting`:if(e.pointerId!==this.pointerSession.pointerId)return;this.selectionAnchor=void 0,this.detachDocumentPointerListeners(),this.clearPointerSession(),this.notifySelectionEnd(this.selectedRange),this.notifySelectionCommitted()}};handleDocumentPointerCancel=e=>{switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:case`selecting`:case`pendingSingleLineUnselect`:if(`pointerId`in this.pointerSession&&e.pointerId!==this.pointerSession.pointerId)return;this.selectionAnchor=void 0,this.clearPendingSingleLineState(),this.clearPointerSession(),this.detachDocumentPointerListeners()}};clearHoveredLine(){this.hoveredLine!=null&&(this.hoveredLine.lineElement.removeAttribute(`data-hovered`),this.hoveredLine.numberElement.removeAttribute(`data-hovered`),this.hoveredLine=void 0)}setHoveredLine(e){let{lineHoverHighlight:t=`disabled`}=this.options;this.hoveredLine!=null&&this.clearHoveredLine(),this.hoveredLine=e,t!==`disabled`&&((t===`both`||t===`line`)&&this.hoveredLine.lineElement.setAttribute(`data-hovered`,``),(t===`both`||t===`number`)&&this.hoveredLine.numberElement.setAttribute(`data-hovered`,``))}clearHoveredToken(){this.hoveredToken!=null&&(this.hoveredToken=void 0)}setHoveredToken(e){this.hoveredToken!=null&&this.clearHoveredToken(),this.hoveredToken=e}ensureGutterUtilityNode(e){if(this.gutterUtilityContainer??(this.gutterUtilityContainer=document.createElement(`div`),this.gutterUtilityContainer.setAttribute(`data-gutter-utility-slot`,``)),e)this.gutterUtilityButton!=null&&(this.gutterUtilityButton.remove(),this.gutterUtilityButton=void 0),this.gutterUtilitySlot??(this.gutterUtilitySlot=document.createElement(`slot`),this.gutterUtilitySlot.name=`gutter-utility-slot`),this.gutterUtilitySlot.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilitySlot);else{if(this.gutterUtilitySlot?.remove(),this.gutterUtilitySlot=void 0,this.gutterUtilityButton==null){let e=document.createElement(`div`);e.innerHTML=U(Jt());let t=e.firstElementChild;if(!(t instanceof HTMLButtonElement))throw Error(`InteractionManager.ensureGutterUtilityNode: Node element should be a button`);t.remove(),this.gutterUtilityButton=t}this.gutterUtilityButton.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilityButton)}}attachDocumentPointerListeners(){this.hasDocumentPointerListeners||=(document.addEventListener(`pointermove`,this.handleDocumentPointerMove),document.addEventListener(`pointerup`,this.handleDocumentPointerUp),document.addEventListener(`pointercancel`,this.handleDocumentPointerCancel),!0)}detachDocumentPointerListeners(){this.hasDocumentPointerListeners&&=(document.removeEventListener(`pointermove`,this.handleDocumentPointerMove),document.removeEventListener(`pointerup`,this.handleDocumentPointerUp),document.removeEventListener(`pointercancel`,this.handleDocumentPointerCancel),!1)}clearPointerSession(){this.pointerSession={mode:`idle`}}clearPendingSingleLineState(){this.pointerSession.mode===`pendingSingleLineUnselect`&&(this.pointerSession={mode:`idle`})}getSelectionPointerInfo(e,t){let n=this.resolvePointerTarget(e);if($t(n)&&!(t&&!n.numberColumn)&&n.splitLineIndex!=null)return{lineIndex:n.splitLineIndex,lineNumber:n.lineNumber,eventSide:this.mode===`diff`?n.side:void 0}}getSelectionPointFromPath(e){let t=this.resolvePointerTarget(e);if($t(t))return{lineNumber:t.lineNumber,side:this.mode===`diff`?t.side:void 0}}getLineIndex(e,t){let{getLineIndex:n}=this.options;return n==null?[e-1,e-1]:n(e,t)}updateSelection(e,t,n=!0){let{selectedRange:r}=this,i;if(e==null)i=null;else{let n=this.selectionAnchor?.side??t,r=this.selectionAnchor?.lineNumber??e;i=this.buildSelectionRange(r,e,n,t)}qt(r??void 0,i??void 0)||(this.selectedRange=i,n&&this.notifySelectionChangeDelta(),this.queuedSelectionRender??=requestAnimationFrame(this.renderSelection))}getIndexesFromSelection(e,t){if(this.pre==null)return;let n=this.getLineIndex(e.start,e.side),r=this.getLineIndex(e.end,e.endSide??e.side);return n!=null&&r!=null?{start:t?n[1]:n[0],end:t?r[1]:r[0]}:void 0}renderSelection=()=>{if(this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.pre==null||this.renderedSelectionRange===this.selectedRange)return;let e=this.pre.querySelectorAll(`[data-selected-line]`);for(let t of e)t.removeAttribute(`data-selected-line`);if(this.renderedSelectionRange=this.selectedRange,this.selectedRange==null)return;let{children:t}=this.pre;if(t.length===0)return;if(t.length>2)throw console.error(t),Error(`InteractionManager.renderSelection: Somehow there are more than 2 code elements...`);let n=this.pre.getAttribute(`data-diff-type`)===`split`,r=this.getIndexesFromSelection(this.selectedRange,n);if(r==null)throw console.error({rowRange:r,selectedRange:this.selectedRange}),Error(`InteractionManager.renderSelection: No valid rowRange`);let i=r.start===r.end,a=Math.min(r.start,r.end),o=Math.max(r.start,r.end);for(let e of t){let[t,r]=e.children,s=r.children.length;if(s!==t.children.length)throw Error(`InteractionManager.renderSelection: gutter and content children dont match, something is wrong`);for(let e=0;e<s;e++){let s=r.children[e],c=t.children[e];if(!(s instanceof HTMLElement)||!(c instanceof HTMLElement))continue;let l=this.parseLineIndex(s,n);if((l??0)>o)break;if(l==null||l<a)continue;let u=i?`single`:l===a?`first`:l===o?`last`:``;s.setAttribute(`data-selected-line`,u),c.setAttribute(`data-selected-line`,u),c.nextSibling instanceof HTMLElement&&s.nextSibling instanceof HTMLElement&&(s.nextSibling.hasAttribute(`data-line-annotation`)||s.nextSibling.hasAttribute(`data-merge-conflict-actions`))&&(i?(u=`last`,s.setAttribute(`data-selected-line`,`first`)):l===a?u=``:l===o&&s.setAttribute(`data-selected-line`,``),s.nextSibling.setAttribute(`data-selected-line`,u),c.nextSibling.setAttribute(`data-selected-line`,u))}}};notifySelectionCommitted(){this.options.onLineSelected?.(this.selectedRange??null)}notifySelectionChangeDelta(){this.options.onLineSelectionChange?.(this.selectedRange??null)}notifySelectionStart(e){this.options.onLineSelectionStart?.(e)}notifySelectionEnd(e){this.options.onLineSelectionEnd?.(e)}toEventBaseProps(e){return this.mode===`file`?{type:`line`,lineElement:e.lineElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn,numberElement:e.numberElement}:{type:`diff-line`,annotationSide:e.side,lineType:e.lineType,lineElement:e.lineElement,numberElement:e.numberElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn}}toTokenEventBaseProps({lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}){return this.mode===`file`?{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,tokenElement:i,tokenText:a}:{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}}buildSelectedLineRange(e,t){return this.buildSelectionRange(e.lineNumber,t.lineNumber,e.side,t.side)}buildSelectionRange(e,t,n,r){return{start:e,end:t,...n==null?{}:{side:n},...n!==r&&r!=null?{endSide:r}:{}}}resolvePointerTarget(e){let t=!1,n,r,i,a,o,s,c,l,u,d;for(let f of e){if(!(f instanceof HTMLElement))continue;if(d==null&&f.hasAttribute(`data-merge-conflict-action`)){let e=f.getAttribute(`data-merge-conflict-action`)??void 0,t=f.getAttribute(`data-merge-conflict-conflict-index`)??void 0,n=t==null?NaN:Number.parseInt(t,10);an(e)&&Number.isFinite(n)&&(d={kind:`merge-conflict-action`,resolution:e,conflictIndex:n})}if(s==null&&f.hasAttribute(`data-char`)){s=f;let e=f.getAttribute(`data-char`);if(e!=null){let t=Number.parseInt(e,10);if(!Number.isNaN(t)){let e=f.textContent??``,n=t+e.length;(e.trim()!==``||this.options.enableTokenInteractionsOnWhitespace===!0)&&(c={tokenElement:s,lineCharStart:t,lineCharEnd:n,tokenText:e});continue}}}let e=o==null?f.getAttribute(`data-column-number`)??void 0:void 0;if(e!=null){o=f,u=Number.parseInt(e,10),t=!0,n=cn(f),a=f.getAttribute(`data-line-index`)??void 0;continue}let p=i==null?f.getAttribute(`data-line`)??void 0:void 0;if(p!=null){i=f,u=Number.parseInt(p,10),n=cn(f),a=f.getAttribute(`data-line-index`)??void 0;continue}if(l==null&&(f.hasAttribute(`data-expand-button`)||f.hasAttribute(`data-unmodified-lines`))){l={hunkIndex:void 0,direction:f.hasAttribute(`data-expand-up`)?`up`:f.hasAttribute(`data-expand-down`)?`down`:`both`,all:f.hasAttribute(`data-expand-all-button`)};continue}let m=l==null?void 0:f.getAttribute(`data-expand-index`)??void 0;if(l!=null&&m!=null){let e=Number.parseInt(m,10);Number.isNaN(e)||(l.hunkIndex=e);continue}if(r==null&&f.hasAttribute(`data-code`)){r=f;break}}if(d!=null)return d;if(l?.hunkIndex!=null)return{type:`line-info`,hunkIndex:l.hunkIndex,direction:l.direction,all:l.all};if(i??=a==null?void 0:on(r,`[data-line][data-line-index="${a}"]`),o??=a==null?void 0:on(r,`[data-column-number][data-line-index="${a}"]`),r==null||i==null||o==null||n==null||u==null||Number.isNaN(u))return;let f=this.parseLineIndex(i,this.isSplitDiff());return c==null?this.mode===`file`?{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f}:{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:sn(n,r),splitLineIndex:f}:this.mode===`file`?{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f,...c}:{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:sn(n,r),splitLineIndex:f,...c}}isSplitDiff(){return this.pre?.getAttribute(`data-diff-type`)===`split`}parseLineIndex(e,t){let n=(e.getAttribute(`data-line-index`)??``).split(`,`).map(e=>Number.parseInt(e,10)).filter(e=>!Number.isNaN(e));if(t&&n.length===2)return n[1];if(!t)return n[0]}};function Zt({enableTokenInteractionsOnWhitespace:e,enableGutterUtility:t,enableHoverUtility:n,lineHoverHighlight:r,onGutterUtilityClick:i,onLineClick:a,onLineEnter:o,onLineLeave:s,onLineNumberClick:c,onTokenClick:l,onTokenEnter:u,onTokenLeave:d,renderGutterUtility:f,renderHoverUtility:p,__debugPointerEvents:m,enableLineSelection:h,onLineSelected:g,onLineSelectionStart:_,onLineSelectionChange:v,onLineSelectionEnd:y},b,x,S){return{enableTokenInteractionsOnWhitespace:e,enableGutterUtility:Qt({enableGutterUtility:t,enableHoverUtility:n,renderGutterUtility:f,renderHoverUtility:p,onGutterUtilityClick:i}),usesCustomGutterUtility:f!=null||p!=null,lineHoverHighlight:r,onGutterUtilityClick:i,onHunkExpand:b,onMergeConflictActionClick:S,onLineClick:a,onLineEnter:o,onLineLeave:s,onLineNumberClick:c,onTokenClick:l,onTokenEnter:u,onTokenLeave:d,__debugPointerEvents:m,enableLineSelection:h,onLineSelected:g,onLineSelectionStart:_,onLineSelectionChange:v,onLineSelectionEnd:y,getLineIndex:x}}function Qt({enableGutterUtility:e,enableHoverUtility:t,renderGutterUtility:n,renderHoverUtility:r,onGutterUtilityClick:i}){if(e!==void 0&&t!==void 0)throw Error(`Cannot use both 'enableGutterUtility' and deprecated 'enableHoverUtility'. Use only 'enableGutterUtility'.`);if(n!=null&&r!=null)throw Error(`Cannot use both 'renderGutterUtility' and deprecated 'renderHoverUtility'. Use only 'renderGutterUtility'.`);if(i!=null&&(n!=null||r!=null))throw Error(`Cannot use both 'onGutterUtilityClick' and render utility callbacks ('renderGutterUtility'/'renderHoverUtility'). Use only one gutter utility API.`);return e??t??!1}function $t(e){return e!=null&&`kind`in e&&e.kind===`line`}function en(e){return e!=null&&`kind`in e&&e.kind===`token`}function tn(e){return $t(e)||en(e)}function nn(e){return`type`in e&&e.type===`line-info`}function rn(e){return`kind`in e&&e.kind===`merge-conflict-action`}function an(e){return e===`current`||e===`incoming`||e===`both`}function on(e,t){let n=e?.querySelector(t);return n instanceof HTMLElement?n:void 0}function sn(e,t){switch(e){case`change-deletion`:return`deletions`;case`change-addition`:return`additions`;default:return t.hasAttribute(`data-deletions`)?`deletions`:`additions`}}function cn(e){let t=e.getAttribute(`data-line-type`);if(t!=null)switch(t){case`change-deletion`:case`change-addition`:case`context`:case`context-expanded`:return t;default:return}}function ln(e){for(let t of e)if(t instanceof HTMLElement&&t.hasAttribute(`data-utility-button`))return!0;return!1}function un(e=`none`,t,...n){switch(e){case`none`:return;case`both`:break;case`click`:if(t!==`click`)return;break;case`move`:if(t!==`move`)return;break}console.log(...n)}var dn=class{observedNodes=new Map;queuedUpdates=new Map;cleanUp(){this.resizeObserver?.disconnect(),this.observedNodes.clear(),this.queuedUpdates.clear()}resizeObserver;setup(e,t){this.resizeObserver??=new ResizeObserver(this.handleResizeObserver);let n=e.querySelectorAll(`code`),r=new Map(this.observedNodes);this.observedNodes.clear();for(let e of n){let t=r.get(e);if(t!=null&&t.type!==`code`)throw Error(`ResizeManager.setup: somehow a code node is being used for an annotation, should be impossible`);let n=e.firstElementChild;n instanceof HTMLElement||(n=null),t==null?(t={type:`code`,codeElement:e,numberElement:n,codeWidth:`auto`,numberWidth:0},this.observedNodes.set(e,t),this.resizeObserver.observe(e),n!=null&&(this.observedNodes.set(n,t),this.resizeObserver.observe(n))):(this.observedNodes.set(e,t),r.delete(e),t.numberElement===n?t.numberElement!=null&&(r.delete(t.numberElement),this.observedNodes.set(t.numberElement,t)):(t.numberElement!=null&&this.resizeObserver.unobserve(t.numberElement),n!=null&&(this.resizeObserver.observe(n),r.delete(n),this.observedNodes.set(n,t)),t.numberElement=n))}if(n.length>1&&!t){let t=e.querySelectorAll(`[data-line-annotation*=","]`),n=new Map;for(let e of t){if(!(e instanceof HTMLElement))continue;let{lineAnnotation:t=``}=e.dataset;if(!/^\d+,\d+$/.test(t)){console.error(`DiffFileRenderer.setupResizeObserver: Invalid element or annotation`,{lineAnnotation:t,element:e});continue}let r=n.get(t);r??(r=[],n.set(t,r)),r.push(e)}for(let[e,t]of n){if(t.length!==2){console.error(`DiffFileRenderer.setupResizeObserver: Bad Pair`,e,t);continue}let[n,i]=t,a=n.firstElementChild,o=i.firstElementChild;if(!(n instanceof HTMLElement)||!(i instanceof HTMLElement)||!(a instanceof HTMLElement)||!(o instanceof HTMLElement))continue;let s=r.get(a);if(s!=null){this.observedNodes.set(a,s),this.observedNodes.set(o,s),r.delete(a),r.delete(o);continue}s={type:`annotations`,column1:{container:n,child:a,childHeight:a.getBoundingClientRect().height},column2:{container:i,child:o,childHeight:o.getBoundingClientRect().height},currentHeight:`auto`};let c=Math.max(s.column1.childHeight,s.column2.childHeight);this.applyNewHeight(s,c),this.observedNodes.set(a,s),this.observedNodes.set(o,s),this.resizeObserver.observe(a),this.resizeObserver.observe(o)}}for(let e of r.keys())e.isConnected&&(e.style.removeProperty(`--diffs-column-content-width`),e.style.removeProperty(`--diffs-column-number-width`),e.style.removeProperty(`--diffs-column-width`),e.parentElement instanceof HTMLElement&&e.parentElement.style.removeProperty(`--diffs-annotation-min-height`)),this.resizeObserver.unobserve(e);r.clear()}handleResizeObserver=e=>{for(let t of e){let{target:e,borderBoxSize:n,contentBoxSize:r}=t;if(!(e instanceof HTMLElement)){console.error(`FileDiff.handleResizeObserver: Invalid element for ResizeObserver`,t);continue}let i=this.observedNodes.get(e);if(i==null){console.error(`FileDiff.handleResizeObserver: Not a valid observed node`,t);continue}if(i.type===`annotations`){let t=(()=>{if(e===i.column1.child)return i.column1;if(e===i.column2.child)return i.column2})();if(t==null){console.error(`FileDiff.handleResizeObserver: Couldn't find a column for`,{item:i,target:e});continue}t.childHeight=n[0].blockSize;let r=Math.max(i.column1.childHeight,i.column2.childHeight);this.applyNewHeight(i,r)}else if(i.type===`code`){let t=[e,r[0].inlineSize],n=this.queuedUpdates.get(i)??[];n.push(t),this.queuedUpdates.set(i,n)}}this.handleColumnChange()};handleColumnChange=()=>{for(let[e,t]of this.queuedUpdates)for(let[n,r]of t)if(n===e.codeElement){let n=Math.max(Math.floor(r),0);if(n!==e.codeWidth){let t=Math.max(n-e.numberWidth,0);e.codeWidth=n===0?`auto`:n,e.codeElement.style.setProperty(`--diffs-column-content-width`,`${t>0?`${t}px`:`auto`}`),e.codeElement.style.setProperty(`--diffs-column-width`,`${typeof e.codeWidth==`number`?`${e.codeWidth}px`:`auto`}`)}e.numberElement!=null&&typeof e.codeWidth==`number`&&e.numberWidth===0&&t.push([e.numberElement,e.numberElement.getBoundingClientRect().width])}else if(n===e.numberElement){let t=Math.max(Math.ceil(r),0);if(t!==e.numberWidth&&(e.numberWidth=t,e.codeElement.style.setProperty(`--diffs-column-number-width`,`${e.numberWidth===0?`auto`:`${e.numberWidth}px`}`),e.codeWidth!==`auto`)){let t=Math.max(e.codeWidth-e.numberWidth,0);e.codeElement.style.setProperty(`--diffs-column-content-width`,`${t===0?`auto`:`${t}px`}`)}}this.queuedUpdates.clear()};applyNewHeight(e,t){t!==e.currentHeight&&(e.currentHeight=Math.max(t,0),e.column1.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`),e.column2.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`))}};function fn(e){for(let t of Array.isArray(e)?e:[e])if(!(t===`text`||t===`ansi`)&&!xe.has(t))return!1;return!0}function pn(e){for(let t of B(e))if(!ve.has(t))return!1;return!0}function mn(e,t){return e==null||t==null?e===t:e.startingLine===t.startingLine&&e.totalLines===t.totalLines&&e.bufferBefore===t.bufferBefore&&e.bufferAfter===t.bufferAfter}function hn(e){return z({tagName:`div`,children:[z({tagName:`div`,children:e.annotations?.map(e=>z({tagName:`slot`,properties:{name:e}})),properties:{"data-annotation-content":``}})],properties:{"data-line-annotation":`${e.hunkIndex},${e.lineIndex}`}})}function gn(e){switch(e){case`file`:return`diffs-icon-file-code`;case`change`:return`diffs-icon-symbol-modified`;case`new`:return`diffs-icon-symbol-added`;case`deleted`:return`diffs-icon-symbol-deleted`;case`rename-pure`:case`rename-changed`:return`diffs-icon-symbol-moved`}}function _n({fileOrDiff:e,mode:t}){let n=`type`in e?e:void 0,r={"data-diffs-header":t,"data-change-type":n?.type};return z({tagName:`div`,children:[t===`custom`?z({tagName:`slot`,properties:{name:Y}}):vn({name:e.name,prevName:`prevName`in e?e.prevName:void 0,iconType:n?.type??`file`}),...t===`custom`?[]:[yn(n)]],properties:r})}function vn({name:e,prevName:t,iconType:n}){let r=[z({tagName:`slot`,properties:{name:ke}}),G({name:gn(n),properties:{"data-change-icon":n}})];return t!=null&&(r.push(z({tagName:`div`,children:[z({tagName:`bdi`,children:[q(t)]})],properties:{"data-prev-name":``}})),r.push(G({name:`diffs-icon-arrow-right-short`,properties:{"data-rename-icon":``}}))),r.push(z({tagName:`div`,children:[z({tagName:`bdi`,children:[q(e)]})],properties:{"data-title":``}})),z({tagName:`div`,children:r,properties:{"data-header-content":``}})}function yn(e){let t=[];if(e!=null){let n=0,r=0;for(let t of e.hunks)n+=t.additionLines,r+=t.deletionLines;(r>0||n===0)&&t.push(z({tagName:`span`,children:[q(`-${r}`)],properties:{"data-deletions-count":``}})),(n>0||r===0)&&t.push(z({tagName:`span`,children:[q(`+${n}`)],properties:{"data-additions-count":``}}))}return t.push(z({tagName:`slot`,properties:{name:Be}})),z({tagName:`div`,children:t,properties:{"data-metadata":``}})}function bn(e){return z({tagName:`pre`,properties:xn(e)})}function xn({diffIndicators:e,disableBackground:t,disableLineNumbers:n,overflow:r,split:i,totalLines:a,type:o,customProperties:s}){return{...s,"data-diff":o===`diff`?``:void 0,"data-file":o===`file`?``:void 0,"data-diff-type":o===`diff`?i?`split`:`single`:void 0,"data-overflow":r,"data-disable-line-numbers":n?``:void 0,"data-background":t?void 0:``,"data-indicators":e===`bars`||e===`classic`?e:void 0,tabIndex:0,style:`--diffs-min-number-column-width-default:${`${a}`.length}ch;`}}function Sn(e,{theme:t,preferredHighlighter:n=`shiki-js`}){return{langs:[e??`text`],themes:B(t),preferredHighlighter:n}}function Cn(e){return`annotation-${`side`in e?`${e.side}-`:``}${e.lineNumber}`}function wn(e,t){return z({tagName:`div`,children:e,properties:{"data-content":``,style:`grid-row: span ${t}`}})}function Tn(e){return e.useTokenTransformer===!0||e.onTokenClick!=null||e.onTokenEnter!=null||e.onTokenLeave!=null}var En=-1,Dn=class{__id=`file-renderer:${++En}`;highlighter;renderCache;computedLang=`text`;lineAnnotations={};lineCache;constructor(e={theme:J},t,n){this.options=e,this.onRenderUpdate=t,this.workerManager=n,n?.isWorkingPool()!==!0&&(this.highlighter=pn(e.theme??J)?Ce():void 0)}setOptions(e){this.options=e}mergeOptions(e){this.options={...this.options,...e}}setLineAnnotations(e){this.lineAnnotations={};for(let t of e){let e=this.lineAnnotations[t.lineNumber]??[];this.lineAnnotations[t.lineNumber]=e,e.push(t)}}cleanUp(){this.renderCache=void 0,this.highlighter=void 0,this.workerManager=void 0,this.onRenderUpdate=void 0,this.lineCache=void 0}hydrate(e){let{options:t}=this.getRenderOptions(e),n=this.workerManager?.getFileResultCache(e);n!=null&&!On(t,n.options)&&(n=void 0),this.renderCache??={file:e,options:t,highlighted:!Te(e),result:n?.result,renderRange:void 0},this.workerManager?.isWorkingPool()===!0?this.renderCache.result??this.workerManager.highlightFileAST(this,e):this.highlighter??(this.computedLang=e.lang??de(e.name),this.initializeHighlighter())}getRenderOptions(e){let t=(()=>{if(this.workerManager?.isWorkingPool()===!0)return this.workerManager.getFileRenderOptions();let{theme:e=J,tokenizeMaxLineLength:t=1e3}=this.options;return{theme:e,useTokenTransformer:Tn(this.options),tokenizeMaxLineLength:t}})(),{renderCache:n}=this;return n?.result==null||e!==n.file||!On(t,n.options)?{options:t,forceRender:!0}:{options:t,forceRender:!1}}getOrCreateLineCache(e){if(e.cacheKey==null)return this.lineCache=void 0,he(e.contents);let{lineCache:t}=this;return(t==null||t.cacheKey!==e.cacheKey)&&(t={cacheKey:e.cacheKey,lines:he(e.contents)}),this.lineCache=t,t.lines}renderFile(e=this.renderCache?.file,t=Ee){if(e==null)return;let n=this.workerManager?.getFileResultCache(e);n!=null&&this.renderCache==null&&(this.renderCache={file:e,highlighted:!0,renderRange:void 0,...n});let{options:r,forceRender:i}=this.getRenderOptions(e);if(this.renderCache??={file:e,highlighted:!1,options:r,result:void 0,renderRange:void 0},this.workerManager?.isWorkingPool()===!0)(this.renderCache.result==null||!this.renderCache.highlighted&&(e!==this.renderCache.file||!mn(this.renderCache.renderRange,t)))&&(this.renderCache.file=e,this.renderCache.result=this.workerManager.getPlainFileAST(e,t.startingLine,t.totalLines,this.getOrCreateLineCache(e)),this.renderCache.renderRange=t),t.totalLines>0&&(!this.renderCache.highlighted||i)&&this.workerManager.highlightFileAST(this,e);else{this.computedLang=e.lang??de(e.name);let t=this.highlighter!=null&&pn(r.theme),n=this.highlighter!=null&&fn(this.computedLang);if(this.highlighter!=null&&t&&(i||!this.renderCache.highlighted&&n||this.renderCache.result==null)){let{result:t,options:r}=this.renderFileWithHighlighter(e,this.highlighter,!n);this.renderCache={file:e,options:r,highlighted:n,result:t,renderRange:void 0}}(!t||!n)&&this.asyncHighlight(e).then(({result:t,options:n})=>{this.renderCache!=null&&(this.renderCache.highlighted=!1),this.onHighlightSuccess(e,t,n)})}return this.renderCache.result==null?void 0:this.processFileResult(this.renderCache.file,t,this.renderCache.result)}async asyncRender(e,t=Ee){let{result:n}=await this.asyncHighlight(e);return this.processFileResult(e,t,n)}async asyncHighlight(e){this.computedLang=e.lang??de(e.name);let t=this.highlighter!=null&&Se(B(this.options.theme)),n=this.highlighter!=null&&fn(this.computedLang);return(this.highlighter==null||!t||!n)&&(this.highlighter=await this.initializeHighlighter()),this.renderFileWithHighlighter(e,this.highlighter)}renderFileWithHighlighter(e,t,n=!1){let{options:r}=this.getRenderOptions(e);return{result:R(e,t,r,{forcePlainText:n}),options:r}}processFileResult(e,t,{code:n,themeStyles:r,baseThemeType:i}){let{disableFileHeader:a=!1}=this.options,o=[],s=K(),c=this.getOrCreateLineCache(e),l=0;return V({lines:c,startingLine:t.startingLine,totalLines:t.totalLines,callback:({lineIndex:t,lineNumber:r})=>{let i=n[t];if(i==null){let n=`FileRenderer.processFileResult: Line doesnt exist`;throw console.error(n,{name:e.name,lineIndex:t,lineNumber:r,lines:c}),Error(n)}if(i!=null){s.children.push(fe(`context`,r,`${t}`)),o.push(i),l++;let e=this.lineAnnotations[r];e!=null&&(s.children.push(at(`context`,`annotation`,1)),o.push(hn({type:`annotation`,hunkIndex:0,lineIndex:r,annotations:e.map(e=>Cn(e))})),l++)}}}),s.properties.style=`grid-row: span ${l}`,{gutterAST:s.children??[],contentAST:o,preAST:this.createPreElement(c.length),headerAST:a?void 0:this.renderHeader(e),totalLines:c.length,rowCount:l,themeStyles:r,baseThemeType:i,bufferBefore:t.bufferBefore,bufferAfter:t.bufferAfter,css:``}}renderHeader(e){let{headerRenderMode:t=`default`}=this.options;return _n({fileOrDiff:e,mode:t})}renderFullHTML(e){return U(this.renderFullAST(e))}renderFullAST(e,t=[]){return t.push(z({tagName:`code`,children:this.renderCodeAST(e),properties:{"data-code":``}})),{...e.preAST,children:t}}renderCodeAST(e){let t=K();return t.children=e.gutterAST,t.properties.style=`grid-row: span ${e.rowCount}`,[t,wn(e.contentAST,e.rowCount)]}renderPartialHTML(e,t=!1){return U(t?z({tagName:`code`,children:e,properties:{"data-code":``}}):e)}async initializeHighlighter(){return this.highlighter=await ge(Sn(this.computedLang,this.options)),this.highlighter}onHighlightSuccess(e,t,n){if(this.renderCache==null)return;let r=this.renderCache.file!==e||!this.renderCache.highlighted||!On(n,this.renderCache.options);this.renderCache={file:e,options:n,highlighted:!0,result:t,renderRange:void 0},r&&this.onRenderUpdate?.()}onHighlightError(e){console.error(e)}createPreElement(e){let{disableLineNumbers:t=!1,overflow:n=`scroll`}=this.options;return bn({type:`file`,diffIndicators:`none`,disableBackground:!0,disableLineNumbers:t,overflow:n,split:!1,totalLines:e})}};function On(e,t){return Ve(e.theme,t.theme)&&e.useTokenTransformer===t.useTokenTransformer&&e.tokenizeMaxLineLength===t.tokenizeMaxLineLength}var kn=`<svg data-icon-sprite aria-hidden="true" width="0" height="0">
1
+ import{i as e,t}from"./react-PSPkXoKo.js";import{t as n}from"./compiler-runtime-BNrXlsa1.js";import{V as r,ao as i,no as a,ro as o}from"./react-CjD7iThp.js";import{$t as s,Et as c,Gt as l,Nt as u,Ut as d,_t as f,it as p,n as m,nt as h,t as g,tt as _}from"./environmentApi-BFHi_M02.js";import{Ei as v,Fr as y,G as b,H as x,Mi as S,Nr as C,Oi as w,U as T,Ur as E,a as D,hi as O,mi as k,t as A}from"./composerDraftStore-xu3n5gdX.js";import{At as j,Ft as M,Gn as N,Jn as P,Ot as ee,Qt as te,T as F,Xn as ne,_ as re,jt as ie,lr as I,mt as L,or as ae,pt as oe,qn as se,vr as ce,xr as le}from"./providerIconUtils-Ch6hejVW.js";import{$ as ue,A as de,B as fe,C as pe,Ct as me,D as he,E as R,F as ge,G as _e,H as z,I as ve,J as ye,K as be,L as xe,M as Se,N as B,O as V,P as Ce,Q as H,R as U,S as we,T as Te,Tt as W,U as G,V as K,W as q,X as J,Y as Ee,Z as De,_ as Oe,at as ke,b as Ae,ct as je,d as Me,dt as Ne,et as Pe,f as Fe,ft as Ie,g as Le,h as Re,ht as ze,it as Be,j as Ve,k as He,lt as Ue,m as We,mt as Ge,nt as Ke,ot as qe,p as Je,pt as Ye,q as Y,rt as Xe,st as X,tt as Ze,u as Qe,ut as $e,v as et,w as tt,wt as nt,x as rt,y as Z,yt as it,z as at}from"./ChatRightPanel-BJ_cVP66.js";import{t as ot}from"./useNavigate-B1qgM5mt.js";import{a as st,n as ct,r as lt}from"./threadRoutes-CfldSp4X.js";import{a as ut,c as dt,d as ft,f as pt,i as mt,l as ht,o as gt,p as _t,r as vt,s as yt,t as bt,u as xt}from"./rightPanelRouteSearch-CTMFCS6R.js";import{f as St,p as Ct,s as wt}from"./toast-DE-WwLMa.js";import{t as Tt}from"./toggle-BFMa0a0Y.js";import{t as Et}from"./folder-open-DJmHEPv9.js";import{t as Dt}from"./plus-B10j9MbZ.js";import{t as Ot}from"./refresh-cw-CRxaXR0E.js";import{t as kt}from"./x-b9324xm-.js";import{r as At,t as jt}from"./storeSelectors-DBRyhCGm.js";import{g as Mt}from"./keybindings--G1bkIjA.js";import{t as Nt}from"./scroll-area-BgFq7GRd.js";import{t as Pt}from"./useTheme-C7Ji7x06.js";import Ft from"./ThreadTerminalDrawer-BXoXAbsR.js";import{n as It,t as Lt}from"./toggle-group-DdKXHoT3.js";var Rt=w(`columns-2`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M12 3v18`,key:`108xh3`}]]),zt=w(`git-compare`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`path`,{d:`M11 18H8a2 2 0 0 1-2-2V9`,key:`19pyzm`}]]),Bt=w(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),Vt=w(`message-square-text`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]),Ht=w(`panel-right-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m8 9 3 3-3 3`,key:`12hl5m`}]]),Ut=w(`panel-right-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m10 15-3-3 3-3`,key:`1pgupc`}]]),Wt=w(`pilcrow`,[[`path`,{d:`M13 4v16`,key:`8vvj80`}],[`path`,{d:`M17 4v16`,key:`7dpous`}],[`path`,{d:`M19 4H9.5a4.5 4.5 0 0 0 0 9H13`,key:`sh4n9v`}]]),Gt=w(`rows-3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M21 9H3`,key:`1338ky`}],[`path`,{d:`M21 15H3`,key:`9uk58r`}]]),Kt=w(`text-wrap`,[[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`,key:`18xa6z`}],[`path`,{d:`M3 19h6`,key:`1ygdsz`}],[`path`,{d:`M3 5h18`,key:`1u36vt`}]]);function qt(e,t){return e?.start===t?.start&&e?.end===t?.end&&e?.side===t?.side&&e?.endSide===t?.endSide}function Jt(){return z({tagName:`button`,properties:{"data-utility-button":``,type:`button`},children:[G({name:`diffs-icon-plus`,properties:{"data-icon":``}})]})}function Yt(e,t){return e.lineNumber===t.lineNumber&&e.side===t.side}var Xt=class{hoveredLine;hoveredToken;pre;gutterUtilityContainer;gutterUtilityButton;gutterUtilitySlot;interactiveLinesAttr=!1;interactiveLineNumbersAttr=!1;hasPointerListeners=!1;hasDocumentPointerListeners=!1;selectedRange=null;renderedSelectionRange;selectionAnchor;queuedSelectionRender;pointerSession={mode:`idle`};constructor(e,t){this.mode=e,this.options=t}setOptions(e){this.options=e}cleanUp(){this.pre?.removeEventListener(`click`,this.handlePointerClick),this.pre?.removeEventListener(`pointerdown`,this.handlePointerDown),this.pre?.removeEventListener(`pointermove`,this.handlePointerMove),this.pre?.removeEventListener(`pointerleave`,this.handlePointerLeave),this.pre?.removeAttribute(`data-interactive-lines`),this.pre?.removeAttribute(`data-interactive-line-numbers`),this.pre=void 0,this.gutterUtilityContainer?.remove(),this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.clearHoveredLine(),this.clearHoveredToken(),this.detachDocumentPointerListeners(),this.clearPointerSession(),this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.interactiveLinesAttr=!1,this.interactiveLineNumbersAttr=!1,this.hasPointerListeners=!1}setup(e){this.setSelectionDirty();let{usesCustomGutterUtility:t=!1,enableGutterUtility:n=!1}=this.options;this.pre!==e&&(this.cleanUp(),this.pre=e),n?this.ensureGutterUtilityNode(t):this.gutterUtilityContainer!=null&&(this.gutterUtilityContainer.remove(),this.gutterUtilityContainer=void 0,this.gutterUtilityButton=void 0,this.gutterUtilitySlot=void 0,this.pointerSession.mode===`gutterSelecting`&&(this.clearPointerSession(),this.detachDocumentPointerListeners())),this.syncPointerListeners(e),this.updateInteractiveLineAttributes(),this.renderSelection()}setSelectionDirty(){this.renderedSelectionRange=void 0}isSelectionDirty(){return this.renderedSelectionRange===null}setSelection(e){let t=!(e===this.selectedRange||qt(e??void 0,this.selectedRange??void 0));!this.isSelectionDirty()&&!t||(this.selectedRange=e,this.renderSelection(),t&&this.notifySelectionCommitted())}getSelection(){return this.selectedRange}getHoveredLine=()=>{if(this.hoveredLine!=null){if(this.mode===`diff`&&this.hoveredLine.type===`diff-line`)return{lineNumber:this.hoveredLine.lineNumber,side:this.hoveredLine.annotationSide};if(this.mode===`file`&&this.hoveredLine.type===`line`)return{lineNumber:this.hoveredLine.lineNumber}}};handlePointerClick=e=>{let{onHunkExpand:t,onLineClick:n,onLineNumberClick:r,onTokenClick:i,onMergeConflictActionClick:a}=this.options;t==null&&n==null&&r==null&&a==null&&i==null||this.options.onGutterUtilityClick!=null&&ln(e.composedPath())||(un(this.options.__debugPointerEvents,`click`,`FileDiff.DEBUG.handlePointerClick:`,e),this.handlePointerEvent({eventType:`click`,event:e}))};handlePointerMove=e=>{let{lineHoverHighlight:t=`disabled`,onLineEnter:n,onLineLeave:r,onTokenEnter:i,onTokenLeave:a,enableGutterUtility:o=!1}=this.options;t===`disabled`&&!o&&n==null&&r==null&&i==null&&a==null||(un(this.options.__debugPointerEvents,`move`,`FileDiff.DEBUG.handlePointerMove:`,e),this.handlePointerEvent({eventType:`move`,event:e}))};handlePointerLeave=e=>{let{__debugPointerEvents:t}=this.options;if(un(t,`move`,`FileDiff.DEBUG.handlePointerLeave: no event`),this.hoveredLine==null&&this.hoveredToken==null){un(t,`move`,`FileDiff.DEBUG.handlePointerLeave: returned early, no hovered line or token`);return}this.gutterUtilityContainer?.remove(),this.hoveredToken!=null&&(this.options.onTokenLeave?.(this.hoveredToken,e),this.clearHoveredToken()),this.hoveredLine!=null&&(this.options.onLineLeave?.({...this.hoveredLine,event:e}),this.clearHoveredLine())};handlePointerEvent({eventType:e,event:t}){let{__debugPointerEvents:n}=this.options,r=t.composedPath();un(n,e,`FileDiff.DEBUG.handlePointerEvent:`,{eventType:e,composedPath:r});let i=this.resolvePointerTarget(r);un(n,e,`FileDiff.DEBUG.handlePointerEvent: resolvePointerTarget result:`,i);let{onLineClick:a,onLineNumberClick:o,onLineEnter:s,onLineLeave:c,onTokenClick:l,onTokenEnter:u,onTokenLeave:d,onHunkExpand:f,onMergeConflictActionClick:p}=this.options;switch(e){case`move`:{let e=tn(i)&&this.hoveredLine?.lineElement===i.lineElement;en(i)&&this.hoveredToken?.tokenElement===i.tokenElement||(this.hoveredToken!=null&&(d?.(this.hoveredToken,t),this.clearHoveredToken()),en(i)&&(this.setHoveredToken(this.toTokenEventBaseProps(i)),u?.(this.hoveredToken,t))),e||(this.hoveredLine!=null&&(this.gutterUtilityContainer?.remove(),c?.({...this.hoveredLine,event:t}),this.clearHoveredLine()),tn(i)&&(this.setHoveredLine(this.toEventBaseProps(i)),this.gutterUtilityContainer!=null&&i.numberElement.appendChild(this.gutterUtilityContainer),s?.({...this.hoveredLine,event:t})));break}case`click`:{if(i==null)break;if(rn(i)&&p!=null){p(i);break}if(nn(i)&&f!=null){f(i.hunkIndex,i.all||t.shiftKey?`both`:i.direction,i.all||t.shiftKey?1/0:void 0);break}if(!tn(i))break;en(i)&&l!=null&&l(this.toTokenEventBaseProps(i),t);let e=this.toEventBaseProps(i);o!=null&&i.numberColumn?o({...e,event:t}):a?.({...e,event:t});break}}}syncPointerListeners(e){let{__debugPointerEvents:t,lineHoverHighlight:n=`disabled`,onLineClick:r,onLineNumberClick:i,onLineEnter:a,onLineLeave:o,onTokenClick:s,onTokenEnter:c,onTokenLeave:l,onHunkExpand:u,onMergeConflictActionClick:d,enableGutterUtility:f=!1,enableLineSelection:p=!1,onGutterUtilityClick:m}=this.options,h=m!=null,g=n!==`disabled`||r!=null||i!=null||a!=null||o!=null||s!=null||c!=null||l!=null||u!=null||d!=null||f||p||h;g&&!this.hasPointerListeners?(e.addEventListener(`click`,this.handlePointerClick),e.addEventListener(`pointerdown`,this.handlePointerDown),e.addEventListener(`pointermove`,this.handlePointerMove),e.addEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!0,un(t,`click`,`FileDiff.DEBUG.attachEventListeners: Attaching click events for:`,(()=>{let e=[];return(t===`both`||t===`click`)&&(r!=null&&e.push(`onLineClick`),i!=null&&e.push(`onLineNumberClick`),u!=null&&e.push(`expandable hunk separators`),d!=null&&e.push(`merge conflict actions`)),e})()),un(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer move event`),un(t,`move`,`FileDiff.DEBUG.attachEventListeners: Attaching pointer leave event`)):!g&&this.hasPointerListeners&&(e.removeEventListener(`click`,this.handlePointerClick),e.removeEventListener(`pointerdown`,this.handlePointerDown),e.removeEventListener(`pointermove`,this.handlePointerMove),e.removeEventListener(`pointerleave`,this.handlePointerLeave),this.hasPointerListeners=!1);let _=this.pointerSession.mode===`selecting`||this.pointerSession.mode===`pendingSingleLineUnselect`,v=this.pointerSession.mode===`gutterSelecting`;(!p&&_||!h&&v)&&(this.clearPointerSession(),this.detachDocumentPointerListeners(),this.selectionAnchor=void 0,this.clearPendingSingleLineState())}updateInteractiveLineAttributes(){if(this.pre==null)return;let{onLineClick:e,onLineNumberClick:t,enableLineSelection:n=!1}=this.options,r=e!=null,i=t!=null||n;r&&!this.interactiveLinesAttr?(this.pre.setAttribute(`data-interactive-lines`,``),this.interactiveLinesAttr=!0):!r&&this.interactiveLinesAttr&&(this.pre.removeAttribute(`data-interactive-lines`),this.interactiveLinesAttr=!1),i&&!this.interactiveLineNumbersAttr?(this.pre.setAttribute(`data-interactive-line-numbers`,``),this.interactiveLineNumbersAttr=!0):!i&&this.interactiveLineNumbersAttr&&(this.pre.removeAttribute(`data-interactive-line-numbers`),this.interactiveLineNumbersAttr=!1)}handlePointerDown=e=>{if(e.pointerType===`mouse`&&e.button!==0||this.pre==null||this.pointerSession.mode!==`idle`)return;let t=e.composedPath();ln(t)&&this.options.onGutterUtilityClick!=null?this.startGutterSelectionFromPointerDown(e,t):this.startLineSelectionFromPointerDown(e,t)};startLineSelectionFromPointerDown(e,t){let{enableLineSelection:n=!1}=this.options;if(!n)return;let r=this.getSelectionPointerInfo(t,!0);if(r==null)return;let{pre:i}=this;if(i==null)return;e.preventDefault();let{lineNumber:a,eventSide:o,lineIndex:s}=r;if(e.shiftKey&&this.selectedRange!=null){let t=this.getIndexesFromSelection(this.selectedRange,i.getAttribute(`data-diff-type`)===`split`);if(t==null)return;let n=t.start<=t.end?s>=t.start:s<=t.end;this.selectionAnchor={lineNumber:n?this.selectedRange.start:this.selectedRange.end,side:n?this.selectedRange.side:this.selectedRange.endSide??this.selectedRange.side},this.updateSelection(a,o,!1),this.notifySelectionStart(this.selectedRange),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners();return}if(this.selectedRange?.start===a&&this.selectedRange?.end===a){let t={lineNumber:a,side:o};this.selectionAnchor=t,this.pointerSession={mode:`pendingSingleLineUnselect`,pointerId:e.pointerId,anchor:t,pending:t},this.attachDocumentPointerListeners();return}this.selectedRange=null,this.selectionAnchor={lineNumber:a,side:o},this.updateSelection(a,o,!1),this.notifySelectionStart(this.selectedRange),this.pointerSession={mode:`selecting`,pointerId:e.pointerId},this.attachDocumentPointerListeners()}startGutterSelectionFromPointerDown(e,t){let{enableLineSelection:n=!1,onGutterUtilityClick:r}=this.options;if(r==null)return;let i=this.getSelectionPointFromPath(t);i!=null&&(e.preventDefault(),e.stopPropagation(),this.pointerSession={mode:`gutterSelecting`,pointerId:e.pointerId,anchor:i,current:i},n&&(this.selectionAnchor={lineNumber:i.lineNumber,side:i.side},this.updateSelection(i.lineNumber,i.side,!1),this.notifySelectionStart(this.selectedRange)),this.attachDocumentPointerListeners())}handleDocumentPointerMove=e=>{let{enableLineSelection:t=!1}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;let n=this.getSelectionPointFromPath(e.composedPath());if(n==null)return;this.pointerSession.current=n,t===!0&&this.updateSelection(n.lineNumber,n.side);return}case`selecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;let t=this.getSelectionPointerInfo(e.composedPath(),!1);if(t==null||this.selectionAnchor==null)return;this.updateSelection(t.lineNumber,t.eventSide);return}case`pendingSingleLineUnselect`:{if(e.pointerId!==this.pointerSession.pointerId)return;let t=this.getSelectionPointerInfo(e.composedPath(),!1);if(t==null||this.selectionAnchor==null)return;let n={lineNumber:t.lineNumber,side:t.eventSide};if(Yt(this.pointerSession.pending,n))return;this.updateSelection(t.lineNumber,t.eventSide,!1),this.notifySelectionStart(this.selectedRange),this.notifySelectionChangeDelta(),this.pointerSession={mode:`selecting`,pointerId:e.pointerId};return}}};handleDocumentPointerUp=e=>{let{enableLineSelection:t=!1,onGutterUtilityClick:n}=this.options;switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:{if(e.pointerId!==this.pointerSession.pointerId)return;let r=this.getSelectionPointFromPath(e.composedPath());r!=null&&(this.pointerSession.current=r,t&&this.updateSelection(r.lineNumber,r.side)),n?.(this.buildSelectedLineRange(this.pointerSession.anchor,this.pointerSession.current)),this.selectionAnchor=void 0,t&&(this.notifySelectionEnd(this.selectedRange),this.notifySelectionCommitted()),this.clearPointerSession(),this.detachDocumentPointerListeners();return}case`pendingSingleLineUnselect`:if(e.pointerId!==this.pointerSession.pointerId)return;this.updateSelection(null,void 0,!1),this.selectionAnchor=void 0,this.clearPendingSingleLineState(),this.detachDocumentPointerListeners(),this.notifySelectionEnd(this.selectedRange),this.notifySelectionCommitted();return;case`selecting`:if(e.pointerId!==this.pointerSession.pointerId)return;this.selectionAnchor=void 0,this.detachDocumentPointerListeners(),this.clearPointerSession(),this.notifySelectionEnd(this.selectedRange),this.notifySelectionCommitted()}};handleDocumentPointerCancel=e=>{switch(this.pointerSession.mode){case`idle`:return;case`gutterSelecting`:case`selecting`:case`pendingSingleLineUnselect`:if(`pointerId`in this.pointerSession&&e.pointerId!==this.pointerSession.pointerId)return;this.selectionAnchor=void 0,this.clearPendingSingleLineState(),this.clearPointerSession(),this.detachDocumentPointerListeners()}};clearHoveredLine(){this.hoveredLine!=null&&(this.hoveredLine.lineElement.removeAttribute(`data-hovered`),this.hoveredLine.numberElement.removeAttribute(`data-hovered`),this.hoveredLine=void 0)}setHoveredLine(e){let{lineHoverHighlight:t=`disabled`}=this.options;this.hoveredLine!=null&&this.clearHoveredLine(),this.hoveredLine=e,t!==`disabled`&&((t===`both`||t===`line`)&&this.hoveredLine.lineElement.setAttribute(`data-hovered`,``),(t===`both`||t===`number`)&&this.hoveredLine.numberElement.setAttribute(`data-hovered`,``))}clearHoveredToken(){this.hoveredToken!=null&&(this.hoveredToken=void 0)}setHoveredToken(e){this.hoveredToken!=null&&this.clearHoveredToken(),this.hoveredToken=e}ensureGutterUtilityNode(e){if(this.gutterUtilityContainer??(this.gutterUtilityContainer=document.createElement(`div`),this.gutterUtilityContainer.setAttribute(`data-gutter-utility-slot`,``)),e)this.gutterUtilityButton!=null&&(this.gutterUtilityButton.remove(),this.gutterUtilityButton=void 0),this.gutterUtilitySlot??(this.gutterUtilitySlot=document.createElement(`slot`),this.gutterUtilitySlot.name=`gutter-utility-slot`),this.gutterUtilitySlot.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilitySlot);else{if(this.gutterUtilitySlot?.remove(),this.gutterUtilitySlot=void 0,this.gutterUtilityButton==null){let e=document.createElement(`div`);e.innerHTML=U(Jt());let t=e.firstElementChild;if(!(t instanceof HTMLButtonElement))throw Error(`InteractionManager.ensureGutterUtilityNode: Node element should be a button`);t.remove(),this.gutterUtilityButton=t}this.gutterUtilityButton.parentNode!==this.gutterUtilityContainer&&this.gutterUtilityContainer.replaceChildren(this.gutterUtilityButton)}}attachDocumentPointerListeners(){this.hasDocumentPointerListeners||=(document.addEventListener(`pointermove`,this.handleDocumentPointerMove),document.addEventListener(`pointerup`,this.handleDocumentPointerUp),document.addEventListener(`pointercancel`,this.handleDocumentPointerCancel),!0)}detachDocumentPointerListeners(){this.hasDocumentPointerListeners&&=(document.removeEventListener(`pointermove`,this.handleDocumentPointerMove),document.removeEventListener(`pointerup`,this.handleDocumentPointerUp),document.removeEventListener(`pointercancel`,this.handleDocumentPointerCancel),!1)}clearPointerSession(){this.pointerSession={mode:`idle`}}clearPendingSingleLineState(){this.pointerSession.mode===`pendingSingleLineUnselect`&&(this.pointerSession={mode:`idle`})}getSelectionPointerInfo(e,t){let n=this.resolvePointerTarget(e);if($t(n)&&!(t&&!n.numberColumn)&&n.splitLineIndex!=null)return{lineIndex:n.splitLineIndex,lineNumber:n.lineNumber,eventSide:this.mode===`diff`?n.side:void 0}}getSelectionPointFromPath(e){let t=this.resolvePointerTarget(e);if($t(t))return{lineNumber:t.lineNumber,side:this.mode===`diff`?t.side:void 0}}getLineIndex(e,t){let{getLineIndex:n}=this.options;return n==null?[e-1,e-1]:n(e,t)}updateSelection(e,t,n=!0){let{selectedRange:r}=this,i;if(e==null)i=null;else{let n=this.selectionAnchor?.side??t,r=this.selectionAnchor?.lineNumber??e;i=this.buildSelectionRange(r,e,n,t)}qt(r??void 0,i??void 0)||(this.selectedRange=i,n&&this.notifySelectionChangeDelta(),this.queuedSelectionRender??=requestAnimationFrame(this.renderSelection))}getIndexesFromSelection(e,t){if(this.pre==null)return;let n=this.getLineIndex(e.start,e.side),r=this.getLineIndex(e.end,e.endSide??e.side);return n!=null&&r!=null?{start:t?n[1]:n[0],end:t?r[1]:r[0]}:void 0}renderSelection=()=>{if(this.queuedSelectionRender!=null&&(cancelAnimationFrame(this.queuedSelectionRender),this.queuedSelectionRender=void 0),this.pre==null||this.renderedSelectionRange===this.selectedRange)return;let e=this.pre.querySelectorAll(`[data-selected-line]`);for(let t of e)t.removeAttribute(`data-selected-line`);if(this.renderedSelectionRange=this.selectedRange,this.selectedRange==null)return;let{children:t}=this.pre;if(t.length===0)return;if(t.length>2)throw console.error(t),Error(`InteractionManager.renderSelection: Somehow there are more than 2 code elements...`);let n=this.pre.getAttribute(`data-diff-type`)===`split`,r=this.getIndexesFromSelection(this.selectedRange,n);if(r==null)throw console.error({rowRange:r,selectedRange:this.selectedRange}),Error(`InteractionManager.renderSelection: No valid rowRange`);let i=r.start===r.end,a=Math.min(r.start,r.end),o=Math.max(r.start,r.end);for(let e of t){let[t,r]=e.children,s=r.children.length;if(s!==t.children.length)throw Error(`InteractionManager.renderSelection: gutter and content children dont match, something is wrong`);for(let e=0;e<s;e++){let s=r.children[e],c=t.children[e];if(!(s instanceof HTMLElement)||!(c instanceof HTMLElement))continue;let l=this.parseLineIndex(s,n);if((l??0)>o)break;if(l==null||l<a)continue;let u=i?`single`:l===a?`first`:l===o?`last`:``;s.setAttribute(`data-selected-line`,u),c.setAttribute(`data-selected-line`,u),c.nextSibling instanceof HTMLElement&&s.nextSibling instanceof HTMLElement&&(s.nextSibling.hasAttribute(`data-line-annotation`)||s.nextSibling.hasAttribute(`data-merge-conflict-actions`))&&(i?(u=`last`,s.setAttribute(`data-selected-line`,`first`)):l===a?u=``:l===o&&s.setAttribute(`data-selected-line`,``),s.nextSibling.setAttribute(`data-selected-line`,u),c.nextSibling.setAttribute(`data-selected-line`,u))}}};notifySelectionCommitted(){this.options.onLineSelected?.(this.selectedRange??null)}notifySelectionChangeDelta(){this.options.onLineSelectionChange?.(this.selectedRange??null)}notifySelectionStart(e){this.options.onLineSelectionStart?.(e)}notifySelectionEnd(e){this.options.onLineSelectionEnd?.(e)}toEventBaseProps(e){return this.mode===`file`?{type:`line`,lineElement:e.lineElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn,numberElement:e.numberElement}:{type:`diff-line`,annotationSide:e.side,lineType:e.lineType,lineElement:e.lineElement,numberElement:e.numberElement,lineNumber:e.lineNumber,numberColumn:e.numberColumn}}toTokenEventBaseProps({lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}){return this.mode===`file`?{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,tokenElement:i,tokenText:a}:{type:`token`,lineCharEnd:e,lineCharStart:t,lineNumber:n,side:r,tokenElement:i,tokenText:a}}buildSelectedLineRange(e,t){return this.buildSelectionRange(e.lineNumber,t.lineNumber,e.side,t.side)}buildSelectionRange(e,t,n,r){return{start:e,end:t,...n==null?{}:{side:n},...n!==r&&r!=null?{endSide:r}:{}}}resolvePointerTarget(e){let t=!1,n,r,i,a,o,s,c,l,u,d;for(let f of e){if(!(f instanceof HTMLElement))continue;if(d==null&&f.hasAttribute(`data-merge-conflict-action`)){let e=f.getAttribute(`data-merge-conflict-action`)??void 0,t=f.getAttribute(`data-merge-conflict-conflict-index`)??void 0,n=t==null?NaN:Number.parseInt(t,10);an(e)&&Number.isFinite(n)&&(d={kind:`merge-conflict-action`,resolution:e,conflictIndex:n})}if(s==null&&f.hasAttribute(`data-char`)){s=f;let e=f.getAttribute(`data-char`);if(e!=null){let t=Number.parseInt(e,10);if(!Number.isNaN(t)){let e=f.textContent??``,n=t+e.length;(e.trim()!==``||this.options.enableTokenInteractionsOnWhitespace===!0)&&(c={tokenElement:s,lineCharStart:t,lineCharEnd:n,tokenText:e});continue}}}let e=o==null?f.getAttribute(`data-column-number`)??void 0:void 0;if(e!=null){o=f,u=Number.parseInt(e,10),t=!0,n=cn(f),a=f.getAttribute(`data-line-index`)??void 0;continue}let p=i==null?f.getAttribute(`data-line`)??void 0:void 0;if(p!=null){i=f,u=Number.parseInt(p,10),n=cn(f),a=f.getAttribute(`data-line-index`)??void 0;continue}if(l==null&&(f.hasAttribute(`data-expand-button`)||f.hasAttribute(`data-unmodified-lines`))){l={hunkIndex:void 0,direction:f.hasAttribute(`data-expand-up`)?`up`:f.hasAttribute(`data-expand-down`)?`down`:`both`,all:f.hasAttribute(`data-expand-all-button`)};continue}let m=l==null?void 0:f.getAttribute(`data-expand-index`)??void 0;if(l!=null&&m!=null){let e=Number.parseInt(m,10);Number.isNaN(e)||(l.hunkIndex=e);continue}if(r==null&&f.hasAttribute(`data-code`)){r=f;break}}if(d!=null)return d;if(l?.hunkIndex!=null)return{type:`line-info`,hunkIndex:l.hunkIndex,direction:l.direction,all:l.all};if(i??=a==null?void 0:on(r,`[data-line][data-line-index="${a}"]`),o??=a==null?void 0:on(r,`[data-column-number][data-line-index="${a}"]`),r==null||i==null||o==null||n==null||u==null||Number.isNaN(u))return;let f=this.parseLineIndex(i,this.isSplitDiff());return c==null?this.mode===`file`?{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f}:{kind:`line`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:sn(n,r),splitLineIndex:f}:this.mode===`file`?{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:void 0,splitLineIndex:f,...c}:{kind:`token`,lineType:n,lineElement:i,lineNumber:u,numberColumn:t,numberElement:o,side:sn(n,r),splitLineIndex:f,...c}}isSplitDiff(){return this.pre?.getAttribute(`data-diff-type`)===`split`}parseLineIndex(e,t){let n=(e.getAttribute(`data-line-index`)??``).split(`,`).map(e=>Number.parseInt(e,10)).filter(e=>!Number.isNaN(e));if(t&&n.length===2)return n[1];if(!t)return n[0]}};function Zt({enableTokenInteractionsOnWhitespace:e,enableGutterUtility:t,enableHoverUtility:n,lineHoverHighlight:r,onGutterUtilityClick:i,onLineClick:a,onLineEnter:o,onLineLeave:s,onLineNumberClick:c,onTokenClick:l,onTokenEnter:u,onTokenLeave:d,renderGutterUtility:f,renderHoverUtility:p,__debugPointerEvents:m,enableLineSelection:h,onLineSelected:g,onLineSelectionStart:_,onLineSelectionChange:v,onLineSelectionEnd:y},b,x,S){return{enableTokenInteractionsOnWhitespace:e,enableGutterUtility:Qt({enableGutterUtility:t,enableHoverUtility:n,renderGutterUtility:f,renderHoverUtility:p,onGutterUtilityClick:i}),usesCustomGutterUtility:f!=null||p!=null,lineHoverHighlight:r,onGutterUtilityClick:i,onHunkExpand:b,onMergeConflictActionClick:S,onLineClick:a,onLineEnter:o,onLineLeave:s,onLineNumberClick:c,onTokenClick:l,onTokenEnter:u,onTokenLeave:d,__debugPointerEvents:m,enableLineSelection:h,onLineSelected:g,onLineSelectionStart:_,onLineSelectionChange:v,onLineSelectionEnd:y,getLineIndex:x}}function Qt({enableGutterUtility:e,enableHoverUtility:t,renderGutterUtility:n,renderHoverUtility:r,onGutterUtilityClick:i}){if(e!==void 0&&t!==void 0)throw Error(`Cannot use both 'enableGutterUtility' and deprecated 'enableHoverUtility'. Use only 'enableGutterUtility'.`);if(n!=null&&r!=null)throw Error(`Cannot use both 'renderGutterUtility' and deprecated 'renderHoverUtility'. Use only 'renderGutterUtility'.`);if(i!=null&&(n!=null||r!=null))throw Error(`Cannot use both 'onGutterUtilityClick' and render utility callbacks ('renderGutterUtility'/'renderHoverUtility'). Use only one gutter utility API.`);return e??t??!1}function $t(e){return e!=null&&`kind`in e&&e.kind===`line`}function en(e){return e!=null&&`kind`in e&&e.kind===`token`}function tn(e){return $t(e)||en(e)}function nn(e){return`type`in e&&e.type===`line-info`}function rn(e){return`kind`in e&&e.kind===`merge-conflict-action`}function an(e){return e===`current`||e===`incoming`||e===`both`}function on(e,t){let n=e?.querySelector(t);return n instanceof HTMLElement?n:void 0}function sn(e,t){switch(e){case`change-deletion`:return`deletions`;case`change-addition`:return`additions`;default:return t.hasAttribute(`data-deletions`)?`deletions`:`additions`}}function cn(e){let t=e.getAttribute(`data-line-type`);if(t!=null)switch(t){case`change-deletion`:case`change-addition`:case`context`:case`context-expanded`:return t;default:return}}function ln(e){for(let t of e)if(t instanceof HTMLElement&&t.hasAttribute(`data-utility-button`))return!0;return!1}function un(e=`none`,t,...n){switch(e){case`none`:return;case`both`:break;case`click`:if(t!==`click`)return;break;case`move`:if(t!==`move`)return;break}console.log(...n)}var dn=class{observedNodes=new Map;queuedUpdates=new Map;cleanUp(){this.resizeObserver?.disconnect(),this.observedNodes.clear(),this.queuedUpdates.clear()}resizeObserver;setup(e,t){this.resizeObserver??=new ResizeObserver(this.handleResizeObserver);let n=e.querySelectorAll(`code`),r=new Map(this.observedNodes);this.observedNodes.clear();for(let e of n){let t=r.get(e);if(t!=null&&t.type!==`code`)throw Error(`ResizeManager.setup: somehow a code node is being used for an annotation, should be impossible`);let n=e.firstElementChild;n instanceof HTMLElement||(n=null),t==null?(t={type:`code`,codeElement:e,numberElement:n,codeWidth:`auto`,numberWidth:0},this.observedNodes.set(e,t),this.resizeObserver.observe(e),n!=null&&(this.observedNodes.set(n,t),this.resizeObserver.observe(n))):(this.observedNodes.set(e,t),r.delete(e),t.numberElement===n?t.numberElement!=null&&(r.delete(t.numberElement),this.observedNodes.set(t.numberElement,t)):(t.numberElement!=null&&this.resizeObserver.unobserve(t.numberElement),n!=null&&(this.resizeObserver.observe(n),r.delete(n),this.observedNodes.set(n,t)),t.numberElement=n))}if(n.length>1&&!t){let t=e.querySelectorAll(`[data-line-annotation*=","]`),n=new Map;for(let e of t){if(!(e instanceof HTMLElement))continue;let{lineAnnotation:t=``}=e.dataset;if(!/^\d+,\d+$/.test(t)){console.error(`DiffFileRenderer.setupResizeObserver: Invalid element or annotation`,{lineAnnotation:t,element:e});continue}let r=n.get(t);r??(r=[],n.set(t,r)),r.push(e)}for(let[e,t]of n){if(t.length!==2){console.error(`DiffFileRenderer.setupResizeObserver: Bad Pair`,e,t);continue}let[n,i]=t,a=n.firstElementChild,o=i.firstElementChild;if(!(n instanceof HTMLElement)||!(i instanceof HTMLElement)||!(a instanceof HTMLElement)||!(o instanceof HTMLElement))continue;let s=r.get(a);if(s!=null){this.observedNodes.set(a,s),this.observedNodes.set(o,s),r.delete(a),r.delete(o);continue}s={type:`annotations`,column1:{container:n,child:a,childHeight:a.getBoundingClientRect().height},column2:{container:i,child:o,childHeight:o.getBoundingClientRect().height},currentHeight:`auto`};let c=Math.max(s.column1.childHeight,s.column2.childHeight);this.applyNewHeight(s,c),this.observedNodes.set(a,s),this.observedNodes.set(o,s),this.resizeObserver.observe(a),this.resizeObserver.observe(o)}}for(let e of r.keys())e.isConnected&&(e.style.removeProperty(`--diffs-column-content-width`),e.style.removeProperty(`--diffs-column-number-width`),e.style.removeProperty(`--diffs-column-width`),e.parentElement instanceof HTMLElement&&e.parentElement.style.removeProperty(`--diffs-annotation-min-height`)),this.resizeObserver.unobserve(e);r.clear()}handleResizeObserver=e=>{for(let t of e){let{target:e,borderBoxSize:n,contentBoxSize:r}=t;if(!(e instanceof HTMLElement)){console.error(`FileDiff.handleResizeObserver: Invalid element for ResizeObserver`,t);continue}let i=this.observedNodes.get(e);if(i==null){console.error(`FileDiff.handleResizeObserver: Not a valid observed node`,t);continue}if(i.type===`annotations`){let t=(()=>{if(e===i.column1.child)return i.column1;if(e===i.column2.child)return i.column2})();if(t==null){console.error(`FileDiff.handleResizeObserver: Couldn't find a column for`,{item:i,target:e});continue}t.childHeight=n[0].blockSize;let r=Math.max(i.column1.childHeight,i.column2.childHeight);this.applyNewHeight(i,r)}else if(i.type===`code`){let t=[e,r[0].inlineSize],n=this.queuedUpdates.get(i)??[];n.push(t),this.queuedUpdates.set(i,n)}}this.handleColumnChange()};handleColumnChange=()=>{for(let[e,t]of this.queuedUpdates)for(let[n,r]of t)if(n===e.codeElement){let n=Math.max(Math.floor(r),0);if(n!==e.codeWidth){let t=Math.max(n-e.numberWidth,0);e.codeWidth=n===0?`auto`:n,e.codeElement.style.setProperty(`--diffs-column-content-width`,`${t>0?`${t}px`:`auto`}`),e.codeElement.style.setProperty(`--diffs-column-width`,`${typeof e.codeWidth==`number`?`${e.codeWidth}px`:`auto`}`)}e.numberElement!=null&&typeof e.codeWidth==`number`&&e.numberWidth===0&&t.push([e.numberElement,e.numberElement.getBoundingClientRect().width])}else if(n===e.numberElement){let t=Math.max(Math.ceil(r),0);if(t!==e.numberWidth&&(e.numberWidth=t,e.codeElement.style.setProperty(`--diffs-column-number-width`,`${e.numberWidth===0?`auto`:`${e.numberWidth}px`}`),e.codeWidth!==`auto`)){let t=Math.max(e.codeWidth-e.numberWidth,0);e.codeElement.style.setProperty(`--diffs-column-content-width`,`${t===0?`auto`:`${t}px`}`)}}this.queuedUpdates.clear()};applyNewHeight(e,t){t!==e.currentHeight&&(e.currentHeight=Math.max(t,0),e.column1.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`),e.column2.container.style.setProperty(`--diffs-annotation-min-height`,`${e.currentHeight}px`))}};function fn(e){for(let t of Array.isArray(e)?e:[e])if(!(t===`text`||t===`ansi`)&&!xe.has(t))return!1;return!0}function pn(e){for(let t of B(e))if(!ve.has(t))return!1;return!0}function mn(e,t){return e==null||t==null?e===t:e.startingLine===t.startingLine&&e.totalLines===t.totalLines&&e.bufferBefore===t.bufferBefore&&e.bufferAfter===t.bufferAfter}function hn(e){return z({tagName:`div`,children:[z({tagName:`div`,children:e.annotations?.map(e=>z({tagName:`slot`,properties:{name:e}})),properties:{"data-annotation-content":``}})],properties:{"data-line-annotation":`${e.hunkIndex},${e.lineIndex}`}})}function gn(e){switch(e){case`file`:return`diffs-icon-file-code`;case`change`:return`diffs-icon-symbol-modified`;case`new`:return`diffs-icon-symbol-added`;case`deleted`:return`diffs-icon-symbol-deleted`;case`rename-pure`:case`rename-changed`:return`diffs-icon-symbol-moved`}}function _n({fileOrDiff:e,mode:t}){let n=`type`in e?e:void 0,r={"data-diffs-header":t,"data-change-type":n?.type};return z({tagName:`div`,children:[t===`custom`?z({tagName:`slot`,properties:{name:Y}}):vn({name:e.name,prevName:`prevName`in e?e.prevName:void 0,iconType:n?.type??`file`}),...t===`custom`?[]:[yn(n)]],properties:r})}function vn({name:e,prevName:t,iconType:n}){let r=[z({tagName:`slot`,properties:{name:ke}}),G({name:gn(n),properties:{"data-change-icon":n}})];return t!=null&&(r.push(z({tagName:`div`,children:[z({tagName:`bdi`,children:[q(t)]})],properties:{"data-prev-name":``}})),r.push(G({name:`diffs-icon-arrow-right-short`,properties:{"data-rename-icon":``}}))),r.push(z({tagName:`div`,children:[z({tagName:`bdi`,children:[q(e)]})],properties:{"data-title":``}})),z({tagName:`div`,children:r,properties:{"data-header-content":``}})}function yn(e){let t=[];if(e!=null){let n=0,r=0;for(let t of e.hunks)n+=t.additionLines,r+=t.deletionLines;(r>0||n===0)&&t.push(z({tagName:`span`,children:[q(`-${r}`)],properties:{"data-deletions-count":``}})),(n>0||r===0)&&t.push(z({tagName:`span`,children:[q(`+${n}`)],properties:{"data-additions-count":``}}))}return t.push(z({tagName:`slot`,properties:{name:Be}})),z({tagName:`div`,children:t,properties:{"data-metadata":``}})}function bn(e){return z({tagName:`pre`,properties:xn(e)})}function xn({diffIndicators:e,disableBackground:t,disableLineNumbers:n,overflow:r,split:i,totalLines:a,type:o,customProperties:s}){return{...s,"data-diff":o===`diff`?``:void 0,"data-file":o===`file`?``:void 0,"data-diff-type":o===`diff`?i?`split`:`single`:void 0,"data-overflow":r,"data-disable-line-numbers":n?``:void 0,"data-background":t?void 0:``,"data-indicators":e===`bars`||e===`classic`?e:void 0,tabIndex:0,style:`--diffs-min-number-column-width-default:${`${a}`.length}ch;`}}function Sn(e,{theme:t,preferredHighlighter:n=`shiki-js`}){return{langs:[e??`text`],themes:B(t),preferredHighlighter:n}}function Cn(e){return`annotation-${`side`in e?`${e.side}-`:``}${e.lineNumber}`}function wn(e,t){return z({tagName:`div`,children:e,properties:{"data-content":``,style:`grid-row: span ${t}`}})}function Tn(e){return e.useTokenTransformer===!0||e.onTokenClick!=null||e.onTokenEnter!=null||e.onTokenLeave!=null}var En=-1,Dn=class{__id=`file-renderer:${++En}`;highlighter;renderCache;computedLang=`text`;lineAnnotations={};lineCache;constructor(e={theme:J},t,n){this.options=e,this.onRenderUpdate=t,this.workerManager=n,n?.isWorkingPool()!==!0&&(this.highlighter=pn(e.theme??J)?Ce():void 0)}setOptions(e){this.options=e}mergeOptions(e){this.options={...this.options,...e}}setLineAnnotations(e){this.lineAnnotations={};for(let t of e){let e=this.lineAnnotations[t.lineNumber]??[];this.lineAnnotations[t.lineNumber]=e,e.push(t)}}cleanUp(){this.renderCache=void 0,this.highlighter=void 0,this.workerManager=void 0,this.onRenderUpdate=void 0,this.lineCache=void 0}hydrate(e){let{options:t}=this.getRenderOptions(e),n=this.workerManager?.getFileResultCache(e);n!=null&&!On(t,n.options)&&(n=void 0),this.renderCache??={file:e,options:t,highlighted:!Te(e),result:n?.result,renderRange:void 0},this.workerManager?.isWorkingPool()===!0?this.renderCache.result??this.workerManager.highlightFileAST(this,e):this.highlighter??(this.computedLang=e.lang??de(e.name),this.initializeHighlighter())}getRenderOptions(e){let t=(()=>{if(this.workerManager?.isWorkingPool()===!0)return this.workerManager.getFileRenderOptions();let{theme:e=J,tokenizeMaxLineLength:t=1e3}=this.options;return{theme:e,useTokenTransformer:Tn(this.options),tokenizeMaxLineLength:t}})(),{renderCache:n}=this;return n?.result==null||e!==n.file||!On(t,n.options)?{options:t,forceRender:!0}:{options:t,forceRender:!1}}getOrCreateLineCache(e){if(e.cacheKey==null)return this.lineCache=void 0,he(e.contents);let{lineCache:t}=this;return(t==null||t.cacheKey!==e.cacheKey)&&(t={cacheKey:e.cacheKey,lines:he(e.contents)}),this.lineCache=t,t.lines}renderFile(e=this.renderCache?.file,t=Ee){if(e==null)return;let n=this.workerManager?.getFileResultCache(e);n!=null&&this.renderCache==null&&(this.renderCache={file:e,highlighted:!0,renderRange:void 0,...n});let{options:r,forceRender:i}=this.getRenderOptions(e);if(this.renderCache??={file:e,highlighted:!1,options:r,result:void 0,renderRange:void 0},this.workerManager?.isWorkingPool()===!0)(this.renderCache.result==null||!this.renderCache.highlighted&&(e!==this.renderCache.file||!mn(this.renderCache.renderRange,t)))&&(this.renderCache.file=e,this.renderCache.result=this.workerManager.getPlainFileAST(e,t.startingLine,t.totalLines,this.getOrCreateLineCache(e)),this.renderCache.renderRange=t),t.totalLines>0&&(!this.renderCache.highlighted||i)&&this.workerManager.highlightFileAST(this,e);else{this.computedLang=e.lang??de(e.name);let t=this.highlighter!=null&&pn(r.theme),n=this.highlighter!=null&&fn(this.computedLang);if(this.highlighter!=null&&t&&(i||!this.renderCache.highlighted&&n||this.renderCache.result==null)){let{result:t,options:r}=this.renderFileWithHighlighter(e,this.highlighter,!n);this.renderCache={file:e,options:r,highlighted:n,result:t,renderRange:void 0}}(!t||!n)&&this.asyncHighlight(e).then(({result:t,options:n})=>{this.renderCache!=null&&(this.renderCache.highlighted=!1),this.onHighlightSuccess(e,t,n)})}return this.renderCache.result==null?void 0:this.processFileResult(this.renderCache.file,t,this.renderCache.result)}async asyncRender(e,t=Ee){let{result:n}=await this.asyncHighlight(e);return this.processFileResult(e,t,n)}async asyncHighlight(e){this.computedLang=e.lang??de(e.name);let t=this.highlighter!=null&&Se(B(this.options.theme)),n=this.highlighter!=null&&fn(this.computedLang);return(this.highlighter==null||!t||!n)&&(this.highlighter=await this.initializeHighlighter()),this.renderFileWithHighlighter(e,this.highlighter)}renderFileWithHighlighter(e,t,n=!1){let{options:r}=this.getRenderOptions(e);return{result:R(e,t,r,{forcePlainText:n}),options:r}}processFileResult(e,t,{code:n,themeStyles:r,baseThemeType:i}){let{disableFileHeader:a=!1}=this.options,o=[],s=K(),c=this.getOrCreateLineCache(e),l=0;return V({lines:c,startingLine:t.startingLine,totalLines:t.totalLines,callback:({lineIndex:t,lineNumber:r})=>{let i=n[t];if(i==null){let n=`FileRenderer.processFileResult: Line doesnt exist`;throw console.error(n,{name:e.name,lineIndex:t,lineNumber:r,lines:c}),Error(n)}if(i!=null){s.children.push(fe(`context`,r,`${t}`)),o.push(i),l++;let e=this.lineAnnotations[r];e!=null&&(s.children.push(at(`context`,`annotation`,1)),o.push(hn({type:`annotation`,hunkIndex:0,lineIndex:r,annotations:e.map(e=>Cn(e))})),l++)}}}),s.properties.style=`grid-row: span ${l}`,{gutterAST:s.children??[],contentAST:o,preAST:this.createPreElement(c.length),headerAST:a?void 0:this.renderHeader(e),totalLines:c.length,rowCount:l,themeStyles:r,baseThemeType:i,bufferBefore:t.bufferBefore,bufferAfter:t.bufferAfter,css:``}}renderHeader(e){let{headerRenderMode:t=`default`}=this.options;return _n({fileOrDiff:e,mode:t})}renderFullHTML(e){return U(this.renderFullAST(e))}renderFullAST(e,t=[]){return t.push(z({tagName:`code`,children:this.renderCodeAST(e),properties:{"data-code":``}})),{...e.preAST,children:t}}renderCodeAST(e){let t=K();return t.children=e.gutterAST,t.properties.style=`grid-row: span ${e.rowCount}`,[t,wn(e.contentAST,e.rowCount)]}renderPartialHTML(e,t=!1){return U(t?z({tagName:`code`,children:e,properties:{"data-code":``}}):e)}async initializeHighlighter(){return this.highlighter=await ge(Sn(this.computedLang,this.options)),this.highlighter}onHighlightSuccess(e,t,n){if(this.renderCache==null)return;let r=this.renderCache.file!==e||!this.renderCache.highlighted||!On(n,this.renderCache.options);this.renderCache={file:e,options:n,highlighted:!0,result:t,renderRange:void 0},r&&this.onRenderUpdate?.()}onHighlightError(e){console.error(e)}createPreElement(e){let{disableLineNumbers:t=!1,overflow:n=`scroll`}=this.options;return bn({type:`file`,diffIndicators:`none`,disableBackground:!0,disableLineNumbers:t,overflow:n,split:!1,totalLines:e})}};function On(e,t){return Ve(e.theme,t.theme)&&e.useTokenTransformer===t.useTokenTransformer&&e.tokenizeMaxLineLength===t.tokenizeMaxLineLength}var kn=`<svg data-icon-sprite aria-hidden="true" width="0" height="0">
2
2
  <symbol id="diffs-icon-arrow-right-short" viewBox="0 0 16 16">
3
3
  <path d="M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0"/>
4
4
  </symbol>
@@ -62,7 +62,7 @@ import{i as e,t}from"./react-PSPkXoKo.js";import{t as n}from"./compiler-runtime-
62
62
  }`}function Vn({code:e,pre:t,columnType:n,rowSpan:r,containerSize:i=!1}={}){return e??(e=document.createElement(`code`),e.setAttribute(`data-code`,``),n!=null&&e.setAttribute(`data-${n}`,``),t?.appendChild(e)),r==null?e.style.removeProperty(`grid-row`):e.style.setProperty(`grid-row`,`span ${r}`),i?e.setAttribute(`data-container-size`,``):e.removeAttribute(`data-container-size`),e}function Hn(e,t){if(t==null)return;let n=e.shadowRoot??e.attachShadow({mode:`open`});n.innerHTML===``&&(n.innerHTML=t)}function Un(e,{type:t,diffIndicators:n,disableBackground:r,disableLineNumbers:i,overflow:a,split:o,totalLines:s,customProperties:c}){if(c!=null)for(let t in c){let n=c[t];n!=null&&e.setAttribute(t,`${n}`)}switch(t===`diff`?(e.setAttribute(`data-diff`,``),e.removeAttribute(`data-file`)):(e.setAttribute(`data-file`,``),e.removeAttribute(`data-diff`)),n){case`bars`:case`classic`:e.setAttribute(`data-indicators`,n);break;case`none`:e.removeAttribute(`data-indicators`);break}return i?e.setAttribute(`data-disable-line-numbers`,``):e.removeAttribute(`data-disable-line-numbers`),r?e.removeAttribute(`data-background`):e.setAttribute(`data-background`,``),t===`diff`?e.setAttribute(`data-diff-type`,o?`split`:`single`):e.removeAttribute(`data-diff-type`),e.setAttribute(`data-overflow`,a),e.tabIndex=0,e.style.setProperty(`--diffs-min-number-column-width-default`,`${`${s}`.length}ch`),e}function Wn({shadowRoot:e,currentNode:t,themeCSS:n}){if(n.trim()===``){t?.remove();return}return t??=Gn(),t.textContent=n,t.parentNode!==e&&e.appendChild(t),t}function Gn(){let e=document.createElement(`style`);return e.setAttribute(Ue,``),e}if(typeof HTMLElement<`u`&&customElements.get(`diffs-container`)==null){let e;class t extends HTMLElement{constructor(){if(super(),this.shadowRoot!=null)return;let t=this.attachShadow({mode:`open`});e??(e=new CSSStyleSheet,e.replaceSync(Ln)),t.adoptedStyleSheets=[e]}}customElements.define(H,t)}var Kn=[],qn=-1,Jn=class{static LoadedCustomComponent=!0;__id=`file:${++qn}`;fileContainer;spriteSVG;pre;code;bufferBefore;bufferAfter;themeCSSStyle;appliedThemeCSS;unsafeCSSStyle;appliedUnsafeCSS;gutterUtilityContent;errorWrapper;placeHolder;lastRenderedHeaderHTML;appliedPreAttributes;lastRowCount;headerElement;headerCustom;headerPrefix;headerMetadata;fileRenderer;resizeManager;interactionManager;annotationCache=new Map;lineAnnotations=[];file;renderRange;constructor(e={theme:J},t,n=!1){this.options=e,this.workerManager=t,this.isContainerManaged=n,this.fileRenderer=new Dn(e,this.handleHighlightRender,this.workerManager),this.resizeManager=new dn,this.interactionManager=new Xt(`file`,Zt(e)),this.workerManager?.subscribeToThemeChanges(this)}handleHighlightRender=()=>{this.rerender()};rerender(){this.file!=null&&this.render({file:this.file,forceRender:!0,renderRange:this.renderRange})}setOptions(e){e!=null&&(this.options=e,this.interactionManager.setOptions(Zt(e)))}mergeOptions(e){this.options={...this.options,...e}}setThemeType(e){(this.options.themeType??`system`)!==e&&(this.mergeOptions({themeType:e}),!(typeof this.options.theme==`string`||this.fileContainer==null||this.appliedThemeCSS==null)&&this.applyThemeState(this.fileContainer,this.appliedThemeCSS.themeStyles,e,this.appliedThemeCSS.baseThemeType))}getHoveredLine=()=>this.interactionManager.getHoveredLine();setLineAnnotations(e){this.lineAnnotations=e}setSelectedLines(e){this.interactionManager.setSelection(e)}cleanUp(){this.fileRenderer.cleanUp(),this.resizeManager.cleanUp(),this.interactionManager.cleanUp(),this.workerManager?.unsubscribeToThemeChanges(this),this.workerManager=void 0,this.renderRange=void 0,this.file=void 0,this.isContainerManaged||this.fileContainer?.remove(),this.fileContainer?.shadowRoot!=null&&(this.fileContainer.shadowRoot.innerHTML=``),this.fileContainer=void 0,this.pre=void 0,this.bufferBefore=void 0,this.bufferAfter=void 0,this.appliedPreAttributes=void 0,this.lastRowCount=void 0,this.headerElement=void 0,this.headerPrefix=void 0,this.headerMetadata=void 0,this.headerCustom=void 0,this.lastRenderedHeaderHTML=void 0,this.errorWrapper=void 0,this.themeCSSStyle=void 0,this.appliedThemeCSS=void 0,this.unsafeCSSStyle=void 0,this.appliedUnsafeCSS=void 0,this.placeHolder=void 0}hydrate(e){let{fileContainer:t,prerenderedHTML:n,preventEmit:r=!1,file:i,lineAnnotations:a}=e;this.hydrateElements(t,n),Yn(this.pre,i,this.options.collapsed)||Xn(this.headerElement,i,this.options.disableFileHeader)?this.render({...e,preventEmit:!0}):this.hydrationSetup({file:i,lineAnnotations:a}),r||this.emitPostRender()}hydrateElements(e,t){Hn(e,t);for(let t of Array.from(e.shadowRoot?.children??[])){if(t instanceof SVGElement){this.spriteSVG=t;continue}if(t instanceof HTMLElement){if(t instanceof HTMLPreElement){this.pre=t,this.appliedPreAttributes=void 0;continue}if(t instanceof HTMLStyleElement&&t.hasAttribute(`data-theme-css`)){this.themeCSSStyle=t;continue}if(t instanceof HTMLStyleElement&&t.hasAttribute(`data-unsafe-css`)){this.unsafeCSSStyle=t,this.appliedUnsafeCSS=t.textContent;continue}if(`diffsHeader`in t.dataset){this.headerElement=t,this.lastRenderedHeaderHTML=void 0;continue}}}this.pre!=null&&(this.syncCodeNodeFromPre(this.pre),this.pre.removeAttribute(`data-dehydrated`)),this.fileContainer=e}hydrationSetup({file:e,lineAnnotations:t}){let{overflow:n=`scroll`}=this.options;this.lineAnnotations=t??this.lineAnnotations,this.file=e,this.fileRenderer.setOptions({...this.options,headerRenderMode:this.options.renderCustomHeader==null?`default`:`custom`}),this.pre!=null&&(this.fileRenderer.hydrate(e),this.renderAnnotations(),this.renderGutterUtility(),this.injectUnsafeCSS(),this.interactionManager.setup(this.pre),this.resizeManager.setup(this.pre,n===`wrap`))}getOrCreateLineCache(e=this.file){return e==null?Kn:this.fileRenderer.getOrCreateLineCache(e)}render({file:e,fileContainer:t,forceRender:n=!1,preventEmit:r=!1,containerWrapper:i,lineAnnotations:a,renderRange:o}){let{collapsed:s=!1,themeType:c=`system`}=this.options,l=s?void 0:o,u=this.renderRange,d=a!=null&&(a.length>0||this.lineAnnotations.length>0)?a!==this.lineAnnotations:!1,f=!tt(this.file,e);if(!s&&!n&&mn(l,this.renderRange)&&!f&&!d)return!1;this.renderRange=l,this.file=e,this.fileRenderer.setOptions({...this.options,headerRenderMode:this.options.renderCustomHeader==null?`default`:`custom`}),a!=null&&this.setLineAnnotations(a),this.fileRenderer.setLineAnnotations(this.lineAnnotations);let{disableErrorHandling:p=!1,disableFileHeader:m=!1,overflow:h=`scroll`}=this.options;if(m&&(this.headerElement!=null&&(this.headerElement.remove(),this.headerElement=void 0,this.lastRenderedHeaderHTML=void 0),this.clearHeaderSlots()),t=this.getOrCreateFileContainerNode(t,i),s){this.removeRenderedCode(),this.clearAuxiliaryNodes();try{let n=this.fileRenderer.renderFile(e,ue);n!=null&&this.applyThemeState(t,n.themeStyles,c,n.baseThemeType),n?.headerAST!=null&&this.applyHeaderToDOM(n.headerAST,t),this.injectUnsafeCSS()}catch(e){if(p)throw e;console.error(e),e instanceof Error&&this.applyErrorToDOM(e,t)}return r||this.emitPostRender(),!0}try{let r=this.getOrCreatePreNode(t);if(!this.canPartiallyRender(n,d,f)||!this.applyPartialRender(u,l)){let n=this.fileRenderer.renderFile(e,l);if(n==null)return this.workerManager?.isInitialized()===!1&&this.workerManager.initialize().then(()=>this.rerender()),!1;this.applyThemeState(t,n.themeStyles,c,n.baseThemeType),n.headerAST!=null&&this.applyHeaderToDOM(n.headerAST,t),this.applyFullRender(n,r)}this.applyBuffers(r,l),this.injectUnsafeCSS(),this.interactionManager.setup(r),this.resizeManager.setup(r,h===`wrap`),this.renderAnnotations(),this.renderGutterUtility()}catch(e){if(p)throw e;console.error(e),e instanceof Error&&this.applyErrorToDOM(e,t)}return r||this.emitPostRender(),!0}emitPostRender(){this.fileContainer!=null&&this.options.onPostRender?.(this.fileContainer,this)}removeRenderedCode(){this.resizeManager.cleanUp(),this.interactionManager.cleanUp(),this.bufferBefore?.remove(),this.bufferBefore=void 0,this.bufferAfter?.remove(),this.bufferAfter=void 0,this.code?.remove(),this.code=void 0,this.pre?.remove(),this.pre=void 0,this.appliedPreAttributes=void 0,this.lastRowCount=void 0}clearAuxiliaryNodes(){for(let{element:e}of this.annotationCache.values())e.remove();this.annotationCache.clear(),this.gutterUtilityContent?.remove(),this.gutterUtilityContent=void 0}canPartiallyRender(e,t,n){return!(e||t||n)}renderPlaceholder(e){if(this.fileContainer==null)return!1;if(this.cleanChildNodes(),this.placeHolder==null){let e=this.fileContainer.shadowRoot??this.fileContainer.attachShadow({mode:`open`});this.placeHolder=document.createElement(`div`),this.placeHolder.dataset.placeholder=``,e.appendChild(this.placeHolder)}return this.placeHolder.style.setProperty(`height`,`${e}px`),!0}cleanChildNodes(){this.resizeManager.cleanUp(),this.interactionManager.cleanUp(),this.bufferAfter?.remove(),this.bufferBefore?.remove(),this.code?.remove(),this.errorWrapper?.remove(),this.headerElement?.remove(),this.gutterUtilityContent?.remove(),this.headerPrefix?.remove(),this.headerMetadata?.remove(),this.headerCustom?.remove(),this.pre?.remove(),this.spriteSVG?.remove(),this.themeCSSStyle?.remove(),this.unsafeCSSStyle?.remove(),this.bufferAfter=void 0,this.bufferBefore=void 0,this.code=void 0,this.errorWrapper=void 0,this.headerElement=void 0,this.gutterUtilityContent=void 0,this.headerPrefix=void 0,this.headerMetadata=void 0,this.headerCustom=void 0,this.pre=void 0,this.spriteSVG=void 0,this.themeCSSStyle=void 0,this.appliedThemeCSS=void 0,this.unsafeCSSStyle=void 0,this.appliedUnsafeCSS=void 0,this.lastRenderedHeaderHTML=void 0,this.lastRowCount=void 0}renderAnnotations(){if(this.isContainerManaged||this.fileContainer==null){for(let{element:e}of this.annotationCache.values())e.remove();this.annotationCache.clear();return}let e=new Map(this.annotationCache),{renderAnnotation:t}=this.options;if(t!=null&&this.lineAnnotations.length>0)for(let[n,r]of this.lineAnnotations.entries()){let i=`${n}-${Cn(r)}`,a=this.annotationCache.get(i);if(a==null||!An(r,a.annotation)){a?.element.remove();let e=t(r);if(e==null)continue;a={element:Pn(Cn(r)),annotation:r},a.element.appendChild(e),this.fileContainer.appendChild(a.element),this.annotationCache.set(i,a)}e.delete(i)}for(let[t,{element:n}]of e.entries())this.annotationCache.delete(t),n.remove()}renderGutterUtility(){let e=this.options.renderGutterUtility??this.options.renderHoverUtility;if(this.fileContainer==null||e==null){this.gutterUtilityContent?.remove(),this.gutterUtilityContent=void 0;return}let t=e(this.interactionManager.getHoveredLine);if(t!=null&&this.gutterUtilityContent!=null)return;if(t==null){this.gutterUtilityContent?.remove(),this.gutterUtilityContent=void 0;return}let n=Fn();n.appendChild(t),this.fileContainer.appendChild(n),this.gutterUtilityContent=n}injectUnsafeCSS(){let{unsafeCSS:e}=this.options,t=this.fileContainer?.shadowRoot;if(t!=null){if(e==null||e===``){this.unsafeCSSStyle!=null&&(this.unsafeCSSStyle.remove(),this.unsafeCSSStyle=void 0),this.appliedUnsafeCSS=void 0;return}this.unsafeCSSStyle?.parentNode===t&&this.appliedUnsafeCSS===e||(this.unsafeCSSStyle??=In(),this.unsafeCSSStyle.parentNode!==t&&t.appendChild(this.unsafeCSSStyle),this.unsafeCSSStyle.textContent=zn(e),this.appliedUnsafeCSS=e)}}applyThemeState(e,t,n,r){let i=e.shadowRoot??e.attachShadow({mode:`open`}),a=r??n;this.themeCSSStyle?.parentNode===i&&this.appliedThemeCSS?.themeStyles===t&&this.appliedThemeCSS.themeType===a||(this.themeCSSStyle=Wn({shadowRoot:i,currentNode:this.themeCSSStyle,themeCSS:Bn(t,a)}),this.appliedThemeCSS=this.themeCSSStyle==null?void 0:{themeStyles:t,themeType:a,baseThemeType:r})}applyFullRender(e,t){this.cleanupErrorWrapper(),this.applyPreNodeAttributes(t,e),this.code=Vn({code:this.code}),this.code.innerHTML=this.fileRenderer.renderPartialHTML(this.fileRenderer.renderCodeAST(e)),t.replaceChildren(this.code),this.lastRowCount=e.rowCount}applyPartialRender(e,t){if(e==null||t==null)return!1;let{file:n,code:r}=this,i=r==null?void 0:this.getColumns(r);if(n==null||r==null||i==null)return!1;let a=e.startingLine,o=t.startingLine,s=e.totalLines===1/0?1/0:a+e.totalLines,c=t.totalLines===1/0?1/0:o+t.totalLines,l=Math.max(a,o),u=Math.min(s,c);if(u<=l||!this.trimDOMToOverlap(i.gutter,l,u)||!this.trimDOMToOverlap(i.content,l,u))return!1;let{length:d}=i.content.children,f=(e,t)=>{if(!(t<=0))return this.fileRenderer.renderFile(n,{startingLine:e,totalLines:t,bufferBefore:0,bufferAfter:0})},p=o<l?f(o,l-o):void 0;if(p===void 0&&o<l)return!1;let m=c===1/0?1/0:Math.max(0,c-u),h=c>u?f(u,m):void 0;return h===void 0&&c>u?!1:(this.cleanupErrorWrapper(),p!=null&&(i.gutter.insertAdjacentHTML(`afterbegin`,this.fileRenderer.renderPartialHTML(p.gutterAST)),i.content.insertAdjacentHTML(`afterbegin`,this.fileRenderer.renderPartialHTML(p.contentAST)),d+=p.rowCount),h!=null&&(i.gutter.insertAdjacentHTML(`beforeend`,this.fileRenderer.renderPartialHTML(h.gutterAST)),i.content.insertAdjacentHTML(`beforeend`,this.fileRenderer.renderPartialHTML(h.contentAST)),d+=h.rowCount),this.lastRowCount!==d&&(i.gutter.style.setProperty(`grid-row`,`span ${d}`),i.content.style.setProperty(`grid-row`,`span ${d}`),this.lastRowCount=d),!0)}getColumns(e){let t=e.children[0],n=e.children[1];if(!(!(t instanceof HTMLElement)||!(n instanceof HTMLElement)||t.dataset.gutter==null||n.dataset.content==null))return{gutter:t,content:n}}trimDOMToOverlap(e,t,n){let r=this.getDOMBoundaryIndices(e,[t,n]),i=r.get(t)??e.children.length,a=r.get(n)??e.children.length;if(i>a)return!1;for(let t=e.children.length-1;t>=a;--t)e.children[t]?.remove();for(let t=i-1;t>=0;--t)e.children[t]?.remove();return!0}getDOMBoundaryIndices(e,t){let n=[...new Set(t)].sort((e,t)=>e-t),r=new Map;if(n.length===0)return r;let i=0,a=n[i],{children:o}=e;for(let e=0;e<o.length;e+=1){let t=o[e];if(!(t instanceof HTMLElement))continue;let s=this.getLineIndexFromDOMNode(t);if(s!=null){for(;a!=null&&s>=a;)r.set(a,e),i+=1,a=n[i];if(i>=n.length)break}}for(let e of n)r.has(e)||r.set(e,o.length);return r}getLineIndexFromDOMNode(e){let t=e.dataset.lineIndex;if(t==null)return;let n=Number(t);return Number.isNaN(n)?void 0:n}applyBuffers(e,t){let{disableVirtualizationBuffers:n=!1}=this.options;if(n||t==null){this.bufferBefore!=null&&(this.bufferBefore.remove(),this.bufferBefore=void 0),this.bufferAfter!=null&&(this.bufferAfter.remove(),this.bufferAfter=void 0);return}t.bufferBefore>0?(this.bufferBefore??(this.bufferBefore=document.createElement(`div`),this.bufferBefore.dataset.virtualizerBuffer=`before`,e.before(this.bufferBefore)),this.bufferBefore.style.setProperty(`height`,`${t.bufferBefore}px`),this.bufferBefore.style.setProperty(`contain`,`strict`)):this.bufferBefore!=null&&(this.bufferBefore.remove(),this.bufferBefore=void 0),t.bufferAfter>0?(this.bufferAfter??(this.bufferAfter=document.createElement(`div`),this.bufferAfter.dataset.virtualizerBuffer=`after`,e.after(this.bufferAfter)),this.bufferAfter.style.setProperty(`height`,`${t.bufferAfter}px`),this.bufferAfter.style.setProperty(`contain`,`strict`)):this.bufferAfter!=null&&(this.bufferAfter.remove(),this.bufferAfter=void 0)}applyHeaderToDOM(e,t){let{file:n}=this;if(n==null)return;this.cleanupErrorWrapper(),this.placeHolder?.remove(),this.placeHolder=void 0;let r=U(e);if(r!==this.lastRenderedHeaderHTML){let e=document.createElement(`div`);e.innerHTML=r;let n=e.firstElementChild;if(!(n instanceof HTMLElement))return;this.headerElement==null?t.shadowRoot?.prepend(n):t.shadowRoot?.replaceChild(n,this.headerElement),this.headerElement=n,this.lastRenderedHeaderHTML=r}if(this.isContainerManaged)return;let{renderHeaderPrefix:i,renderCustomHeader:a,renderCustomMetadata:o}=this.options;if(a!=null){let e=a(n)??void 0;this.headerCustom=this.upsertHeaderSlotElement(t,this.headerCustom,Y,e),this.headerPrefix?.remove(),this.headerMetadata?.remove(),this.headerPrefix=void 0,this.headerMetadata=void 0}else{let e=i?.(n)??void 0,r=o?.(n)??void 0;this.headerPrefix=this.upsertHeaderSlotElement(t,this.headerPrefix,ke,e),this.headerMetadata=this.upsertHeaderSlotElement(t,this.headerMetadata,Be,r),this.headerCustom?.remove(),this.headerCustom=void 0}}clearHeaderSlots(){this.headerPrefix?.remove(),this.headerMetadata?.remove(),this.headerCustom?.remove(),this.headerPrefix=void 0,this.headerMetadata=void 0,this.headerCustom=void 0}upsertHeaderSlotElement(e,t,n,r){if(r==null){t?.remove();return}let i=t??this.createHeaderSlotElement(n);return t??e.appendChild(i),this.replaceHeaderSlotContent(i,r),i}replaceHeaderSlotContent(e,t){e.replaceChildren(),t instanceof Element?e.appendChild(t):e.innerText=`${t}`}createHeaderSlotElement(e){let t=document.createElement(`div`);return t.slot=e,t}getOrCreateFileContainerNode(e,t){let n=this.fileContainer;if(this.fileContainer=e??this.fileContainer??document.createElement(`diffs-container`),n!=null&&n!==this.fileContainer&&(this.lastRenderedHeaderHTML=void 0,this.headerElement=void 0),t!=null&&this.fileContainer.parentNode!==t&&t.appendChild(this.fileContainer),this.spriteSVG==null){let e=document.createElement(`div`);e.innerHTML=kn;let t=e.firstChild;t instanceof SVGElement&&(this.spriteSVG=t,this.fileContainer.shadowRoot?.appendChild(this.spriteSVG))}return this.fileContainer}getOrCreatePreNode(e){let t=e.shadowRoot??e.attachShadow({mode:`open`});return this.pre==null?(this.pre=document.createElement(`pre`),this.appliedPreAttributes=void 0,this.code=void 0,t.appendChild(this.pre)):this.pre.parentNode!==t&&(e.shadowRoot?.appendChild(this.pre),this.appliedPreAttributes=void 0),this.placeHolder?.remove(),this.placeHolder=void 0,this.pre}syncCodeNodeFromPre(e){this.code=void 0;for(let t of Array.from(e.children))if(t instanceof HTMLElement&&t.hasAttribute(`data-code`)){this.code=t;return}}applyPreNodeAttributes(e,{totalLines:t}){let{overflow:n=`scroll`,disableLineNumbers:r=!1}=this.options,i={type:`file`,split:!1,overflow:n,disableLineNumbers:r,diffIndicators:`none`,disableBackground:!0,totalLines:t};jn(i,this.appliedPreAttributes)||(Un(e,i),this.appliedPreAttributes=i)}applyErrorToDOM(e,t){this.cleanupErrorWrapper();let n=this.getOrCreatePreNode(t);n.innerHTML=``,n.remove(),this.pre=void 0,this.appliedPreAttributes=void 0;let r=t.shadowRoot??t.attachShadow({mode:`open`});this.errorWrapper??=document.createElement(`div`),this.errorWrapper.dataset.errorWrapper=``,this.errorWrapper.innerHTML=``,r.appendChild(this.errorWrapper);let i=document.createElement(`div`);i.dataset.errorMessage=``,i.innerText=e.message,this.errorWrapper.appendChild(i);let a=document.createElement(`pre`);a.dataset.errorStack=``,a.innerText=e.stack??`No Error Stack`,this.errorWrapper.appendChild(a)}cleanupErrorWrapper(){this.errorWrapper?.remove(),this.errorWrapper=void 0}};function Yn(e,t,n=!1){return!n&&e==null&&t!=null}function Xn(e,t,n=!1){return e==null&&t!=null&&!n}var Zn=class{isDeletionsScrolling=!1;isAdditionsScrolling=!1;timeoutId=-1;codeDeletions;codeAdditions;enabled=!1;cleanUp(){this.enabled&&=(this.codeDeletions?.removeEventListener(`scroll`,this.handleDeletionsScroll),this.codeAdditions?.removeEventListener(`scroll`,this.handleAdditionsScroll),clearTimeout(this.timeoutId),this.codeDeletions=void 0,this.codeAdditions=void 0,!1)}setup(e,t,n){if(t==null||n==null)for(let r of e.children??[])r instanceof HTMLElement&&(`deletions`in r.dataset?t=r:`additions`in r.dataset&&(n=r));if(n==null||t==null){this.cleanUp();return}this.codeDeletions!==t&&(this.codeDeletions?.removeEventListener(`scroll`,this.handleDeletionsScroll),this.codeDeletions=t,t.addEventListener(`scroll`,this.handleDeletionsScroll,{passive:!0})),this.codeAdditions!==n&&(this.codeAdditions?.removeEventListener(`scroll`,this.handleAdditionsScroll),this.codeAdditions=n,n.addEventListener(`scroll`,this.handleAdditionsScroll,{passive:!0})),this.enabled=!0}handleDeletionsScroll=()=>{this.isAdditionsScrolling||(this.isDeletionsScrolling=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.isDeletionsScrolling=!1},300),this.codeAdditions?.scrollTo({left:this.codeDeletions?.scrollLeft}))};handleAdditionsScroll=()=>{this.isDeletionsScrolling||(this.isAdditionsScrolling=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.isAdditionsScrolling=!1},300),this.codeDeletions?.scrollTo({left:this.codeAdditions?.scrollLeft}))}};function Qn(e){return z({tagName:`div`,properties:{"data-content-buffer":``,"data-buffer-size":e,style:`grid-row: span ${e};min-height:calc(${e} * 1lh)`}})}function $n(e){return z({tagName:`div`,children:[z({tagName:`span`,children:[q(`No newline at end of file`)]})],properties:{"data-no-newline":``,"data-line-type":e,"data-column-content":``}})}function er(e){return z({tagName:`div`,children:[G({name:e===`both`?`diffs-icon-expand-all`:`diffs-icon-expand`,properties:{"data-icon":``}})],properties:{role:`button`,"data-expand-button":``,"data-expand-both":e===`both`?``:void 0,"data-expand-up":e===`up`?``:void 0,"data-expand-down":e===`down`?``:void 0}})}function tr({type:e,content:t,expandIndex:n,chunked:r=!1,slotName:i,isFirstHunk:a,isLastHunk:o}){let s=0,c=[];if(e===`metadata`&&t!=null&&c.push(z({tagName:`div`,children:[q(t)],properties:{"data-separator-wrapper":``}})),(e===`line-info`||e===`line-info-basic`)&&t!=null){let e=[];n!=null&&(r?(a||(e.push(er(`up`)),s++),o||(e.push(er(`down`)),s++)):(e.push(er(!a&&!o?`both`:a?`down`:`up`)),s++)),e.push(z({tagName:`div`,children:[z({tagName:`span`,children:[q(t)],properties:{"data-unmodified-lines":``}})],properties:{"data-separator-content":``}})),r&&n!=null&&e.push(z({tagName:`div`,children:[q(`Expand all`)],properties:{role:`button`,"data-expand-button":``,"data-expand-all-button":``}})),c.push(z({tagName:`div`,children:e,properties:{"data-separator-wrapper":``,"data-separator-multi-button":s>1?``:void 0}}))}return e===`custom`&&i!=null&&c.push(z({tagName:`slot`,properties:{name:i}})),z({tagName:`div`,children:c,properties:{"data-separator":c.length===0?`simple`:e,"data-expand-index":n,"data-separator-first":a?``:void 0,"data-separator-last":o?``:void 0}})}function nr(e,t){return`hunk-separator-${e}-${t}`}function rr(e){let t=e.at(-1);return t==null?0:Math.max(t.additionStart+t.additionCount,t.deletionStart+t.deletionCount)}function ir(e){return e.startingLine===0&&e.totalLines===1/0&&e.bufferBefore===0&&e.bufferAfter===0}var ar=-1,or=class{__id=`diff-hunks-renderer:${++ar}`;highlighter;diff;expandedHunks=new Map;deletionAnnotations={};additionAnnotations={};computedLang=`text`;renderCache;constructor(e={theme:J},t,n){this.options=e,this.onRenderUpdate=t,this.workerManager=n,n?.isWorkingPool()!==!0&&(this.highlighter=pn(e.theme??J)?Ce():void 0)}cleanUp(){this.highlighter=void 0,this.diff=void 0,this.renderCache=void 0,this.workerManager?.cleanUpPendingTasks(this),this.workerManager=void 0,this.onRenderUpdate=void 0}recycle(){this.highlighter=void 0,this.diff=void 0,this.renderCache=void 0,this.workerManager?.cleanUpPendingTasks(this)}setOptions(e){this.options=e}mergeOptions(e){this.options={...this.options,...e}}expandHunk(e,t,n=this.getOptionsWithDefaults().expansionLineCount){let r={...this.expandedHunks.get(e)??{fromStart:0,fromEnd:0}};(t===`up`||t===`both`)&&(r.fromStart+=n),(t===`down`||t===`both`)&&(r.fromEnd+=n),this.renderCache?.highlighted!==!0&&(this.renderCache=void 0),this.expandedHunks.set(e,r)}getExpandedHunk(e){return this.expandedHunks.get(e)??ye}getExpandedHunksMap(){return this.expandedHunks}setLineAnnotations(e){this.additionAnnotations={},this.deletionAnnotations={};for(let t of e){let e=(()=>{switch(t.side){case`deletions`:return this.deletionAnnotations;case`additions`:return this.additionAnnotations}})(),n=e[t.lineNumber]??[];e[t.lineNumber]=n,n.push(t)}}getUnifiedLineDecoration({lineType:e}){return{gutterLineType:e}}getSplitLineDecoration({side:e,type:t}){return t===`change`?{gutterLineType:e===`deletions`?`change-deletion`:`change-addition`}:{gutterLineType:t}}createAnnotationElement(e){return hn(e)}getOptionsWithDefaults(){let{diffIndicators:e=`bars`,diffStyle:t=`split`,disableBackground:n=!1,disableFileHeader:r=!1,disableLineNumbers:i=!1,disableVirtualizationBuffers:a=!1,collapsed:o=!1,expandUnchanged:s=!1,collapsedContextThreshold:c=1,expansionLineCount:l=100,hunkSeparators:u=`line-info`,lineDiffType:d=`word-alt`,maxLineDiffLength:f=1e3,overflow:p=`scroll`,theme:m=J,headerRenderMode:h=`default`,tokenizeMaxLineLength:g=1e3,useTokenTransformer:_=!1,useCSSClasses:v=!1}=this.options;return{diffIndicators:e,diffStyle:t,disableBackground:n,disableFileHeader:r,disableLineNumbers:i,disableVirtualizationBuffers:a,collapsed:o,expandUnchanged:s,collapsedContextThreshold:c,expansionLineCount:l,hunkSeparators:u,lineDiffType:d,maxLineDiffLength:f,overflow:p,theme:this.workerManager?.getDiffRenderOptions().theme??m,headerRenderMode:h,tokenizeMaxLineLength:g,useTokenTransformer:_,useCSSClasses:v}}async initializeHighlighter(){return this.highlighter=await ge(Sn(this.computedLang,this.options)),this.highlighter}hydrate(e){if(e==null)return;this.diff=e;let{options:t}=this.getRenderOptions(e),n=this.workerManager?.getDiffResultCache(e);n!=null&&!pe(t,n.options)&&(n=void 0),this.renderCache??={diff:e,highlighted:!Z(e),options:t,result:n?.result,renderRange:void 0},this.workerManager?.isWorkingPool()===!0?this.renderCache.result??this.workerManager.highlightDiffAST(this,this.diff):this.highlighter??(this.computedLang=e.lang??de(e.name),this.initializeHighlighter())}getRenderOptions(e){let t=(()=>{if(this.workerManager?.isWorkingPool()===!0)return this.workerManager.getDiffRenderOptions();let{theme:e,tokenizeMaxLineLength:t,lineDiffType:n,maxLineDiffLength:r}=this.getOptionsWithDefaults();return{theme:e,useTokenTransformer:Tn(this.options),tokenizeMaxLineLength:t,lineDiffType:n,maxLineDiffLength:r}})();this.getOptionsWithDefaults();let{renderCache:n}=this;return n?.result==null||e!==n.diff||!pe(t,n.options)?{options:t,forceRender:!0}:{options:t,forceRender:!1}}renderDiff(e=this.renderCache?.diff,t=Ee){if(e==null)return;let{expandUnchanged:n=!1,collapsedContextThreshold:r}=this.getOptionsWithDefaults(),i=this.workerManager?.getDiffResultCache(e);i!=null&&this.renderCache==null&&(this.renderCache={diff:e,highlighted:!0,renderRange:void 0,...i});let{options:a,forceRender:o}=this.getRenderOptions(e);if(this.renderCache??={diff:e,highlighted:!1,options:a,result:void 0,renderRange:void 0},this.workerManager?.isWorkingPool()===!0)(this.renderCache.result==null||!this.renderCache.highlighted&&(e!==this.renderCache.diff||!mn(this.renderCache.renderRange,t)))&&(this.renderCache.diff=e,this.renderCache.result=this.workerManager.getPlainDiffAST(e,t.startingLine,t.totalLines,ir(t)||n?!0:this.expandedHunks,r),this.renderCache.renderRange=t),t.totalLines>0&&(!this.renderCache.highlighted||o)&&this.workerManager.highlightDiffAST(this,e);else{this.computedLang=e.lang??de(e.name);let t=this.highlighter!=null&&pn(a.theme),n=this.highlighter!=null&&fn(this.computedLang);if(this.highlighter!=null&&t&&(o||!this.renderCache.highlighted&&n||this.renderCache.result==null)){let{result:t,options:r}=this.renderDiffWithHighlighter(e,this.highlighter,!n);this.renderCache={diff:e,options:r,highlighted:n,result:t,renderRange:void 0}}(!t||!n)&&this.asyncHighlight(e).then(({result:t,options:n})=>{this.renderCache!=null&&(this.renderCache.highlighted=!1),this.onHighlightSuccess(e,t,n)})}return this.renderCache.result==null?void 0:this.processDiffResult(this.renderCache.diff,t,this.renderCache.result)}async asyncRender(e,t=Ee){let{result:n}=await this.asyncHighlight(e);return this.processDiffResult(e,t,n)}createPreElement(e,t,n){let{diffIndicators:r,disableBackground:i,disableLineNumbers:a,overflow:o}=this.getOptionsWithDefaults();return bn({type:`diff`,diffIndicators:r,disableBackground:i,disableLineNumbers:a,overflow:o,split:e,totalLines:t,customProperties:n})}async asyncHighlight(e){this.computedLang=e.lang??de(e.name);let t=this.highlighter!=null&&pn(this.options.theme??J),n=this.highlighter!=null&&fn(this.computedLang);return(this.highlighter==null||!t||!n)&&(this.highlighter=await this.initializeHighlighter()),this.renderDiffWithHighlighter(e,this.highlighter)}renderDiffWithHighlighter(e,t,n=!1){let{options:r}=this.getRenderOptions(e),{collapsedContextThreshold:i}=this.getOptionsWithDefaults();return{result:Ae(e,t,r,{forcePlainText:n,expandedHunks:n?!0:void 0,collapsedContextThreshold:i}),options:r}}onHighlightSuccess(e,t,n){if(this.renderCache==null)return;let r=!this.renderCache.highlighted||!pe(this.renderCache.options,n)||this.renderCache.diff!==e;this.renderCache={diff:e,options:n,highlighted:!0,result:t,renderRange:void 0},r&&this.onRenderUpdate?.()}onHighlightError(e){console.error(e)}processDiffResult(e,t,{code:n,themeStyles:r,baseThemeType:i}){let{diffStyle:a,disableFileHeader:o,expandUnchanged:s,expansionLineCount:c,collapsedContextThreshold:l,hunkSeparators:u}=this.getOptionsWithDefaults();this.diff=e;let d=a===`unified`,f=[],p=[],m=[],h=[],{additionLines:g,deletionLines:_}=n,v={rowCount:0,hunkSeparators:u,additionsContentAST:f,deletionsContentAST:p,unifiedContentAST:m,unifiedGutterAST:K(),deletionsGutterAST:K(),additionsGutterAST:K(),expansionLineCount:c,hunkData:h,incrementRowCount(e=1){v.rowCount+=e},pushToGutter(e,t){switch(e){case`unified`:v.unifiedGutterAST.children.push(t);break;case`deletions`:v.deletionsGutterAST.children.push(t);break;case`additions`:v.additionsGutterAST.children.push(t);break}}},y=pr(e),b={size:0,side:void 0,increment(){this.size+=1},flush(){if(a!==`unified`){if(this.size<=0||this.side==null){this.side=void 0,this.size=0;return}this.side===`additions`?(v.pushToGutter(`additions`,at(void 0,`buffer`,this.size)),f?.push(Qn(this.size))):(v.pushToGutter(`deletions`,at(void 0,`buffer`,this.size)),p?.push(Qn(this.size))),this.size=0,this.side=void 0}}},x=(e,t,n,r,i)=>{v.pushToGutter(e,fe(t,n,r,i))};function S(e){b.flush(),a===`unified`?dr(`unified`,e,v):(dr(`deletions`,e,v),dr(`additions`,e,v))}rt({diff:e,diffStyle:a,startingLine:t.startingLine,totalLines:t.totalLines,expandedHunks:s?!0:this.expandedHunks,collapsedContextThreshold:l,callback:({hunkIndex:t,hunk:n,collapsedBefore:r,collapsedAfter:i,additionLine:o,deletionLine:s,type:c})=>{let l=s==null?o.splitLineIndex:s.splitLineIndex,d=o==null?s.unifiedLineIndex:o.unifiedLineIndex;a===`split`&&c!==`change`&&b.flush(),r>0&&S({hunkIndex:t,collapsedLines:r,rangeSize:Math.max(n?.collapsedBefore??0,0),hunkSpecs:n?.hunkSpecs,isFirstHunk:t===0,isLastHunk:!1,isExpandable:!e.isPartial});let f=a===`unified`?d:l,p={type:c,hunkIndex:t,lineIndex:f,unifiedLineIndex:d,splitLineIndex:l,deletionLine:s,additionLine:o};if(a===`unified`){let n=this.getUnifiedInjectedRowsForLine?.(p);n?.before!=null&&cr(n.before,v);let r=s==null?void 0:_[s.lineIndex],i=o==null?void 0:g[o.lineIndex];if(r==null&&i==null){let t=`DiffHunksRenderer.processDiffResult: deletionLine and additionLine are null, something is wrong`;throw console.error(t,{file:e.name}),Error(t)}let a=c===`change`?o==null?`change-deletion`:`change-addition`:c,u=this.getUnifiedLineDecoration({type:c,lineType:a,additionLineIndex:o?.lineIndex,deletionLineIndex:s?.lineIndex});x(`unified`,u.gutterLineType,o==null?s.lineNumber:o.lineNumber,`${d},${l}`,u.gutterProperties),i==null?r!=null&&(r=fr(r,u.contentProperties)):i=fr(i,u.contentProperties),ur({diffStyle:`unified`,type:c,deletionLine:r,additionLine:i,unifiedSpan:this.getAnnotations(`unified`,s?.lineNumber,o?.lineNumber,t,f),createAnnotationElement:e=>this.createAnnotationElement(e),context:v}),n?.after!=null&&cr(n.after,v)}else{let n=this.getSplitInjectedRowsForLine?.(p);n?.before!=null&&lr(n.before,v,b);let r=s==null?void 0:_[s.lineIndex],i=o==null?void 0:g[o.lineIndex],a=this.getSplitLineDecoration({side:`deletions`,type:c,lineIndex:s?.lineIndex}),u=this.getSplitLineDecoration({side:`additions`,type:c,lineIndex:o?.lineIndex});if(r==null&&i==null){let t=`DiffHunksRenderer.processDiffResult: deletionLine and additionLine are null, something is wrong`;throw console.error(t,{file:e.name}),Error(t)}let d=(()=>{if(c===`change`){if(i==null)return`additions`;if(r==null)return`deletions`}})();if(d!=null){if(b.side!=null&&b.side!==d)throw Error(`DiffHunksRenderer.processDiffResult: iterateOverDiff, invalid pending splits`);b.side=d,b.increment()}let m=this.getAnnotations(`split`,s?.lineNumber,o?.lineNumber,t,f);if(m!=null&&b.size>0&&b.flush(),s!=null){let e=fr(r,a.contentProperties);x(`deletions`,a.gutterLineType,s.lineNumber,`${s.unifiedLineIndex},${l}`,a.gutterProperties),e!=null&&(r=e)}if(o!=null){let e=fr(i,u.contentProperties);x(`additions`,u.gutterLineType,o.lineNumber,`${o.unifiedLineIndex},${l}`,u.gutterProperties),e!=null&&(i=e)}ur({diffStyle:`split`,type:c,additionLine:i,deletionLine:r,...m,createAnnotationElement:e=>this.createAnnotationElement(e),context:v}),n?.after!=null&&lr(n.after,v,b)}let m=s?.noEOFCR??!1,h=o?.noEOFCR??!1;if(h||m){if(m){let e=c===`context`||c===`context-expanded`?c:`change-deletion`;a===`unified`?(v.unifiedContentAST.push($n(e)),v.pushToGutter(`unified`,at(e,`metadata`,1))):(v.deletionsContentAST.push($n(e)),v.pushToGutter(`deletions`,at(e,`metadata`,1)),h||(v.pushToGutter(`additions`,at(void 0,`buffer`,1)),v.additionsContentAST.push(Qn(1))))}if(h){let e=c===`context`||c===`context-expanded`?c:`change-addition`;a===`unified`?(v.unifiedContentAST.push($n(e)),v.pushToGutter(`unified`,at(e,`metadata`,1))):(v.additionsContentAST.push($n(e)),v.pushToGutter(`additions`,at(e,`metadata`,1)),m||(v.pushToGutter(`deletions`,at(void 0,`buffer`,1)),v.deletionsContentAST.push(Qn(1))))}v.incrementRowCount(1)}i>0&&u!==`simple`&&S({hunkIndex:c===`context-expanded`?t:t+1,collapsedLines:i,rangeSize:y,hunkSpecs:void 0,isFirstHunk:!1,isLastHunk:!0,isExpandable:!e.isPartial}),v.incrementRowCount(1)}}),a===`split`&&b.flush();let C=Math.max(rr(e.hunks),e.additionLines.length??0,e.deletionLines.length??0),w=t.bufferBefore>0||t.bufferAfter>0,T=!d&&e.type!==`deleted`,E=!d&&e.type!==`new`,D=v.rowCount>0||w;f=T&&D?f:void 0,p=E&&D?p:void 0,m=d&&D?m:void 0;let O=this.createPreElement(p!=null&&f!=null,C);return{unifiedGutterAST:d&&D?v.unifiedGutterAST.children:void 0,unifiedContentAST:m,deletionsGutterAST:E&&D?v.deletionsGutterAST.children:void 0,deletionsContentAST:p,additionsGutterAST:T&&D?v.additionsGutterAST.children:void 0,additionsContentAST:f,hunkData:h,preNode:O,themeStyles:r,baseThemeType:i,headerElement:o?void 0:this.renderHeader(this.diff),totalLines:C,rowCount:v.rowCount,bufferBefore:t.bufferBefore,bufferAfter:t.bufferAfter,css:``}}renderCodeAST(e,t){let n=e===`unified`?t.unifiedGutterAST:e===`deletions`?t.deletionsGutterAST:t.additionsGutterAST,r=e===`unified`?t.unifiedContentAST:e===`deletions`?t.deletionsContentAST:t.additionsContentAST;if(n==null||r==null)return;let i=K(n);return i.properties.style=`grid-row: span ${t.rowCount}`,[i,wn(r,t.rowCount)]}renderFullAST(e,t=[]){let n=this.getOptionsWithDefaults().hunkSeparators===`line-info`,r=this.renderCodeAST(`unified`,e);if(r!=null)return t.push(z({tagName:`code`,children:r,properties:{"data-code":``,"data-container-size":n?``:void 0,"data-unified":``}})),{...e.preNode,children:t};let i=this.renderCodeAST(`deletions`,e);i!=null&&t.push(z({tagName:`code`,children:i,properties:{"data-code":``,"data-container-size":n?``:void 0,"data-deletions":``}}));let a=this.renderCodeAST(`additions`,e);return a!=null&&t.push(z({tagName:`code`,children:a,properties:{"data-code":``,"data-container-size":n?``:void 0,"data-additions":``}})),{...e.preNode,children:t}}renderFullHTML(e,t=[]){return U(this.renderFullAST(e,t))}renderPartialHTML(e,t){return U(t==null?e:z({tagName:`code`,children:e,properties:{"data-code":``,"data-container-size":this.getOptionsWithDefaults().hunkSeparators===`line-info`?``:void 0,[`data-${t}`]:``}}))}getAnnotations(e,t,n,r,i){let a={type:`annotation`,hunkIndex:r,lineIndex:i,annotations:[]};if(t!=null)for(let e of this.deletionAnnotations[t]??[])a.annotations.push(Cn(e));let o={type:`annotation`,hunkIndex:r,lineIndex:i,annotations:[]};if(n!=null)for(let t of this.additionAnnotations[n]??[])(e===`unified`?a:o).annotations.push(Cn(t));if(e===`unified`)return a.annotations.length>0?a:void 0;if(!(o.annotations.length===0&&a.annotations.length===0))return{deletionSpan:a,additionSpan:o}}renderHeader(e){let{headerRenderMode:t}=this.getOptionsWithDefaults();return _n({fileOrDiff:e,mode:t})}};function sr(e){return`${e} unmodified line${e>1?`s`:``}`}function cr(e,t){for(let n of e)t.unifiedContentAST.push(n.content),t.pushToGutter(`unified`,n.gutter),t.incrementRowCount(1)}function lr(e,t,n){for(let{deletion:r,addition:i}of e){if(r==null&&i==null)continue;let e=r!=null&&i!=null?void 0:r==null?`deletions`:`additions`;(e==null||n.side!==e)&&n.flush(),r!=null&&(t.deletionsContentAST.push(r.content),t.pushToGutter(`deletions`,r.gutter)),i!=null&&(t.additionsContentAST.push(i.content),t.pushToGutter(`additions`,i.gutter)),e!=null&&(n.side=e,n.increment()),t.incrementRowCount(1)}}function ur({diffStyle:e,type:t,deletionLine:n,additionLine:r,unifiedSpan:i,deletionSpan:a,additionSpan:o,createAnnotationElement:s,context:c}){let l=!1;if(e===`unified`){if(r==null?n!=null&&c.unifiedContentAST.push(n):c.unifiedContentAST.push(r),i!=null){let e=t===`change`?n==null?`change-addition`:`change-deletion`:t;c.unifiedContentAST.push(s(i)),c.pushToGutter(`unified`,at(e,`annotation`,1)),l=!0}}else if(e===`split`){if(n!=null&&c.deletionsContentAST.push(n),r!=null&&c.additionsContentAST.push(r),a!=null){let e=t===`change`?n==null?`context`:`change-deletion`:t;c.deletionsContentAST.push(s(a)),c.pushToGutter(`deletions`,at(e,`annotation`,1)),l=!0}if(o!=null){let e=t===`change`?r==null?`context`:`change-addition`:t;c.additionsContentAST.push(s(o)),c.pushToGutter(`additions`,at(e,`annotation`,1)),l=!0}}l&&c.incrementRowCount(1)}function dr(e,{hunkIndex:t,collapsedLines:n,rangeSize:r,hunkSpecs:i,isFirstHunk:a,isLastHunk:o,isExpandable:s},c){if(n<=0)return;let l=e===`unified`?c.unifiedContentAST:e===`deletions`?c.deletionsContentAST:c.additionsContentAST;if(c.hunkSeparators===`metadata`){i!=null&&(c.pushToGutter(e,tr({type:`metadata`,content:i,isFirstHunk:a,isLastHunk:o})),l.push(tr({type:`metadata`,content:i,isFirstHunk:a,isLastHunk:o})),e!==`additions`&&c.incrementRowCount(1));return}if(c.hunkSeparators===`simple`){t>0&&(c.pushToGutter(e,tr({type:`simple`,isFirstHunk:a,isLastHunk:!1})),l.push(tr({type:`simple`,isFirstHunk:a,isLastHunk:!1})),e!==`additions`&&c.incrementRowCount(1));return}let u=nr(e,t),d=r>c.expansionLineCount,f=s?t:void 0;c.pushToGutter(e,tr({type:c.hunkSeparators,content:sr(n),expandIndex:f,chunked:d,slotName:u,isFirstHunk:a,isLastHunk:o})),l.push(tr({type:c.hunkSeparators,content:sr(n),expandIndex:f,chunked:d,slotName:u,isFirstHunk:a,isLastHunk:o})),e!==`additions`&&c.incrementRowCount(1),c.hunkData.push({slotName:u,hunkIndex:t,lines:n,type:e,expandable:s?{up:!a,down:!o,chunked:d}:void 0})}function fr(e,t){return e==null||e.type!==`element`||t==null?e:{...e,properties:{...e.properties,...t}}}function pr(e){let t=e.hunks.at(-1);if(t==null||e.isPartial||e.additionLines.length===0||e.deletionLines.length===0)return 0;let n=e.additionLines.length-(t.additionLineIndex+t.additionCount),r=e.deletionLines.length-(t.deletionLineIndex+t.deletionCount);if(n!==r)throw Error(`DiffHunksRenderer.processDiffResult: trailing context mismatch (additions=${n}, deletions=${r}) for ${e.name}`);return Math.min(n,r)}function mr(e,t){return e.lineNumber===t.lineNumber&&e.side===t.side&&e.metadata===t.metadata}function hr(e,t){return e.slotName===t.slotName&&e.hunkIndex===t.hunkIndex&&e.lines===t.lines&&e.type===t.type&&e.expandable?.chunked===t.expandable?.chunked&&e.expandable?.up===t.expandable?.up&&e.expandable?.down===t.expandable?.down}function gr(e){let t=e[0];if(t!==`+`&&t!==`-`&&t!==` `&&t!==`\\`){console.error(`parseLineType: Invalid firstChar: "${t}", full line: "${e}"`);return}let n=e.substring(1);return{line:n===``?`
63
63
  `:n,type:t===` `?`context`:t===`\\`?`metadata`:t===`+`?`addition`:`deletion`}}function _r(e,t,n=!1){let r=Xe.test(e),i=e.split(r?Xe:$e),a,o=[];for(let e of i){if(r&&!Xe.test(e)){if(a==null)a=e;else if(n)throw Error(`parsePatchContent: unknown file blob`);else console.error(`parsePatchContent: unknown file blob:`,e);continue}else if(!r&&!$e.test(e)){if(a==null)a=e;else if(n)throw Error(`parsePatchContent: unknown file blob`);else console.error(`parsePatchContent: unknown file blob:`,e);continue}let i=vr(e,{cacheKey:t==null?void 0:`${t}-${o.length}`,isGitDiff:r,throwOnError:n});i!=null&&o.push(i)}return{patchMetadata:a,files:o}}function vr(e,{cacheKey:t,isGitDiff:n=Xe.test(e),oldFile:r,newFile:i,throwOnError:a=!1}={}){let o=0,s=e.split(Ke),c,l=r==null||i==null,u=0,d=0;for(let e of s){let s=e.split(je),f=s.shift();if(f==null){if(a)throw Error(`parsePatchContent: invalid hunk`);console.error(`parsePatchContent: invalid hunk`,e);continue}let p=f.match(qe),m=0,h=0;if(p==null||c==null){if(c!=null){if(a)throw Error(`parsePatchContent: Invalid hunk`);console.error(`parsePatchContent: Invalid hunk`,e);continue}c={name:``,type:`change`,hunks:[],splitLineCount:0,unifiedLineCount:0,isPartial:l,additionLines:!l&&r!=null&&i!=null?i.contents.split(je):[],deletionLines:!l&&r!=null&&i!=null?r.contents.split(je):[],cacheKey:t},c.additionLines.length===1&&i?.contents===``&&(c.additionLines.length=0),c.deletionLines.length===1&&r?.contents===``&&(c.deletionLines.length=0),s.unshift(f);for(let e of s){let t=e.match(n?Ze:Pe);if(e.startsWith(`diff --git`)){let[,,t,,n]=e.trim().match(_e)??[];c.name=n.trim(),t!==n&&(c.prevName=t.trim())}else if(t!=null){let[,e,n]=t;e===`---`&&n!==`/dev/null`?(c.prevName=n.trim(),c.name=n.trim()):e===`+++`&&n!==`/dev/null`&&(c.name=n.trim())}else if(n){if(e.startsWith(`new mode `)&&(c.mode=e.replace(`new mode`,``).trim()),e.startsWith(`old mode `)&&(c.prevMode=e.replace(`old mode`,``).trim()),e.startsWith(`new file mode`)&&(c.type=`new`,c.mode=e.replace(`new file mode`,``).trim()),e.startsWith(`deleted file mode`)&&(c.type=`deleted`,c.mode=e.replace(`deleted file mode`,``).trim()),e.startsWith(`similarity index`)&&(e.startsWith(`similarity index 100%`)?c.type=`rename-pure`:c.type=`rename-changed`),e.startsWith(`index `)){let[,t,n,r]=e.trim().match(X)??[];t!=null&&(c.prevObjectId=t),n!=null&&(c.newObjectId=n),r!=null&&(c.mode=r)}e.startsWith(`rename from `)&&(c.prevName=e.replace(`rename from `,``).trim()),e.startsWith(`rename to `)&&(c.name=e.replace(`rename to `,``).trim())}}continue}let g,_;for(;s.length>0&&(s[s.length-1]===`
64
64
  `||s[s.length-1]===`\r`||s[s.length-1]===`\r
65
- `||s[s.length-1]===``);)s.pop();let v=parseInt(p[3]),y=parseInt(p[1]);u=l?u:y-1,d=l?d:v-1;let b={collapsedBefore:0,splitLineCount:0,splitLineStart:0,unifiedLineCount:0,unifiedLineStart:0,additionCount:parseInt(p[4]??`1`),additionStart:v,additionLines:m,deletionCount:parseInt(p[2]??`1`),deletionStart:y,deletionLines:h,deletionLineIndex:u,additionLineIndex:d,hunkContent:[],hunkContext:p[5],hunkSpecs:f,noEOFCRAdditions:!1,noEOFCRDeletions:!1};if(isNaN(b.additionCount)||isNaN(b.deletionCount)||isNaN(b.additionStart)||isNaN(b.deletionStart)){if(a)throw Error(`parsePatchContent: invalid hunk metadata`);console.error(`parsePatchContent: invalid hunk metadata`,b);continue}for(let e of s){let t=gr(e);if(t==null){console.error(`processFile: invalid rawLine:`,e);continue}let{type:n,line:r}=t;if(n===`addition`)(g==null||g.type!==`change`)&&(g=br(`change`,u,d),b.hunkContent.push(g)),d++,l&&c.additionLines.push(r),g.additions++,m++,_=`addition`;else if(n===`deletion`)(g==null||g.type!==`change`)&&(g=br(`change`,u,d),b.hunkContent.push(g)),u++,l&&c.deletionLines.push(r),g.deletions++,h++,_=`deletion`;else if(n===`context`)(g==null||g.type!==`context`)&&(g=br(`context`,u,d),b.hunkContent.push(g)),d++,u++,l&&(c.deletionLines.push(r),c.additionLines.push(r)),g.lines++,_=`context`;else if(n===`metadata`&&g!=null){if(g.type===`context`?(b.noEOFCRAdditions=!0,b.noEOFCRDeletions=!0):_===`deletion`?b.noEOFCRDeletions=!0:_===`addition`&&(b.noEOFCRAdditions=!0),l&&(_===`addition`||_===`context`)){let e=c.additionLines.length-1;e>=0&&(c.additionLines[e]=He(c.additionLines[e]))}if(l&&(_===`deletion`||_===`context`)){let e=c.deletionLines.length-1;e>=0&&(c.deletionLines[e]=He(c.deletionLines[e]))}}}b.additionLines=m,b.deletionLines=h,b.collapsedBefore=Math.max(b.additionStart-1-o,0),c.hunks.push(b),o=b.additionStart+b.additionCount-1;for(let e of b.hunkContent)e.type===`context`?(b.splitLineCount+=e.lines,b.unifiedLineCount+=e.lines):(b.splitLineCount+=Math.max(e.additions,e.deletions),b.unifiedLineCount+=e.deletions+e.additions);b.splitLineStart=c.splitLineCount+b.collapsedBefore,b.unifiedLineStart=c.unifiedLineCount+b.collapsedBefore,c.splitLineCount+=b.collapsedBefore+b.splitLineCount,c.unifiedLineCount+=b.collapsedBefore+b.unifiedLineCount}if(c!=null){if(c.hunks.length>0&&!l&&c.additionLines.length>0&&c.deletionLines.length>0){let e=c.hunks[c.hunks.length-1],t=e.additionStart+e.additionCount-1,n=c.additionLines.length,r=Math.max(n-t,0);c.splitLineCount+=r,c.unifiedLineCount+=r}return n||(c.prevName!=null&&c.name!==c.prevName?c.hunks.length>0?c.type=`rename-changed`:c.type=`rename-pure`:(r==null||r.contents===``)&&i!=null&&i.contents!==``?c.type=`new`:r!=null&&r.contents!==``&&(i==null||i.contents===``)&&(c.type=`deleted`)),c.type!==`rename-pure`&&c.type!==`rename-changed`&&(c.prevName=void 0),c}}function yr(e,t,n=!1){let r=[];for(let i of e.split(be))try{r.push(_r(i,t==null?void 0:`${t}-${r.length}`,n))}catch(e){if(n)throw e;console.error(e)}return r}function br(e,t,n){return e===`change`?{type:`change`,additions:0,deletions:0,additionLineIndex:n,deletionLineIndex:t}:{type:`context`,lines:0,additionLineIndex:n,deletionLineIndex:t}}function xr(e,t,n,r=!1){let i=vr(we(e.name,t.name,e.contents,t.contents,e.header,t.header,n),{cacheKey:(()=>{if(e.cacheKey!=null&&t.cacheKey!=null)return`${e.cacheKey}:${t.cacheKey}`})(),oldFile:e,newFile:t,throwOnError:r});if(i==null)throw Error(`parseDiffFrom: FileInvalid diff -- probably need to fix something -- if the files are the same maybe?`);return t.lang!=null&&(i.lang=t.lang),i}var Sr=-1,Cr=class{static LoadedCustomComponent=!0;__id=`file-diff:${++Sr}`;fileContainer;spriteSVG;pre;codeUnified;codeDeletions;codeAdditions;bufferBefore;bufferAfter;themeCSSStyle;appliedThemeCSS;unsafeCSSStyle;appliedUnsafeCSS;gutterUtilityContent;headerElement;headerPrefix;headerMetadata;headerCustom;separatorCache=new Map;errorWrapper;placeHolder;hunksRenderer;resizeManager;scrollSyncManager;interactionManager;annotationCache=new Map;lineAnnotations=[];deletionFile;additionFile;fileDiff;renderRange;appliedPreAttributes;lastRenderedHeaderHTML;lastRowCount;enabled=!0;constructor(e={theme:J},t,n=!1){this.options=e,this.workerManager=t,this.isContainerManaged=n,this.hunksRenderer=this.createHunksRenderer(e),this.resizeManager=new dn,this.scrollSyncManager=new Zn,this.interactionManager=new Xt(`diff`,Zt(e,typeof e.hunkSeparators==`function`||(e.hunkSeparators??`line-info`)===`line-info`||e.hunkSeparators===`line-info-basic`?this.handleExpandHunk:void 0,this.getLineIndex)),this.workerManager?.subscribeToThemeChanges(this),this.enabled=!0}handleHighlightRender=()=>{this.rerender()};getHunksRendererOptions(e){return{...e,headerRenderMode:e.renderCustomHeader==null?`default`:`custom`,hunkSeparators:typeof e.hunkSeparators==`function`?`custom`:e.hunkSeparators}}createHunksRenderer(e){return new or(this.getHunksRendererOptions(e),this.handleHighlightRender,this.workerManager)}getLineIndex=(e,t=`additions`)=>{if(this.fileDiff==null)return;let n=this.fileDiff.hunks.at(-1),r,i;hunkIterator:for(let a of this.fileDiff.hunks){let o=t===`deletions`?a.deletionStart:a.additionStart,s=t===`deletions`?a.deletionCount:a.additionCount,c=a.splitLineStart,l=a.unifiedLineStart;if(e<o){let t=o-e;r=Math.max(l-t,0),i=Math.max(c-t,0);break hunkIterator}if(e>=o+s){if(a===n){let t=e-(o+s);r=l+a.unifiedLineCount+t,i=c+a.splitLineCount+t;break hunkIterator}continue}for(let n of a.hunkContent)if(n.type===`context`)if(e<o+n.lines){let t=e-o;i=c+t,r=l+t;break hunkIterator}else o+=n.lines,c+=n.lines,l+=n.lines;else{let a=t===`deletions`?n.deletions:n.additions;if(e<o+a){let a=e-o;r=l+(t===`additions`?n.deletions:0)+a,i=c+a;break hunkIterator}else o+=a,c+=Math.max(n.deletions,n.additions),l+=n.deletions+n.additions}break hunkIterator}if(!(r==null||i==null))return[r,i]};setOptions(e){e!=null&&(this.options=e,this.hunksRenderer.setOptions(this.getHunksRendererOptions(e)),this.interactionManager.setOptions(Zt(e,typeof e.hunkSeparators==`function`||(e.hunkSeparators??`line-info`)===`line-info`||e.hunkSeparators===`line-info-basic`?this.handleExpandHunk:void 0,this.getLineIndex)))}mergeOptions(e){this.options={...this.options,...e}}setThemeType(e){(this.options.themeType??`system`)!==e&&(this.mergeOptions({themeType:e}),!(typeof this.options.theme==`string`||this.fileContainer==null||this.appliedThemeCSS==null)&&this.applyThemeState(this.fileContainer,this.appliedThemeCSS.themeStyles,e,this.appliedThemeCSS.baseThemeType))}getHoveredLine=()=>this.interactionManager.getHoveredLine();setLineAnnotations(e){this.lineAnnotations=e}canPartiallyRender(e,t,n){return!(e||t||n||typeof this.options.hunkSeparators==`function`)}setSelectedLines(e){this.interactionManager.setSelection(e)}cleanUp(e=!1){this.resizeManager.cleanUp(),this.interactionManager.cleanUp(),this.scrollSyncManager.cleanUp(),this.workerManager?.unsubscribeToThemeChanges(this),this.renderRange=void 0,this.isContainerManaged||this.fileContainer?.remove(),this.fileContainer?.shadowRoot!=null&&(this.fileContainer.shadowRoot.innerHTML=``),this.fileContainer=void 0,this.pre!=null&&(this.pre.innerHTML=``,this.pre=void 0),this.codeUnified=void 0,this.codeDeletions=void 0,this.codeAdditions=void 0,this.bufferBefore=void 0,this.bufferAfter=void 0,this.appliedPreAttributes=void 0,this.headerElement=void 0,this.headerPrefix=void 0,this.headerMetadata=void 0,this.headerCustom=void 0,this.lastRenderedHeaderHTML=void 0,this.errorWrapper=void 0,this.spriteSVG=void 0,this.lastRowCount=void 0,this.themeCSSStyle=void 0,this.appliedThemeCSS=void 0,this.unsafeCSSStyle=void 0,this.appliedUnsafeCSS=void 0,e?this.hunksRenderer.recycle():(this.hunksRenderer.cleanUp(),this.workerManager=void 0,this.fileDiff=void 0,this.deletionFile=void 0,this.additionFile=void 0),this.enabled=!1}virtualizedSetup(){this.enabled=!0,this.workerManager?.subscribeToThemeChanges(this)}hydrate(e){let{fileContainer:t,prerenderedHTML:n,preventEmit:r=!1,lineAnnotations:i,oldFile:a,newFile:o,fileDiff:s}=e;this.hydrateElements(t,n),Er(this.pre,wr({fileDiff:s,oldFile:a,newFile:o}),this.options.collapsed)||Dr(this.headerElement,Tr({fileDiff:s,oldFile:a,newFile:o}),this.options.disableFileHeader)?this.render({...e,preventEmit:!0}):this.hydrationSetup({fileDiff:s,oldFile:a,newFile:o,lineAnnotations:i}),r||this.emitPostRender()}hydrateElements(e,t){Hn(e,t);for(let t of e.shadowRoot?.children??[]){if(t instanceof SVGElement){this.spriteSVG=t;continue}if(t instanceof HTMLElement){if(t instanceof HTMLPreElement){this.pre=t;for(let e of t.children)!(e instanceof HTMLElement)||e.tagName.toLowerCase()!==`code`||(`deletions`in e.dataset&&(this.codeDeletions=e),`additions`in e.dataset&&(this.codeAdditions=e),`unified`in e.dataset&&(this.codeUnified=e));continue}if(`diffsHeader`in t.dataset){this.headerElement=t;continue}if(t instanceof HTMLStyleElement&&t.hasAttribute(`data-theme-css`)){this.themeCSSStyle=t;continue}if(t instanceof HTMLStyleElement&&t.hasAttribute(`data-unsafe-css`)){this.unsafeCSSStyle=t,this.appliedUnsafeCSS=t.textContent;continue}}}this.pre!=null&&(this.syncCodeNodesFromPre(this.pre),this.pre.removeAttribute(`data-dehydrated`)),this.fileContainer=e}hydrationSetup({fileDiff:e,oldFile:t,newFile:n,lineAnnotations:r}){let{diffStyle:i=`split`,overflow:a=`scroll`}=this.options;this.lineAnnotations=r??this.lineAnnotations,this.additionFile=n,this.deletionFile=t,this.fileDiff=e??(t!=null&&n!=null?xr(t,n,this.options.parseDiffOptions):void 0),this.pre!=null&&(this.hunksRenderer.hydrate(this.fileDiff),this.renderAnnotations(),this.renderGutterUtility(),this.injectUnsafeCSS(),this.interactionManager.setup(this.pre),this.resizeManager.setup(this.pre,a===`wrap`),a===`scroll`&&i===`split`&&this.scrollSyncManager.setup(this.pre,this.codeDeletions,this.codeAdditions))}rerender(){!this.enabled||this.fileDiff==null&&this.additionFile==null&&this.deletionFile==null||this.render({forceRender:!0,renderRange:this.renderRange})}handleExpandHunk=(e,t,n)=>{this.expandHunk(e,t,n)};expandHunk=(e,t,n)=>{this.hunksRenderer.expandHunk(e,t,n),this.rerender()};render({oldFile:e,newFile:t,fileDiff:n,forceRender:r=!1,preventEmit:i=!1,lineAnnotations:a,fileContainer:o,containerWrapper:s,renderRange:c}){if(!this.enabled)throw Error(`FileDiff.render: attempting to call render after cleaned up`);let{collapsed:l=!1}=this.options,u=l?void 0:c,d=e!=null&&t!=null&&(!tt(e,this.deletionFile)||!tt(t,this.additionFile)),f=n!=null&&n!==this.fileDiff,p=a!=null&&(a.length>0||this.lineAnnotations.length>0)?a!==this.lineAnnotations:!1;if(!l&&mn(u,this.renderRange)&&!r&&!p&&(n!=null&&n===this.fileDiff||n==null&&!d))return!1;let{renderRange:m}=this;if(this.renderRange=u,this.deletionFile=e,this.additionFile=t,n==null?e!=null&&t!=null&&d&&(f=!0,this.fileDiff=xr(e,t,this.options.parseDiffOptions)):this.fileDiff=n,a!=null&&this.setLineAnnotations(a),this.fileDiff==null)return!1;this.hunksRenderer.setOptions(this.getHunksRendererOptions(this.options)),this.hunksRenderer.setLineAnnotations(this.lineAnnotations);let{diffStyle:h=`split`,disableErrorHandling:g=!1,disableFileHeader:_=!1,overflow:v=`scroll`,themeType:y=`system`}=this.options;if(_&&(this.headerElement!=null&&(this.headerElement.remove(),this.headerElement=void 0,this.lastRenderedHeaderHTML=void 0),this.clearHeaderSlots()),o=this.getOrCreateFileContainer(o,s),l){this.removeRenderedCode(),this.clearAuxiliaryNodes();try{let e=this.hunksRenderer.renderDiff(this.fileDiff,ue);e!=null&&this.applyThemeState(o,e.themeStyles,y,e.baseThemeType),e?.headerElement!=null&&this.applyHeaderToDOM(e.headerElement,o),this.renderSeparators([]),this.injectUnsafeCSS()}catch(e){if(g)throw e;console.error(e),e instanceof Error&&this.applyErrorToDOM(e,o)}return i||this.emitPostRender(),!0}try{let e=this.getOrCreatePreNode(o);if(!(this.canPartiallyRender(r,p,d||f)&&this.applyPartialRender({previousRenderRange:m,renderRange:u}))){let t=this.hunksRenderer.renderDiff(this.fileDiff,u);if(t==null)return this.workerManager?.isInitialized()===!1&&this.workerManager.initialize().then(()=>this.rerender()),!1;this.applyThemeState(o,t.themeStyles,y,t.baseThemeType),t.headerElement!=null&&this.applyHeaderToDOM(t.headerElement,o),t.additionsContentAST!=null||t.deletionsContentAST!=null||t.unifiedContentAST!=null?this.applyHunksToDOM(e,t):this.pre!=null&&(this.pre.remove(),this.pre=void 0),this.renderSeparators(t.hunkData)}this.applyBuffers(e,u),this.injectUnsafeCSS(),this.renderAnnotations(),this.renderGutterUtility(),this.interactionManager.setup(e),this.resizeManager.setup(e,v===`wrap`),v===`scroll`&&h===`split`?this.scrollSyncManager.setup(e,this.codeDeletions,this.codeAdditions):this.scrollSyncManager.cleanUp()}catch(e){if(g)throw e;console.error(e),e instanceof Error&&this.applyErrorToDOM(e,o)}return i||this.emitPostRender(),!0}emitPostRender(){this.fileContainer!=null&&this.options.onPostRender?.(this.fileContainer,this)}removeRenderedCode(){this.resizeManager.cleanUp(),this.scrollSyncManager.cleanUp(),this.interactionManager.cleanUp(),this.bufferBefore?.remove(),this.bufferBefore=void 0,this.bufferAfter?.remove(),this.bufferAfter=void 0,this.codeUnified?.remove(),this.codeUnified=void 0,this.codeDeletions?.remove(),this.codeDeletions=void 0,this.codeAdditions?.remove(),this.codeAdditions=void 0,this.pre?.remove(),this.pre=void 0,this.appliedPreAttributes=void 0,this.lastRowCount=void 0}clearAuxiliaryNodes(){for(let{element:e}of this.separatorCache.values())e.remove();this.separatorCache.clear();for(let{element:e}of this.annotationCache.values())e.remove();this.annotationCache.clear(),this.gutterUtilityContent?.remove(),this.gutterUtilityContent=void 0}renderPlaceholder(e){if(this.fileContainer==null)return!1;if(this.cleanChildNodes(),this.placeHolder==null){let e=this.fileContainer.shadowRoot??this.fileContainer.attachShadow({mode:`open`});this.placeHolder=document.createElement(`div`),this.placeHolder.dataset.placeholder=``,e.appendChild(this.placeHolder)}return this.placeHolder.style.setProperty(`height`,`${e}px`),!0}cleanChildNodes(){this.resizeManager.cleanUp(),this.scrollSyncManager.cleanUp(),this.interactionManager.cleanUp(),this.bufferAfter?.remove(),this.bufferBefore?.remove(),this.codeAdditions?.remove(),this.codeDeletions?.remove(),this.codeUnified?.remove(),this.errorWrapper?.remove(),this.headerElement?.remove(),this.gutterUtilityContent?.remove(),this.headerPrefix?.remove(),this.headerMetadata?.remove(),this.headerCustom?.remove(),this.pre?.remove(),this.spriteSVG?.remove(),this.themeCSSStyle?.remove(),this.unsafeCSSStyle?.remove(),this.bufferAfter=void 0,this.bufferBefore=void 0,this.codeAdditions=void 0,this.codeDeletions=void 0,this.codeUnified=void 0,this.errorWrapper=void 0,this.headerElement=void 0,this.gutterUtilityContent=void 0,this.headerPrefix=void 0,this.headerMetadata=void 0,this.headerCustom=void 0,this.pre=void 0,this.spriteSVG=void 0,this.themeCSSStyle=void 0,this.appliedThemeCSS=void 0,this.unsafeCSSStyle=void 0,this.appliedUnsafeCSS=void 0,this.lastRenderedHeaderHTML=void 0,this.lastRowCount=void 0}renderSeparators(e){let{hunkSeparators:t}=this.options;if(this.isContainerManaged||this.fileContainer==null||typeof t!=`function`){for(let{element:e}of this.separatorCache.values())e.remove();this.separatorCache.clear();return}let n=new Map(this.separatorCache);for(let r of e){let e=r.slotName,i=this.separatorCache.get(e);if(i==null||!hr(r,i.hunkData)){i?.element.remove();let n=document.createElement(`div`);n.style.display=`contents`,n.slot=r.slotName;let a=t(r,this);a!=null&&n.appendChild(a),this.fileContainer.appendChild(n),i={element:n,hunkData:r},this.separatorCache.set(e,i)}n.delete(e)}for(let[e,{element:t}]of n.entries())this.separatorCache.delete(e),t.remove()}renderAnnotations(){if(this.isContainerManaged||this.fileContainer==null){for(let{element:e}of this.annotationCache.values())e.remove();this.annotationCache.clear();return}let e=new Map(this.annotationCache),{renderAnnotation:t}=this.options;if(t!=null&&this.lineAnnotations.length>0)for(let[n,r]of this.lineAnnotations.entries()){let i=`${n}-${Cn(r)}`,a=this.annotationCache.get(i);if(a==null||!mr(r,a.annotation)){a?.element.remove();let e=t(r);if(e==null)continue;a={element:Pn(Cn(r)),annotation:r},a.element.appendChild(e),this.fileContainer.appendChild(a.element),this.annotationCache.set(i,a)}e.delete(i)}for(let[t,{element:n}]of e.entries())this.annotationCache.delete(t),n.remove()}renderGutterUtility(){let e=this.options.renderGutterUtility??this.options.renderHoverUtility;if(this.fileContainer==null||e==null){this.gutterUtilityContent?.remove(),this.gutterUtilityContent=void 0;return}let t=e(this.interactionManager.getHoveredLine);if(t!=null&&this.gutterUtilityContent!=null)return;if(t==null){this.gutterUtilityContent?.remove(),this.gutterUtilityContent=void 0;return}let n=Fn();n.appendChild(t),this.fileContainer.appendChild(n),this.gutterUtilityContent=n}getOrCreateFileContainer(e,t){let n=this.fileContainer;if(this.fileContainer=e??this.fileContainer??document.createElement(`diffs-container`),n!=null&&n!==this.fileContainer&&(this.lastRenderedHeaderHTML=void 0,this.headerElement=void 0),t!=null&&this.fileContainer.parentNode!==t&&t.appendChild(this.fileContainer),this.spriteSVG==null){let e=document.createElement(`div`);e.innerHTML=kn;let t=e.firstChild;t instanceof SVGElement&&(this.spriteSVG=t,this.fileContainer.shadowRoot?.appendChild(this.spriteSVG))}return this.fileContainer}getFileContainer(){return this.fileContainer}getOrCreatePreNode(e){let t=e.shadowRoot??e.attachShadow({mode:`open`});return this.pre==null?(this.pre=document.createElement(`pre`),this.appliedPreAttributes=void 0,this.codeUnified=void 0,this.codeDeletions=void 0,this.codeAdditions=void 0,t.appendChild(this.pre)):this.pre.parentNode!==t&&(t.appendChild(this.pre),this.appliedPreAttributes=void 0),this.placeHolder?.remove(),this.placeHolder=void 0,this.pre}syncCodeNodesFromPre(e){this.codeUnified=void 0,this.codeDeletions=void 0,this.codeAdditions=void 0;for(let t of Array.from(e.children))t instanceof HTMLElement&&(t.hasAttribute(`data-unified`)?this.codeUnified=t:t.hasAttribute(`data-deletions`)?this.codeDeletions=t:t.hasAttribute(`data-additions`)&&(this.codeAdditions=t))}applyHeaderToDOM(e,t){this.cleanupErrorWrapper(),this.placeHolder?.remove(),this.placeHolder=void 0;let{fileDiff:n}=this,r=U(e);if(r!==this.lastRenderedHeaderHTML){let e=document.createElement(`div`);e.innerHTML=r;let n=e.firstElementChild;if(!(n instanceof HTMLElement))return;this.headerElement==null?t.shadowRoot?.prepend(n):t.shadowRoot?.replaceChild(n,this.headerElement),this.headerElement=n,this.lastRenderedHeaderHTML=r}if(this.isContainerManaged||n==null)return;let{renderCustomHeader:i,renderHeaderPrefix:a,renderHeaderMetadata:o}=this.options;if(i!=null){let e=i(n)??void 0;this.headerCustom=this.upsertHeaderSlotElement(t,this.headerCustom,Y,e),this.headerPrefix?.remove(),this.headerMetadata?.remove(),this.headerPrefix=void 0,this.headerMetadata=void 0;return}let s=a?.(n)??void 0,c=o?.(n)??void 0;this.headerPrefix=this.upsertHeaderSlotElement(t,this.headerPrefix,ke,s),this.headerMetadata=this.upsertHeaderSlotElement(t,this.headerMetadata,Be,c),this.headerCustom?.remove(),this.headerCustom=void 0}clearHeaderSlots(){this.headerPrefix?.remove(),this.headerMetadata?.remove(),this.headerCustom?.remove(),this.headerPrefix=void 0,this.headerMetadata=void 0,this.headerCustom=void 0}upsertHeaderSlotElement(e,t,n,r){if(r==null){t?.remove();return}let i=t??this.createHeaderSlotElement(n);return t??e.appendChild(i),this.replaceHeaderSlotContent(i,r),i}replaceHeaderSlotContent(e,t){e.replaceChildren(),t instanceof Element?e.appendChild(t):e.innerText=`${t}`}createHeaderSlotElement(e){let t=document.createElement(`div`);return t.slot=e,t}injectUnsafeCSS(){let{unsafeCSS:e}=this.options,t=this.fileContainer?.shadowRoot;if(t!=null){if(e==null||e===``){this.unsafeCSSStyle!=null&&(this.unsafeCSSStyle.remove(),this.unsafeCSSStyle=void 0),this.appliedUnsafeCSS=void 0;return}this.unsafeCSSStyle?.parentNode===t&&this.appliedUnsafeCSS===e||(this.unsafeCSSStyle??=In(),this.unsafeCSSStyle.parentNode!==t&&t.appendChild(this.unsafeCSSStyle),this.unsafeCSSStyle.textContent=zn(e),this.appliedUnsafeCSS=e)}}applyThemeState(e,t,n,r){let i=e.shadowRoot??e.attachShadow({mode:`open`}),a=r??n;this.themeCSSStyle?.parentNode===i&&this.appliedThemeCSS?.themeStyles===t&&this.appliedThemeCSS.themeType===a||(this.themeCSSStyle=Wn({shadowRoot:i,currentNode:this.themeCSSStyle,themeCSS:Bn(t,a)}),this.appliedThemeCSS=this.themeCSSStyle==null?void 0:{themeStyles:t,themeType:a,baseThemeType:r})}applyHunksToDOM(e,t){let{overflow:n=`scroll`}=this.options,r=(this.options.hunkSeparators??`line-info`)===`line-info`,i=n===`wrap`?t.rowCount:void 0;this.cleanupErrorWrapper(),this.applyPreNodeAttributes(e,t);let a=!1,o=[],s=this.hunksRenderer.renderCodeAST(`unified`,t),c=this.hunksRenderer.renderCodeAST(`deletions`,t),l=this.hunksRenderer.renderCodeAST(`additions`,t);s==null?c!=null||l!=null?(c==null?(this.codeDeletions?.remove(),this.codeDeletions=void 0):(a=this.codeDeletions==null||this.codeUnified!=null,this.codeUnified?.remove(),this.codeUnified=void 0,this.codeDeletions=Vn({code:this.codeDeletions,columnType:`deletions`,rowSpan:i,containerSize:r}),this.codeDeletions.innerHTML=this.hunksRenderer.renderPartialHTML(c),o.push(this.codeDeletions)),l==null?(this.codeAdditions?.remove(),this.codeAdditions=void 0):(a=a||this.codeAdditions==null||this.codeUnified!=null,this.codeUnified?.remove(),this.codeUnified=void 0,this.codeAdditions=Vn({code:this.codeAdditions,columnType:`additions`,rowSpan:i,containerSize:r}),this.codeAdditions.innerHTML=this.hunksRenderer.renderPartialHTML(l),o.push(this.codeAdditions))):(this.codeUnified?.remove(),this.codeUnified=void 0,this.codeDeletions?.remove(),this.codeDeletions=void 0,this.codeAdditions?.remove(),this.codeAdditions=void 0):(a=this.codeUnified==null||this.codeAdditions!=null||this.codeDeletions!=null,this.codeDeletions?.remove(),this.codeDeletions=void 0,this.codeAdditions?.remove(),this.codeAdditions=void 0,this.codeUnified=Vn({code:this.codeUnified,columnType:`unified`,rowSpan:i,containerSize:r}),this.codeUnified.innerHTML=this.hunksRenderer.renderPartialHTML(s),o.push(this.codeUnified)),o.length===0?e.textContent=``:a&&e.replaceChildren(...o),this.lastRowCount=t.rowCount}applyPartialRender({previousRenderRange:e,renderRange:t}){let{pre:n,codeUnified:r,codeAdditions:i,codeDeletions:a,options:{diffStyle:o=`split`}}=this;if(n==null||e==null||t==null||!Number.isFinite(e.totalLines)||!Number.isFinite(t.totalLines)||this.lastRowCount==null)return!1;let s=this.getCodeColumns(o,r,a,i);if(s==null)return!1;let c=e.startingLine,l=t.startingLine,u=c+e.totalLines,d=l+t.totalLines,f=Math.max(c,l),p=Math.min(u,d);if(p<=f)return!1;let m=Math.max(0,f-c),h=Math.max(0,u-p),g=this.trimColumns({columns:s,trimStart:m,trimEnd:h,previousStart:c,overlapStart:f,overlapEnd:p,diffStyle:o});if(g<0)throw Error(`applyPartialRender: failed to trim to overlap`);if(this.lastRowCount<g)throw Error(`applyPartialRender: trimmed beyond DOM row count`);let _=this.lastRowCount-g,v=(e,t)=>{if(!(t<=0||this.fileDiff==null))return this.hunksRenderer.renderDiff(this.fileDiff,{startingLine:e,totalLines:t,bufferBefore:0,bufferAfter:0})},y=v(l,Math.max(f-l,0));if(y==null&&l<f)return!1;let b=v(p,Math.max(d-p,0));if(b==null&&d>p)return!1;let x=(e,t)=>{if(e!=null){if(o===`unified`&&!Array.isArray(s))this.insertPartialHTML(o,s,e,t);else if(o===`split`&&Array.isArray(s))this.insertPartialHTML(o,s,e,t);else throw Error(`FileDiff.applyPartialRender.applyChunk: invalid chunk application`);_+=e.rowCount}};return this.cleanupErrorWrapper(),x(y,`afterbegin`),x(b,`beforeend`),this.lastRowCount!==_&&(this.applyRowSpan(o,s,_),this.lastRowCount=_),!0}insertPartialHTML(e,t,n,r){if(e===`unified`&&!Array.isArray(t)){let e=this.hunksRenderer.renderCodeAST(`unified`,n);this.renderPartialColumn(t,e,r)}else if(e===`split`&&Array.isArray(t)){let e=this.hunksRenderer.renderCodeAST(`deletions`,n),i=this.hunksRenderer.renderCodeAST(`additions`,n);this.renderPartialColumn(t[0],e,r),this.renderPartialColumn(t[1],i,r)}else throw Error(`FileDiff.insertPartialHTML: Invalid argument composition`)}renderPartialColumn(e,t,n){if(e==null||t==null)return;let r=Or(t[0]),i=Or(t[1]);if(r==null||i==null)throw Error(`FileDiff.insertPartialHTML: Unexpected AST structure`);let a=i.at(0);n===`beforeend`&&a?.type===`element`&&typeof a.properties[`data-buffer-size`]==`number`&&this.mergeBuffersIfNecessary(a.properties[`data-buffer-size`],e.content.children[e.content.children.length-1],e.gutter.children[e.gutter.children.length-1],r,i,!0);let o=i.at(-1);n===`afterbegin`&&o?.type===`element`&&typeof o.properties[`data-buffer-size`]==`number`&&this.mergeBuffersIfNecessary(o.properties[`data-buffer-size`],e.content.children[0],e.gutter.children[0],r,i,!1),e.gutter.insertAdjacentHTML(n,this.hunksRenderer.renderPartialHTML(r)),e.content.insertAdjacentHTML(n,this.hunksRenderer.renderPartialHTML(i))}mergeBuffersIfNecessary(e,t,n,r,i,a){if(!(t instanceof HTMLElement)||!(n instanceof HTMLElement))return;let o=this.getBufferSize(t.dataset);o!=null&&(a?(r.shift(),i.shift()):(r.pop(),i.pop()),this.updateBufferSize(t,o+e),this.updateBufferSize(n,o+e))}applyRowSpan(e,t,n){let r=e=>{e!=null&&(e.gutter.style.setProperty(`grid-row`,`span ${n}`),e.content.style.setProperty(`grid-row`,`span ${n}`))};if(e===`unified`&&!Array.isArray(t))r(t);else if(e===`split`&&Array.isArray(t))r(t[0]),r(t[1]);else throw Error(`dun fuuuuked up`)}trimColumnRows(e,t,n){let r=0,i=0,a=0,o=!1,s=n>=0;if(e==null)return 0;let c=Array.from(e.content.children),l=Array.from(e.gutter.children);if(c.length!==l.length)throw Error(`FileDiff.trimColumnRows: columns do not match`);for(;a<c.length&&!(t<=0&&!s&&!o);){let e=l[a],u=c[a];if(a++,!(e instanceof HTMLElement)||!(u instanceof HTMLElement))throw console.error({gutterElement:e,contentElement:u}),Error(`FileDiff.trimColumnRows: invalid row elements`);if(o&&(o=!1,e.dataset.gutterBuffer===`annotation`&&`lineAnnotation`in u.dataset||e.dataset.gutterBuffer===`metadata`&&`noNewline`in u.dataset)){e.remove(),u.remove(),i++;continue}if(`lineIndex`in e.dataset&&`lineIndex`in u.dataset){(t>0||s&&r>=n)&&(e.remove(),u.remove(),t>0&&(t--,t===0&&(o=!0)),i++),r++;continue}if(`separator`in e.dataset&&`separator`in u.dataset){(t>0||s&&r>=n)&&(e.remove(),u.remove(),i++);continue}if(e.dataset.gutterBuffer===`annotation`&&`lineAnnotation`in u.dataset){(t>0||s&&r>=n)&&(e.remove(),u.remove(),i++);continue}if(e.dataset.gutterBuffer===`metadata`&&`noNewline`in u.dataset){(t>0||s&&r>=n)&&(e.remove(),u.remove(),i++);continue}if(e.dataset.gutterBuffer===`buffer`&&`contentBuffer`in u.dataset){let a=this.getBufferSize(u.dataset);if(a==null)throw Error(`FileDiff.trimColumnRows: invalid element`);if(t>0){let n=Math.min(t,a),r=a-n;r>0?(this.updateBufferSize(e,r),this.updateBufferSize(u,r),i+=n):(e.remove(),u.remove(),i+=a),t-=n}else if(s){let t=r,o=r+a-1;if(n<=t)e.remove(),u.remove(),i+=a;else if(n<=o){let t=o-n+1,r=a-t;this.updateBufferSize(e,r),this.updateBufferSize(u,r),i+=t}}r+=a;continue}throw console.error({gutterElement:e,contentElement:u}),Error(`FileDiff.trimColumnRows: unknown row elements`)}return i}trimColumns({columns:e,diffStyle:t,overlapEnd:n,overlapStart:r,previousStart:i,trimEnd:a,trimStart:o}){let s=Math.max(0,r-i),c=n-i;if(c<0)throw Error(`FileDiff.trimColumns: overlap ends before previous`);let l=o>0,u=a>0;if(!l&&!u)return 0;let d=l?s:0,f=u?c:-1;if(t===`unified`&&!Array.isArray(e))return this.trimColumnRows(e,d,f);if(t===`split`&&Array.isArray(e)){let t=this.trimColumnRows(e[0],d,f),n=this.trimColumnRows(e[1],d,f);if(e[0]!=null&&e[1]!=null&&t!==n)throw Error(`FileDiff.trimColumns: split columns out of sync`);return e[0]==null?n:t}else throw console.error({diffStyle:t,columns:e}),Error(`FileDiff.trimColumns: Invalid columns for diffType`)}getBufferSize(e){let t=Number.parseInt(e?.bufferSize??``,10);return Number.isNaN(t)?void 0:t}updateBufferSize(e,t){e.dataset.bufferSize=`${t}`,e.style.setProperty(`grid-row`,`span ${t}`),e.style.setProperty(`min-height`,`calc(${t} * 1lh)`)}getCodeColumns(e,t,n,r){function i(e){if(e==null)return;let t=e.children[0],n=e.children[1];if(!(!(t instanceof HTMLElement)||!(n instanceof HTMLElement)||t.dataset.gutter==null||n.dataset.content==null))return{gutter:t,content:n}}if(e===`unified`)return i(t);{let e=i(n),t=i(r);return e!=null||t!=null?[e,t]:void 0}}applyBuffers(e,t){let{disableVirtualizationBuffers:n=!1}=this.options;if(n||t==null){this.bufferBefore!=null&&(this.bufferBefore.remove(),this.bufferBefore=void 0),this.bufferAfter!=null&&(this.bufferAfter.remove(),this.bufferAfter=void 0);return}t.bufferBefore>0?(this.bufferBefore??(this.bufferBefore=document.createElement(`div`),this.bufferBefore.dataset.virtualizerBuffer=`before`,e.before(this.bufferBefore)),this.bufferBefore.style.setProperty(`height`,`${t.bufferBefore}px`),this.bufferBefore.style.setProperty(`contain`,`strict`)):this.bufferBefore!=null&&(this.bufferBefore.remove(),this.bufferBefore=void 0),t.bufferAfter>0?(this.bufferAfter??(this.bufferAfter=document.createElement(`div`),this.bufferAfter.dataset.virtualizerBuffer=`after`,e.after(this.bufferAfter)),this.bufferAfter.style.setProperty(`height`,`${t.bufferAfter}px`),this.bufferAfter.style.setProperty(`contain`,`strict`)):this.bufferAfter!=null&&(this.bufferAfter.remove(),this.bufferAfter=void 0)}applyPreNodeAttributes(e,{additionsContentAST:t,deletionsContentAST:n,totalLines:r},i){let{diffIndicators:a=`bars`,disableBackground:o=!1,disableLineNumbers:s=!1,overflow:c=`scroll`,diffStyle:l=`split`}=this.options,u={type:`diff`,diffIndicators:a,disableBackground:o,disableLineNumbers:s,overflow:c,split:l===`unified`?!1:t!=null&&n!=null,totalLines:r,customProperties:i};jn(u,this.appliedPreAttributes)||(Un(e,u),this.appliedPreAttributes=u)}applyErrorToDOM(e,t){this.cleanupErrorWrapper();let n=this.getOrCreatePreNode(t);n.innerHTML=``,n.remove(),this.pre=void 0,this.appliedPreAttributes=void 0;let r=t.shadowRoot??t.attachShadow({mode:`open`});this.errorWrapper??=document.createElement(`div`),this.errorWrapper.dataset.errorWrapper=``,this.errorWrapper.innerHTML=``,r.appendChild(this.errorWrapper);let i=document.createElement(`div`);i.dataset.errorMessage=``,i.innerText=e.message,this.errorWrapper.appendChild(i);let a=document.createElement(`pre`);a.dataset.errorStack=``,a.innerText=e.stack??`No Error Stack`,this.errorWrapper.appendChild(a)}cleanupErrorWrapper(){this.errorWrapper?.remove(),this.errorWrapper=void 0}};function wr({fileDiff:e,oldFile:t,newFile:n}){return e!=null&&e.hunks.length>0||t!=null||n!=null}function Tr({fileDiff:e,oldFile:t,newFile:n}){return e!=null||t!=null||n!=null}function Er(e,t,n=!1){return!n&&e==null&&t}function Dr(e,t,n=!1){return e==null&&t&&!n}function Or(e){if(!(e==null||e.type!==`element`))return e.children??[]}var kr=new Set,Ar=new Set,jr=null,Mr=!1;function Nr(e){if(Mr){kr.add(e);return}Ar.add(e),jr??=requestAnimationFrame(Pr)}function Pr(e){Mr=!0;for(let t of Ar)try{t(e)}catch(e){console.error(e)}Ar.clear(),kr.size>0?(Ar=new Set(kr),kr.clear(),jr=requestAnimationFrame(Pr)):jr=null,Mr=!1}function Fr({hunkIndex:e,lineIndex:t,conflictIndex:n}){return`merge-conflict-action-${e}-${t}-${n}`}function Ir(e,t){let n=t.hunks[e.hunkIndex];if(n!=null)return{hunkIndex:e.hunkIndex,lineIndex:Lr(n,e.startContentIndex)}}function Lr(e,t){let n=e.unifiedLineStart;for(let r=0;r<t;r++){let t=e.hunkContent[r];n+=t.type===`context`?t.lines:t.deletions+t.additions}return n}var Rr=-1,zr=class extends Jn{__id=`virtualized-file:${++Rr}`;top;height=0;heightCache=new Map;isVisible=!1;isSetup=!1;constructor(e,t,n=De,r,i=!1){super(e,r,i),this.virtualizer=t,this.metrics=n}getLineHeight(e,t=!1){let n=this.heightCache.get(e);if(n!=null)return n;let r=t?2:1;return this.metrics.lineHeight*r}setOptions(e){if(e==null)return;let t=this.options.overflow,n=this.options.collapsed;super.setOptions(e),(t!==this.options.overflow||n!==this.options.collapsed)&&(this.heightCache.clear(),this.computeApproximateSize(),this.renderRange=void 0),this.virtualizer.instanceChanged(this)}reconcileHeights(){if(this.fileContainer==null||this.file==null){this.height=0;return}let{overflow:e=`scroll`}=this.options;if(this.top=this.virtualizer.getOffsetInScrollContainer(this.fileContainer),e===`scroll`&&this.lineAnnotations.length===0&&!this.virtualizer.config.resizeDebugging)return;let t=!1;if(this.code==null)return;let n=this.code.children[1];if(n instanceof HTMLElement){for(let e of n.children){if(!(e instanceof HTMLElement))continue;let n=e.dataset.lineIndex;if(n==null)continue;let r=Number(n),i=e.getBoundingClientRect().height,a=!1;e.nextElementSibling instanceof HTMLElement&&(`lineAnnotation`in e.nextElementSibling.dataset||`noNewline`in e.nextElementSibling.dataset)&&(`noNewline`in e.nextElementSibling.dataset&&(a=!0),i+=e.nextElementSibling.getBoundingClientRect().height);let o=this.getLineHeight(r,a);i!==o&&(t=!0,i===this.metrics.lineHeight*(a?2:1)?this.heightCache.delete(r):this.heightCache.set(r,i))}(t||this.virtualizer.config.resizeDebugging)&&this.computeApproximateSize()}}onRender=e=>this.fileContainer==null||this.file==null?!1:(e&&(this.top=this.virtualizer.getOffsetInScrollContainer(this.fileContainer)),this.render({file:this.file}));cleanUp(){this.fileContainer!=null&&this.virtualizer.disconnect(this.fileContainer),this.isSetup=!1,super.cleanUp()}computeApproximateSize(){let e=this.height===0;if(this.height=0,this.file==null)return;let{disableFileHeader:t=!1,collapsed:n=!1,overflow:r=`scroll`}=this.options,{diffHeaderHeight:i,fileGap:a,lineHeight:o}=this.metrics,s=this.getOrCreateLineCache(this.file);if(t?this.height+=a:this.height+=i,!n&&(r===`scroll`&&this.lineAnnotations.length===0?this.height+=this.getOrCreateLineCache(this.file).length*o:V({lines:s,callback:({lineIndex:e})=>{this.height+=this.getLineHeight(e,!1)}}),s.length>0&&(this.height+=a),this.fileContainer!=null&&this.virtualizer.config.resizeDebugging&&!e)){let e=this.fileContainer.getBoundingClientRect();e.height===this.height?console.log(`VirtualizedFile.computeApproximateSize: computed height IS CORRECT`):console.log(`VirtualizedFile.computeApproximateSize: computed height doesnt match`,{name:this.file.name,elementHeight:e.height,computedHeight:this.height})}}setVisibility(e){this.fileContainer!=null&&(e&&!this.isVisible?(this.top=this.virtualizer.getOffsetInScrollContainer(this.fileContainer),this.isVisible=!0):!e&&this.isVisible&&(this.isVisible=!1,this.rerender()))}render({fileContainer:e,file:t,...n}){let{isSetup:r}=this;if(this.file??=t,e=this.getOrCreateFileContainerNode(e),this.file==null)return console.error(`VirtualizedFile.render: attempting to virtually render when we dont have file`),!1;if(r?this.top??=this.virtualizer.getOffsetInScrollContainer(e):(this.computeApproximateSize(),this.virtualizer.connect(e,this),this.top??=this.virtualizer.getOffsetInScrollContainer(e),this.isVisible=this.virtualizer.isInstanceVisible(this.top,this.height),this.isSetup=!0),!this.isVisible)return this.renderPlaceholder(this.height);let i=this.virtualizer.getWindowSpecs(),a=this.computeRenderRangeFromWindow(this.file,this.top,i);return super.render({file:this.file,fileContainer:e,renderRange:a,...n})}computeRenderRangeFromWindow(e,t,{top:n,bottom:r}){let{disableFileHeader:i=!1,overflow:a=`scroll`}=this.options,{diffHeaderHeight:o,fileGap:s,hunkLineCount:c,lineHeight:l}=this.metrics,u=this.getOrCreateLineCache(e),d=u.length,f=this.height,p=i?s:o;if(t<n-f||t>r)return{startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:f-p-s};if(d<=c)return{startingLine:0,totalLines:c,bufferBefore:0,bufferAfter:0};let m=Math.ceil(Math.max(r-n,0)/l),h=Math.ceil(m/c)*c+c*2,g=h/c,_=(n+r)/2;if(a===`scroll`&&this.lineAnnotations.length===0){let e=Math.floor((_-(t+p))/l),n=Math.floor(e/c)-Math.floor(g/2),r=Math.ceil(d/c),i=Math.max(0,Math.min(n,r))*c,a=n<0?h+n*c:h,o=i*l,s=Math.min(a,d-i);return{startingLine:i,totalLines:a,bufferBefore:o,bufferAfter:Math.max(0,(d-i-s)*l)}}let v=g,y=[],b=t+p,x=0,S,C,w;if(V({lines:u,callback:({lineIndex:e})=>{let i=x%c===0;if(i&&(y.push(b-(t+p)),w!=null)){if(w<=0)return!0;w--}let a=this.getLineHeight(e,!1),o=Math.floor(x/c);return b>n-a&&b<r&&(S??=o),b+a>_&&(C??=o),w==null&&b>=r&&i&&(w=v),x++,b+=a,!1}}),S==null)return{startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:f-p-s};let T=y.length;C??=S;let E=Math.round(C-g/2),D=Math.max(0,T-g),O=Math.max(0,Math.min(E,D)),k=O*c,A=E<0?h+E*c:h,j=y[O]??0,ee=O+A/c;return{startingLine:k,totalLines:A,bufferBefore:j,bufferAfter:ee<y.length?f-p-y[ee]-s:f-(b-t)-s}}};function Br(e,t){let n={...De,...t};return n.hunkSeparatorHeight=Vr(e,t?.hunkSeparatorHeight),n}function Vr(e,t){if(t!=null)return t;switch(e){case`simple`:return 4;case`metadata`:case`line-info`:case`line-info-basic`:case`custom`:return 32}}var Hr=-1,Ur=class extends Cr{__id=`little-virtualized-file-diff:${++Hr}`;top;height=0;metrics;heightCache=new Map;isVisible=!1;isSetup=!1;virtualizer;constructor(e,t,n,r,i=!1){super(e,r,i);let{hunkSeparators:a=`line-info`}=this.options;this.virtualizer=t,this.metrics=Br(typeof a==`function`?`custom`:a,n)}getLineHeight(e,t=!1){let n=this.heightCache.get(e);if(n!=null)return n;let r=t?2:1;return this.metrics.lineHeight*r}setOptions(e){if(e==null)return;let t=this.options.diffStyle,n=this.options.overflow,r=this.options.collapsed;super.setOptions(e),(t!==this.options.diffStyle||n!==this.options.overflow||r!==this.options.collapsed)&&(this.heightCache.clear(),this.computeApproximateSize(),this.renderRange=void 0),this.virtualizer.instanceChanged(this)}reconcileHeights(){let{overflow:e=`scroll`}=this.options;if(this.fileContainer!=null&&(this.top=this.virtualizer.getOffsetInScrollContainer(this.fileContainer)),this.fileContainer==null||this.fileDiff==null){this.height=0;return}if(e===`scroll`&&this.lineAnnotations.length===0&&!this.virtualizer.config.resizeDebugging)return;let t=this.getDiffStyle(),n=!1,r=t===`split`?[this.codeDeletions,this.codeAdditions]:[this.codeUnified];for(let e of r){if(e==null)continue;let r=e.children[1];if(r instanceof HTMLElement)for(let e of r.children){if(!(e instanceof HTMLElement))continue;let r=e.dataset.lineIndex;if(r==null)continue;let i=Gr(r,t),a=e.getBoundingClientRect().height,o=!1;e.nextElementSibling instanceof HTMLElement&&(`lineAnnotation`in e.nextElementSibling.dataset||`noNewline`in e.nextElementSibling.dataset)&&(`noNewline`in e.nextElementSibling.dataset&&(o=!0),a+=e.nextElementSibling.getBoundingClientRect().height);let s=this.getLineHeight(i,o);a!==s&&(n=!0,a===this.metrics.lineHeight*(o?2:1)?this.heightCache.delete(i):this.heightCache.set(i,a))}}(n||this.virtualizer.config.resizeDebugging)&&this.computeApproximateSize()}onRender=e=>this.fileContainer==null?!1:(e&&(this.top=this.virtualizer.getOffsetInScrollContainer(this.fileContainer)),this.render());cleanUp(){this.fileContainer!=null&&this.virtualizer.disconnect(this.fileContainer),this.isSetup=!1,super.cleanUp()}expandHunk=(e,t,n)=>{this.hunksRenderer.expandHunk(e,t,n),this.computeApproximateSize(),this.renderRange=void 0,this.virtualizer.instanceChanged(this)};setVisibility(e){this.fileContainer!=null&&(this.renderRange=void 0,e&&!this.isVisible?(this.top=this.virtualizer.getOffsetInScrollContainer(this.fileContainer),this.isVisible=!0):!e&&this.isVisible&&(this.isVisible=!1,this.rerender()))}computeApproximateSize(){let e=this.height===0;if(this.height=0,this.fileDiff==null)return;let{disableFileHeader:t=!1,expandUnchanged:n=!1,collapsed:r=!1,collapsedContextThreshold:i=1,hunkSeparators:a=`line-info`}=this.options,{diffHeaderHeight:o,fileGap:s,hunkSeparatorHeight:c}=this.metrics,l=this.getDiffStyle(),u=a!==`simple`&&a!==`metadata`&&a!==`line-info-basic`?s:0;if(t?a!==`simple`&&a!==`metadata`&&(this.height+=s):this.height+=o,!r&&(rt({diff:this.fileDiff,diffStyle:l,expandedHunks:n?!0:this.hunksRenderer.getExpandedHunksMap(),collapsedContextThreshold:i,callback:({hunkIndex:e,collapsedBefore:t,collapsedAfter:n,deletionLine:r,additionLine:i})=>{let o=i==null?r.splitLineIndex:i.splitLineIndex,s=i==null?r.unifiedLineIndex:i.unifiedLineIndex,d=(i?.noEOFCR??!1)||(r?.noEOFCR??!1);t>0&&(e>0&&(this.height+=u),this.height+=c+u),this.height+=this.getLineHeight(l===`split`?o:s,d),n>0&&a!==`simple`&&(this.height+=u+c)}}),this.fileDiff.hunks.length>0&&(this.height+=s),this.fileContainer!=null&&this.virtualizer.config.resizeDebugging&&!e)){let e=this.fileContainer.getBoundingClientRect();e.height===this.height?console.log(`VirtualizedFileDiff.computeApproximateSize: computed height IS CORRECT`):console.log(`VirtualizedFileDiff.computeApproximateSize: computed height doesnt match`,{name:this.fileDiff.name,elementHeight:e.height,computedHeight:this.height})}}render({fileContainer:e,oldFile:t,newFile:n,fileDiff:r,...i}={}){let{isSetup:a}=this;if(this.fileDiff??=r??(t!=null&&n!=null?xr(t,n,this.options.parseDiffOptions):void 0),e=this.getOrCreateFileContainer(e),this.fileDiff==null)return console.error(`VirtualizedFileDiff.render: attempting to virtually render when we dont have the correct data`),!1;if(a?this.top??=this.virtualizer.getOffsetInScrollContainer(e):(this.computeApproximateSize(),this.virtualizer.connect(e,this),this.top??=this.virtualizer.getOffsetInScrollContainer(e),this.isVisible=this.virtualizer.isInstanceVisible(this.top,this.height),this.isSetup=!0),!this.isVisible)return this.renderPlaceholder(this.height);let o=this.virtualizer.getWindowSpecs(),s=this.computeRenderRangeFromWindow(this.fileDiff,this.top,o);return super.render({fileDiff:this.fileDiff,fileContainer:e,renderRange:s,oldFile:t,newFile:n,...i})}getDiffStyle(){return this.options.diffStyle??`split`}getExpandedRegion(e,t,n){if(n<=0||e)return{fromStart:0,fromEnd:0,collapsedLines:Math.max(n,0),renderAll:!1};let{expandUnchanged:r=!1,collapsedContextThreshold:i=1}=this.options;if(r||n<=i)return{fromStart:n,fromEnd:0,collapsedLines:0,renderAll:!0};let a=this.hunksRenderer.getExpandedHunk(t),o=Math.min(Math.max(a.fromStart,0),n),s=Math.min(Math.max(a.fromEnd,0),n),c=o+s,l=c>=n;return{fromStart:o,fromEnd:s,collapsedLines:Math.max(n-c,0),renderAll:l}}getExpandedLineCount(e,t){let n=0;if(e.isPartial){for(let r of e.hunks)n+=t===`split`?r.splitLineCount:r.unifiedLineCount;return n}for(let[r,i]of e.hunks.entries()){let a=t===`split`?i.splitLineCount:i.unifiedLineCount;n+=a;let o=Math.max(i.collapsedBefore,0),{fromStart:s,fromEnd:c,renderAll:l}=this.getExpandedRegion(e.isPartial,r,o);o>0&&(n+=l?o:s+c)}let r=e.hunks.at(-1);if(r!=null&&Wr(e)){let t=e.additionLines.length-(r.additionLineIndex+r.additionCount),i=e.deletionLines.length-(r.deletionLineIndex+r.deletionCount);if(r!=null&&t!==i)throw Error(`VirtualizedFileDiff: trailing context mismatch (additions=${t}, deletions=${i}) for ${e.name}`);let a=Math.min(t,i);if(r!=null&&a>0){let{fromStart:t,renderAll:r}=this.getExpandedRegion(e.isPartial,e.hunks.length,a);n+=r?a:t}}return n}computeRenderRangeFromWindow(e,t,{top:n,bottom:r}){let{disableFileHeader:i=!1,expandUnchanged:a=!1,collapsedContextThreshold:o=1,hunkSeparators:s=`line-info`}=this.options,{diffHeaderHeight:c,fileGap:l,hunkLineCount:u,hunkSeparatorHeight:d,lineHeight:f}=this.metrics,p=this.getDiffStyle(),m=this.height,h=this.getExpandedLineCount(e,p),g=i?l:c;if(t<n-m||t>r)return{startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:m-g-l};if(h<=u||e.hunks.length===0)return{startingLine:0,totalLines:u,bufferBefore:0,bufferAfter:0};let _=Math.ceil(Math.max(r-n,0)/f),v=Math.ceil(_/u)*u+u,y=v/u,b=y,x=[],S=(n+r)/2,C=s===`simple`||s===`metadata`||s===`line-info-basic`?0:l,w=t+g,T=0,E,D,O;if(rt({diff:e,diffStyle:p,expandedHunks:a?!0:this.hunksRenderer.getExpandedHunksMap(),collapsedContextThreshold:o,callback:({hunkIndex:e,collapsedBefore:i,collapsedAfter:a,deletionLine:o,additionLine:c})=>{let l=c==null?o.splitLineIndex:c.splitLineIndex,f=c==null?o.unifiedLineIndex:c.unifiedLineIndex,m=(c?.noEOFCR??!1)||(o?.noEOFCR??!1),h=i>0?d+C+(e>0?C:0):0;e===0&&s===`simple`&&(h=0),w+=h;let _=T%u===0;if(_&&(x.push(w-(t+g+h)),O!=null)){if(O<=0)return!0;O--}let v=this.getLineHeight(p===`split`?l:f,m),y=Math.floor(T/u);return w>n-v&&w<r&&(E??=y),D==null&&w+v>S&&(D=y),O==null&&w>=r&&_&&(O=b),T++,w+=v,a>0&&s!==`simple`&&(w+=d+C),!1}}),E==null)return{startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:m-g-l};let k=x.length;D??=E;let A=Math.round(D-y/2),j=Math.max(0,k-y),ee=Math.max(0,Math.min(A,j)),M=ee*u,N=A<0?v+A*u:v,P=x[ee]??0,te=ee+N/u;return{startingLine:M,totalLines:N,bufferBefore:P,bufferAfter:te<x.length?m-g-x[te]-l:m-(w-t)-l}}};function Wr(e){let t=e.hunks.at(-1);return t==null||e.isPartial||e.additionLines.length===0||e.deletionLines.length===0?!1:t.additionLineIndex+t.additionCount<e.additionLines.length||t.deletionLineIndex+t.deletionCount<e.deletionLines.length}function Gr(e,t){let[n,r]=e.split(`,`).map(Number);return t===`split`?r:n}function Kr(e,t){return e==null||t==null?e===t:e.top===t.top&&e.bottom===t.bottom}function qr({scrollTop:e,scrollHeight:t,height:n,containerOffset:r=0,fitPerfectly:i,overscrollSize:a}){let o=n+a*2,s=i?n:o;if(t=Math.max(t,s),o>=t||i){let n=Math.max(e-r,0),i=Math.min(e+s,t)-r;return{top:n,bottom:Math.max(i,n)}}let c=e+n/2-o/2,l=c+o;return c<0&&(c=0),l>t&&(l=t),c=Math.floor(Math.max(c-r,0)),{top:c,bottom:Math.ceil(Math.max(Math.min(l,t)-r,c))}}var Jr=1e3,Yr=Jr*4,Xr=[0,1e-6,.99999,1],Zr={overscrollSize:Jr,intersectionObserverMargin:Yr,resizeDebugging:!1},Qr=0,$r=-1,ei=class e{static __STOP=!1;static __lastScrollPosition=0;__id=`virtualizer-${++$r}`;config;type=`basic`;intersectionObserver;scrollTop=0;height=0;scrollHeight=0;windowSpecs={top:0,bottom:0};root;contentContainer;resizeObserver;observers=new Map;visibleInstances=new Map;visibleInstancesDirty=!1;instancesChanged=new Set;scrollDirty=!0;heightDirty=!0;scrollHeightDirty=!0;renderedObservers=0;connectQueue=new Map;constructor(e){this.config={...Zr,...e}}setup(t,n){if(this.root==null){this.root=t,this.resizeObserver=new ResizeObserver(this.handleContainerResize),this.intersectionObserver=new IntersectionObserver(this.handleIntersectionChange,{root:this.root,threshold:Xr,rootMargin:`${this.config.intersectionObserverMargin}px 0px ${this.config.intersectionObserverMargin}px 0px`}),t instanceof Document?this.setupWindow():this.setupElement(n),window.__INSTANCE=this,window.__TOGGLE=()=>{e.__STOP?(e.__STOP=!1,(this.getScrollContainerElement()??window).scrollTo({top:e.__lastScrollPosition}),Nr(this.computeRenderRangeAndEmit)):(e.__lastScrollPosition=this.getScrollTop(),e.__STOP=!0)};for(let[e,t]of this.connectQueue.entries())this.connect(e,t);this.connectQueue.clear(),this.markDOMDirty(),Nr(this.computeRenderRangeAndEmit)}}instanceChanged(e){this.instancesChanged.add(e),this.markDOMDirty(),Nr(this.computeRenderRangeAndEmit)}getWindowSpecs(){return this.windowSpecs.top===0&&this.windowSpecs.bottom===0&&(this.windowSpecs=qr({scrollTop:this.getScrollTop(),height:this.getHeight(),scrollHeight:this.getScrollHeight(),fitPerfectly:!1,overscrollSize:this.config.overscrollSize})),this.windowSpecs}isInstanceVisible(e,t){let n=this.getScrollTop(),r=this.getHeight(),i=this.config.intersectionObserverMargin,a=n-i,o=n+r+i;return!(e<a-t||e>o)}handleContainerResize=e=>{if(this.root==null)return;let t=!1;for(let n of e){let e=n.borderBoxSize[0].blockSize;this.root instanceof Document?e!==this.scrollHeight&&(this.scrollHeightDirty=!0,t=!0,this.config.resizeDebugging&&(console.log(`Virtualizer: content size change`,this.__id,{sizeChange:e-Qr,newSize:e}),Qr=e)):n.target===this.root?e!==this.height&&(this.heightDirty=!0,t=!0):n.target===this.contentContainer&&(this.scrollHeightDirty=!0,t=!0,this.config.resizeDebugging&&(console.log(`Virtualizer: scroller size change`,this.__id,{sizeChange:e-Qr,newSize:e}),Qr=e))}t&&Nr(this.computeRenderRangeAndEmit)};setupWindow(){if(this.root==null||!(this.root instanceof Document))throw Error(`Virtualizer.setupWindow: Invalid setup method`);window.addEventListener(`scroll`,this.handleWindowScroll,{passive:!0}),window.addEventListener(`resize`,this.handleWindowResize,{passive:!0}),this.resizeObserver?.observe(this.root.documentElement)}setupElement(e){if(this.root==null||this.root instanceof Document)throw Error(`Virtualizer.setupElement: Invalid setup method`);this.root.addEventListener(`scroll`,this.handleElementScroll,{passive:!0}),this.resizeObserver?.observe(this.root),e??=this.root.firstElementChild??void 0,e instanceof HTMLElement&&(this.contentContainer=e,this.resizeObserver?.observe(e))}cleanUp(){this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0,this.root?.removeEventListener(`scroll`,this.handleElementScroll),window.removeEventListener(`scroll`,this.handleWindowScroll),window.removeEventListener(`resize`,this.handleWindowResize),this.root=void 0,this.contentContainer=void 0,this.observers.clear(),this.visibleInstances.clear(),this.instancesChanged.clear(),this.connectQueue.clear(),this.visibleInstancesDirty=!1,this.windowSpecs={top:0,bottom:0},this.scrollTop=0,this.height=0,this.scrollHeight=0}getOffsetInScrollContainer(e){return this.getScrollTop()+ti(e,this.getScrollContainerElement())}connect(e,t){if(this.observers.has(e))throw Error(`Virtualizer.connect: instance is already connected...`);return this.intersectionObserver==null?this.connectQueue.set(e,t):(this.intersectionObserver.observe(e),this.observers.set(e,t),this.instancesChanged.add(t),this.markDOMDirty(),Nr(this.computeRenderRangeAndEmit)),()=>this.disconnect(e)}disconnect(e){let t=this.observers.get(e);this.connectQueue.delete(e),t!=null&&(this.intersectionObserver?.unobserve(e),this.observers.delete(e),this.visibleInstances.delete(e)&&(this.visibleInstancesDirty=!0),this.markDOMDirty(),Nr(this.computeRenderRangeAndEmit))}handleWindowResize=()=>{e.__STOP||window.innerHeight===this.height||(this.heightDirty=!0,Nr(this.computeRenderRangeAndEmit))};handleWindowScroll=()=>{e.__STOP||this.root==null||!(this.root instanceof Document)||(this.scrollDirty=!0,Nr(this.computeRenderRangeAndEmit))};handleElementScroll=()=>{e.__STOP||this.root==null||this.root instanceof Document||(this.scrollDirty=!0,Nr(this.computeRenderRangeAndEmit))};computeRenderRangeAndEmit=()=>{if(e.__STOP)return;let t=this.heightDirty||this.scrollHeightDirty;if(!this.scrollDirty&&!this.scrollHeightDirty&&!this.heightDirty&&this.renderedObservers===this.observers.size&&!this.visibleInstancesDirty&&this.instancesChanged.size===0)return;if(this.instancesChanged.size===0){let e=qr({scrollTop:this.getScrollTop(),height:this.getHeight(),scrollHeight:this.getScrollHeight(),fitPerfectly:!1,overscrollSize:this.config.overscrollSize});if(Kr(this.windowSpecs,e)&&this.renderedObservers===this.observers.size&&!this.visibleInstancesDirty&&this.instancesChanged.size===0)return;this.windowSpecs=e}this.visibleInstancesDirty=!1,this.renderedObservers=this.observers.size;let n=this.getScrollAnchor(this.height),r=new Set;for(let e of t?this.observers.values():this.visibleInstances.values())e.onRender(t)&&r.add(e);for(let e of this.instancesChanged)r.has(e)||e.onRender(t)&&r.add(e);this.scrollFix(n),this.instancesChanged.size>0&&this.markDOMDirty();for(let e of r)e.reconcileHeights();(this.instancesChanged.size>0||t)&&Nr(this.computeRenderRangeAndEmit),r.clear(),this.instancesChanged.clear()};scrollFix(e){if(e==null)return;let t=this.getScrollContainerElement(),{lineIndex:n,lineOffset:r,fileElement:i,fileOffset:a,fileTypeOffset:o}=e;if(n!=null&&r!=null){let e=i.shadowRoot?.querySelector(`[data-line][data-line-index="${n}"]`);if(e instanceof HTMLElement){let n=ti(e,t);if(n!==r){let e=n-r;this.applyScrollFix(e)}return}}let s=ti(i,t);if(o===`top`)s!==a&&this.applyScrollFix(s-a);else{let e=s+i.getBoundingClientRect().height;e!==a&&this.applyScrollFix(e-a)}}applyScrollFix(e){this.root==null||this.root instanceof Document?window.scrollTo({top:window.scrollY+e,behavior:`instant`}):this.root.scrollTo({top:this.root.scrollTop+e,behavior:`instant`}),this.markDOMDirty()}getScrollAnchor(e){let t=this.getScrollContainerElement(),n;for(let[r]of this.visibleInstances.entries()){let i=ti(r,t),a=i+r.offsetHeight,o,s;a<=0?(o=a,s=`bottom`):(o=i,s=`top`);let c,l;if(a>0&&i<e)for(let e of r.shadowRoot?.querySelectorAll(`[data-line][data-line-index]`)??[]){if(!(e instanceof HTMLElement))continue;let n=e.dataset.lineIndex;if(n==null)continue;let r=ti(e,t);if(!(r<0)){c=n,l=r;break}}if(n?.lineOffset!=null&&l==null)continue;let u=!1;(n==null||l!=null&&(n.lineOffset==null||l<n.lineOffset)||l==null&&n.lineOffset==null&&(o>=0&&(n.fileOffset<0||o<n.fileOffset)||o<0&&n.fileOffset<0&&o>n.fileOffset))&&(u=!0),u&&(n={fileElement:r,fileTypeOffset:s,fileOffset:o,lineIndex:c,lineOffset:l})}return n}handleIntersectionChange=e=>{this.scrollDirty=!0;for(let{target:t,isIntersecting:n}of e){if(!(t instanceof HTMLElement))throw Error(`Virtualizer.handleIntersectionChange: target not an HTMLElement`);let e=this.observers.get(t);if(e==null)throw Error(`Virtualizer.handleIntersectionChange: no instance for target`);n&&!this.visibleInstances.has(t)?(e.setVisibility(!0),this.visibleInstances.set(t,e),this.visibleInstancesDirty=!0):!n&&this.visibleInstances.has(t)&&(e.setVisibility(!1),this.visibleInstances.delete(t),this.visibleInstancesDirty=!0)}this.visibleInstancesDirty&&Nr(this.computeRenderRangeAndEmit)};getScrollTop(){if(!this.scrollDirty)return this.scrollTop;this.scrollDirty=!1;let e=this.root==null?0:this.root instanceof Document?window.scrollY:this.root.scrollTop;return e=Math.max(0,Math.min(e,this.getScrollHeight()-this.getHeight())),this.scrollTop=e,e}getScrollHeight(){return this.scrollHeightDirty?(this.scrollHeightDirty=!1,this.scrollHeight=this.root==null?0:this.root instanceof Document?this.root.documentElement.scrollHeight:this.root.scrollHeight,this.scrollHeight):this.scrollHeight}getHeight(){return this.heightDirty?(this.heightDirty=!1,this.height=this.root==null?0:this.root instanceof Document?globalThis.innerHeight:this.root.getBoundingClientRect().height,this.height):this.height}markDOMDirty(){this.scrollDirty=!0,this.scrollHeightDirty=!0,this.heightDirty=!0}getScrollContainerElement(){return this.root==null||this.root instanceof Document?void 0:this.root}};function ti(e,t){let n=e.getBoundingClientRect(),r=t?.getBoundingClientRect().top??0;return n.top-r}function ni(e,t,n){if(e===t||e==null||t==null)return e===t;let r=new Set(n),i=Object.keys(e),a=new Set(Object.keys(t));for(let n of i)if(a.delete(n),!r.has(n)&&(!(n in t)||e[n]!==t[n]))return!1;for(let e of Array.from(a))if(!r.has(e))return!1;return!0}function ri(e,t){let n=e?.theme??J,r=t?.theme??J,i=ii(e),a=ii(t);return Ve(n,r)&&ni(e,t,[`theme`,`parseDiffOptions`])&&ni(i,a)}function ii(e){if(e!=null&&`parseDiffOptions`in e)return e.parseDiffOptions}var ai={position:`absolute`,top:0,bottom:0,textAlign:`center`},oi={display:`contents`};function si(){return null}var Q=S();function ci({file:e,renderCustomHeader:t,renderHeaderPrefix:n,renderHeaderMetadata:r,renderAnnotation:i,lineAnnotations:a,renderGutterUtility:o,renderHoverUtility:s,getHoveredLine:c}){let l=o??s,u=t?.(e),d=n?.(e),f=r?.(e);return(0,Q.jsxs)(Q.Fragment,{children:[u==null?(0,Q.jsxs)(Q.Fragment,{children:[d!=null&&(0,Q.jsx)(`div`,{slot:`header-prefix`,children:d}),f!=null&&(0,Q.jsx)(`div`,{slot:`header-metadata`,children:f})]}):(0,Q.jsx)(`div`,{slot:Y,children:u}),i!=null&&a?.map((e,t)=>(0,Q.jsx)(`div`,{slot:Cn(e),children:i(e)},t)),l!=null&&(0,Q.jsx)(`div`,{slot:`gutter-utility-slot`,style:ai,children:l(c)})]})}function li(e,t){return typeof window>`u`&&t!=null?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`template`,{shadowrootmode:`open`,dangerouslySetInnerHTML:{__html:t}}),e]}):(0,Q.jsx)(Q.Fragment,{children:e})}var $=e(t(),1),ui=(0,$.createContext)(void 0);function di({children:e,config:t,className:n,style:r,contentClassName:i,contentStyle:a}){let[o]=(0,$.useState)(()=>typeof window<`u`?new ei(t):void 0),s=(0,$.useCallback)(e=>{e==null?o?.cleanUp():o?.setup(e)},[o]);return(0,Q.jsx)(ui.Provider,{value:o,children:(0,Q.jsx)(`div`,{className:n,style:r,ref:s,children:(0,Q.jsx)(`div`,{className:i,style:a,children:e})})})}function fi(){return(0,$.useContext)(ui)}function pi(e){let t=(0,$.useRef)(e);return(0,$.useInsertionEffect)(()=>void(t.current=e)),(0,$.useCallback)((...e)=>t.current(...e),[])}var mi=typeof window>`u`?$.useEffect:$.useLayoutEffect;function hi({file:e,options:t,lineAnnotations:n,selectedLines:r,prerenderedHTML:i,metrics:a,hasGutterRenderUtility:o,hasCustomHeader:s,disableWorkerPool:c}){let l=fi(),u=(0,$.useContext)(We),d=(0,$.useRef)(null),f=pi(r=>{if(r!=null){if(d.current!=null)throw Error(`File: An instance should not already exist when a node is created`);l==null?d.current=new Jn(gi({hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),c?void 0:u,!0):d.current=new zr(gi({hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),l,a,c?void 0:u,!0),d.current.hydrate({file:e,fileContainer:r,lineAnnotations:n,prerenderedHTML:i})}else{if(d.current==null)throw Error(`File: A File instance should exist when unmounting`);d.current.cleanUp(),d.current=null}});return mi(()=>{if(d.current==null)return;let i=gi({hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),a=!ri(d.current.options,i);d.current.setOptions(i),d.current.render({file:e,lineAnnotations:n,forceRender:a}),r!==void 0&&d.current.setSelectedLines(r)}),{ref:f,getHoveredLine:(0,$.useCallback)(()=>d.current?.getHoveredLine(),[])}}function gi({options:e,hasCustomHeader:t,hasGutterRenderUtility:n}){return n||t?{...e,renderCustomHeader:t?si:void 0,renderGutterUtility:n?si:void 0}:e}function _i({file:e,lineAnnotations:t,selectedLines:n,options:r,metrics:i,className:a,style:o,renderAnnotation:s,renderCustomHeader:c,renderHeaderPrefix:l,renderHeaderMetadata:u,prerenderedHTML:d,renderGutterUtility:f,renderHoverUtility:p,disableWorkerPool:m=!1}){let{ref:h,getHoveredLine:g}=hi({file:e,options:r,metrics:i,lineAnnotations:t,selectedLines:n,prerenderedHTML:d,hasGutterRenderUtility:f!=null||p!=null,hasCustomHeader:c!=null,disableWorkerPool:m});return(0,Q.jsx)(H,{ref:h,className:a,style:o,children:li(ci({file:e,renderAnnotation:s,renderCustomHeader:c,renderHeaderPrefix:l,renderHeaderMetadata:u,renderGutterUtility:f,renderHoverUtility:p,lineAnnotations:t,getHoveredLine:g}),d)})}function vi({fileDiff:e,actions:t,renderCustomHeader:n,renderHeaderPrefix:r,renderHeaderMetadata:i,renderAnnotation:a,renderGutterUtility:o,renderHoverUtility:s,renderMergeConflictUtility:c,lineAnnotations:l,getHoveredLine:u,getInstance:d}){let f=o??s,p=n?.(e),m=r?.(e),h=i?.(e);return(0,Q.jsxs)(Q.Fragment,{children:[p==null?(0,Q.jsxs)(Q.Fragment,{children:[m!=null&&(0,Q.jsx)(`div`,{slot:`header-prefix`,children:m}),h!=null&&(0,Q.jsx)(`div`,{slot:`header-metadata`,children:h})]}):(0,Q.jsx)(`div`,{slot:Y,children:p}),a!=null&&l?.map((e,t)=>(0,Q.jsx)(`div`,{slot:Cn(e),children:a(e)},t)),t!=null&&c!=null&&d!=null&&t.map(t=>{if(t==null)return;let n=yi(t,e);return(0,Q.jsx)(`div`,{slot:n,style:oi,children:c(t,d)},n)}),f!=null&&(0,Q.jsx)(`div`,{slot:`gutter-utility-slot`,style:ai,children:f(u)})]})}function yi(e,t){let n=Ir(e,t);return n==null?void 0:Fr({hunkIndex:n.hunkIndex,lineIndex:n.lineIndex,conflictIndex:e.conflictIndex})}var bi=typeof window>`u`?$.useEffect:$.useLayoutEffect;function xi({fileDiff:e,options:t,lineAnnotations:n,selectedLines:r,prerenderedHTML:i,metrics:a,hasGutterRenderUtility:o,hasCustomHeader:s,disableWorkerPool:c}){let l=fi(),u=(0,$.useContext)(We),d=(0,$.useRef)(null),f=pi(r=>{if(r!=null){if(d.current!=null)throw Error(`useFileDiffInstance: An instance should not already exist when a node is created`);l==null?d.current=new Cr(Si({hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),c?void 0:u,!0):d.current=new Ur(Si({hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),l,a,c?void 0:u,!0),d.current.hydrate({fileDiff:e,fileContainer:r,lineAnnotations:n,prerenderedHTML:i})}else{if(d.current==null)throw Error(`useFileDiffInstance: A FileDiff instance should exist when unmounting`);d.current.cleanUp(),d.current=null}});return bi(()=>{let{current:i}=d;if(i==null)return;let a=Si({hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),c=!ri(i.options,a);i.setOptions(a),i.render({forceRender:c,fileDiff:e,lineAnnotations:n}),r!==void 0&&i.setSelectedLines(r)}),{ref:f,getHoveredLine:(0,$.useCallback)(()=>d.current?.getHoveredLine(),[])}}function Si({options:e,hasCustomHeader:t,hasGutterRenderUtility:n}){return n||t?{...e,renderCustomHeader:t?si:void 0,renderGutterUtility:n?si:void 0}:e}function Ci({fileDiff:e,options:t,metrics:n,lineAnnotations:r,selectedLines:i,className:a,style:o,prerenderedHTML:s,renderAnnotation:c,renderCustomHeader:l,renderHeaderPrefix:u,renderHeaderMetadata:d,renderGutterUtility:f,renderHoverUtility:p,disableWorkerPool:m=!1}){let{ref:h,getHoveredLine:g}=xi({fileDiff:e,options:t,metrics:n,lineAnnotations:r,selectedLines:i,prerenderedHTML:s,hasGutterRenderUtility:f!=null||p!=null,hasCustomHeader:l!=null,disableWorkerPool:m});return(0,Q.jsx)(H,{ref:h,className:a,style:o,children:li(vi({fileDiff:e,renderCustomHeader:l,renderHeaderPrefix:u,renderHeaderMetadata:d,renderAnnotation:c,renderGutterUtility:f,lineAnnotations:r,renderHoverUtility:p,getHoveredLine:g}),s)})}var wi=n();function Ti(e){let t=e.name??e.prevName??``;return t.startsWith(`a/`)||t.startsWith(`b/`)?t.slice(2):t}function Ei(e,t=!1){let n=e.trim();return t?n:n.toLowerCase()}function Di(e,t){t.text!==void 0&&e.push({fileIndex:t.fileIndex,field:t.field,text:t.text,normalizedText:t.text.toLowerCase(),...t.lineIndex===void 0?{}:{lineIndex:t.lineIndex},...t.unifiedLineIndex===void 0?{}:{unifiedLineIndex:t.unifiedLineIndex},...t.splitLineIndex===void 0?{}:{splitLineIndex:t.splitLineIndex}})}function Oi(e,t,n){t.additionLines.forEach((t,r)=>{Di(e,{fileIndex:n,field:`addition`,lineIndex:r,text:t})}),t.deletionLines.forEach((t,r)=>{Di(e,{fileIndex:n,field:`deletion`,lineIndex:r,text:t})})}function ki(e,t,n){if(!t.hunks||t.hunks.length===0)return!1;for(let r of t.hunks){let i=r.unifiedLineStart,a=r.splitLineStart;for(let o of r.hunkContent){if(o.type===`context`){for(let r=0;r<o.lines;r+=1){let s=o.additionLineIndex+r,c=o.deletionLineIndex+r;Di(e,{fileIndex:n,field:`context`,lineIndex:s,unifiedLineIndex:i+r,splitLineIndex:a+r,text:t.additionLines[s]??t.deletionLines[c]})}i+=o.lines,a+=o.lines;continue}for(let r=0;r<o.deletions;r+=1){let s=o.deletionLineIndex+r;Di(e,{fileIndex:n,field:`deletion`,lineIndex:s,unifiedLineIndex:i+r,splitLineIndex:a+r,text:t.deletionLines[s]})}for(let r=0;r<o.additions;r+=1){let s=o.additionLineIndex+r;Di(e,{fileIndex:n,field:`addition`,lineIndex:s,unifiedLineIndex:i+o.deletions+r,splitLineIndex:a+r,text:t.additionLines[s]})}i+=o.deletions+o.additions,a+=Math.max(o.deletions,o.additions)}}return!0}function Ai(e){let t=[];return e.forEach((e,n)=>{Di(t,{text:Ti(e),fileIndex:n,field:`path`}),e.prevName&&Di(t,{text:Ti({name:e.prevName}),fileIndex:n,field:`previousPath`}),ki(t,e,n)||Oi(t,e,n)}),{records:t}}function ji(e){let t=e.caseSensitive?e.record.text:e.record.normalizedText,n=[],r=0;for(;;){let i=t.indexOf(e.needle,r);if(i===-1)return n;let a=i+e.needle.length;n.push({fileIndex:e.record.fileIndex,field:e.record.field,...e.record.lineIndex===void 0?{}:{lineIndex:e.record.lineIndex},...e.record.unifiedLineIndex===void 0?{}:{unifiedLineIndex:e.record.unifiedLineIndex},...e.record.splitLineIndex===void 0?{}:{splitLineIndex:e.record.splitLineIndex},start:i,end:a}),r=a>i?a:i+1}}function Mi(e){return!Array.isArray(e)}function Ni(e,t,n){let r=n?.caseSensitive??!1,i=Ei(t,r);if(!i)return[];let a=Mi(e)?e:Ai(e),o=[];for(let e of a.records)o.push(...ji({record:e,needle:i,caseSensitive:r}));return o}function Pi(e){return[...new Set(e.map(e=>e.fileIndex))]}function Fi(e){let t=new Map;for(let n of e){let e=t.get(n.fileIndex);e?e.push(n):t.set(n.fileIndex,[n])}return t}function Ii(e,t,n){return t<=0?0:(e+n+t)%t}function Li(e,t){return e.field===`path`||e.field===`previousPath`?null:(t===`split`?e.splitLineIndex:e.unifiedLineIndex)??e.lineIndex??null}function Ri(e){return e===`addition`||e===`deletion`||e===`context`}function zi(e){if(!e)return null;let[t,n]=e.split(`,`),r=Number.parseInt(t??``,10);if(!Number.isFinite(r))return null;let i=Number.parseInt(n??``,10);return{stacked:r,split:Number.isFinite(i)?i:r}}function Bi(e,t){if(!Ri(e.field)||Li(e,t.renderMode)!==(t.renderMode===`split`?t.lineIndexes.split:t.lineIndexes.stacked))return!1;switch(e.field){case`addition`:return t.lineType===`change-addition`||t.lineType===`addition`;case`deletion`:return t.lineType===`change-deletion`||t.lineType===`deletion`;case`context`:return t.lineType===`context`||t.lineType===`context-expanded`}}function Vi(e){let t=e.cwd?it(e.filePath,e.cwd):e.filePath;return typeof e.lineNumber==`number`?`${t}:${e.lineNumber}`:t}var Hi=`
65
+ `||s[s.length-1]===``);)s.pop();let v=parseInt(p[3]),y=parseInt(p[1]);u=l?u:y-1,d=l?d:v-1;let b={collapsedBefore:0,splitLineCount:0,splitLineStart:0,unifiedLineCount:0,unifiedLineStart:0,additionCount:parseInt(p[4]??`1`),additionStart:v,additionLines:m,deletionCount:parseInt(p[2]??`1`),deletionStart:y,deletionLines:h,deletionLineIndex:u,additionLineIndex:d,hunkContent:[],hunkContext:p[5],hunkSpecs:f,noEOFCRAdditions:!1,noEOFCRDeletions:!1};if(isNaN(b.additionCount)||isNaN(b.deletionCount)||isNaN(b.additionStart)||isNaN(b.deletionStart)){if(a)throw Error(`parsePatchContent: invalid hunk metadata`);console.error(`parsePatchContent: invalid hunk metadata`,b);continue}for(let e of s){let t=gr(e);if(t==null){console.error(`processFile: invalid rawLine:`,e);continue}let{type:n,line:r}=t;if(n===`addition`)(g==null||g.type!==`change`)&&(g=br(`change`,u,d),b.hunkContent.push(g)),d++,l&&c.additionLines.push(r),g.additions++,m++,_=`addition`;else if(n===`deletion`)(g==null||g.type!==`change`)&&(g=br(`change`,u,d),b.hunkContent.push(g)),u++,l&&c.deletionLines.push(r),g.deletions++,h++,_=`deletion`;else if(n===`context`)(g==null||g.type!==`context`)&&(g=br(`context`,u,d),b.hunkContent.push(g)),d++,u++,l&&(c.deletionLines.push(r),c.additionLines.push(r)),g.lines++,_=`context`;else if(n===`metadata`&&g!=null){if(g.type===`context`?(b.noEOFCRAdditions=!0,b.noEOFCRDeletions=!0):_===`deletion`?b.noEOFCRDeletions=!0:_===`addition`&&(b.noEOFCRAdditions=!0),l&&(_===`addition`||_===`context`)){let e=c.additionLines.length-1;e>=0&&(c.additionLines[e]=He(c.additionLines[e]))}if(l&&(_===`deletion`||_===`context`)){let e=c.deletionLines.length-1;e>=0&&(c.deletionLines[e]=He(c.deletionLines[e]))}}}b.additionLines=m,b.deletionLines=h,b.collapsedBefore=Math.max(b.additionStart-1-o,0),c.hunks.push(b),o=b.additionStart+b.additionCount-1;for(let e of b.hunkContent)e.type===`context`?(b.splitLineCount+=e.lines,b.unifiedLineCount+=e.lines):(b.splitLineCount+=Math.max(e.additions,e.deletions),b.unifiedLineCount+=e.deletions+e.additions);b.splitLineStart=c.splitLineCount+b.collapsedBefore,b.unifiedLineStart=c.unifiedLineCount+b.collapsedBefore,c.splitLineCount+=b.collapsedBefore+b.splitLineCount,c.unifiedLineCount+=b.collapsedBefore+b.unifiedLineCount}if(c!=null){if(c.hunks.length>0&&!l&&c.additionLines.length>0&&c.deletionLines.length>0){let e=c.hunks[c.hunks.length-1],t=e.additionStart+e.additionCount-1,n=c.additionLines.length,r=Math.max(n-t,0);c.splitLineCount+=r,c.unifiedLineCount+=r}return n||(c.prevName!=null&&c.name!==c.prevName?c.hunks.length>0?c.type=`rename-changed`:c.type=`rename-pure`:(r==null||r.contents===``)&&i!=null&&i.contents!==``?c.type=`new`:r!=null&&r.contents!==``&&(i==null||i.contents===``)&&(c.type=`deleted`)),c.type!==`rename-pure`&&c.type!==`rename-changed`&&(c.prevName=void 0),c}}function yr(e,t,n=!1){let r=[];for(let i of e.split(be))try{r.push(_r(i,t==null?void 0:`${t}-${r.length}`,n))}catch(e){if(n)throw e;console.error(e)}return r}function br(e,t,n){return e===`change`?{type:`change`,additions:0,deletions:0,additionLineIndex:n,deletionLineIndex:t}:{type:`context`,lines:0,additionLineIndex:n,deletionLineIndex:t}}function xr(e,t,n,r=!1){let i=vr(we(e.name,t.name,e.contents,t.contents,e.header,t.header,n),{cacheKey:(()=>{if(e.cacheKey!=null&&t.cacheKey!=null)return`${e.cacheKey}:${t.cacheKey}`})(),oldFile:e,newFile:t,throwOnError:r});if(i==null)throw Error(`parseDiffFrom: FileInvalid diff -- probably need to fix something -- if the files are the same maybe?`);return t.lang!=null&&(i.lang=t.lang),i}var Sr=-1,Cr=class{static LoadedCustomComponent=!0;__id=`file-diff:${++Sr}`;fileContainer;spriteSVG;pre;codeUnified;codeDeletions;codeAdditions;bufferBefore;bufferAfter;themeCSSStyle;appliedThemeCSS;unsafeCSSStyle;appliedUnsafeCSS;gutterUtilityContent;headerElement;headerPrefix;headerMetadata;headerCustom;separatorCache=new Map;errorWrapper;placeHolder;hunksRenderer;resizeManager;scrollSyncManager;interactionManager;annotationCache=new Map;lineAnnotations=[];deletionFile;additionFile;fileDiff;renderRange;appliedPreAttributes;lastRenderedHeaderHTML;lastRowCount;enabled=!0;constructor(e={theme:J},t,n=!1){this.options=e,this.workerManager=t,this.isContainerManaged=n,this.hunksRenderer=this.createHunksRenderer(e),this.resizeManager=new dn,this.scrollSyncManager=new Zn,this.interactionManager=new Xt(`diff`,Zt(e,typeof e.hunkSeparators==`function`||(e.hunkSeparators??`line-info`)===`line-info`||e.hunkSeparators===`line-info-basic`?this.handleExpandHunk:void 0,this.getLineIndex)),this.workerManager?.subscribeToThemeChanges(this),this.enabled=!0}handleHighlightRender=()=>{this.rerender()};getHunksRendererOptions(e){return{...e,headerRenderMode:e.renderCustomHeader==null?`default`:`custom`,hunkSeparators:typeof e.hunkSeparators==`function`?`custom`:e.hunkSeparators}}createHunksRenderer(e){return new or(this.getHunksRendererOptions(e),this.handleHighlightRender,this.workerManager)}getLineIndex=(e,t=`additions`)=>{if(this.fileDiff==null)return;let n=this.fileDiff.hunks.at(-1),r,i;hunkIterator:for(let a of this.fileDiff.hunks){let o=t===`deletions`?a.deletionStart:a.additionStart,s=t===`deletions`?a.deletionCount:a.additionCount,c=a.splitLineStart,l=a.unifiedLineStart;if(e<o){let t=o-e;r=Math.max(l-t,0),i=Math.max(c-t,0);break hunkIterator}if(e>=o+s){if(a===n){let t=e-(o+s);r=l+a.unifiedLineCount+t,i=c+a.splitLineCount+t;break hunkIterator}continue}for(let n of a.hunkContent)if(n.type===`context`)if(e<o+n.lines){let t=e-o;i=c+t,r=l+t;break hunkIterator}else o+=n.lines,c+=n.lines,l+=n.lines;else{let a=t===`deletions`?n.deletions:n.additions;if(e<o+a){let a=e-o;r=l+(t===`additions`?n.deletions:0)+a,i=c+a;break hunkIterator}else o+=a,c+=Math.max(n.deletions,n.additions),l+=n.deletions+n.additions}break hunkIterator}if(!(r==null||i==null))return[r,i]};setOptions(e){e!=null&&(this.options=e,this.hunksRenderer.setOptions(this.getHunksRendererOptions(e)),this.interactionManager.setOptions(Zt(e,typeof e.hunkSeparators==`function`||(e.hunkSeparators??`line-info`)===`line-info`||e.hunkSeparators===`line-info-basic`?this.handleExpandHunk:void 0,this.getLineIndex)))}mergeOptions(e){this.options={...this.options,...e}}setThemeType(e){(this.options.themeType??`system`)!==e&&(this.mergeOptions({themeType:e}),!(typeof this.options.theme==`string`||this.fileContainer==null||this.appliedThemeCSS==null)&&this.applyThemeState(this.fileContainer,this.appliedThemeCSS.themeStyles,e,this.appliedThemeCSS.baseThemeType))}getHoveredLine=()=>this.interactionManager.getHoveredLine();setLineAnnotations(e){this.lineAnnotations=e}canPartiallyRender(e,t,n){return!(e||t||n||typeof this.options.hunkSeparators==`function`)}setSelectedLines(e){this.interactionManager.setSelection(e)}cleanUp(e=!1){this.resizeManager.cleanUp(),this.interactionManager.cleanUp(),this.scrollSyncManager.cleanUp(),this.workerManager?.unsubscribeToThemeChanges(this),this.renderRange=void 0,this.isContainerManaged||this.fileContainer?.remove(),this.fileContainer?.shadowRoot!=null&&(this.fileContainer.shadowRoot.innerHTML=``),this.fileContainer=void 0,this.pre!=null&&(this.pre.innerHTML=``,this.pre=void 0),this.codeUnified=void 0,this.codeDeletions=void 0,this.codeAdditions=void 0,this.bufferBefore=void 0,this.bufferAfter=void 0,this.appliedPreAttributes=void 0,this.headerElement=void 0,this.headerPrefix=void 0,this.headerMetadata=void 0,this.headerCustom=void 0,this.lastRenderedHeaderHTML=void 0,this.errorWrapper=void 0,this.spriteSVG=void 0,this.lastRowCount=void 0,this.themeCSSStyle=void 0,this.appliedThemeCSS=void 0,this.unsafeCSSStyle=void 0,this.appliedUnsafeCSS=void 0,e?this.hunksRenderer.recycle():(this.hunksRenderer.cleanUp(),this.workerManager=void 0,this.fileDiff=void 0,this.deletionFile=void 0,this.additionFile=void 0),this.enabled=!1}virtualizedSetup(){this.enabled=!0,this.workerManager?.subscribeToThemeChanges(this)}hydrate(e){let{fileContainer:t,prerenderedHTML:n,preventEmit:r=!1,lineAnnotations:i,oldFile:a,newFile:o,fileDiff:s}=e;this.hydrateElements(t,n),Er(this.pre,wr({fileDiff:s,oldFile:a,newFile:o}),this.options.collapsed)||Dr(this.headerElement,Tr({fileDiff:s,oldFile:a,newFile:o}),this.options.disableFileHeader)?this.render({...e,preventEmit:!0}):this.hydrationSetup({fileDiff:s,oldFile:a,newFile:o,lineAnnotations:i}),r||this.emitPostRender()}hydrateElements(e,t){Hn(e,t);for(let t of e.shadowRoot?.children??[]){if(t instanceof SVGElement){this.spriteSVG=t;continue}if(t instanceof HTMLElement){if(t instanceof HTMLPreElement){this.pre=t;for(let e of t.children)!(e instanceof HTMLElement)||e.tagName.toLowerCase()!==`code`||(`deletions`in e.dataset&&(this.codeDeletions=e),`additions`in e.dataset&&(this.codeAdditions=e),`unified`in e.dataset&&(this.codeUnified=e));continue}if(`diffsHeader`in t.dataset){this.headerElement=t;continue}if(t instanceof HTMLStyleElement&&t.hasAttribute(`data-theme-css`)){this.themeCSSStyle=t;continue}if(t instanceof HTMLStyleElement&&t.hasAttribute(`data-unsafe-css`)){this.unsafeCSSStyle=t,this.appliedUnsafeCSS=t.textContent;continue}}}this.pre!=null&&(this.syncCodeNodesFromPre(this.pre),this.pre.removeAttribute(`data-dehydrated`)),this.fileContainer=e}hydrationSetup({fileDiff:e,oldFile:t,newFile:n,lineAnnotations:r}){let{diffStyle:i=`split`,overflow:a=`scroll`}=this.options;this.lineAnnotations=r??this.lineAnnotations,this.additionFile=n,this.deletionFile=t,this.fileDiff=e??(t!=null&&n!=null?xr(t,n,this.options.parseDiffOptions):void 0),this.pre!=null&&(this.hunksRenderer.hydrate(this.fileDiff),this.renderAnnotations(),this.renderGutterUtility(),this.injectUnsafeCSS(),this.interactionManager.setup(this.pre),this.resizeManager.setup(this.pre,a===`wrap`),a===`scroll`&&i===`split`&&this.scrollSyncManager.setup(this.pre,this.codeDeletions,this.codeAdditions))}rerender(){!this.enabled||this.fileDiff==null&&this.additionFile==null&&this.deletionFile==null||this.render({forceRender:!0,renderRange:this.renderRange})}handleExpandHunk=(e,t,n)=>{this.expandHunk(e,t,n)};expandHunk=(e,t,n)=>{this.hunksRenderer.expandHunk(e,t,n),this.rerender()};render({oldFile:e,newFile:t,fileDiff:n,forceRender:r=!1,preventEmit:i=!1,lineAnnotations:a,fileContainer:o,containerWrapper:s,renderRange:c}){if(!this.enabled)throw Error(`FileDiff.render: attempting to call render after cleaned up`);let{collapsed:l=!1}=this.options,u=l?void 0:c,d=e!=null&&t!=null&&(!tt(e,this.deletionFile)||!tt(t,this.additionFile)),f=n!=null&&n!==this.fileDiff,p=a!=null&&(a.length>0||this.lineAnnotations.length>0)?a!==this.lineAnnotations:!1;if(!l&&mn(u,this.renderRange)&&!r&&!p&&(n!=null&&n===this.fileDiff||n==null&&!d))return!1;let{renderRange:m}=this;if(this.renderRange=u,this.deletionFile=e,this.additionFile=t,n==null?e!=null&&t!=null&&d&&(f=!0,this.fileDiff=xr(e,t,this.options.parseDiffOptions)):this.fileDiff=n,a!=null&&this.setLineAnnotations(a),this.fileDiff==null)return!1;this.hunksRenderer.setOptions(this.getHunksRendererOptions(this.options)),this.hunksRenderer.setLineAnnotations(this.lineAnnotations);let{diffStyle:h=`split`,disableErrorHandling:g=!1,disableFileHeader:_=!1,overflow:v=`scroll`,themeType:y=`system`}=this.options;if(_&&(this.headerElement!=null&&(this.headerElement.remove(),this.headerElement=void 0,this.lastRenderedHeaderHTML=void 0),this.clearHeaderSlots()),o=this.getOrCreateFileContainer(o,s),l){this.removeRenderedCode(),this.clearAuxiliaryNodes();try{let e=this.hunksRenderer.renderDiff(this.fileDiff,ue);e!=null&&this.applyThemeState(o,e.themeStyles,y,e.baseThemeType),e?.headerElement!=null&&this.applyHeaderToDOM(e.headerElement,o),this.renderSeparators([]),this.injectUnsafeCSS()}catch(e){if(g)throw e;console.error(e),e instanceof Error&&this.applyErrorToDOM(e,o)}return i||this.emitPostRender(),!0}try{let e=this.getOrCreatePreNode(o);if(!(this.canPartiallyRender(r,p,d||f)&&this.applyPartialRender({previousRenderRange:m,renderRange:u}))){let t=this.hunksRenderer.renderDiff(this.fileDiff,u);if(t==null)return this.workerManager?.isInitialized()===!1&&this.workerManager.initialize().then(()=>this.rerender()),!1;this.applyThemeState(o,t.themeStyles,y,t.baseThemeType),t.headerElement!=null&&this.applyHeaderToDOM(t.headerElement,o),t.additionsContentAST!=null||t.deletionsContentAST!=null||t.unifiedContentAST!=null?this.applyHunksToDOM(e,t):this.pre!=null&&(this.pre.remove(),this.pre=void 0),this.renderSeparators(t.hunkData)}this.applyBuffers(e,u),this.injectUnsafeCSS(),this.renderAnnotations(),this.renderGutterUtility(),this.interactionManager.setup(e),this.resizeManager.setup(e,v===`wrap`),v===`scroll`&&h===`split`?this.scrollSyncManager.setup(e,this.codeDeletions,this.codeAdditions):this.scrollSyncManager.cleanUp()}catch(e){if(g)throw e;console.error(e),e instanceof Error&&this.applyErrorToDOM(e,o)}return i||this.emitPostRender(),!0}emitPostRender(){this.fileContainer!=null&&this.options.onPostRender?.(this.fileContainer,this)}removeRenderedCode(){this.resizeManager.cleanUp(),this.scrollSyncManager.cleanUp(),this.interactionManager.cleanUp(),this.bufferBefore?.remove(),this.bufferBefore=void 0,this.bufferAfter?.remove(),this.bufferAfter=void 0,this.codeUnified?.remove(),this.codeUnified=void 0,this.codeDeletions?.remove(),this.codeDeletions=void 0,this.codeAdditions?.remove(),this.codeAdditions=void 0,this.pre?.remove(),this.pre=void 0,this.appliedPreAttributes=void 0,this.lastRowCount=void 0}clearAuxiliaryNodes(){for(let{element:e}of this.separatorCache.values())e.remove();this.separatorCache.clear();for(let{element:e}of this.annotationCache.values())e.remove();this.annotationCache.clear(),this.gutterUtilityContent?.remove(),this.gutterUtilityContent=void 0}renderPlaceholder(e){if(this.fileContainer==null)return!1;if(this.cleanChildNodes(),this.placeHolder==null){let e=this.fileContainer.shadowRoot??this.fileContainer.attachShadow({mode:`open`});this.placeHolder=document.createElement(`div`),this.placeHolder.dataset.placeholder=``,e.appendChild(this.placeHolder)}return this.placeHolder.style.setProperty(`height`,`${e}px`),!0}cleanChildNodes(){this.resizeManager.cleanUp(),this.scrollSyncManager.cleanUp(),this.interactionManager.cleanUp(),this.bufferAfter?.remove(),this.bufferBefore?.remove(),this.codeAdditions?.remove(),this.codeDeletions?.remove(),this.codeUnified?.remove(),this.errorWrapper?.remove(),this.headerElement?.remove(),this.gutterUtilityContent?.remove(),this.headerPrefix?.remove(),this.headerMetadata?.remove(),this.headerCustom?.remove(),this.pre?.remove(),this.spriteSVG?.remove(),this.themeCSSStyle?.remove(),this.unsafeCSSStyle?.remove(),this.bufferAfter=void 0,this.bufferBefore=void 0,this.codeAdditions=void 0,this.codeDeletions=void 0,this.codeUnified=void 0,this.errorWrapper=void 0,this.headerElement=void 0,this.gutterUtilityContent=void 0,this.headerPrefix=void 0,this.headerMetadata=void 0,this.headerCustom=void 0,this.pre=void 0,this.spriteSVG=void 0,this.themeCSSStyle=void 0,this.appliedThemeCSS=void 0,this.unsafeCSSStyle=void 0,this.appliedUnsafeCSS=void 0,this.lastRenderedHeaderHTML=void 0,this.lastRowCount=void 0}renderSeparators(e){let{hunkSeparators:t}=this.options;if(this.isContainerManaged||this.fileContainer==null||typeof t!=`function`){for(let{element:e}of this.separatorCache.values())e.remove();this.separatorCache.clear();return}let n=new Map(this.separatorCache);for(let r of e){let e=r.slotName,i=this.separatorCache.get(e);if(i==null||!hr(r,i.hunkData)){i?.element.remove();let n=document.createElement(`div`);n.style.display=`contents`,n.slot=r.slotName;let a=t(r,this);a!=null&&n.appendChild(a),this.fileContainer.appendChild(n),i={element:n,hunkData:r},this.separatorCache.set(e,i)}n.delete(e)}for(let[e,{element:t}]of n.entries())this.separatorCache.delete(e),t.remove()}renderAnnotations(){if(this.isContainerManaged||this.fileContainer==null){for(let{element:e}of this.annotationCache.values())e.remove();this.annotationCache.clear();return}let e=new Map(this.annotationCache),{renderAnnotation:t}=this.options;if(t!=null&&this.lineAnnotations.length>0)for(let[n,r]of this.lineAnnotations.entries()){let i=`${n}-${Cn(r)}`,a=this.annotationCache.get(i);if(a==null||!mr(r,a.annotation)){a?.element.remove();let e=t(r);if(e==null)continue;a={element:Pn(Cn(r)),annotation:r},a.element.appendChild(e),this.fileContainer.appendChild(a.element),this.annotationCache.set(i,a)}e.delete(i)}for(let[t,{element:n}]of e.entries())this.annotationCache.delete(t),n.remove()}renderGutterUtility(){let e=this.options.renderGutterUtility??this.options.renderHoverUtility;if(this.fileContainer==null||e==null){this.gutterUtilityContent?.remove(),this.gutterUtilityContent=void 0;return}let t=e(this.interactionManager.getHoveredLine);if(t!=null&&this.gutterUtilityContent!=null)return;if(t==null){this.gutterUtilityContent?.remove(),this.gutterUtilityContent=void 0;return}let n=Fn();n.appendChild(t),this.fileContainer.appendChild(n),this.gutterUtilityContent=n}getOrCreateFileContainer(e,t){let n=this.fileContainer;if(this.fileContainer=e??this.fileContainer??document.createElement(`diffs-container`),n!=null&&n!==this.fileContainer&&(this.lastRenderedHeaderHTML=void 0,this.headerElement=void 0),t!=null&&this.fileContainer.parentNode!==t&&t.appendChild(this.fileContainer),this.spriteSVG==null){let e=document.createElement(`div`);e.innerHTML=kn;let t=e.firstChild;t instanceof SVGElement&&(this.spriteSVG=t,this.fileContainer.shadowRoot?.appendChild(this.spriteSVG))}return this.fileContainer}getFileContainer(){return this.fileContainer}getOrCreatePreNode(e){let t=e.shadowRoot??e.attachShadow({mode:`open`});return this.pre==null?(this.pre=document.createElement(`pre`),this.appliedPreAttributes=void 0,this.codeUnified=void 0,this.codeDeletions=void 0,this.codeAdditions=void 0,t.appendChild(this.pre)):this.pre.parentNode!==t&&(t.appendChild(this.pre),this.appliedPreAttributes=void 0),this.placeHolder?.remove(),this.placeHolder=void 0,this.pre}syncCodeNodesFromPre(e){this.codeUnified=void 0,this.codeDeletions=void 0,this.codeAdditions=void 0;for(let t of Array.from(e.children))t instanceof HTMLElement&&(t.hasAttribute(`data-unified`)?this.codeUnified=t:t.hasAttribute(`data-deletions`)?this.codeDeletions=t:t.hasAttribute(`data-additions`)&&(this.codeAdditions=t))}applyHeaderToDOM(e,t){this.cleanupErrorWrapper(),this.placeHolder?.remove(),this.placeHolder=void 0;let{fileDiff:n}=this,r=U(e);if(r!==this.lastRenderedHeaderHTML){let e=document.createElement(`div`);e.innerHTML=r;let n=e.firstElementChild;if(!(n instanceof HTMLElement))return;this.headerElement==null?t.shadowRoot?.prepend(n):t.shadowRoot?.replaceChild(n,this.headerElement),this.headerElement=n,this.lastRenderedHeaderHTML=r}if(this.isContainerManaged||n==null)return;let{renderCustomHeader:i,renderHeaderPrefix:a,renderHeaderMetadata:o}=this.options;if(i!=null){let e=i(n)??void 0;this.headerCustom=this.upsertHeaderSlotElement(t,this.headerCustom,Y,e),this.headerPrefix?.remove(),this.headerMetadata?.remove(),this.headerPrefix=void 0,this.headerMetadata=void 0;return}let s=a?.(n)??void 0,c=o?.(n)??void 0;this.headerPrefix=this.upsertHeaderSlotElement(t,this.headerPrefix,ke,s),this.headerMetadata=this.upsertHeaderSlotElement(t,this.headerMetadata,Be,c),this.headerCustom?.remove(),this.headerCustom=void 0}clearHeaderSlots(){this.headerPrefix?.remove(),this.headerMetadata?.remove(),this.headerCustom?.remove(),this.headerPrefix=void 0,this.headerMetadata=void 0,this.headerCustom=void 0}upsertHeaderSlotElement(e,t,n,r){if(r==null){t?.remove();return}let i=t??this.createHeaderSlotElement(n);return t??e.appendChild(i),this.replaceHeaderSlotContent(i,r),i}replaceHeaderSlotContent(e,t){e.replaceChildren(),t instanceof Element?e.appendChild(t):e.innerText=`${t}`}createHeaderSlotElement(e){let t=document.createElement(`div`);return t.slot=e,t}injectUnsafeCSS(){let{unsafeCSS:e}=this.options,t=this.fileContainer?.shadowRoot;if(t!=null){if(e==null||e===``){this.unsafeCSSStyle!=null&&(this.unsafeCSSStyle.remove(),this.unsafeCSSStyle=void 0),this.appliedUnsafeCSS=void 0;return}this.unsafeCSSStyle?.parentNode===t&&this.appliedUnsafeCSS===e||(this.unsafeCSSStyle??=In(),this.unsafeCSSStyle.parentNode!==t&&t.appendChild(this.unsafeCSSStyle),this.unsafeCSSStyle.textContent=zn(e),this.appliedUnsafeCSS=e)}}applyThemeState(e,t,n,r){let i=e.shadowRoot??e.attachShadow({mode:`open`}),a=r??n;this.themeCSSStyle?.parentNode===i&&this.appliedThemeCSS?.themeStyles===t&&this.appliedThemeCSS.themeType===a||(this.themeCSSStyle=Wn({shadowRoot:i,currentNode:this.themeCSSStyle,themeCSS:Bn(t,a)}),this.appliedThemeCSS=this.themeCSSStyle==null?void 0:{themeStyles:t,themeType:a,baseThemeType:r})}applyHunksToDOM(e,t){let{overflow:n=`scroll`}=this.options,r=(this.options.hunkSeparators??`line-info`)===`line-info`,i=n===`wrap`?t.rowCount:void 0;this.cleanupErrorWrapper(),this.applyPreNodeAttributes(e,t);let a=!1,o=[],s=this.hunksRenderer.renderCodeAST(`unified`,t),c=this.hunksRenderer.renderCodeAST(`deletions`,t),l=this.hunksRenderer.renderCodeAST(`additions`,t);s==null?c!=null||l!=null?(c==null?(this.codeDeletions?.remove(),this.codeDeletions=void 0):(a=this.codeDeletions==null||this.codeUnified!=null,this.codeUnified?.remove(),this.codeUnified=void 0,this.codeDeletions=Vn({code:this.codeDeletions,columnType:`deletions`,rowSpan:i,containerSize:r}),this.codeDeletions.innerHTML=this.hunksRenderer.renderPartialHTML(c),o.push(this.codeDeletions)),l==null?(this.codeAdditions?.remove(),this.codeAdditions=void 0):(a=a||this.codeAdditions==null||this.codeUnified!=null,this.codeUnified?.remove(),this.codeUnified=void 0,this.codeAdditions=Vn({code:this.codeAdditions,columnType:`additions`,rowSpan:i,containerSize:r}),this.codeAdditions.innerHTML=this.hunksRenderer.renderPartialHTML(l),o.push(this.codeAdditions))):(this.codeUnified?.remove(),this.codeUnified=void 0,this.codeDeletions?.remove(),this.codeDeletions=void 0,this.codeAdditions?.remove(),this.codeAdditions=void 0):(a=this.codeUnified==null||this.codeAdditions!=null||this.codeDeletions!=null,this.codeDeletions?.remove(),this.codeDeletions=void 0,this.codeAdditions?.remove(),this.codeAdditions=void 0,this.codeUnified=Vn({code:this.codeUnified,columnType:`unified`,rowSpan:i,containerSize:r}),this.codeUnified.innerHTML=this.hunksRenderer.renderPartialHTML(s),o.push(this.codeUnified)),o.length===0?e.textContent=``:a&&e.replaceChildren(...o),this.lastRowCount=t.rowCount}applyPartialRender({previousRenderRange:e,renderRange:t}){let{pre:n,codeUnified:r,codeAdditions:i,codeDeletions:a,options:{diffStyle:o=`split`}}=this;if(n==null||e==null||t==null||!Number.isFinite(e.totalLines)||!Number.isFinite(t.totalLines)||this.lastRowCount==null)return!1;let s=this.getCodeColumns(o,r,a,i);if(s==null)return!1;let c=e.startingLine,l=t.startingLine,u=c+e.totalLines,d=l+t.totalLines,f=Math.max(c,l),p=Math.min(u,d);if(p<=f)return!1;let m=Math.max(0,f-c),h=Math.max(0,u-p),g=this.trimColumns({columns:s,trimStart:m,trimEnd:h,previousStart:c,overlapStart:f,overlapEnd:p,diffStyle:o});if(g<0)throw Error(`applyPartialRender: failed to trim to overlap`);if(this.lastRowCount<g)throw Error(`applyPartialRender: trimmed beyond DOM row count`);let _=this.lastRowCount-g,v=(e,t)=>{if(!(t<=0||this.fileDiff==null))return this.hunksRenderer.renderDiff(this.fileDiff,{startingLine:e,totalLines:t,bufferBefore:0,bufferAfter:0})},y=v(l,Math.max(f-l,0));if(y==null&&l<f)return!1;let b=v(p,Math.max(d-p,0));if(b==null&&d>p)return!1;let x=(e,t)=>{if(e!=null){if(o===`unified`&&!Array.isArray(s))this.insertPartialHTML(o,s,e,t);else if(o===`split`&&Array.isArray(s))this.insertPartialHTML(o,s,e,t);else throw Error(`FileDiff.applyPartialRender.applyChunk: invalid chunk application`);_+=e.rowCount}};return this.cleanupErrorWrapper(),x(y,`afterbegin`),x(b,`beforeend`),this.lastRowCount!==_&&(this.applyRowSpan(o,s,_),this.lastRowCount=_),!0}insertPartialHTML(e,t,n,r){if(e===`unified`&&!Array.isArray(t)){let e=this.hunksRenderer.renderCodeAST(`unified`,n);this.renderPartialColumn(t,e,r)}else if(e===`split`&&Array.isArray(t)){let e=this.hunksRenderer.renderCodeAST(`deletions`,n),i=this.hunksRenderer.renderCodeAST(`additions`,n);this.renderPartialColumn(t[0],e,r),this.renderPartialColumn(t[1],i,r)}else throw Error(`FileDiff.insertPartialHTML: Invalid argument composition`)}renderPartialColumn(e,t,n){if(e==null||t==null)return;let r=Or(t[0]),i=Or(t[1]);if(r==null||i==null)throw Error(`FileDiff.insertPartialHTML: Unexpected AST structure`);let a=i.at(0);n===`beforeend`&&a?.type===`element`&&typeof a.properties[`data-buffer-size`]==`number`&&this.mergeBuffersIfNecessary(a.properties[`data-buffer-size`],e.content.children[e.content.children.length-1],e.gutter.children[e.gutter.children.length-1],r,i,!0);let o=i.at(-1);n===`afterbegin`&&o?.type===`element`&&typeof o.properties[`data-buffer-size`]==`number`&&this.mergeBuffersIfNecessary(o.properties[`data-buffer-size`],e.content.children[0],e.gutter.children[0],r,i,!1),e.gutter.insertAdjacentHTML(n,this.hunksRenderer.renderPartialHTML(r)),e.content.insertAdjacentHTML(n,this.hunksRenderer.renderPartialHTML(i))}mergeBuffersIfNecessary(e,t,n,r,i,a){if(!(t instanceof HTMLElement)||!(n instanceof HTMLElement))return;let o=this.getBufferSize(t.dataset);o!=null&&(a?(r.shift(),i.shift()):(r.pop(),i.pop()),this.updateBufferSize(t,o+e),this.updateBufferSize(n,o+e))}applyRowSpan(e,t,n){let r=e=>{e!=null&&(e.gutter.style.setProperty(`grid-row`,`span ${n}`),e.content.style.setProperty(`grid-row`,`span ${n}`))};if(e===`unified`&&!Array.isArray(t))r(t);else if(e===`split`&&Array.isArray(t))r(t[0]),r(t[1]);else throw Error(`dun fuuuuked up`)}trimColumnRows(e,t,n){let r=0,i=0,a=0,o=!1,s=n>=0;if(e==null)return 0;let c=Array.from(e.content.children),l=Array.from(e.gutter.children);if(c.length!==l.length)throw Error(`FileDiff.trimColumnRows: columns do not match`);for(;a<c.length&&!(t<=0&&!s&&!o);){let e=l[a],u=c[a];if(a++,!(e instanceof HTMLElement)||!(u instanceof HTMLElement))throw console.error({gutterElement:e,contentElement:u}),Error(`FileDiff.trimColumnRows: invalid row elements`);if(o&&(o=!1,e.dataset.gutterBuffer===`annotation`&&`lineAnnotation`in u.dataset||e.dataset.gutterBuffer===`metadata`&&`noNewline`in u.dataset)){e.remove(),u.remove(),i++;continue}if(`lineIndex`in e.dataset&&`lineIndex`in u.dataset){(t>0||s&&r>=n)&&(e.remove(),u.remove(),t>0&&(t--,t===0&&(o=!0)),i++),r++;continue}if(`separator`in e.dataset&&`separator`in u.dataset){(t>0||s&&r>=n)&&(e.remove(),u.remove(),i++);continue}if(e.dataset.gutterBuffer===`annotation`&&`lineAnnotation`in u.dataset){(t>0||s&&r>=n)&&(e.remove(),u.remove(),i++);continue}if(e.dataset.gutterBuffer===`metadata`&&`noNewline`in u.dataset){(t>0||s&&r>=n)&&(e.remove(),u.remove(),i++);continue}if(e.dataset.gutterBuffer===`buffer`&&`contentBuffer`in u.dataset){let a=this.getBufferSize(u.dataset);if(a==null)throw Error(`FileDiff.trimColumnRows: invalid element`);if(t>0){let n=Math.min(t,a),r=a-n;r>0?(this.updateBufferSize(e,r),this.updateBufferSize(u,r),i+=n):(e.remove(),u.remove(),i+=a),t-=n}else if(s){let t=r,o=r+a-1;if(n<=t)e.remove(),u.remove(),i+=a;else if(n<=o){let t=o-n+1,r=a-t;this.updateBufferSize(e,r),this.updateBufferSize(u,r),i+=t}}r+=a;continue}throw console.error({gutterElement:e,contentElement:u}),Error(`FileDiff.trimColumnRows: unknown row elements`)}return i}trimColumns({columns:e,diffStyle:t,overlapEnd:n,overlapStart:r,previousStart:i,trimEnd:a,trimStart:o}){let s=Math.max(0,r-i),c=n-i;if(c<0)throw Error(`FileDiff.trimColumns: overlap ends before previous`);let l=o>0,u=a>0;if(!l&&!u)return 0;let d=l?s:0,f=u?c:-1;if(t===`unified`&&!Array.isArray(e))return this.trimColumnRows(e,d,f);if(t===`split`&&Array.isArray(e)){let t=this.trimColumnRows(e[0],d,f),n=this.trimColumnRows(e[1],d,f);if(e[0]!=null&&e[1]!=null&&t!==n)throw Error(`FileDiff.trimColumns: split columns out of sync`);return e[0]==null?n:t}else throw console.error({diffStyle:t,columns:e}),Error(`FileDiff.trimColumns: Invalid columns for diffType`)}getBufferSize(e){let t=Number.parseInt(e?.bufferSize??``,10);return Number.isNaN(t)?void 0:t}updateBufferSize(e,t){e.dataset.bufferSize=`${t}`,e.style.setProperty(`grid-row`,`span ${t}`),e.style.setProperty(`min-height`,`calc(${t} * 1lh)`)}getCodeColumns(e,t,n,r){function i(e){if(e==null)return;let t=e.children[0],n=e.children[1];if(!(!(t instanceof HTMLElement)||!(n instanceof HTMLElement)||t.dataset.gutter==null||n.dataset.content==null))return{gutter:t,content:n}}if(e===`unified`)return i(t);{let e=i(n),t=i(r);return e!=null||t!=null?[e,t]:void 0}}applyBuffers(e,t){let{disableVirtualizationBuffers:n=!1}=this.options;if(n||t==null){this.bufferBefore!=null&&(this.bufferBefore.remove(),this.bufferBefore=void 0),this.bufferAfter!=null&&(this.bufferAfter.remove(),this.bufferAfter=void 0);return}t.bufferBefore>0?(this.bufferBefore??(this.bufferBefore=document.createElement(`div`),this.bufferBefore.dataset.virtualizerBuffer=`before`,e.before(this.bufferBefore)),this.bufferBefore.style.setProperty(`height`,`${t.bufferBefore}px`),this.bufferBefore.style.setProperty(`contain`,`strict`)):this.bufferBefore!=null&&(this.bufferBefore.remove(),this.bufferBefore=void 0),t.bufferAfter>0?(this.bufferAfter??(this.bufferAfter=document.createElement(`div`),this.bufferAfter.dataset.virtualizerBuffer=`after`,e.after(this.bufferAfter)),this.bufferAfter.style.setProperty(`height`,`${t.bufferAfter}px`),this.bufferAfter.style.setProperty(`contain`,`strict`)):this.bufferAfter!=null&&(this.bufferAfter.remove(),this.bufferAfter=void 0)}applyPreNodeAttributes(e,{additionsContentAST:t,deletionsContentAST:n,totalLines:r},i){let{diffIndicators:a=`bars`,disableBackground:o=!1,disableLineNumbers:s=!1,overflow:c=`scroll`,diffStyle:l=`split`}=this.options,u={type:`diff`,diffIndicators:a,disableBackground:o,disableLineNumbers:s,overflow:c,split:l===`unified`?!1:t!=null&&n!=null,totalLines:r,customProperties:i};jn(u,this.appliedPreAttributes)||(Un(e,u),this.appliedPreAttributes=u)}applyErrorToDOM(e,t){this.cleanupErrorWrapper();let n=this.getOrCreatePreNode(t);n.innerHTML=``,n.remove(),this.pre=void 0,this.appliedPreAttributes=void 0;let r=t.shadowRoot??t.attachShadow({mode:`open`});this.errorWrapper??=document.createElement(`div`),this.errorWrapper.dataset.errorWrapper=``,this.errorWrapper.innerHTML=``,r.appendChild(this.errorWrapper);let i=document.createElement(`div`);i.dataset.errorMessage=``,i.innerText=e.message,this.errorWrapper.appendChild(i);let a=document.createElement(`pre`);a.dataset.errorStack=``,a.innerText=e.stack??`No Error Stack`,this.errorWrapper.appendChild(a)}cleanupErrorWrapper(){this.errorWrapper?.remove(),this.errorWrapper=void 0}};function wr({fileDiff:e,oldFile:t,newFile:n}){return e!=null&&e.hunks.length>0||t!=null||n!=null}function Tr({fileDiff:e,oldFile:t,newFile:n}){return e!=null||t!=null||n!=null}function Er(e,t,n=!1){return!n&&e==null&&t}function Dr(e,t,n=!1){return e==null&&t&&!n}function Or(e){if(!(e==null||e.type!==`element`))return e.children??[]}var kr=new Set,Ar=new Set,jr=null,Mr=!1;function Nr(e){if(Mr){kr.add(e);return}Ar.add(e),jr??=requestAnimationFrame(Pr)}function Pr(e){Mr=!0;for(let t of Ar)try{t(e)}catch(e){console.error(e)}Ar.clear(),kr.size>0?(Ar=new Set(kr),kr.clear(),jr=requestAnimationFrame(Pr)):jr=null,Mr=!1}function Fr({hunkIndex:e,lineIndex:t,conflictIndex:n}){return`merge-conflict-action-${e}-${t}-${n}`}function Ir(e,t){let n=t.hunks[e.hunkIndex];if(n!=null)return{hunkIndex:e.hunkIndex,lineIndex:Lr(n,e.startContentIndex)}}function Lr(e,t){let n=e.unifiedLineStart;for(let r=0;r<t;r++){let t=e.hunkContent[r];n+=t.type===`context`?t.lines:t.deletions+t.additions}return n}var Rr=-1,zr=class extends Jn{__id=`virtualized-file:${++Rr}`;top;height=0;heightCache=new Map;isVisible=!1;isSetup=!1;constructor(e,t,n=De,r,i=!1){super(e,r,i),this.virtualizer=t,this.metrics=n}getLineHeight(e,t=!1){let n=this.heightCache.get(e);if(n!=null)return n;let r=t?2:1;return this.metrics.lineHeight*r}setOptions(e){if(e==null)return;let t=this.options.overflow,n=this.options.collapsed;super.setOptions(e),(t!==this.options.overflow||n!==this.options.collapsed)&&(this.heightCache.clear(),this.computeApproximateSize(),this.renderRange=void 0),this.virtualizer.instanceChanged(this)}reconcileHeights(){if(this.fileContainer==null||this.file==null){this.height=0;return}let{overflow:e=`scroll`}=this.options;if(this.top=this.virtualizer.getOffsetInScrollContainer(this.fileContainer),e===`scroll`&&this.lineAnnotations.length===0&&!this.virtualizer.config.resizeDebugging)return;let t=!1;if(this.code==null)return;let n=this.code.children[1];if(n instanceof HTMLElement){for(let e of n.children){if(!(e instanceof HTMLElement))continue;let n=e.dataset.lineIndex;if(n==null)continue;let r=Number(n),i=e.getBoundingClientRect().height,a=!1;e.nextElementSibling instanceof HTMLElement&&(`lineAnnotation`in e.nextElementSibling.dataset||`noNewline`in e.nextElementSibling.dataset)&&(`noNewline`in e.nextElementSibling.dataset&&(a=!0),i+=e.nextElementSibling.getBoundingClientRect().height);let o=this.getLineHeight(r,a);i!==o&&(t=!0,i===this.metrics.lineHeight*(a?2:1)?this.heightCache.delete(r):this.heightCache.set(r,i))}(t||this.virtualizer.config.resizeDebugging)&&this.computeApproximateSize()}}onRender=e=>this.fileContainer==null||this.file==null?!1:(e&&(this.top=this.virtualizer.getOffsetInScrollContainer(this.fileContainer)),this.render({file:this.file}));cleanUp(){this.fileContainer!=null&&this.virtualizer.disconnect(this.fileContainer),this.isSetup=!1,super.cleanUp()}computeApproximateSize(){let e=this.height===0;if(this.height=0,this.file==null)return;let{disableFileHeader:t=!1,collapsed:n=!1,overflow:r=`scroll`}=this.options,{diffHeaderHeight:i,fileGap:a,lineHeight:o}=this.metrics,s=this.getOrCreateLineCache(this.file);if(t?this.height+=a:this.height+=i,!n&&(r===`scroll`&&this.lineAnnotations.length===0?this.height+=this.getOrCreateLineCache(this.file).length*o:V({lines:s,callback:({lineIndex:e})=>{this.height+=this.getLineHeight(e,!1)}}),s.length>0&&(this.height+=a),this.fileContainer!=null&&this.virtualizer.config.resizeDebugging&&!e)){let e=this.fileContainer.getBoundingClientRect();e.height===this.height?console.log(`VirtualizedFile.computeApproximateSize: computed height IS CORRECT`):console.log(`VirtualizedFile.computeApproximateSize: computed height doesnt match`,{name:this.file.name,elementHeight:e.height,computedHeight:this.height})}}setVisibility(e){this.fileContainer!=null&&(e&&!this.isVisible?(this.top=this.virtualizer.getOffsetInScrollContainer(this.fileContainer),this.isVisible=!0):!e&&this.isVisible&&(this.isVisible=!1,this.rerender()))}render({fileContainer:e,file:t,...n}){let{isSetup:r}=this;if(this.file??=t,e=this.getOrCreateFileContainerNode(e),this.file==null)return console.error(`VirtualizedFile.render: attempting to virtually render when we dont have file`),!1;if(r?this.top??=this.virtualizer.getOffsetInScrollContainer(e):(this.computeApproximateSize(),this.virtualizer.connect(e,this),this.top??=this.virtualizer.getOffsetInScrollContainer(e),this.isVisible=this.virtualizer.isInstanceVisible(this.top,this.height),this.isSetup=!0),!this.isVisible)return this.renderPlaceholder(this.height);let i=this.virtualizer.getWindowSpecs(),a=this.computeRenderRangeFromWindow(this.file,this.top,i);return super.render({file:this.file,fileContainer:e,renderRange:a,...n})}computeRenderRangeFromWindow(e,t,{top:n,bottom:r}){let{disableFileHeader:i=!1,overflow:a=`scroll`}=this.options,{diffHeaderHeight:o,fileGap:s,hunkLineCount:c,lineHeight:l}=this.metrics,u=this.getOrCreateLineCache(e),d=u.length,f=this.height,p=i?s:o;if(t<n-f||t>r)return{startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:f-p-s};if(d<=c)return{startingLine:0,totalLines:c,bufferBefore:0,bufferAfter:0};let m=Math.ceil(Math.max(r-n,0)/l),h=Math.ceil(m/c)*c+c*2,g=h/c,_=(n+r)/2;if(a===`scroll`&&this.lineAnnotations.length===0){let e=Math.floor((_-(t+p))/l),n=Math.floor(e/c)-Math.floor(g/2),r=Math.ceil(d/c),i=Math.max(0,Math.min(n,r))*c,a=n<0?h+n*c:h,o=i*l,s=Math.min(a,d-i);return{startingLine:i,totalLines:a,bufferBefore:o,bufferAfter:Math.max(0,(d-i-s)*l)}}let v=g,y=[],b=t+p,x=0,S,C,w;if(V({lines:u,callback:({lineIndex:e})=>{let i=x%c===0;if(i&&(y.push(b-(t+p)),w!=null)){if(w<=0)return!0;w--}let a=this.getLineHeight(e,!1),o=Math.floor(x/c);return b>n-a&&b<r&&(S??=o),b+a>_&&(C??=o),w==null&&b>=r&&i&&(w=v),x++,b+=a,!1}}),S==null)return{startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:f-p-s};let T=y.length;C??=S;let E=Math.round(C-g/2),D=Math.max(0,T-g),O=Math.max(0,Math.min(E,D)),k=O*c,A=E<0?h+E*c:h,j=y[O]??0,M=O+A/c;return{startingLine:k,totalLines:A,bufferBefore:j,bufferAfter:M<y.length?f-p-y[M]-s:f-(b-t)-s}}};function Br(e,t){let n={...De,...t};return n.hunkSeparatorHeight=Vr(e,t?.hunkSeparatorHeight),n}function Vr(e,t){if(t!=null)return t;switch(e){case`simple`:return 4;case`metadata`:case`line-info`:case`line-info-basic`:case`custom`:return 32}}var Hr=-1,Ur=class extends Cr{__id=`little-virtualized-file-diff:${++Hr}`;top;height=0;metrics;heightCache=new Map;isVisible=!1;isSetup=!1;virtualizer;constructor(e,t,n,r,i=!1){super(e,r,i);let{hunkSeparators:a=`line-info`}=this.options;this.virtualizer=t,this.metrics=Br(typeof a==`function`?`custom`:a,n)}getLineHeight(e,t=!1){let n=this.heightCache.get(e);if(n!=null)return n;let r=t?2:1;return this.metrics.lineHeight*r}setOptions(e){if(e==null)return;let t=this.options.diffStyle,n=this.options.overflow,r=this.options.collapsed;super.setOptions(e),(t!==this.options.diffStyle||n!==this.options.overflow||r!==this.options.collapsed)&&(this.heightCache.clear(),this.computeApproximateSize(),this.renderRange=void 0),this.virtualizer.instanceChanged(this)}reconcileHeights(){let{overflow:e=`scroll`}=this.options;if(this.fileContainer!=null&&(this.top=this.virtualizer.getOffsetInScrollContainer(this.fileContainer)),this.fileContainer==null||this.fileDiff==null){this.height=0;return}if(e===`scroll`&&this.lineAnnotations.length===0&&!this.virtualizer.config.resizeDebugging)return;let t=this.getDiffStyle(),n=!1,r=t===`split`?[this.codeDeletions,this.codeAdditions]:[this.codeUnified];for(let e of r){if(e==null)continue;let r=e.children[1];if(r instanceof HTMLElement)for(let e of r.children){if(!(e instanceof HTMLElement))continue;let r=e.dataset.lineIndex;if(r==null)continue;let i=Gr(r,t),a=e.getBoundingClientRect().height,o=!1;e.nextElementSibling instanceof HTMLElement&&(`lineAnnotation`in e.nextElementSibling.dataset||`noNewline`in e.nextElementSibling.dataset)&&(`noNewline`in e.nextElementSibling.dataset&&(o=!0),a+=e.nextElementSibling.getBoundingClientRect().height);let s=this.getLineHeight(i,o);a!==s&&(n=!0,a===this.metrics.lineHeight*(o?2:1)?this.heightCache.delete(i):this.heightCache.set(i,a))}}(n||this.virtualizer.config.resizeDebugging)&&this.computeApproximateSize()}onRender=e=>this.fileContainer==null?!1:(e&&(this.top=this.virtualizer.getOffsetInScrollContainer(this.fileContainer)),this.render());cleanUp(){this.fileContainer!=null&&this.virtualizer.disconnect(this.fileContainer),this.isSetup=!1,super.cleanUp()}expandHunk=(e,t,n)=>{this.hunksRenderer.expandHunk(e,t,n),this.computeApproximateSize(),this.renderRange=void 0,this.virtualizer.instanceChanged(this)};setVisibility(e){this.fileContainer!=null&&(this.renderRange=void 0,e&&!this.isVisible?(this.top=this.virtualizer.getOffsetInScrollContainer(this.fileContainer),this.isVisible=!0):!e&&this.isVisible&&(this.isVisible=!1,this.rerender()))}computeApproximateSize(){let e=this.height===0;if(this.height=0,this.fileDiff==null)return;let{disableFileHeader:t=!1,expandUnchanged:n=!1,collapsed:r=!1,collapsedContextThreshold:i=1,hunkSeparators:a=`line-info`}=this.options,{diffHeaderHeight:o,fileGap:s,hunkSeparatorHeight:c}=this.metrics,l=this.getDiffStyle(),u=a!==`simple`&&a!==`metadata`&&a!==`line-info-basic`?s:0;if(t?a!==`simple`&&a!==`metadata`&&(this.height+=s):this.height+=o,!r&&(rt({diff:this.fileDiff,diffStyle:l,expandedHunks:n?!0:this.hunksRenderer.getExpandedHunksMap(),collapsedContextThreshold:i,callback:({hunkIndex:e,collapsedBefore:t,collapsedAfter:n,deletionLine:r,additionLine:i})=>{let o=i==null?r.splitLineIndex:i.splitLineIndex,s=i==null?r.unifiedLineIndex:i.unifiedLineIndex,d=(i?.noEOFCR??!1)||(r?.noEOFCR??!1);t>0&&(e>0&&(this.height+=u),this.height+=c+u),this.height+=this.getLineHeight(l===`split`?o:s,d),n>0&&a!==`simple`&&(this.height+=u+c)}}),this.fileDiff.hunks.length>0&&(this.height+=s),this.fileContainer!=null&&this.virtualizer.config.resizeDebugging&&!e)){let e=this.fileContainer.getBoundingClientRect();e.height===this.height?console.log(`VirtualizedFileDiff.computeApproximateSize: computed height IS CORRECT`):console.log(`VirtualizedFileDiff.computeApproximateSize: computed height doesnt match`,{name:this.fileDiff.name,elementHeight:e.height,computedHeight:this.height})}}render({fileContainer:e,oldFile:t,newFile:n,fileDiff:r,...i}={}){let{isSetup:a}=this;if(this.fileDiff??=r??(t!=null&&n!=null?xr(t,n,this.options.parseDiffOptions):void 0),e=this.getOrCreateFileContainer(e),this.fileDiff==null)return console.error(`VirtualizedFileDiff.render: attempting to virtually render when we dont have the correct data`),!1;if(a?this.top??=this.virtualizer.getOffsetInScrollContainer(e):(this.computeApproximateSize(),this.virtualizer.connect(e,this),this.top??=this.virtualizer.getOffsetInScrollContainer(e),this.isVisible=this.virtualizer.isInstanceVisible(this.top,this.height),this.isSetup=!0),!this.isVisible)return this.renderPlaceholder(this.height);let o=this.virtualizer.getWindowSpecs(),s=this.computeRenderRangeFromWindow(this.fileDiff,this.top,o);return super.render({fileDiff:this.fileDiff,fileContainer:e,renderRange:s,oldFile:t,newFile:n,...i})}getDiffStyle(){return this.options.diffStyle??`split`}getExpandedRegion(e,t,n){if(n<=0||e)return{fromStart:0,fromEnd:0,collapsedLines:Math.max(n,0),renderAll:!1};let{expandUnchanged:r=!1,collapsedContextThreshold:i=1}=this.options;if(r||n<=i)return{fromStart:n,fromEnd:0,collapsedLines:0,renderAll:!0};let a=this.hunksRenderer.getExpandedHunk(t),o=Math.min(Math.max(a.fromStart,0),n),s=Math.min(Math.max(a.fromEnd,0),n),c=o+s,l=c>=n;return{fromStart:o,fromEnd:s,collapsedLines:Math.max(n-c,0),renderAll:l}}getExpandedLineCount(e,t){let n=0;if(e.isPartial){for(let r of e.hunks)n+=t===`split`?r.splitLineCount:r.unifiedLineCount;return n}for(let[r,i]of e.hunks.entries()){let a=t===`split`?i.splitLineCount:i.unifiedLineCount;n+=a;let o=Math.max(i.collapsedBefore,0),{fromStart:s,fromEnd:c,renderAll:l}=this.getExpandedRegion(e.isPartial,r,o);o>0&&(n+=l?o:s+c)}let r=e.hunks.at(-1);if(r!=null&&Wr(e)){let t=e.additionLines.length-(r.additionLineIndex+r.additionCount),i=e.deletionLines.length-(r.deletionLineIndex+r.deletionCount);if(r!=null&&t!==i)throw Error(`VirtualizedFileDiff: trailing context mismatch (additions=${t}, deletions=${i}) for ${e.name}`);let a=Math.min(t,i);if(r!=null&&a>0){let{fromStart:t,renderAll:r}=this.getExpandedRegion(e.isPartial,e.hunks.length,a);n+=r?a:t}}return n}computeRenderRangeFromWindow(e,t,{top:n,bottom:r}){let{disableFileHeader:i=!1,expandUnchanged:a=!1,collapsedContextThreshold:o=1,hunkSeparators:s=`line-info`}=this.options,{diffHeaderHeight:c,fileGap:l,hunkLineCount:u,hunkSeparatorHeight:d,lineHeight:f}=this.metrics,p=this.getDiffStyle(),m=this.height,h=this.getExpandedLineCount(e,p),g=i?l:c;if(t<n-m||t>r)return{startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:m-g-l};if(h<=u||e.hunks.length===0)return{startingLine:0,totalLines:u,bufferBefore:0,bufferAfter:0};let _=Math.ceil(Math.max(r-n,0)/f),v=Math.ceil(_/u)*u+u,y=v/u,b=y,x=[],S=(n+r)/2,C=s===`simple`||s===`metadata`||s===`line-info-basic`?0:l,w=t+g,T=0,E,D,O;if(rt({diff:e,diffStyle:p,expandedHunks:a?!0:this.hunksRenderer.getExpandedHunksMap(),collapsedContextThreshold:o,callback:({hunkIndex:e,collapsedBefore:i,collapsedAfter:a,deletionLine:o,additionLine:c})=>{let l=c==null?o.splitLineIndex:c.splitLineIndex,f=c==null?o.unifiedLineIndex:c.unifiedLineIndex,m=(c?.noEOFCR??!1)||(o?.noEOFCR??!1),h=i>0?d+C+(e>0?C:0):0;e===0&&s===`simple`&&(h=0),w+=h;let _=T%u===0;if(_&&(x.push(w-(t+g+h)),O!=null)){if(O<=0)return!0;O--}let v=this.getLineHeight(p===`split`?l:f,m),y=Math.floor(T/u);return w>n-v&&w<r&&(E??=y),D==null&&w+v>S&&(D=y),O==null&&w>=r&&_&&(O=b),T++,w+=v,a>0&&s!==`simple`&&(w+=d+C),!1}}),E==null)return{startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:m-g-l};let k=x.length;D??=E;let A=Math.round(D-y/2),j=Math.max(0,k-y),M=Math.max(0,Math.min(A,j)),N=M*u,P=A<0?v+A*u:v,ee=x[M]??0,te=M+P/u;return{startingLine:N,totalLines:P,bufferBefore:ee,bufferAfter:te<x.length?m-g-x[te]-l:m-(w-t)-l}}};function Wr(e){let t=e.hunks.at(-1);return t==null||e.isPartial||e.additionLines.length===0||e.deletionLines.length===0?!1:t.additionLineIndex+t.additionCount<e.additionLines.length||t.deletionLineIndex+t.deletionCount<e.deletionLines.length}function Gr(e,t){let[n,r]=e.split(`,`).map(Number);return t===`split`?r:n}function Kr(e,t){return e==null||t==null?e===t:e.top===t.top&&e.bottom===t.bottom}function qr({scrollTop:e,scrollHeight:t,height:n,containerOffset:r=0,fitPerfectly:i,overscrollSize:a}){let o=n+a*2,s=i?n:o;if(t=Math.max(t,s),o>=t||i){let n=Math.max(e-r,0),i=Math.min(e+s,t)-r;return{top:n,bottom:Math.max(i,n)}}let c=e+n/2-o/2,l=c+o;return c<0&&(c=0),l>t&&(l=t),c=Math.floor(Math.max(c-r,0)),{top:c,bottom:Math.ceil(Math.max(Math.min(l,t)-r,c))}}var Jr=1e3,Yr=Jr*4,Xr=[0,1e-6,.99999,1],Zr={overscrollSize:Jr,intersectionObserverMargin:Yr,resizeDebugging:!1},Qr=0,$r=-1,ei=class e{static __STOP=!1;static __lastScrollPosition=0;__id=`virtualizer-${++$r}`;config;type=`basic`;intersectionObserver;scrollTop=0;height=0;scrollHeight=0;windowSpecs={top:0,bottom:0};root;contentContainer;resizeObserver;observers=new Map;visibleInstances=new Map;visibleInstancesDirty=!1;instancesChanged=new Set;scrollDirty=!0;heightDirty=!0;scrollHeightDirty=!0;renderedObservers=0;connectQueue=new Map;constructor(e){this.config={...Zr,...e}}setup(t,n){if(this.root==null){this.root=t,this.resizeObserver=new ResizeObserver(this.handleContainerResize),this.intersectionObserver=new IntersectionObserver(this.handleIntersectionChange,{root:this.root,threshold:Xr,rootMargin:`${this.config.intersectionObserverMargin}px 0px ${this.config.intersectionObserverMargin}px 0px`}),t instanceof Document?this.setupWindow():this.setupElement(n),window.__INSTANCE=this,window.__TOGGLE=()=>{e.__STOP?(e.__STOP=!1,(this.getScrollContainerElement()??window).scrollTo({top:e.__lastScrollPosition}),Nr(this.computeRenderRangeAndEmit)):(e.__lastScrollPosition=this.getScrollTop(),e.__STOP=!0)};for(let[e,t]of this.connectQueue.entries())this.connect(e,t);this.connectQueue.clear(),this.markDOMDirty(),Nr(this.computeRenderRangeAndEmit)}}instanceChanged(e){this.instancesChanged.add(e),this.markDOMDirty(),Nr(this.computeRenderRangeAndEmit)}getWindowSpecs(){return this.windowSpecs.top===0&&this.windowSpecs.bottom===0&&(this.windowSpecs=qr({scrollTop:this.getScrollTop(),height:this.getHeight(),scrollHeight:this.getScrollHeight(),fitPerfectly:!1,overscrollSize:this.config.overscrollSize})),this.windowSpecs}isInstanceVisible(e,t){let n=this.getScrollTop(),r=this.getHeight(),i=this.config.intersectionObserverMargin,a=n-i,o=n+r+i;return!(e<a-t||e>o)}handleContainerResize=e=>{if(this.root==null)return;let t=!1;for(let n of e){let e=n.borderBoxSize[0].blockSize;this.root instanceof Document?e!==this.scrollHeight&&(this.scrollHeightDirty=!0,t=!0,this.config.resizeDebugging&&(console.log(`Virtualizer: content size change`,this.__id,{sizeChange:e-Qr,newSize:e}),Qr=e)):n.target===this.root?e!==this.height&&(this.heightDirty=!0,t=!0):n.target===this.contentContainer&&(this.scrollHeightDirty=!0,t=!0,this.config.resizeDebugging&&(console.log(`Virtualizer: scroller size change`,this.__id,{sizeChange:e-Qr,newSize:e}),Qr=e))}t&&Nr(this.computeRenderRangeAndEmit)};setupWindow(){if(this.root==null||!(this.root instanceof Document))throw Error(`Virtualizer.setupWindow: Invalid setup method`);window.addEventListener(`scroll`,this.handleWindowScroll,{passive:!0}),window.addEventListener(`resize`,this.handleWindowResize,{passive:!0}),this.resizeObserver?.observe(this.root.documentElement)}setupElement(e){if(this.root==null||this.root instanceof Document)throw Error(`Virtualizer.setupElement: Invalid setup method`);this.root.addEventListener(`scroll`,this.handleElementScroll,{passive:!0}),this.resizeObserver?.observe(this.root),e??=this.root.firstElementChild??void 0,e instanceof HTMLElement&&(this.contentContainer=e,this.resizeObserver?.observe(e))}cleanUp(){this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0,this.root?.removeEventListener(`scroll`,this.handleElementScroll),window.removeEventListener(`scroll`,this.handleWindowScroll),window.removeEventListener(`resize`,this.handleWindowResize),this.root=void 0,this.contentContainer=void 0,this.observers.clear(),this.visibleInstances.clear(),this.instancesChanged.clear(),this.connectQueue.clear(),this.visibleInstancesDirty=!1,this.windowSpecs={top:0,bottom:0},this.scrollTop=0,this.height=0,this.scrollHeight=0}getOffsetInScrollContainer(e){return this.getScrollTop()+ti(e,this.getScrollContainerElement())}connect(e,t){if(this.observers.has(e))throw Error(`Virtualizer.connect: instance is already connected...`);return this.intersectionObserver==null?this.connectQueue.set(e,t):(this.intersectionObserver.observe(e),this.observers.set(e,t),this.instancesChanged.add(t),this.markDOMDirty(),Nr(this.computeRenderRangeAndEmit)),()=>this.disconnect(e)}disconnect(e){let t=this.observers.get(e);this.connectQueue.delete(e),t!=null&&(this.intersectionObserver?.unobserve(e),this.observers.delete(e),this.visibleInstances.delete(e)&&(this.visibleInstancesDirty=!0),this.markDOMDirty(),Nr(this.computeRenderRangeAndEmit))}handleWindowResize=()=>{e.__STOP||window.innerHeight===this.height||(this.heightDirty=!0,Nr(this.computeRenderRangeAndEmit))};handleWindowScroll=()=>{e.__STOP||this.root==null||!(this.root instanceof Document)||(this.scrollDirty=!0,Nr(this.computeRenderRangeAndEmit))};handleElementScroll=()=>{e.__STOP||this.root==null||this.root instanceof Document||(this.scrollDirty=!0,Nr(this.computeRenderRangeAndEmit))};computeRenderRangeAndEmit=()=>{if(e.__STOP)return;let t=this.heightDirty||this.scrollHeightDirty;if(!this.scrollDirty&&!this.scrollHeightDirty&&!this.heightDirty&&this.renderedObservers===this.observers.size&&!this.visibleInstancesDirty&&this.instancesChanged.size===0)return;if(this.instancesChanged.size===0){let e=qr({scrollTop:this.getScrollTop(),height:this.getHeight(),scrollHeight:this.getScrollHeight(),fitPerfectly:!1,overscrollSize:this.config.overscrollSize});if(Kr(this.windowSpecs,e)&&this.renderedObservers===this.observers.size&&!this.visibleInstancesDirty&&this.instancesChanged.size===0)return;this.windowSpecs=e}this.visibleInstancesDirty=!1,this.renderedObservers=this.observers.size;let n=this.getScrollAnchor(this.height),r=new Set;for(let e of t?this.observers.values():this.visibleInstances.values())e.onRender(t)&&r.add(e);for(let e of this.instancesChanged)r.has(e)||e.onRender(t)&&r.add(e);this.scrollFix(n),this.instancesChanged.size>0&&this.markDOMDirty();for(let e of r)e.reconcileHeights();(this.instancesChanged.size>0||t)&&Nr(this.computeRenderRangeAndEmit),r.clear(),this.instancesChanged.clear()};scrollFix(e){if(e==null)return;let t=this.getScrollContainerElement(),{lineIndex:n,lineOffset:r,fileElement:i,fileOffset:a,fileTypeOffset:o}=e;if(n!=null&&r!=null){let e=i.shadowRoot?.querySelector(`[data-line][data-line-index="${n}"]`);if(e instanceof HTMLElement){let n=ti(e,t);if(n!==r){let e=n-r;this.applyScrollFix(e)}return}}let s=ti(i,t);if(o===`top`)s!==a&&this.applyScrollFix(s-a);else{let e=s+i.getBoundingClientRect().height;e!==a&&this.applyScrollFix(e-a)}}applyScrollFix(e){this.root==null||this.root instanceof Document?window.scrollTo({top:window.scrollY+e,behavior:`instant`}):this.root.scrollTo({top:this.root.scrollTop+e,behavior:`instant`}),this.markDOMDirty()}getScrollAnchor(e){let t=this.getScrollContainerElement(),n;for(let[r]of this.visibleInstances.entries()){let i=ti(r,t),a=i+r.offsetHeight,o,s;a<=0?(o=a,s=`bottom`):(o=i,s=`top`);let c,l;if(a>0&&i<e)for(let e of r.shadowRoot?.querySelectorAll(`[data-line][data-line-index]`)??[]){if(!(e instanceof HTMLElement))continue;let n=e.dataset.lineIndex;if(n==null)continue;let r=ti(e,t);if(!(r<0)){c=n,l=r;break}}if(n?.lineOffset!=null&&l==null)continue;let u=!1;(n==null||l!=null&&(n.lineOffset==null||l<n.lineOffset)||l==null&&n.lineOffset==null&&(o>=0&&(n.fileOffset<0||o<n.fileOffset)||o<0&&n.fileOffset<0&&o>n.fileOffset))&&(u=!0),u&&(n={fileElement:r,fileTypeOffset:s,fileOffset:o,lineIndex:c,lineOffset:l})}return n}handleIntersectionChange=e=>{this.scrollDirty=!0;for(let{target:t,isIntersecting:n}of e){if(!(t instanceof HTMLElement))throw Error(`Virtualizer.handleIntersectionChange: target not an HTMLElement`);let e=this.observers.get(t);if(e==null)throw Error(`Virtualizer.handleIntersectionChange: no instance for target`);n&&!this.visibleInstances.has(t)?(e.setVisibility(!0),this.visibleInstances.set(t,e),this.visibleInstancesDirty=!0):!n&&this.visibleInstances.has(t)&&(e.setVisibility(!1),this.visibleInstances.delete(t),this.visibleInstancesDirty=!0)}this.visibleInstancesDirty&&Nr(this.computeRenderRangeAndEmit)};getScrollTop(){if(!this.scrollDirty)return this.scrollTop;this.scrollDirty=!1;let e=this.root==null?0:this.root instanceof Document?window.scrollY:this.root.scrollTop;return e=Math.max(0,Math.min(e,this.getScrollHeight()-this.getHeight())),this.scrollTop=e,e}getScrollHeight(){return this.scrollHeightDirty?(this.scrollHeightDirty=!1,this.scrollHeight=this.root==null?0:this.root instanceof Document?this.root.documentElement.scrollHeight:this.root.scrollHeight,this.scrollHeight):this.scrollHeight}getHeight(){return this.heightDirty?(this.heightDirty=!1,this.height=this.root==null?0:this.root instanceof Document?globalThis.innerHeight:this.root.getBoundingClientRect().height,this.height):this.height}markDOMDirty(){this.scrollDirty=!0,this.scrollHeightDirty=!0,this.heightDirty=!0}getScrollContainerElement(){return this.root==null||this.root instanceof Document?void 0:this.root}};function ti(e,t){let n=e.getBoundingClientRect(),r=t?.getBoundingClientRect().top??0;return n.top-r}function ni(e,t,n){if(e===t||e==null||t==null)return e===t;let r=new Set(n),i=Object.keys(e),a=new Set(Object.keys(t));for(let n of i)if(a.delete(n),!r.has(n)&&(!(n in t)||e[n]!==t[n]))return!1;for(let e of Array.from(a))if(!r.has(e))return!1;return!0}function ri(e,t){let n=e?.theme??J,r=t?.theme??J,i=ii(e),a=ii(t);return Ve(n,r)&&ni(e,t,[`theme`,`parseDiffOptions`])&&ni(i,a)}function ii(e){if(e!=null&&`parseDiffOptions`in e)return e.parseDiffOptions}var ai={position:`absolute`,top:0,bottom:0,textAlign:`center`},oi={display:`contents`};function si(){return null}var Q=S();function ci({file:e,renderCustomHeader:t,renderHeaderPrefix:n,renderHeaderMetadata:r,renderAnnotation:i,lineAnnotations:a,renderGutterUtility:o,renderHoverUtility:s,getHoveredLine:c}){let l=o??s,u=t?.(e),d=n?.(e),f=r?.(e);return(0,Q.jsxs)(Q.Fragment,{children:[u==null?(0,Q.jsxs)(Q.Fragment,{children:[d!=null&&(0,Q.jsx)(`div`,{slot:`header-prefix`,children:d}),f!=null&&(0,Q.jsx)(`div`,{slot:`header-metadata`,children:f})]}):(0,Q.jsx)(`div`,{slot:Y,children:u}),i!=null&&a?.map((e,t)=>(0,Q.jsx)(`div`,{slot:Cn(e),children:i(e)},t)),l!=null&&(0,Q.jsx)(`div`,{slot:`gutter-utility-slot`,style:ai,children:l(c)})]})}function li(e,t){return typeof window>`u`&&t!=null?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`template`,{shadowrootmode:`open`,dangerouslySetInnerHTML:{__html:t}}),e]}):(0,Q.jsx)(Q.Fragment,{children:e})}var $=e(t(),1),ui=(0,$.createContext)(void 0);function di({children:e,config:t,className:n,style:r,contentClassName:i,contentStyle:a}){let[o]=(0,$.useState)(()=>typeof window<`u`?new ei(t):void 0),s=(0,$.useCallback)(e=>{e==null?o?.cleanUp():o?.setup(e)},[o]);return(0,Q.jsx)(ui.Provider,{value:o,children:(0,Q.jsx)(`div`,{className:n,style:r,ref:s,children:(0,Q.jsx)(`div`,{className:i,style:a,children:e})})})}function fi(){return(0,$.useContext)(ui)}function pi(e){let t=(0,$.useRef)(e);return(0,$.useInsertionEffect)(()=>void(t.current=e)),(0,$.useCallback)((...e)=>t.current(...e),[])}var mi=typeof window>`u`?$.useEffect:$.useLayoutEffect;function hi({file:e,options:t,lineAnnotations:n,selectedLines:r,prerenderedHTML:i,metrics:a,hasGutterRenderUtility:o,hasCustomHeader:s,disableWorkerPool:c}){let l=fi(),u=(0,$.useContext)(We),d=(0,$.useRef)(null),f=pi(r=>{if(r!=null){if(d.current!=null)throw Error(`File: An instance should not already exist when a node is created`);l==null?d.current=new Jn(gi({hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),c?void 0:u,!0):d.current=new zr(gi({hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),l,a,c?void 0:u,!0),d.current.hydrate({file:e,fileContainer:r,lineAnnotations:n,prerenderedHTML:i})}else{if(d.current==null)throw Error(`File: A File instance should exist when unmounting`);d.current.cleanUp(),d.current=null}});return mi(()=>{if(d.current==null)return;let i=gi({hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),a=!ri(d.current.options,i);d.current.setOptions(i),d.current.render({file:e,lineAnnotations:n,forceRender:a}),r!==void 0&&d.current.setSelectedLines(r)}),{ref:f,getHoveredLine:(0,$.useCallback)(()=>d.current?.getHoveredLine(),[])}}function gi({options:e,hasCustomHeader:t,hasGutterRenderUtility:n}){return n||t?{...e,renderCustomHeader:t?si:void 0,renderGutterUtility:n?si:void 0}:e}function _i({file:e,lineAnnotations:t,selectedLines:n,options:r,metrics:i,className:a,style:o,renderAnnotation:s,renderCustomHeader:c,renderHeaderPrefix:l,renderHeaderMetadata:u,prerenderedHTML:d,renderGutterUtility:f,renderHoverUtility:p,disableWorkerPool:m=!1}){let{ref:h,getHoveredLine:g}=hi({file:e,options:r,metrics:i,lineAnnotations:t,selectedLines:n,prerenderedHTML:d,hasGutterRenderUtility:f!=null||p!=null,hasCustomHeader:c!=null,disableWorkerPool:m});return(0,Q.jsx)(H,{ref:h,className:a,style:o,children:li(ci({file:e,renderAnnotation:s,renderCustomHeader:c,renderHeaderPrefix:l,renderHeaderMetadata:u,renderGutterUtility:f,renderHoverUtility:p,lineAnnotations:t,getHoveredLine:g}),d)})}function vi({fileDiff:e,actions:t,renderCustomHeader:n,renderHeaderPrefix:r,renderHeaderMetadata:i,renderAnnotation:a,renderGutterUtility:o,renderHoverUtility:s,renderMergeConflictUtility:c,lineAnnotations:l,getHoveredLine:u,getInstance:d}){let f=o??s,p=n?.(e),m=r?.(e),h=i?.(e);return(0,Q.jsxs)(Q.Fragment,{children:[p==null?(0,Q.jsxs)(Q.Fragment,{children:[m!=null&&(0,Q.jsx)(`div`,{slot:`header-prefix`,children:m}),h!=null&&(0,Q.jsx)(`div`,{slot:`header-metadata`,children:h})]}):(0,Q.jsx)(`div`,{slot:Y,children:p}),a!=null&&l?.map((e,t)=>(0,Q.jsx)(`div`,{slot:Cn(e),children:a(e)},t)),t!=null&&c!=null&&d!=null&&t.map(t=>{if(t==null)return;let n=yi(t,e);return(0,Q.jsx)(`div`,{slot:n,style:oi,children:c(t,d)},n)}),f!=null&&(0,Q.jsx)(`div`,{slot:`gutter-utility-slot`,style:ai,children:f(u)})]})}function yi(e,t){let n=Ir(e,t);return n==null?void 0:Fr({hunkIndex:n.hunkIndex,lineIndex:n.lineIndex,conflictIndex:e.conflictIndex})}var bi=typeof window>`u`?$.useEffect:$.useLayoutEffect;function xi({fileDiff:e,options:t,lineAnnotations:n,selectedLines:r,prerenderedHTML:i,metrics:a,hasGutterRenderUtility:o,hasCustomHeader:s,disableWorkerPool:c}){let l=fi(),u=(0,$.useContext)(We),d=(0,$.useRef)(null),f=pi(r=>{if(r!=null){if(d.current!=null)throw Error(`useFileDiffInstance: An instance should not already exist when a node is created`);l==null?d.current=new Cr(Si({hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),c?void 0:u,!0):d.current=new Ur(Si({hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),l,a,c?void 0:u,!0),d.current.hydrate({fileDiff:e,fileContainer:r,lineAnnotations:n,prerenderedHTML:i})}else{if(d.current==null)throw Error(`useFileDiffInstance: A FileDiff instance should exist when unmounting`);d.current.cleanUp(),d.current=null}});return bi(()=>{let{current:i}=d;if(i==null)return;let a=Si({hasCustomHeader:s,hasGutterRenderUtility:o,options:t}),c=!ri(i.options,a);i.setOptions(a),i.render({forceRender:c,fileDiff:e,lineAnnotations:n}),r!==void 0&&i.setSelectedLines(r)}),{ref:f,getHoveredLine:(0,$.useCallback)(()=>d.current?.getHoveredLine(),[])}}function Si({options:e,hasCustomHeader:t,hasGutterRenderUtility:n}){return n||t?{...e,renderCustomHeader:t?si:void 0,renderGutterUtility:n?si:void 0}:e}function Ci({fileDiff:e,options:t,metrics:n,lineAnnotations:r,selectedLines:i,className:a,style:o,prerenderedHTML:s,renderAnnotation:c,renderCustomHeader:l,renderHeaderPrefix:u,renderHeaderMetadata:d,renderGutterUtility:f,renderHoverUtility:p,disableWorkerPool:m=!1}){let{ref:h,getHoveredLine:g}=xi({fileDiff:e,options:t,metrics:n,lineAnnotations:r,selectedLines:i,prerenderedHTML:s,hasGutterRenderUtility:f!=null||p!=null,hasCustomHeader:l!=null,disableWorkerPool:m});return(0,Q.jsx)(H,{ref:h,className:a,style:o,children:li(vi({fileDiff:e,renderCustomHeader:l,renderHeaderPrefix:u,renderHeaderMetadata:d,renderAnnotation:c,renderGutterUtility:f,lineAnnotations:r,renderHoverUtility:p,getHoveredLine:g}),s)})}var wi=n();function Ti(e){let t=e.name??e.prevName??``;return t.startsWith(`a/`)||t.startsWith(`b/`)?t.slice(2):t}function Ei(e,t=!1){let n=e.trim();return t?n:n.toLowerCase()}function Di(e,t){t.text!==void 0&&e.push({fileIndex:t.fileIndex,field:t.field,text:t.text,normalizedText:t.text.toLowerCase(),...t.lineIndex===void 0?{}:{lineIndex:t.lineIndex},...t.unifiedLineIndex===void 0?{}:{unifiedLineIndex:t.unifiedLineIndex},...t.splitLineIndex===void 0?{}:{splitLineIndex:t.splitLineIndex}})}function Oi(e,t,n){t.additionLines.forEach((t,r)=>{Di(e,{fileIndex:n,field:`addition`,lineIndex:r,text:t})}),t.deletionLines.forEach((t,r)=>{Di(e,{fileIndex:n,field:`deletion`,lineIndex:r,text:t})})}function ki(e,t,n){if(!t.hunks||t.hunks.length===0)return!1;for(let r of t.hunks){let i=r.unifiedLineStart,a=r.splitLineStart;for(let o of r.hunkContent){if(o.type===`context`){for(let r=0;r<o.lines;r+=1){let s=o.additionLineIndex+r,c=o.deletionLineIndex+r;Di(e,{fileIndex:n,field:`context`,lineIndex:s,unifiedLineIndex:i+r,splitLineIndex:a+r,text:t.additionLines[s]??t.deletionLines[c]})}i+=o.lines,a+=o.lines;continue}for(let r=0;r<o.deletions;r+=1){let s=o.deletionLineIndex+r;Di(e,{fileIndex:n,field:`deletion`,lineIndex:s,unifiedLineIndex:i+r,splitLineIndex:a+r,text:t.deletionLines[s]})}for(let r=0;r<o.additions;r+=1){let s=o.additionLineIndex+r;Di(e,{fileIndex:n,field:`addition`,lineIndex:s,unifiedLineIndex:i+o.deletions+r,splitLineIndex:a+r,text:t.additionLines[s]})}i+=o.deletions+o.additions,a+=Math.max(o.deletions,o.additions)}}return!0}function Ai(e){let t=[];return e.forEach((e,n)=>{Di(t,{text:Ti(e),fileIndex:n,field:`path`}),e.prevName&&Di(t,{text:Ti({name:e.prevName}),fileIndex:n,field:`previousPath`}),ki(t,e,n)||Oi(t,e,n)}),{records:t}}function ji(e){let t=e.caseSensitive?e.record.text:e.record.normalizedText,n=[],r=0;for(;;){let i=t.indexOf(e.needle,r);if(i===-1)return n;let a=i+e.needle.length;n.push({fileIndex:e.record.fileIndex,field:e.record.field,...e.record.lineIndex===void 0?{}:{lineIndex:e.record.lineIndex},...e.record.unifiedLineIndex===void 0?{}:{unifiedLineIndex:e.record.unifiedLineIndex},...e.record.splitLineIndex===void 0?{}:{splitLineIndex:e.record.splitLineIndex},start:i,end:a}),r=a>i?a:i+1}}function Mi(e){return!Array.isArray(e)}function Ni(e,t,n){let r=n?.caseSensitive??!1,i=Ei(t,r);if(!i)return[];let a=Mi(e)?e:Ai(e),o=[];for(let e of a.records)o.push(...ji({record:e,needle:i,caseSensitive:r}));return o}function Pi(e){return[...new Set(e.map(e=>e.fileIndex))]}function Fi(e){let t=new Map;for(let n of e){let e=t.get(n.fileIndex);e?e.push(n):t.set(n.fileIndex,[n])}return t}function Ii(e,t,n){return t<=0?0:(e+n+t)%t}function Li(e,t){return e.field===`path`||e.field===`previousPath`?null:(t===`split`?e.splitLineIndex:e.unifiedLineIndex)??e.lineIndex??null}function Ri(e){return e===`addition`||e===`deletion`||e===`context`}function zi(e){if(!e)return null;let[t,n]=e.split(`,`),r=Number.parseInt(t??``,10);if(!Number.isFinite(r))return null;let i=Number.parseInt(n??``,10);return{stacked:r,split:Number.isFinite(i)?i:r}}function Bi(e,t){if(!Ri(e.field)||Li(e,t.renderMode)!==(t.renderMode===`split`?t.lineIndexes.split:t.lineIndexes.stacked))return!1;switch(e.field){case`addition`:return t.lineType===`change-addition`||t.lineType===`addition`;case`deletion`:return t.lineType===`change-deletion`||t.lineType===`deletion`;case`context`:return t.lineType===`context`||t.lineType===`context-expanded`}}function Vi(e){let t=e.cwd?it(e.filePath,e.cwd):e.filePath;return typeof e.lineNumber==`number`?`${t}:${e.lineNumber}`:t}var Hi=`
66
66
  [data-diffs-header],
67
67
  [data-diff],
68
68
  [data-file],
@@ -133,7 +133,7 @@ import{i as e,t}from"./react-PSPkXoKo.js";import{t as n}from"./compiler-runtime-
133
133
  background-color: color-mix(in srgb, var(--warning) 60%, transparent);
134
134
  color: var(--foreground);
135
135
  }
136
- `;function Ui(e,t=`diff-panel`){if(!e)return null;let n=e.trim();if(n.length===0)return null;try{let e=yr(n,Le(n,t)).flatMap(e=>e.files);return e.length>0?{kind:`files`,files:e}:{kind:`raw`,text:n,reason:`Unsupported diff format. Showing raw patch.`}}catch{return{kind:`raw`,text:n,reason:`Failed to parse patch. Showing raw patch.`}}}function Wi(e){return Ti(e)}function Gi(e){return e.cacheKey??`${e.prevName??`none`}:${e.name}`}var Ki=`ryco-diff-search-match`,qi=150,Ji=80,Yi=1600;function Xi(){return typeof CSS<`u`&&CSS.highlights!==void 0&&globalThis.Highlight!==void 0}function Zi(e,t,n=Yi){let r=e.getBoundingClientRect(),i=t.getBoundingClientRect();return r.bottom>=i.top-n&&r.top<=i.bottom+n&&r.right>=i.left-n&&r.left<=i.right+n}function Qi(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(e){let t=e.parentElement;return t&&t.closest(`[data-line-number-content]`)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),r=n.nextNode(),i=0;for(;r;){let e=r,a=i+e.data.length;t.push({node:e,start:i,end:a}),i=a,r=n.nextNode()}return{offsets:t,textLength:i}}function $i(e,t,n){for(let r of e)if(!(t<r.start||t>r.end)&&!(t===r.end&&n===`start`))return{node:r.node,offset:t-r.start};return null}function ea(e,t,n){let{offsets:r,textLength:i}=Qi(e);if(r.length===0||t.start<0||t.end>i||t.start>=t.end)return;let a=$i(r,t.start,`start`),o=$i(r,t.end,`end`);if(!a||!o)return;let s=document.createRange();s.setStart(a.node,a.offset),s.setEnd(o.node,o.offset),n.push(s)}function ta(e){let t=zi(e.lineIndexAttr);return t?e.matches.filter(n=>Bi(n,{renderMode:e.renderMode,lineIndexes:t,lineType:e.lineType})):[]}function na(e){if(Li(e.match,e.renderMode)===null)return null;let t=e.fileElement.querySelectorAll(`diffs-container`);for(let n of t){let t=n.shadowRoot?.querySelectorAll(`[data-line][data-line-index]`);for(let n of t??[]){let t=zi(n.getAttribute(`data-line-index`));if(t&&Bi(e.match,{renderMode:e.renderMode,lineIndexes:t,lineType:n.getAttribute(`data-line-type`)}))return n}}return null}function ra(e){let t=[],n=e.rootElement.querySelectorAll(`[data-diff-file-index]`);for(let r of n){if(!Zi(r,e.viewportElement))continue;let n=r.dataset.diffFileIndex,i=n?Number.parseInt(n,10):NaN;if(!Number.isFinite(i))continue;let a=e.matchesByFileIndex.get(i);if(!a||a.length===0)continue;let o=r.querySelectorAll(`diffs-container`);for(let n of o){let r=n.shadowRoot?.querySelectorAll(`[data-line][data-line-index]`);for(let n of r??[]){if(!Zi(n,e.viewportElement))continue;let r=ta({matches:a,renderMode:e.renderMode,lineIndexAttr:n.getAttribute(`data-line-index`),lineType:n.getAttribute(`data-line-type`)});for(let e of r)ea(n,e,t)}}}return t}function ia(e){switch(e.type){case`new`:return`text-[var(--diffs-addition-base)]`;case`deleted`:return`text-[var(--diffs-deletion-base)]`;case`change`:case`rename-pure`:case`rename-changed`:return`text-[var(--diffs-modified-base)]`;default:return`text-muted-foreground/80`}}function aa(e){let t=(0,wi.c)(216),{mode:n}=e,r=n===void 0?`inline`:n;ee(`DiffPanel`);let i=ot(),{resolvedTheme:a}=Pt(),l=d(),[m,h]=(0,$.useState)(`stacked`),[g,_]=(0,$.useState)(l.diffWordWrap),[b,x]=(0,$.useState)(l.diffIgnoreWhitespace),[S,C]=(0,$.useState)(ga),[w,T]=(0,$.useState)(``),E;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(E={wait:qi},t[0]=E):E=t[0];let[D]=le(w,E),O;t[1]!==D||t[2]!==w?(O=w.trim().length===0?``:D,t[1]=D,t[2]=w,t[3]=O):O=t[3];let k=O,[A,j]=(0,$.useState)(0),M=(0,$.useRef)(null),N=(0,$.useRef)(null),P=(0,$.useRef)(null),ne=(0,$.useRef)(!1),[F,ie]=(0,$.useState)(!1),[oe,se]=(0,$.useState)(!1),ce;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(ce={strict:!1,select:ha},t[4]=ce):ce=t[4];let ue=st(ce),de;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(de={strict:!1,select:ma},t[5]=de):de=t[5];let fe=_t(de),pe=fe.diff===`1`,me=ue?.threadId??null,he;t[6]===ue?he=t[7]:(he=At(ue),t[6]=ue,t[7]=he);let R=f(he),ge=R?.projectId??null,_e;t[8]!==ge||t[9]!==R?(_e=e=>R&&ge?p(e,{environmentId:R.environmentId,projectId:ge}):void 0,t[8]=ge,t[9]=R,t[10]=_e):_e=t[10];let z=f(_e),ve=R?.worktreePath??z?.cwd,ye=R?.environmentId??null,be=ve??null,xe;t[11]!==ye||t[12]!==be?(xe={environmentId:ye,cwd:be},t[11]=ye,t[12]=be,t[13]=xe):xe=t[13];let Se=s(xe).data?.isRepo??!0,{turnDiffSummaries:B,inferredCheckpointTurnCountByTurnId:V}=Je(R),Ce;if(t[14]!==V||t[15]!==B){let e;t[17]===V?e=t[18]:(e=(e,t)=>{let n=e.checkpointTurnCount??V[e.turnId]??0,r=t.checkpointTurnCount??V[t.turnId]??0;return n===r?t.completedAt.localeCompare(e.completedAt):r-n},t[17]=V,t[18]=e),Ce=[...B].toSorted(e),t[14]=V,t[15]=B,t[16]=Ce}else Ce=t[16];let H=Ce,U=fe.diffTurnId??null,we=U===null?null:fe.diffFilePath??null,Te;t[19]!==H||t[20]!==U?(Te=U===null?void 0:H.find(e=>e.turnId===U)??H[0],t[19]=H,t[20]=U,t[21]=Te):Te=t[21];let W=Te,G=W&&(W.checkpointTurnCount??V[W.turnId]),K;t[22]===G?K=t[23]:(K=typeof G==`number`?{fromTurnCount:Math.max(0,G-1),toTurnCount:G}:null,t[22]=G,t[23]=K);let q=K,J;if(t[24]!==V||t[25]!==H){bb0:{let e;t[27]===V?e=t[28]:(e=e=>e.checkpointTurnCount??V[e.turnId],t[27]=V,t[28]=e);let n=H.map(e).filter(pa);if(n.length===0){J=void 0;break bb0}let r=Math.max(...n);J=r>0?r:void 0}t[24]=V,t[25]=H,t[26]=J}else J=t[26];let Ee=J,De;t[29]!==Ee||t[30]!==W?(De=!W&&typeof Ee==`number`?{fromTurnCount:0,toTurnCount:Ee}:null,t[29]=Ee,t[30]=W,t[31]=De):De=t[31];let Oe=W?q:De,ke;bb1:{if(W||H.length===0){ke=null;break bb1}let e;t[32]===H?e=t[33]:(e=H.map(fa).join(`,`),t[32]=H,t[33]=e),ke=`conversation:${e}`}let Ae=ke,je=R?.environmentId??null,Ne=Oe?.fromTurnCount??null,Pe=Oe?.toTurnCount??null,Ie=W?`turn:${W.turnId}`:Ae,Le;t[34]!==me||t[35]!==b||t[36]!==Se||t[37]!==je||t[38]!==Ne||t[39]!==Pe||t[40]!==Ie?(Le=u({environmentId:je,threadId:me,fromTurnCount:Ne,toTurnCount:Pe,ignoreWhitespace:b,cacheScope:Ie,enabled:Se}),t[34]=me,t[35]=b,t[36]=Se,t[37]=je,t[38]=Ne,t[39]=Pe,t[40]=Ie,t[41]=Le):Le=t[41];let Re=ae(Le),ze=W?Re.data?.diff:void 0,Be=W?void 0:Re.data?.diff,Ve=Re.isLoading,He=Re.error instanceof Error?Re.error.message:Re.error?`Failed to load checkpoint diff.`:null,Ue=W?ze:Be,We=typeof Ue==`string`,Ge;t[42]!==We||t[43]!==Ue?(Ge=We&&Ue.trim().length===0,t[42]=We,t[43]=Ue,t[44]=Ge):Ge=t[44];let Ke=Ge,qe=`diff-panel:${a}`,Ye;t[45]!==Ue||t[46]!==qe?(Ye=Ui(Ue,qe),t[45]=Ue,t[46]=qe,t[47]=Ye):Ye=t[47];let Y=Ye,Xe;bb2:{if(!Y||Y.kind!==`files`){let e;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[48]=e):e=t[48],Xe=e;break bb2}let e;t[49]===Y.files?e=t[50]:(e=Y.files.toSorted(da),t[49]=Y.files,t[50]=e),Xe=e}let X=Xe,Ze;t[51]===X?Ze=t[52]:(Ze=Ai(X),t[51]=X,t[52]=Ze);let Qe=Ze,$e;t[53]===k?$e=t[54]:($e=Ei(k),t[53]=k,t[54]=$e);let tt=$e,rt;t[55]!==Qe||t[56]!==k?(rt=Ni(Qe,k),t[55]=Qe,t[56]=k,t[57]=rt):rt=t[57];let Z=rt,it;t[58]===Z?it=t[59]:(it=Fi(Z),t[58]=Z,t[59]=it);let at=it,lt;t[60]===X?lt=t[61]:(lt=X.map(ua),t[60]=X,t[61]=lt);let ut=lt,dt;bb3:{if(!tt){dt=ut;break bb3}let e;if(t[62]!==Z||t[63]!==X){let n;t[65]===X?n=t[66]:(n=e=>({fileDiff:X[e],fileIndex:e}),t[65]=X,t[66]=n),e=Pi(Z).map(n),t[62]=Z,t[63]=X,t[64]=e}else e=t[64];dt=e}let ft=dt,mt;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(mt=()=>{j(0)},t[67]=mt):mt=t[67];let ht;t[68]!==tt||t[69]!==X?(ht=[tt,X],t[68]=tt,t[69]=X,t[70]=ht):ht=t[70],(0,$.useEffect)(mt,ht);let gt,vt;t[71]===Z.length?(gt=t[72],vt=t[73]):(gt=()=>{j(e=>Z.length===0?0:Math.min(e,Z.length-1))},vt=[Z.length],t[71]=Z.length,t[72]=gt,t[73]=vt),(0,$.useEffect)(gt,vt);let yt;t[74]!==A||t[75]!==m||t[76]!==Z?(yt=e=>{if(Z.length===0)return;let t=Ii(A,Z.length,e);j(t);let n=Z[t],r=N.current;if(!n||!r)return;let i=r.querySelector(`[data-diff-file-index="${n.fileIndex}"]`);if(!i)return;let a=na({fileElement:i,match:n,renderMode:m});(a??i).scrollIntoView({block:`center`,behavior:`smooth`}),!a&&Li(n,m)!==null&&window.requestAnimationFrame(()=>{na({fileElement:i,match:n,renderMode:m})?.scrollIntoView({block:`center`,behavior:`smooth`})})},t[74]=A,t[75]=m,t[76]=Z,t[77]=yt):yt=t[77];let bt=yt,xt,St;t[78]!==m||t[79]!==Z.length||t[80]!==at||t[81]!==tt?(xt=()=>{if(!Xi())return;let e=CSS.highlights,t=N.current;if(!t||!tt||Z.length===0){e.delete(Ki);return}let n=0,r=0,i=new Map,a=t.querySelector(`.diff-render-surface`)??t.querySelector(`[data-virtualizer]`)??t,o=()=>{n=0,c();let r=ra({rootElement:t,viewportElement:a,matchesByFileIndex:at,renderMode:m});if(r.length===0){e.delete(Ki);return}e.set(Ki,new Highlight(...r))},s=()=>{n!==0||r!==0||(r=window.setTimeout(()=>{r=0,n=window.requestAnimationFrame(o)},Ji))},c=()=>{let e=t.querySelectorAll(`[data-diff-file-index]`);for(let t of e){if(!Zi(t,a))continue;let e=t.querySelectorAll(`diffs-container`);for(let t of e){let e=t.shadowRoot;if(!e||i.has(e))continue;let n=new MutationObserver(s);n.observe(e,{childList:!0,subtree:!0}),i.set(e,n)}}},l=new MutationObserver(s);l.observe(t,{childList:!0,subtree:!0}),a.addEventListener(`scroll`,s,{passive:!0});let u=new ResizeObserver(s);return u.observe(a),s(),()=>{l.disconnect(),a.removeEventListener(`scroll`,s),u.disconnect();for(let e of i.values())e.disconnect();i.clear(),r!==0&&window.clearTimeout(r),n!==0&&window.cancelAnimationFrame(n),e.delete(Ki)}},St=[m,Z.length,at,tt],t[78]=m,t[79]=Z.length,t[80]=at,t[81]=tt,t[82]=xt,t[83]=St):(xt=t[82],St=t[83]),(0,$.useEffect)(xt,St);let wt,Tt;t[84]===X?(wt=t[85],Tt=t[86]):(wt=()=>{if(X.length===0){C(la);return}let e=new Set(X.map(Gi));C(t=>{let n=new Set([...t].filter(t=>e.has(t)));return n.size===t.size?t:n})},Tt=[X],t[84]=X,t[85]=wt,t[86]=Tt),(0,$.useEffect)(wt,Tt);let Et,Dt;t[87]!==pe||t[88]!==l.diffIgnoreWhitespace||t[89]!==l.diffWordWrap?(Et=()=>{pe&&!ne.current&&(_(l.diffWordWrap),x(l.diffIgnoreWhitespace),T(``)),ne.current=pe},Dt=[pe,l.diffIgnoreWhitespace,l.diffWordWrap],t[87]=pe,t[88]=l.diffIgnoreWhitespace,t[89]=l.diffWordWrap,t[90]=Et,t[91]=Dt):(Et=t[90],Dt=t[91]),(0,$.useEffect)(Et,Dt);let Ot;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(Ot=()=>{T(``)},t[92]=Ot):Ot=t[92];let jt;t[93]===U?jt=t[94]:(jt=[U],t[93]=U,t[94]=jt),(0,$.useEffect)(Ot,jt);let Mt;t[95]===we?Mt=t[96]:(Mt=()=>{!we||!N.current||Array.from(N.current.querySelectorAll(`[data-diff-file-path]`)).find(e=>e.dataset.diffFilePath===we)?.scrollIntoView({block:`nearest`})},t[95]=we,t[96]=Mt);let Nt;t[97]!==X||t[98]!==we?(Nt=[we,X],t[97]=X,t[98]=we,t[99]=Nt):Nt=t[99],(0,$.useEffect)(Mt,Nt);let Ft;t[100]===ve?Ft=t[101]:(Ft=(e,t)=>{let n=c();n&&L(n,Vi({cwd:ve,filePath:e,lineNumber:t})).catch(ca)},t[100]=ve,t[101]=Ft);let zt=Ft,Bt;t[102]===Symbol.for(`react.memo_cache_sentinel`)?(Bt=e=>{C(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},t[102]=Bt):Bt=t[102];let Vt=Bt,Ht;t[103]!==R||t[104]!==i?(Ht=e=>{R&&i({to:`/$environmentId/$threadId`,params:ct(o(R.environmentId,R.id)),search:t=>({...pt(t),diff:`1`,diffTurnId:e})})},t[103]=R,t[104]=i,t[105]=Ht):Ht=t[105];let Ut=Ht,qt;t[106]!==R||t[107]!==i?(qt=()=>{R&&i({to:`/$environmentId/$threadId`,params:ct(o(R.environmentId,R.id)),search:sa})},t[106]=R,t[107]=i,t[108]=qt):qt=t[108];let Jt=qt,Yt;t[109]===Symbol.for(`react.memo_cache_sentinel`)?(Yt=()=>{let e=P.current;if(!e){ie(!1),se(!1);return}let t=Math.max(0,e.scrollWidth-e.clientWidth);ie(e.scrollLeft>4),se(e.scrollLeft<t-4)},t[109]=Yt):Yt=t[109];let Xt=Yt,Zt;t[110]===Symbol.for(`react.memo_cache_sentinel`)?(Zt=e=>{let t=P.current;t&&t.scrollBy({left:e,behavior:`smooth`})},t[110]=Zt):Zt=t[110];let Qt=Zt,$t;t[111]===Symbol.for(`react.memo_cache_sentinel`)?($t=e=>{let t=P.current;t&&(t.scrollWidth<=t.clientWidth+1||Math.abs(e.deltaY)<=Math.abs(e.deltaX)||(e.preventDefault(),t.scrollBy({left:e.deltaY,behavior:`auto`})))},t[111]=$t):$t=t[111];let en=$t,tn,nn;t[112]===Symbol.for(`react.memo_cache_sentinel`)?(tn=()=>{let e=P.current;if(!e)return;let t=window.requestAnimationFrame(()=>Xt()),n=()=>Xt();e.addEventListener(`scroll`,n,{passive:!0});let r=new ResizeObserver(()=>Xt());return r.observe(e),()=>{window.cancelAnimationFrame(t),e.removeEventListener(`scroll`,n),r.disconnect()}},nn=[Xt],t[112]=tn,t[113]=nn):(tn=t[112],nn=t[113]),(0,$.useEffect)(tn,nn);let rn;t[114]===Symbol.for(`react.memo_cache_sentinel`)?(rn=()=>{let e=window.requestAnimationFrame(()=>Xt());return()=>{window.cancelAnimationFrame(e)}},t[114]=rn):rn=t[114];let an;t[115]!==H||t[116]!==U?(an=[H,U,Xt],t[115]=H,t[116]=U,t[117]=an):an=t[117],(0,$.useEffect)(rn,an);let on;t[118]===Symbol.for(`react.memo_cache_sentinel`)?(on=()=>{let e=P.current;e&&e.querySelector(`[data-turn-chip-selected='true']`)?.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`smooth`})},t[118]=on):on=t[118];let sn=W?.turnId,cn;t[119]!==U||t[120]!==sn?(cn=[sn,U],t[119]=U,t[120]=sn,t[121]=cn):cn=t[121],(0,$.useEffect)(on,cn);let ln=F?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`,un;t[122]===ln?un=t[123]:(un=y(`absolute left-0 top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,ln),t[122]=ln,t[123]=un);let dn;t[124]===Symbol.for(`react.memo_cache_sentinel`)?(dn=()=>Qt(-180),t[124]=dn):dn=t[124];let fn=!F,pn;t[125]===Symbol.for(`react.memo_cache_sentinel`)?(pn=(0,Q.jsx)(nt,{className:`size-3.5`}),t[125]=pn):pn=t[125];let mn;t[126]!==un||t[127]!==fn?(mn=(0,Q.jsx)(`button`,{type:`button`,className:un,onClick:dn,disabled:fn,"aria-label":`Scroll turn list left`,children:pn}),t[126]=un,t[127]=fn,t[128]=mn):mn=t[128];let hn=oe?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`,gn;t[129]===hn?gn=t[130]:(gn=y(`absolute right-0 top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,hn),t[129]=hn,t[130]=gn);let _n;t[131]===Symbol.for(`react.memo_cache_sentinel`)?(_n=()=>Qt(180),t[131]=_n):_n=t[131];let vn=!oe,yn;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(yn=(0,Q.jsx)(I,{className:`size-3.5`}),t[132]=yn):yn=t[132];let bn;t[133]!==gn||t[134]!==vn?(bn=(0,Q.jsx)(`button`,{type:`button`,className:gn,onClick:_n,disabled:vn,"aria-label":`Scroll turn list right`,children:yn}),t[133]=gn,t[134]=vn,t[135]=bn):bn=t[135];let xn;t[136]!==F||t[137]!==oe?(xn=F||oe?{maskImage:`linear-gradient(to right, ${F?`transparent 24px, black 72px`:`black`}, ${oe?`black calc(100% - 72px), transparent calc(100% - 24px)`:`black`})`}:void 0,t[136]=F,t[137]=oe,t[138]=xn):xn=t[138];let Sn=U===null,Cn=U===null?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`,wn;t[139]===Cn?wn=t[140]:(wn=y(`rounded-md border px-2 py-1 text-left transition-colors`,Cn),t[139]=Cn,t[140]=wn);let Tn;t[141]===Symbol.for(`react.memo_cache_sentinel`)?(Tn=(0,Q.jsx)(`div`,{className:`text-[10px] leading-tight font-medium`,children:`All turns`}),t[141]=Tn):Tn=t[141];let En;t[142]===wn?En=t[143]:(En=(0,Q.jsx)(`div`,{className:wn,children:Tn}),t[142]=wn,t[143]=En);let Dn;t[144]!==Jt||t[145]!==Sn||t[146]!==En?(Dn=(0,Q.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:Jt,"data-turn-chip-selected":Sn,children:En}),t[144]=Jt,t[145]=Sn,t[146]=En,t[147]=Dn):Dn=t[147];let On;if(t[148]!==V||t[149]!==H||t[150]!==Ut||t[151]!==W?.turnId||t[152]!==l.timestampFormat){let e;t[154]!==V||t[155]!==Ut||t[156]!==W?.turnId||t[157]!==l.timestampFormat?(e=e=>(0,Q.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:()=>Ut(e.turnId),title:e.turnId,"data-turn-chip-selected":e.turnId===W?.turnId,children:(0,Q.jsx)(`div`,{className:y(`rounded-md border px-2 py-1 text-left transition-colors`,e.turnId===W?.turnId?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`),children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Q.jsxs)(`span`,{className:`text-[10px] leading-tight font-medium`,children:[`Turn`,` `,e.checkpointTurnCount??V[e.turnId]??`?`]}),(0,Q.jsx)(`span`,{className:`text-[9px] leading-tight opacity-70`,children:te(e.completedAt,l.timestampFormat)})]})})},e.turnId),t[154]=V,t[155]=Ut,t[156]=W?.turnId,t[157]=l.timestampFormat,t[158]=e):e=t[158],On=H.map(e),t[148]=V,t[149]=H,t[150]=Ut,t[151]=W?.turnId,t[152]=l.timestampFormat,t[153]=On}else On=t[153];let kn;t[159]!==xn||t[160]!==Dn||t[161]!==On?(kn=(0,Q.jsxs)(`div`,{ref:P,className:`turn-chip-strip flex gap-1 overflow-x-auto px-8 py-0.5`,style:xn,onWheel:en,children:[Dn,On]}),t[159]=xn,t[160]=Dn,t[161]=On,t[162]=kn):kn=t[162];let An;t[163]!==mn||t[164]!==bn||t[165]!==kn?(An=(0,Q.jsxs)(`div`,{className:`relative min-w-0 flex-1 [-webkit-app-region:no-drag]`,children:[mn,bn,kn]}),t[163]=mn,t[164]=bn,t[165]=kn,t[166]=An):An=t[166];let jn;t[167]===m?jn=t[168]:(jn=[m],t[167]=m,t[168]=jn);let Mn;t[169]===Symbol.for(`react.memo_cache_sentinel`)?(Mn=e=>{let t=e[0];(t===`stacked`||t===`split`)&&h(t)},t[169]=Mn):Mn=t[169];let Nn;t[170]===Symbol.for(`react.memo_cache_sentinel`)?(Nn=(0,Q.jsx)(Lt,{"aria-label":`Stacked diff view`,value:`stacked`,children:(0,Q.jsx)(Gt,{className:`size-3`})}),t[170]=Nn):Nn=t[170];let Pn;t[171]===Symbol.for(`react.memo_cache_sentinel`)?(Pn=(0,Q.jsx)(Lt,{"aria-label":`Split diff view`,value:`split`,children:(0,Q.jsx)(Rt,{className:`size-3`})}),t[171]=Pn):Pn=t[171];let Fn;t[172]===jn?Fn=t[173]:(Fn=(0,Q.jsxs)(It,{className:`shrink-0`,variant:`outline`,size:`xs`,value:jn,onValueChange:Mn,children:[Nn,Pn]}),t[172]=jn,t[173]=Fn);let In=g?`Disable diff line wrapping`:`Enable diff line wrapping`,Ln=g?`Disable line wrapping`:`Enable line wrapping`,Rn,zn;t[174]===Symbol.for(`react.memo_cache_sentinel`)?(Rn=e=>{_(!!e)},zn=(0,Q.jsx)(Kt,{className:`size-3`}),t[174]=Rn,t[175]=zn):(Rn=t[174],zn=t[175]);let Bn;t[176]!==g||t[177]!==In||t[178]!==Ln?(Bn=(0,Q.jsx)(Lt,{"aria-label":In,title:Ln,variant:`outline`,size:`xs`,pressed:g,onPressedChange:Rn,children:zn}),t[176]=g,t[177]=In,t[178]=Ln,t[179]=Bn):Bn=t[179];let Vn=b?`Show whitespace changes`:`Hide whitespace changes`,Hn=b?`Show whitespace changes`:`Hide whitespace changes`,Un,Wn;t[180]===Symbol.for(`react.memo_cache_sentinel`)?(Un=e=>{x(!!e)},Wn=(0,Q.jsx)(Wt,{className:`size-3`}),t[180]=Un,t[181]=Wn):(Un=t[180],Wn=t[181]);let Gn;t[182]!==b||t[183]!==Vn||t[184]!==Hn?(Gn=(0,Q.jsx)(Lt,{"aria-label":Vn,title:Hn,variant:`outline`,size:`xs`,pressed:b,onPressedChange:Un,children:Wn}),t[182]=b,t[183]=Vn,t[184]=Hn,t[185]=Gn):Gn=t[185];let Kn;t[186]!==Fn||t[187]!==Bn||t[188]!==Gn?(Kn=(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 [-webkit-app-region:no-drag]`,children:[Fn,Bn,Gn]}),t[186]=Fn,t[187]=Bn,t[188]=Gn,t[189]=Kn):Kn=t[189];let qn;t[190]!==An||t[191]!==Kn?(qn=(0,Q.jsxs)(Q.Fragment,{children:[An,Kn]}),t[190]=An,t[191]=Kn,t[192]=qn):qn=t[192];let Jn=qn,Yn;t[193]!==R||t[194]!==He||t[195]!==S||t[196]!==A||t[197]!==m||t[198]!==Z.length||t[199]!==w||t[200]!==g||t[201]!==ft||t[202]!==bt||t[203]!==Ke||t[204]!==Se||t[205]!==Ve||t[206]!==tt||t[207]!==zt||t[208]!==H.length||t[209]!==Y||t[210]!==a?(Yn=R?Se?H.length===0?(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`No completed turns yet.`}):(0,Q.jsx)(Q.Fragment,{children:(0,Q.jsxs)(`div`,{ref:N,className:`diff-panel-viewport flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:[He&&!Y&&(0,Q.jsx)(`div`,{className:`px-3`,children:(0,Q.jsx)(`p`,{className:`mb-2 text-[11px] text-red-500/80`,children:He})}),Y?Y.kind===`files`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-border/50 bg-card/40 px-2.5 py-1.5 [-webkit-app-region:no-drag]`,children:[(0,Q.jsx)(re,{className:`size-3.5 shrink-0 text-muted-foreground/70`}),(0,Q.jsx)(`input`,{ref:M,type:`text`,value:w,onChange:e=>T(e.target.value),onKeyDown:e=>{if(e.key===`Escape`){T(``),e.currentTarget.blur();return}e.key===`Enter`&&tt&&(e.preventDefault(),bt(e.shiftKey?-1:1))},placeholder:`Search files or hunks...`,"aria-label":`Search diff`,className:`min-w-0 flex-1 bg-transparent text-xs text-foreground outline-none placeholder:text-muted-foreground/55`}),tt&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`span`,{className:`shrink-0 text-[10px] tabular-nums text-muted-foreground/70`,children:[Z.length===0?0:A+1,` of`,` `,Z.length]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center`,children:[(0,Q.jsx)(`button`,{type:`button`,onClick:()=>bt(-1),disabled:Z.length===0,className:`inline-flex size-5 cursor-pointer items-center justify-center rounded-sm text-muted-foreground/70 transition-colors hover:bg-foreground/10 hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:bg-transparent disabled:hover:text-muted-foreground/70`,"aria-label":`Previous match`,title:`Previous match (Shift+Enter)`,children:(0,Q.jsx)(Ct,{className:`size-3.5`})}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>bt(1),disabled:Z.length===0,className:`inline-flex size-5 cursor-pointer items-center justify-center rounded-sm text-muted-foreground/70 transition-colors hover:bg-foreground/10 hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:bg-transparent disabled:hover:text-muted-foreground/70`,"aria-label":`Next match`,title:`Next match (Enter)`,children:(0,Q.jsx)(v,{className:`size-3.5`})})]})]}),w&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{T(``),M.current?.focus()},className:`inline-flex size-4 shrink-0 cursor-pointer items-center justify-center rounded-sm text-muted-foreground/70 transition-colors hover:bg-foreground/10 hover:text-foreground`,"aria-label":`Clear search`,title:`Clear search`,children:(0,Q.jsx)(kt,{className:`size-3`})})]}),ft.length===0?(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-3 py-2 text-xs text-muted-foreground/70`,children:(0,Q.jsxs)(`p`,{children:[`No files match “`,w,`”.`]})}):(0,Q.jsx)(di,{className:`diff-render-surface min-h-0 flex-1 overflow-auto px-2 pb-2`,config:{overscrollSize:600,intersectionObserverMargin:1200},children:ft.map(e=>{let{fileDiff:t,fileIndex:n}=e,r=Wi(t),i=Gi(t),o=`${i}:${a}`,s=S.has(i);return(0,Q.jsx)(`div`,{"data-diff-file-path":r,"data-diff-file-index":n,className:`diff-render-file group/diff-file mb-2 rounded-md first:mt-2 last:mb-0`,onClickCapture:e=>{(e.nativeEvent.composedPath?.()??[]).some(oa)&&zt(r)},children:(0,Q.jsx)(Ci,{fileDiff:t,renderHeaderPrefix:()=>(0,Q.jsx)(`button`,{type:`button`,className:y(`inline-flex size-5 shrink-0 cursor-pointer items-center justify-center rounded-sm border-0 bg-transparent p-0 transition-colors hover:bg-foreground/10 focus-visible:outline-hidden`,ia(t)),"aria-label":s?`Expand ${r}`:`Collapse ${r}`,"aria-expanded":!s,title:s?`Expand diff`:`Collapse diff`,onClick:e=>{e.stopPropagation(),Vt(i)},children:s?(0,Q.jsx)(I,{className:`size-4`}):(0,Q.jsx)(v,{className:`size-4`})}),options:{collapsed:s,diffStyle:m===`split`?`split`:`unified`,lineDiffType:`none`,overflow:g?`wrap`:`scroll`,theme:et(a),themeType:a,unsafeCSS:Hi,lineHoverHighlight:`number`,onLineNumberClick:e=>{let{lineNumber:t}=e;zt(r,t)}}})},o)})})]}):(0,Q.jsx)(`div`,{className:`flex-1 overflow-auto p-2`,children:(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`p`,{className:`text-[11px] text-muted-foreground/75`,children:Y.reason}),(0,Q.jsx)(`pre`,{className:y(`max-h-[72vh] rounded-md border border-border/70 bg-background/70 p-3 font-mono text-[11px] leading-relaxed text-muted-foreground/90`,g?`overflow-auto whitespace-pre-wrap wrap-break-word`:`overflow-auto`),children:Y.text})]})}):Ve?(0,Q.jsx)(Me,{label:`Loading checkpoint diff...`}):(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-3 py-2 text-xs text-muted-foreground/70`,children:(0,Q.jsx)(`p`,{children:Ke?`No net changes in this selection.`:`No patch available for this selection.`})})]})}):(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Turn diffs are unavailable because this project is not a git repository.`}):(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Select a thread to inspect turn diffs.`}),t[193]=R,t[194]=He,t[195]=S,t[196]=A,t[197]=m,t[198]=Z.length,t[199]=w,t[200]=g,t[201]=ft,t[202]=bt,t[203]=Ke,t[204]=Se,t[205]=Ve,t[206]=tt,t[207]=zt,t[208]=H.length,t[209]=Y,t[210]=a,t[211]=Yn):Yn=t[211];let Xn;return t[212]!==Jn||t[213]!==r||t[214]!==Yn?(Xn=(0,Q.jsx)(Fe,{mode:r,header:Jn,children:Yn}),t[212]=Jn,t[213]=r,t[214]=Yn,t[215]=Xn):Xn=t[215],Xn}function oa(e){return e instanceof Element?e.hasAttribute(`data-title`):!1}function sa(e){return{...pt(e),diff:`1`}}function ca(e){console.warn(`Failed to open diff in editor.`,e)}function la(e){return e.size===0?e:new Set}function ua(e,t){return{fileDiff:e,fileIndex:t}}function da(e,t){return Wi(e).localeCompare(Wi(t),void 0,{numeric:!0,sensitivity:`base`})}function fa(e){return e.turnId}function pa(e){return typeof e==`number`}function ma(e){return ft(e)}function ha(e){return lt(e)}function ga(){return new Set}var _a=512*1024,va=new Set([`gif`,`jpeg`,`jpg`,`png`,`svg`,`webp`]),ya=new Set(`bash.c.cc.conf.cpp.css.csv.dockerfile.env.gitignore.go.h.html.ini.java.js.json.jsx.log.md.mdx.py.rs.sh.sql.toml.ts.tsx.txt.xml.yaml.yml`.split(`.`)),ba=new Map([[`css`,`css`],[`go`,`go`],[`html`,`html`],[`js`,`js`],[`json`,`json`],[`jsx`,`jsx`],[`md`,`markdown`],[`mdx`,`markdown`],[`py`,`python`],[`rs`,`rust`],[`sh`,`bash`],[`ts`,`ts`],[`tsx`,`tsx`],[`yaml`,`yaml`],[`yml`,`yaml`]]),xa=new Set([`application/javascript`,`application/json`,`application/toml`,`application/typescript`,`application/xml`,`application/x-sh`,`application/yaml`,`application/xhtml+xml`,`image/svg+xml`]);function Sa(e){let t=e.split(/[?#]/,1)[0]??e;return t.toLowerCase().split(`/`).at(-1)??t.toLowerCase()}function Ca(e){let t=Sa(e),n=t.lastIndexOf(`.`);return n<=0||n===t.length-1?t:t.slice(n+1)}function wa(e){let t=Sa(e);return t===`dockerfile`?`dockerfile`:t===`.gitignore`?`ini`:ba.get(Ca(e))??`text`}function Ta(e){let t=e.mimeType?.toLowerCase().split(`;`,1)[0]?.trim();if(t?.startsWith(`image/`))return`image`;if(t&&(t.startsWith(`text/`)||xa.has(t)))return`text`;let n=Ca(e.filePath);return va.has(n)?`image`:ya.has(n)?`text`:`binary`}function Ea(e,t=_a){return e>t?{state:`too-large`,shouldFetch:!1,sizeBytes:e,limitBytes:t}:{state:`within-limit`,shouldFetch:!0,sizeBytes:e,limitBytes:t}}function Da(e){return e.replaceAll(`\\`,`/`).toLowerCase()}function Oa(e){return Da(e).trim().split(/\s+/).filter(e=>e.length>0)}function ka(e,t){return t.every(t=>e.includes(t))}function Aa(e,t){let n=e.lastIndexOf(`/`);for(;n>0;){if(t.has(e.slice(0,n)))return!0;n=e.lastIndexOf(`/`,n-1)}return!1}function ja(e,t){let n=Oa(t);if(n.length===0)return e;let r=new Set;for(let t of e){if(t.kind!==`directory`)continue;let e=Da(t.path);ka(e,n)&&r.add(e)}return e.filter(e=>{let t=Da(e.path);return ka(t,n)||Aa(t,r)})}var Ma=`chat_preview_tree_width`,Na=220,Pa=280,Fa=.55,Ia=`
136
+ `;function Ui(e,t=`diff-panel`){if(!e)return null;let n=e.trim();if(n.length===0)return null;try{let e=yr(n,Le(n,t)).flatMap(e=>e.files);return e.length>0?{kind:`files`,files:e}:{kind:`raw`,text:n,reason:`Unsupported diff format. Showing raw patch.`}}catch{return{kind:`raw`,text:n,reason:`Failed to parse patch. Showing raw patch.`}}}function Wi(e){return Ti(e)}function Gi(e){return e.cacheKey??`${e.prevName??`none`}:${e.name}`}var Ki=`ryco-diff-search-match`,qi=150,Ji=80,Yi=1600;function Xi(){return typeof CSS<`u`&&CSS.highlights!==void 0&&globalThis.Highlight!==void 0}function Zi(e,t,n=Yi){let r=e.getBoundingClientRect(),i=t.getBoundingClientRect();return r.bottom>=i.top-n&&r.top<=i.bottom+n&&r.right>=i.left-n&&r.left<=i.right+n}function Qi(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(e){let t=e.parentElement;return t&&t.closest(`[data-line-number-content]`)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),r=n.nextNode(),i=0;for(;r;){let e=r,a=i+e.data.length;t.push({node:e,start:i,end:a}),i=a,r=n.nextNode()}return{offsets:t,textLength:i}}function $i(e,t,n){for(let r of e)if(!(t<r.start||t>r.end)&&!(t===r.end&&n===`start`))return{node:r.node,offset:t-r.start};return null}function ea(e,t,n){let{offsets:r,textLength:i}=Qi(e);if(r.length===0||t.start<0||t.end>i||t.start>=t.end)return;let a=$i(r,t.start,`start`),o=$i(r,t.end,`end`);if(!a||!o)return;let s=document.createRange();s.setStart(a.node,a.offset),s.setEnd(o.node,o.offset),n.push(s)}function ta(e){let t=zi(e.lineIndexAttr);return t?e.matches.filter(n=>Bi(n,{renderMode:e.renderMode,lineIndexes:t,lineType:e.lineType})):[]}function na(e){if(Li(e.match,e.renderMode)===null)return null;let t=e.fileElement.querySelectorAll(`diffs-container`);for(let n of t){let t=n.shadowRoot?.querySelectorAll(`[data-line][data-line-index]`);for(let n of t??[]){let t=zi(n.getAttribute(`data-line-index`));if(t&&Bi(e.match,{renderMode:e.renderMode,lineIndexes:t,lineType:n.getAttribute(`data-line-type`)}))return n}}return null}function ra(e){let t=[],n=e.rootElement.querySelectorAll(`[data-diff-file-index]`);for(let r of n){if(!Zi(r,e.viewportElement))continue;let n=r.dataset.diffFileIndex,i=n?Number.parseInt(n,10):NaN;if(!Number.isFinite(i))continue;let a=e.matchesByFileIndex.get(i);if(!a||a.length===0)continue;let o=r.querySelectorAll(`diffs-container`);for(let n of o){let r=n.shadowRoot?.querySelectorAll(`[data-line][data-line-index]`);for(let n of r??[]){if(!Zi(n,e.viewportElement))continue;let r=ta({matches:a,renderMode:e.renderMode,lineIndexAttr:n.getAttribute(`data-line-index`),lineType:n.getAttribute(`data-line-type`)});for(let e of r)ea(n,e,t)}}}return t}function ia(e){switch(e.type){case`new`:return`text-[var(--diffs-addition-base)]`;case`deleted`:return`text-[var(--diffs-deletion-base)]`;case`change`:case`rename-pure`:case`rename-changed`:return`text-[var(--diffs-modified-base)]`;default:return`text-muted-foreground/80`}}function aa(e){let t=(0,wi.c)(216),{mode:n}=e,r=n===void 0?`inline`:n;M(`DiffPanel`);let i=ot(),{resolvedTheme:a}=Pt(),s=l(),[m,h]=(0,$.useState)(`stacked`),[g,_]=(0,$.useState)(s.diffWordWrap),[b,x]=(0,$.useState)(s.diffIgnoreWhitespace),[S,C]=(0,$.useState)(ga),[w,T]=(0,$.useState)(``),E;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(E={wait:qi},t[0]=E):E=t[0];let[D]=se(w,E),O;t[1]!==D||t[2]!==w?(O=w.trim().length===0?``:D,t[1]=D,t[2]=w,t[3]=O):O=t[3];let k=O,[A,j]=(0,$.useState)(0),P=(0,$.useRef)(null),ee=(0,$.useRef)(null),te=(0,$.useRef)(null),re=(0,$.useRef)(!1),[ie,I]=(0,$.useState)(!1),[L,ae]=(0,$.useState)(!1),oe;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(oe={strict:!1,select:ha},t[4]=oe):oe=t[4];let ue=st(oe),de;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(de={strict:!1,select:ma},t[5]=de):de=t[5];let fe=_t(de),pe=fe.diff===`1`,me=ue?.threadId??null,he;t[6]===ue?he=t[7]:(he=At(ue),t[6]=ue,t[7]=he);let R=f(he),ge=R?.projectId??null,_e;t[8]!==ge||t[9]!==R?(_e=e=>R&&ge?p(e,{environmentId:R.environmentId,projectId:ge}):void 0,t[8]=ge,t[9]=R,t[10]=_e):_e=t[10];let z=f(_e),ve=R?.worktreePath??z?.cwd,ye=R?.environmentId??null,be=ve??null,xe;t[11]!==ye||t[12]!==be?(xe={environmentId:ye,cwd:be},t[11]=ye,t[12]=be,t[13]=xe):xe=t[13];let Se=d(xe).data?.isRepo??!0,{turnDiffSummaries:B,inferredCheckpointTurnCountByTurnId:V}=Je(R),Ce;if(t[14]!==V||t[15]!==B){let e;t[17]===V?e=t[18]:(e=(e,t)=>{let n=e.checkpointTurnCount??V[e.turnId]??0,r=t.checkpointTurnCount??V[t.turnId]??0;return n===r?t.completedAt.localeCompare(e.completedAt):r-n},t[17]=V,t[18]=e),Ce=[...B].toSorted(e),t[14]=V,t[15]=B,t[16]=Ce}else Ce=t[16];let H=Ce,U=fe.diffTurnId??null,we=U===null?null:fe.diffFilePath??null,Te;t[19]!==H||t[20]!==U?(Te=U===null?void 0:H.find(e=>e.turnId===U)??H[0],t[19]=H,t[20]=U,t[21]=Te):Te=t[21];let W=Te,G=W&&(W.checkpointTurnCount??V[W.turnId]),K;t[22]===G?K=t[23]:(K=typeof G==`number`?{fromTurnCount:Math.max(0,G-1),toTurnCount:G}:null,t[22]=G,t[23]=K);let q=K,J;if(t[24]!==V||t[25]!==H){bb0:{let e;t[27]===V?e=t[28]:(e=e=>e.checkpointTurnCount??V[e.turnId],t[27]=V,t[28]=e);let n=H.map(e).filter(pa);if(n.length===0){J=void 0;break bb0}let r=Math.max(...n);J=r>0?r:void 0}t[24]=V,t[25]=H,t[26]=J}else J=t[26];let Ee=J,De;t[29]!==Ee||t[30]!==W?(De=!W&&typeof Ee==`number`?{fromTurnCount:0,toTurnCount:Ee}:null,t[29]=Ee,t[30]=W,t[31]=De):De=t[31];let Oe=W?q:De,ke;bb1:{if(W||H.length===0){ke=null;break bb1}let e;t[32]===H?e=t[33]:(e=H.map(fa).join(`,`),t[32]=H,t[33]=e),ke=`conversation:${e}`}let Ae=ke,je=R?.environmentId??null,Ne=Oe?.fromTurnCount??null,Pe=Oe?.toTurnCount??null,Ie=W?`turn:${W.turnId}`:Ae,Le;t[34]!==me||t[35]!==b||t[36]!==Se||t[37]!==je||t[38]!==Ne||t[39]!==Pe||t[40]!==Ie?(Le=c({environmentId:je,threadId:me,fromTurnCount:Ne,toTurnCount:Pe,ignoreWhitespace:b,cacheScope:Ie,enabled:Se}),t[34]=me,t[35]=b,t[36]=Se,t[37]=je,t[38]=Ne,t[39]=Pe,t[40]=Ie,t[41]=Le):Le=t[41];let Re=le(Le),ze=W?Re.data?.diff:void 0,Be=W?void 0:Re.data?.diff,Ve=Re.isLoading,He=Re.error instanceof Error?Re.error.message:Re.error?`Failed to load checkpoint diff.`:null,Ue=W?ze:Be,We=typeof Ue==`string`,Ge;t[42]!==We||t[43]!==Ue?(Ge=We&&Ue.trim().length===0,t[42]=We,t[43]=Ue,t[44]=Ge):Ge=t[44];let Ke=Ge,qe=`diff-panel:${a}`,Ye;t[45]!==Ue||t[46]!==qe?(Ye=Ui(Ue,qe),t[45]=Ue,t[46]=qe,t[47]=Ye):Ye=t[47];let Y=Ye,Xe;bb2:{if(!Y||Y.kind!==`files`){let e;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[48]=e):e=t[48],Xe=e;break bb2}let e;t[49]===Y.files?e=t[50]:(e=Y.files.toSorted(da),t[49]=Y.files,t[50]=e),Xe=e}let X=Xe,Ze;t[51]===X?Ze=t[52]:(Ze=Ai(X),t[51]=X,t[52]=Ze);let Qe=Ze,$e;t[53]===k?$e=t[54]:($e=Ei(k),t[53]=k,t[54]=$e);let tt=$e,rt;t[55]!==Qe||t[56]!==k?(rt=Ni(Qe,k),t[55]=Qe,t[56]=k,t[57]=rt):rt=t[57];let Z=rt,it;t[58]===Z?it=t[59]:(it=Fi(Z),t[58]=Z,t[59]=it);let at=it,lt;t[60]===X?lt=t[61]:(lt=X.map(ua),t[60]=X,t[61]=lt);let ut=lt,dt;bb3:{if(!tt){dt=ut;break bb3}let e;if(t[62]!==Z||t[63]!==X){let n;t[65]===X?n=t[66]:(n=e=>({fileDiff:X[e],fileIndex:e}),t[65]=X,t[66]=n),e=Pi(Z).map(n),t[62]=Z,t[63]=X,t[64]=e}else e=t[64];dt=e}let ft=dt,mt;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(mt=()=>{j(0)},t[67]=mt):mt=t[67];let ht;t[68]!==tt||t[69]!==X?(ht=[tt,X],t[68]=tt,t[69]=X,t[70]=ht):ht=t[70],(0,$.useEffect)(mt,ht);let gt,vt;t[71]===Z.length?(gt=t[72],vt=t[73]):(gt=()=>{j(e=>Z.length===0?0:Math.min(e,Z.length-1))},vt=[Z.length],t[71]=Z.length,t[72]=gt,t[73]=vt),(0,$.useEffect)(gt,vt);let yt;t[74]!==A||t[75]!==m||t[76]!==Z?(yt=e=>{if(Z.length===0)return;let t=Ii(A,Z.length,e);j(t);let n=Z[t],r=ee.current;if(!n||!r)return;let i=r.querySelector(`[data-diff-file-index="${n.fileIndex}"]`);if(!i)return;let a=na({fileElement:i,match:n,renderMode:m});(a??i).scrollIntoView({block:`center`,behavior:`smooth`}),!a&&Li(n,m)!==null&&window.requestAnimationFrame(()=>{na({fileElement:i,match:n,renderMode:m})?.scrollIntoView({block:`center`,behavior:`smooth`})})},t[74]=A,t[75]=m,t[76]=Z,t[77]=yt):yt=t[77];let bt=yt,xt,St;t[78]!==m||t[79]!==Z.length||t[80]!==at||t[81]!==tt?(xt=()=>{if(!Xi())return;let e=CSS.highlights,t=ee.current;if(!t||!tt||Z.length===0){e.delete(Ki);return}let n=0,r=0,i=new Map,a=t.querySelector(`.diff-render-surface`)??t.querySelector(`[data-virtualizer]`)??t,o=()=>{n=0,c();let r=ra({rootElement:t,viewportElement:a,matchesByFileIndex:at,renderMode:m});if(r.length===0){e.delete(Ki);return}e.set(Ki,new Highlight(...r))},s=()=>{n!==0||r!==0||(r=window.setTimeout(()=>{r=0,n=window.requestAnimationFrame(o)},Ji))},c=()=>{let e=t.querySelectorAll(`[data-diff-file-index]`);for(let t of e){if(!Zi(t,a))continue;let e=t.querySelectorAll(`diffs-container`);for(let t of e){let e=t.shadowRoot;if(!e||i.has(e))continue;let n=new MutationObserver(s);n.observe(e,{childList:!0,subtree:!0}),i.set(e,n)}}},l=new MutationObserver(s);l.observe(t,{childList:!0,subtree:!0}),a.addEventListener(`scroll`,s,{passive:!0});let u=new ResizeObserver(s);return u.observe(a),s(),()=>{l.disconnect(),a.removeEventListener(`scroll`,s),u.disconnect();for(let e of i.values())e.disconnect();i.clear(),r!==0&&window.clearTimeout(r),n!==0&&window.cancelAnimationFrame(n),e.delete(Ki)}},St=[m,Z.length,at,tt],t[78]=m,t[79]=Z.length,t[80]=at,t[81]=tt,t[82]=xt,t[83]=St):(xt=t[82],St=t[83]),(0,$.useEffect)(xt,St);let wt,Tt;t[84]===X?(wt=t[85],Tt=t[86]):(wt=()=>{if(X.length===0){C(la);return}let e=new Set(X.map(Gi));C(t=>{let n=new Set([...t].filter(t=>e.has(t)));return n.size===t.size?t:n})},Tt=[X],t[84]=X,t[85]=wt,t[86]=Tt),(0,$.useEffect)(wt,Tt);let Et,Dt;t[87]!==pe||t[88]!==s.diffIgnoreWhitespace||t[89]!==s.diffWordWrap?(Et=()=>{pe&&!re.current&&(_(s.diffWordWrap),x(s.diffIgnoreWhitespace),T(``)),re.current=pe},Dt=[pe,s.diffIgnoreWhitespace,s.diffWordWrap],t[87]=pe,t[88]=s.diffIgnoreWhitespace,t[89]=s.diffWordWrap,t[90]=Et,t[91]=Dt):(Et=t[90],Dt=t[91]),(0,$.useEffect)(Et,Dt);let Ot;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(Ot=()=>{T(``)},t[92]=Ot):Ot=t[92];let jt;t[93]===U?jt=t[94]:(jt=[U],t[93]=U,t[94]=jt),(0,$.useEffect)(Ot,jt);let Mt;t[95]===we?Mt=t[96]:(Mt=()=>{!we||!ee.current||Array.from(ee.current.querySelectorAll(`[data-diff-file-path]`)).find(e=>e.dataset.diffFilePath===we)?.scrollIntoView({block:`nearest`})},t[95]=we,t[96]=Mt);let Nt;t[97]!==X||t[98]!==we?(Nt=[we,X],t[97]=X,t[98]=we,t[99]=Nt):Nt=t[99],(0,$.useEffect)(Mt,Nt);let Ft;t[100]===ve?Ft=t[101]:(Ft=(e,t)=>{let n=u();n&&F(n,Vi({cwd:ve,filePath:e,lineNumber:t})).catch(ca)},t[100]=ve,t[101]=Ft);let zt=Ft,Bt;t[102]===Symbol.for(`react.memo_cache_sentinel`)?(Bt=e=>{C(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},t[102]=Bt):Bt=t[102];let Vt=Bt,Ht;t[103]!==R||t[104]!==i?(Ht=e=>{R&&i({to:`/$environmentId/$threadId`,params:ct(o(R.environmentId,R.id)),search:t=>({...pt(t),diff:`1`,diffTurnId:e})})},t[103]=R,t[104]=i,t[105]=Ht):Ht=t[105];let Ut=Ht,qt;t[106]!==R||t[107]!==i?(qt=()=>{R&&i({to:`/$environmentId/$threadId`,params:ct(o(R.environmentId,R.id)),search:sa})},t[106]=R,t[107]=i,t[108]=qt):qt=t[108];let Jt=qt,Yt;t[109]===Symbol.for(`react.memo_cache_sentinel`)?(Yt=()=>{let e=te.current;if(!e){I(!1),ae(!1);return}let t=Math.max(0,e.scrollWidth-e.clientWidth);I(e.scrollLeft>4),ae(e.scrollLeft<t-4)},t[109]=Yt):Yt=t[109];let Xt=Yt,Zt;t[110]===Symbol.for(`react.memo_cache_sentinel`)?(Zt=e=>{let t=te.current;t&&t.scrollBy({left:e,behavior:`smooth`})},t[110]=Zt):Zt=t[110];let Qt=Zt,$t;t[111]===Symbol.for(`react.memo_cache_sentinel`)?($t=e=>{let t=te.current;t&&(t.scrollWidth<=t.clientWidth+1||Math.abs(e.deltaY)<=Math.abs(e.deltaX)||(e.preventDefault(),t.scrollBy({left:e.deltaY,behavior:`auto`})))},t[111]=$t):$t=t[111];let en=$t,tn,nn;t[112]===Symbol.for(`react.memo_cache_sentinel`)?(tn=()=>{let e=te.current;if(!e)return;let t=window.requestAnimationFrame(()=>Xt()),n=()=>Xt();e.addEventListener(`scroll`,n,{passive:!0});let r=new ResizeObserver(()=>Xt());return r.observe(e),()=>{window.cancelAnimationFrame(t),e.removeEventListener(`scroll`,n),r.disconnect()}},nn=[Xt],t[112]=tn,t[113]=nn):(tn=t[112],nn=t[113]),(0,$.useEffect)(tn,nn);let rn;t[114]===Symbol.for(`react.memo_cache_sentinel`)?(rn=()=>{let e=window.requestAnimationFrame(()=>Xt());return()=>{window.cancelAnimationFrame(e)}},t[114]=rn):rn=t[114];let an;t[115]!==H||t[116]!==U?(an=[H,U,Xt],t[115]=H,t[116]=U,t[117]=an):an=t[117],(0,$.useEffect)(rn,an);let on;t[118]===Symbol.for(`react.memo_cache_sentinel`)?(on=()=>{let e=te.current;e&&e.querySelector(`[data-turn-chip-selected='true']`)?.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`smooth`})},t[118]=on):on=t[118];let sn=W?.turnId,cn;t[119]!==U||t[120]!==sn?(cn=[sn,U],t[119]=U,t[120]=sn,t[121]=cn):cn=t[121],(0,$.useEffect)(on,cn);let ln=ie?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`,un;t[122]===ln?un=t[123]:(un=y(`absolute left-0 top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,ln),t[122]=ln,t[123]=un);let dn;t[124]===Symbol.for(`react.memo_cache_sentinel`)?(dn=()=>Qt(-180),t[124]=dn):dn=t[124];let fn=!ie,pn;t[125]===Symbol.for(`react.memo_cache_sentinel`)?(pn=(0,Q.jsx)(nt,{className:`size-3.5`}),t[125]=pn):pn=t[125];let mn;t[126]!==un||t[127]!==fn?(mn=(0,Q.jsx)(`button`,{type:`button`,className:un,onClick:dn,disabled:fn,"aria-label":`Scroll turn list left`,children:pn}),t[126]=un,t[127]=fn,t[128]=mn):mn=t[128];let hn=L?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`,gn;t[129]===hn?gn=t[130]:(gn=y(`absolute right-0 top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,hn),t[129]=hn,t[130]=gn);let _n;t[131]===Symbol.for(`react.memo_cache_sentinel`)?(_n=()=>Qt(180),t[131]=_n):_n=t[131];let vn=!L,yn;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(yn=(0,Q.jsx)(ce,{className:`size-3.5`}),t[132]=yn):yn=t[132];let bn;t[133]!==gn||t[134]!==vn?(bn=(0,Q.jsx)(`button`,{type:`button`,className:gn,onClick:_n,disabled:vn,"aria-label":`Scroll turn list right`,children:yn}),t[133]=gn,t[134]=vn,t[135]=bn):bn=t[135];let xn;t[136]!==ie||t[137]!==L?(xn=ie||L?{maskImage:`linear-gradient(to right, ${ie?`transparent 24px, black 72px`:`black`}, ${L?`black calc(100% - 72px), transparent calc(100% - 24px)`:`black`})`}:void 0,t[136]=ie,t[137]=L,t[138]=xn):xn=t[138];let Sn=U===null,Cn=U===null?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`,wn;t[139]===Cn?wn=t[140]:(wn=y(`rounded-md border px-2 py-1 text-left transition-colors`,Cn),t[139]=Cn,t[140]=wn);let Tn;t[141]===Symbol.for(`react.memo_cache_sentinel`)?(Tn=(0,Q.jsx)(`div`,{className:`text-[10px] leading-tight font-medium`,children:`All turns`}),t[141]=Tn):Tn=t[141];let En;t[142]===wn?En=t[143]:(En=(0,Q.jsx)(`div`,{className:wn,children:Tn}),t[142]=wn,t[143]=En);let Dn;t[144]!==Jt||t[145]!==Sn||t[146]!==En?(Dn=(0,Q.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:Jt,"data-turn-chip-selected":Sn,children:En}),t[144]=Jt,t[145]=Sn,t[146]=En,t[147]=Dn):Dn=t[147];let On;if(t[148]!==V||t[149]!==H||t[150]!==Ut||t[151]!==W?.turnId||t[152]!==s.timestampFormat){let e;t[154]!==V||t[155]!==Ut||t[156]!==W?.turnId||t[157]!==s.timestampFormat?(e=e=>(0,Q.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:()=>Ut(e.turnId),title:e.turnId,"data-turn-chip-selected":e.turnId===W?.turnId,children:(0,Q.jsx)(`div`,{className:y(`rounded-md border px-2 py-1 text-left transition-colors`,e.turnId===W?.turnId?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`),children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Q.jsxs)(`span`,{className:`text-[10px] leading-tight font-medium`,children:[`Turn`,` `,e.checkpointTurnCount??V[e.turnId]??`?`]}),(0,Q.jsx)(`span`,{className:`text-[9px] leading-tight opacity-70`,children:N(e.completedAt,s.timestampFormat)})]})})},e.turnId),t[154]=V,t[155]=Ut,t[156]=W?.turnId,t[157]=s.timestampFormat,t[158]=e):e=t[158],On=H.map(e),t[148]=V,t[149]=H,t[150]=Ut,t[151]=W?.turnId,t[152]=s.timestampFormat,t[153]=On}else On=t[153];let kn;t[159]!==xn||t[160]!==Dn||t[161]!==On?(kn=(0,Q.jsxs)(`div`,{ref:te,className:`turn-chip-strip flex gap-1 overflow-x-auto px-8 py-0.5`,style:xn,onWheel:en,children:[Dn,On]}),t[159]=xn,t[160]=Dn,t[161]=On,t[162]=kn):kn=t[162];let An;t[163]!==mn||t[164]!==bn||t[165]!==kn?(An=(0,Q.jsxs)(`div`,{className:`relative min-w-0 flex-1 [-webkit-app-region:no-drag]`,children:[mn,bn,kn]}),t[163]=mn,t[164]=bn,t[165]=kn,t[166]=An):An=t[166];let jn;t[167]===m?jn=t[168]:(jn=[m],t[167]=m,t[168]=jn);let Mn;t[169]===Symbol.for(`react.memo_cache_sentinel`)?(Mn=e=>{let t=e[0];(t===`stacked`||t===`split`)&&h(t)},t[169]=Mn):Mn=t[169];let Nn;t[170]===Symbol.for(`react.memo_cache_sentinel`)?(Nn=(0,Q.jsx)(Lt,{"aria-label":`Stacked diff view`,value:`stacked`,children:(0,Q.jsx)(Gt,{className:`size-3`})}),t[170]=Nn):Nn=t[170];let Pn;t[171]===Symbol.for(`react.memo_cache_sentinel`)?(Pn=(0,Q.jsx)(Lt,{"aria-label":`Split diff view`,value:`split`,children:(0,Q.jsx)(Rt,{className:`size-3`})}),t[171]=Pn):Pn=t[171];let Fn;t[172]===jn?Fn=t[173]:(Fn=(0,Q.jsxs)(It,{className:`shrink-0`,variant:`outline`,size:`xs`,value:jn,onValueChange:Mn,children:[Nn,Pn]}),t[172]=jn,t[173]=Fn);let In=g?`Disable diff line wrapping`:`Enable diff line wrapping`,Ln=g?`Disable line wrapping`:`Enable line wrapping`,Rn,zn;t[174]===Symbol.for(`react.memo_cache_sentinel`)?(Rn=e=>{_(!!e)},zn=(0,Q.jsx)(Kt,{className:`size-3`}),t[174]=Rn,t[175]=zn):(Rn=t[174],zn=t[175]);let Bn;t[176]!==g||t[177]!==In||t[178]!==Ln?(Bn=(0,Q.jsx)(Lt,{"aria-label":In,title:Ln,variant:`outline`,size:`xs`,pressed:g,onPressedChange:Rn,children:zn}),t[176]=g,t[177]=In,t[178]=Ln,t[179]=Bn):Bn=t[179];let Vn=b?`Show whitespace changes`:`Hide whitespace changes`,Hn=b?`Show whitespace changes`:`Hide whitespace changes`,Un,Wn;t[180]===Symbol.for(`react.memo_cache_sentinel`)?(Un=e=>{x(!!e)},Wn=(0,Q.jsx)(Wt,{className:`size-3`}),t[180]=Un,t[181]=Wn):(Un=t[180],Wn=t[181]);let Gn;t[182]!==b||t[183]!==Vn||t[184]!==Hn?(Gn=(0,Q.jsx)(Lt,{"aria-label":Vn,title:Hn,variant:`outline`,size:`xs`,pressed:b,onPressedChange:Un,children:Wn}),t[182]=b,t[183]=Vn,t[184]=Hn,t[185]=Gn):Gn=t[185];let Kn;t[186]!==Fn||t[187]!==Bn||t[188]!==Gn?(Kn=(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 [-webkit-app-region:no-drag]`,children:[Fn,Bn,Gn]}),t[186]=Fn,t[187]=Bn,t[188]=Gn,t[189]=Kn):Kn=t[189];let qn;t[190]!==An||t[191]!==Kn?(qn=(0,Q.jsxs)(Q.Fragment,{children:[An,Kn]}),t[190]=An,t[191]=Kn,t[192]=qn):qn=t[192];let Jn=qn,Yn;t[193]!==R||t[194]!==He||t[195]!==S||t[196]!==A||t[197]!==m||t[198]!==Z.length||t[199]!==w||t[200]!==g||t[201]!==ft||t[202]!==bt||t[203]!==Ke||t[204]!==Se||t[205]!==Ve||t[206]!==tt||t[207]!==zt||t[208]!==H.length||t[209]!==Y||t[210]!==a?(Yn=R?Se?H.length===0?(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`No completed turns yet.`}):(0,Q.jsx)(Q.Fragment,{children:(0,Q.jsxs)(`div`,{ref:ee,className:`diff-panel-viewport flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:[He&&!Y&&(0,Q.jsx)(`div`,{className:`px-3`,children:(0,Q.jsx)(`p`,{className:`mb-2 text-[11px] text-red-500/80`,children:He})}),Y?Y.kind===`files`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-border/50 bg-card/40 px-2.5 py-1.5 [-webkit-app-region:no-drag]`,children:[(0,Q.jsx)(ne,{className:`size-3.5 shrink-0 text-muted-foreground/70`}),(0,Q.jsx)(`input`,{ref:P,type:`text`,value:w,onChange:e=>T(e.target.value),onKeyDown:e=>{if(e.key===`Escape`){T(``),e.currentTarget.blur();return}e.key===`Enter`&&tt&&(e.preventDefault(),bt(e.shiftKey?-1:1))},placeholder:`Search files or hunks...`,"aria-label":`Search diff`,className:`min-w-0 flex-1 bg-transparent text-xs text-foreground outline-none placeholder:text-muted-foreground/55`}),tt&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`span`,{className:`shrink-0 text-[10px] tabular-nums text-muted-foreground/70`,children:[Z.length===0?0:A+1,` of`,` `,Z.length]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center`,children:[(0,Q.jsx)(`button`,{type:`button`,onClick:()=>bt(-1),disabled:Z.length===0,className:`inline-flex size-5 cursor-pointer items-center justify-center rounded-sm text-muted-foreground/70 transition-colors hover:bg-foreground/10 hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:bg-transparent disabled:hover:text-muted-foreground/70`,"aria-label":`Previous match`,title:`Previous match (Shift+Enter)`,children:(0,Q.jsx)(Ct,{className:`size-3.5`})}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>bt(1),disabled:Z.length===0,className:`inline-flex size-5 cursor-pointer items-center justify-center rounded-sm text-muted-foreground/70 transition-colors hover:bg-foreground/10 hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:bg-transparent disabled:hover:text-muted-foreground/70`,"aria-label":`Next match`,title:`Next match (Enter)`,children:(0,Q.jsx)(v,{className:`size-3.5`})})]})]}),w&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{T(``),P.current?.focus()},className:`inline-flex size-4 shrink-0 cursor-pointer items-center justify-center rounded-sm text-muted-foreground/70 transition-colors hover:bg-foreground/10 hover:text-foreground`,"aria-label":`Clear search`,title:`Clear search`,children:(0,Q.jsx)(kt,{className:`size-3`})})]}),ft.length===0?(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-3 py-2 text-xs text-muted-foreground/70`,children:(0,Q.jsxs)(`p`,{children:[`No files match “`,w,`”.`]})}):(0,Q.jsx)(di,{className:`diff-render-surface min-h-0 flex-1 overflow-auto px-2 pb-2`,config:{overscrollSize:600,intersectionObserverMargin:1200},children:ft.map(e=>{let{fileDiff:t,fileIndex:n}=e,r=Wi(t),i=Gi(t),o=`${i}:${a}`,s=S.has(i);return(0,Q.jsx)(`div`,{"data-diff-file-path":r,"data-diff-file-index":n,className:`diff-render-file group/diff-file mb-2 rounded-md first:mt-2 last:mb-0`,onClickCapture:e=>{(e.nativeEvent.composedPath?.()??[]).some(oa)&&zt(r)},children:(0,Q.jsx)(Ci,{fileDiff:t,renderHeaderPrefix:()=>(0,Q.jsx)(`button`,{type:`button`,className:y(`inline-flex size-5 shrink-0 cursor-pointer items-center justify-center rounded-sm border-0 bg-transparent p-0 transition-colors hover:bg-foreground/10 focus-visible:outline-hidden`,ia(t)),"aria-label":s?`Expand ${r}`:`Collapse ${r}`,"aria-expanded":!s,title:s?`Expand diff`:`Collapse diff`,onClick:e=>{e.stopPropagation(),Vt(i)},children:s?(0,Q.jsx)(ce,{className:`size-4`}):(0,Q.jsx)(v,{className:`size-4`})}),options:{collapsed:s,diffStyle:m===`split`?`split`:`unified`,lineDiffType:`none`,overflow:g?`wrap`:`scroll`,theme:et(a),themeType:a,unsafeCSS:Hi,lineHoverHighlight:`number`,onLineNumberClick:e=>{let{lineNumber:t}=e;zt(r,t)}}})},o)})})]}):(0,Q.jsx)(`div`,{className:`flex-1 overflow-auto p-2`,children:(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`p`,{className:`text-[11px] text-muted-foreground/75`,children:Y.reason}),(0,Q.jsx)(`pre`,{className:y(`max-h-[72vh] rounded-md border border-border/70 bg-background/70 p-3 font-mono text-[11px] leading-relaxed text-muted-foreground/90`,g?`overflow-auto whitespace-pre-wrap wrap-break-word`:`overflow-auto`),children:Y.text})]})}):Ve?(0,Q.jsx)(Me,{label:`Loading checkpoint diff...`}):(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-3 py-2 text-xs text-muted-foreground/70`,children:(0,Q.jsx)(`p`,{children:Ke?`No net changes in this selection.`:`No patch available for this selection.`})})]})}):(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Turn diffs are unavailable because this project is not a git repository.`}):(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Select a thread to inspect turn diffs.`}),t[193]=R,t[194]=He,t[195]=S,t[196]=A,t[197]=m,t[198]=Z.length,t[199]=w,t[200]=g,t[201]=ft,t[202]=bt,t[203]=Ke,t[204]=Se,t[205]=Ve,t[206]=tt,t[207]=zt,t[208]=H.length,t[209]=Y,t[210]=a,t[211]=Yn):Yn=t[211];let Xn;return t[212]!==Jn||t[213]!==r||t[214]!==Yn?(Xn=(0,Q.jsx)(Fe,{mode:r,header:Jn,children:Yn}),t[212]=Jn,t[213]=r,t[214]=Yn,t[215]=Xn):Xn=t[215],Xn}function oa(e){return e instanceof Element?e.hasAttribute(`data-title`):!1}function sa(e){return{...pt(e),diff:`1`}}function ca(e){console.warn(`Failed to open diff in editor.`,e)}function la(e){return e.size===0?e:new Set}function ua(e,t){return{fileDiff:e,fileIndex:t}}function da(e,t){return Wi(e).localeCompare(Wi(t),void 0,{numeric:!0,sensitivity:`base`})}function fa(e){return e.turnId}function pa(e){return typeof e==`number`}function ma(e){return ft(e)}function ha(e){return lt(e)}function ga(){return new Set}var _a=512*1024,va=new Set([`gif`,`jpeg`,`jpg`,`png`,`svg`,`webp`]),ya=new Set(`bash.c.cc.conf.cpp.css.csv.dockerfile.env.gitignore.go.h.html.ini.java.js.json.jsx.log.md.mdx.py.rs.sh.sql.toml.ts.tsx.txt.xml.yaml.yml`.split(`.`)),ba=new Map([[`css`,`css`],[`go`,`go`],[`html`,`html`],[`js`,`js`],[`json`,`json`],[`jsx`,`jsx`],[`md`,`markdown`],[`mdx`,`markdown`],[`py`,`python`],[`rs`,`rust`],[`sh`,`bash`],[`ts`,`ts`],[`tsx`,`tsx`],[`yaml`,`yaml`],[`yml`,`yaml`]]),xa=new Set([`application/javascript`,`application/json`,`application/toml`,`application/typescript`,`application/xml`,`application/x-sh`,`application/yaml`,`application/xhtml+xml`,`image/svg+xml`]);function Sa(e){let t=e.split(/[?#]/,1)[0]??e;return t.toLowerCase().split(`/`).at(-1)??t.toLowerCase()}function Ca(e){let t=Sa(e),n=t.lastIndexOf(`.`);return n<=0||n===t.length-1?t:t.slice(n+1)}function wa(e){let t=Sa(e);return t===`dockerfile`?`dockerfile`:t===`.gitignore`?`ini`:ba.get(Ca(e))??`text`}function Ta(e){let t=e.mimeType?.toLowerCase().split(`;`,1)[0]?.trim();if(t?.startsWith(`image/`))return`image`;if(t&&(t.startsWith(`text/`)||xa.has(t)))return`text`;let n=Ca(e.filePath);return va.has(n)?`image`:ya.has(n)?`text`:`binary`}function Ea(e,t=_a){return e>t?{state:`too-large`,shouldFetch:!1,sizeBytes:e,limitBytes:t}:{state:`within-limit`,shouldFetch:!0,sizeBytes:e,limitBytes:t}}function Da(e){return e.replaceAll(`\\`,`/`).toLowerCase()}function Oa(e){return Da(e).trim().split(/\s+/).filter(e=>e.length>0)}function ka(e,t){return t.every(t=>e.includes(t))}function Aa(e,t){let n=e.lastIndexOf(`/`);for(;n>0;){if(t.has(e.slice(0,n)))return!0;n=e.lastIndexOf(`/`,n-1)}return!1}function ja(e,t){let n=Oa(t);if(n.length===0)return e;let r=new Set;for(let t of e){if(t.kind!==`directory`)continue;let e=Da(t.path);ka(e,n)&&r.add(e)}return e.filter(e=>{let t=Da(e.path);return ka(t,n)||Aa(t,r)})}var Ma=`chat_preview_tree_width`,Na=220,Pa=280,Fa=.55,Ia=`
137
137
  .preview-panel-diffs-file {
138
138
  display: block;
139
139
  min-height: 100%;
@@ -162,5 +162,5 @@ import{i as e,t}from"./react-PSPkXoKo.js";import{t as n}from"./compiler-runtime-
162
162
  [data-line-number-content] {
163
163
  color: color-mix(in srgb, var(--muted-foreground) 85%, transparent);
164
164
  }
165
- `;function Ra(e,t){let n=Math.max(Na,Math.floor(t*Fa));return Math.max(Na,Math.min(e,n))}function za(e,t,n){let r=e.startX-n;return Ra(e.startWidth+r,t)}function Ba(e){if(!e)return!1;let t=e.toLowerCase();return t.includes(`enoent`)||t.includes(`no such file`)||t.includes(`file not found`)||t.includes(`cannot find the file`)}function Va(e,t){return`preview:${e}:${t.length}:${Oe(t).toString(36)}`}var Ha=[];function Ua(e){let t=(0,wi.c)(24),[n,r]=(0,$.useState)(e.open),i,a;t[0]===e.open?(i=t[1],a=t[2]):(i=()=>{if(!e.open){r(!1);return}let t=window.requestAnimationFrame(()=>r(!0));return()=>window.cancelAnimationFrame(t)},a=[e.open],t[0]=e.open,t[1]=i,t[2]=a),(0,$.useEffect)(i,a);let o=e.open&&n,s=e.open?void 0:!0,c=e.open?void 0:!0,l=e.open?`border-l border-border/70`:`border-l-0`,u=e.resizing?`transition-none`:`transition-[width,opacity] duration-[360ms] ease-[cubic-bezier(0.16,1,0.3,1)] motion-reduce:transition-none`,d=e.open?`opacity-100`:`opacity-0`,f;t[3]!==l||t[4]!==u||t[5]!==d?(f=y(`min-h-0 shrink-0 overflow-hidden bg-card/20`,l,u,d),t[3]=l,t[4]=u,t[5]=d,t[6]=f):f=t[6];let p=e.open?`${e.width}px`:`0px`,m;t[7]===p?m=t[8]:(m={width:p,maxWidth:`55%`},t[7]=p,t[8]=m);let h=e.resizing?`transition-none`:null,g=o?`translate-x-0 opacity-100`:`translate-x-4 opacity-0`,_;t[9]!==h||t[10]!==g?(_=y(`h-full min-h-0 transition-[translate,opacity] duration-[360ms] ease-[cubic-bezier(0.16,1,0.3,1)] will-change-transform motion-reduce:transition-none`,h,g),t[9]=h,t[10]=g,t[11]=_):_=t[11];let v=`${e.width}px`,b;t[12]===v?b=t[13]:(b={width:v,maxWidth:`100%`},t[12]=v,t[13]=b);let x;t[14]!==e.children||t[15]!==_||t[16]!==b?(x=(0,Q.jsx)(`div`,{className:_,style:b,children:e.children}),t[14]=e.children,t[15]=_,t[16]=b,t[17]=x):x=t[17];let S;return t[18]!==x||t[19]!==s||t[20]!==c||t[21]!==f||t[22]!==m?(S=(0,Q.jsx)(`div`,{"data-preview-file-rail":!0,"aria-hidden":s,inert:c,className:f,style:m,children:x}),t[18]=x,t[19]=s,t[20]=c,t[21]=f,t[22]=m,t[23]=S):S=t[23],S}function Wa(){let e=(0,wi.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(Et,{className:`size-8 text-muted-foreground/65`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center`,children:(0,Q.jsxs)(`div`,{className:`flex max-w-xs flex-col items-center gap-3`,children:[t,(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`div`,{className:`text-sm font-semibold text-foreground`,children:`Open file`}),(0,Q.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground/70`,children:`Select a file from the workspace tree.`})]})]})}),e[1]=n):n=e[1],n}function Ga(e){let t=(0,wi.c)(171),{mode:n}=e,i=n===void 0?`inline`:n,{resolvedTheme:a}=Pt(),o=d(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={strict:!1,select:no},t[0]=s):s=t[0];let c=st(s),l;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(l={strict:!1,select:to},t[1]=l):l=t[1];let u=st(l),m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m={strict:!1,select:eo},t[2]=m):m=t[2];let h=_t(m),_;t[3]===c?_=t[4]:(_=At(c),t[3]=c,t[4]=_);let v=f(_),b;t[5]!==u||t[6]!==c||t[7]!==v?(b=e=>v?null:u?e.getDraftSession(u):c?e.getDraftThreadByRef(c):null,t[5]=u,t[6]=c,t[7]=v,t[8]=b):b=t[8];let x=D(b),S;bb0:{if(v){let e;t[9]!==v.environmentId||t[10]!==v.id||t[11]!==v.projectId||t[12]!==v.turnDiffSummaries||t[13]!==v.worktreePath?(e={id:v.id,environmentId:v.environmentId,projectId:v.projectId,worktreePath:v.worktreePath,turnDiffSummaries:v.turnDiffSummaries},t[9]=v.environmentId,t[10]=v.id,t[11]=v.projectId,t[12]=v.turnDiffSummaries,t[13]=v.worktreePath,t[14]=e):e=t[14],S=e;break bb0}if(x){let e;t[15]!==x.environmentId||t[16]!==x.projectId||t[17]!==x.threadId||t[18]!==x.worktreePath?(e={id:x.threadId,environmentId:x.environmentId,projectId:x.projectId,worktreePath:x.worktreePath,turnDiffSummaries:Ha},t[15]=x.environmentId,t[16]=x.projectId,t[17]=x.threadId,t[18]=x.worktreePath,t[19]=e):e=t[19],S=e;break bb0}S=void 0}let w=S,T=w?.projectId??null,E;t[20]!==T||t[21]!==w?(E=e=>w&&T?p(e,{environmentId:w.environmentId,projectId:T}):void 0,t[20]=T,t[21]=w,t[22]=E):E=t[22];let k=f(E),A=w?.worktreePath??k?.cwd??null,[j,ee]=(0,$.useState)(null),[N,te]=(0,$.useState)(``),[F,ie]=(0,$.useState)(!0),[I,oe]=(0,$.useState)(o.diffWordWrap),se=(0,$.useRef)(null),[L,le]=(0,$.useState)($a),[ue,de]=(0,$.useState)(!1),fe=(0,$.useRef)(null),pe=(0,$.useRef)(h.preview===`1`),me=(0,$.useRef)(null),he=(0,$.useRef)(null),R=(0,$.useRef)(null),ge,_e;t[23]===o.diffWordWrap?(ge=t[24],_e=t[25]):(_e=()=>{oe(o.diffWordWrap)},ge=[o.diffWordWrap],t[23]=o.diffWordWrap,t[24]=ge,t[25]=_e),(0,$.useEffect)(_e,ge);let z;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(z=()=>{ee(null),ie(!0)},t[26]=z):z=t[26];let ve=w?.environmentId,ye=w?.id,be;t[27]!==ve||t[28]!==ye?(be=[ve,ye],t[27]=ve,t[28]=ye,t[29]=be):be=t[29],(0,$.useEffect)(z,be),w?.turnDiffSummaries;let xe;t[30]===w?.turnDiffSummaries?xe=t[31]:(xe=(w?.turnDiffSummaries??[]).toReversed().find(Qa),t[30]=w?.turnDiffSummaries,t[31]=xe);let Se=xe,B=Se?`${Se.turnId}:${Se.completedAt}`:null,V;t[32]!==w?.turnDiffSummaries||t[33]!==j?(V=()=>{if(!j)return null;let e=(w?.turnDiffSummaries??[]).toReversed().find(e=>e.files.some(e=>e.path===j));return e?`${e.turnId}:${e.completedAt}`:null},t[32]=w?.turnDiffSummaries,t[33]=j,t[34]=V):V=t[34],w?.turnDiffSummaries;let Ce=V(),H=w?.environmentId??null,U;t[35]!==A||t[36]!==H?(U=[`projects`,`listEntries`,H,A],t[35]=A,t[36]=H,t[37]=U):U=t[37];let we;t[38]!==A||t[39]!==w?(we=async()=>{if(!w?.environmentId||!A)throw Error(`Project tree is unavailable.`);return g(w.environmentId).projects.listEntries({cwd:A})},t[38]=A,t[39]=w,t[40]=we):we=t[40];let Te=!!(w?.environmentId&&A&&h.preview===`1`),W;t[41]!==U||t[42]!==we||t[43]!==Te?(W={queryKey:U,queryFn:we,enabled:Te,retry:1,select:Xa},t[41]=U,t[42]=we,t[43]=Te,t[44]=W):W=t[44];let G=ae(W),K=G.error instanceof Error?G.error.message:G.error?`Failed to load the workspace tree.`:null,q=G.data,J=G.data?.truncated===!0,Ee=G.isFetching,De=G.refetch;q?.entries;let Oe;t[45]===q?.entries?Oe=t[46]:(Oe=q?.entries??[],t[45]=q?.entries,t[46]=Oe);let ke;t[47]!==N||t[48]!==Oe?(ke=ja(Oe,N),t[47]=N,t[48]=Oe,t[49]=ke):ke=t[49];let Ae=ke,je;t[50]===N?je=t[51]:(je=N.trim(),t[50]=N,t[51]=je);let Ne=je.length>0,Pe,Ie;t[52]!==q||t[53]!==j?(Pe=()=>{if(q){if(q.entries.length===0){ee(null);return}j&&!q.entries.some(e=>e.path===j)&&ee(null)}},Ie=[q,j],t[52]=q,t[53]=j,t[54]=Pe,t[55]=Ie):(Pe=t[54],Ie=t[55]),(0,$.useEffect)(Pe,Ie);let Le,Re;t[56]!==B||t[57]!==h.preview||t[58]!==De?(Le=()=>{if(h.preview!==`1`){me.current=B;return}if(me.current===null){me.current=B;return}me.current!==B&&(me.current=B,De())},Re=[B,h.preview,De],t[56]=B,t[57]=h.preview,t[58]=De,t[59]=Le,t[60]=Re):(Le=t[59],Re=t[60]),(0,$.useEffect)(Le,Re);let ze,Be;t[61]===h.preview?(ze=t[62],Be=t[63]):(ze=()=>{let e=h.preview===`1`;e&&!pe.current&&ee(null),pe.current=e},Be=[h.preview],t[61]=h.preview,t[62]=ze,t[63]=Be),(0,$.useEffect)(ze,Be);let Ve=j?q?.entries.find(e=>e.path===j):void 0,He=typeof Ve?.sizeBytes==`number`?Ea(Ve.sizeBytes):null,Ue=w?.environmentId??null,We;t[64]!==A||t[65]!==j||t[66]!==Ue?(We=[`projects`,`readFile`,Ue,A,j],t[64]=A,t[65]=j,t[66]=Ue,t[67]=We):We=t[67];let Ge;t[68]!==A||t[69]!==w||t[70]!==j?(Ge=async()=>{if(!w?.environmentId||!A||!j)throw Error(`File preview is unavailable.`);return g(w.environmentId).projects.readFile({cwd:A,relativePath:j})},t[68]=A,t[69]=w,t[70]=j,t[71]=Ge):Ge=t[71];let Ke=!!(w?.environmentId&&A&&j&&h.preview===`1`&&(He?.shouldFetch??!0)),qe;t[72]!==We||t[73]!==Ge||t[74]!==Ke?(qe={queryKey:We,queryFn:Ge,enabled:Ke,retry:1},t[72]=We,t[73]=Ge,t[74]=Ke,t[75]=qe):qe=t[75];let Je=ae(qe),Ye=Je.data?.relativePath===j?Je.data:null,Y=Ye,Xe=Y?.mimeType??Ve?.mimeType??null,X=j?Ta({filePath:j,mimeType:Xe}):`text`,Ze=Je.error instanceof Error?Je.error.message:Je.error?`Failed to load file preview.`:null,$e=Je.refetch,tt,nt;t[76]!==Ce||t[77]!==h.preview||t[78]!==$e||t[79]!==j?(tt=()=>{if(!j||h.preview!==`1`){he.current=Ce;return}if(he.current===null){he.current=Ce;return}he.current!==Ce&&(he.current=Ce,$e())},nt=[Ce,h.preview,$e,j],t[76]=Ce,t[77]=h.preview,t[78]=$e,t[79]=j,t[80]=tt,t[81]=nt):(tt=t[80],nt=t[81]),(0,$.useEffect)(tt,nt);let rt,Z;t[82]!==A||t[83]!==De||t[84]!==Ze||t[85]!==j?(rt=()=>{if(!j||!Ba(Ze)){R.current=null;return}let e=`${A??``}\u0000${j}\u0000${Ze}`;R.current!==e&&(R.current=e,De().then(e=>{e.data?.entries.some(e=>e.path===j)||ee(e=>e===j?null:e)}).catch(Ya))},Z=[A,De,Ze,j],t[82]=A,t[83]=De,t[84]=Ze,t[85]=j,t[86]=rt,t[87]=Z):(rt=t[86],Z=t[87]),(0,$.useEffect)(rt,Z),Y?.contents;let it;bb1:{let e=Y?.contents;if(!j||X!==`text`||e===void 0){it=null;break bb1}let n;t[88]===j?n=t[89]:(n=wa(j),t[88]=j,t[89]=n);let r;t[90]!==e||t[91]!==j?(r=Va(j,e),t[90]=e,t[91]=j,t[92]=r):r=t[92];let i;t[93]!==e||t[94]!==j||t[95]!==n||t[96]!==r?(i={name:j,contents:e,lang:n,cacheKey:r},t[93]=e,t[94]=j,t[95]=n,t[96]=r,t[97]=i):i=t[97],it=i}let at=it,ot;t[98]!==F||t[99]!==L?(ot=e=>{if(e.button!==0||!F)return;let t=se.current?.querySelector(`[data-preview-file-rail]`)?.getBoundingClientRect().width??L;fe.current={pointerId:e.pointerId,startWidth:t,startX:e.clientX},e.currentTarget.setPointerCapture(e.pointerId),de(!0),document.body.style.cursor=`ew-resize`,document.body.style.userSelect=`none`},t[98]=F,t[99]=L,t[100]=ot):ot=t[100];let ct=ot,lt;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(lt=e=>{let t=fe.current,n=se.current;!t||!n||t.pointerId!==e.pointerId||(e.preventDefault(),le(za(t,n.clientWidth,e.clientX)))},t[101]=lt):lt=t[101];let ut=lt,dt;t[102]===Symbol.for(`react.memo_cache_sentinel`)?(dt=e=>{let t=fe.current;if(!t||t.pointerId!==e.pointerId)return;let n=se.current,i=n?za(t,n.clientWidth,e.clientX):t.startWidth;fe.current=null,de(!1),le(i),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),document.body.style.removeProperty(`cursor`),document.body.style.removeProperty(`user-select`),typeof window<`u`&&O(Ma,i,r)},t[102]=dt):dt=t[102];let ft=dt,pt;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(pt=[],t[103]=pt):pt=t[103],(0,$.useEffect)(qa,pt);let mt;t[104]===De?mt=t[105]:(mt=()=>{De()},t[104]=De,t[105]=mt);let ht=mt,gt;t[106]===F?gt=t[107]:(gt=()=>{F&&(fe.current=null,de(!1),document.body.style.removeProperty(`cursor`),document.body.style.removeProperty(`user-select`)),ie(Ka)},t[106]=F,t[107]=gt);let vt=gt,yt;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(yt=(0,Q.jsx)(`div`,{className:`truncate text-sm font-medium text-foreground`,children:`File Preview`}),t[108]=yt):yt=t[108];let bt;t[109]===Symbol.for(`react.memo_cache_sentinel`)?(bt=(0,Q.jsx)(`span`,{children:`Workspace tree`}),t[109]=bt):bt=t[109];let xt;t[110]===J?xt=t[111]:(xt=J?(0,Q.jsx)(ce,{variant:`warning`,size:`sm`,className:`rounded-md px-1.5 py-0 text-[9px]`,children:`Truncated`}):null,t[110]=J,t[111]=xt);let Ct;t[112]===xt?Ct=t[113]:(Ct=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 px-1 [-webkit-app-region:no-drag]`,children:[yt,(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] uppercase tracking-[0.12em] text-muted-foreground/65`,children:[bt,xt]})]}),t[112]=xt,t[113]=Ct);let Et=F?`Hide workspace tree`:`Show workspace tree`,Dt=F?`Hide workspace tree`:`Show workspace tree`,kt;t[114]===F?kt=t[115]:(kt=F?(0,Q.jsx)(Ht,{className:`size-3`}):(0,Q.jsx)(Ut,{className:`size-3`}),t[114]=F,t[115]=kt);let jt;t[116]!==F||t[117]!==vt||t[118]!==Et||t[119]!==Dt||t[120]!==kt?(jt=(0,Q.jsx)(C,{"aria-label":Et,"aria-pressed":F,title:Dt,variant:`outline`,size:`icon-xs`,className:`shrink-0`,onClick:vt,children:kt}),t[116]=F,t[117]=vt,t[118]=Et,t[119]=Dt,t[120]=kt,t[121]=jt):jt=t[121];let Mt=!w?.environmentId||!A||Ee,Nt=Ee&&`animate-spin`,Ft;t[122]===Nt?Ft=t[123]:(Ft=y(`size-3`,Nt),t[122]=Nt,t[123]=Ft);let It;t[124]===Ft?It=t[125]:(It=(0,Q.jsx)(Ot,{className:Ft}),t[124]=Ft,t[125]=It);let Lt;t[126]!==ht||t[127]!==Mt||t[128]!==It?(Lt=(0,Q.jsx)(C,{"aria-label":`Refresh workspace tree`,title:`Refresh workspace tree`,variant:`outline`,size:`icon-xs`,className:`shrink-0`,disabled:Mt,onClick:ht,children:It}),t[126]=ht,t[127]=Mt,t[128]=It,t[129]=Lt):Lt=t[129];let Rt=I?`Disable preview line wrapping`:`Enable preview line wrapping`,zt=I?`Disable line wrapping`:`Enable line wrapping`,Bt,Vt;t[130]===Symbol.for(`react.memo_cache_sentinel`)?(Bt=e=>{oe(!!e)},Vt=(0,Q.jsx)(Kt,{className:`size-3`}),t[130]=Bt,t[131]=Vt):(Bt=t[130],Vt=t[131]);let Wt;t[132]!==Rt||t[133]!==zt||t[134]!==I?(Wt=(0,Q.jsx)(Tt,{"aria-label":Rt,title:zt,variant:`outline`,size:`xs`,pressed:I,onPressedChange:Bt,children:Vt}),t[132]=Rt,t[133]=zt,t[134]=I,t[135]=Wt):Wt=t[135];let Gt;t[136]!==jt||t[137]!==Lt||t[138]!==Wt?(Gt=(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 [-webkit-app-region:no-drag]`,children:[jt,Lt,Wt]}),t[136]=jt,t[137]=Lt,t[138]=Wt,t[139]=Gt):Gt=t[139];let qt;t[140]!==Ct||t[141]!==Gt?(qt=(0,Q.jsxs)(Q.Fragment,{children:[Ct,Gt]}),t[140]=Ct,t[141]=Gt,t[142]=qt):qt=t[142];let Jt=qt,Yt;t[143]!==w||t[144]!==N||t[145]!==Ae||t[146]!==Ne||t[147]!==ue||t[148]!==F||t[149]!==ct||t[150]!==at||t[151]!==K||t[152]!==G.data||t[153]!==G.isLoading||t[154]!==J||t[155]!==a||t[156]!==Y||t[157]!==Ye||t[158]!==Ze||t[159]!==X||t[160]!==Xe||t[161]!==j||t[162]!==Je.isLoading||t[163]!==He||t[164]!==L||t[165]!==I?(Yt=w?G.isLoading&&!G.data?(0,Q.jsx)(Me,{label:`Loading project tree...`}):K&&!G.data?(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:K}):(G.data?.entries.length??0)===0?(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`No project files available yet.`}):(0,Q.jsxs)(`div`,{ref:se,className:`flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:[(0,Q.jsx)(`div`,{"data-preview-content-panel":!0,className:`flex min-h-0 min-w-0 flex-1 flex-col transition-[min-width] duration-[320ms] ease-[cubic-bezier(0.16,1,0.3,1)] motion-reduce:transition-none`,children:j?He?.state===`too-large`?(0,Q.jsxs)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:[`File is too large to preview (`,He.sizeBytes,` bytes). Limit is`,` `,He.limitBytes,` bytes.`]}):Je.isLoading&&!Ye?(0,Q.jsx)(Me,{label:`Loading file preview...`}):Ze?(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:Ze}):(0,Q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto p-2`,children:[(0,Q.jsx)(`style`,{children:Ia}),(0,Q.jsxs)(`div`,{className:`min-h-full overflow-hidden rounded-md border border-border/70 bg-[color:color-mix(in_srgb,var(--card)_90%,var(--background))]`,children:[(0,Q.jsx)(`div`,{className:`border-b border-border/70 bg-[color:color-mix(in_srgb,var(--card)_94%,var(--foreground))] px-3 py-2 text-foreground`,children:(0,Q.jsx)(`div`,{className:`truncate font-mono text-[12px] font-medium`,children:j})}),X===`image`&&Y?.base64?(0,Q.jsx)(`div`,{className:`flex min-h-0 justify-center overflow-auto bg-background/70 p-3`,children:(0,Q.jsx)(`img`,{alt:j,className:`max-h-full max-w-full object-contain`,src:`data:${Xe??`image/png`};base64,${Y.base64}`})}):at?(0,Q.jsx)(_i,{file:at,className:`preview-panel-diffs-file`,options:{disableFileHeader:!0,overflow:I?`wrap`:`scroll`,theme:et(a),themeType:a,unsafeCSS:La,tokenizeMaxLineLength:1e3}}):(0,Q.jsx)(`pre`,{className:y(`min-h-full bg-transparent p-3 font-mono text-[11px] leading-5 text-muted-foreground/90`,I?`overflow-auto whitespace-pre-wrap wrap-break-word`:`overflow-auto`),children:Y?.contents??``})]})]}):(0,Q.jsx)(Wa,{})}),(0,Q.jsx)(`button`,{type:`button`,"aria-label":`Resize workspace tree`,"aria-hidden":F?void 0:!0,className:y(`group relative shrink-0 overflow-hidden bg-background transition-[width,opacity,background-color] duration-[360ms] ease-[cubic-bezier(0.16,1,0.3,1)] hover:bg-accent/40 motion-reduce:transition-none`,F?`w-2 cursor-ew-resize opacity-100`:`w-0 opacity-0`),disabled:!F,onPointerDown:ct,onPointerMove:ut,onPointerUp:ft,onPointerCancel:ft,children:(0,Q.jsx)(`span`,{className:`absolute inset-y-0 left-1/2 w-px -translate-x-1/2 bg-border/80 group-hover:bg-border`})}),(0,Q.jsx)(Ua,{width:L,open:F,resizing:ue,children:(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,Q.jsx)(`div`,{className:`shrink-0 border-b border-border/60 p-2`,children:(0,Q.jsxs)(`label`,{className:`relative block`,children:[(0,Q.jsx)(re,{className:`pointer-events-none absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground/65`}),(0,Q.jsx)(`input`,{type:`text`,value:N,onChange:e=>te(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(te(``),e.currentTarget.blur())},placeholder:`Filter files...`,"aria-label":`Filter files`,className:`h-8 w-full rounded-md border border-border/70 bg-background/65 pl-8 pr-3 text-xs text-foreground outline-none transition-[border-color,background-color,box-shadow] placeholder:text-muted-foreground/55 focus:border-ring/60 focus:bg-background focus:shadow-[0_0_0_3px_color-mix(in_srgb,var(--ring)_18%,transparent)]`})]})}),(0,Q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto p-2`,children:[K||J?(0,Q.jsxs)(ne,{variant:K?`error`:`warning`,className:`mb-2 rounded-lg border-border/70 px-3 py-2 text-[11px]`,children:[K?(0,Q.jsx)(St,{className:`size-3.5`}):(0,Q.jsx)(wt,{className:`size-3.5`}),(0,Q.jsx)(P,{className:`text-[11px]`,children:K?`Workspace tree refresh failed`:`Workspace tree is truncated`}),(0,Q.jsx)(M,{className:`gap-1 text-[11px] leading-4`,children:K?(0,Q.jsx)(`span`,{children:K}):(0,Q.jsx)(`span`,{children:`Only the first indexed workspace entries are shown here, so some files may be omitted from preview.`})})]}):null,Ae.length===0?(0,Q.jsx)(`div`,{className:`px-2 py-6 text-center text-xs leading-5 text-muted-foreground/70`,children:`No files match this filter.`}):(0,Q.jsx)(Qe,{files:Ae,allDirectoriesExpanded:Ne,resolvedTheme:a,onSelectFile:ee,selectedFilePath:j,showStats:!1})]})]})})]}):(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Select a thread to preview files.`}),t[143]=w,t[144]=N,t[145]=Ae,t[146]=Ne,t[147]=ue,t[148]=F,t[149]=ct,t[150]=at,t[151]=K,t[152]=G.data,t[153]=G.isLoading,t[154]=J,t[155]=a,t[156]=Y,t[157]=Ye,t[158]=Ze,t[159]=X,t[160]=Xe,t[161]=j,t[162]=Je.isLoading,t[163]=He,t[164]=L,t[165]=I,t[166]=Yt):Yt=t[166];let Xt;return t[167]!==Jt||t[168]!==i||t[169]!==Yt?(Xt=(0,Q.jsx)(Fe,{mode:i,header:Jt,children:Yt}),t[167]=Jt,t[168]=i,t[169]=Yt,t[170]=Xt):Xt=t[170],Xt}function Ka(e){return!e}function qa(){return Ja}function Ja(){document.body.style.removeProperty(`cursor`),document.body.style.removeProperty(`user-select`)}function Ya(){}function Xa(e){return{...e,entries:e.entries.toSorted(Za)}}function Za(e,t){return e.path.localeCompare(t.path,void 0,{numeric:!0,sensitivity:`base`})}function Qa(e){return e.files.length>0}function $a(){return typeof window>`u`?Pa:k(Ma,r)??Pa}function eo(e){return xt(e)}function to(e){return typeof e.draftId==`string`?A.make(e.draftId):null}function no(e){return lt(e)}function ro(e){return e===`running`?`in_progress`:e===`failed`?`review`:e===`finished`?`done`:`idle`}function io(e){return e===`running`?`Working`:e===`failed`?`Needs review`:e===`finished`?`Finished`:`Idle`}function ao(e){return encodeURIComponent(e??`none`).replace(/%/g,`_`)}function oo(e){return`thread-workspace-tab-${ao(e)}`}function so(e){return`thread-workspace-panel-${ao(e)}`}function co(e){let t=(0,wi.c)(10),n=e.active?`text-foreground`:`text-muted-foreground`,r;t[0]===n?r=t[1]:(r=y(`size-3.5 shrink-0`,n),t[0]=n,t[1]=r);let i=r;if(e.tab.mode===`agent`){let e;return t[2]===i?e=t[3]:(e=(0,Q.jsx)(W,{className:i}),t[2]=i,t[3]=e),e}if(e.tab.key===`review`){let e;return t[4]===i?e=t[5]:(e=(0,Q.jsx)(zt,{className:i}),t[4]=i,t[5]=e),e}if(e.tab.key===`terminal`){let e;return t[6]===i?e=t[7]:(e=(0,Q.jsx)(F,{className:i}),t[6]=i,t[7]=e),e}let a;return t[8]===i?a=t[9]:(a=(0,Q.jsx)(j,{className:i}),t[8]=i,t[9]=a),a}function lo(e){let t=(0,wi.c)(8),n;t[0]===e.agent.status?n=t[1]:(n=oe(ro(e.agent.status),`truncate`),t[0]=e.agent.status,t[1]=n);let r;t[2]===e.agent.name?r=t[3]:(r=se(e.agent.name,{durationSeconds:2.2}),t[2]=e.agent.name,t[3]=r);let i;return t[4]!==e.agent.name||t[5]!==n||t[6]!==r?(i=(0,Q.jsx)(`span`,{className:n,style:r,children:e.agent.name}),t[4]=e.agent.name,t[5]=n,t[6]=r,t[7]=i):i=t[7],i}function uo(e){let t=(0,wi.c)(30);if(!e.subagent){let n,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(`div`,{className:`mx-auto flex size-10 items-center justify-center rounded-md border border-border/70 bg-card/60 text-muted-foreground`,children:(0,Q.jsx)(Vt,{className:`size-4`})}),r=(0,Q.jsx)(`p`,{className:`mt-3 text-sm font-medium text-foreground`,children:`Subagent unavailable`}),i=(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-relaxed text-muted-foreground`,children:`This tab points to a subagent that is no longer present in the current thread activity.`}),t[0]=n,t[1]=r,t[2]=i):(n=t[0],r=t[1],i=t[2]);let a;t[3]===e.agentKey?a=t[4]:(a=e.agentKey?(0,Q.jsx)(`p`,{className:`mt-2 truncate font-mono text-[11px] text-muted-foreground/60`,children:e.agentKey}):null,t[3]=e.agentKey,t[4]=a);let o;return t[5]===a?o=t[6]:(o=(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center p-6 text-center`,children:(0,Q.jsxs)(`div`,{className:`max-w-72`,children:[n,r,i,a]})}),t[5]=a,t[6]=o),o}let n;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(W,{className:`size-4 shrink-0 text-muted-foreground`}),t[7]=n):n=t[7];let r;t[8]===e.subagent?r=t[9]:(r=(0,Q.jsx)(`p`,{className:`min-w-0 flex-1 text-sm font-medium`,children:(0,Q.jsx)(lo,{agent:e.subagent})}),t[8]=e.subagent,t[9]=r);let i;t[10]===e.subagent.status?i=t[11]:(i=io(e.subagent.status),t[10]=e.subagent.status,t[11]=i);let a;t[12]===i?a=t[13]:(a=(0,Q.jsx)(`span`,{className:`shrink-0 rounded-md border border-border/70 px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:i}),t[12]=i,t[13]=a);let o;t[14]!==r||t[15]!==a?(o=(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[n,r,a]}),t[14]=r,t[15]=a,t[16]=o):o=t[16];let s;t[17]===e.subagent.detail?s=t[18]:(s=e.subagent.detail?(0,Q.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-relaxed text-muted-foreground`,children:e.subagent.detail}):null,t[17]=e.subagent.detail,t[18]=s);let c;t[19]!==o||t[20]!==s?(c=(0,Q.jsxs)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:[o,s]}),t[19]=o,t[20]=s,t[21]=c):c=t[21];let l;t[22]!==e.subagent.entries||t[23]!==e.subagent.status?(l=e.subagent.entries.length>0?e.subagent.entries.map(t=>(0,Q.jsxs)(`div`,{className:`rounded-md border border-border/60 bg-card/40 p-3`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:y(`size-2 shrink-0 rounded-full`,t.tone===`error`?`bg-destructive`:e.subagent?.status===`running`?`bg-sky-400`:`bg-emerald-400`)}),(0,Q.jsx)(`p`,{className:`min-w-0 truncate text-xs font-medium text-foreground`,children:t.toolTitle??t.label})]}),t.detail?(0,Q.jsx)(`p`,{className:`mt-2 text-xs leading-relaxed text-muted-foreground`,children:t.detail}):null,t.output&&t.output!==t.detail?(0,Q.jsx)(`div`,{className:`mt-3 rounded-md border border-border/50 bg-background/60 p-2`,children:(0,Q.jsx)(Re,{text:t.output,cwd:void 0,isStreaming:!1})}):null]},t.id)):(0,Q.jsxs)(`div`,{className:`flex min-h-48 flex-col items-center justify-center rounded-md border border-dashed border-border/70 bg-card/20 p-6 text-center`,children:[(0,Q.jsx)(Vt,{className:`size-5 text-muted-foreground/60`}),(0,Q.jsx)(`p`,{className:`mt-3 text-sm font-medium text-foreground`,children:`No transcript captured yet`}),(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-relaxed text-muted-foreground`,children:`The subagent is visible from lifecycle events. Detailed messages will appear here when the provider exposes them.`})]}),t[22]=e.subagent.entries,t[23]=e.subagent.status,t[24]=l):l=t[24];let u;t[25]===l?u=t[26]:(u=(0,Q.jsx)(Nt,{className:`min-h-0 flex-1`,children:(0,Q.jsx)(`div`,{className:`space-y-3 p-4`,children:l})}),t[25]=l,t[26]=u);let d;return t[27]!==c||t[28]!==u?(d=(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[c,u]}),t[27]=c,t[28]=u,t[29]=d):d=t[29],d}function fo(e){let t=(0,wi.c)(8),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(`div`,{className:`mx-auto flex size-10 items-center justify-center rounded-md border border-border/70 bg-card/60 text-muted-foreground`,children:(0,Q.jsx)(F,{className:`size-4`})}),t[0]=n):n=t[0];let r;t[1]===e.title?r=t[2]:(r=(0,Q.jsx)(`p`,{className:`mt-3 text-sm font-medium text-foreground`,children:e.title}),t[1]=e.title,t[2]=r);let i;t[3]===e.description?i=t[4]:(i=(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-relaxed text-muted-foreground`,children:e.description}),t[3]=e.description,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center p-6 text-center`,children:(0,Q.jsxs)(`div`,{className:`max-w-72`,children:[n,r,i]})}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function po(){let e=(0,wi.c)(89),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={strict:!1},e[0]=t):t=e[0];let n=st(t),r;e[1]===n?r=e[2]:(r=lt(n),e[1]=n,e[2]=r);let s=r,c;e[3]===n.draftId?c=e[4]:(c=n.draftId?A.make(n.draftId):null,e[3]=n.draftId,e[4]=c);let u=c,d;e[5]===u?d=e[6]:(d=e=>u?e.getDraftSession(u):null,e[5]=u,e[6]=d);let p=D(d),g;bb0:{if(s){g=s;break bb0}if(!p){g=null;break bb0}let t;e[7]!==p.environmentId||e[8]!==p.threadId?(t=o(p.environmentId,p.threadId),e[7]=p.environmentId,e[8]=p.threadId,e[9]=t):t=e[9],g=t}let v=g,y;e[10]===v?y=e[11]:(y=At(v),e[10]=v,e[11]=y);let b=f(y),x;e[12]===v?x=e[13]:(x=e=>v?e.getDraftThreadByRef(v):null,e[12]=v,e[13]=x);let S=D(x),C;e[14]!==S||e[15]!==b?(C=b?a(b.environmentId,b.projectId):S?a(S.environmentId,S.projectId):null,e[14]=S,e[15]=b,e[16]=C):C=e[16];let w=C,T;e[17]===w?T=e[18]:(T=jt(w),e[17]=w,e[18]=T);let O=f(T),k;e[19]===v?k=e[20]:(k=e=>_(e.terminalStateByThreadKey,v),e[19]=v,e[20]=k);let j=h(k),ee;e[21]===v?ee=e[22]:(ee=e=>v?e.terminalLaunchContextByThreadKey[i(v)]??null:null,e[21]=v,e[22]=ee);let M=h(ee),P=h(So),te=h(xo),ne=h(bo),re=h(yo),F=h(vo),ie=h(_o),I=l(),ae=N(),[oe,se]=(0,$.useState)(0),ce=b?.worktreePath??S?.worktreePath??null,L=M?.worktreePath??ce;M?.cwd;let le;e[23]!==L||e[24]!==O||e[25]!==M?.cwd?(le=M?.cwd??(O?Ge({project:{cwd:O.cwd},worktreePath:L}):null),e[23]=L,e[24]=O,e[25]=M?.cwd,e[26]=le):le=e[26];let ue=le,de;e[27]!==L||e[28]!==O?(de=O?ze({project:{cwd:O.cwd},worktreePath:L}):{},e[27]=L,e[28]=O,e[29]=de):de=e[29];let fe=de,pe;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(pe={context:{terminalFocus:!0,terminalOpen:!0}},e[30]=pe):pe=e[30];let me=pe,he;e[31]===I?he=e[32]:(he=Mt(I,`terminal.split`,me),e[31]=I,e[32]=he);let R=he,ge;e[33]===I?ge=e[34]:(ge=Mt(I,`terminal.new`,me),e[33]=I,e[34]=ge);let _e=ge,z;e[35]===I?z=e[36]:(z=Mt(I,`terminal.close`,me),e[35]=I,e[36]=z);let ve=z,ye,be;e[37]!==P||e[38]!==j.terminalOpen||e[39]!==v?(ye=()=>{!v||!j.terminalOpen||P(v,!1)},be=[P,j.terminalOpen,v],e[37]=P,e[38]=j.terminalOpen,e[39]=v,e[40]=ye,e[41]=be):(ye=e[40],be=e[41]),(0,$.useEffect)(ye,be);let xe;e[42]===Symbol.for(`react.memo_cache_sentinel`)?(xe=()=>{se(go)},e[42]=xe):xe=e[42];let Se=xe,B;e[43]!==P||e[44]!==ne||e[45]!==v?(B=()=>{v&&(ne(v,`terminal-${E()}`),P(v,!1),Se())},e[43]=P,e[44]=ne,e[45]=v,e[46]=B):B=e[46];let V=B,Ce;e[47]!==re||e[48]!==P||e[49]!==v?(Ce=()=>{v&&(re(v,`terminal-${E()}`),P(v,!1),Se())},e[47]=re,e[48]=P,e[49]=v,e[50]=Ce):Ce=e[50];let H=Ce,U;e[51]!==F||e[52]!==v?(U=e=>{v&&(F(v,e),Se())},e[51]=F,e[52]=v,e[53]=U):U=e[53];let we=U,Te;e[54]!==te||e[55]!==v?(Te=e=>{v&&te(v,e)},e[54]=te,e[55]=v,e[56]=Te):Te=e[56];let W=Te,G;e[57]!==ie||e[58]!==P||e[59]!==j.terminalIds.length||e[60]!==v?(G=e=>{if(!v)return;let t=m(v.environmentId);if(!t)return;let n=j.terminalIds.length<=1,r=()=>t.terminal.write({threadId:v.threadId,terminalId:e,data:`exit
166
- `}).catch(ho);`close`in t.terminal&&typeof t.terminal.close==`function`?(async()=>{n&&await t.terminal.clear({threadId:v.threadId,terminalId:e}).catch(mo),await t.terminal.close({threadId:v.threadId,terminalId:e,deleteHistory:!0})})().catch(()=>r()):r(),ie(v,e),P(v,!1),Se()},e[57]=ie,e[58]=P,e[59]=j.terminalIds.length,e[60]=v,e[61]=G):G=e[61];let K=G,q;e[62]===ae?q=e[63]:(q=e=>{ae?.current?.addTerminalContext(e)},e[62]=ae,e[63]=q);let J=q;if(!v){let t;return e[64]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(fo,{title:`Terminal unavailable`,description:`No active thread is available for this workspace terminal.`}),e[64]=t):t=e[64],t}if(!O||!ue){let t;return e[65]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(fo,{title:`Terminal unavailable`,description:`This thread does not have a resolved project directory.`}),e[65]=t):t=e[65],t}let Ee=v.threadId,De=R??void 0,Oe=_e??void 0,ke=ve??void 0,Ae;return e[66]!==we||e[67]!==J||e[68]!==K||e[69]!==H||e[70]!==ue||e[71]!==L||e[72]!==oe||e[73]!==I||e[74]!==fe||e[75]!==W||e[76]!==V||e[77]!==Ee||e[78]!==De||e[79]!==Oe||e[80]!==ke||e[81]!==j.activeTerminalGroupId||e[82]!==j.activeTerminalId||e[83]!==j.runningTerminalIds||e[84]!==j.terminalGroups||e[85]!==j.terminalHeight||e[86]!==j.terminalIds||e[87]!==v?(Ae=(0,Q.jsx)(Ft,{threadRef:v,threadId:Ee,cwd:ue,worktreePath:L,runtimeEnv:fe,layout:`panel`,visible:!0,height:j.terminalHeight,terminalIds:j.terminalIds,runningTerminalIds:j.runningTerminalIds,activeTerminalId:j.activeTerminalId,terminalGroups:j.terminalGroups,activeTerminalGroupId:j.activeTerminalGroupId,focusRequestId:oe,onSplitTerminal:V,onNewTerminal:H,splitShortcutLabel:De,newShortcutLabel:Oe,closeShortcutLabel:ke,keybindings:I,onActiveTerminalChange:we,onCloseTerminal:K,onHeightChange:W,onAddTerminalContext:J}),e[66]=we,e[67]=J,e[68]=K,e[69]=H,e[70]=ue,e[71]=L,e[72]=oe,e[73]=I,e[74]=fe,e[75]=W,e[76]=V,e[77]=Ee,e[78]=De,e[79]=Oe,e[80]=ke,e[81]=j.activeTerminalGroupId,e[82]=j.activeTerminalId,e[83]=j.runningTerminalIds,e[84]=j.terminalGroups,e[85]=j.terminalHeight,e[86]=j.terminalIds,e[87]=v,e[88]=Ae):Ae=e[88],Ae}function mo(){}function ho(){}function go(e){return e+1}function _o(e){return e.closeTerminal}function vo(e){return e.setActiveTerminal}function yo(e){return e.newTerminal}function bo(e){return e.splitTerminal}function xo(e){return e.setTerminalHeight}function So(e){return e.setTerminalOpen}function Co(e){let t=[],n=new Set(e.openedPanelModes);n.has(`files`)&&t.push({key:`files`,label:`Files`,mode:`files`}),n.has(`review`)&&t.push({key:`review`,label:`Review`,mode:`review`}),n.has(`terminal`)&&t.push({key:`terminal`,label:`Terminal`,mode:`terminal`});let r=e.activeAgentKey?e.subagents.some(t=>t.key===e.activeAgentKey)?e.subagents:[...e.subagents,{key:e.activeAgentKey,name:`Subagent`,status:`idle`,detail:null,startedAt:``,updatedAt:``,entries:[]}]:[];for(let e of r)t.push({key:e.key,label:e.name,mode:`agent`,agentKey:e.key,status:e.status});return t}function wo(e){let t=(0,wi.c)(21),n=e.icon,r=e.disabled,i=e.onClick,a=e.disabled?`cursor-not-allowed opacity-45`:`hover:border-border hover:bg-card/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,o;t[0]===a?o=t[1]:(o=y(`group flex min-h-32 w-full flex-col items-center justify-center rounded-lg border border-border/50 bg-card/35 px-5 py-6 text-center transition-colors`,a),t[0]=a,t[1]=o);let s=!e.disabled&&`group-hover:text-foreground`,c;t[2]===s?c=t[3]:(c=y(`size-6 text-muted-foreground transition-colors`,s),t[2]=s,t[3]=c);let l;t[4]!==n||t[5]!==c?(l=(0,Q.jsx)(n,{className:c}),t[4]=n,t[5]=c,t[6]=l):l=t[6];let u;t[7]===e.label?u=t[8]:(u=(0,Q.jsx)(`span`,{className:`mt-4 text-base font-semibold text-foreground`,children:e.label}),t[7]=e.label,t[8]=u);let d;t[9]===e.description?d=t[10]:(d=(0,Q.jsx)(`span`,{className:`mt-1 text-sm text-muted-foreground`,children:e.description}),t[9]=e.description,t[10]=d);let f;t[11]===e.shortcutLabel?f=t[12]:(f=e.shortcutLabel?(0,Q.jsx)(`span`,{className:`mt-3 rounded-md bg-muted px-1.5 py-0.5 font-medium text-[11px] text-muted-foreground`,children:e.shortcutLabel}):null,t[11]=e.shortcutLabel,t[12]=f);let p;return t[13]!==e.disabled||t[14]!==e.onClick||t[15]!==o||t[16]!==l||t[17]!==u||t[18]!==d||t[19]!==f?(p=(0,Q.jsxs)(`button`,{type:`button`,disabled:r,onClick:i,className:o,children:[l,u,d,f]}),t[13]=e.disabled,t[14]=e.onClick,t[15]=o,t[16]=l,t[17]=u,t[18]=d,t[19]=f,t[20]=p):p=t[20],p}function To(e){let t=(0,wi.c)(55),n=l(),r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={key:`files`,label:`Files`,mode:`files`},t[0]=r):r=t[0];let i=r,a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a={key:`review`,label:`Review`,mode:`review`},t[1]=a):a=t[1];let o=a,s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s={key:`terminal`,label:`Terminal`,mode:`terminal`},t[2]=s):s=t[2];let c=s,u;t[3]===n?u=t[4]:(u=Mt(n,`workspace.files`),t[3]=n,t[4]=u);let d=u,f;t[5]===n?f=t[6]:(f=Mt(n,`workspace.review`),t[5]=n,t[6]=f);let p=f,m;t[7]===n?m=t[8]:(m=Mt(n,`workspace.terminal`),t[7]=n,t[8]=m);let h=m,g,_,v,b,x,S,C,w,T,E;if(t[9]!==d||t[10]!==e||t[11]!==p||t[12]!==h){let n=e.tabs.filter(Eo);g=Nt,S=`h-full`,x=`flex min-h-full items-center justify-center p-5 sm:p-6`,C=`w-full max-w-lg space-y-4`;let r;t[23]===e?r=t[24]:(r=()=>e.onSelectTab(i),t[23]=e,t[24]=r),t[25]!==d||t[26]!==r?(w=(0,Q.jsx)(wo,{label:`Files`,description:`Browse project files`,icon:ie,shortcutLabel:d,onClick:r}),t[25]=d,t[26]=r,t[27]=w):w=t[27],t[28]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Q.jsx)(wo,{label:`Side chat`,description:`Start a side conversation`,icon:Bt,disabled:!0}),E=(0,Q.jsx)(wo,{label:`Browser`,description:`Open a website`,icon:me,disabled:!0}),t[28]=T,t[29]=E):(T=t[28],E=t[29]);let a;t[30]===e?a=t[31]:(a=()=>e.onSelectTab(o),t[30]=e,t[31]=a),t[32]!==p||t[33]!==a?(_=(0,Q.jsx)(wo,{label:`Review`,description:`View code changes`,icon:zt,shortcutLabel:p,onClick:a}),t[32]=p,t[33]=a,t[34]=_):_=t[34];let s;t[35]===e?s=t[36]:(s=()=>e.onSelectTab(c),t[35]=e,t[36]=s),t[37]!==s||t[38]!==h?(v=(0,Q.jsx)(wo,{label:`Terminal`,description:`Start an interactive shell`,icon:F,shortcutLabel:h,onClick:s}),t[37]=s,t[38]=h,t[39]=v):v=t[39],b=n.length>0?(0,Q.jsx)(`div`,{className:`space-y-2 pt-1`,children:n.map(t=>(0,Q.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-center gap-3 rounded-lg border border-border/50 bg-card/35 px-4 py-3 text-left transition-colors hover:border-border hover:bg-card/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>e.onSelectTab(t),children:[(0,Q.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg border border-border/50 bg-background/50 text-muted-foreground`,children:(0,Q.jsx)(W,{className:`size-4`})}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`span`,{className:y(`block truncate text-sm font-medium`,oe(ro(t.status))),style:se(t.label,{durationSeconds:2.2}),children:t.label}),(0,Q.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:io(t.status)})]})]},t.key))}):null,t[9]=d,t[10]=e,t[11]=p,t[12]=h,t[13]=g,t[14]=_,t[15]=v,t[16]=b,t[17]=x,t[18]=S,t[19]=C,t[20]=w,t[21]=T,t[22]=E}else g=t[13],_=t[14],v=t[15],b=t[16],x=t[17],S=t[18],C=t[19],w=t[20],T=t[21],E=t[22];let D;t[40]!==_||t[41]!==v||t[42]!==b||t[43]!==C||t[44]!==w||t[45]!==T||t[46]!==E?(D=(0,Q.jsxs)(`div`,{className:C,children:[w,T,E,_,v,b]}),t[40]=_,t[41]=v,t[42]=b,t[43]=C,t[44]=w,t[45]=T,t[46]=E,t[47]=D):D=t[47];let O;t[48]!==x||t[49]!==D?(O=(0,Q.jsx)(`div`,{className:x,children:D}),t[48]=x,t[49]=D,t[50]=O):O=t[50];let k;return t[51]!==g||t[52]!==S||t[53]!==O?(k=(0,Q.jsx)(g,{className:S,children:O}),t[51]=g,t[52]=S,t[53]=O,t[54]=k):k=t[54],k}function Eo(e){return e.mode===`agent`}function Do(e){let t=(0,wi.c)(88),{onClosePanelTab:n}=e,r=ot(),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={strict:!1},t[0]=i):i=t[0];let a=st(i),o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o={strict:!1,select:No},t[1]=o):o=t[1];let s=_t(o),c;t[2]===a?c=t[3]:(c=lt(a),t[2]=a,t[3]=c);let l=c,u;t[4]===l?u=t[5]:(u=At(l),t[4]=l,t[5]=u);let d=f(u),p;t[6]===d?.activities?p=t[7]:(p=()=>Ie(d?.activities??[]),t[6]=d?.activities,t[7]=p),d?.activities;let m;t[8]===p?m=t[9]:(m=p(),t[8]=p,t[9]=m);let h=m,g=s.workspaceTab===`agent`&&s.workspaceAgentKey?s.workspaceAgentKey:null,_;t[10]!==g||t[11]!==h?(_=Ye(h,g),t[10]=g,t[11]=h,t[12]=_):_=t[12];let v=_,S;t[13]!==e.panelMode||t[14]!==s?(S=bt(s)??e.panelMode,t[13]=e.panelMode,t[14]=s,t[15]=S):S=t[15];let w=S,E;bb0:{if(w===`files`||w===`review`||w===`terminal`){let n;t[16]!==w||t[17]!==e.openedPanelModes?(n=e.openedPanelModes.includes(w)?e.openedPanelModes:[...e.openedPanelModes,w],t[16]=w,t[17]=e.openedPanelModes,t[18]=n):n=t[18],E=n;break bb0}E=e.openedPanelModes}let D=E,O;t[19]!==g||t[20]!==D||t[21]!==h?(O=Co({subagents:h,activeAgentKey:g,openedPanelModes:D}),t[19]=g,t[20]=D,t[21]=h,t[22]=O):O=t[22];let k=O,j=w===`agent`?g:w,ee;t[23]!==r||t[24]!==a.draftId||t[25]!==l?(ee=e=>{if(a.draftId){r({to:`/draft/$draftId`,params:{draftId:A.make(a.draftId)},replace:!0,search:e});return}l&&r({to:`/$environmentId/$threadId`,params:ct(l),replace:!0,search:e})},t[23]=r,t[24]=a.draftId,t[25]=l,t[26]=ee):ee=t[26];let M=ee,N;t[27]===M?N=t[28]:(N=e=>{if(e.mode===`review`){M(Mo);return}if(e.mode===`files`){M(jo);return}if(e.mode===`terminal`){M(Ao);return}e.mode===`agent`&&M(t=>mt(t,e.agentKey))},t[27]=M,t[28]=N);let P=N,te;t[29]===M?te=t[30]:(te=()=>{M(ko)},t[29]=M,t[30]=te);let ne=te,re;t[31]===n?re=t[32]:(re=e=>{n({mode:e.mode,...e.mode===`agent`?{agentKey:e.agentKey}:{}})},t[31]=n,t[32]=re);let F=re,ie;t[33]!==P||t[34]!==k?(ie=(e,t)=>{let n=k.findIndex(t=>t.key===e.key);if(n<0)return;let r=e=>{let t=k[(e+k.length)%k.length];t&&P(t)};switch(t.key){case`ArrowRight`:case`ArrowDown`:t.preventDefault(),r(n+1);return;case`ArrowLeft`:case`ArrowUp`:t.preventDefault(),r(n-1);return;case`Home`:t.preventDefault(),r(0);return;case`End`:t.preventDefault(),r(k.length-1);return}},t[33]=P,t[34]=k,t[35]=ie):ie=t[35];let I=ie,ae;t[36]===M?ae=t[37]:(ae=()=>{M(Oo)},t[36]=M,t[37]=ae);let ce=ae,L;if(t[38]!==j||t[39]!==F||t[40]!==I||t[41]!==P||t[42]!==k){let e;t[44]!==j||t[45]!==F||t[46]!==I||t[47]!==P?(e=e=>{let t=j===e.key;return(0,Q.jsxs)(`div`,{className:y(`flex h-8 min-w-0 shrink-0 items-center rounded-md text-sm transition-colors`,t?`bg-muted text-foreground`:`text-muted-foreground hover:bg-muted/60 hover:text-foreground`),children:[(0,Q.jsxs)(`button`,{type:`button`,id:oo(e.key),role:`tab`,"aria-selected":t,"aria-controls":so(e.key),tabIndex:t?0:-1,className:`flex h-full min-w-0 items-center gap-1.5 pl-2.5 pr-1`,onClick:()=>P(e),onKeyDown:t=>I(e,t),children:[(0,Q.jsx)(co,{tab:e,active:t}),(0,Q.jsx)(`span`,{className:y(`max-w-32 truncate`,e.mode===`agent`&&oe(ro(e.status))),style:e.mode===`agent`?se(e.label,{durationSeconds:2.2}):void 0,children:e.label})]}),(0,Q.jsx)(`button`,{type:`button`,className:`mr-1 flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground/60 transition-colors hover:bg-background/60 hover:text-foreground`,"aria-label":`Close ${e.label} tab`,onClick:()=>F(e),children:(0,Q.jsx)(kt,{className:`size-3`})})]},e.key)},t[44]=j,t[45]=F,t[46]=I,t[47]=P,t[48]=e):e=t[48],L=k.map(e),t[38]=j,t[39]=F,t[40]=I,t[41]=P,t[42]=k,t[43]=L}else L=t[43];let le=!w&&`bg-muted text-foreground`,ue;t[49]===le?ue=t[50]:(ue=y(`flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground/70 transition-colors hover:bg-muted/60 hover:text-foreground`,le),t[49]=le,t[50]=ue);let de=!w,fe;t[51]!==ne||t[52]!==ue||t[53]!==de?(fe=(0,Q.jsx)(`button`,{type:`button`,className:ue,"aria-label":`Workspace launcher`,"aria-pressed":de,onClick:ne}),t[51]=ne,t[52]=ue,t[53]=de,t[54]=fe):fe=t[54];let pe;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,Q.jsx)(Dt,{className:`size-3.5`}),t[55]=pe):pe=t[55];let me;t[56]===fe?me=t[57]:(me=(0,Q.jsx)(b,{render:fe,children:pe}),t[56]=fe,t[57]=me);let he;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,Q.jsx)(T,{side:`bottom`,children:`Workspace launcher`}),t[58]=he):he=t[58];let R;t[59]===me?R=t[60]:(R=(0,Q.jsxs)(x,{children:[me,he]}),t[59]=me,t[60]=R);let ge;t[61]!==L||t[62]!==R?(ge=(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1 overflow-x-auto`,role:`tablist`,"aria-label":`Workspace tabs`,children:[L,R]}),t[61]=L,t[62]=R,t[63]=ge):ge=t[63];let _e;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,Q.jsx)(kt,{className:`size-3.5`}),t[64]=_e):_e=t[64];let z;t[65]===ce?z=t[66]:(z=(0,Q.jsx)(C,{size:`icon-xs`,variant:`ghost`,className:`shrink-0 text-muted-foreground/70 hover:text-foreground`,onClick:ce,"aria-label":`Close workspace panel`,children:_e}),t[65]=ce,t[66]=z);let ve;t[67]!==ge||t[68]!==z?(ve=(0,Q.jsxs)(`div`,{className:`flex h-12 shrink-0 items-center gap-1 border-b border-border bg-card/40 px-2`,children:[ge,z]}),t[67]=ge,t[68]=z,t[69]=ve):ve=t[69];let ye;t[70]===j?ye=t[71]:(ye=so(j),t[70]=j,t[71]=ye);let be;t[72]===j?be=t[73]:(be=j?oo(j):void 0,t[72]=j,t[73]=be);let xe;t[74]!==v||t[75]!==w||t[76]!==g||t[77]!==e.mode||t[78]!==P||t[79]!==k?(xe=w===`review`?(0,Q.jsx)(aa,{mode:e.mode}):w===`files`?(0,Q.jsx)(Ga,{mode:e.mode}):w===`terminal`?(0,Q.jsx)(po,{}):w===`agent`?(0,Q.jsx)(uo,{subagent:v,agentKey:g}):(0,Q.jsx)(To,{tabs:k,onSelectTab:P}),t[74]=v,t[75]=w,t[76]=g,t[77]=e.mode,t[78]=P,t[79]=k,t[80]=xe):xe=t[80];let Se;t[81]!==ye||t[82]!==be||t[83]!==xe?(Se=(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,id:ye,role:`tabpanel`,"aria-labelledby":be,children:xe}),t[81]=ye,t[82]=be,t[83]=xe,t[84]=Se):Se=t[84];let B;return t[85]!==ve||t[86]!==Se?(B=(0,Q.jsxs)(`div`,{className:`flex h-full min-w-0 flex-1 flex-col bg-background w-full`,children:[ve,Se]}),t[85]=ve,t[86]=Se,t[87]=B):B=t[87],B}function Oo(e){return{...ht(e),diff:void 0,diffTurnId:void 0,diffFilePath:void 0,preview:void 0,workspaceOpen:void 0,workspaceTab:void 0,workspaceAgentKey:void 0}}function ko(e){return dt(e)}function Ao(e){return yt(e)}function jo(e){return ut(e)}function Mo(e){return gt(e)}function No(e){return vt(e)}export{Do as default};
165
+ `;function Ra(e,t){let n=Math.max(Na,Math.floor(t*Fa));return Math.max(Na,Math.min(e,n))}function za(e,t,n){let r=e.startX-n;return Ra(e.startWidth+r,t)}function Ba(e){if(!e)return!1;let t=e.toLowerCase();return t.includes(`enoent`)||t.includes(`no such file`)||t.includes(`file not found`)||t.includes(`cannot find the file`)}function Va(e,t){return`preview:${e}:${t.length}:${Oe(t).toString(36)}`}var Ha=[];function Ua(e){let t=(0,wi.c)(24),[n,r]=(0,$.useState)(e.open),i,a;t[0]===e.open?(i=t[1],a=t[2]):(i=()=>{if(!e.open){r(!1);return}let t=window.requestAnimationFrame(()=>r(!0));return()=>window.cancelAnimationFrame(t)},a=[e.open],t[0]=e.open,t[1]=i,t[2]=a),(0,$.useEffect)(i,a);let o=e.open&&n,s=e.open?void 0:!0,c=e.open?void 0:!0,l=e.open?`border-l border-border/70`:`border-l-0`,u=e.resizing?`transition-none`:`transition-[width,opacity] duration-[360ms] ease-[cubic-bezier(0.16,1,0.3,1)] motion-reduce:transition-none`,d=e.open?`opacity-100`:`opacity-0`,f;t[3]!==l||t[4]!==u||t[5]!==d?(f=y(`min-h-0 shrink-0 overflow-hidden bg-card/20`,l,u,d),t[3]=l,t[4]=u,t[5]=d,t[6]=f):f=t[6];let p=e.open?`${e.width}px`:`0px`,m;t[7]===p?m=t[8]:(m={width:p,maxWidth:`55%`},t[7]=p,t[8]=m);let h=e.resizing?`transition-none`:null,g=o?`translate-x-0 opacity-100`:`translate-x-4 opacity-0`,_;t[9]!==h||t[10]!==g?(_=y(`h-full min-h-0 transition-[translate,opacity] duration-[360ms] ease-[cubic-bezier(0.16,1,0.3,1)] will-change-transform motion-reduce:transition-none`,h,g),t[9]=h,t[10]=g,t[11]=_):_=t[11];let v=`${e.width}px`,b;t[12]===v?b=t[13]:(b={width:v,maxWidth:`100%`},t[12]=v,t[13]=b);let x;t[14]!==e.children||t[15]!==_||t[16]!==b?(x=(0,Q.jsx)(`div`,{className:_,style:b,children:e.children}),t[14]=e.children,t[15]=_,t[16]=b,t[17]=x):x=t[17];let S;return t[18]!==x||t[19]!==s||t[20]!==c||t[21]!==f||t[22]!==m?(S=(0,Q.jsx)(`div`,{"data-preview-file-rail":!0,"aria-hidden":s,inert:c,className:f,style:m,children:x}),t[18]=x,t[19]=s,t[20]=c,t[21]=f,t[22]=m,t[23]=S):S=t[23],S}function Wa(){let e=(0,wi.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(Et,{className:`size-8 text-muted-foreground/65`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center`,children:(0,Q.jsxs)(`div`,{className:`flex max-w-xs flex-col items-center gap-3`,children:[t,(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`div`,{className:`text-sm font-semibold text-foreground`,children:`Open file`}),(0,Q.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground/70`,children:`Select a file from the workspace tree.`})]})]})}),e[1]=n):n=e[1],n}function Ga(e){let t=(0,wi.c)(171),{mode:n}=e,i=n===void 0?`inline`:n,{resolvedTheme:a}=Pt(),o=l(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={strict:!1,select:no},t[0]=s):s=t[0];let c=st(s),u;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(u={strict:!1,select:to},t[1]=u):u=t[1];let d=st(u),m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m={strict:!1,select:eo},t[2]=m):m=t[2];let h=_t(m),_;t[3]===c?_=t[4]:(_=At(c),t[3]=c,t[4]=_);let v=f(_),b;t[5]!==d||t[6]!==c||t[7]!==v?(b=e=>v?null:d?e.getDraftSession(d):c?e.getDraftThreadByRef(c):null,t[5]=d,t[6]=c,t[7]=v,t[8]=b):b=t[8];let x=D(b),S;bb0:{if(v){let e;t[9]!==v.environmentId||t[10]!==v.id||t[11]!==v.projectId||t[12]!==v.turnDiffSummaries||t[13]!==v.worktreePath?(e={id:v.id,environmentId:v.environmentId,projectId:v.projectId,worktreePath:v.worktreePath,turnDiffSummaries:v.turnDiffSummaries},t[9]=v.environmentId,t[10]=v.id,t[11]=v.projectId,t[12]=v.turnDiffSummaries,t[13]=v.worktreePath,t[14]=e):e=t[14],S=e;break bb0}if(x){let e;t[15]!==x.environmentId||t[16]!==x.projectId||t[17]!==x.threadId||t[18]!==x.worktreePath?(e={id:x.threadId,environmentId:x.environmentId,projectId:x.projectId,worktreePath:x.worktreePath,turnDiffSummaries:Ha},t[15]=x.environmentId,t[16]=x.projectId,t[17]=x.threadId,t[18]=x.worktreePath,t[19]=e):e=t[19],S=e;break bb0}S=void 0}let w=S,T=w?.projectId??null,E;t[20]!==T||t[21]!==w?(E=e=>w&&T?p(e,{environmentId:w.environmentId,projectId:T}):void 0,t[20]=T,t[21]=w,t[22]=E):E=t[22];let k=f(E),A=w?.worktreePath??k?.cwd??null,[M,N]=(0,$.useState)(null),[P,te]=(0,$.useState)(``),[F,I]=(0,$.useState)(!0),[L,ae]=(0,$.useState)(o.diffWordWrap),oe=(0,$.useRef)(null),[se,ce]=(0,$.useState)($a),[ue,de]=(0,$.useState)(!1),fe=(0,$.useRef)(null),pe=(0,$.useRef)(h.preview===`1`),me=(0,$.useRef)(null),he=(0,$.useRef)(null),R=(0,$.useRef)(null),ge,_e;t[23]===o.diffWordWrap?(ge=t[24],_e=t[25]):(_e=()=>{ae(o.diffWordWrap)},ge=[o.diffWordWrap],t[23]=o.diffWordWrap,t[24]=ge,t[25]=_e),(0,$.useEffect)(_e,ge);let z;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(z=()=>{N(null),I(!0)},t[26]=z):z=t[26];let ve=w?.environmentId,ye=w?.id,be;t[27]!==ve||t[28]!==ye?(be=[ve,ye],t[27]=ve,t[28]=ye,t[29]=be):be=t[29],(0,$.useEffect)(z,be),w?.turnDiffSummaries;let xe;t[30]===w?.turnDiffSummaries?xe=t[31]:(xe=(w?.turnDiffSummaries??[]).toReversed().find(Qa),t[30]=w?.turnDiffSummaries,t[31]=xe);let Se=xe,B=Se?`${Se.turnId}:${Se.completedAt}`:null,V;t[32]!==w?.turnDiffSummaries||t[33]!==M?(V=()=>{if(!M)return null;let e=(w?.turnDiffSummaries??[]).toReversed().find(e=>e.files.some(e=>e.path===M));return e?`${e.turnId}:${e.completedAt}`:null},t[32]=w?.turnDiffSummaries,t[33]=M,t[34]=V):V=t[34],w?.turnDiffSummaries;let Ce=V(),H=w?.environmentId??null,U;t[35]!==A||t[36]!==H?(U=[`projects`,`listEntries`,H,A],t[35]=A,t[36]=H,t[37]=U):U=t[37];let we;t[38]!==A||t[39]!==w?(we=async()=>{if(!w?.environmentId||!A)throw Error(`Project tree is unavailable.`);return g(w.environmentId).projects.listEntries({cwd:A})},t[38]=A,t[39]=w,t[40]=we):we=t[40];let Te=!!(w?.environmentId&&A&&h.preview===`1`),W;t[41]!==U||t[42]!==we||t[43]!==Te?(W={queryKey:U,queryFn:we,enabled:Te,retry:1,select:Xa},t[41]=U,t[42]=we,t[43]=Te,t[44]=W):W=t[44];let G=le(W),K=G.error instanceof Error?G.error.message:G.error?`Failed to load the workspace tree.`:null,q=G.data,J=G.data?.truncated===!0,Ee=G.isFetching,De=G.refetch;q?.entries;let Oe;t[45]===q?.entries?Oe=t[46]:(Oe=q?.entries??[],t[45]=q?.entries,t[46]=Oe);let ke;t[47]!==P||t[48]!==Oe?(ke=ja(Oe,P),t[47]=P,t[48]=Oe,t[49]=ke):ke=t[49];let Ae=ke,je;t[50]===P?je=t[51]:(je=P.trim(),t[50]=P,t[51]=je);let Ne=je.length>0,Pe,Ie;t[52]!==q||t[53]!==M?(Pe=()=>{if(q){if(q.entries.length===0){N(null);return}M&&!q.entries.some(e=>e.path===M)&&N(null)}},Ie=[q,M],t[52]=q,t[53]=M,t[54]=Pe,t[55]=Ie):(Pe=t[54],Ie=t[55]),(0,$.useEffect)(Pe,Ie);let Le,Re;t[56]!==B||t[57]!==h.preview||t[58]!==De?(Le=()=>{if(h.preview!==`1`){me.current=B;return}if(me.current===null){me.current=B;return}me.current!==B&&(me.current=B,De())},Re=[B,h.preview,De],t[56]=B,t[57]=h.preview,t[58]=De,t[59]=Le,t[60]=Re):(Le=t[59],Re=t[60]),(0,$.useEffect)(Le,Re);let ze,Be;t[61]===h.preview?(ze=t[62],Be=t[63]):(ze=()=>{let e=h.preview===`1`;e&&!pe.current&&N(null),pe.current=e},Be=[h.preview],t[61]=h.preview,t[62]=ze,t[63]=Be),(0,$.useEffect)(ze,Be);let Ve=M?q?.entries.find(e=>e.path===M):void 0,He=typeof Ve?.sizeBytes==`number`?Ea(Ve.sizeBytes):null,Ue=w?.environmentId??null,We;t[64]!==A||t[65]!==M||t[66]!==Ue?(We=[`projects`,`readFile`,Ue,A,M],t[64]=A,t[65]=M,t[66]=Ue,t[67]=We):We=t[67];let Ge;t[68]!==A||t[69]!==w||t[70]!==M?(Ge=async()=>{if(!w?.environmentId||!A||!M)throw Error(`File preview is unavailable.`);return g(w.environmentId).projects.readFile({cwd:A,relativePath:M})},t[68]=A,t[69]=w,t[70]=M,t[71]=Ge):Ge=t[71];let Ke=!!(w?.environmentId&&A&&M&&h.preview===`1`&&(He?.shouldFetch??!0)),qe;t[72]!==We||t[73]!==Ge||t[74]!==Ke?(qe={queryKey:We,queryFn:Ge,enabled:Ke,retry:1},t[72]=We,t[73]=Ge,t[74]=Ke,t[75]=qe):qe=t[75];let Je=le(qe),Ye=Je.data?.relativePath===M?Je.data:null,Y=Ye,Xe=Y?.mimeType??Ve?.mimeType??null,X=M?Ta({filePath:M,mimeType:Xe}):`text`,Ze=Je.error instanceof Error?Je.error.message:Je.error?`Failed to load file preview.`:null,$e=Je.refetch,tt,nt;t[76]!==Ce||t[77]!==h.preview||t[78]!==$e||t[79]!==M?(tt=()=>{if(!M||h.preview!==`1`){he.current=Ce;return}if(he.current===null){he.current=Ce;return}he.current!==Ce&&(he.current=Ce,$e())},nt=[Ce,h.preview,$e,M],t[76]=Ce,t[77]=h.preview,t[78]=$e,t[79]=M,t[80]=tt,t[81]=nt):(tt=t[80],nt=t[81]),(0,$.useEffect)(tt,nt);let rt,Z;t[82]!==A||t[83]!==De||t[84]!==Ze||t[85]!==M?(rt=()=>{if(!M||!Ba(Ze)){R.current=null;return}let e=`${A??``}\u0000${M}\u0000${Ze}`;R.current!==e&&(R.current=e,De().then(e=>{e.data?.entries.some(e=>e.path===M)||N(e=>e===M?null:e)}).catch(Ya))},Z=[A,De,Ze,M],t[82]=A,t[83]=De,t[84]=Ze,t[85]=M,t[86]=rt,t[87]=Z):(rt=t[86],Z=t[87]),(0,$.useEffect)(rt,Z),Y?.contents;let it;bb1:{let e=Y?.contents;if(!M||X!==`text`||e===void 0){it=null;break bb1}let n;t[88]===M?n=t[89]:(n=wa(M),t[88]=M,t[89]=n);let r;t[90]!==e||t[91]!==M?(r=Va(M,e),t[90]=e,t[91]=M,t[92]=r):r=t[92];let i;t[93]!==e||t[94]!==M||t[95]!==n||t[96]!==r?(i={name:M,contents:e,lang:n,cacheKey:r},t[93]=e,t[94]=M,t[95]=n,t[96]=r,t[97]=i):i=t[97],it=i}let at=it,ot;t[98]!==F||t[99]!==se?(ot=e=>{if(e.button!==0||!F)return;let t=oe.current?.querySelector(`[data-preview-file-rail]`)?.getBoundingClientRect().width??se;fe.current={pointerId:e.pointerId,startWidth:t,startX:e.clientX},e.currentTarget.setPointerCapture(e.pointerId),de(!0),document.body.style.cursor=`ew-resize`,document.body.style.userSelect=`none`},t[98]=F,t[99]=se,t[100]=ot):ot=t[100];let ct=ot,lt;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(lt=e=>{let t=fe.current,n=oe.current;!t||!n||t.pointerId!==e.pointerId||(e.preventDefault(),ce(za(t,n.clientWidth,e.clientX)))},t[101]=lt):lt=t[101];let ut=lt,dt;t[102]===Symbol.for(`react.memo_cache_sentinel`)?(dt=e=>{let t=fe.current;if(!t||t.pointerId!==e.pointerId)return;let n=oe.current,i=n?za(t,n.clientWidth,e.clientX):t.startWidth;fe.current=null,de(!1),ce(i),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),document.body.style.removeProperty(`cursor`),document.body.style.removeProperty(`user-select`),typeof window<`u`&&O(Ma,i,r)},t[102]=dt):dt=t[102];let ft=dt,pt;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(pt=[],t[103]=pt):pt=t[103],(0,$.useEffect)(qa,pt);let mt;t[104]===De?mt=t[105]:(mt=()=>{De()},t[104]=De,t[105]=mt);let ht=mt,gt;t[106]===F?gt=t[107]:(gt=()=>{F&&(fe.current=null,de(!1),document.body.style.removeProperty(`cursor`),document.body.style.removeProperty(`user-select`)),I(Ka)},t[106]=F,t[107]=gt);let vt=gt,yt;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(yt=(0,Q.jsx)(`div`,{className:`truncate text-sm font-medium text-foreground`,children:`File Preview`}),t[108]=yt):yt=t[108];let bt;t[109]===Symbol.for(`react.memo_cache_sentinel`)?(bt=(0,Q.jsx)(`span`,{children:`Workspace tree`}),t[109]=bt):bt=t[109];let xt;t[110]===J?xt=t[111]:(xt=J?(0,Q.jsx)(re,{variant:`warning`,size:`sm`,className:`rounded-md px-1.5 py-0 text-[9px]`,children:`Truncated`}):null,t[110]=J,t[111]=xt);let Ct;t[112]===xt?Ct=t[113]:(Ct=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 px-1 [-webkit-app-region:no-drag]`,children:[yt,(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] uppercase tracking-[0.12em] text-muted-foreground/65`,children:[bt,xt]})]}),t[112]=xt,t[113]=Ct);let Et=F?`Hide workspace tree`:`Show workspace tree`,Dt=F?`Hide workspace tree`:`Show workspace tree`,kt;t[114]===F?kt=t[115]:(kt=F?(0,Q.jsx)(Ht,{className:`size-3`}):(0,Q.jsx)(Ut,{className:`size-3`}),t[114]=F,t[115]=kt);let jt;t[116]!==F||t[117]!==vt||t[118]!==Et||t[119]!==Dt||t[120]!==kt?(jt=(0,Q.jsx)(C,{"aria-label":Et,"aria-pressed":F,title:Dt,variant:`outline`,size:`icon-xs`,className:`shrink-0`,onClick:vt,children:kt}),t[116]=F,t[117]=vt,t[118]=Et,t[119]=Dt,t[120]=kt,t[121]=jt):jt=t[121];let Mt=!w?.environmentId||!A||Ee,Nt=Ee&&`animate-spin`,Ft;t[122]===Nt?Ft=t[123]:(Ft=y(`size-3`,Nt),t[122]=Nt,t[123]=Ft);let It;t[124]===Ft?It=t[125]:(It=(0,Q.jsx)(Ot,{className:Ft}),t[124]=Ft,t[125]=It);let Lt;t[126]!==ht||t[127]!==Mt||t[128]!==It?(Lt=(0,Q.jsx)(C,{"aria-label":`Refresh workspace tree`,title:`Refresh workspace tree`,variant:`outline`,size:`icon-xs`,className:`shrink-0`,disabled:Mt,onClick:ht,children:It}),t[126]=ht,t[127]=Mt,t[128]=It,t[129]=Lt):Lt=t[129];let Rt=L?`Disable preview line wrapping`:`Enable preview line wrapping`,zt=L?`Disable line wrapping`:`Enable line wrapping`,Bt,Vt;t[130]===Symbol.for(`react.memo_cache_sentinel`)?(Bt=e=>{ae(!!e)},Vt=(0,Q.jsx)(Kt,{className:`size-3`}),t[130]=Bt,t[131]=Vt):(Bt=t[130],Vt=t[131]);let Wt;t[132]!==Rt||t[133]!==zt||t[134]!==L?(Wt=(0,Q.jsx)(Tt,{"aria-label":Rt,title:zt,variant:`outline`,size:`xs`,pressed:L,onPressedChange:Bt,children:Vt}),t[132]=Rt,t[133]=zt,t[134]=L,t[135]=Wt):Wt=t[135];let Gt;t[136]!==jt||t[137]!==Lt||t[138]!==Wt?(Gt=(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 [-webkit-app-region:no-drag]`,children:[jt,Lt,Wt]}),t[136]=jt,t[137]=Lt,t[138]=Wt,t[139]=Gt):Gt=t[139];let qt;t[140]!==Ct||t[141]!==Gt?(qt=(0,Q.jsxs)(Q.Fragment,{children:[Ct,Gt]}),t[140]=Ct,t[141]=Gt,t[142]=qt):qt=t[142];let Jt=qt,Yt;t[143]!==w||t[144]!==P||t[145]!==Ae||t[146]!==Ne||t[147]!==ue||t[148]!==F||t[149]!==ct||t[150]!==at||t[151]!==K||t[152]!==G.data||t[153]!==G.isLoading||t[154]!==J||t[155]!==a||t[156]!==Y||t[157]!==Ye||t[158]!==Ze||t[159]!==X||t[160]!==Xe||t[161]!==M||t[162]!==Je.isLoading||t[163]!==He||t[164]!==se||t[165]!==L?(Yt=w?G.isLoading&&!G.data?(0,Q.jsx)(Me,{label:`Loading project tree...`}):K&&!G.data?(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:K}):(G.data?.entries.length??0)===0?(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`No project files available yet.`}):(0,Q.jsxs)(`div`,{ref:oe,className:`flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:[(0,Q.jsx)(`div`,{"data-preview-content-panel":!0,className:`flex min-h-0 min-w-0 flex-1 flex-col transition-[min-width] duration-[320ms] ease-[cubic-bezier(0.16,1,0.3,1)] motion-reduce:transition-none`,children:M?He?.state===`too-large`?(0,Q.jsxs)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:[`File is too large to preview (`,He.sizeBytes,` bytes). Limit is`,` `,He.limitBytes,` bytes.`]}):Je.isLoading&&!Ye?(0,Q.jsx)(Me,{label:`Loading file preview...`}):Ze?(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:Ze}):(0,Q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto p-2`,children:[(0,Q.jsx)(`style`,{children:Ia}),(0,Q.jsxs)(`div`,{className:`min-h-full overflow-hidden rounded-md border border-border/70 bg-[color:color-mix(in_srgb,var(--card)_90%,var(--background))]`,children:[(0,Q.jsx)(`div`,{className:`border-b border-border/70 bg-[color:color-mix(in_srgb,var(--card)_94%,var(--foreground))] px-3 py-2 text-foreground`,children:(0,Q.jsx)(`div`,{className:`truncate font-mono text-[12px] font-medium`,children:M})}),X===`image`&&Y?.base64?(0,Q.jsx)(`div`,{className:`flex min-h-0 justify-center overflow-auto bg-background/70 p-3`,children:(0,Q.jsx)(`img`,{alt:M,className:`max-h-full max-w-full object-contain`,src:`data:${Xe??`image/png`};base64,${Y.base64}`})}):at?(0,Q.jsx)(_i,{file:at,className:`preview-panel-diffs-file`,options:{disableFileHeader:!0,overflow:L?`wrap`:`scroll`,theme:et(a),themeType:a,unsafeCSS:La,tokenizeMaxLineLength:1e3}}):(0,Q.jsx)(`pre`,{className:y(`min-h-full bg-transparent p-3 font-mono text-[11px] leading-5 text-muted-foreground/90`,L?`overflow-auto whitespace-pre-wrap wrap-break-word`:`overflow-auto`),children:Y?.contents??``})]})]}):(0,Q.jsx)(Wa,{})}),(0,Q.jsx)(`button`,{type:`button`,"aria-label":`Resize workspace tree`,"aria-hidden":F?void 0:!0,className:y(`group relative shrink-0 overflow-hidden bg-background transition-[width,opacity,background-color] duration-[360ms] ease-[cubic-bezier(0.16,1,0.3,1)] hover:bg-accent/40 motion-reduce:transition-none`,F?`w-2 cursor-ew-resize opacity-100`:`w-0 opacity-0`),disabled:!F,onPointerDown:ct,onPointerMove:ut,onPointerUp:ft,onPointerCancel:ft,children:(0,Q.jsx)(`span`,{className:`absolute inset-y-0 left-1/2 w-px -translate-x-1/2 bg-border/80 group-hover:bg-border`})}),(0,Q.jsx)(Ua,{width:se,open:F,resizing:ue,children:(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,Q.jsx)(`div`,{className:`shrink-0 border-b border-border/60 p-2`,children:(0,Q.jsxs)(`label`,{className:`relative block`,children:[(0,Q.jsx)(ne,{className:`pointer-events-none absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground/65`}),(0,Q.jsx)(`input`,{type:`text`,value:P,onChange:e=>te(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(te(``),e.currentTarget.blur())},placeholder:`Filter files...`,"aria-label":`Filter files`,className:`h-8 w-full rounded-md border border-border/70 bg-background/65 pl-8 pr-3 text-xs text-foreground outline-none transition-[border-color,background-color,box-shadow] placeholder:text-muted-foreground/55 focus:border-ring/60 focus:bg-background focus:shadow-[0_0_0_3px_color-mix(in_srgb,var(--ring)_18%,transparent)]`})]})}),(0,Q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto p-2`,children:[K||J?(0,Q.jsxs)(ee,{variant:K?`error`:`warning`,className:`mb-2 rounded-lg border-border/70 px-3 py-2 text-[11px]`,children:[K?(0,Q.jsx)(St,{className:`size-3.5`}):(0,Q.jsx)(wt,{className:`size-3.5`}),(0,Q.jsx)(ie,{className:`text-[11px]`,children:K?`Workspace tree refresh failed`:`Workspace tree is truncated`}),(0,Q.jsx)(j,{className:`gap-1 text-[11px] leading-4`,children:K?(0,Q.jsx)(`span`,{children:K}):(0,Q.jsx)(`span`,{children:`Only the first indexed workspace entries are shown here, so some files may be omitted from preview.`})})]}):null,Ae.length===0?(0,Q.jsx)(`div`,{className:`px-2 py-6 text-center text-xs leading-5 text-muted-foreground/70`,children:`No files match this filter.`}):(0,Q.jsx)(Qe,{files:Ae,allDirectoriesExpanded:Ne,resolvedTheme:a,onSelectFile:N,selectedFilePath:M,showStats:!1})]})]})})]}):(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Select a thread to preview files.`}),t[143]=w,t[144]=P,t[145]=Ae,t[146]=Ne,t[147]=ue,t[148]=F,t[149]=ct,t[150]=at,t[151]=K,t[152]=G.data,t[153]=G.isLoading,t[154]=J,t[155]=a,t[156]=Y,t[157]=Ye,t[158]=Ze,t[159]=X,t[160]=Xe,t[161]=M,t[162]=Je.isLoading,t[163]=He,t[164]=se,t[165]=L,t[166]=Yt):Yt=t[166];let Xt;return t[167]!==Jt||t[168]!==i||t[169]!==Yt?(Xt=(0,Q.jsx)(Fe,{mode:i,header:Jt,children:Yt}),t[167]=Jt,t[168]=i,t[169]=Yt,t[170]=Xt):Xt=t[170],Xt}function Ka(e){return!e}function qa(){return Ja}function Ja(){document.body.style.removeProperty(`cursor`),document.body.style.removeProperty(`user-select`)}function Ya(){}function Xa(e){return{...e,entries:e.entries.toSorted(Za)}}function Za(e,t){return e.path.localeCompare(t.path,void 0,{numeric:!0,sensitivity:`base`})}function Qa(e){return e.files.length>0}function $a(){return typeof window>`u`?Pa:k(Ma,r)??Pa}function eo(e){return xt(e)}function to(e){return typeof e.draftId==`string`?A.make(e.draftId):null}function no(e){return lt(e)}function ro(e){return e===`running`?`in_progress`:e===`failed`?`review`:e===`finished`?`done`:`idle`}function io(e){return e===`running`?`Working`:e===`failed`?`Needs review`:e===`finished`?`Finished`:`Idle`}function ao(e){return encodeURIComponent(e??`none`).replace(/%/g,`_`)}function oo(e){return`thread-workspace-tab-${ao(e)}`}function so(e){return`thread-workspace-panel-${ao(e)}`}function co(e){let t=(0,wi.c)(10),n=e.active?`text-foreground`:`text-muted-foreground`,r;t[0]===n?r=t[1]:(r=y(`size-3.5 shrink-0`,n),t[0]=n,t[1]=r);let i=r;if(e.tab.mode===`agent`){let e;return t[2]===i?e=t[3]:(e=(0,Q.jsx)(W,{className:i}),t[2]=i,t[3]=e),e}if(e.tab.key===`review`){let e;return t[4]===i?e=t[5]:(e=(0,Q.jsx)(zt,{className:i}),t[4]=i,t[5]=e),e}if(e.tab.key===`terminal`){let e;return t[6]===i?e=t[7]:(e=(0,Q.jsx)(P,{className:i}),t[6]=i,t[7]=e),e}let a;return t[8]===i?a=t[9]:(a=(0,Q.jsx)(I,{className:i}),t[8]=i,t[9]=a),a}function lo(e){let t=(0,wi.c)(8),n;t[0]===e.agent.status?n=t[1]:(n=oe(ro(e.agent.status),`truncate`),t[0]=e.agent.status,t[1]=n);let r;t[2]===e.agent.name?r=t[3]:(r=L(e.agent.name,{durationSeconds:2.2}),t[2]=e.agent.name,t[3]=r);let i;return t[4]!==e.agent.name||t[5]!==n||t[6]!==r?(i=(0,Q.jsx)(`span`,{className:n,style:r,children:e.agent.name}),t[4]=e.agent.name,t[5]=n,t[6]=r,t[7]=i):i=t[7],i}function uo(e){let t=(0,wi.c)(30);if(!e.subagent){let n,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(`div`,{className:`mx-auto flex size-10 items-center justify-center rounded-md border border-border/70 bg-card/60 text-muted-foreground`,children:(0,Q.jsx)(Vt,{className:`size-4`})}),r=(0,Q.jsx)(`p`,{className:`mt-3 text-sm font-medium text-foreground`,children:`Subagent unavailable`}),i=(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-relaxed text-muted-foreground`,children:`This tab points to a subagent that is no longer present in the current thread activity.`}),t[0]=n,t[1]=r,t[2]=i):(n=t[0],r=t[1],i=t[2]);let a;t[3]===e.agentKey?a=t[4]:(a=e.agentKey?(0,Q.jsx)(`p`,{className:`mt-2 truncate font-mono text-[11px] text-muted-foreground/60`,children:e.agentKey}):null,t[3]=e.agentKey,t[4]=a);let o;return t[5]===a?o=t[6]:(o=(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center p-6 text-center`,children:(0,Q.jsxs)(`div`,{className:`max-w-72`,children:[n,r,i,a]})}),t[5]=a,t[6]=o),o}let n;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(W,{className:`size-4 shrink-0 text-muted-foreground`}),t[7]=n):n=t[7];let r;t[8]===e.subagent?r=t[9]:(r=(0,Q.jsx)(`p`,{className:`min-w-0 flex-1 text-sm font-medium`,children:(0,Q.jsx)(lo,{agent:e.subagent})}),t[8]=e.subagent,t[9]=r);let i;t[10]===e.subagent.status?i=t[11]:(i=io(e.subagent.status),t[10]=e.subagent.status,t[11]=i);let a;t[12]===i?a=t[13]:(a=(0,Q.jsx)(`span`,{className:`shrink-0 rounded-md border border-border/70 px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:i}),t[12]=i,t[13]=a);let o;t[14]!==r||t[15]!==a?(o=(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[n,r,a]}),t[14]=r,t[15]=a,t[16]=o):o=t[16];let s;t[17]===e.subagent.detail?s=t[18]:(s=e.subagent.detail?(0,Q.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-relaxed text-muted-foreground`,children:e.subagent.detail}):null,t[17]=e.subagent.detail,t[18]=s);let c;t[19]!==o||t[20]!==s?(c=(0,Q.jsxs)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:[o,s]}),t[19]=o,t[20]=s,t[21]=c):c=t[21];let l;t[22]!==e.subagent.entries||t[23]!==e.subagent.status?(l=e.subagent.entries.length>0?e.subagent.entries.map(t=>(0,Q.jsxs)(`div`,{className:`rounded-md border border-border/60 bg-card/40 p-3`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:y(`size-2 shrink-0 rounded-full`,t.tone===`error`?`bg-destructive`:e.subagent?.status===`running`?`bg-sky-400`:`bg-emerald-400`)}),(0,Q.jsx)(`p`,{className:`min-w-0 truncate text-xs font-medium text-foreground`,children:t.toolTitle??t.label})]}),t.detail?(0,Q.jsx)(`p`,{className:`mt-2 text-xs leading-relaxed text-muted-foreground`,children:t.detail}):null,t.output&&t.output!==t.detail?(0,Q.jsx)(`div`,{className:`mt-3 rounded-md border border-border/50 bg-background/60 p-2`,children:(0,Q.jsx)(Re,{text:t.output,cwd:void 0,isStreaming:!1})}):null]},t.id)):(0,Q.jsxs)(`div`,{className:`flex min-h-48 flex-col items-center justify-center rounded-md border border-dashed border-border/70 bg-card/20 p-6 text-center`,children:[(0,Q.jsx)(Vt,{className:`size-5 text-muted-foreground/60`}),(0,Q.jsx)(`p`,{className:`mt-3 text-sm font-medium text-foreground`,children:`No transcript captured yet`}),(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-relaxed text-muted-foreground`,children:`The subagent is visible from lifecycle events. Detailed messages will appear here when the provider exposes them.`})]}),t[22]=e.subagent.entries,t[23]=e.subagent.status,t[24]=l):l=t[24];let u;t[25]===l?u=t[26]:(u=(0,Q.jsx)(Nt,{className:`min-h-0 flex-1`,children:(0,Q.jsx)(`div`,{className:`space-y-3 p-4`,children:l})}),t[25]=l,t[26]=u);let d;return t[27]!==c||t[28]!==u?(d=(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[c,u]}),t[27]=c,t[28]=u,t[29]=d):d=t[29],d}function fo(e){let t=(0,wi.c)(8),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(`div`,{className:`mx-auto flex size-10 items-center justify-center rounded-md border border-border/70 bg-card/60 text-muted-foreground`,children:(0,Q.jsx)(P,{className:`size-4`})}),t[0]=n):n=t[0];let r;t[1]===e.title?r=t[2]:(r=(0,Q.jsx)(`p`,{className:`mt-3 text-sm font-medium text-foreground`,children:e.title}),t[1]=e.title,t[2]=r);let i;t[3]===e.description?i=t[4]:(i=(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-relaxed text-muted-foreground`,children:e.description}),t[3]=e.description,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center p-6 text-center`,children:(0,Q.jsxs)(`div`,{className:`max-w-72`,children:[n,r,i]})}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function po(){let e=(0,wi.c)(89),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={strict:!1},e[0]=t):t=e[0];let n=st(t),r;e[1]===n?r=e[2]:(r=lt(n),e[1]=n,e[2]=r);let c=r,l;e[3]===n.draftId?l=e[4]:(l=n.draftId?A.make(n.draftId):null,e[3]=n.draftId,e[4]=l);let u=l,d;e[5]===u?d=e[6]:(d=e=>u?e.getDraftSession(u):null,e[5]=u,e[6]=d);let p=D(d),g;bb0:{if(c){g=c;break bb0}if(!p){g=null;break bb0}let t;e[7]!==p.environmentId||e[8]!==p.threadId?(t=o(p.environmentId,p.threadId),e[7]=p.environmentId,e[8]=p.threadId,e[9]=t):t=e[9],g=t}let v=g,y;e[10]===v?y=e[11]:(y=At(v),e[10]=v,e[11]=y);let b=f(y),x;e[12]===v?x=e[13]:(x=e=>v?e.getDraftThreadByRef(v):null,e[12]=v,e[13]=x);let S=D(x),C;e[14]!==S||e[15]!==b?(C=b?a(b.environmentId,b.projectId):S?a(S.environmentId,S.projectId):null,e[14]=S,e[15]=b,e[16]=C):C=e[16];let w=C,T;e[17]===w?T=e[18]:(T=jt(w),e[17]=w,e[18]=T);let O=f(T),k;e[19]===v?k=e[20]:(k=e=>_(e.terminalStateByThreadKey,v),e[19]=v,e[20]=k);let j=h(k),M;e[21]===v?M=e[22]:(M=e=>v?e.terminalLaunchContextByThreadKey[i(v)]??null:null,e[21]=v,e[22]=M);let N=h(M),P=h(So),ee=h(xo),F=h(bo),ne=h(yo),re=h(vo),ie=h(_o),I=s(),L=te(),[ae,oe]=(0,$.useState)(0),se=b?.worktreePath??S?.worktreePath??null,ce=N?.worktreePath??se;N?.cwd;let le;e[23]!==ce||e[24]!==O||e[25]!==N?.cwd?(le=N?.cwd??(O?Ge({project:{cwd:O.cwd},worktreePath:ce}):null),e[23]=ce,e[24]=O,e[25]=N?.cwd,e[26]=le):le=e[26];let ue=le,de;e[27]!==ce||e[28]!==O?(de=O?ze({project:{cwd:O.cwd},worktreePath:ce}):{},e[27]=ce,e[28]=O,e[29]=de):de=e[29];let fe=de,pe;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(pe={context:{terminalFocus:!0,terminalOpen:!0}},e[30]=pe):pe=e[30];let me=pe,he;e[31]===I?he=e[32]:(he=Mt(I,`terminal.split`,me),e[31]=I,e[32]=he);let R=he,ge;e[33]===I?ge=e[34]:(ge=Mt(I,`terminal.new`,me),e[33]=I,e[34]=ge);let _e=ge,z;e[35]===I?z=e[36]:(z=Mt(I,`terminal.close`,me),e[35]=I,e[36]=z);let ve=z,ye,be;e[37]!==P||e[38]!==j.terminalOpen||e[39]!==v?(ye=()=>{!v||!j.terminalOpen||P(v,!1)},be=[P,j.terminalOpen,v],e[37]=P,e[38]=j.terminalOpen,e[39]=v,e[40]=ye,e[41]=be):(ye=e[40],be=e[41]),(0,$.useEffect)(ye,be);let xe;e[42]===Symbol.for(`react.memo_cache_sentinel`)?(xe=()=>{oe(go)},e[42]=xe):xe=e[42];let Se=xe,B;e[43]!==P||e[44]!==F||e[45]!==v?(B=()=>{v&&(F(v,`terminal-${E()}`),P(v,!1),Se())},e[43]=P,e[44]=F,e[45]=v,e[46]=B):B=e[46];let V=B,Ce;e[47]!==ne||e[48]!==P||e[49]!==v?(Ce=()=>{v&&(ne(v,`terminal-${E()}`),P(v,!1),Se())},e[47]=ne,e[48]=P,e[49]=v,e[50]=Ce):Ce=e[50];let H=Ce,U;e[51]!==re||e[52]!==v?(U=e=>{v&&(re(v,e),Se())},e[51]=re,e[52]=v,e[53]=U):U=e[53];let we=U,Te;e[54]!==ee||e[55]!==v?(Te=e=>{v&&ee(v,e)},e[54]=ee,e[55]=v,e[56]=Te):Te=e[56];let W=Te,G;e[57]!==ie||e[58]!==P||e[59]!==j.terminalIds.length||e[60]!==v?(G=e=>{if(!v)return;let t=m(v.environmentId);if(!t)return;let n=j.terminalIds.length<=1,r=()=>t.terminal.write({threadId:v.threadId,terminalId:e,data:`exit
166
+ `}).catch(ho);`close`in t.terminal&&typeof t.terminal.close==`function`?(async()=>{n&&await t.terminal.clear({threadId:v.threadId,terminalId:e}).catch(mo),await t.terminal.close({threadId:v.threadId,terminalId:e,deleteHistory:!0})})().catch(()=>r()):r(),ie(v,e),P(v,!1),Se()},e[57]=ie,e[58]=P,e[59]=j.terminalIds.length,e[60]=v,e[61]=G):G=e[61];let K=G,q;e[62]===L?q=e[63]:(q=e=>{L?.current?.addTerminalContext(e)},e[62]=L,e[63]=q);let J=q;if(!v){let t;return e[64]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(fo,{title:`Terminal unavailable`,description:`No active thread is available for this workspace terminal.`}),e[64]=t):t=e[64],t}if(!O||!ue){let t;return e[65]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(fo,{title:`Terminal unavailable`,description:`This thread does not have a resolved project directory.`}),e[65]=t):t=e[65],t}let Ee=v.threadId,De=R??void 0,Oe=_e??void 0,ke=ve??void 0,Ae;return e[66]!==we||e[67]!==J||e[68]!==K||e[69]!==H||e[70]!==ue||e[71]!==ce||e[72]!==ae||e[73]!==I||e[74]!==fe||e[75]!==W||e[76]!==V||e[77]!==Ee||e[78]!==De||e[79]!==Oe||e[80]!==ke||e[81]!==j.activeTerminalGroupId||e[82]!==j.activeTerminalId||e[83]!==j.runningTerminalIds||e[84]!==j.terminalGroups||e[85]!==j.terminalHeight||e[86]!==j.terminalIds||e[87]!==v?(Ae=(0,Q.jsx)(Ft,{threadRef:v,threadId:Ee,cwd:ue,worktreePath:ce,runtimeEnv:fe,layout:`panel`,visible:!0,height:j.terminalHeight,terminalIds:j.terminalIds,runningTerminalIds:j.runningTerminalIds,activeTerminalId:j.activeTerminalId,terminalGroups:j.terminalGroups,activeTerminalGroupId:j.activeTerminalGroupId,focusRequestId:ae,onSplitTerminal:V,onNewTerminal:H,splitShortcutLabel:De,newShortcutLabel:Oe,closeShortcutLabel:ke,keybindings:I,onActiveTerminalChange:we,onCloseTerminal:K,onHeightChange:W,onAddTerminalContext:J}),e[66]=we,e[67]=J,e[68]=K,e[69]=H,e[70]=ue,e[71]=ce,e[72]=ae,e[73]=I,e[74]=fe,e[75]=W,e[76]=V,e[77]=Ee,e[78]=De,e[79]=Oe,e[80]=ke,e[81]=j.activeTerminalGroupId,e[82]=j.activeTerminalId,e[83]=j.runningTerminalIds,e[84]=j.terminalGroups,e[85]=j.terminalHeight,e[86]=j.terminalIds,e[87]=v,e[88]=Ae):Ae=e[88],Ae}function mo(){}function ho(){}function go(e){return e+1}function _o(e){return e.closeTerminal}function vo(e){return e.setActiveTerminal}function yo(e){return e.newTerminal}function bo(e){return e.splitTerminal}function xo(e){return e.setTerminalHeight}function So(e){return e.setTerminalOpen}function Co(e){let t=[],n=new Set(e.openedPanelModes);n.has(`files`)&&t.push({key:`files`,label:`Files`,mode:`files`}),n.has(`review`)&&t.push({key:`review`,label:`Review`,mode:`review`}),n.has(`terminal`)&&t.push({key:`terminal`,label:`Terminal`,mode:`terminal`});let r=e.activeAgentKey?e.subagents.some(t=>t.key===e.activeAgentKey)?e.subagents:[...e.subagents,{key:e.activeAgentKey,name:`Subagent`,status:`idle`,detail:null,startedAt:``,updatedAt:``,entries:[]}]:[];for(let e of r)t.push({key:e.key,label:e.name,mode:`agent`,agentKey:e.key,status:e.status});return t}function wo(e){let t=(0,wi.c)(21),n=e.icon,r=e.disabled,i=e.onClick,a=e.disabled?`cursor-not-allowed opacity-45`:`hover:border-border hover:bg-card/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,o;t[0]===a?o=t[1]:(o=y(`group flex min-h-32 w-full flex-col items-center justify-center rounded-lg border border-border/50 bg-card/35 px-5 py-6 text-center transition-colors`,a),t[0]=a,t[1]=o);let s=!e.disabled&&`group-hover:text-foreground`,c;t[2]===s?c=t[3]:(c=y(`size-6 text-muted-foreground transition-colors`,s),t[2]=s,t[3]=c);let l;t[4]!==n||t[5]!==c?(l=(0,Q.jsx)(n,{className:c}),t[4]=n,t[5]=c,t[6]=l):l=t[6];let u;t[7]===e.label?u=t[8]:(u=(0,Q.jsx)(`span`,{className:`mt-4 text-base font-semibold text-foreground`,children:e.label}),t[7]=e.label,t[8]=u);let d;t[9]===e.description?d=t[10]:(d=(0,Q.jsx)(`span`,{className:`mt-1 text-sm text-muted-foreground`,children:e.description}),t[9]=e.description,t[10]=d);let f;t[11]===e.shortcutLabel?f=t[12]:(f=e.shortcutLabel?(0,Q.jsx)(`span`,{className:`mt-3 rounded-md bg-muted px-1.5 py-0.5 font-medium text-[11px] text-muted-foreground`,children:e.shortcutLabel}):null,t[11]=e.shortcutLabel,t[12]=f);let p;return t[13]!==e.disabled||t[14]!==e.onClick||t[15]!==o||t[16]!==l||t[17]!==u||t[18]!==d||t[19]!==f?(p=(0,Q.jsxs)(`button`,{type:`button`,disabled:r,onClick:i,className:o,children:[l,u,d,f]}),t[13]=e.disabled,t[14]=e.onClick,t[15]=o,t[16]=l,t[17]=u,t[18]=d,t[19]=f,t[20]=p):p=t[20],p}function To(e){let t=(0,wi.c)(55),n=s(),r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={key:`files`,label:`Files`,mode:`files`},t[0]=r):r=t[0];let i=r,a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a={key:`review`,label:`Review`,mode:`review`},t[1]=a):a=t[1];let o=a,c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c={key:`terminal`,label:`Terminal`,mode:`terminal`},t[2]=c):c=t[2];let l=c,u;t[3]===n?u=t[4]:(u=Mt(n,`workspace.files`),t[3]=n,t[4]=u);let d=u,f;t[5]===n?f=t[6]:(f=Mt(n,`workspace.review`),t[5]=n,t[6]=f);let p=f,m;t[7]===n?m=t[8]:(m=Mt(n,`workspace.terminal`),t[7]=n,t[8]=m);let h=m,g,_,v,b,x,S,C,w,T,E;if(t[9]!==d||t[10]!==e||t[11]!==p||t[12]!==h){let n=e.tabs.filter(Eo);g=Nt,S=`h-full`,x=`flex min-h-full items-center justify-center p-5 sm:p-6`,C=`w-full max-w-lg space-y-4`;let r;t[23]===e?r=t[24]:(r=()=>e.onSelectTab(i),t[23]=e,t[24]=r),t[25]!==d||t[26]!==r?(w=(0,Q.jsx)(wo,{label:`Files`,description:`Browse project files`,icon:ae,shortcutLabel:d,onClick:r}),t[25]=d,t[26]=r,t[27]=w):w=t[27],t[28]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Q.jsx)(wo,{label:`Side chat`,description:`Start a side conversation`,icon:Bt,disabled:!0}),E=(0,Q.jsx)(wo,{label:`Browser`,description:`Open a website`,icon:me,disabled:!0}),t[28]=T,t[29]=E):(T=t[28],E=t[29]);let a;t[30]===e?a=t[31]:(a=()=>e.onSelectTab(o),t[30]=e,t[31]=a),t[32]!==p||t[33]!==a?(_=(0,Q.jsx)(wo,{label:`Review`,description:`View code changes`,icon:zt,shortcutLabel:p,onClick:a}),t[32]=p,t[33]=a,t[34]=_):_=t[34];let s;t[35]===e?s=t[36]:(s=()=>e.onSelectTab(l),t[35]=e,t[36]=s),t[37]!==s||t[38]!==h?(v=(0,Q.jsx)(wo,{label:`Terminal`,description:`Start an interactive shell`,icon:P,shortcutLabel:h,onClick:s}),t[37]=s,t[38]=h,t[39]=v):v=t[39],b=n.length>0?(0,Q.jsx)(`div`,{className:`space-y-2 pt-1`,children:n.map(t=>(0,Q.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-center gap-3 rounded-lg border border-border/50 bg-card/35 px-4 py-3 text-left transition-colors hover:border-border hover:bg-card/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:()=>e.onSelectTab(t),children:[(0,Q.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg border border-border/50 bg-background/50 text-muted-foreground`,children:(0,Q.jsx)(W,{className:`size-4`})}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`span`,{className:y(`block truncate text-sm font-medium`,oe(ro(t.status))),style:L(t.label,{durationSeconds:2.2}),children:t.label}),(0,Q.jsx)(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`,children:io(t.status)})]})]},t.key))}):null,t[9]=d,t[10]=e,t[11]=p,t[12]=h,t[13]=g,t[14]=_,t[15]=v,t[16]=b,t[17]=x,t[18]=S,t[19]=C,t[20]=w,t[21]=T,t[22]=E}else g=t[13],_=t[14],v=t[15],b=t[16],x=t[17],S=t[18],C=t[19],w=t[20],T=t[21],E=t[22];let D;t[40]!==_||t[41]!==v||t[42]!==b||t[43]!==C||t[44]!==w||t[45]!==T||t[46]!==E?(D=(0,Q.jsxs)(`div`,{className:C,children:[w,T,E,_,v,b]}),t[40]=_,t[41]=v,t[42]=b,t[43]=C,t[44]=w,t[45]=T,t[46]=E,t[47]=D):D=t[47];let O;t[48]!==x||t[49]!==D?(O=(0,Q.jsx)(`div`,{className:x,children:D}),t[48]=x,t[49]=D,t[50]=O):O=t[50];let k;return t[51]!==g||t[52]!==S||t[53]!==O?(k=(0,Q.jsx)(g,{className:S,children:O}),t[51]=g,t[52]=S,t[53]=O,t[54]=k):k=t[54],k}function Eo(e){return e.mode===`agent`}function Do(e){let t=(0,wi.c)(88),{onClosePanelTab:n}=e,r=ot(),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={strict:!1},t[0]=i):i=t[0];let a=st(i),o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o={strict:!1,select:No},t[1]=o):o=t[1];let s=_t(o),c;t[2]===a?c=t[3]:(c=lt(a),t[2]=a,t[3]=c);let l=c,u;t[4]===l?u=t[5]:(u=At(l),t[4]=l,t[5]=u);let d=f(u),p;t[6]===d?.activities?p=t[7]:(p=()=>Ie(d?.activities??[]),t[6]=d?.activities,t[7]=p),d?.activities;let m;t[8]===p?m=t[9]:(m=p(),t[8]=p,t[9]=m);let h=m,g=s.workspaceTab===`agent`&&s.workspaceAgentKey?s.workspaceAgentKey:null,_;t[10]!==g||t[11]!==h?(_=Ye(h,g),t[10]=g,t[11]=h,t[12]=_):_=t[12];let v=_,S;t[13]!==e.panelMode||t[14]!==s?(S=bt(s)??e.panelMode,t[13]=e.panelMode,t[14]=s,t[15]=S):S=t[15];let w=S,E;bb0:{if(w===`files`||w===`review`||w===`terminal`){let n;t[16]!==w||t[17]!==e.openedPanelModes?(n=e.openedPanelModes.includes(w)?e.openedPanelModes:[...e.openedPanelModes,w],t[16]=w,t[17]=e.openedPanelModes,t[18]=n):n=t[18],E=n;break bb0}E=e.openedPanelModes}let D=E,O;t[19]!==g||t[20]!==D||t[21]!==h?(O=Co({subagents:h,activeAgentKey:g,openedPanelModes:D}),t[19]=g,t[20]=D,t[21]=h,t[22]=O):O=t[22];let k=O,j=w===`agent`?g:w,M;t[23]!==r||t[24]!==a.draftId||t[25]!==l?(M=e=>{if(a.draftId){r({to:`/draft/$draftId`,params:{draftId:A.make(a.draftId)},replace:!0,search:e});return}l&&r({to:`/$environmentId/$threadId`,params:ct(l),replace:!0,search:e})},t[23]=r,t[24]=a.draftId,t[25]=l,t[26]=M):M=t[26];let N=M,P;t[27]===N?P=t[28]:(P=e=>{if(e.mode===`review`){N(Mo);return}if(e.mode===`files`){N(jo);return}if(e.mode===`terminal`){N(Ao);return}e.mode===`agent`&&N(t=>mt(t,e.agentKey))},t[27]=N,t[28]=P);let ee=P,te;t[29]===N?te=t[30]:(te=()=>{N(ko)},t[29]=N,t[30]=te);let F=te,ne;t[31]===n?ne=t[32]:(ne=e=>{n({mode:e.mode,...e.mode===`agent`?{agentKey:e.agentKey}:{}})},t[31]=n,t[32]=ne);let re=ne,ie;t[33]!==ee||t[34]!==k?(ie=(e,t)=>{let n=k.findIndex(t=>t.key===e.key);if(n<0)return;let r=e=>{let t=k[(e+k.length)%k.length];t&&ee(t)};switch(t.key){case`ArrowRight`:case`ArrowDown`:t.preventDefault(),r(n+1);return;case`ArrowLeft`:case`ArrowUp`:t.preventDefault(),r(n-1);return;case`Home`:t.preventDefault(),r(0);return;case`End`:t.preventDefault(),r(k.length-1);return}},t[33]=ee,t[34]=k,t[35]=ie):ie=t[35];let I=ie,ae;t[36]===N?ae=t[37]:(ae=()=>{N(Oo)},t[36]=N,t[37]=ae);let se=ae,ce;if(t[38]!==j||t[39]!==re||t[40]!==I||t[41]!==ee||t[42]!==k){let e;t[44]!==j||t[45]!==re||t[46]!==I||t[47]!==ee?(e=e=>{let t=j===e.key;return(0,Q.jsxs)(`div`,{className:y(`flex h-8 min-w-0 shrink-0 items-center rounded-md text-sm transition-colors`,t?`bg-muted text-foreground`:`text-muted-foreground hover:bg-muted/60 hover:text-foreground`),children:[(0,Q.jsxs)(`button`,{type:`button`,id:oo(e.key),role:`tab`,"aria-selected":t,"aria-controls":so(e.key),tabIndex:t?0:-1,className:`flex h-full min-w-0 items-center gap-1.5 pl-2.5 pr-1`,onClick:()=>ee(e),onKeyDown:t=>I(e,t),children:[(0,Q.jsx)(co,{tab:e,active:t}),(0,Q.jsx)(`span`,{className:y(`max-w-32 truncate`,e.mode===`agent`&&oe(ro(e.status))),style:e.mode===`agent`?L(e.label,{durationSeconds:2.2}):void 0,children:e.label})]}),(0,Q.jsx)(`button`,{type:`button`,className:`mr-1 flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground/60 transition-colors hover:bg-background/60 hover:text-foreground`,"aria-label":`Close ${e.label} tab`,onClick:()=>re(e),children:(0,Q.jsx)(kt,{className:`size-3`})})]},e.key)},t[44]=j,t[45]=re,t[46]=I,t[47]=ee,t[48]=e):e=t[48],ce=k.map(e),t[38]=j,t[39]=re,t[40]=I,t[41]=ee,t[42]=k,t[43]=ce}else ce=t[43];let le=!w&&`bg-muted text-foreground`,ue;t[49]===le?ue=t[50]:(ue=y(`flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground/70 transition-colors hover:bg-muted/60 hover:text-foreground`,le),t[49]=le,t[50]=ue);let de=!w,fe;t[51]!==F||t[52]!==ue||t[53]!==de?(fe=(0,Q.jsx)(`button`,{type:`button`,className:ue,"aria-label":`Workspace launcher`,"aria-pressed":de,onClick:F}),t[51]=F,t[52]=ue,t[53]=de,t[54]=fe):fe=t[54];let pe;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,Q.jsx)(Dt,{className:`size-3.5`}),t[55]=pe):pe=t[55];let me;t[56]===fe?me=t[57]:(me=(0,Q.jsx)(b,{render:fe,children:pe}),t[56]=fe,t[57]=me);let he;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,Q.jsx)(T,{side:`bottom`,children:`Workspace launcher`}),t[58]=he):he=t[58];let R;t[59]===me?R=t[60]:(R=(0,Q.jsxs)(x,{children:[me,he]}),t[59]=me,t[60]=R);let ge;t[61]!==ce||t[62]!==R?(ge=(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1 overflow-x-auto`,role:`tablist`,"aria-label":`Workspace tabs`,children:[ce,R]}),t[61]=ce,t[62]=R,t[63]=ge):ge=t[63];let _e;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,Q.jsx)(kt,{className:`size-3.5`}),t[64]=_e):_e=t[64];let z;t[65]===se?z=t[66]:(z=(0,Q.jsx)(C,{size:`icon-xs`,variant:`ghost`,className:`shrink-0 text-muted-foreground/70 hover:text-foreground`,onClick:se,"aria-label":`Close workspace panel`,children:_e}),t[65]=se,t[66]=z);let ve;t[67]!==ge||t[68]!==z?(ve=(0,Q.jsxs)(`div`,{className:`flex h-12 shrink-0 items-center gap-1 border-b border-border bg-card/40 px-2`,children:[ge,z]}),t[67]=ge,t[68]=z,t[69]=ve):ve=t[69];let ye;t[70]===j?ye=t[71]:(ye=so(j),t[70]=j,t[71]=ye);let be;t[72]===j?be=t[73]:(be=j?oo(j):void 0,t[72]=j,t[73]=be);let xe;t[74]!==v||t[75]!==w||t[76]!==g||t[77]!==e.mode||t[78]!==ee||t[79]!==k?(xe=w===`review`?(0,Q.jsx)(aa,{mode:e.mode}):w===`files`?(0,Q.jsx)(Ga,{mode:e.mode}):w===`terminal`?(0,Q.jsx)(po,{}):w===`agent`?(0,Q.jsx)(uo,{subagent:v,agentKey:g}):(0,Q.jsx)(To,{tabs:k,onSelectTab:ee}),t[74]=v,t[75]=w,t[76]=g,t[77]=e.mode,t[78]=ee,t[79]=k,t[80]=xe):xe=t[80];let Se;t[81]!==ye||t[82]!==be||t[83]!==xe?(Se=(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,id:ye,role:`tabpanel`,"aria-labelledby":be,children:xe}),t[81]=ye,t[82]=be,t[83]=xe,t[84]=Se):Se=t[84];let B;return t[85]!==ve||t[86]!==Se?(B=(0,Q.jsxs)(`div`,{className:`flex h-full min-w-0 flex-1 flex-col bg-background w-full`,children:[ve,Se]}),t[85]=ve,t[86]=Se,t[87]=B):B=t[87],B}function Oo(e){return{...ht(e),diff:void 0,diffTurnId:void 0,diffFilePath:void 0,preview:void 0,workspaceOpen:void 0,workspaceTab:void 0,workspaceAgentKey:void 0}}function ko(e){return dt(e)}function Ao(e){return yt(e)}function jo(e){return ut(e)}function Mo(e){return gt(e)}function No(e){return vt(e)}export{Do as default};