purplemux 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +49 -49
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/routes-manifest.json +7 -7
  6. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06an6au._.js +1 -1
  7. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__02f5zis._.js → [root-of-the-server]__08dxtof._.js} +1 -1
  8. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08z3drz._.js +1 -1
  9. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__11uqzxt._.js → [root-of-the-server]__0kumyrr._.js} +2 -2
  10. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s7k1je._.js +3 -0
  11. package/.next/standalone/.next/server/chunks/ssr/{_13qovxu._.js → _0.stp0n._.js} +2 -2
  12. package/.next/standalone/.next/server/chunks/ssr/{_11h746h._.js → _00cx0p2._.js} +2 -2
  13. package/.next/standalone/.next/server/chunks/ssr/_02rms4q._.js +1 -1
  14. package/.next/standalone/.next/server/chunks/ssr/_06_8vkn._.js +2 -2
  15. package/.next/standalone/.next/server/chunks/ssr/{_0uwytsj._.js → _078y4dk._.js} +2 -2
  16. package/.next/standalone/.next/server/chunks/ssr/{_0uph6rf._.js → _0kzht5v._.js} +2 -2
  17. package/.next/standalone/.next/server/chunks/ssr/_0m6flec._.js +1 -1
  18. package/.next/standalone/.next/server/chunks/ssr/_0pg-q18._.js +1 -1
  19. package/.next/standalone/.next/server/chunks/ssr/_0r90z3l._.js +8 -0
  20. package/.next/standalone/.next/server/chunks/ssr/_0w.1ts8._.js +1 -1
  21. package/.next/standalone/.next/server/chunks/ssr/_0w6jc9p._.js +1 -1
  22. package/.next/standalone/.next/server/chunks/ssr/{_0z6yp7a._.js → _0y_feze._.js} +1 -1
  23. package/.next/standalone/.next/server/chunks/ssr/{_0v2czf2._.js → _10dec5o._.js} +1 -1
  24. package/.next/standalone/.next/server/chunks/ssr/{messages_01~7za1._.js → messages_0f3u1ly._.js} +1 -1
  25. package/.next/standalone/.next/server/chunks/ssr/{messages_10_yt3k._.js → messages_0k204ao._.js} +1 -1
  26. package/.next/standalone/.next/server/chunks/ssr/messages_de_terminal_json_[json]_cjs_05jirtw._.js +1 -1
  27. package/.next/standalone/.next/server/chunks/ssr/messages_en_terminal_json_[json]_cjs_0~ls3g-._.js +1 -1
  28. package/.next/standalone/.next/server/chunks/ssr/messages_es_terminal_json_[json]_cjs_04g2b1_._.js +1 -1
  29. package/.next/standalone/.next/server/chunks/ssr/messages_fr_terminal_json_[json]_cjs_0uhakya._.js +1 -1
  30. package/.next/standalone/.next/server/chunks/ssr/messages_ja_terminal_json_[json]_cjs_0776z4f._.js +1 -1
  31. package/.next/standalone/.next/server/chunks/ssr/messages_ko_terminal_json_[json]_cjs_06611.3._.js +1 -1
  32. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_terminal_json_[json]_cjs_034yyg9._.js +1 -1
  33. package/.next/standalone/.next/server/chunks/ssr/messages_ru_terminal_json_[json]_cjs_0emk8~n._.js +1 -1
  34. package/.next/standalone/.next/server/chunks/ssr/messages_tr_terminal_json_[json]_cjs_0xpix8g._.js +1 -1
  35. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_terminal_json_[json]_cjs_12vwl8a._.js +1 -1
  36. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_terminal_json_[json]_cjs_0spg5z5._.js +1 -1
  37. package/.next/standalone/.next/server/chunks/ssr/node_modules_0t5csgq._.js +1 -1
  38. package/.next/standalone/.next/server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_0bnxcps.js +1 -1
  39. package/.next/standalone/.next/server/chunks/ssr/{src_components_00nri37._.js → src_components_05-kki3._.js} +1 -1
  40. package/.next/standalone/.next/server/chunks/ssr/{src_components_0jrgsp7._.js → src_components_0fb83uz._.js} +1 -1
  41. package/.next/standalone/.next/server/chunks/ssr/{src_components_0mhu5-5._.js → src_components_0gkfyrc._.js} +1 -1
  42. package/.next/standalone/.next/server/chunks/ssr/{src_components_0~e6p9k._.js → src_components_0n3s0.7._.js} +1 -1
  43. package/.next/standalone/.next/server/chunks/ssr/src_components_features_mobile_mobile-terminal-page_tsx_02chzch._.js +1 -1
  44. package/.next/standalone/.next/server/chunks/ssr/src_components_features_workspace_terminal-page_tsx_0wuq-jl._.js +1 -1
  45. package/.next/standalone/.next/server/functions-config-manifest.json +1 -1
  46. package/.next/standalone/.next/server/middleware-build-manifest.js +49 -49
  47. package/.next/standalone/.next/server/pages/_app/build-manifest.json +6 -6
  48. package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
  49. package/.next/standalone/.next/server/pages/_app.js +2 -2
  50. package/.next/standalone/.next/server/pages/_app.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/pages/_document.js +3 -3
  52. package/.next/standalone/.next/server/pages/_document.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/pages/_error/build-manifest.json +3 -3
  54. package/.next/standalone/.next/server/pages/_error/client-build-manifest.json +1 -1
  55. package/.next/standalone/.next/server/pages/_error.js +4 -4
  56. package/.next/standalone/.next/server/pages/_error.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/pages/de/404.html +1 -1
  58. package/.next/standalone/.next/server/pages/de/500.html +1 -1
  59. package/.next/standalone/.next/server/pages/en/404.html +1 -1
  60. package/.next/standalone/.next/server/pages/en/500.html +1 -1
  61. package/.next/standalone/.next/server/pages/es/404.html +1 -1
  62. package/.next/standalone/.next/server/pages/es/500.html +1 -1
  63. package/.next/standalone/.next/server/pages/fr/404.html +1 -1
  64. package/.next/standalone/.next/server/pages/fr/500.html +1 -1
  65. package/.next/standalone/.next/server/pages/index/build-manifest.json +7 -7
  66. package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
  67. package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +4 -4
  68. package/.next/standalone/.next/server/pages/index.js +5 -5
  69. package/.next/standalone/.next/server/pages/index.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/pages/ja/404.html +1 -1
  71. package/.next/standalone/.next/server/pages/ja/500.html +1 -1
  72. package/.next/standalone/.next/server/pages/ko/404.html +1 -1
  73. package/.next/standalone/.next/server/pages/ko/500.html +1 -1
  74. package/.next/standalone/.next/server/pages/login/build-manifest.json +4 -4
  75. package/.next/standalone/.next/server/pages/login/client-build-manifest.json +1 -1
  76. package/.next/standalone/.next/server/pages/login.js +4 -4
  77. package/.next/standalone/.next/server/pages/login.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
  79. package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
  80. package/.next/standalone/.next/server/pages/reports/build-manifest.json +6 -6
  81. package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
  82. package/.next/standalone/.next/server/pages/reports.js +5 -5
  83. package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/pages/reset/build-manifest.json +4 -4
  85. package/.next/standalone/.next/server/pages/reset/client-build-manifest.json +1 -1
  86. package/.next/standalone/.next/server/pages/reset.js +5 -5
  87. package/.next/standalone/.next/server/pages/reset.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/pages/ru/404.html +1 -1
  89. package/.next/standalone/.next/server/pages/ru/500.html +1 -1
  90. package/.next/standalone/.next/server/pages/stats/build-manifest.json +6 -6
  91. package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
  92. package/.next/standalone/.next/server/pages/stats.js +5 -5
  93. package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/pages/tools-required/build-manifest.json +4 -4
  95. package/.next/standalone/.next/server/pages/tools-required/client-build-manifest.json +1 -1
  96. package/.next/standalone/.next/server/pages/tools-required.js +5 -5
  97. package/.next/standalone/.next/server/pages/tools-required.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/pages/tr/404.html +1 -1
  99. package/.next/standalone/.next/server/pages/tr/500.html +1 -1
  100. package/.next/standalone/.next/server/pages/webview/build-manifest.json +6 -6
  101. package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
  102. package/.next/standalone/.next/server/pages/webview.js +5 -5
  103. package/.next/standalone/.next/server/pages/webview.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
  105. package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
  106. package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
  107. package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
  108. package/.next/standalone/.next/static/chunks/01.oujz.z9cq..js +1 -0
  109. package/.next/standalone/.next/static/chunks/{0~23in~aqup16.js → 0176ysv-agwwx.js} +1 -1
  110. package/.next/standalone/.next/static/chunks/{0icark0o3b_6j.js → 03s5e91.zrsi_.js} +4 -4
  111. package/.next/standalone/.next/static/chunks/{0h57gqab.hlp8.js → 05zk.ks4roh-4.js} +6 -6
  112. package/.next/standalone/.next/static/chunks/05~6_0_288m3t.js +1 -0
  113. package/.next/standalone/.next/static/chunks/06uy95ammv.ud.js +1 -0
  114. package/.next/standalone/.next/static/chunks/08-el~h0ax929.js +1 -0
  115. package/.next/standalone/.next/static/chunks/{14_wa..vd6~2y.js → 0984g4~der6-4.js} +2 -2
  116. package/.next/standalone/.next/static/chunks/{016ho28abx9rt.js → 0_psc1~qmka.m.js} +4 -4
  117. package/.next/standalone/.next/static/chunks/{00s6ekn81~vi-.js → 0ap~c~__qw2_0.js} +6 -6
  118. package/.next/standalone/.next/static/chunks/0cir.n19rqu--.js +8 -0
  119. package/.next/standalone/.next/static/chunks/0dpud6_2~.2iv.js +1 -0
  120. package/.next/standalone/.next/static/chunks/0euxle0n3zjm3.js +1 -0
  121. package/.next/standalone/.next/static/chunks/0fax5v7rwhm7g.js +6 -0
  122. package/.next/standalone/.next/static/chunks/{0wf0tx~eo05t~.js → 0gfoib7v3q4k_.js} +1 -1
  123. package/.next/standalone/.next/static/chunks/{0538dx15fw8_n.js → 0kep81gqgj5f5.js} +7 -7
  124. package/.next/standalone/.next/static/chunks/0kriln8d9.mdo.js +1 -0
  125. package/.next/standalone/.next/static/chunks/{0eia27slkj8a0.js → 0l.88yoxq6tq8.js} +6 -6
  126. package/.next/standalone/.next/static/chunks/{0ea-k_kbq5gi1.js → 0n7jmg60eqx1a.js} +1 -1
  127. package/.next/standalone/.next/static/chunks/0nm1wy7i1z64_.js +1 -0
  128. package/.next/standalone/.next/static/chunks/0o1e0e_okaxww.js +1 -0
  129. package/.next/standalone/.next/static/chunks/{0l80eb3i.wx6k.js → 0p2m6i37_wprv.js} +1 -1
  130. package/.next/standalone/.next/static/chunks/0qz-agdkp9v1q.js +16 -0
  131. package/.next/standalone/.next/static/chunks/0w1v1a5wi.byq.js +1 -0
  132. package/.next/standalone/.next/static/chunks/0wha_~zny181w.js +1 -0
  133. package/.next/standalone/.next/static/chunks/0wu-q.gmu-64d.js +5 -0
  134. package/.next/standalone/.next/static/chunks/{00l132mp04ubq.js → 0xfp8sfehtui9.js} +1 -1
  135. package/.next/standalone/.next/static/chunks/0yzd69blq638o.js +1 -0
  136. package/.next/standalone/.next/static/chunks/{0erebazb6ppou.js → 12f3vk2rnkb8u.js} +6 -6
  137. package/.next/standalone/.next/static/chunks/135cvydv7redz.js +1 -0
  138. package/.next/standalone/.next/static/chunks/14rrqgjvv0_69.js +1 -0
  139. package/.next/standalone/.next/static/chunks/14vposxx99rq4.js +1 -0
  140. package/.next/standalone/.next/static/chunks/{09mlfwheuib_9.js → 168.xhj-0lt8a.js} +1 -1
  141. package/.next/standalone/.next/static/chunks/1792_-2m366un.js +1 -0
  142. package/.next/standalone/.next/static/chunks/{0nr5ul7mf1bo7.js → 179vwj~zm1gya.js} +1 -1
  143. package/.next/standalone/.next/static/chunks/{turbopack-10c4z.4l4dxnu.js → turbopack-0.6hkxuraykc4.js} +1 -1
  144. package/.next/standalone/.next/static/chunks/{turbopack-05.ehb143ourd.js → turbopack-0g2bivvnd2gyd.js} +1 -1
  145. package/.next/standalone/.next/static/chunks/{turbopack-0ji23rzquaykn.js → turbopack-0heaqdupr4xj6.js} +1 -1
  146. package/.next/standalone/.next/static/chunks/{turbopack-02wj1-z8.1081.js → turbopack-0jcfxeuy1ge85.js} +1 -1
  147. package/.next/standalone/.next/static/chunks/{turbopack-07.z46yb_52p5.js → turbopack-0rntg0~hh7h.0.js} +1 -1
  148. package/.next/standalone/.next/static/chunks/{turbopack-05j~l.6~_nm9l.js → turbopack-0sk1uk-fkcqdx.js} +1 -1
  149. package/.next/standalone/.next/static/chunks/{turbopack-11utvoktq4lmr.js → turbopack-0w89gj59tho~b.js} +1 -1
  150. package/.next/standalone/.next/static/chunks/{turbopack-04t3309-jsj3y.js → turbopack-0~gn911-6yqk2.js} +1 -1
  151. package/.next/standalone/.next/static/chunks/{turbopack-0-rpf9ad3km~v.js → turbopack-14fnzd5yh28gy.js} +1 -1
  152. package/.next/standalone/.next/static/{bybcCRIlOhSPtqdnJUPM- → pZhcwQ83aP87HDTIzzyJ6}/_buildManifest.js +8 -8
  153. package/.next/standalone/.next/static/{bybcCRIlOhSPtqdnJUPM- → pZhcwQ83aP87HDTIzzyJ6}/_clientMiddlewareManifest.js +1 -1
  154. package/.next/standalone/messages/de/terminal.json +1 -1
  155. package/.next/standalone/messages/en/terminal.json +1 -1
  156. package/.next/standalone/messages/es/terminal.json +1 -1
  157. package/.next/standalone/messages/fr/terminal.json +1 -1
  158. package/.next/standalone/messages/ja/terminal.json +1 -1
  159. package/.next/standalone/messages/ko/terminal.json +1 -1
  160. package/.next/standalone/messages/pt-BR/terminal.json +1 -1
  161. package/.next/standalone/messages/ru/terminal.json +1 -1
  162. package/.next/standalone/messages/tr/terminal.json +1 -1
  163. package/.next/standalone/messages/zh-CN/terminal.json +1 -1
  164. package/.next/standalone/messages/zh-TW/terminal.json +1 -1
  165. package/.next/standalone/package.json +6 -5
  166. package/.next/standalone/server.js +1 -1
  167. package/.next/standalone/src/config/tmux.conf +11 -3
  168. package/README.de.md +41 -14
  169. package/README.es.md +41 -14
  170. package/README.fr.md +41 -14
  171. package/README.ja.md +41 -14
  172. package/README.ko.md +41 -14
  173. package/README.md +41 -14
  174. package/README.pt-BR.md +41 -14
  175. package/README.ru.md +41 -14
  176. package/README.tr.md +41 -14
  177. package/README.zh-CN.md +41 -14
  178. package/README.zh-TW.md +41 -14
  179. package/dist/server.js +6 -5
  180. package/package.json +6 -5
  181. package/src/config/tmux.conf +11 -3
  182. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y7-o~r._.js +0 -3
  183. package/.next/standalone/.next/server/chunks/ssr/_08ytq3p._.js +0 -8
  184. package/.next/standalone/.next/static/chunks/00snihvygw9l4.js +0 -1
  185. package/.next/standalone/.next/static/chunks/00yfl7agnve...js +0 -5
  186. package/.next/standalone/.next/static/chunks/02ocrfbfg24nx.js +0 -1
  187. package/.next/standalone/.next/static/chunks/04rkjr-2duj5b.js +0 -1
  188. package/.next/standalone/.next/static/chunks/0c8wt2p0xhe5i.js +0 -1
  189. package/.next/standalone/.next/static/chunks/0duqg-kf_y-i3.js +0 -1
  190. package/.next/standalone/.next/static/chunks/0ep22zye8flqz.js +0 -1
  191. package/.next/standalone/.next/static/chunks/0ff6a07hvp4pu.js +0 -6
  192. package/.next/standalone/.next/static/chunks/0fg9x61ohrtv3.js +0 -1
  193. package/.next/standalone/.next/static/chunks/0fgx5m8vdxaap.js +0 -1
  194. package/.next/standalone/.next/static/chunks/0m_sn0gry7q~c.js +0 -1
  195. package/.next/standalone/.next/static/chunks/0p5c0gp6gyhh6.js +0 -1
  196. package/.next/standalone/.next/static/chunks/0qsmo2marl-6d.js +0 -16
  197. package/.next/standalone/.next/static/chunks/0ul9.j_tmw365.js +0 -1
  198. package/.next/standalone/.next/static/chunks/107yj1xx63glr.js +0 -1
  199. package/.next/standalone/.next/static/chunks/12_04jv.ecbd-.js +0 -1
  200. package/.next/standalone/.next/static/chunks/14cccdp9z2qvf.js +0 -8
  201. package/.next/standalone/.next/static/chunks/14yj.l6qq359_.js +0 -1
  202. package/.next/standalone/.next/static/chunks/1786bmcy3s8sd.js +0 -1
  203. package/.next/standalone/.next/static/chunks/17mf_h-e8sebp.js +0 -1
  204. /package/.next/standalone/.next/static/{bybcCRIlOhSPtqdnJUPM- → pZhcwQ83aP87HDTIzzyJ6}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[51395,a=>{"use strict";let b,c;var d=a.i(508171),e=a.i(127669),f=a.i(113952),g=a.i(369773),h=a.i(506766),i=a.i(493901);function j({groupSize:a,panelElement:b,styleProp:c}){let d,[e,f]=function(a){switch(typeof a){case"number":return[a,"px"];case"string":{let b=parseFloat(a);return a.endsWith("%")?[b,"%"]:a.endsWith("px")?[b,"px"]:a.endsWith("rem")?[b,"rem"]:a.endsWith("em")?[b,"em"]:a.endsWith("vh")?[b,"vh"]:a.endsWith("vw")?[b,"vw"]:[b,"%"]}}}(c);switch(f){case"%":d=e/100*a;break;case"px":d=e;break;case"rem":d=e*parseFloat(getComputedStyle(b.ownerDocument.body).fontSize);break;case"em":d=e*parseFloat(getComputedStyle(b).fontSize);break;case"vh":d=e/100*window.innerHeight;break;case"vw":d=e/100*window.innerWidth}return d}function k(a){return parseFloat(a.toFixed(3))}function l({group:a}){let{orientation:b,panels:c}=a;return c.reduce((a,c)=>a+="horizontal"===b?c.element.offsetWidth:c.element.offsetHeight,0)}function m(a){let{panels:b}=a,c=l({group:a});return 0===c?b.map(a=>({groupResizeBehavior:a.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:!0===a.panelConstraints.collapsible,defaultSize:void 0,disabled:a.panelConstraints.disabled,minSize:0,maxSize:100,panelId:a.id})):b.map(a=>{let b,{element:d,panelConstraints:e}=a,f=0;void 0!==e.collapsedSize&&(f=k(j({groupSize:c,panelElement:d,styleProp:e.collapsedSize})/c*100)),void 0!==e.defaultSize&&(b=k(j({groupSize:c,panelElement:d,styleProp:e.defaultSize})/c*100));let g=0;void 0!==e.minSize&&(g=k(j({groupSize:c,panelElement:d,styleProp:e.minSize})/c*100));let h=100;return void 0!==e.maxSize&&(h=k(j({groupSize:c,panelElement:d,styleProp:e.maxSize})/c*100)),{groupResizeBehavior:e.groupResizeBehavior,collapsedSize:f,collapsible:!0===e.collapsible,defaultSize:b,disabled:e.disabled,minSize:g,maxSize:h,panelId:a.id}})}function n(a,b="Assertion error"){if(!a)throw Error(b)}function o(a,b){return Array.from(b).sort("horizontal"===a?p:q)}function p(a,b){let c=a.element.offsetLeft-b.element.offsetLeft;return 0!==c?c:a.element.offsetWidth-b.element.offsetWidth}function q(a,b){let c=a.element.offsetTop-b.element.offsetTop;return 0!==c?c:a.element.offsetHeight-b.element.offsetHeight}function r(a){return null!==a&&"object"==typeof a&&"nodeType"in a&&a.nodeType===Node.ELEMENT_NODE}function s(a,b){return{x:a.x>=b.left&&a.x<=b.right?0:Math.min(Math.abs(a.x-b.left),Math.abs(a.x-b.right)),y:a.y>=b.top&&a.y<=b.bottom?0:Math.min(Math.abs(a.y-b.top),Math.abs(a.y-b.bottom))}}function t(a){let{element:c,orientation:d,panels:e,separators:f}=a,g=o(d,Array.from(c.children).filter(r).map(a=>({element:a}))).map(({element:a})=>a),h=[],i=!1,j=!1,k=-1,m=-1,p=0,q,t=[];{let a=-1;for(let b of g)b.hasAttribute("data-panel")&&(a++,b.hasAttribute("data-disabled")||(p++,-1===k&&(k=a),m=a))}if(p>1){let c=-1;for(let o of g)if(o.hasAttribute("data-panel")){c++;let f=e.find(a=>a.element===o);if(f){if(q){let e,g=q.element.getBoundingClientRect(),p=o.getBoundingClientRect();if(j){let a="horizontal"===d?new DOMRect(g.right,g.top,0,g.height):new DOMRect(g.left,g.bottom,g.width,0),b="horizontal"===d?new DOMRect(p.left,p.top,0,p.height):new DOMRect(p.left,p.top,p.width,0);switch(t.length){case 0:e=[a,b];break;case 1:{let c=t[0],f=function({orientation:a,rects:b,targetRect:c}){let d={x:c.x+c.width/2,y:c.y+c.height/2},e,f=Number.MAX_VALUE;for(let c of b){let{x:b,y:g}=s(d,c),h="horizontal"===a?b:g;h<f&&(f=h,e=c)}return n(e,"No rect found"),e}({orientation:d,rects:[g,p],targetRect:c.element.getBoundingClientRect()});e=[c,f===g?b:a];break}default:e=t}}else e=t.length?t:["horizontal"===d?new DOMRect(g.right,p.top,p.left-g.right,p.height):new DOMRect(p.left,g.bottom,p.width,p.top-g.bottom)];for(let d of e){let e="width"in d?d:d.element.getBoundingClientRect(),g=(void 0===b&&(b="function"==typeof matchMedia&&!!matchMedia("(pointer:coarse)").matches),b)?a.resizeTargetMinimumSize.coarse:a.resizeTargetMinimumSize.fine;if(e.width<g){let a=g-e.width;e=new DOMRect(e.x-a/2,e.y,e.width+a,e.height)}if(e.height<g){let a=g-e.height;e=new DOMRect(e.x,e.y-a/2,e.width,e.height+a)}let j=c<=k||c>m;i||j||h.push({group:a,groupSize:l({group:a}),panels:[q,f],separator:"width"in d?void 0:d,rect:e}),i=!1}}j=!1,q=f,t=[]}}else if(o.hasAttribute("data-separator")){null!==o.ariaDisabled&&(i=!0);let a=f.find(a=>a.element===o);a?t.push(a):(q=void 0,t=[])}else j=!0}return h}class u{#a={};addListener(a,b){let c=this.#a[a];return void 0===c?this.#a[a]=[b]:c.includes(b)||c.push(b),()=>{this.removeListener(a,b)}}emit(a,b){let c=this.#a[a];if(void 0!==c)if(1===c.length)c[0].call(null,b);else{let a=!1,d=null,e=Array.from(c);for(let c=0;c<e.length;c++){let f=e[c];try{f.call(null,b)}catch(b){null===d&&(a=!0,d=b)}}if(a)throw d}}removeAllListeners(){this.#a={}}removeListener(a,b){let c=this.#a[a];if(void 0!==c){let a=c.indexOf(b);a>=0&&c.splice(a,1)}}}let v=new Map,w=new u;function x(a,b){for(let[b]of v)if(b.id===a)return b}function y(a,b){for(let[b,c]of v)if(b.id===a)return c;if(b)throw Error(`Could not find data for Group with id ${a}`)}function z(a,b){return w.addListener("groupChange",c=>{c.group.id===a&&b(c)})}function A(a,b){let c=v.get(a);(v=new Map(v)).set(a,b),w.emit("groupChange",{group:a,prev:c,next:b})}let B=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function C(a){let b=a.length;for(;b--;){let c=a[b];if(n(c,"Missing node"),function(a){let b,c=getComputedStyle(a);return!!("fixed"===c.position||"auto"!==c.zIndex&&("static"!==c.position||"flex"===(b=getComputedStyle(F(a)??a).display)||"inline-flex"===b)||1>+c.opacity||"transform"in c&&"none"!==c.transform||"webkitTransform"in c&&"none"!==c.webkitTransform||"mixBlendMode"in c&&"normal"!==c.mixBlendMode||"filter"in c&&"none"!==c.filter||"webkitFilter"in c&&"none"!==c.webkitFilter||"isolation"in c&&"isolate"===c.isolation||B.test(c.willChange)||"touch"===c.webkitOverflowScrolling)}(c))return c}return null}function D(a){return a&&Number(getComputedStyle(a).zIndex)||0}function E(a){let b=[];for(;a;)b.push(a),a=F(a);return b}function F(a){let{parentNode:b}=a;return null!==b&&"object"==typeof b&&"nodeType"in b&&b.nodeType===Node.DOCUMENT_FRAGMENT_NODE?b.host:b}function G(a,b){let c=[];return b.forEach((b,d)=>{if(d.disabled)return;let e=t(d),f=function(a,b,c){let d,e={x:1/0,y:1/0};for(let f of b){let b=s(c,f.rect);switch(a){case"horizontal":b.x<=e.x&&(d=f,e=b);break;case"vertical":b.y<=e.y&&(d=f,e=b)}}return d?{distance:e,hitRegion:d}:void 0}(d.orientation,e,{x:a.clientX,y:a.clientY});f&&f.distance.x<=0&&f.distance.y<=0&&function({groupElement:a,hitRegion:b,pointerEventTarget:c}){if(!r(c)||c.contains(a)||a.contains(c))return!0;if(function(a,b){let c;if(a===b)throw Error("Cannot compare node with itself");let d={a:E(a),b:E(b)};for(;d.a.at(-1)===d.b.at(-1);)c=d.a.pop(),d.b.pop();n(c,"Stacking order can only be calculated for elements with a common ancestor");let e={a:D(C(d.a)),b:D(C(d.b))};if(e.a===e.b){let a=c.childNodes,b={a:d.a.at(-1),b:d.b.at(-1)},e=a.length;for(;e--;){let c=a[e];if(c===b.a)return 1;if(c===b.b)return -1}}return Math.sign(e.a-e.b)}(c,a)>0){let e=c;for(;e;){var d;if(e.contains(a))break;if(d=e.getBoundingClientRect(),d.x<b.x+b.width&&d.x+d.width>b.x&&d.y<b.y+b.height&&d.y+d.height>b.y)return!1;e=e.parentElement}}return!0}({groupElement:d.element,hitRegion:f.hitRegion.rect,pointerEventTarget:a.target})&&c.push(f.hitRegion)}),c}function H(a,b,c=0){return Math.abs(k(a)-k(b))<=c}function I(a,b){return H(a,b)?0:a>b?1:-1}function J({overrideDisabledPanels:a,panelConstraints:b,prevSize:c,size:d}){let{collapsedSize:e=0,collapsible:f,disabled:g,maxSize:h=100,minSize:i=0}=b;return g&&!a?c:(0>I(d,i)&&(d=f&&0>I(d,(e+i)/2)?e:i),k(d=Math.min(h,d)))}function K({delta:a,initialLayout:b,panelConstraints:c,pivotIndices:d,prevLayout:e,trigger:f}){if(H(a,0))return b;let g="imperative-api"===f,h=Object.values(b),i=Object.values(e),j=[...h],[k,l]=d;n(null!=k,"Invalid first pivot index"),n(null!=l,"Invalid second pivot index");let m=0;if("keyboard"===f){{let b=a<0?l:k,d=c[b];n(d,`Panel constraints not found for index ${b}`);let{collapsedSize:e=0,collapsible:f,minSize:g=0}=d;if(f){let c=h[b];if(n(null!=c,`Previous layout not found for panel index ${b}`),H(c,e)){let b=g-c;I(b,Math.abs(a))>0&&(a=a<0?0-b:b)}}}{let b=a<0?k:l,d=c[b];n(d,`No panel constraints found for index ${b}`);let{collapsedSize:e=0,collapsible:f,minSize:g=0}=d;if(f){let c=h[b];if(n(null!=c,`Previous layout not found for panel index ${b}`),H(c,g)){let b=c-e;I(b,Math.abs(a))>0&&(a=a<0?0-b:b)}}}}else{let b=a<0?l:k,d=c[b];n(d,`Panel constraints not found for index ${b}`);let e=h[b],{collapsible:f,collapsedSize:g,minSize:i}=d;if(f&&0>I(e,i))if(a>0){let b=i-g;0>I(e+a,i)&&(a=0>=I(a,b/2)?0:b)}else{let b=i-g;0>I(e-a,i)&&(a=I(100+a,100-b/2)>0?0:-b)}}{let b=a<0?1:-1,d=a<0?l:k,e=0;for(;;){let a=h[d];if(n(null!=a,`Previous layout not found for panel index ${d}`),e+=J({overrideDisabledPanels:g,panelConstraints:c[d],prevSize:a,size:100})-a,(d+=b)<0||d>=c.length)break}let f=Math.min(Math.abs(a),Math.abs(e));a=a<0?0-f:f}{let b=a<0?k:l;for(;b>=0&&b<c.length;){let d=Math.abs(a)-Math.abs(m),e=h[b];n(null!=e,`Previous layout not found for panel index ${b}`);let f=e-d,i=J({overrideDisabledPanels:g,panelConstraints:c[b],prevSize:e,size:f});if(!H(e,i)&&(m+=e-i,j[b]=i,m.toFixed(3).localeCompare(Math.abs(a).toFixed(3),void 0,{numeric:!0})>=0))break;a<0?b--:b++}}if(function(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}(i,j))return e;{let b=a<0?l:k,d=h[b];n(null!=d,`Previous layout not found for panel index ${b}`);let e=d+m,f=J({overrideDisabledPanels:g,panelConstraints:c[b],prevSize:d,size:e});if(j[b]=f,!H(f,e)){let b=e-f,d=a<0?l:k;for(;d>=0&&d<c.length;){let e=j[d];n(null!=e,`Previous layout not found for panel index ${d}`);let f=e+b,h=J({overrideDisabledPanels:g,panelConstraints:c[d],prevSize:e,size:f});if(H(e,h)||(b-=h-e,j[d]=h),H(b,0))break;a>0?d--:d++}}}if(!H(Object.values(j).reduce((a,b)=>b+a,0),100,.1))return e;let o=Object.keys(e);return j.reduce((a,b,c)=>(a[o[c]]=b,a),{})}function L(a,b){if(Object.keys(a).length!==Object.keys(b).length)return!1;for(let c in a)if(void 0===b[c]||0!==I(a[c],b[c]))return!1;return!0}function M({layout:a,panelConstraints:b}){let c=Object.values(a),d=[...c],e=d.reduce((a,b)=>a+b,0);if(d.length!==b.length)throw Error(`Invalid ${b.length} panel layout: ${d.map(a=>`${a}%`).join(", ")}`);if(!H(e,100)&&d.length>0)for(let a=0;a<b.length;a++){let b=d[a];n(null!=b,`No layout data found for index ${a}`);let c=100/e*b;d[a]=c}let f=0;for(let a=0;a<b.length;a++){let e=c[a];n(null!=e,`No layout data found for index ${a}`);let g=d[a];n(null!=g,`No layout data found for index ${a}`);let h=J({overrideDisabledPanels:!0,panelConstraints:b[a],prevSize:e,size:g});g!=h&&(f+=g-h,d[a]=h)}if(!H(f,0))for(let a=0;a<b.length;a++){let c=d[a];n(null!=c,`No layout data found for index ${a}`);let e=c+f,g=J({overrideDisabledPanels:!0,panelConstraints:b[a],prevSize:c,size:e});if(c!==g&&(f-=g-c,d[a]=g,H(f,0)))break}let g=Object.keys(a);return d.reduce((a,b,c)=>(a[g[c]]=b,a),{})}function N({groupId:a,panelId:b}){let c=()=>{for(let[b,{defaultLayoutDeferred:c,derivedPanelConstraints:d,layout:e,groupSize:f,separatorToPanels:g}]of v)if(b.id===a)return{defaultLayoutDeferred:c,derivedPanelConstraints:d,group:b,groupSize:f,layout:e,separatorToPanels:g};throw Error(`Group ${a} not found`)},d=()=>{let a=c().derivedPanelConstraints.find(a=>a.panelId===b);if(void 0!==a)return a;throw Error(`Panel constraints not found for Panel ${b}`)},e=()=>{let a=c().group.panels.find(a=>a.id===b);if(void 0!==a)return a;throw Error(`Layout not found for Panel ${b}`)},f=()=>{let a=c().layout[b];if(void 0!==a)return a;throw Error(`Layout not found for Panel ${b}`)},g=a=>{let d=f();if(a===d)return;let{defaultLayoutDeferred:e,derivedPanelConstraints:g,group:h,groupSize:i,layout:j,separatorToPanels:k}=c(),l=h.panels.findIndex(a=>a.id===b),m=l===h.panels.length-1,n=M({layout:K({delta:m?d-a:a-d,initialLayout:j,panelConstraints:g,pivotIndices:m?[l-1,l]:[l,l+1],prevLayout:j,trigger:"imperative-api"}),panelConstraints:g});L(j,n)||A(h,{defaultLayoutDeferred:e,derivedPanelConstraints:g,groupSize:i,layout:n,separatorToPanels:k})};return{collapse:()=>{let{collapsible:a,collapsedSize:b}=d(),{mutableValues:c}=e(),h=f();a&&h!==b&&(c.expandToSize=h,g(b))},expand:()=>{let{collapsible:a,collapsedSize:b,minSize:c}=d(),{mutableValues:h}=e(),i=f();if(a&&i===b){let a=h.expandToSize??c;0===a&&(a=1),g(a)}},getSize:()=>{let{group:a}=c(),b=f(),{element:d}=e();return{asPercentage:b,inPixels:"horizontal"===a.orientation?d.offsetWidth:d.offsetHeight}},isCollapsed:()=>{let{collapsible:a,collapsedSize:b}=d(),c=f();return a&&H(b,c)},resize:a=>{let{group:b}=c(),{element:d}=e(),f=l({group:b});g(k(j({groupSize:f,panelElement:d,styleProp:a})/f*100))}}}function O(a){a.defaultPrevented||G(a,v).forEach(b=>{if(b.separator&&!b.separator.disableDoubleClick){let c=b.panels.find(a=>void 0!==a.panelConstraints.defaultSize);if(c){let d=c.panelConstraints.defaultSize,e=N({groupId:b.group.id,panelId:c.id});e&&void 0!==d&&(e.resize(d),a.preventDefault())}}})}function P(a){for(let[b]of v)if(b.separators.some(b=>b.element===a))return b;throw Error("Could not find parent Group for separator element")}function Q({groupId:a}){let b=()=>{for(let[b,c]of v)if(b.id===a)return{group:b,...c};throw Error(`Could not find Group with id "${a}"`)};return{getLayout(){let{defaultLayoutDeferred:a,layout:c}=b();return a?{}:c},setLayout(a){let{defaultLayoutDeferred:c,derivedPanelConstraints:d,group:e,groupSize:f,layout:g,separatorToPanels:h}=b(),i=M({layout:a,panelConstraints:d});return c?g:(L(g,i)||A(e,{defaultLayoutDeferred:c,derivedPanelConstraints:d,groupSize:f,layout:i,separatorToPanels:h}),i)}}}function R(a,b){let c=P(a),d=y(c.id,!0),e=c.separators.find(b=>b.element===a);n(e,"Matching separator not found");let f=d.separatorToPanels.get(e);n(f,"Matching panels not found");let g=f.map(a=>c.panels.indexOf(a)),h=Q({groupId:c.id}).getLayout(),i=M({layout:K({delta:b,initialLayout:h,panelConstraints:d.derivedPanelConstraints,pivotIndices:g,prevLayout:h,trigger:"keyboard"}),panelConstraints:d.derivedPanelConstraints});L(h,i)||A(c,{defaultLayoutDeferred:d.defaultLayoutDeferred,derivedPanelConstraints:d.derivedPanelConstraints,groupSize:d.groupSize,layout:i,separatorToPanels:d.separatorToPanels})}function S(a){if(a.defaultPrevented)return;let b=a.currentTarget,c=P(b);if(!c.disabled)switch(a.key){case"ArrowDown":a.preventDefault(),"vertical"===c.orientation&&R(b,5);break;case"ArrowLeft":a.preventDefault(),"horizontal"===c.orientation&&R(b,-5);break;case"ArrowRight":a.preventDefault(),"horizontal"===c.orientation&&R(b,5);break;case"ArrowUp":a.preventDefault(),"vertical"===c.orientation&&R(b,-5);break;case"End":a.preventDefault(),R(b,100);break;case"Enter":{a.preventDefault();let c=P(b),{derivedPanelConstraints:d,layout:e,separatorToPanels:f}=y(c.id,!0),g=c.separators.find(a=>a.element===b);n(g,"Matching separator not found");let h=f.get(g);n(h,"Matching panels not found");let i=h[0],j=d.find(a=>a.panelId===i.id);if(n(j,"Panel metadata not found"),j.collapsible){let a=e[i.id];R(b,(j.collapsedSize===a?c.mutableState.expandedPanelSizes[i.id]??j.minSize:j.collapsedSize)-a)}break}case"F6":{a.preventDefault();let c=P(b).separators.map(a=>a.element),d=Array.from(c).findIndex(b=>b===a.currentTarget);n(null!==d,"Index not found");let e=a.shiftKey?d>0?d-1:c.length-1:d+1<c.length?d+1:0;c[e].focus({preventScroll:!0});break}case"Home":a.preventDefault(),R(b,-100)}}let T={cursorFlags:0,state:"inactive"},U=new u;function V(a){let b=T;T=a,U.emit("change",{prev:b,next:a})}function W(a){if(a.defaultPrevented||"mouse"===a.pointerType&&a.button>0)return;let b=v,c=G(a,b),d=new Map,e=!1;c.forEach(a=>{a.separator&&(e||(e=!0,a.separator.element.focus({preventScroll:!0})));let c=b.get(a.group);c&&d.set(a.group,c.layout)}),V({cursorFlags:0,hitRegions:c,initialLayoutMap:d,pointerDownAtPoint:{x:a.clientX,y:a.clientY},state:"active"}),c.length&&a.preventDefault()}let X=a=>a,Y=()=>{};function Z(){return void 0===c&&(c=!1),c}let $=new WeakMap;function _(a){if(null===a.defaultView||void 0===a.defaultView)return;let{prevStyle:b,styleSheet:c}=$.get(a)??{};void 0===c&&(c=new a.defaultView.CSSStyleSheet,a.adoptedStyleSheets&&a.adoptedStyleSheets.push(c));let d=T;switch(d.state){case"active":case"hover":{let a=function({cursorFlags:a,groups:b,state:c}){let d=0,e=0;switch(c){case"active":case"hover":b.forEach(a=>{if(!a.mutableState.disableCursor)switch(a.orientation){case"horizontal":d++;break;case"vertical":e++}})}if(0!==d||0!==e){if("active"===c&&a&&Z()){let b=(4&a)!=0,c=(8&a)!=0;if((1&a)!=0)return b?"se-resize":c?"ne-resize":"e-resize";if((2&a)!=0)return b?"sw-resize":c?"nw-resize":"w-resize";if(b)return"s-resize";if(c)return"n-resize"}return Z()?d>0&&e>0?"move":d>0?"ew-resize":"ns-resize":d>0&&e>0?"grab":d>0?"col-resize":"row-resize"}}({cursorFlags:d.cursorFlags,groups:d.hitRegions.map(a=>a.group),state:d.state}),e=`*, *:hover {cursor: ${a} !important; }`;if(b===e)return;b=e,a?0===c.cssRules.length?c.insertRule(e):c.replaceSync(e):1===c.cssRules.length&&c.deleteRule(0);break}case"inactive":b=void 0,1===c.cssRules.length&&c.deleteRule(0)}$.set(a,{prevStyle:b,styleSheet:c})}function aa({document:a,event:b,hitRegions:c,initialLayoutMap:d,mountedGroups:e,pointerDownAtPoint:f,prevCursorFlags:g}){var h;let i,j,k=0;c.forEach(a=>{let{group:c,groupSize:g}=a,{orientation:h,panels:i}=c,{disableCursor:j}=c.mutableState,l=0;l=f?"horizontal"===h?(b.clientX-f.x)/g*100:(b.clientY-f.y)/g*100:"horizontal"===h?b.clientX<0?-100:100:b.clientY<0?-100:100;let m=d.get(c),n=e.get(c);if(!m||!n)return;let{defaultLayoutDeferred:o,derivedPanelConstraints:p,groupSize:q,layout:r,separatorToPanels:s}=n;if(p&&r&&s){let b=K({delta:l,initialLayout:m,panelConstraints:p,pivotIndices:a.panels.map(a=>i.indexOf(a)),prevLayout:r,trigger:"mouse-or-touch"});if(L(b,r)){if(0!==l&&!j)switch(h){case"horizontal":k|=l<0?1:2;break;case"vertical":k|=l<0?4:8}}else A(a.group,{defaultLayoutDeferred:o,derivedPanelConstraints:p,groupSize:q,layout:b,separatorToPanels:s})}});let l=0;0===b.movementX?l|=3&g:l|=3&k,0===b.movementY?l|=12&g:l|=12&k,h=l,i=T,(j={...T}).cursorFlags=h,T=j,U.emit("change",{prev:i,next:j}),_(a)}function ab(a){let b=v,c=T;"active"===c.state&&aa({document:a.currentTarget,event:a,hitRegions:c.hitRegions,initialLayoutMap:c.initialLayoutMap,mountedGroups:b,prevCursorFlags:c.cursorFlags})}function ac(a){if(a.defaultPrevented)return;let b=T,c=v;if("active"===b.state){if(0===a.buttons){V({cursorFlags:0,state:"inactive"}),b.hitRegions.forEach(a=>{let b=y(a.group.id,!0);A(a.group,b)});return}for(let c of b.hitRegions)if(c.separator){let{element:b}=c.separator;b.hasPointerCapture?.(a.pointerId)||b.setPointerCapture?.(a.pointerId)}aa({document:a.currentTarget,event:a,hitRegions:b.hitRegions,initialLayoutMap:b.initialLayoutMap,mountedGroups:c,pointerDownAtPoint:b.pointerDownAtPoint,prevCursorFlags:b.cursorFlags})}else{let d=G(a,c);0===d.length?"inactive"!==b.state&&V({cursorFlags:0,state:"inactive"}):V({cursorFlags:0,hitRegions:d,state:"hover"}),_(a.currentTarget)}}function ad(a){a.relatedTarget instanceof HTMLIFrameElement&&"hover"===T.state&&V({cursorFlags:0,state:"inactive"})}function ae(a){if(a.defaultPrevented||"mouse"===a.pointerType&&a.button>0)return;let b=T;"active"===b.state&&(V({cursorFlags:0,state:"inactive"}),b.hitRegions.length>0&&(_(a.currentTarget),b.hitRegions.forEach(a=>{let b=y(a.group.id,!0);A(a.group,b)}),a.preventDefault()))}function af(a){let b=0,c=0,d={};for(let e of a)if(void 0!==e.defaultSize){b++;let a=k(e.defaultSize);c+=a,d[e.panelId]=a}else d[e.panelId]=void 0;let e=a.length-b;if(0!==e){let b=k((100-c)/e);for(let c of a)void 0===c.defaultSize&&(d[c.panelId]=b)}return d}let ag=new Map;function ah(a){let b=(0,e.useId)();return`${a??b}`}let ai=e.useEffect;function aj(a){let b=(0,e.useRef)(a);return ai(()=>{b.current=a},[a]),(0,e.useCallback)((...a)=>b.current?.(...a),[b])}function ak(...a){return aj(b=>{a.forEach(a=>{if(a)switch(typeof a){case"function":a(b);break;case"object":a.current=b}})})}function al(a){let b=(0,e.useRef)({...a});return ai(()=>{for(let c in a)b.current[c]=a[c]},[a]),b.current}let am=(0,e.createContext)(null);function an({children:a,className:b,defaultLayout:c,disableCursor:f,disabled:g,elementRef:h,groupRef:i,id:j,onLayoutChange:p,onLayoutChanged:q,orientation:r="horizontal",resizeTargetMinimumSize:s={coarse:20,fine:10},style:u,...w}){let B,C=(0,e.useRef)({onLayoutChange:{},onLayoutChanged:{}}),D=aj(a=>{L(C.current.onLayoutChange,a)||(C.current.onLayoutChange=a,p?.(a))}),E=aj(a=>{L(C.current.onLayoutChanged,a)||(C.current.onLayoutChanged=a,q?.(a))}),F=ah(j),G=(0,e.useRef)(null),[I,J]=function(){let[a,b]=(0,e.useState)({});return[a,(0,e.useCallback)(()=>b({}),[])]}(),K=(0,e.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:s,separators:[]}),N=ak(G,h);B=(0,e.useRef)({getLayout:()=>({}),setLayout:X}),(0,e.useImperativeHandle)(i,()=>B.current,[]),ai(()=>{Object.assign(B.current,Q({groupId:F}))});let P=aj((a,b)=>{let d=T,e=x(a),f=y(a);if(f){let a=!1;return"active"===d.state&&(a=d.hitRegions.some(a=>a.group===e)),{flexGrow:f.layout[b]??1,pointerEvents:a?"none":void 0}}if(c?.[b])return{flexGrow:c?.[b]}}),R=al({defaultLayout:c,disableCursor:f}),U=(0,e.useMemo)(()=>({get disableCursor(){return!!R.disableCursor},getPanelStyles:P,id:F,orientation:r,registerPanel:a=>{let b=K.current;return b.panels=o(r,[...b.panels,a]),J(),()=>{b.panels=b.panels.filter(b=>b!==a),J()}},registerSeparator:a=>{let b=K.current;return b.separators=o(r,[...b.separators,a]),J(),()=>{b.separators=b.separators.filter(b=>b!==a),J()}},updatePanelProps:(a,{disabled:b})=>{let c=K.current.panels.find(b=>b.id===a);c&&(c.panelConstraints.disabled=b);let d=x(F),e=y(F);d&&e&&A(d,{...e,derivedPanelConstraints:m(d)})},updateSeparatorProps:(a,{disabled:b,disableDoubleClick:c})=>{let d=K.current.separators.find(b=>b.id===a);d&&(d.disabled=b,d.disableDoubleClick=c)}}),[P,F,J,r,R]),V=(0,e.useRef)(null);return ai(()=>{let a,b,c,d,e,f,h,i,j,o,p,q,s,u=G.current;if(null===u)return;let w=K.current;if(void 0!==R.defaultLayout&&Object.keys(R.defaultLayout).length===w.panels.length)for(let b of(a={},w.panels)){let c=R.defaultLayout[b.id];void 0!==c&&(a[b.id]=c)}let x={disabled:!!g,element:u,id:F,mutableState:{defaultLayout:a,disableCursor:!!R.disableCursor,expandedPanelSizes:K.current.lastExpandedPanelSizes,layouts:K.current.layouts},orientation:r,panels:w.panels,resizeTargetMinimumSize:w.resizeTargetMinimumSize,separators:w.separators};V.current=x;let B=(b=!0,n(x.element.ownerDocument.defaultView,"Cannot register an unmounted Group"),c=x.element.ownerDocument.defaultView.ResizeObserver,d=new Set,e=new Set,(f=new c(a=>{for(let c of a){let{borderBoxSize:a,target:d}=c;if(d===x.element){if(b){let a=l({group:x});if(0===a)return;let b=y(x.id);if(!b)return;let c=m(x),d=b.defaultLayoutDeferred?af(c):b.layout,e=M({layout:function({group:a,nextGroupSize:b,prevGroupSize:c,prevLayout:d}){if(c<=0||b<=0||c===b)return d;let e=0,f=0,g=!1,h=new Map,i=[];for(let j of a.panels){let a=d[j.id]??0;if("preserve-pixel-size"===j.panelConstraints.groupResizeBehavior){g=!0;let d=k(a/100*c/b*100);h.set(j.id,d),e+=d}else i.push(j.id),f+=a}if(!g||0===i.length)return d;let j=100-e,l={...d};if(h.forEach((a,b)=>{l[b]=a}),f>0)for(let a of i){let b=d[a]??0;l[a]=k(b/f*j)}else{let a=k(j/i.length);for(let b of i)l[b]=a}return l}({group:x,nextGroupSize:a,prevGroupSize:b.groupSize,prevLayout:d}),panelConstraints:c});if(!b.defaultLayoutDeferred&&L(b.layout,e)&&function(a,b){if(Object.keys(a).length!==Object.keys(b).length)return!1;for(let c in a)if(a[c]!==b[c])return!1;return!0}(b.derivedPanelConstraints,c)&&b.groupSize===a)return;A(x,{defaultLayoutDeferred:!1,derivedPanelConstraints:c,groupSize:a,layout:e,separatorToPanels:b.separatorToPanels})}}else!function(a,b,c){if(!c[0])return;let d=a.panels.find(a=>a.element===b);if(!d||!d.onResize)return;let e=l({group:a}),f="horizontal"===a.orientation?d.element.offsetWidth:d.element.offsetHeight,g=d.mutableValues.prevSize,h={asPercentage:k(f/e*100),inPixels:f};d.mutableValues.prevSize=h,d.onResize(h,d.id,g)}(x,d,a)}})).observe(x.element),x.panels.forEach(a=>{n(!d.has(a.id),`Panel ids must be unique; id "${a.id}" was used more than once`),d.add(a.id),a.onResize&&f.observe(a.element)}),h=l({group:x}),i=m(x),j=x.panels.map(({id:a})=>a).join(","),(o=x.mutableState.defaultLayout)&&(function(a,b){let c=a.map(a=>a.id),d=Object.keys(b);if(c.length!==d.length)return!1;for(let a of c)if(!d.includes(a))return!1;return!0}(x.panels,o)||(o=void 0)),p=M({layout:x.mutableState.layouts[j]??o??af(i),panelConstraints:i}),q=x.element.ownerDocument,ag.set(q,(ag.get(q)??0)+1),s=new Map,t(x).forEach(a=>{a.separator&&s.set(a.separator,a.panels)}),A(x,{defaultLayoutDeferred:0===h,derivedPanelConstraints:i,groupSize:h,layout:p,separatorToPanels:s}),x.separators.forEach(a=>{n(!e.has(a.id),`Separator ids must be unique; id "${a.id}" was used more than once`),e.add(a.id),a.element.addEventListener("keydown",S)}),1===ag.get(q)&&(q.addEventListener("dblclick",O,!0),q.addEventListener("pointerdown",W,!0),q.addEventListener("pointerleave",ab),q.addEventListener("pointermove",ac),q.addEventListener("pointerout",ad),q.addEventListener("pointerup",ae,!0)),function(){b=!1,ag.set(q,Math.max(0,(ag.get(q)??0)-1)),(v=new Map(v)).delete(x),x.separators.forEach(a=>{a.element.removeEventListener("keydown",S)}),ag.get(q)||(q.removeEventListener("dblclick",O,!0),q.removeEventListener("pointerdown",W,!0),q.removeEventListener("pointerleave",ab),q.removeEventListener("pointermove",ac),q.removeEventListener("pointerout",ad),q.removeEventListener("pointerup",ae,!0)),f.disconnect()}),{defaultLayoutDeferred:C,derivedPanelConstraints:I,layout:J}=y(x.id,!0);!C&&I.length>0&&(D(J),E(J));let N=z(F,a=>{let{defaultLayoutDeferred:b,derivedPanelConstraints:c,layout:d}=a.next;if(b||0===c.length)return;let e=x.panels.map(({id:a})=>a).join(",");x.mutableState.layouts[e]=d,c.forEach(b=>{if(b.collapsible){let{layout:c}=a.prev??{};if(c){let a=H(b.collapsedSize,d[b.panelId]),e=H(b.collapsedSize,c[b.panelId]);a&&!e&&(x.mutableState.expandedPanelSizes[b.panelId]=c[b.panelId])}}});let f="active"!==T.state;D(d),f&&E(d)});return()=>{V.current=null,B(),N()}},[g,F,E,D,r,I,R]),(0,e.useEffect)(()=>{let a=V.current;a&&(a.mutableState.defaultLayout=c,a.mutableState.disableCursor=!!f)}),(0,d.jsx)(am.Provider,{value:U,children:(0,d.jsx)("div",{...w,className:b,"data-group":!0,"data-testid":F,id:F,ref:N,style:{height:"100%",width:"100%",overflow:"hidden",...u,display:"flex",flexDirection:"horizontal"===r?"row":"column",flexWrap:"nowrap",touchAction:"horizontal"===r?"pan-y":"pan-x"},children:a})})}function ao(){let a=(0,e.useContext)(am);return n(a,"Group Context not found; did you render a Panel or Separator outside of a Group?"),a}function ap({children:a,className:b,collapsedSize:c="0%",collapsible:f=!1,defaultSize:g,disabled:h,elementRef:i,groupResizeBehavior:j="preserve-relative-size",id:k,maxSize:l="100%",minSize:m="0%",onResize:n,panelRef:o,style:p,...q}){let r,s=!!k,t=ah(k),u=al({disabled:h}),v=(0,e.useRef)(null),w=ak(v,i),{getPanelStyles:x,id:y,orientation:A,registerPanel:B,updatePanelProps:C}=ao(),D=null!==n,E=aj((a,b,c)=>{n?.(a,k,c)});ai(()=>{let a=v.current;if(null!==a)return B({element:a,id:t,idIsStable:s,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:D?E:void 0,panelConstraints:{groupResizeBehavior:j,collapsedSize:c,collapsible:f,defaultSize:g,disabled:u.disabled,maxSize:l,minSize:m}})},[j,c,f,g,D,t,s,l,m,E,B,u]),(0,e.useEffect)(()=>{C(t,{disabled:h})},[h,t,C]),function(a,b){let{id:c}=ao(),d=(0,e.useRef)({collapse:Y,expand:Y,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:Y});(0,e.useImperativeHandle)(b,()=>d.current,[]),ai(()=>{Object.assign(d.current,N({groupId:c,panelId:a}))})}(t,o);let F=()=>{let a=x(y,t);if(a)return JSON.stringify(a)},G=(0,e.useSyncExternalStore)(a=>z(y,a),F,F);return r=G?JSON.parse(G):g?{flexGrow:void 0,flexShrink:void 0,flexBasis:g}:{flexGrow:1},(0,d.jsx)("div",{...q,"data-disabled":h||void 0,"data-panel":!0,"data-testid":t,id:t,ref:w,style:{...aq,display:"flex",flexBasis:0,flexShrink:1,overflow:"visible",...r},children:(0,d.jsx)("div",{className:b,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,overflow:"auto",...p,touchAction:"horizontal"===A?"pan-y":"pan-x"},children:a})})}an.displayName="Group",ap.displayName="Panel";let aq={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function ar({children:a,className:b,disabled:c,disableDoubleClick:f,elementRef:g,id:h,style:i,...j}){let k,l,m=ah(h),n=al({disabled:c,disableDoubleClick:f}),[o,p]=(0,e.useState)({}),[q,r]=(0,e.useState)("inactive"),[s,t]=(0,e.useState)(!1),u=(0,e.useRef)(null),v=ak(u,g),{disableCursor:w,id:x,orientation:y,registerSeparator:A,updateSeparatorProps:B}=ao();return ai(()=>{let a=u.current;if(null!==a){var b;let c={disabled:n.disabled,disableDoubleClick:n.disableDoubleClick,element:a,id:m},d=A(c),e=(b=a=>{r("inactive"!==a.next.state&&a.next.hitRegions.some(a=>a.separator===c)?a.next.state:"inactive")},U.addListener("change",b)),f=z(x,a=>{let{derivedPanelConstraints:b,layout:d,separatorToPanels:e}=a.next,f=e.get(c);if(f){let a=f[0],c=f.indexOf(a);p(function({layout:a,panelConstraints:b,panelId:c,panelIndex:d}){let e,f,g=a[c],h=b.find(a=>a.panelId===c);if(h){let i=h.maxSize,j=h.collapsible?h.collapsedSize:h.minSize,k=[d,d+1];f=M({layout:K({delta:j-g,initialLayout:a,panelConstraints:b,pivotIndices:k,prevLayout:a}),panelConstraints:b})[c],e=M({layout:K({delta:i-g,initialLayout:a,panelConstraints:b,pivotIndices:k,prevLayout:a}),panelConstraints:b})[c]}return{valueControls:c,valueMax:e,valueMin:f,valueNow:g}}({layout:d,panelConstraints:b,panelId:a.id,panelIndex:c}))}});return()=>{e(),f(),d()}}},[x,m,A,n]),(0,e.useEffect)(()=>{B(m,{disabled:c,disableDoubleClick:f})},[c,f,m,B]),c&&!w&&(k="not-allowed"),l=c?"disabled":"active"===q?"active":s?"focus":q,(0,d.jsx)("div",{...j,"aria-controls":o.valueControls,"aria-disabled":c||void 0,"aria-orientation":"horizontal"===y?"vertical":"horizontal","aria-valuemax":o.valueMax,"aria-valuemin":o.valueMin,"aria-valuenow":o.valueNow,children:a,className:b,"data-separator":l,"data-testid":m,id:m,onBlur:()=>t(!1),onFocus:()=>t(!0),ref:v,role:"separator",style:{flexBasis:"auto",cursor:k,...i,flexGrow:0,flexShrink:0,touchAction:"none"},tabIndex:c?void 0:0})}ar.displayName="Separator";var as=a.i(581228),at=a.i(510414),au=a.i(396465),av=a.i(799856),aw=a.i(626605),ax=a.i(144784),ay=a.i(912251),az=a.i(380132),aA=a.i(760644),aB=a.i(259982);let aC=a=>a?.activePaneId?(0,ax.collectPanes)(a.root).find(b=>b.id===a.activePaneId)??null:null;var aD=a.i(199462),aE=a.i(552591),aF=a.i(456195),aG=a.i(93538),aH=a.i(15143),aH=aH,aI=a.i(343155),aJ=a.i(514385),aK=a.i(693567),aL=a.i(678240),aM=a.i(484682),aN=a.i(864232),aO=a.i(478163),aP=a.i(59443),aQ=a.i(356474),aR=a.i(671015),aS=a.i(850120),aT=a.i(747868),aU=a.i(576949),aV=a.i(291677),aW=a.i(505947),aX=a.i(443821),aY=a.i(795541),aZ=a.i(164405),a$=a.i(166528),a_=a.i(417533),a0=a.i(340001),a1=a.i(378836),a2=a.i(838997),a3=a.i(619923),a4=a.i(47691),a5=a.i(106816);let a6=()=>(0,d.jsx)("div",{className:"shrink-0 border-b",children:(0,d.jsx)("div",{className:"flex items-center px-4 py-1.5",children:(0,d.jsxs)("div",{className:"flex h-5 items-center gap-3",children:[(0,d.jsx)(a0.Skeleton,{className:"h-3 w-40"}),(0,d.jsx)(a0.Skeleton,{className:"h-3 w-20"})]})})}),a7=({meta:a,sessionName:b,sessionId:c,jsonlPath:f})=>{let[g,h]=(0,e.useState)(!1),i=(0,e.useCallback)(()=>h(a=>!a),[]),j=(0,e.useCallback)(()=>h(!1),[]),k=(0,a5.default)(f,g),{branch:l,isLoading:m}=(0,a2.default)(b),{status:n}=(0,a3.default)(b,g),o=(0,a4.default)(b,g),p=(0,e.useRef)(null),[,q]=(0,e.useState)(0);return(0,e.useEffect)(()=>{let a=setInterval(()=>q(a=>a+1),6e4);return()=>clearInterval(a)},[]),(0,e.useEffect)(()=>{if(!g)return;let a=a=>{p.current&&!p.current.contains(a.target)&&j()},b=a=>{"Escape"===a.key&&j()};return document.addEventListener("mousedown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",b)}},[g,j]),(0,d.jsxs)("div",{ref:p,className:"relative shrink-0 border-b",children:[(0,d.jsxs)("div",{className:"flex cursor-pointer items-center justify-between px-4 py-1.5 hover:bg-muted/30",role:"button",tabIndex:0,onClick:i,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),i())},children:[(0,d.jsx)(a1.MetaCompact,{title:a.title,totalCost:a.totalCost,branch:l,usedPercentage:a.usedPercentage,currentContextTokens:a.currentContextTokens,contextWindowSize:a.contextWindowSize}),(0,d.jsx)(aG.ChevronDown,{size:14,className:(0,av.cn)("shrink-0 text-muted-foreground transition-transform duration-150",g&&"rotate-180")})]}),(0,d.jsx)("div",{className:(0,av.cn)("absolute inset-x-0 top-full z-10 origin-top border-b bg-background shadow-sm transition-all duration-150 ease-out",g?"scale-y-100 opacity-100":"pointer-events-none scale-y-95 opacity-0"),children:(0,d.jsx)("div",{className:"px-4 py-3",children:(0,d.jsx)(a1.MetaDetail,{title:a.title,sessionId:c,createdAt:a.createdAt,updatedAt:a.updatedAt,fileSize:a.fileSize,userCount:k?.userCount??a.userCount,assistantCount:k?.assistantCount??a.assistantCount,toolCount:k?.toolCount??null,toolBreakdown:k?.toolBreakdown??null,inputTokens:a.inputTokens,cachedInputTokens:a.cachedInputTokens,outputTokens:a.outputTokens,reasoningOutputTokens:a.reasoningOutputTokens,totalCost:a.totalCost,currentContextTokens:a.currentContextTokens,contextWindowSize:a.contextWindowSize,usedPercentage:a.usedPercentage,model:a.model,branch:l,isBranchLoading:m,gitStatus:n,tmuxInfo:o})})})]})},a8=({tabId:a,sessionName:b,claudeSessionId:c,cwd:g,className:h,onClose:i,onNewSession:j,scrollToBottomRef:k,addPendingMessageRef:l,removePendingMessageRef:m,trustPrompt:n,onTrustResponse:o})=>{let p=(0,f.useTranslations)("terminal"),[q,r]=(0,e.useState)(null),s=(0,aA.default)(b=>b.tabs[a]?.agentProcess??null),t=(0,aA.default)(b=>b.tabs[a]?.agentInstalled??!0),u=(0,aA.default)(b=>b.tabs[a]?.cliState??"inactive"),v=(0,aA.default)(b=>b.tabs[a]?.compactingSince??null),w=(0,aA.default)(b=>(0,aA.selectSessionView)(b.tabs,a)),x=(0,aA.default)(b=>b.tabs[a]?.sessionMetaCache??null),y=(0,aA.default)(b=>b.tabs[a]?.agentSummary??null),z=(0,aA.default)(b=>b.tabs[a]?.lastUserMessage??null),A=(0,e.useCallback)(()=>{r(null)},[]),B=(0,e.useCallback)(a=>{r(null),at.toast.warning(p("resumeBlocked"),{description:a.processName?p("resumeBlockedProcess",{name:a.processName}):void 0})},[p]),C=(0,e.useCallback)(()=>{r(null),at.toast.error(p("resumeFailed"))},[p]),{entries:D,tasks:E,sessionId:F,jsonlPath:G,sessionSummary:H,initMeta:I,sessionStats:J,agentProcess:K,wsStatus:L,isLoading:M,error:N,loadMore:O,hasMore:P,retrySession:Q,sendResume:R,addPendingUserMessage:S,removePendingUserMessage:T}=(0,aR.default)({sessionName:b,claudeSessionId:c,enabled:!!b,resumeCallbacks:{onResumeStarted:A,onResumeBlocked:B,onResumeError:C},onSync:b=>{let c=Date.now();null!==b.agentProcess&&aA.default.getState().setAgentProcess(a,b.agentProcess,c),b.agentInstalled||aA.default.getState().setAgentInstalled(a,!1),aA.default.getState().setTimelineLoading(a,b.isLoading)},getCliState:()=>aA.default.getState().tabs[a]?.cliState}),{sessions:U,hasMore:V,isLoading:W,isLoadingMore:X,error:Y,refetch:Z,loadMore:$}=(0,aS.default)({tmuxSession:b,enabled:!!b&&!0!==s,cwd:g});(0,e.useEffect)(()=>(l&&(l.current=S),m&&(m.current=T),()=>{l&&(l.current=void 0),m&&(m.current=void 0)}),[l,m,S,T]);let _=(0,e.useRef)(s);(0,e.useEffect)(()=>{let a=_.current;_.current=s,!0!==a&&!0===s&&!0!==K&&Q()},[s,K,Q]),(0,e.useEffect)(()=>{if("unknown"!==u)return;let b=new AbortController;return fetch("/api/tmux/recover-unknown",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tabId:a}),signal:b.signal}).catch(()=>{}),()=>b.abort()},[a,u]);let aa=(0,aT.default)("check"===w,b),ab=null===s||0===D.length&&M,ac=(0,aU.useSessionMetaCompute)(D,H,I,J,y,z);(0,e.useEffect)(()=>{ab||aA.default.getState().setSessionMetaCache(a,{meta:ac,sessionId:F,jsonlPath:G})},[ab,ac,F,G,a]);let ad=(0,e.useCallback)(a=>{q||(r(a),R(a,b))},[q,R,b]);if(!t)return(0,d.jsxs)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center gap-3 text-muted-foreground",h),children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:p("installClaude")}),(0,d.jsx)("span",{className:"text-xs",children:p("installClaudeHint")})]});if(n&&o)return(0,d.jsxs)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",h),children:[(0,d.jsx)(aZ.default,{folderPath:n.folderPath,onRespond:o}),(0,d.jsx)("button",{className:"mt-3 text-xs text-muted-foreground underline underline-offset-2 hover:text-foreground",onClick:i,children:p("checkTerminal")})]});if("check"===w)return aa?(0,d.jsx)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",h),children:aa.isBypassPrompt&&aa.options.length>0?(0,d.jsx)(aY.default,{sessionName:b,options:aa.options,fallback:(0,d.jsx)("button",{className:"text-xs text-muted-foreground underline underline-offset-2 hover:text-foreground",onClick:i,children:p("checkTerminal")})}):(0,d.jsx)("button",{className:"mt-3 text-xs text-muted-foreground underline underline-offset-2 hover:text-foreground",onClick:i,children:p("checkTerminal")})}):(0,d.jsx)(aX.default,{icon:(0,d.jsx)(a_.default,{className:"h-8 w-8 text-foreground motion-safe:animate-spin motion-reduce:opacity-70 [animation-duration:1.5s]"}),main:c||F?p("claudeBootResuming"):p("claudeBootMain"),almostReady:p("claudeBootAlmostReady"),subtitle:p("claudeBootSubtitle"),className:(0,av.cn)("animate-delayed-fade-in",h)});if("session-list"===w)return null===s||W&&0===U.length?(0,d.jsx)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",h),children:(0,d.jsx)(as.default,{className:"h-4 w-4 text-muted-foreground"})}):0!==U.length||Y?(0,d.jsx)("div",{className:(0,av.cn)("h-full w-full",h),children:(0,d.jsx)(aV.default,{sessions:U,isLoading:W,isLoadingMore:X,hasMore:V,error:Y,resumingSessionId:q,onSelectSession:ad,onRefresh:Z,onLoadMore:$,onNewSession:j})}):(0,d.jsx)("div",{className:(0,av.cn)("h-full w-full",h),children:(0,d.jsx)(aW.default,{onClose:i,onNewSession:j})});let ae=ab?x:{meta:ac,sessionId:F,jsonlPath:G};return(0,d.jsxs)("div",{className:(0,av.cn)("flex min-h-0 w-full flex-1 flex-col",h),children:[ae?(0,d.jsx)(a7,{meta:ae.meta,sessionName:b,sessionId:ae.sessionId,jsonlPath:ae.jsonlPath}):(0,d.jsx)(a6,{}),(0,d.jsx)("div",{className:"min-h-0 flex-1",children:(0,d.jsx)(a$.default,{entries:D,tasks:E,sessionId:F,sessionName:b,tabId:a,initMeta:I,sessionStats:J,cliState:u,compactingSince:v,wsStatus:L,isLoading:M,error:N,onRetry:Q,onLoadMore:O,hasMore:P,scrollToBottomRef:k})})]})};var a9=a.i(430409),ba=a.i(555416),bb=a.i(155116),bc=a.i(7137),bd=a.i(80723);let be=({tabId:a,sessionName:b,cwd:c,className:g,onClose:h,onNewSession:j,onRestart:k,updatePrompt:l,onUpdatePromptResponse:m,scrollToBottomRef:n,addPendingMessageRef:o,removePendingMessageRef:p})=>{let q=(0,f.useTranslations)("terminal"),[r,s]=(0,e.useState)(null),t=(0,aA.default)(b=>b.tabs[a]?.agentProcess??null),u=(0,aA.default)(b=>b.tabs[a]?.agentInstalled??!0),v=(0,aA.default)(b=>b.tabs[a]?.cliState??"inactive"),w=(0,aA.default)(b=>b.tabs[a]?.compactingSince??null),x=(0,aA.default)(b=>(0,aA.selectSessionView)(b.tabs,a)),y=(0,aA.default)(b=>b.tabs[a]?.agentSessionId??null),z=(0,aA.default)(b=>b.tabs[a]?.sessionMetaCache??null),A=(0,aA.default)(b=>b.tabs[a]?.agentSummary??null),B=(0,aA.default)(b=>b.tabs[a]?.lastUserMessage??null),C=(0,e.useCallback)(()=>{j?.()},[j]),D=(0,e.useCallback)(()=>{s(null)},[]),E=(0,e.useCallback)(a=>{s(null),at.toast.warning(q("resumeBlocked"),{description:a.processName?q("resumeBlockedProcess",{name:a.processName}):void 0})},[q]),F=(0,e.useCallback)(()=>{s(null),at.toast.error(q("codexResumeFailed"))},[q]),{entries:G,tasks:H,sessionId:I,jsonlPath:J,sessionSummary:K,initMeta:L,sessionStats:M,agentProcess:N,wsStatus:O,isLoading:P,error:Q,loadMore:R,hasMore:S,retrySession:T,sendResume:U,addPendingUserMessage:V,removePendingUserMessage:W}=(0,aR.default)({sessionName:b,agentSessionId:y,panelType:"codex-cli",enabled:!!b,resumeCallbacks:{onResumeStarted:D,onResumeBlocked:E,onResumeError:F},onSync:b=>{let c=Date.now();null!==b.agentProcess&&aA.default.getState().setAgentProcess(a,b.agentProcess,c),b.agentInstalled||aA.default.getState().setAgentInstalled(a,!1),aA.default.getState().setTimelineLoading(a,b.isLoading)},getCliState:()=>aA.default.getState().tabs[a]?.cliState}),{sessions:X,isLoading:Y,error:Z,refresh:$}=(0,ba.useCodexSessions)(c,!!c&&"session-list"===x&&!0!==t);(0,e.useEffect)(()=>(o&&(o.current=V),p&&(p.current=W),()=>{o&&(o.current=void 0),p&&(p.current=void 0)}),[o,p,V,W]);let _=(0,e.useRef)(t);(0,e.useEffect)(()=>{let a=_.current;_.current=t,!0!==a&&!0===t&&!0!==N&&T()},[t,N,T]),(0,e.useEffect)(()=>{if("unknown"!==v)return;let b=new AbortController;return fetch("/api/tmux/recover-unknown",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tabId:a}),signal:b.signal}).catch(()=>{}),()=>b.abort()},[a,v]),(0,e.useEffect)(()=>{if("check"!==x)return;if("inactive"!==v&&"unknown"!==v&&"cancelled"!==v)return void aA.default.getState().setSessionView(a,"timeline");if(!0===t||!0===N)return void aA.default.getState().setAgentProcess(a,!0,Date.now());let c=!1,d=async()=>{try{let d=await fetch(`/api/check-agent?session=${b}`);if(!d.ok)return;let e=await d.json();if(c||!0!==e.running||"codex-cli"!==e.providerPanelType)return;aA.default.getState().setAgentProcess(a,!0,"number"==typeof e.checkedAt?e.checkedAt:Date.now())}catch{}};d();let e=window.setInterval(d,800);return()=>{c=!0,window.clearInterval(e)}},[t,N,v,b,a,x]);let aa=null===t||0===G.length&&P,ab=(0,aU.useSessionMetaCompute)(G,K,L,M,A,B);(0,e.useEffect)(()=>{aa||aA.default.getState().setSessionMetaCache(a,{meta:ab,sessionId:I,jsonlPath:J})},[aa,ab,I,J,a]);let ac=(0,e.useCallback)(a=>{r||(s(a.sessionId),U(a.sessionId,b))},[r,U,b]);if(!u)return(0,d.jsxs)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center gap-3 px-6 text-center text-muted-foreground",g),role:"status",children:[(0,d.jsx)(a9.default,{size:32,className:"text-muted-foreground/60"}),(0,d.jsx)("span",{className:"text-sm font-medium text-foreground",children:q("codexNotInstalled")})]});if(l&&m)return(0,d.jsx)("div",{className:(0,av.cn)("animate-delayed-fade-in flex h-full w-full flex-col items-center justify-center gap-3 px-6",g),children:(0,d.jsx)(bc.default,{prompt:l,onRespond:m})});if("check"===x)return(0,d.jsx)("div",{className:(0,av.cn)("animate-delayed-fade-in flex h-full w-full flex-col items-center justify-center gap-3 px-6",g),children:(0,d.jsx)(bb.default,{onRestart:k})});if("session-list"===x)return null!==t&&c?(0,d.jsx)("div",{className:(0,av.cn)("h-full w-full",g),children:(0,d.jsx)(bd.default,{sessions:X,isLoading:Y,error:Z?q("codexSessionsLoadFailed"):null,resumingSessionId:r,onSelectSession:ac,onRefresh:$,onNewSession:j})}):(0,d.jsx)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",g),children:(0,d.jsx)(as.default,{className:"h-4 w-4 text-muted-foreground"})});if("inactive"===v&&!1===t&&!y&&!P)return(0,d.jsxs)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center",g),role:"status",children:[(0,d.jsx)(a9.default,{size:32,className:"text-muted-foreground/60"}),(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:q("codexInactiveMessage")}),j&&(0,d.jsxs)(au.Button,{size:"sm",onClick:C,children:[(0,d.jsx)(i.Plus,{className:"size-3.5"}),q("codexStartSession")]})]});let ad=aa?z:{meta:ab,sessionId:I,jsonlPath:J};return(0,d.jsxs)("div",{className:(0,av.cn)("flex min-h-0 w-full flex-1 flex-col",g),children:[ad?(0,d.jsx)(a7,{meta:ad.meta,sessionName:b,sessionId:ad.sessionId,jsonlPath:ad.jsonlPath}):(0,d.jsx)(a6,{}),(0,d.jsx)("div",{className:"min-h-0 flex-1",children:(0,d.jsx)(a$.default,{entries:G,tasks:H,sessionId:I,sessionName:b,tabId:a,initMeta:L,sessionStats:M,cliState:v,compactingSince:w,wsStatus:O,isLoading:P,error:Q,onRetry:T,onLoadMore:R,hasMore:S,scrollToBottomRef:n})})]})};var bf=a.i(265725),bg=a.i(219379),bh=a.i(741798),bi=a.i(660558),bj=a.i(665315),bk=a.i(775495),bl=a.i(358137);let bm=({cwd:a,lastCommand:b,onRestartWithCommand:c,onRestartNew:e})=>{let g=(0,f.useTranslations)("terminal");return(0,d.jsxs)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:[(0,d.jsx)(bl.WifiOff,{className:"h-5 w-5 text-muted-foreground"}),(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:g("disconnectedSessionNotFound")}),(0,d.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[a&&(0,d.jsx)("span",{className:"max-w-72 truncate text-xs text-muted-foreground/60",children:a.replace(/^\/Users\/[^/]+/,"~")}),b&&(0,d.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,d.jsx)("code",{className:"max-w-64 truncate rounded bg-muted px-2 py-1 text-xs",children:b}),(0,d.jsx)(au.Button,{variant:"outline",size:"sm",onClick:()=>c(b),children:g("restartWithCommand")})]}),b&&(0,d.jsxs)("div",{className:"flex w-40 items-center gap-2 text-muted-foreground/40",children:[(0,d.jsx)("div",{className:"h-px flex-1 bg-current"}),(0,d.jsx)("span",{className:"text-[11px]",children:g("or")}),(0,d.jsx)("div",{className:"h-px flex-1 bg-current"})]}),(0,d.jsx)(au.Button,{variant:"outline",size:"sm",onClick:e,children:g("restartNewTerminal")})]})]})};var bn=a.i(630560),bo=a.i(734637);let bp=({hint:a,onSubmit:b,onDismiss:c})=>{let g=(0,f.useTranslations)("terminal"),h=(0,f.useTranslations)("common"),i=(0,e.useRef)(null);return(0,e.useEffect)(()=>{i.current?.focus()},[]),(0,d.jsxs)("div",{className:"absolute bottom-3 left-3 right-3 z-30 rounded-lg border border-border bg-card shadow-lg animate-[fadeIn_150ms_ease-out]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 pt-2.5",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:g("dragDropNotSupported")}),(0,d.jsx)("button",{className:"ml-auto flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:text-foreground",onClick:c,"aria-label":h("close"),children:(0,d.jsx)(bo.X,{className:"h-3.5 w-3.5"})})]}),(0,d.jsx)("div",{className:"px-3 pt-1 pb-2.5",children:(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded border border-border bg-background px-2 py-1.5",children:[(0,d.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground/60",children:a}),(0,d.jsx)("input",{ref:i,className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground/40",placeholder:g("fullPathPlaceholder"),onKeyDown:a=>{"Enter"===a.key?b(a.currentTarget.value):"Escape"===a.key&&c()}})]})})]})};var bq=a.i(354447),br=a.i(19267),bs=a.i(545375),bt=a.i(721043),bu=a.i(165402);let bv=a=>a.replace(/[ \t\\'"(){}[\]!#$&;`|*?<>~^%]/g,"\\$&");var bw=a.i(734163);let bx=(0,a.i(564375).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var by=a.i(643228),bz=a.i(767810),bA=a.i(98456),bB=a.i(949348),bC=a.i(470167),bD=a.i(231473),bE=a.i(448557),bF=a.i(203725);let bG=({tab:a,isActive:b,isDragging:c,dropSide:g,displayTitle:h,currentProcess:i,modeSwitcher:j,onSwitch:k,onDelete:l,onRename:m,onFocusPane:n,onDragStart:o,onDragEnd:p,onDragOver:q,onDragLeave:r})=>{let s=(0,f.useTranslations)("terminal"),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(""),x=(0,e.useRef)(null);(0,e.useEffect)(()=>{t&&requestAnimationFrame(()=>x.current?.select())},[t]);let y=()=>{let b=v.trim();u(!1),b!==a.name&&m(b)},z="agent-sessions"===a.panelType?s("sessionList"):"",A=a.name||z||h||"";return(0,d.jsxs)("div",{"data-tab-id":a.id,role:"tab","aria-selected":b,tabIndex:b?0:-1,className:(0,av.cn)("group relative flex min-w-[104px] max-w-[170px] cursor-pointer items-center gap-1 border-b-2 px-2 text-xs select-none",b&&j&&"min-w-[136px] max-w-[210px] pr-1",b?"border-b-accent-color bg-secondary text-foreground":"border-b-transparent text-muted-foreground hover:bg-accent hover:text-foreground",c&&"opacity-30"),onClick:()=>{t||b||k(),n()},onDoubleClick:()=>{u(!0),w(a.name)},draggable:!t,onDragStart:o,onDragEnd:p,onDragOver:q,onDragLeave:r,children:["left"===g&&(0,d.jsx)("div",{className:"absolute top-1 bottom-1 left-0 w-0.5 bg-ui-blue"}),t?(0,d.jsx)("input",{ref:x,className:"w-full min-w-0 border-b border-accent-color bg-transparent text-xs text-foreground outline-none",value:v,onChange:a=>w(a.target.value),onKeyDown:a=>{"Enter"===a.key&&y(),"Escape"===a.key&&u(!1)},onBlur:y,onClick:a=>a.stopPropagation()}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bF.default,{tabId:a.id,panelType:a.panelType}),"claude-code"===a.panelType?(0,d.jsx)(bD.default,{className:"mx-0.5 h-3 w-3 shrink-0"}):"codex-cli"===a.panelType?(0,d.jsx)(a9.default,{className:"mx-0.5 h-3 w-3 shrink-0 text-foreground","aria-label":"Codex"}):"web-browser"===a.panelType?(0,d.jsx)(bA.Globe,{className:"mx-0.5 h-3 w-3 shrink-0 text-muted-foreground"}):"diff"===a.panelType?(0,d.jsx)(bB.GitCompareArrows,{className:"mx-0.5 h-3 w-3 shrink-0 text-muted-foreground"}):"agent-sessions"===a.panelType?(0,d.jsx)(bC.History,{className:"mx-0.5 h-3 w-3 shrink-0 text-muted-foreground"}):(0,d.jsx)(bE.default,{process:i??h,className:"mx-0.5 h-3 w-3 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:(0,av.cn)("mr-1 min-w-0 truncate",A?"opacity-100":"opacity-0"),children:A}),b&&j]}),(0,d.jsx)("button",{className:(0,av.cn)("-mr-0.5 flex h-6 w-6 shrink-0 items-center justify-center text-muted-foreground hover:text-foreground",b?"visible":"invisible group-hover:visible"),onClick:a=>{a.stopPropagation(),l()},"aria-label":s("closeTabLabel"),children:(0,d.jsx)(bo.X,{className:"h-3 w-3"})}),"right"===g&&(0,d.jsx)("div",{className:"absolute top-1 right-0 bottom-1 w-0.5 bg-ui-blue"})]})};var bH=a.i(158799),bI=a.i(96968),bJ=a.i(345283);a.i(466180);let bK=({paneId:a,isCreating:b,activePanelType:c,onCreateTab:g})=>{let h,j=(0,f.useTranslations)("terminal"),k=(0,bJ.default)(),[l,m]=(0,e.useState)(!1),n=(0,bI.default)(),o=(0,aw.useLayoutStore)(a=>a.workspaceId),p={notInstalled:(h=(0,f.useTranslations)("terminal"))("codexNotInstalled"),copyCommand:h("codexCopyCommand"),copied:h("codexCopied"),copyConfigPath:h("codexCopyConfigPath"),configParseFailed:h("codexConfigParseFailed"),launchFailed:h("codexLaunchFailed"),resumeFailed:h("codexResumeFailed"),approvalSendFailed:h("codexApprovalSendFailed"),approvalNotApplied:h("codexApprovalNotApplied"),retry:h("codexRetry")},{ensureAgentInstalled:q,installDialogs:r}=(0,bw.useAgentInstallCheck)(),s=(0,e.useMemo)(()=>{let a=[{key:"claude",type:"claude-code",icon:(0,d.jsx)(bD.default,{className:"h-3.5 w-3.5"}),label:j("claudeNewConversation"),startAgent:"claude"},{key:"codex",type:"codex-cli",icon:(0,d.jsx)(a9.default,{className:"h-3.5 w-3.5"}),label:j("codexNewConversation"),startAgent:"codex"},{key:"agent-sessions",type:"agent-sessions",icon:(0,d.jsx)(bC.History,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:j("sessionList")},{key:"terminal",type:"terminal",icon:(0,d.jsx)(bE.default,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:"Terminal"},{key:"web-browser",type:"web-browser",icon:(0,d.jsx)(bA.Globe,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:"Web Browser"}];return n?a.filter(a=>"web-browser"!==a.key):a},[n,j]),[t,u]=(0,e.useState)(0),v=(0,e.useRef)([]),w=(0,e.useCallback)(()=>{let a=(a=>{switch(a){case"terminal":return"terminal";case"web-browser":return"web-browser";case"codex-cli":return"codex";case"agent-sessions":return"agent-sessions";default:return"claude"}})(c),b=s.findIndex(b=>b.key===a);u(b>=0?b:0),m(!0)},[c,s]);(0,e.useEffect)(()=>{let b=b=>{let c=b.detail;c?.paneId===a&&w()};return window.addEventListener("open-new-tab-menu",b),()=>window.removeEventListener("open-new-tab-menu",b)},[a,w]),(0,e.useEffect)(()=>{l&&v.current[t]?.focus()},[l,t]);let x=(0,e.useCallback)(async()=>{if(await q("codex"))try{let a=await (0,aO.fetchCodexLaunchCommand)(o);g("codex-cli",{command:a})}catch{at.toast.error(p.launchFailed,{id:"codex-launch-failed",duration:6e3,action:void 0})}},[p,q,g,o]),y=(0,e.useCallback)(async a=>{if(m(!1),"claude"===a){if(!await q("claude"))return;g("claude-code",{command:(0,aN.buildClaudeLaunchCommand)({workspaceId:o,dangerouslySkipPermissions:aL.default.getState().dangerouslySkipPermissions})});return}x()},[q,x,g,o]),z=a=>{"startAgent"in a&&a.startAgent?y(a.startAgent):(m(!1),g(a.type))};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex items-center border-l border-r border-border px-0.5",children:(0,d.jsxs)(bH.Popover,{open:l,onOpenChange:a=>{a?w():m(!1)},children:[(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsx)(bz.TooltipTrigger,{render:(0,d.jsx)(bH.PopoverTrigger,{className:(0,av.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground hover:text-foreground",b&&"pointer-events-none opacity-50"),disabled:b,"aria-label":j("openNewTab")}),children:b?(0,d.jsx)(as.default,{className:"h-3 w-3"}):(0,d.jsx)(i.Plus,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:j("newTabTooltip",{shortcut:`${k?"⌘":"Ctrl+"}T`})})]}),(0,d.jsx)(bH.PopoverContent,{side:"bottom",align:"start",className:"w-max min-w-52 max-w-[calc(100vw-1rem)] gap-0 p-0.5",onKeyDown:a=>{if("ArrowDown"===a.key)a.preventDefault(),u(a=>(a+1)%s.length);else if("ArrowUp"===a.key)a.preventDefault(),u(a=>(a-1+s.length)%s.length);else if("Enter"===a.key){a.preventDefault();let b=s[t];b&&z(b)}},children:s.map((a,b)=>(0,d.jsx)("div",{className:(0,av.cn)("flex rounded-sm",t===b&&"bg-accent"),onMouseEnter:()=>u(b),children:(0,d.jsxs)("button",{ref:a=>{v.current[b]=a},className:"flex min-w-0 flex-1 items-center gap-2 rounded-sm px-2.5 py-2 text-xs text-foreground hover:bg-accent focus:outline-none",onClick:()=>void z(a),children:[a.icon,(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",children:a.label})]})},a.key))})]})}),r]})};var bL=a.i(103222);let bM=a=>a.startAction?`Start ${a.label}`:a.label,bN=a=>"claude-code"===a||"codex-cli"===a?"Chat":"Terminal",bO=({tabId:a,paneId:b,sessionName:c,panelType:f,onSwitchPanelType:g})=>{let[h,i]=(0,e.useState)(!1),j=(0,aA.default)(b=>b.tabs[a]),k=(0,aB.getAgentPanelTypeFromProvider)(j?.agentProviderId),l=!!k&&(j?.agentProcess===!0||(0,aB.isAgentRunning)(j?.cliState)||((a,b)=>{if(!b)return!1;let c=b.toLowerCase();return"claude-code"===a?"claude"===c:"codex-cli"===a&&"codex"===c})(k,j?.currentProcess)),m=(0,aB.isAgentPanel)(f)?f:l?k:void 0,n="claude-code"===f||"codex-cli"===f?{type:f,label:bN(f)}:{type:"terminal",label:"Terminal"},o=[{type:"terminal",label:"Terminal"},...m?[{type:m,label:bN(m)}]:[{type:"claude-code",label:"Claude",startAction:!0},{type:"codex-cli",label:"Codex",startAction:!0}]],p=async()=>{try{let b=await fetch(`/api/check-agent?session=${encodeURIComponent(c)}`);if(!b.ok)return;let d=await b.json();(0,bL.applyAgentCheckResult)(a,d)}catch{}};return(0,d.jsxs)(bH.Popover,{open:h,onOpenChange:a=>{a?p().finally(()=>i(!0)):i(!1)},children:[(0,d.jsx)(bH.PopoverTrigger,{className:"flex h-5 shrink-0 items-center rounded border border-border/70 bg-background/70 px-1.5 text-[10px] leading-none text-foreground hover:bg-accent focus:outline-none focus:ring-1 focus:ring-ring","aria-label":"Select tab mode",title:"Select tab mode",onClick:a=>a.stopPropagation(),children:(0,d.jsx)("span",{children:n.label})}),(0,d.jsx)(bH.PopoverContent,{side:"bottom",align:"end",className:"w-max min-w-[var(--anchor-width)] max-w-[calc(100vw-1rem)] gap-0 p-0.5",onClick:a=>a.stopPropagation(),children:o.map(c=>{let e=f===c.type;return(0,d.jsx)("button",{type:"button",className:(0,av.cn)("flex w-full items-center rounded-sm px-2 py-1 text-left text-[11px] leading-4 text-foreground whitespace-nowrap hover:bg-accent",e&&"bg-accent font-medium"),"aria-pressed":e,"aria-label":bM(c),onClick:d=>{d.stopPropagation(),(c=>{if(f===c.type)return i(!1);if((0,aB.tryAgentSwitch)({current:f,target:c.type,cliState:j?.cliState,agentProcess:j?.agentProcess,runningAgentPanelType:k})){if(i(!1),"terminal"===c.type&&(0,aB.isAgentPanel)(f)&&aA.default.getState().setDetectedAgent(a,{running:!0,providerId:"claude-code"===f?"claude":"codex-cli"===f?"codex":void 0,panelType:f}),c.startAction&&("claude-code"===c.type||"codex-cli"===c.type))return window.dispatchEvent(new CustomEvent("purplemux-start-agent",{detail:{paneId:b,tabId:a,provider:"codex-cli"===c.type?"codex":"claude"}}));g(c.type)}})(c)},children:(0,d.jsx)("span",{children:bM(c)})},c.type)})})]})},bP=({paneId:a,tabs:b,activeTabId:c,tabTitles:h,tabProcesses:i,isLoading:j,error:k,isCreating:l,paneCount:m,isSplitting:n,onSwitchTab:o,onCreateTab:p,onDeleteTab:q,onRenameTab:r,onSwitchPanelType:s,onReorderTabs:t,onClosePane:u,onMoveTab:v,onFocusPane:w,onRetry:x})=>{let y=(0,f.useTranslations)("terminal"),z=(0,f.useTranslations)("common"),A=(0,e.useRef)(null),B=(0,e.useMemo)(()=>[...b].sort((a,b)=>a.order-b.order),[b]),{draggedTabId:C,dropTarget:D,isDragOverFromOther:E,handleDragOver:F,handleDrop:G,handleTabBarDragEnter:H,handleTabBarDragLeave:I,startDrag:J,endDrag:K,clearDropTarget:L}=(({paneId:a,sortedTabs:b,onReorderTabs:c,onMoveTab:d})=>{let[f,g]=(0,e.useState)(null),[h,i]=(0,e.useState)(null),[j,k]=(0,e.useState)(!1),l=(0,e.useRef)(0),m=(0,e.useCallback)((a,b)=>{a.preventDefault(),a.dataTransfer.dropEffect="move";let c=a.currentTarget.getBoundingClientRect();i({id:b,side:a.clientX<c.left+c.width/2?"left":"right"})},[]),n=(0,e.useCallback)(e=>{e.preventDefault(),l.current=0,k(!1);let f=e.dataTransfer.getData("text/tab-id"),j=e.dataTransfer.getData("text/pane-id");if(!f){g(null),i(null);return}if(j&&j!==a){let a;d(f,j,h?(a=b.findIndex(a=>a.id===h.id),"right"===h.side?a+1:a):b.length),g(null),i(null);return}if(!h||f===h.id){g(null),i(null);return}let m=b.filter(a=>a.id!==f),n=m.findIndex(a=>a.id===h.id),o="right"===h.side?n+1:n,p=b.find(a=>a.id===f);p&&m.splice(o,0,p),c(m.map(a=>a.id)),g(null),i(null)},[a,b,h,d,c]),o=(0,e.useCallback)(b=>{b.preventDefault(),l.current++;let c=Array.from(b.dataTransfer.types).find(a=>a.startsWith("application/x-pane/")),d=c?.replace("application/x-pane/","")??null;null!==d&&d!==a&&k(!0)},[a]),p=(0,e.useCallback)(()=>{l.current--,l.current<=0&&(l.current=0,k(!1),i(null))},[]),q=(0,e.useCallback)((b,c)=>{b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("text/tab-id",c),b.dataTransfer.setData("text/pane-id",a),b.dataTransfer.setData(`application/x-pane/${a}`,"");let d=b.currentTarget.cloneNode(!0);d.querySelector('[aria-label="탭 닫기"]')?.remove(),d.querySelectorAll(".sr-only").forEach(a=>a.remove()),d.style.cssText="position:fixed;left:-9999px;display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--card);color:var(--foreground);border:none;border-radius:4px;font-size:12px;opacity:0.6;transform:scale(0.9);white-space:nowrap;",document.body.appendChild(d),b.dataTransfer.setDragImage(d,0,0),requestAnimationFrame(()=>d.remove()),g(c)},[a]);return{draggedTabId:f,dropTarget:h,isDragOverFromOther:j,handleDragOver:m,handleDrop:n,handleTabBarDragEnter:o,handleTabBarDragLeave:p,startDrag:q,endDrag:(0,e.useCallback)(()=>{g(null),i(null)},[]),clearDropTarget:(0,e.useCallback)(()=>{i(null)},[])}})({paneId:a,sortedTabs:B,onReorderTabs:t,onMoveTab:v}),[M,N]=(0,e.useState)(!1),[O,P]=(0,e.useState)(!1),Q=M||O,R=(0,e.useCallback)(()=>{let a=A.current;a&&(N(a.scrollLeft>0),P(a.scrollLeft+a.clientWidth<a.scrollWidth-1))},[]);(0,e.useEffect)(()=>{R();let a=A.current;if(!a)return;let b=new ResizeObserver(R);return b.observe(a),()=>b.disconnect()},[R,b]),(0,e.useEffect)(()=>{if(!c||!A.current)return;let a=A.current.querySelector(`[data-tab-id="${c}"]`);a?.scrollIntoView({behavior:"instant",inline:"nearest",block:"nearest"})},[c]),(0,e.useEffect)(()=>{let a=A.current;if(!a)return;let b=b=>{let c=b.deltaX+b.deltaY;0!==c&&(b.preventDefault(),a.scrollLeft+=c,R())};return a.addEventListener("wheel",b,{passive:!1}),()=>a.removeEventListener("wheel",b)},[R]);let S=a=>{let b=A.current;b&&b.scrollBy({left:a,behavior:"smooth"})};return k?(0,d.jsxs)("div",{className:"flex h-[36px] shrink-0 items-center gap-2 bg-background px-3",children:[(0,d.jsx)(g.AlertTriangle,{className:"h-3.5 w-3.5 text-ui-amber"}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:k}),(0,d.jsx)(au.Button,{variant:"ghost",size:"xs",className:"h-5 px-2 text-xs text-foreground hover:text-foreground",onClick:x,children:z("retry")})]}):j?(0,d.jsx)("div",{className:"flex h-[36px] shrink-0 items-center gap-1.5 bg-background px-2",children:[1,2,3].map(a=>(0,d.jsx)("div",{className:"h-4 w-16 animate-pulse rounded bg-muted"},a))}):(0,d.jsxs)("div",{className:(0,av.cn)("flex h-[36px] shrink-0 items-stretch border-b border-border transition-colors",E?"bg-accent-color/10":"bg-background"),onDragEnter:H,onDragLeave:I,onDragOver:a=>a.preventDefault(),onDrop:G,children:[Q&&(0,d.jsx)("button",{className:(0,av.cn)("flex w-5 shrink-0 items-center justify-center text-muted-foreground transition-opacity hover:text-foreground",M?"opacity-100":"pointer-events-none opacity-0"),onClick:()=>S(-200),tabIndex:M?0:-1,children:(0,d.jsx)(bx,{className:"h-3.5 w-3.5"})}),(0,d.jsx)("div",{ref:A,role:"tablist",className:"flex flex-1 items-stretch overflow-x-auto",style:{scrollbarWidth:"none"},onScroll:R,children:B.map(b=>{let e;return(0,d.jsx)(bG,{tab:b,isActive:b.id===c,isDragging:b.id===C,dropSide:D?.id===b.id?D.side:null,displayTitle:h?.[b.id],currentProcess:i?.[b.id],modeSwitcher:b.id!==c||(e=b.panelType)&&"terminal"!==e&&"claude-code"!==e&&"codex-cli"!==e?void 0:(0,d.jsx)(bO,{tabId:b.id,paneId:a,sessionName:b.sessionName,panelType:b.panelType??"terminal",onSwitchPanelType:s}),onSwitch:()=>o(b.id),onDelete:()=>q(b.id),onRename:a=>{r(b.id,a)},onFocusPane:w,onDragStart:a=>J(a,b.id),onDragEnd:K,onDragOver:a=>F(a,b.id),onDragLeave:L},b.id)})}),Q&&(0,d.jsx)("button",{className:(0,av.cn)("flex w-5 shrink-0 items-center justify-center text-muted-foreground transition-opacity hover:text-foreground",O?"opacity-100":"pointer-events-none opacity-0"),onClick:()=>S(200),tabIndex:O?0:-1,children:(0,d.jsx)(by.ChevronRight,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipProvider,{children:(0,d.jsxs)("div",{className:"flex shrink-0 items-stretch",children:[(0,d.jsx)(bK,{paneId:a,isCreating:l,activePanelType:B.find(a=>a.id===c)?.panelType,onCreateTab:p}),m>=2&&(0,d.jsx)("div",{className:"flex items-center px-0.5",children:(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsx)(bz.TooltipTrigger,{className:(0,av.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",n?"pointer-events-none opacity-30":"hover:text-foreground"),disabled:n,onClick:a=>{a.stopPropagation(),u()},"aria-label":y("closeAllTabs"),children:(0,d.jsx)(bo.X,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:y("closeAllTabs")})]})})]})})]})};var bQ=a.i(206456),bR=a.i(188289),bS=a.i(480824);let bT={write:()=>{},reset:()=>{},fit:()=>({cols:80,rows:24}),focus:()=>{},getBufferText:()=>""},bU={sendStdin:()=>{},sendResize:()=>{}},bV={normal:{normal:12,claudeCode:10},large:{normal:14,claudeCode:12},"x-large":{normal:16,claudeCode:14}},bW=[],bX=(0,e.memo)(({paneId:a,paneNumber:b})=>{let c,g=(0,f.useTranslations)("terminal"),h=(0,aw.useLayoutStore)(b=>b.layout?(0,ax.findPane)(b.layout.root,a):null),j=h?.tabs??bW,k=h?.activeTabId??null,l=(0,aw.useLayoutStore)(b=>b.layout?.activePaneId===a),m=(0,aw.useLayoutStore)(a=>a.paneCount),n=(0,aw.useLayoutStore)(a=>a.isSplitting),o=(0,aw.useLayoutStore)(a=>a.switchTabInPane),p=(0,aw.useLayoutStore)(a=>a.createTabInPane),q=(0,aw.useLayoutStore)(a=>a.deleteTabInPane),r=(0,aw.useLayoutStore)(a=>a.closePane),s=(0,aw.useLayoutStore)(a=>a.focusPane),t=(0,aw.useLayoutStore)(a=>a.moveTab),u=(0,aw.useLayoutStore)(a=>a.renameTabInPane),v=(0,aw.useLayoutStore)(a=>a.reorderTabsInPane),w=(0,aw.useLayoutStore)(a=>a.updateTabPanelType),x=(0,aw.useLayoutStore)(a=>a.updateTabTerminalLayout),y=(0,aw.useLayoutStore)(a=>a.layout?.diffSettings),z=(0,aw.useLayoutStore)(a=>a.updateDiffSettings),A=j.find(a=>a.id===k),B=A?.panelType??"terminal",C="claude-code"===B,D="codex-cli"===B,E="agent-sessions"===B,F=C||D,G="web-browser"===B,H="diff"===B,{ensureAgentInstalled:I,installDialogs:J}=(0,bw.useAgentInstallCheck)(),{theme:K}=(0,bS.default)(),L=(0,aL.default)(a=>a.fontSize),M=(0,aL.default)(a=>a.claudeShowTerminal),N=A?.terminalCollapsed??!M,[O,P]=(0,e.useState)(!1),[Q,R]=(0,e.useState)(!1),S=(0,e.useRef)(0),[T,U]=(0,e.useState)(!1),[V,W]=(0,e.useState)(!1),[X,Y]=(0,e.useState)(!1),Z=(0,e.useMemo)(()=>j.map(a=>a.id),[j]),$=(0,aD.default)((0,aM.useShallow)(a=>{let b={};for(let c of j){if("agent-sessions"===c.panelType)continue;let d=a.metadata[c.id]?.title;d&&(b[c.id]=d)}return b})),_=(0,aA.default)((0,aM.useShallow)(a=>{let b={};for(let c of Z){let d=a.tabs[c]?.currentProcess;d&&(b[c]=d)}return b})),aa=(0,aD.default)(a=>k?a.metadata[k]?.cwd:void 0),ab=(0,aw.useLayoutStore)(a=>a.workspaceId);(0,e.useEffect)(()=>{let a=requestAnimationFrame(()=>W(!0));return()=>{cancelAnimationFrame(a)}},[]);let ac=(0,e.useRef)(bT),ad=(0,e.useRef)(bU),ae=(0,e.useRef)(null),af=(0,e.useRef)(null),ag=(0,e.useRef)(null),ah=(0,e.useRef)(j),ai=(0,e.useRef)(k),aj=(0,e.useRef)(m),ak=(0,e.useRef)(l);(0,e.useEffect)(()=>{ah.current=j,ai.current=k,aj.current=m,ak.current=l});let al=(0,e.useCallback)(async()=>{let a=ai.current,b=a?ah.current.find(b=>b.id===a):null;if(b)try{let a=await fetch(`/api/layout/cwd?session=${b.sessionName}`);if(!a.ok)return;let{cwd:c,lastCommand:d}=await a.json();c&&aD.default.getState().setCwd(b.id,c),aD.default.getState().setLastCommand(b.id,d??null)}catch{}},[]),am=(0,e.useRef)(()=>{}),ao=(0,e.useRef)(void 0),aq=(0,e.useRef)(void 0),ay=(0,e.useRef)(null),az=(0,e.useRef)(()=>{}),aB=(0,e.useRef)(!1),aC=(0,e.useRef)(null),aF=(0,e.useRef)(null),aR=(0,e.useRef)(!1),aS=(0,e.useRef)(void 0),aT=(0,e.useRef)(void 0),aU=(0,e.useRef)(void 0),aV=(0,e.useRef)(void 0),aW=(0,e.useRef)(null),aX=(0,e.useRef)(""),aY=(0,aA.default)(a=>k?a.tabs[k]?.cliState??"inactive":"inactive"),aZ=(0,aA.default)(a=>k?a.tabs[k]?.agentProcess??null:null),a$=(0,aA.default)(a=>k?a.tabs[k]?.agentSessionId??null:null),a_="timeline"===(0,aA.default)(a=>k?(0,aA.selectSessionView)(a.tabs,k):"session-list"),a0=(0,e.useCallback)(a=>{aR.current||(aC.current?aF.current=a:a())},[]),a1=(0,e.useCallback)(a=>{aC.current={x:a.clientX,y:a.clientY},aF.current=null,aR.current=!1},[]),a2=(0,e.useCallback)(a=>{let b=aC.current;aC.current=null;let c=!!b&&(a.clientX-b.x)**2+(a.clientY-b.y)**2>=25;c&&(aR.current=!0,requestAnimationFrame(()=>{aR.current=!1})),aF.current&&!c&&aF.current(),aF.current=null},[]),{prompts:a3}=(0,bs.default)(),a4=(0,e.useRef)(new Set),[a5,a6]=(0,e.useState)(null),a7=(0,e.useCallback)((a,b)=>{if(!0!==b.running||!(0,bL.isAgentPanelType)(b.providerPanelType))return void a6(b=>b?.tabId===a?null:b);let c="string"==typeof b.providerId&&b.providerId?b.providerId:b.providerPanelType,d=`${a}:${c}`;if(a4.current.has(d))return;a4.current.add(d);let e="string"==typeof b.providerDisplayName&&b.providerDisplayName?b.providerDisplayName:c;a6({tabId:a,providerId:c,displayName:e,panelType:b.providerPanelType,sessionId:"string"==typeof b.sessionId&&b.sessionId?b.sessionId:null,resumable:!0===b.resumable})},[]),{trustPrompt:a9,onTerminalData:ba,onTrustResponse:bb}=(0,bq.default)({enabled:C&&"inactive"===aY,getBufferText:()=>ac.current.getBufferText(),sendStdin:a=>ad.current.sendStdin(a)}),{updatePrompt:bc,onTerminalData:bd,onRespond:bl}=(0,br.default)({enabled:D&&"inactive"===aY,scopeKey:k,getBufferText:()=>ac.current.getBufferText(),sendStdin:a=>ad.current.sendStdin(a),onUpdated:()=>{az.current()}});(0,e.useEffect)(()=>{k&&C&&l&&(0,aA.isCliIdle)(aY)&&(0,aE.dismissTab)(k)},[k,aY,C,l]),(0,e.useEffect)(()=>{k&&l&&(0,aE.dismissTab)(k)},[k,l]);let bo=(0,e.useCallback)(()=>{"idle"===aY&&aS.current?.()},[aY]),bx=(0,e.useCallback)(a=>{aT.current?.(a)},[]),by=(0,e.useCallback)((a,b)=>aT.current?.(a,b)??"",[]),bz=(0,e.useCallback)(a=>{aU.current?.(a)},[]),bA=(0,e.useCallback)(a=>{a.dataTransfer.types.includes("Files")&&(a.preventDefault(),a.stopPropagation(),a.dataTransfer.dropEffect="copy")},[]),bB=(0,e.useCallback)(a=>{!a.dataTransfer.files||0===a.dataTransfer.files.length||aV.current&&(a.preventDefault(),a.stopPropagation(),aV.current(Array.from(a.dataTransfer.files)))},[]),bC=(0,e.useCallback)(a=>{aq.current?.(a),ao.current?.()},[]),bD=(0,e.useCallback)(a=>(0,bR.isAppShortcut)(a)?(a.preventDefault(),(0,bR.isClearShortcut)(a)&&am.current(),(0,bR.isFocusInputShortcut)(a)&&ao.current?.(),!1):!(0,bR.isShiftEnter)(a)||(a.preventDefault(),ad.current.sendStdin("\n"),!1),[]),{terminalRef:bE,write:bF,clear:bG,reset:bH,fit:bI,focus:bJ,isReady:bK,getBufferText:bM}=(0,aJ.default)({theme:K.colors,fontSize:(bV[L]??bV.normal)[F?"claudeCode":"normal"],onInput:a=>{ad.current.sendStdin(a)},onResize:(a,b)=>ad.current.sendResize(a,b),onTitleChange:a=>{let b=ai.current;if(!b)return;let c=ah.current.find(a=>a.id===b);if(!c||c?.panelType==="web-browser"||c?.panelType==="agent-sessions"||a===aX.current)return;aX.current=a;let d=(0,bQ.formatTabTitle)(a,c?.panelType),e=(0,bQ.parseCurrentCommand)(a);if(aD.default.getState().setTitle(b,d),aA.default.getState().setCurrentProcess(b,e),(0,bQ.isShellProcess)(a)&&aW.current){let a=aW.current;aW.current=null,ad.current.sendStdin(`${a}\r`)}let f=ah.current.find(a=>a.id===b);if(f){let a=aA.default.getState().tabs[b]?.agentProcessCheckedAt??0;fetch(`/api/check-agent?session=${f.sessionName}`).then(a=>a.json()).then(d=>{c?.panelType==="terminal"&&a7(b,d);let{running:e}=!0===d.running&&(0,bL.isAgentPanelType)(d.providerPanelType)?{running:!0}:{running:!1},g=aA.default.getState().tabs[b];if(g&&g.agentProcessCheckedAt!==a){g.agentProcess!==e&&setTimeout(()=>{fetch(`/api/check-agent?session=${f.sessionName}`).then(a=>a.json()).then(a=>{c?.panelType==="terminal"&&a7(b,a),(0,bL.applyAgentCheckResult)(b,a)}).catch(()=>{})},500);return}(0,bL.applyAgentCheckResult)(b,d)}).catch(()=>{})}al()},customKeyEventHandler:bD});(0,e.useEffect)(()=>{am.current=bG}),(0,e.useEffect)(()=>{let a=a=>{(0,bR.isFocusInputShortcut)(a)&&l&&(a.preventDefault(),ao.current?.())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[l]);let bN=(0,e.useCallback)(async()=>{if(ag.current)return;let b=ah.current,c=ai.current,d=aj.current;if(!c)return;if(1===b.length&&d>1)return void r(a);let e=[...b].sort((a,b)=>a.order-b.order),f=e.findIndex(a=>a.id===c),g=e[f+1]||e[f-1];g&&o(a,g.id),ag.current=c;try{await q(a,c)}finally{ag.current=null}},[a,o,q,r]),{status:bO,retryCount:bX,disconnectReason:bY,connect:bZ,reconnect:b$,sendStdin:b_,sendWebStdin:b0,sendResize:b1}=(0,aK.default)({onData:a=>{ac.current.write(a),ba(),bd()},onConnected:()=>{P(!0),af.current=ai.current;let a=ai.current;a&&aA.default.getState().setTerminalConnected(a,!0);let{cols:b,rows:c}=ac.current.fit();ad.current.sendResize(b,c),ak.current&&ac.current.focus(),al(),clearTimeout(S.current),S.current=window.setTimeout(()=>R(!1),50)},onSessionEnded:bN});(0,e.useEffect)(()=>{ac.current={write:bF,reset:bH,fit:bI,focus:bJ,getBufferText:bM},ad.current={sendStdin:b_,sendResize:b1}}),(0,e.useEffect)(()=>{bK||(ae.current=null)},[bK]),(0,e.useEffect)(()=>{if(!bK||!k)return;let a=j.find(a=>a.id===k);if(!a)return;if("web-browser"===a.panelType){aX.current="";return}if(ae.current===a.sessionName)return;null!==ae.current&&(R(!0),bH(),aX.current="");let b=aA.default.getState(),c=b.tabs[k];b.initTab(k,{terminalConnected:!1,panelType:a.panelType,...!c?(0,aA.getInitialTabStateFromLayoutTab)(a):{}}),ae.current=a.sessionName;let{cols:d,rows:e}=bI();bZ(a.sessionName,d,e)},[bK,k]),(0,e.useEffect)(()=>{let a=ai.current;a&&aA.default.getState().setTerminalConnected(a,"connected"===bO)},[bO]),(0,e.useEffect)(()=>{"disconnected"===bO&&O&&af.current&&af.current!==k&&j.some(a=>a.id===af.current)&&(ae.current=null,o(a,af.current))},[bO]),(0,e.useEffect)(()=>{if(!bK||"connected"!==bO)return;let a=setTimeout(()=>{let{cols:a,rows:b}=bI();ad.current.sendResize(a,b)},150);return()=>clearTimeout(a)},[m]),(0,e.useEffect)(()=>{if(!bK||"connected"!==bO)return;let a=setTimeout(()=>{let{cols:a,rows:b}=bI();ad.current.sendResize(a,b)},300);return()=>clearTimeout(a)},[bO]),(0,e.useEffect)(()=>{if(l&&bK&&"connected"===bO){let{cols:a,rows:b}=bI();ad.current.sendResize(a,b);let c=aB.current;aB.current=!1,!c&&F&&a_?a0(()=>ao.current?.()):bJ()}},[l]);let b2=(0,e.useCallback)(b=>{b!==k&&((0,aE.dismissTab)(b),o(a,b))},[a,k,o]),b3=(0,e.useCallback)(async(b,c)=>{U(!0);let d=await p(a,b,c?.command,c?.resumeSessionId);if(d){aA.default.getState().initTab(d.id,{panelType:b,workspaceId:ab??""}),(c?.command||c?.resumeSessionId)&&aA.default.getState().setSessionView(d.id,"check");let a=ai.current,e=a?aD.default.getState().metadata[a]?.title:null;e&&"web-browser"!==b&&"agent-sessions"!==b&&aD.default.getState().setTitle(d.id,e)}U(!1)},[a,p,ab]),b4=(0,e.useCallback)(async b=>{if(!ag.current){if(1===j.length&&m>1)return void r(a);ag.current=b;try{await q(a,b)}finally{ag.current=null}}},[a,j,m,q,r]),b5=(0,e.useCallback)(async(b,c)=>{await aw.useLayoutStore.getState().restartTabInPane(a,b,c)&&b$()},[a,b$]),b6=(0,e.useRef)(new Set);(0,e.useEffect)(()=>{"disconnected"!==bO||"session-not-found"!==bY||!k||!A||"terminal"!==(A.panelType??"terminal")||A.lastCommand||b6.current.has(k)||(b6.current.add(k),b5(k))},[bO,bY,k,A,b5]);let b7=(0,e.useCallback)((b,c)=>{u(a,b,c)},[a,u]),b8=(0,e.useCallback)(b=>{v(a,b)},[a,v]),b9=(0,e.useCallback)((b,c,d)=>{t(b,c,a,d)},[a,t]),ca=(0,e.useCallback)(()=>{s(a)},[a,s]),cb=(0,e.useCallback)(b=>{k&&(Y(!0),w(a,k,b))},[a,k,w]),cc=(0,e.useCallback)(async(a,b)=>{await I(b)&&(ay.current={text:a,provider:b},cb("codex"===b?"codex-cli":"claude-code"))},[I,cb]);(0,e.useEffect)(()=>{let b=b=>{let c=b.detail;c?.paneId===a&&c.text&&c.provider&&cc(c.text,c.provider)};return window.addEventListener("purplemux-send-to-agent",b),()=>window.removeEventListener("purplemux-send-to-agent",b)},[a,cc]),(0,e.useEffect)(()=>{let a=ay.current;if(!a||B!==("codex"===a.provider?"codex-cli":"claude-code"))return;ay.current=null;let b=window.setTimeout(()=>{aq.current?.(a.text),ao.current?.()},100);return()=>window.clearTimeout(b)},[B]);let cd=(0,e.useCallback)(b=>{k&&ab&&fetch(`/api/layout/pane/${a}/tabs/${k}?workspace=${ab}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({webUrl:b})}).catch(()=>{})},[k,a,ab]);(0,e.useEffect)(()=>{if(!k||!0!==aZ||"terminal"!==B)return void a6(null);if(a5?.tabId!==k)return},[k,aZ,B,a5]),(0,e.useEffect)(()=>{if(!k||!0!==aZ||"terminal"!==B||a5?.tabId===k)return;let a=A?.sessionName;if(!a)return;let b=!1;return fetch(`/api/check-agent?session=${a}`).then(a=>a.json()).then(a=>{b||a7(k,a)}).catch(()=>{}),()=>{b=!0}},[k,B,A?.sessionName,aZ,a5?.tabId,a7]);let{showPathInput:ce,droppedFileHint:cf,handleDragOver:cg,handleDrop:ch,handlePathInputSubmit:ci,handlePathInputDismiss:cj}=(({sendStdin:a,focus:b,wsId:c,tabId:d})=>{let[f,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(""),j=(0,e.useCallback)(a=>{a.dataTransfer.types.includes("Files")&&(a.preventDefault(),a.dataTransfer.dropEffect="copy")},[]),k=(0,e.useCallback)(c=>{0!==c.length&&(a(`\x1b[200~${c.join(" ")}\x1b[201~`),b())},[a,b]),l=(0,e.useCallback)(async a=>{let b=a.filter(bu.isImageFile);if(0===b.length)return!1;try{let a=await Promise.all(b.map(a=>(0,bu.uploadImage)(a,{wsId:c,tabId:d})));return k(a.map(a=>bv(a.path))),!0}catch(a){return at.toast.error(a instanceof Error?a.message:"Upload failed"),!0}},[c,d,k]),m=(0,e.useCallback)(a=>{a.preventDefault();let{files:b}=a.dataTransfer;if(0===b.length)return;let c=bt.default?window.electronAPI:null,d=[],e=Array.from(b);for(let a of e){let b=c?.getPathForFile(a);b&&d.push(bv(b))}d.length>0?k(d):e.some(bu.isImageFile)?l(e):(i(e.map(a=>a.name).join(", ")),g(!0))},[k,l]);return{showPathInput:f,droppedFileHint:h,handleDragOver:j,handleDrop:m,handlePathInputSubmit:(0,e.useCallback)(c=>{if(g(!1),i(""),c.trim()){let d=bv(c.trim());a(`\x1b[200~${d}\x1b[201~`),b()}},[a,b]),handlePathInputDismiss:(0,e.useCallback)(()=>{g(!1),i(""),b()},[b])}})({sendStdin:a=>ad.current.sendStdin(a),focus:bJ,wsId:ab??void 0,tabId:k??void 0}),ck=(0,e.useCallback)(a=>(0,aN.buildClaudeLaunchCommand)({workspaceId:ab,dangerouslySkipPermissions:aL.default.getState().dangerouslySkipPermissions,resumeSessionId:a}),[ab]),cl=(0,e.useCallback)(async()=>{"connected"!==bO||!k||await I("claude")&&(aA.default.getState().setSessionView(k,"check"),b_(`${ck(null)}\r`))},[bO,b_,k,ck,I]),cm=(0,e.useCallback)(async()=>{"connected"!==bO||!k||await I("claude")&&(aW.current=ck(null),aA.default.getState().setSessionView(k,"check"),b_("/exit\r"))},[bO,b_,k,ck,I]),cn=(0,e.useCallback)(()=>(0,aO.fetchCodexLaunchCommand)(ab),[ab]),co=(0,e.useCallback)((a,b)=>{fetch("/api/status/agent-launch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tabId:a,resetAgentSession:b?.resetAgentSession===!0})}).catch(()=>{})},[]),cp=(0,e.useCallback)(async()=>{let a;if("connected"===bO&&k&&await I("codex")){try{a=await cn()}catch{at.toast.error(g("codexLaunchFailed"));return}co(k,{resetAgentSession:!0}),aA.default.getState().setSessionView(k,"check"),b_(`${a}\r`)}},[bO,b_,k,cn,I,co,g]),cq=(0,e.useCallback)(async()=>{await I("claude")&&(cb("claude-code"),cl())},[I,cl,cb]),cr=(0,e.useCallback)(async()=>{await I("codex")&&(cb("codex-cli"),cp())},[I,cp,cb]),cs=(0,e.useCallback)(async a=>{if("connected"!==bO||!k)return;let b="codex"===a.provider?"codex-cli":"claude-code";if(await I(a.provider)){if(cb(b),aA.default.getState().setSessionView(k,"check"),"codex"===a.provider){let b;try{b=await (0,aO.fetchCodexLaunchCommand)(ab,a.sessionId)}catch{at.toast.error(g("codexLaunchFailed"));return}co(k,{resetAgentSession:!1}),b_(`${b}\r`);return}b_(`${ck(a.sessionId)}\r`)}},[k,ck,I,cb,ab,co,b_,bO,g]),ct=(0,e.useCallback)(async()=>{let a;if("connected"===bO&&k&&await I("codex")){try{a=await cn()}catch{at.toast.error(g("codexLaunchFailed"));return}co(k,{resetAgentSession:!0}),aA.default.getState().setSessionView(k,"check"),b_(`${a}\r`)}},[bO,b_,k,cn,I,co,g]);(0,e.useEffect)(()=>{az.current=ct},[ct]);let cu=(0,e.useCallback)(async()=>{let a;if("connected"===bO&&k&&await I("codex")){try{a=await cn()}catch{at.toast.error(g("codexLaunchFailed"));return}aW.current=a,co(k,{resetAgentSession:!0}),aA.default.getState().setSessionView(k,"check"),(0,aP.sendCodexQuitCommand)(b_)}},[bO,b_,k,cn,I,co,g]);(0,e.useEffect)(()=>{let b=b=>{let c=b.detail;if(c?.paneId!==a||c.tabId!==k||"claude"!==c.provider&&"codex"!==c.provider)return;let d=c.provider;(async()=>{if(!await I(d))return;let a="codex"===d?"codex-cli":"claude-code";if(aA.default.getState().setDetectedAgent(k,{running:!0,checkedAt:Date.now(),providerId:d,panelType:a}),cb(a),"codex"===d)return cp();cl()})()};return window.addEventListener("purplemux-start-agent",b),()=>window.removeEventListener("purplemux-start-agent",b)},[k,I,cl,cp,cb,a]);let cv=(0,e.useCallback)(async()=>{if(!k||!a5||a5.tabId!==k||(a6(null),cb(a5.panelType),"connected"!==bO))return;let a=a5.resumable?a5.sessionId:null;if("codex-cli"===a5.panelType){let b;if(!await I("codex"))return;try{b=await (0,aO.fetchCodexLaunchCommand)(ab,a)}catch{at.toast.error(g("codexLaunchFailed"));return}aW.current=b,co(k,{resetAgentSession:!a}),aA.default.getState().setSessionView(k,"check"),(0,aP.sendCodexQuitCommand)(b_);return}await I("claude")&&(aW.current=ck(a),aA.default.getState().setSessionView(k,"check"),b_("\x03"),setTimeout(()=>b_("\x03"),300))},[k,a5,bO,I,cb,ab,co,b_,g,ck]);(0,e.useEffect)(()=>{if(!aW.current||!0===aZ||"connected"!==bO||!(0,bQ.isShellProcess)(aX.current))return;let a=aW.current;aW.current=null;let b=ai.current;b&&co(b),b_(`${a}\r`)},[aZ,bO,b_,co]);let cw=(0,e.useRef)(null),[cx,cy]=(0,e.useState)(!1),cz=(0,e.useRef)(!1),cA=(0,e.useCallback)(()=>{if(!cw.current)return;Y(!0);let b=!cx,c=A?.terminalRatio??30;cy(b),cz.current=!0,cw.current.setLayout(b?{timeline:100,"terminal-area":0}:{timeline:100-c,"terminal-area":c}),F&&k&&x(a,k,{terminalCollapsed:b}),setTimeout(()=>{if(Y(!1),cz.current=!1,!bK||"connected"!==bO)return;let{cols:a,rows:b}=bI();ad.current.sendResize(a,b)},150)},[cx,bK,bO,bI,F,k,a,A?.terminalRatio,x]);(0,e.useEffect)(()=>{if(!cw.current)return;if(cz.current=!0,F){let a=A?.terminalRatio??30;cy(N),cw.current.setLayout(N?{timeline:100,"terminal-area":0}:{timeline:100-a,"terminal-area":a}),al()}else cw.current.setLayout({timeline:0,"terminal-area":100});let a=setTimeout(()=>{if(Y(!1),cz.current=!1,!bK||"connected"!==bO)return;let{cols:a,rows:b}=bI();ad.current.sendResize(a,b),l&&(F?a_&&a0(()=>ao.current?.()):bJ())},150);return()=>clearTimeout(a)},[F,k]),(0,e.useEffect)(()=>{l&&F&&a_&&a0(()=>ao.current?.())},[a_]);let cB=0===j.length,cC=bK&&("connected"===bO||O)&&!cB&&!Q,cD=!cB&&(!bK||!O);return(0,d.jsxs)("div",{className:(0,av.cn)("flex h-full flex-col overflow-hidden",m>1&&"border",m>1&&l?"border-focus-indicator":"border-transparent"),style:{opacity:V?void 0:0,transition:"opacity 200ms ease-out, border-color 150ms"},role:"region","aria-label":`Pane ${b}`,"aria-current":l?"true":void 0,onClick:ca,onPointerDown:a1,onPointerUp:a2,children:[(0,d.jsx)(bP,{paneId:a,tabs:j,activeTabId:k,tabTitles:$,tabProcesses:_,isLoading:!1,error:null,isCreating:T,paneCount:m,isSplitting:n,onSwitchTab:b2,onCreateTab:b3,onDeleteTab:b4,onRenameTab:b7,onSwitchPanelType:cb,onReorderTabs:b8,onClosePane:()=>r(a),onMoveTab:b9,onFocusPane:ca,onRetry:()=>{}}),(0,d.jsxs)("div",{role:"tabpanel",className:"relative min-h-0 flex-1 flex flex-col",style:G||H||E?void 0:{backgroundColor:K.colors.background},onDragOver:G||H||E?void 0:cg,onDrop:G||H||E?void 0:ch,children:[G&&k&&(0,d.jsx)(bj.default,{tabId:k,initialUrl:A?.webUrl,onUrlChange:cd},k),H&&A&&(0,d.jsx)(bk.default,{sessionName:A.sessionName,onSendToAgent:cc,settings:y,onSettingsChange:z},A.sessionName),E&&A&&!cD&&(0,d.jsx)(bf.default,{sessionName:A.sessionName,cwd:aa||A.cwd,onSelectSession:cs,onNewClaudeSession:cq,onNewCodexSession:cr},A.sessionName),(0,d.jsxs)(an,{groupRef:cw,orientation:"vertical",defaultLayout:F?(c=A?.terminalRatio??30,N?{timeline:100,"terminal-area":0}:{timeline:100-c,"terminal-area":c}):{timeline:0,"terminal-area":100},onLayoutChanged:b=>{if(cz.current||!F||!k)return;let c=b["terminal-area"];if(void 0===c)return;let d=c<=0,e={};if(d!==N&&(e.terminalCollapsed=d,cy(d)),!d){let a=Math.round(c);a!==(A?.terminalRatio??30)&&(e.terminalRatio=a)}(void 0!==e.terminalRatio||void 0!==e.terminalCollapsed)&&x(a,k,e)},className:(0,av.cn)("min-h-0 flex-1",(G||H||E)&&"invisible absolute inset-0 pointer-events-none",X&&"[&>[data-panel]]:[transition:flex-grow_150ms_ease-out]"),children:[(0,d.jsx)(ap,{id:"timeline",minSize:0,collapsible:!0,collapsedSize:0,disabled:!F,children:(0,d.jsxs)("div",{className:(0,av.cn)("flex h-full flex-col bg-card",cx&&"pb-3"),onDragOver:F?bA:void 0,onDrop:F?bB:void 0,children:[C&&A&&!cD&&k&&(0,d.jsx)(a8,{tabId:k,sessionName:A.sessionName,claudeSessionId:a$,cwd:aa||A.cwd,onClose:()=>cb("terminal"),onNewSession:cl,scrollToBottomRef:aS,addPendingMessageRef:aT,removePendingMessageRef:aU,trustPrompt:a9,onTrustResponse:bb},A.sessionName),D&&A&&!cD&&k&&(0,d.jsx)(be,{tabId:k,sessionName:A.sessionName,cwd:aa||A.cwd,onClose:()=>cb("terminal"),onNewSession:cp,onRestart:cu,updatePrompt:bc,onUpdatePromptResponse:bl,scrollToBottomRef:aS,addPendingMessageRef:aT,removePendingMessageRef:aU},A.sessionName),F&&!cD&&a_&&(0,d.jsx)(bg.default,{tabId:k??void 0,wsId:ab??void 0,sessionName:A?.sessionName,agentSessionId:a$,provider:D?"codex":"claude",cliState:aY,sendStdin:b0,terminalWsConnected:"connected"===bO,visible:!0,focusTerminal:bJ,focusInputRef:ao,setInputValueRef:aq,onRestartSession:D?cu:cm,onSend:bo,onOptimisticSend:bx,onAddPendingMessage:by,onRemovePendingMessage:bz,attachFilesRef:aV},k),F&&!cD&&a_&&k&&(0,d.jsx)(bh.default,{prompts:a3,visible:!0,onSelect:bC})]})}),(0,d.jsx)(ar,{className:(0,av.cn)("group flex items-center justify-center overflow-hidden bg-card",F&&!cx?"h-3":"h-0"),disabled:!F||cx,children:(0,d.jsx)("div",{className:"h-px w-16 rounded-full bg-border transition-colors group-hover:bg-muted-foreground group-data-[resize-handle-active]:bg-muted-foreground"})}),F&&(0,d.jsxs)("button",{className:"flex h-6 w-full shrink-0 cursor-pointer items-center gap-1.5 border-t border-border bg-black/3 px-2 text-muted-foreground transition-colors hover:bg-black/5 dark:bg-white/3 dark:hover:bg-white/5",onClick:cA,children:[(0,d.jsx)(aI.TerminalSquare,{className:"h-3 w-3"}),(0,d.jsx)("span",{className:"text-[11px] font-medium",children:"Terminal"}),aa&&(0,d.jsx)("span",{className:"min-w-0 truncate text-[11px] opacity-60",children:aa.replace(/^\/Users\/[^/]+/,"~")}),(0,d.jsx)("span",{className:"ml-auto flex h-4 w-4 shrink-0 items-center justify-center",children:cx?(0,d.jsx)(aH.default,{className:"h-3 w-3"}):(0,d.jsx)(aG.ChevronDown,{className:"h-3 w-3"})})]}),(0,d.jsx)(ap,{id:"terminal-area",minSize:0,collapsible:!0,collapsedSize:0,children:(0,d.jsx)("div",{className:"flex h-full flex-col",onMouseDown:()=>{aB.current=!0},children:(0,d.jsx)(aQ.default,{ref:bE,minHeight:F?256:void 0,className:(0,av.cn)("min-h-0 flex-1",cC?"opacity-100":"opacity-0",F&&"py-0 pl-2 pr-0.5")})})})]}),cB&&(0,d.jsx)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:(0,d.jsxs)(au.Button,{className:"gap-1.5",onClick:()=>b3(),disabled:T,children:[T?(0,d.jsx)(as.default,{className:"h-3 w-3"}):(0,d.jsx)(i.Plus,{className:"h-3.5 w-3.5"}),g("openNewTab")]})}),!cB&&"terminal"===B&&"disconnected"===bO&&"session-not-found"===bY&&k&&(0,d.jsx)(bm,{cwd:A?.cwd,lastCommand:A?.lastCommand,onRestartWithCommand:a=>b5(k,a),onRestartNew:()=>b5(k)}),a5&&a5.tabId===k&&"terminal"===B&&(0,d.jsx)(bn.default,{modeName:a5.displayName,onSwitch:cv,onDismiss:()=>a6(null)}),ce&&(0,d.jsx)(bp,{hint:cf,onSubmit:ci,onDismiss:cj}),!cB&&!G&&!H&&(0,d.jsx)(bi.default,{status:bO,retryCount:bX,disconnectReason:bY,onReconnect:b$}),J]})]})});bX.displayName="PaneContainer";let bY=a=>"pane"===a.type?`pane:${a.id}`:["split",a.orientation,a.ratio,bY(a.children[0]),bY(a.children[1])].join("|"),bZ=(0,e.memo)(a=>{let{root:b,onUpdateRatio:c,onEqualizeRatios:f,equalizeRef:g}=a,h=(0,e.useRef)(null),i=(0,e.useRef)(new Map),j=(0,e.useRef)(""),k=(0,e.useRef)(new Map),l=(0,e.useCallback)(()=>{let a=(0,ax.equalizeNode)(b),c=(a,b)=>{if("pane"===a.type)return;let d=b.join("-")||"root",e=k.current.get(d);e?.current&&e.current.setLayout({left:a.ratio,right:100-a.ratio}),c(a.children[0],[...b,0]),c(a.children[1],[...b,1])};c(a,[]),f()},[b,f]);(0,e.useEffect)(()=>{g&&(g.current=l)});let m=(0,ax.collectPanes)(b),n=new Map;m.forEach((a,b)=>{n.set(a.id,b+1)});let o=a=>{let b=i.current.get(a);return b||((b=document.createElement("div")).style.height="100%",b.style.width="100%",i.current.set(a,b)),b},p=(a,b)=>{let e;if("pane"===a.type)return(0,d.jsx)("div",{"data-pane-slot":a.id,style:{height:"100%",width:"100%"}},`slot-${a.id}`);let f=(0,ax.getFirstPaneId)(a.children[0]),g=(0,ax.getFirstPaneId)(a.children[1]),h="horizontal"===a.orientation,i=b.join("-")||"root";return(0,d.jsxs)(an,{groupRef:((e=k.current.get(i))||(e={current:null},k.current.set(i,e)),e),orientation:a.orientation,defaultLayout:{left:a.ratio,right:100-a.ratio},onLayoutChanged:d=>{let e=d.left;void 0!==e&&Math.abs(e-a.ratio)>.1&&c(b,Math.round(100*e)/100)},children:[(0,d.jsx)(ap,{id:"left",minSize:h?200:120,defaultSize:`${a.ratio}%`,children:p(a.children[0],[...b,0])}),(0,d.jsx)(ar,{className:"relative flex shrink-0 items-center justify-center bg-border transition-colors duration-100 hover:bg-muted-foreground/50 active:bg-muted-foreground",style:{width:h?"1px":void 0,height:h?void 0:"1px"}}),(0,d.jsx)(ap,{id:"right",minSize:h?200:120,defaultSize:`${100-a.ratio}%`,children:p(a.children[1],[...b,1])})]},`group-${f}-${g}`)};return(0,e.useLayoutEffect)(()=>{if(!h.current)return;let a=new Set(m.map(a=>a.id));for(let[b,c]of i.current)a.has(b)||(c.remove(),i.current.delete(b));m.forEach(a=>{let b=h.current.querySelector(`[data-pane-slot="${a.id}"]`),c=o(a.id);b&&c.parentElement!==b&&b.appendChild(c)})},[m.map(a=>a.id).join(",")]),(0,e.useLayoutEffect)(()=>{let a=m.map(a=>a.id).join(",");if(j.current&&j.current!==a){let a=(b,c)=>{if("pane"===b.type)return;let d=c.join("-")||"root",e=k.current.get(d);e?.current?.setLayout({left:b.ratio,right:100-b.ratio}),a(b.children[0],[...c,0]),a(b.children[1],[...c,1])};a(b,[])}j.current=a},[m.map(a=>a.id).join(",")]),(0,d.jsxs)("div",{ref:h,className:"h-full w-full bg-terminal-bg",children:[p(b,[]),m.map(a=>(0,aF.createPortal)((0,d.jsx)(bX,{paneId:a.id,paneNumber:n.get(a.id)??1}),o(a.id)))]})},(a,b)=>bY(a.root)===bY(b.root)&&a.onUpdateRatio===b.onUpdateRatio&&a.onEqualizeRatios===b.onEqualizeRatios&&a.equalizeRef===b.equalizeRef);var b$=a.i(75747),b_=a.i(604544),b0=a.i(708711);let b1=()=>{let a=((a=3e3)=>{let[b,c]=(0,e.useState)(null);return(0,e.useEffect)(()=>{let b=bt.default?window.electronAPI:null;if(!b)return;let d=!0,e=async()=>{try{let[a,e]=await Promise.all([b.getSystemResources(),fetch("/api/system/tmux-sessions").then(a=>a.json())]);d&&c({cpu:a.cpu,memory:a.memory,tmuxSessions:e.count})}catch{}};e();let f=setInterval(e,a);return()=>{d=!1,clearInterval(f)}},[a]),b})();return(0,aL.default)(a=>a.systemResourcesEnabled)&&a?(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[9px] text-muted-foreground/60",children:[(0,d.jsxs)("span",{className:"tabular-nums",children:["CPU ",a.cpu.toFixed(1),"%"]}),(0,d.jsxs)("span",{className:"tabular-nums",children:["MEM ",Math.round(a.memory.used/1048576),"MB"]}),(0,d.jsxs)("span",{className:"tabular-nums",children:["TMUX ",a.tmuxSessions]})]}):null};var b2=a.i(365092),b3=a.i(895159),b4=a.i(357785);let b5=({className:a})=>(0,d.jsxs)("svg",{className:a,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("line",{x1:"8",y1:"4",x2:"8",y2:"20"}),(0,d.jsx)("line",{x1:"16",y1:"4",x2:"16",y2:"20"})]}),b6=({className:a})=>(0,d.jsxs)("svg",{className:a,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,d.jsx)("line",{x1:"12",y1:"3",x2:"12",y2:"21"})]}),b7=({className:a})=>(0,d.jsxs)("svg",{className:a,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,d.jsx)("line",{x1:"3",y1:"12",x2:"21",y2:"12"})]}),b8={dirty:"text-muted-foreground/75",sync:"text-muted-foreground/75",stash:"text-muted-foreground/65"},b9=({activePaneId:a,root:b,paneCount:c,canSplit:g,isSplitting:h,onSplitPane:i,onEqualizeRatios:j,isGitPanelOpen:k,onToggleGitPanel:l})=>{let m=(0,f.useTranslations)("terminal"),n=(0,bJ.default)()?"⌘":"Ctrl+",o=(0,b_.default)(),p=(0,ax.collectPanes)(b),q=p.find(b=>b.id===a)??p[0],r=q?.tabs.find(a=>a.id===q.activeTabId),s=(0,aD.default)(a=>r?.id?a.metadata[r.id]?.cwd:void 0),t=(0,b4.default)(a=>a.phase),u=(0,b4.default)(a=>a.status),v=(0,b4.default)(a=>a.branch),w=(0,b4.default)(a=>a.resetForTarget),x=(0,b4.default)(a=>a.fetchForTarget),y=s||r?.cwd||r?.sessionName||null,z=r?.sessionName??null,A=`${n}⇧F`,B=(0,b4.getGitStatusIndicators)(u),C=`${(0,b4.formatGitStatusSummary)(t,v,u,"Git panel")} (${A})`,D=B.length>0||"error"===t;(0,e.useEffect)(()=>{let a={cwdKey:y,tmuxSession:z};if(w(a),x(a),!y||!z)return;let b=window.setInterval(()=>{x(a)},15e3);return()=>window.clearInterval(b)},[x,y,z,w]);let E=(0,aL.default)(a=>a.editorUrl),F=(0,aL.default)(a=>a.editorPreset),G=(0,e.useMemo)(()=>(0,b2.buildEditorUrl)(F,E,s||"/"),[F,E,s]),H=!!G&&(0,b2.isSafeEditorTarget)(G),I=!!G&&(0,b2.isWebEditorUrl)(G),J=H&&!I&&!0,K=J?m("editorRemoteNotSupported"):m("openEditor"),L=q?.id;return(0,d.jsx)("div",{className:"shrink-0 bg-background",children:(0,d.jsxs)("div",{className:"relative z-40 flex h-12 shrink-0 items-center border-b border-border px-3",...bt.default?{style:{WebkitAppRegion:"drag"}}:{},children:[(0,d.jsx)("div",{className:"mr-auto",...bt.default?{style:{WebkitAppRegion:"no-drag"}}:{},children:(0,d.jsx)(b1,{})}),(0,d.jsx)(bz.TooltipProvider,{children:(0,d.jsxs)("div",{className:"flex items-center gap-1",...bt.default?{style:{WebkitAppRegion:"no-drag"}}:{},children:["off"!==F&&(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsx)(bz.TooltipTrigger,{className:(0,av.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",J?"cursor-not-allowed opacity-30":"hover:text-foreground"),"aria-disabled":J||void 0,onClick:()=>{if(J)return;if(!G)return void at.toast.info(m("editorUrlNotSet"));if(!H)return void at.toast.error(m("editorUrlNotSet"));if(I)return void window.open(G,"_blank","noopener,noreferrer");let a=window.electronAPI;if(a?.openExternal)return void a.openExternal(G);let b=document.createElement("iframe");b.style.display="none",b.src=G,document.body.appendChild(b),setTimeout(()=>b.remove(),1e3)},"aria-label":m("openEditor"),children:G?(0,d.jsx)(b3.EditorIcon,{preset:F,className:"h-3.5 w-3.5"}):(0,d.jsx)(b$.FolderCode,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:K})]}),"off"!==F&&(0,d.jsx)("div",{className:"h-5 w-px bg-border"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsx)(bz.TooltipTrigger,{className:(0,av.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",g?"hover:text-foreground":"cursor-not-allowed opacity-30"),onClick:g&&L?()=>i(L,"horizontal"):void 0,disabled:!g,"aria-label":m("splitVertical"),children:h?(0,d.jsx)(as.default,{className:"h-3 w-3"}):(0,d.jsx)(b6,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:m("splitVerticalShortcut",{shortcut:`${n}D`})})]}),(0,d.jsx)(b0.default,{mac:"⌘D",other:"^D",className:(0,av.cn)("absolute -right-0.5 -top-1.5 rounded bg-muted px-1 py-0.5 text-[10px] font-medium leading-none text-muted-foreground transition-opacity duration-200 pointer-events-none",o?"opacity-100":"opacity-0")})]}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsx)(bz.TooltipTrigger,{className:(0,av.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",g?"hover:text-foreground":"cursor-not-allowed opacity-30"),onClick:g&&L?()=>i(L,"vertical"):void 0,disabled:!g,"aria-label":m("splitHorizontal"),children:h?(0,d.jsx)(as.default,{className:"h-3 w-3"}):(0,d.jsx)(b7,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:m("splitHorizontalShortcut",{shortcut:`${n}⇧D`})})]}),(0,d.jsx)(b0.default,{mac:"⌘⇧D",other:"^⇧D",className:(0,av.cn)("absolute -right-0.5 -top-1.5 rounded bg-muted px-1 py-0.5 text-[10px] font-medium leading-none text-muted-foreground transition-opacity duration-200 pointer-events-none",o?"opacity-100":"opacity-0")})]}),c>=2&&(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsx)(bz.TooltipTrigger,{className:"flex h-7 w-7 items-center justify-center text-muted-foreground hover:text-foreground",onClick:j,"aria-label":m("equalSplit"),children:(0,d.jsx)(b5,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:m("equalSplit")})]}),(0,d.jsx)(b0.default,{mac:"⌘⌥=",other:"^⌥=",className:(0,av.cn)("absolute -right-0.5 -top-1.5 rounded bg-muted px-1 py-0.5 text-[10px] font-medium leading-none text-muted-foreground transition-opacity duration-200 pointer-events-none",o?"opacity-100":"opacity-0")})]}),(0,d.jsx)("div",{className:"mx-1 h-5 w-px bg-border"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsxs)(bz.TooltipTrigger,{className:(0,av.cn)("flex h-7 min-w-7 items-center justify-center rounded text-muted-foreground transition-colors",D&&"gap-1 px-1.5",k?"bg-accent text-foreground":"hover:bg-accent hover:text-foreground"),onClick:l,"aria-pressed":k,"aria-label":"Toggle Git panel",children:[(0,d.jsx)(bB.GitCompareArrows,{className:"h-3.5 w-3.5"}),"error"===t&&(0,d.jsx)("span",{className:"text-[10px] font-semibold leading-none text-negative/70","aria-hidden":"true",children:"!"}),B.map(a=>(0,d.jsx)("span",{className:(0,av.cn)("flex h-4 min-w-0 items-center justify-center text-[10px] font-medium leading-none",b8[a.tone]),"aria-hidden":"true",children:a.label},a.key))]}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:C})]}),(0,d.jsx)(b0.default,{mac:"⌘⇧F",other:"^⇧F",className:(0,av.cn)("absolute -right-0.5 -top-1.5 rounded bg-muted px-1 py-0.5 text-[10px] font-medium leading-none text-muted-foreground transition-opacity duration-200 pointer-events-none",o&&!k?"opacity-100":"opacity-0")})]})]})})]})})},ca=({sessionName:a,onClose:b,onSendToAgent:c,settings:e,onSettingsChange:f})=>(0,d.jsx)("aside",{className:"flex h-full min-w-0 flex-col bg-card",children:(0,d.jsx)("div",{className:"min-h-0 flex-1",children:a?(0,d.jsx)(bk.default,{sessionName:a,onSendToAgent:c,onClose:b,settings:e,onSettingsChange:f}):(0,d.jsx)("div",{className:"flex h-full items-center justify-center px-6 text-center text-sm text-muted-foreground",children:"Open a terminal or agent tab first."})})});var cb=a.i(501130),cc=a.i(493621);let cd=()=>!1,ce=()=>(Number.isFinite(36),36);a.s(["default",0,()=>{let a=(0,f.useTranslations)("terminal"),b=(0,ay.default)(a=>a.isLoading),c=(0,ay.default)(a=>a.error),j=(0,ay.default)(a=>a.activeWorkspaceId),k=(0,ay.default)(a=>a.workspaces.length),l=(0,e.useRef)(null),m=(0,e.useRef)(null),n=(0,e.useRef)(null),o=(0,e.useRef)(null),[p,q]=(0,e.useState)(cd),[r,s]=(0,e.useState)(ce),[t,u]=(0,e.useState)(null),v=(0,e.useCallback)(()=>{let b=l.current;b&&(ay.default.getState().switchWorkspace(b),at.toast.error(a("cannotSwitch")))},[a]),w=(0,aw.default)({workspaceId:j,onFetchError:v}),x=!!(w.layout&&!w.isLoading&&(0,ax.collectPanes)(w.layout.root).every(a=>0===a.tabs.length)),y=!!(w.layout&&!w.isLoading&&!x),z=(0,e.useMemo)(()=>w.layout?.activePaneId?(0,ax.collectPanes)(w.layout.root).find(a=>a.id===w.layout?.activePaneId)??null:null,[w.layout]),A=(0,e.useMemo)(()=>z?.activeTabId?z.tabs.find(a=>a.id===z.activeTabId)??null:null,[z]),B=(0,aD.default)(a=>A?.id?a.metadata[A.id]?.cwd:void 0),C=(0,e.useMemo)(()=>w.layout?new Set((0,ax.collectPanes)(w.layout.root).flatMap(a=>a.tabs.map(a=>a.sessionName))):new Set,[w.layout]);(0,e.useEffect)(()=>{if(w.layout){let a;q(w.layout.diffSettings?.panelOpen??!1),s(Number.isFinite(a=Number(w.layout.diffSettings?.panelSize))?Math.min(60,Math.max(20,a)):36)}},[j,w.layout]);let D=(0,e.useCallback)(a=>{q(a),w.updateDiffSettings({panelOpen:a})},[w]),E=(0,e.useCallback)(a=>{s(a),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{w.updateDiffSettings({panelSize:a}),o.current=null},200)},[w]);(0,e.useEffect)(()=>()=>{o.current&&clearTimeout(o.current)},[]),(0,e.useEffect)(()=>{o.current&&(clearTimeout(o.current),o.current=null)},[j]);let F=(0,e.useCallback)((a,b)=>{z?.id&&window.dispatchEvent(new CustomEvent("purplemux-send-to-agent",{detail:{paneId:z.id,text:a,provider:b}}))},[z?.id]);(0,e.useEffect)(()=>{let a=()=>D(!p);return window.addEventListener("purplemux-toggle-git-panel",a),()=>window.removeEventListener("purplemux-toggle-git-panel",a)},[p,D]),(0,e.useEffect)(()=>{let a=A?.sessionName;if(!a)return;let b=B||A.cwd||a;u(c=>c?.cwdKey===b&&C.has(c.sessionName)?c:{sessionName:a,cwdKey:b})},[C,A?.sessionName,A?.cwd,B]),(0,e.useEffect)(()=>{y&&n.current?.setLayout(p?{main:100-r,git:r}:{main:100,git:0})},[j,p,r,y]);let G=w.layout?.updatedAt,H=(0,e.useRef)(null);(0,e.useEffect)(()=>{if(!w.layout||!G||H.current===G)return;H.current=G;let a={};for(let b of(0,ax.collectPanes)(w.layout.root))for(let c of b.tabs)"agent-sessions"!==c.panelType&&(c.title||c.cwd)&&(a[c.id]={title:c.title,cwd:c.cwd});aD.default.getState().hydrate(a),(0,aE.requestSync)()},[G]),(0,e.useEffect)(()=>{if(!w.layout)return;let a=new Set((0,ax.collectPanes)(w.layout.root).flatMap(a=>a.tabs.map(a=>a.id)));aD.default.getState().retainOnly(a)},[w.layout]),(0,cc.useAutoDeleteEmptyWorkspace)(x,w.clearLayout);let I=(0,e.useCallback)(a=>{let{activeWorkspaceId:b}=ay.default.getState();a!==b&&(l.current=b,aD.default.getState().reset(),w.clearLayout(),ay.default.getState().switchWorkspace(a))},[w]);if((0,e.useEffect)(()=>(cb.default.getState().register(I),()=>cb.default.getState().unregister()),[I]),(({layout:a})=>{let b=(0,e.useRef)(a),c=(0,ay.default)(a=>a.isSettingsDialogOpen),d=(0,ay.default)(a=>a.isCheatSheetOpen),f=!c&&!d;(0,e.useEffect)(()=>{b.current=a},[a]),(0,az.default)("pane.split_right",()=>{let a=b.current;a.layout?.activePaneId&&a.canSplit&&a.splitPane(a.layout.activePaneId,"horizontal")},f),(0,az.default)("pane.split_down",()=>{let a=b.current;a.layout?.activePaneId&&a.canSplit&&a.splitPane(a.layout.activePaneId,"vertical")},f);let g=(0,e.useCallback)(a=>{let c=b.current;if(!c.layout?.activePaneId)return;let d=(0,ax.findAdjacentPaneInDirection)(c.layout.root,c.layout.activePaneId,a);d&&c.focusPane(d)},[]);(0,az.default)("pane.focus_left",()=>g("left"),f),(0,az.default)("pane.focus_right",()=>g("right"),f),(0,az.default)("pane.focus_up",()=>g("up"),f),(0,az.default)("pane.focus_down",()=>g("down"),f);let h=(0,e.useCallback)(a=>{let c=b.current;if(!c.layout?.activePaneId)return;let d=(0,ax.findResizeTarget)(c.layout.root,c.layout.activePaneId,a);if(!d)return;let e=d.increase?5:-5,f=Math.min(95,Math.max(5,d.currentRatio+e));f!==d.currentRatio&&aw.useLayoutStore.getState().updateRatio(d.path,f)},[]);(0,az.default)("pane.resize_left",()=>h("left"),f),(0,az.default)("pane.resize_right",()=>h("right"),f),(0,az.default)("pane.resize_up",()=>h("up"),f),(0,az.default)("pane.resize_down",()=>h("down"),f),(0,az.default)("pane.equalize",()=>aw.useLayoutStore.getState().equalizeRatios(),f),(0,az.default)("tab.new",()=>{let a=b.current;a.layout?.activePaneId&&window.dispatchEvent(new CustomEvent("open-new-tab-menu",{detail:{paneId:a.layout.activePaneId}}))},f),(0,az.default)("tab.close",()=>{let a=b.current;if(!a.layout?.activePaneId)return;let c=aC(a.layout);c?.activeTabId&&(1===c.tabs.length&&a.paneCount>1?a.closePane(c.id):a.deleteTabInPane(c.id,c.activeTabId))},f),(0,az.default)("tab.prev",()=>aw.useLayoutStore.getState().focusPrevTab(),f),(0,az.default)("tab.next",()=>aw.useLayoutStore.getState().focusNextTab(),f),(0,az.default)("pane.clear_screen",()=>{},f),(0,az.default)("tab.goto",a=>{let b=parseInt(a.code.replace("Digit",""),10);isNaN(b)||b<1||b>9||aw.useLayoutStore.getState().focusTabByIndex(9===b?1/0:b-1)},f);let i=(0,e.useCallback)(a=>{let c=aC(b.current.layout);if(!c?.activeTabId)return;let d=c.tabs.find(a=>a.id===c.activeTabId);if(!d)return;let e=d.panelType??"terminal";if(e===a)return;let f=aA.default.getState().tabs[c.activeTabId];(0,aB.tryAgentSwitch)({current:e,target:a,cliState:f?.cliState,agentProcess:f?.agentProcess,runningAgentPanelType:(0,aB.getAgentPanelTypeFromProvider)(f?.agentProviderId)})&&aw.useLayoutStore.getState().updateTabPanelType(c.id,c.activeTabId,a)},[]);(0,az.default)("view.mode_terminal",()=>i("terminal"),f),(0,az.default)("view.mode_claude",()=>i("claude-code"),f),(0,az.default)("view.mode_codex",()=>i("codex-cli"),f),(0,az.default)("view.mode_diff",()=>{window.dispatchEvent(new CustomEvent("purplemux-toggle-git-panel"))},f)})({layout:w}),b)return(0,d.jsxs)("div",{className:"flex h-full w-full flex-col overflow-hidden bg-background animate-delayed-fade-in",children:[(0,d.jsx)("div",{className:"flex h-12 shrink-0 items-center gap-1.5 border-b border-border bg-background px-2",children:[1,2,3].map(a=>(0,d.jsx)("div",{className:"h-4 w-16 animate-pulse rounded bg-muted"},a))}),(0,d.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,d.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,d.jsx)(as.default,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:a("connecting")})]})})]});if(c&&!k)return(0,d.jsxs)("div",{className:"flex h-full w-full flex-col items-center justify-center gap-3 overflow-hidden bg-background",children:[(0,d.jsx)(g.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:c}),(0,d.jsxs)(au.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:ay.default.getState().fetchWorkspaces,children:[(0,d.jsx)(h.RefreshCw,{className:"h-3.5 w-3.5"}),a("retryAction")]})]});let J=!w.layout&&w.isLoading&&j;return(0,d.jsxs)("div",{className:"relative flex h-full w-full flex-col overflow-hidden bg-background",children:[w.layout&&!w.isLoading&&!x&&(0,d.jsx)(b9,{activePaneId:w.layout.activePaneId,root:w.layout.root,paneCount:w.paneCount,canSplit:w.canSplit,isSplitting:w.isSplitting,onSplitPane:w.splitPane,onEqualizeRatios:()=>m.current?.(),isGitPanelOpen:p,onToggleGitPanel:()=>D(!p)}),(0,d.jsxs)("div",{className:"relative min-h-0 flex-1",children:[J&&(0,d.jsx)("div",{className:"absolute inset-0 z-30 flex items-center justify-center bg-background animate-delayed-fade-in",children:(0,d.jsx)(as.default,{className:"h-4 w-4 text-muted-foreground"})}),w.error&&!w.isLoading&&(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3",children:[(0,d.jsx)(g.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:w.error}),(0,d.jsxs)(au.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>w.fetchLayout(),children:[(0,d.jsx)(h.RefreshCw,{className:"h-3.5 w-3.5"}),a("retryAction")]})]}),w.layout&&!w.isLoading&&!x&&(0,d.jsx)("div",{className:"h-full",children:(0,d.jsxs)(an,{groupRef:n,className:"h-full w-full min-w-0",orientation:"horizontal",resizeTargetMinimumSize:{fine:8,coarse:32},defaultLayout:p?{main:100-r,git:r}:{main:100,git:0},onLayoutChanged:a=>{if(!p)return;let b=a.git;if(void 0===b||b<=1)return;let c=Math.min(60,Math.max(20,Math.round(b)));c!==r&&E(c)},children:[(0,d.jsx)(ap,{id:"main",minSize:"320px",className:"h-full min-w-0",children:(0,d.jsx)(bZ,{root:w.layout.root,onUpdateRatio:w.updateRatio,onEqualizeRatios:w.equalizeRatios,equalizeRef:m})}),(0,d.jsx)(ar,{disabled:!p,className:(0,av.cn)("shrink-0 cursor-col-resize bg-border transition-colors duration-100 hover:bg-muted-foreground/50 data-[resize-handle-active]:bg-muted-foreground",p?"w-px":"w-0")}),(0,d.jsx)(ap,{id:"git",collapsible:!0,collapsedSize:"0px",minSize:"320px",maxSize:"760px",groupResizeBehavior:"preserve-pixel-size",className:"h-full min-w-0 overflow-hidden",children:p&&(0,d.jsx)(ca,{sessionName:t?.sessionName,onClose:()=>D(!1),onSendToAgent:F,settings:w.layout.diffSettings,onSettingsChange:w.updateDiffSettings})})]})},j),!j&&!b&&!c&&(0,d.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,d.jsxs)(au.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:async()=>{let a=await ay.default.getState().createWorkspace("");a&&ay.default.getState().switchWorkspace(a.id)},children:[(0,d.jsx)(i.Plus,{className:"h-3.5 w-3.5"}),a("newWorkspace")]})})]})]})}],51395)},821662,a=>{a.n(a.i(51395))}];
1
+ module.exports=[51395,a=>{"use strict";let b,c;var d=a.i(508171),e=a.i(127669),f=a.i(113952),g=a.i(369773),h=a.i(506766),i=a.i(493901);function j({groupSize:a,panelElement:b,styleProp:c}){let d,[e,f]=function(a){switch(typeof a){case"number":return[a,"px"];case"string":{let b=parseFloat(a);return a.endsWith("%")?[b,"%"]:a.endsWith("px")?[b,"px"]:a.endsWith("rem")?[b,"rem"]:a.endsWith("em")?[b,"em"]:a.endsWith("vh")?[b,"vh"]:a.endsWith("vw")?[b,"vw"]:[b,"%"]}}}(c);switch(f){case"%":d=e/100*a;break;case"px":d=e;break;case"rem":d=e*parseFloat(getComputedStyle(b.ownerDocument.body).fontSize);break;case"em":d=e*parseFloat(getComputedStyle(b).fontSize);break;case"vh":d=e/100*window.innerHeight;break;case"vw":d=e/100*window.innerWidth}return d}function k(a){return parseFloat(a.toFixed(3))}function l({group:a}){let{orientation:b,panels:c}=a;return c.reduce((a,c)=>a+="horizontal"===b?c.element.offsetWidth:c.element.offsetHeight,0)}function m(a){let{panels:b}=a,c=l({group:a});return 0===c?b.map(a=>({groupResizeBehavior:a.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:!0===a.panelConstraints.collapsible,defaultSize:void 0,disabled:a.panelConstraints.disabled,minSize:0,maxSize:100,panelId:a.id})):b.map(a=>{let b,{element:d,panelConstraints:e}=a,f=0;void 0!==e.collapsedSize&&(f=k(j({groupSize:c,panelElement:d,styleProp:e.collapsedSize})/c*100)),void 0!==e.defaultSize&&(b=k(j({groupSize:c,panelElement:d,styleProp:e.defaultSize})/c*100));let g=0;void 0!==e.minSize&&(g=k(j({groupSize:c,panelElement:d,styleProp:e.minSize})/c*100));let h=100;return void 0!==e.maxSize&&(h=k(j({groupSize:c,panelElement:d,styleProp:e.maxSize})/c*100)),{groupResizeBehavior:e.groupResizeBehavior,collapsedSize:f,collapsible:!0===e.collapsible,defaultSize:b,disabled:e.disabled,minSize:g,maxSize:h,panelId:a.id}})}function n(a,b="Assertion error"){if(!a)throw Error(b)}function o(a,b){return Array.from(b).sort("horizontal"===a?p:q)}function p(a,b){let c=a.element.offsetLeft-b.element.offsetLeft;return 0!==c?c:a.element.offsetWidth-b.element.offsetWidth}function q(a,b){let c=a.element.offsetTop-b.element.offsetTop;return 0!==c?c:a.element.offsetHeight-b.element.offsetHeight}function r(a){return null!==a&&"object"==typeof a&&"nodeType"in a&&a.nodeType===Node.ELEMENT_NODE}function s(a,b){return{x:a.x>=b.left&&a.x<=b.right?0:Math.min(Math.abs(a.x-b.left),Math.abs(a.x-b.right)),y:a.y>=b.top&&a.y<=b.bottom?0:Math.min(Math.abs(a.y-b.top),Math.abs(a.y-b.bottom))}}function t(a){let{element:c,orientation:d,panels:e,separators:f}=a,g=o(d,Array.from(c.children).filter(r).map(a=>({element:a}))).map(({element:a})=>a),h=[],i=!1,j=!1,k=-1,m=-1,p=0,q,t=[];{let a=-1;for(let b of g)b.hasAttribute("data-panel")&&(a++,b.hasAttribute("data-disabled")||(p++,-1===k&&(k=a),m=a))}if(p>1){let c=-1;for(let o of g)if(o.hasAttribute("data-panel")){c++;let f=e.find(a=>a.element===o);if(f){if(q){let e,g=q.element.getBoundingClientRect(),p=o.getBoundingClientRect();if(j){let a="horizontal"===d?new DOMRect(g.right,g.top,0,g.height):new DOMRect(g.left,g.bottom,g.width,0),b="horizontal"===d?new DOMRect(p.left,p.top,0,p.height):new DOMRect(p.left,p.top,p.width,0);switch(t.length){case 0:e=[a,b];break;case 1:{let c=t[0],f=function({orientation:a,rects:b,targetRect:c}){let d={x:c.x+c.width/2,y:c.y+c.height/2},e,f=Number.MAX_VALUE;for(let c of b){let{x:b,y:g}=s(d,c),h="horizontal"===a?b:g;h<f&&(f=h,e=c)}return n(e,"No rect found"),e}({orientation:d,rects:[g,p],targetRect:c.element.getBoundingClientRect()});e=[c,f===g?b:a];break}default:e=t}}else e=t.length?t:["horizontal"===d?new DOMRect(g.right,p.top,p.left-g.right,p.height):new DOMRect(p.left,g.bottom,p.width,p.top-g.bottom)];for(let d of e){let e="width"in d?d:d.element.getBoundingClientRect(),g=(void 0===b&&(b="function"==typeof matchMedia&&!!matchMedia("(pointer:coarse)").matches),b)?a.resizeTargetMinimumSize.coarse:a.resizeTargetMinimumSize.fine;if(e.width<g){let a=g-e.width;e=new DOMRect(e.x-a/2,e.y,e.width+a,e.height)}if(e.height<g){let a=g-e.height;e=new DOMRect(e.x,e.y-a/2,e.width,e.height+a)}let j=c<=k||c>m;i||j||h.push({group:a,groupSize:l({group:a}),panels:[q,f],separator:"width"in d?void 0:d,rect:e}),i=!1}}j=!1,q=f,t=[]}}else if(o.hasAttribute("data-separator")){null!==o.ariaDisabled&&(i=!0);let a=f.find(a=>a.element===o);a?t.push(a):(q=void 0,t=[])}else j=!0}return h}class u{#a={};addListener(a,b){let c=this.#a[a];return void 0===c?this.#a[a]=[b]:c.includes(b)||c.push(b),()=>{this.removeListener(a,b)}}emit(a,b){let c=this.#a[a];if(void 0!==c)if(1===c.length)c[0].call(null,b);else{let a=!1,d=null,e=Array.from(c);for(let c=0;c<e.length;c++){let f=e[c];try{f.call(null,b)}catch(b){null===d&&(a=!0,d=b)}}if(a)throw d}}removeAllListeners(){this.#a={}}removeListener(a,b){let c=this.#a[a];if(void 0!==c){let a=c.indexOf(b);a>=0&&c.splice(a,1)}}}let v=new Map,w=new u;function x(a,b){for(let[b]of v)if(b.id===a)return b}function y(a,b){for(let[b,c]of v)if(b.id===a)return c;if(b)throw Error(`Could not find data for Group with id ${a}`)}function z(a,b){return w.addListener("groupChange",c=>{c.group.id===a&&b(c)})}function A(a,b){let c=v.get(a);(v=new Map(v)).set(a,b),w.emit("groupChange",{group:a,prev:c,next:b})}let B=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function C(a){let b=a.length;for(;b--;){let c=a[b];if(n(c,"Missing node"),function(a){let b,c=getComputedStyle(a);return!!("fixed"===c.position||"auto"!==c.zIndex&&("static"!==c.position||"flex"===(b=getComputedStyle(F(a)??a).display)||"inline-flex"===b)||1>+c.opacity||"transform"in c&&"none"!==c.transform||"webkitTransform"in c&&"none"!==c.webkitTransform||"mixBlendMode"in c&&"normal"!==c.mixBlendMode||"filter"in c&&"none"!==c.filter||"webkitFilter"in c&&"none"!==c.webkitFilter||"isolation"in c&&"isolate"===c.isolation||B.test(c.willChange)||"touch"===c.webkitOverflowScrolling)}(c))return c}return null}function D(a){return a&&Number(getComputedStyle(a).zIndex)||0}function E(a){let b=[];for(;a;)b.push(a),a=F(a);return b}function F(a){let{parentNode:b}=a;return null!==b&&"object"==typeof b&&"nodeType"in b&&b.nodeType===Node.DOCUMENT_FRAGMENT_NODE?b.host:b}function G(a,b){let c=[];return b.forEach((b,d)=>{if(d.disabled)return;let e=t(d),f=function(a,b,c){let d,e={x:1/0,y:1/0};for(let f of b){let b=s(c,f.rect);switch(a){case"horizontal":b.x<=e.x&&(d=f,e=b);break;case"vertical":b.y<=e.y&&(d=f,e=b)}}return d?{distance:e,hitRegion:d}:void 0}(d.orientation,e,{x:a.clientX,y:a.clientY});f&&f.distance.x<=0&&f.distance.y<=0&&function({groupElement:a,hitRegion:b,pointerEventTarget:c}){if(!r(c)||c.contains(a)||a.contains(c))return!0;if(function(a,b){let c;if(a===b)throw Error("Cannot compare node with itself");let d={a:E(a),b:E(b)};for(;d.a.at(-1)===d.b.at(-1);)c=d.a.pop(),d.b.pop();n(c,"Stacking order can only be calculated for elements with a common ancestor");let e={a:D(C(d.a)),b:D(C(d.b))};if(e.a===e.b){let a=c.childNodes,b={a:d.a.at(-1),b:d.b.at(-1)},e=a.length;for(;e--;){let c=a[e];if(c===b.a)return 1;if(c===b.b)return -1}}return Math.sign(e.a-e.b)}(c,a)>0){let e=c;for(;e;){var d;if(e.contains(a))break;if(d=e.getBoundingClientRect(),d.x<b.x+b.width&&d.x+d.width>b.x&&d.y<b.y+b.height&&d.y+d.height>b.y)return!1;e=e.parentElement}}return!0}({groupElement:d.element,hitRegion:f.hitRegion.rect,pointerEventTarget:a.target})&&c.push(f.hitRegion)}),c}function H(a,b,c=0){return Math.abs(k(a)-k(b))<=c}function I(a,b){return H(a,b)?0:a>b?1:-1}function J({overrideDisabledPanels:a,panelConstraints:b,prevSize:c,size:d}){let{collapsedSize:e=0,collapsible:f,disabled:g,maxSize:h=100,minSize:i=0}=b;return g&&!a?c:(0>I(d,i)&&(d=f&&0>I(d,(e+i)/2)?e:i),k(d=Math.min(h,d)))}function K({delta:a,initialLayout:b,panelConstraints:c,pivotIndices:d,prevLayout:e,trigger:f}){if(H(a,0))return b;let g="imperative-api"===f,h=Object.values(b),i=Object.values(e),j=[...h],[k,l]=d;n(null!=k,"Invalid first pivot index"),n(null!=l,"Invalid second pivot index");let m=0;if("keyboard"===f){{let b=a<0?l:k,d=c[b];n(d,`Panel constraints not found for index ${b}`);let{collapsedSize:e=0,collapsible:f,minSize:g=0}=d;if(f){let c=h[b];if(n(null!=c,`Previous layout not found for panel index ${b}`),H(c,e)){let b=g-c;I(b,Math.abs(a))>0&&(a=a<0?0-b:b)}}}{let b=a<0?k:l,d=c[b];n(d,`No panel constraints found for index ${b}`);let{collapsedSize:e=0,collapsible:f,minSize:g=0}=d;if(f){let c=h[b];if(n(null!=c,`Previous layout not found for panel index ${b}`),H(c,g)){let b=c-e;I(b,Math.abs(a))>0&&(a=a<0?0-b:b)}}}}else{let b=a<0?l:k,d=c[b];n(d,`Panel constraints not found for index ${b}`);let e=h[b],{collapsible:f,collapsedSize:g,minSize:i}=d;if(f&&0>I(e,i))if(a>0){let b=i-g;0>I(e+a,i)&&(a=0>=I(a,b/2)?0:b)}else{let b=i-g;0>I(e-a,i)&&(a=I(100+a,100-b/2)>0?0:-b)}}{let b=a<0?1:-1,d=a<0?l:k,e=0;for(;;){let a=h[d];if(n(null!=a,`Previous layout not found for panel index ${d}`),e+=J({overrideDisabledPanels:g,panelConstraints:c[d],prevSize:a,size:100})-a,(d+=b)<0||d>=c.length)break}let f=Math.min(Math.abs(a),Math.abs(e));a=a<0?0-f:f}{let b=a<0?k:l;for(;b>=0&&b<c.length;){let d=Math.abs(a)-Math.abs(m),e=h[b];n(null!=e,`Previous layout not found for panel index ${b}`);let f=e-d,i=J({overrideDisabledPanels:g,panelConstraints:c[b],prevSize:e,size:f});if(!H(e,i)&&(m+=e-i,j[b]=i,m.toFixed(3).localeCompare(Math.abs(a).toFixed(3),void 0,{numeric:!0})>=0))break;a<0?b--:b++}}if(function(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0}(i,j))return e;{let b=a<0?l:k,d=h[b];n(null!=d,`Previous layout not found for panel index ${b}`);let e=d+m,f=J({overrideDisabledPanels:g,panelConstraints:c[b],prevSize:d,size:e});if(j[b]=f,!H(f,e)){let b=e-f,d=a<0?l:k;for(;d>=0&&d<c.length;){let e=j[d];n(null!=e,`Previous layout not found for panel index ${d}`);let f=e+b,h=J({overrideDisabledPanels:g,panelConstraints:c[d],prevSize:e,size:f});if(H(e,h)||(b-=h-e,j[d]=h),H(b,0))break;a>0?d--:d++}}}if(!H(Object.values(j).reduce((a,b)=>b+a,0),100,.1))return e;let o=Object.keys(e);return j.reduce((a,b,c)=>(a[o[c]]=b,a),{})}function L(a,b){if(Object.keys(a).length!==Object.keys(b).length)return!1;for(let c in a)if(void 0===b[c]||0!==I(a[c],b[c]))return!1;return!0}function M({layout:a,panelConstraints:b}){let c=Object.values(a),d=[...c],e=d.reduce((a,b)=>a+b,0);if(d.length!==b.length)throw Error(`Invalid ${b.length} panel layout: ${d.map(a=>`${a}%`).join(", ")}`);if(!H(e,100)&&d.length>0)for(let a=0;a<b.length;a++){let b=d[a];n(null!=b,`No layout data found for index ${a}`);let c=100/e*b;d[a]=c}let f=0;for(let a=0;a<b.length;a++){let e=c[a];n(null!=e,`No layout data found for index ${a}`);let g=d[a];n(null!=g,`No layout data found for index ${a}`);let h=J({overrideDisabledPanels:!0,panelConstraints:b[a],prevSize:e,size:g});g!=h&&(f+=g-h,d[a]=h)}if(!H(f,0))for(let a=0;a<b.length;a++){let c=d[a];n(null!=c,`No layout data found for index ${a}`);let e=c+f,g=J({overrideDisabledPanels:!0,panelConstraints:b[a],prevSize:c,size:e});if(c!==g&&(f-=g-c,d[a]=g,H(f,0)))break}let g=Object.keys(a);return d.reduce((a,b,c)=>(a[g[c]]=b,a),{})}function N({groupId:a,panelId:b}){let c=()=>{for(let[b,{defaultLayoutDeferred:c,derivedPanelConstraints:d,layout:e,groupSize:f,separatorToPanels:g}]of v)if(b.id===a)return{defaultLayoutDeferred:c,derivedPanelConstraints:d,group:b,groupSize:f,layout:e,separatorToPanels:g};throw Error(`Group ${a} not found`)},d=()=>{let a=c().derivedPanelConstraints.find(a=>a.panelId===b);if(void 0!==a)return a;throw Error(`Panel constraints not found for Panel ${b}`)},e=()=>{let a=c().group.panels.find(a=>a.id===b);if(void 0!==a)return a;throw Error(`Layout not found for Panel ${b}`)},f=()=>{let a=c().layout[b];if(void 0!==a)return a;throw Error(`Layout not found for Panel ${b}`)},g=a=>{let d=f();if(a===d)return;let{defaultLayoutDeferred:e,derivedPanelConstraints:g,group:h,groupSize:i,layout:j,separatorToPanels:k}=c(),l=h.panels.findIndex(a=>a.id===b),m=l===h.panels.length-1,n=M({layout:K({delta:m?d-a:a-d,initialLayout:j,panelConstraints:g,pivotIndices:m?[l-1,l]:[l,l+1],prevLayout:j,trigger:"imperative-api"}),panelConstraints:g});L(j,n)||A(h,{defaultLayoutDeferred:e,derivedPanelConstraints:g,groupSize:i,layout:n,separatorToPanels:k})};return{collapse:()=>{let{collapsible:a,collapsedSize:b}=d(),{mutableValues:c}=e(),h=f();a&&h!==b&&(c.expandToSize=h,g(b))},expand:()=>{let{collapsible:a,collapsedSize:b,minSize:c}=d(),{mutableValues:h}=e(),i=f();if(a&&i===b){let a=h.expandToSize??c;0===a&&(a=1),g(a)}},getSize:()=>{let{group:a}=c(),b=f(),{element:d}=e();return{asPercentage:b,inPixels:"horizontal"===a.orientation?d.offsetWidth:d.offsetHeight}},isCollapsed:()=>{let{collapsible:a,collapsedSize:b}=d(),c=f();return a&&H(b,c)},resize:a=>{let{group:b}=c(),{element:d}=e(),f=l({group:b});g(k(j({groupSize:f,panelElement:d,styleProp:a})/f*100))}}}function O(a){a.defaultPrevented||G(a,v).forEach(b=>{if(b.separator&&!b.separator.disableDoubleClick){let c=b.panels.find(a=>void 0!==a.panelConstraints.defaultSize);if(c){let d=c.panelConstraints.defaultSize,e=N({groupId:b.group.id,panelId:c.id});e&&void 0!==d&&(e.resize(d),a.preventDefault())}}})}function P(a){for(let[b]of v)if(b.separators.some(b=>b.element===a))return b;throw Error("Could not find parent Group for separator element")}function Q({groupId:a}){let b=()=>{for(let[b,c]of v)if(b.id===a)return{group:b,...c};throw Error(`Could not find Group with id "${a}"`)};return{getLayout(){let{defaultLayoutDeferred:a,layout:c}=b();return a?{}:c},setLayout(a){let{defaultLayoutDeferred:c,derivedPanelConstraints:d,group:e,groupSize:f,layout:g,separatorToPanels:h}=b(),i=M({layout:a,panelConstraints:d});return c?g:(L(g,i)||A(e,{defaultLayoutDeferred:c,derivedPanelConstraints:d,groupSize:f,layout:i,separatorToPanels:h}),i)}}}function R(a,b){let c=P(a),d=y(c.id,!0),e=c.separators.find(b=>b.element===a);n(e,"Matching separator not found");let f=d.separatorToPanels.get(e);n(f,"Matching panels not found");let g=f.map(a=>c.panels.indexOf(a)),h=Q({groupId:c.id}).getLayout(),i=M({layout:K({delta:b,initialLayout:h,panelConstraints:d.derivedPanelConstraints,pivotIndices:g,prevLayout:h,trigger:"keyboard"}),panelConstraints:d.derivedPanelConstraints});L(h,i)||A(c,{defaultLayoutDeferred:d.defaultLayoutDeferred,derivedPanelConstraints:d.derivedPanelConstraints,groupSize:d.groupSize,layout:i,separatorToPanels:d.separatorToPanels})}function S(a){if(a.defaultPrevented)return;let b=a.currentTarget,c=P(b);if(!c.disabled)switch(a.key){case"ArrowDown":a.preventDefault(),"vertical"===c.orientation&&R(b,5);break;case"ArrowLeft":a.preventDefault(),"horizontal"===c.orientation&&R(b,-5);break;case"ArrowRight":a.preventDefault(),"horizontal"===c.orientation&&R(b,5);break;case"ArrowUp":a.preventDefault(),"vertical"===c.orientation&&R(b,-5);break;case"End":a.preventDefault(),R(b,100);break;case"Enter":{a.preventDefault();let c=P(b),{derivedPanelConstraints:d,layout:e,separatorToPanels:f}=y(c.id,!0),g=c.separators.find(a=>a.element===b);n(g,"Matching separator not found");let h=f.get(g);n(h,"Matching panels not found");let i=h[0],j=d.find(a=>a.panelId===i.id);if(n(j,"Panel metadata not found"),j.collapsible){let a=e[i.id];R(b,(j.collapsedSize===a?c.mutableState.expandedPanelSizes[i.id]??j.minSize:j.collapsedSize)-a)}break}case"F6":{a.preventDefault();let c=P(b).separators.map(a=>a.element),d=Array.from(c).findIndex(b=>b===a.currentTarget);n(null!==d,"Index not found");let e=a.shiftKey?d>0?d-1:c.length-1:d+1<c.length?d+1:0;c[e].focus({preventScroll:!0});break}case"Home":a.preventDefault(),R(b,-100)}}let T={cursorFlags:0,state:"inactive"},U=new u;function V(a){let b=T;T=a,U.emit("change",{prev:b,next:a})}function W(a){if(a.defaultPrevented||"mouse"===a.pointerType&&a.button>0)return;let b=v,c=G(a,b),d=new Map,e=!1;c.forEach(a=>{a.separator&&(e||(e=!0,a.separator.element.focus({preventScroll:!0})));let c=b.get(a.group);c&&d.set(a.group,c.layout)}),V({cursorFlags:0,hitRegions:c,initialLayoutMap:d,pointerDownAtPoint:{x:a.clientX,y:a.clientY},state:"active"}),c.length&&a.preventDefault()}let X=a=>a,Y=()=>{};function Z(){return void 0===c&&(c=!1),c}let $=new WeakMap;function _(a){if(null===a.defaultView||void 0===a.defaultView)return;let{prevStyle:b,styleSheet:c}=$.get(a)??{};void 0===c&&(c=new a.defaultView.CSSStyleSheet,a.adoptedStyleSheets&&a.adoptedStyleSheets.push(c));let d=T;switch(d.state){case"active":case"hover":{let a=function({cursorFlags:a,groups:b,state:c}){let d=0,e=0;switch(c){case"active":case"hover":b.forEach(a=>{if(!a.mutableState.disableCursor)switch(a.orientation){case"horizontal":d++;break;case"vertical":e++}})}if(0!==d||0!==e){if("active"===c&&a&&Z()){let b=(4&a)!=0,c=(8&a)!=0;if((1&a)!=0)return b?"se-resize":c?"ne-resize":"e-resize";if((2&a)!=0)return b?"sw-resize":c?"nw-resize":"w-resize";if(b)return"s-resize";if(c)return"n-resize"}return Z()?d>0&&e>0?"move":d>0?"ew-resize":"ns-resize":d>0&&e>0?"grab":d>0?"col-resize":"row-resize"}}({cursorFlags:d.cursorFlags,groups:d.hitRegions.map(a=>a.group),state:d.state}),e=`*, *:hover {cursor: ${a} !important; }`;if(b===e)return;b=e,a?0===c.cssRules.length?c.insertRule(e):c.replaceSync(e):1===c.cssRules.length&&c.deleteRule(0);break}case"inactive":b=void 0,1===c.cssRules.length&&c.deleteRule(0)}$.set(a,{prevStyle:b,styleSheet:c})}function aa({document:a,event:b,hitRegions:c,initialLayoutMap:d,mountedGroups:e,pointerDownAtPoint:f,prevCursorFlags:g}){var h;let i,j,k=0;c.forEach(a=>{let{group:c,groupSize:g}=a,{orientation:h,panels:i}=c,{disableCursor:j}=c.mutableState,l=0;l=f?"horizontal"===h?(b.clientX-f.x)/g*100:(b.clientY-f.y)/g*100:"horizontal"===h?b.clientX<0?-100:100:b.clientY<0?-100:100;let m=d.get(c),n=e.get(c);if(!m||!n)return;let{defaultLayoutDeferred:o,derivedPanelConstraints:p,groupSize:q,layout:r,separatorToPanels:s}=n;if(p&&r&&s){let b=K({delta:l,initialLayout:m,panelConstraints:p,pivotIndices:a.panels.map(a=>i.indexOf(a)),prevLayout:r,trigger:"mouse-or-touch"});if(L(b,r)){if(0!==l&&!j)switch(h){case"horizontal":k|=l<0?1:2;break;case"vertical":k|=l<0?4:8}}else A(a.group,{defaultLayoutDeferred:o,derivedPanelConstraints:p,groupSize:q,layout:b,separatorToPanels:s})}});let l=0;0===b.movementX?l|=3&g:l|=3&k,0===b.movementY?l|=12&g:l|=12&k,h=l,i=T,(j={...T}).cursorFlags=h,T=j,U.emit("change",{prev:i,next:j}),_(a)}function ab(a){let b=v,c=T;"active"===c.state&&aa({document:a.currentTarget,event:a,hitRegions:c.hitRegions,initialLayoutMap:c.initialLayoutMap,mountedGroups:b,prevCursorFlags:c.cursorFlags})}function ac(a){if(a.defaultPrevented)return;let b=T,c=v;if("active"===b.state){if(0===a.buttons){V({cursorFlags:0,state:"inactive"}),b.hitRegions.forEach(a=>{let b=y(a.group.id,!0);A(a.group,b)});return}for(let c of b.hitRegions)if(c.separator){let{element:b}=c.separator;b.hasPointerCapture?.(a.pointerId)||b.setPointerCapture?.(a.pointerId)}aa({document:a.currentTarget,event:a,hitRegions:b.hitRegions,initialLayoutMap:b.initialLayoutMap,mountedGroups:c,pointerDownAtPoint:b.pointerDownAtPoint,prevCursorFlags:b.cursorFlags})}else{let d=G(a,c);0===d.length?"inactive"!==b.state&&V({cursorFlags:0,state:"inactive"}):V({cursorFlags:0,hitRegions:d,state:"hover"}),_(a.currentTarget)}}function ad(a){a.relatedTarget instanceof HTMLIFrameElement&&"hover"===T.state&&V({cursorFlags:0,state:"inactive"})}function ae(a){if(a.defaultPrevented||"mouse"===a.pointerType&&a.button>0)return;let b=T;"active"===b.state&&(V({cursorFlags:0,state:"inactive"}),b.hitRegions.length>0&&(_(a.currentTarget),b.hitRegions.forEach(a=>{let b=y(a.group.id,!0);A(a.group,b)}),a.preventDefault()))}function af(a){let b=0,c=0,d={};for(let e of a)if(void 0!==e.defaultSize){b++;let a=k(e.defaultSize);c+=a,d[e.panelId]=a}else d[e.panelId]=void 0;let e=a.length-b;if(0!==e){let b=k((100-c)/e);for(let c of a)void 0===c.defaultSize&&(d[c.panelId]=b)}return d}let ag=new Map;function ah(a){let b=(0,e.useId)();return`${a??b}`}let ai=e.useEffect;function aj(a){let b=(0,e.useRef)(a);return ai(()=>{b.current=a},[a]),(0,e.useCallback)((...a)=>b.current?.(...a),[b])}function ak(...a){return aj(b=>{a.forEach(a=>{if(a)switch(typeof a){case"function":a(b);break;case"object":a.current=b}})})}function al(a){let b=(0,e.useRef)({...a});return ai(()=>{for(let c in a)b.current[c]=a[c]},[a]),b.current}let am=(0,e.createContext)(null);function an({children:a,className:b,defaultLayout:c,disableCursor:f,disabled:g,elementRef:h,groupRef:i,id:j,onLayoutChange:p,onLayoutChanged:q,orientation:r="horizontal",resizeTargetMinimumSize:s={coarse:20,fine:10},style:u,...w}){let B,C=(0,e.useRef)({onLayoutChange:{},onLayoutChanged:{}}),D=aj(a=>{L(C.current.onLayoutChange,a)||(C.current.onLayoutChange=a,p?.(a))}),E=aj(a=>{L(C.current.onLayoutChanged,a)||(C.current.onLayoutChanged=a,q?.(a))}),F=ah(j),G=(0,e.useRef)(null),[I,J]=function(){let[a,b]=(0,e.useState)({});return[a,(0,e.useCallback)(()=>b({}),[])]}(),K=(0,e.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:s,separators:[]}),N=ak(G,h);B=(0,e.useRef)({getLayout:()=>({}),setLayout:X}),(0,e.useImperativeHandle)(i,()=>B.current,[]),ai(()=>{Object.assign(B.current,Q({groupId:F}))});let P=aj((a,b)=>{let d=T,e=x(a),f=y(a);if(f){let a=!1;return"active"===d.state&&(a=d.hitRegions.some(a=>a.group===e)),{flexGrow:f.layout[b]??1,pointerEvents:a?"none":void 0}}if(c?.[b])return{flexGrow:c?.[b]}}),R=al({defaultLayout:c,disableCursor:f}),U=(0,e.useMemo)(()=>({get disableCursor(){return!!R.disableCursor},getPanelStyles:P,id:F,orientation:r,registerPanel:a=>{let b=K.current;return b.panels=o(r,[...b.panels,a]),J(),()=>{b.panels=b.panels.filter(b=>b!==a),J()}},registerSeparator:a=>{let b=K.current;return b.separators=o(r,[...b.separators,a]),J(),()=>{b.separators=b.separators.filter(b=>b!==a),J()}},updatePanelProps:(a,{disabled:b})=>{let c=K.current.panels.find(b=>b.id===a);c&&(c.panelConstraints.disabled=b);let d=x(F),e=y(F);d&&e&&A(d,{...e,derivedPanelConstraints:m(d)})},updateSeparatorProps:(a,{disabled:b,disableDoubleClick:c})=>{let d=K.current.separators.find(b=>b.id===a);d&&(d.disabled=b,d.disableDoubleClick=c)}}),[P,F,J,r,R]),V=(0,e.useRef)(null);return ai(()=>{let a,b,c,d,e,f,h,i,j,o,p,q,s,u=G.current;if(null===u)return;let w=K.current;if(void 0!==R.defaultLayout&&Object.keys(R.defaultLayout).length===w.panels.length)for(let b of(a={},w.panels)){let c=R.defaultLayout[b.id];void 0!==c&&(a[b.id]=c)}let x={disabled:!!g,element:u,id:F,mutableState:{defaultLayout:a,disableCursor:!!R.disableCursor,expandedPanelSizes:K.current.lastExpandedPanelSizes,layouts:K.current.layouts},orientation:r,panels:w.panels,resizeTargetMinimumSize:w.resizeTargetMinimumSize,separators:w.separators};V.current=x;let B=(b=!0,n(x.element.ownerDocument.defaultView,"Cannot register an unmounted Group"),c=x.element.ownerDocument.defaultView.ResizeObserver,d=new Set,e=new Set,(f=new c(a=>{for(let c of a){let{borderBoxSize:a,target:d}=c;if(d===x.element){if(b){let a=l({group:x});if(0===a)return;let b=y(x.id);if(!b)return;let c=m(x),d=b.defaultLayoutDeferred?af(c):b.layout,e=M({layout:function({group:a,nextGroupSize:b,prevGroupSize:c,prevLayout:d}){if(c<=0||b<=0||c===b)return d;let e=0,f=0,g=!1,h=new Map,i=[];for(let j of a.panels){let a=d[j.id]??0;if("preserve-pixel-size"===j.panelConstraints.groupResizeBehavior){g=!0;let d=k(a/100*c/b*100);h.set(j.id,d),e+=d}else i.push(j.id),f+=a}if(!g||0===i.length)return d;let j=100-e,l={...d};if(h.forEach((a,b)=>{l[b]=a}),f>0)for(let a of i){let b=d[a]??0;l[a]=k(b/f*j)}else{let a=k(j/i.length);for(let b of i)l[b]=a}return l}({group:x,nextGroupSize:a,prevGroupSize:b.groupSize,prevLayout:d}),panelConstraints:c});if(!b.defaultLayoutDeferred&&L(b.layout,e)&&function(a,b){if(Object.keys(a).length!==Object.keys(b).length)return!1;for(let c in a)if(a[c]!==b[c])return!1;return!0}(b.derivedPanelConstraints,c)&&b.groupSize===a)return;A(x,{defaultLayoutDeferred:!1,derivedPanelConstraints:c,groupSize:a,layout:e,separatorToPanels:b.separatorToPanels})}}else!function(a,b,c){if(!c[0])return;let d=a.panels.find(a=>a.element===b);if(!d||!d.onResize)return;let e=l({group:a}),f="horizontal"===a.orientation?d.element.offsetWidth:d.element.offsetHeight,g=d.mutableValues.prevSize,h={asPercentage:k(f/e*100),inPixels:f};d.mutableValues.prevSize=h,d.onResize(h,d.id,g)}(x,d,a)}})).observe(x.element),x.panels.forEach(a=>{n(!d.has(a.id),`Panel ids must be unique; id "${a.id}" was used more than once`),d.add(a.id),a.onResize&&f.observe(a.element)}),h=l({group:x}),i=m(x),j=x.panels.map(({id:a})=>a).join(","),(o=x.mutableState.defaultLayout)&&(function(a,b){let c=a.map(a=>a.id),d=Object.keys(b);if(c.length!==d.length)return!1;for(let a of c)if(!d.includes(a))return!1;return!0}(x.panels,o)||(o=void 0)),p=M({layout:x.mutableState.layouts[j]??o??af(i),panelConstraints:i}),q=x.element.ownerDocument,ag.set(q,(ag.get(q)??0)+1),s=new Map,t(x).forEach(a=>{a.separator&&s.set(a.separator,a.panels)}),A(x,{defaultLayoutDeferred:0===h,derivedPanelConstraints:i,groupSize:h,layout:p,separatorToPanels:s}),x.separators.forEach(a=>{n(!e.has(a.id),`Separator ids must be unique; id "${a.id}" was used more than once`),e.add(a.id),a.element.addEventListener("keydown",S)}),1===ag.get(q)&&(q.addEventListener("dblclick",O,!0),q.addEventListener("pointerdown",W,!0),q.addEventListener("pointerleave",ab),q.addEventListener("pointermove",ac),q.addEventListener("pointerout",ad),q.addEventListener("pointerup",ae,!0)),function(){b=!1,ag.set(q,Math.max(0,(ag.get(q)??0)-1)),(v=new Map(v)).delete(x),x.separators.forEach(a=>{a.element.removeEventListener("keydown",S)}),ag.get(q)||(q.removeEventListener("dblclick",O,!0),q.removeEventListener("pointerdown",W,!0),q.removeEventListener("pointerleave",ab),q.removeEventListener("pointermove",ac),q.removeEventListener("pointerout",ad),q.removeEventListener("pointerup",ae,!0)),f.disconnect()}),{defaultLayoutDeferred:C,derivedPanelConstraints:I,layout:J}=y(x.id,!0);!C&&I.length>0&&(D(J),E(J));let N=z(F,a=>{let{defaultLayoutDeferred:b,derivedPanelConstraints:c,layout:d}=a.next;if(b||0===c.length)return;let e=x.panels.map(({id:a})=>a).join(",");x.mutableState.layouts[e]=d,c.forEach(b=>{if(b.collapsible){let{layout:c}=a.prev??{};if(c){let a=H(b.collapsedSize,d[b.panelId]),e=H(b.collapsedSize,c[b.panelId]);a&&!e&&(x.mutableState.expandedPanelSizes[b.panelId]=c[b.panelId])}}});let f="active"!==T.state;D(d),f&&E(d)});return()=>{V.current=null,B(),N()}},[g,F,E,D,r,I,R]),(0,e.useEffect)(()=>{let a=V.current;a&&(a.mutableState.defaultLayout=c,a.mutableState.disableCursor=!!f)}),(0,d.jsx)(am.Provider,{value:U,children:(0,d.jsx)("div",{...w,className:b,"data-group":!0,"data-testid":F,id:F,ref:N,style:{height:"100%",width:"100%",overflow:"hidden",...u,display:"flex",flexDirection:"horizontal"===r?"row":"column",flexWrap:"nowrap",touchAction:"horizontal"===r?"pan-y":"pan-x"},children:a})})}function ao(){let a=(0,e.useContext)(am);return n(a,"Group Context not found; did you render a Panel or Separator outside of a Group?"),a}function ap({children:a,className:b,collapsedSize:c="0%",collapsible:f=!1,defaultSize:g,disabled:h,elementRef:i,groupResizeBehavior:j="preserve-relative-size",id:k,maxSize:l="100%",minSize:m="0%",onResize:n,panelRef:o,style:p,...q}){let r,s=!!k,t=ah(k),u=al({disabled:h}),v=(0,e.useRef)(null),w=ak(v,i),{getPanelStyles:x,id:y,orientation:A,registerPanel:B,updatePanelProps:C}=ao(),D=null!==n,E=aj((a,b,c)=>{n?.(a,k,c)});ai(()=>{let a=v.current;if(null!==a)return B({element:a,id:t,idIsStable:s,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:D?E:void 0,panelConstraints:{groupResizeBehavior:j,collapsedSize:c,collapsible:f,defaultSize:g,disabled:u.disabled,maxSize:l,minSize:m}})},[j,c,f,g,D,t,s,l,m,E,B,u]),(0,e.useEffect)(()=>{C(t,{disabled:h})},[h,t,C]),function(a,b){let{id:c}=ao(),d=(0,e.useRef)({collapse:Y,expand:Y,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:Y});(0,e.useImperativeHandle)(b,()=>d.current,[]),ai(()=>{Object.assign(d.current,N({groupId:c,panelId:a}))})}(t,o);let F=()=>{let a=x(y,t);if(a)return JSON.stringify(a)},G=(0,e.useSyncExternalStore)(a=>z(y,a),F,F);return r=G?JSON.parse(G):g?{flexGrow:void 0,flexShrink:void 0,flexBasis:g}:{flexGrow:1},(0,d.jsx)("div",{...q,"data-disabled":h||void 0,"data-panel":!0,"data-testid":t,id:t,ref:w,style:{...aq,display:"flex",flexBasis:0,flexShrink:1,overflow:"visible",...r},children:(0,d.jsx)("div",{className:b,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,overflow:"auto",...p,touchAction:"horizontal"===A?"pan-y":"pan-x"},children:a})})}an.displayName="Group",ap.displayName="Panel";let aq={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function ar({children:a,className:b,disabled:c,disableDoubleClick:f,elementRef:g,id:h,style:i,...j}){let k,l,m=ah(h),n=al({disabled:c,disableDoubleClick:f}),[o,p]=(0,e.useState)({}),[q,r]=(0,e.useState)("inactive"),[s,t]=(0,e.useState)(!1),u=(0,e.useRef)(null),v=ak(u,g),{disableCursor:w,id:x,orientation:y,registerSeparator:A,updateSeparatorProps:B}=ao();return ai(()=>{let a=u.current;if(null!==a){var b;let c={disabled:n.disabled,disableDoubleClick:n.disableDoubleClick,element:a,id:m},d=A(c),e=(b=a=>{r("inactive"!==a.next.state&&a.next.hitRegions.some(a=>a.separator===c)?a.next.state:"inactive")},U.addListener("change",b)),f=z(x,a=>{let{derivedPanelConstraints:b,layout:d,separatorToPanels:e}=a.next,f=e.get(c);if(f){let a=f[0],c=f.indexOf(a);p(function({layout:a,panelConstraints:b,panelId:c,panelIndex:d}){let e,f,g=a[c],h=b.find(a=>a.panelId===c);if(h){let i=h.maxSize,j=h.collapsible?h.collapsedSize:h.minSize,k=[d,d+1];f=M({layout:K({delta:j-g,initialLayout:a,panelConstraints:b,pivotIndices:k,prevLayout:a}),panelConstraints:b})[c],e=M({layout:K({delta:i-g,initialLayout:a,panelConstraints:b,pivotIndices:k,prevLayout:a}),panelConstraints:b})[c]}return{valueControls:c,valueMax:e,valueMin:f,valueNow:g}}({layout:d,panelConstraints:b,panelId:a.id,panelIndex:c}))}});return()=>{e(),f(),d()}}},[x,m,A,n]),(0,e.useEffect)(()=>{B(m,{disabled:c,disableDoubleClick:f})},[c,f,m,B]),c&&!w&&(k="not-allowed"),l=c?"disabled":"active"===q?"active":s?"focus":q,(0,d.jsx)("div",{...j,"aria-controls":o.valueControls,"aria-disabled":c||void 0,"aria-orientation":"horizontal"===y?"vertical":"horizontal","aria-valuemax":o.valueMax,"aria-valuemin":o.valueMin,"aria-valuenow":o.valueNow,children:a,className:b,"data-separator":l,"data-testid":m,id:m,onBlur:()=>t(!1),onFocus:()=>t(!0),ref:v,role:"separator",style:{flexBasis:"auto",cursor:k,...i,flexGrow:0,flexShrink:0,touchAction:"none"},tabIndex:c?void 0:0})}ar.displayName="Separator";var as=a.i(581228),at=a.i(510414),au=a.i(396465),av=a.i(799856),aw=a.i(626605),ax=a.i(144784),ay=a.i(912251),az=a.i(380132),aA=a.i(760644),aB=a.i(259982);let aC=a=>a?.activePaneId?(0,ax.collectPanes)(a.root).find(b=>b.id===a.activePaneId)??null:null;var aD=a.i(199462),aE=a.i(552591),aF=a.i(456195),aG=a.i(93538),aH=a.i(15143),aH=aH,aI=a.i(343155),aJ=a.i(514385),aK=a.i(693567),aL=a.i(678240),aM=a.i(484682),aN=a.i(864232),aO=a.i(478163),aP=a.i(59443),aQ=a.i(356474),aR=a.i(671015),aS=a.i(850120),aT=a.i(747868),aU=a.i(576949),aV=a.i(291677),aW=a.i(505947),aX=a.i(443821),aY=a.i(795541),aZ=a.i(164405),a$=a.i(166528),a_=a.i(417533),a0=a.i(340001),a1=a.i(378836),a2=a.i(838997),a3=a.i(619923),a4=a.i(47691),a5=a.i(106816);let a6=()=>(0,d.jsx)("div",{className:"shrink-0 border-b",children:(0,d.jsx)("div",{className:"flex items-center px-4 py-1.5",children:(0,d.jsxs)("div",{className:"flex h-5 items-center gap-3",children:[(0,d.jsx)(a0.Skeleton,{className:"h-3 w-40"}),(0,d.jsx)(a0.Skeleton,{className:"h-3 w-20"})]})})}),a7=({meta:a,sessionName:b,sessionId:c,jsonlPath:f})=>{let[g,h]=(0,e.useState)(!1),i=(0,e.useCallback)(()=>h(a=>!a),[]),j=(0,e.useCallback)(()=>h(!1),[]),k=(0,a5.default)(f,g),{branch:l,isLoading:m}=(0,a2.default)(b),{status:n}=(0,a3.default)(b,g),o=(0,a4.default)(b,g),p=(0,e.useRef)(null),[,q]=(0,e.useState)(0);return(0,e.useEffect)(()=>{let a=setInterval(()=>q(a=>a+1),6e4);return()=>clearInterval(a)},[]),(0,e.useEffect)(()=>{if(!g)return;let a=a=>{p.current&&!p.current.contains(a.target)&&j()},b=a=>{"Escape"===a.key&&j()};return document.addEventListener("mousedown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",b)}},[g,j]),(0,d.jsxs)("div",{ref:p,className:"relative shrink-0 border-b",children:[(0,d.jsxs)("div",{className:"flex cursor-pointer items-center justify-between px-4 py-1.5 hover:bg-muted/30",role:"button",tabIndex:0,onClick:i,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),i())},children:[(0,d.jsx)(a1.MetaCompact,{title:a.title,totalCost:a.totalCost,branch:l,usedPercentage:a.usedPercentage,currentContextTokens:a.currentContextTokens,contextWindowSize:a.contextWindowSize}),(0,d.jsx)(aG.ChevronDown,{size:14,className:(0,av.cn)("shrink-0 text-muted-foreground transition-transform duration-150",g&&"rotate-180")})]}),(0,d.jsx)("div",{className:(0,av.cn)("absolute inset-x-0 top-full z-10 origin-top border-b bg-background shadow-sm transition-all duration-150 ease-out",g?"scale-y-100 opacity-100":"pointer-events-none scale-y-95 opacity-0"),children:(0,d.jsx)("div",{className:"px-4 py-3",children:(0,d.jsx)(a1.MetaDetail,{title:a.title,sessionId:c,createdAt:a.createdAt,updatedAt:a.updatedAt,fileSize:a.fileSize,userCount:k?.userCount??a.userCount,assistantCount:k?.assistantCount??a.assistantCount,toolCount:k?.toolCount??null,toolBreakdown:k?.toolBreakdown??null,inputTokens:a.inputTokens,cachedInputTokens:a.cachedInputTokens,outputTokens:a.outputTokens,reasoningOutputTokens:a.reasoningOutputTokens,totalCost:a.totalCost,currentContextTokens:a.currentContextTokens,contextWindowSize:a.contextWindowSize,usedPercentage:a.usedPercentage,model:a.model,branch:l,isBranchLoading:m,gitStatus:n,tmuxInfo:o})})})]})},a8=({tabId:a,sessionName:b,claudeSessionId:c,cwd:g,className:h,onClose:i,onNewSession:j,scrollToBottomRef:k,addPendingMessageRef:l,removePendingMessageRef:m,trustPrompt:n,onTrustResponse:o})=>{let p=(0,f.useTranslations)("terminal"),[q,r]=(0,e.useState)(null),s=(0,aA.default)(b=>b.tabs[a]?.agentProcess??null),t=(0,aA.default)(b=>b.tabs[a]?.agentInstalled??!0),u=(0,aA.default)(b=>b.tabs[a]?.cliState??"inactive"),v=(0,aA.default)(b=>b.tabs[a]?.compactingSince??null),w=(0,aA.default)(b=>(0,aA.selectSessionView)(b.tabs,a)),x=(0,aA.default)(b=>b.tabs[a]?.sessionMetaCache??null),y=(0,aA.default)(b=>b.tabs[a]?.agentSummary??null),z=(0,aA.default)(b=>b.tabs[a]?.lastUserMessage??null),A=(0,e.useCallback)(()=>{r(null)},[]),B=(0,e.useCallback)(a=>{r(null),at.toast.warning(p("resumeBlocked"),{description:a.processName?p("resumeBlockedProcess",{name:a.processName}):void 0})},[p]),C=(0,e.useCallback)(()=>{r(null),at.toast.error(p("resumeFailed"))},[p]),{entries:D,tasks:E,sessionId:F,jsonlPath:G,sessionSummary:H,initMeta:I,sessionStats:J,agentProcess:K,wsStatus:L,isLoading:M,error:N,loadMore:O,hasMore:P,retrySession:Q,sendResume:R,addPendingUserMessage:S,removePendingUserMessage:T}=(0,aR.default)({sessionName:b,claudeSessionId:c,enabled:!!b,resumeCallbacks:{onResumeStarted:A,onResumeBlocked:B,onResumeError:C},onSync:b=>{let c=Date.now();null!==b.agentProcess&&aA.default.getState().setAgentProcess(a,b.agentProcess,c),b.agentInstalled||aA.default.getState().setAgentInstalled(a,!1),aA.default.getState().setTimelineLoading(a,b.isLoading)},getCliState:()=>aA.default.getState().tabs[a]?.cliState}),{sessions:U,hasMore:V,isLoading:W,isLoadingMore:X,error:Y,refetch:Z,loadMore:$}=(0,aS.default)({tmuxSession:b,enabled:!!b&&!0!==s,cwd:g});(0,e.useEffect)(()=>(l&&(l.current=S),m&&(m.current=T),()=>{l&&(l.current=void 0),m&&(m.current=void 0)}),[l,m,S,T]);let _=(0,e.useRef)(s);(0,e.useEffect)(()=>{let a=_.current;_.current=s,!0!==a&&!0===s&&!0!==K&&Q()},[s,K,Q]),(0,e.useEffect)(()=>{if("unknown"!==u)return;let b=new AbortController;return fetch("/api/tmux/recover-unknown",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tabId:a}),signal:b.signal}).catch(()=>{}),()=>b.abort()},[a,u]);let aa=(0,aT.default)("check"===w,b),ab=null===s||0===D.length&&M,ac=(0,aU.useSessionMetaCompute)(D,H,I,J,y,z);(0,e.useEffect)(()=>{ab||aA.default.getState().setSessionMetaCache(a,{meta:ac,sessionId:F,jsonlPath:G})},[ab,ac,F,G,a]);let ad=(0,e.useCallback)(a=>{q||(r(a),R(a,b))},[q,R,b]);if(!t)return(0,d.jsxs)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center gap-3 text-muted-foreground",h),children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:p("installClaude")}),(0,d.jsx)("span",{className:"text-xs",children:p("installClaudeHint")})]});if(n&&o)return(0,d.jsxs)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",h),children:[(0,d.jsx)(aZ.default,{folderPath:n.folderPath,agent:n.agent,onRespond:o}),(0,d.jsx)("button",{className:"mt-3 text-xs text-muted-foreground underline underline-offset-2 hover:text-foreground",onClick:i,children:p("checkTerminal")})]});if("check"===w)return aa?(0,d.jsx)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",h),children:aa.isBypassPrompt&&aa.options.length>0?(0,d.jsx)(aY.default,{sessionName:b,options:aa.options,fallback:(0,d.jsx)("button",{className:"text-xs text-muted-foreground underline underline-offset-2 hover:text-foreground",onClick:i,children:p("checkTerminal")})}):(0,d.jsx)("button",{className:"mt-3 text-xs text-muted-foreground underline underline-offset-2 hover:text-foreground",onClick:i,children:p("checkTerminal")})}):(0,d.jsx)(aX.default,{icon:(0,d.jsx)(a_.default,{className:"h-8 w-8 text-foreground motion-safe:animate-spin motion-reduce:opacity-70 [animation-duration:1.5s]"}),main:c||F?p("claudeBootResuming"):p("claudeBootMain"),almostReady:p("claudeBootAlmostReady"),subtitle:p("claudeBootSubtitle"),className:(0,av.cn)("animate-delayed-fade-in",h)});if("session-list"===w)return null===s||W&&0===U.length?(0,d.jsx)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",h),children:(0,d.jsx)(as.default,{className:"h-4 w-4 text-muted-foreground"})}):0!==U.length||Y?(0,d.jsx)("div",{className:(0,av.cn)("h-full w-full",h),children:(0,d.jsx)(aV.default,{sessions:U,isLoading:W,isLoadingMore:X,hasMore:V,error:Y,resumingSessionId:q,onSelectSession:ad,onRefresh:Z,onLoadMore:$,onNewSession:j})}):(0,d.jsx)("div",{className:(0,av.cn)("h-full w-full",h),children:(0,d.jsx)(aW.default,{onClose:i,onNewSession:j})});let ae=ab?x:{meta:ac,sessionId:F,jsonlPath:G};return(0,d.jsxs)("div",{className:(0,av.cn)("flex min-h-0 w-full flex-1 flex-col",h),children:[ae?(0,d.jsx)(a7,{meta:ae.meta,sessionName:b,sessionId:ae.sessionId,jsonlPath:ae.jsonlPath}):(0,d.jsx)(a6,{}),(0,d.jsx)("div",{className:"min-h-0 flex-1",children:(0,d.jsx)(a$.default,{entries:D,tasks:E,sessionId:F,sessionName:b,tabId:a,initMeta:I,sessionStats:J,cliState:u,compactingSince:v,wsStatus:L,isLoading:M,error:N,onRetry:Q,onLoadMore:O,hasMore:P,scrollToBottomRef:k})})]})};var a9=a.i(430409),ba=a.i(555416),bb=a.i(155116),bc=a.i(7137),bd=a.i(80723);let be=({tabId:a,sessionName:b,cwd:c,className:g,onClose:h,onNewSession:j,onRestart:k,updatePrompt:l,onUpdatePromptResponse:m,trustPrompt:n,onTrustResponse:o,scrollToBottomRef:p,addPendingMessageRef:q,removePendingMessageRef:r})=>{let s=(0,f.useTranslations)("terminal"),[t,u]=(0,e.useState)(null),v=(0,aA.default)(b=>b.tabs[a]?.agentProcess??null),w=(0,aA.default)(b=>b.tabs[a]?.agentInstalled??!0),x=(0,aA.default)(b=>b.tabs[a]?.cliState??"inactive"),y=(0,aA.default)(b=>b.tabs[a]?.compactingSince??null),z=(0,aA.default)(b=>(0,aA.selectSessionView)(b.tabs,a)),A=(0,aA.default)(b=>b.tabs[a]?.agentSessionId??null),B=(0,aA.default)(b=>b.tabs[a]?.sessionMetaCache??null),C=(0,aA.default)(b=>b.tabs[a]?.agentSummary??null),D=(0,aA.default)(b=>b.tabs[a]?.lastUserMessage??null),E=(0,e.useCallback)(()=>{j?.()},[j]),F=(0,e.useCallback)(()=>{u(null)},[]),G=(0,e.useCallback)(a=>{u(null),at.toast.warning(s("resumeBlocked"),{description:a.processName?s("resumeBlockedProcess",{name:a.processName}):void 0})},[s]),H=(0,e.useCallback)(()=>{u(null),at.toast.error(s("codexResumeFailed"))},[s]),{entries:I,tasks:J,sessionId:K,jsonlPath:L,sessionSummary:M,initMeta:N,sessionStats:O,agentProcess:P,wsStatus:Q,isLoading:R,error:S,loadMore:T,hasMore:U,retrySession:V,sendResume:W,addPendingUserMessage:X,removePendingUserMessage:Y}=(0,aR.default)({sessionName:b,agentSessionId:A,panelType:"codex-cli",enabled:!!b,resumeCallbacks:{onResumeStarted:F,onResumeBlocked:G,onResumeError:H},onSync:b=>{let c=Date.now();null!==b.agentProcess&&aA.default.getState().setAgentProcess(a,b.agentProcess,c),b.agentInstalled||aA.default.getState().setAgentInstalled(a,!1),aA.default.getState().setTimelineLoading(a,b.isLoading)},getCliState:()=>aA.default.getState().tabs[a]?.cliState}),{sessions:Z,isLoading:$,error:_,refresh:aa}=(0,ba.useCodexSessions)(c,!!c&&"session-list"===z&&!0!==v);(0,e.useEffect)(()=>(q&&(q.current=X),r&&(r.current=Y),()=>{q&&(q.current=void 0),r&&(r.current=void 0)}),[q,r,X,Y]);let ab=(0,e.useRef)(v);(0,e.useEffect)(()=>{let a=ab.current;ab.current=v,!0!==a&&!0===v&&!0!==P&&V()},[v,P,V]),(0,e.useEffect)(()=>{if("unknown"!==x)return;let b=new AbortController;return fetch("/api/tmux/recover-unknown",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tabId:a}),signal:b.signal}).catch(()=>{}),()=>b.abort()},[a,x]),(0,e.useEffect)(()=>{if("check"!==z)return;if("inactive"!==x&&"unknown"!==x&&"cancelled"!==x)return void aA.default.getState().setSessionView(a,"timeline");if(!0===v||!0===P)return void aA.default.getState().setAgentProcess(a,!0,Date.now());let c=!1,d=async()=>{try{let d=await fetch(`/api/check-agent?session=${b}`);if(!d.ok)return;let e=await d.json();if(c||!0!==e.running||"codex-cli"!==e.providerPanelType)return;aA.default.getState().setAgentProcess(a,!0,"number"==typeof e.checkedAt?e.checkedAt:Date.now())}catch{}};d();let e=window.setInterval(d,800);return()=>{c=!0,window.clearInterval(e)}},[v,P,x,b,a,z]);let ac=null===v||0===I.length&&R,ad=(0,aU.useSessionMetaCompute)(I,M,N,O,C,D);(0,e.useEffect)(()=>{ac||aA.default.getState().setSessionMetaCache(a,{meta:ad,sessionId:K,jsonlPath:L})},[ac,ad,K,L,a]);let ae=(0,e.useCallback)(a=>{t||(u(a.sessionId),W(a.sessionId,b))},[t,W,b]);if(!w)return(0,d.jsxs)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center gap-3 px-6 text-center text-muted-foreground",g),role:"status",children:[(0,d.jsx)(a9.default,{size:32,className:"text-muted-foreground/60"}),(0,d.jsx)("span",{className:"text-sm font-medium text-foreground",children:s("codexNotInstalled")})]});if(l&&m)return(0,d.jsx)("div",{className:(0,av.cn)("animate-delayed-fade-in flex h-full w-full flex-col items-center justify-center gap-3 px-6",g),children:(0,d.jsx)(bc.default,{prompt:l,onRespond:m})});if(n&&o)return(0,d.jsx)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",g),children:(0,d.jsx)(aZ.default,{folderPath:n.folderPath,agent:n.agent,onRespond:o})});if("check"===z)return(0,d.jsx)("div",{className:(0,av.cn)("animate-delayed-fade-in flex h-full w-full flex-col items-center justify-center gap-3 px-6",g),children:(0,d.jsx)(bb.default,{onRestart:k})});if("session-list"===z)return null!==v&&c?(0,d.jsx)("div",{className:(0,av.cn)("h-full w-full",g),children:(0,d.jsx)(bd.default,{sessions:Z,isLoading:$,error:_?s("codexSessionsLoadFailed"):null,resumingSessionId:t,onSelectSession:ae,onRefresh:aa,onNewSession:j})}):(0,d.jsx)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",g),children:(0,d.jsx)(as.default,{className:"h-4 w-4 text-muted-foreground"})});if("inactive"===x&&!1===v&&!A&&!R)return(0,d.jsxs)("div",{className:(0,av.cn)("flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center",g),role:"status",children:[(0,d.jsx)(a9.default,{size:32,className:"text-muted-foreground/60"}),(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:s("codexInactiveMessage")}),j&&(0,d.jsxs)(au.Button,{size:"sm",onClick:E,children:[(0,d.jsx)(i.Plus,{className:"size-3.5"}),s("codexStartSession")]})]});let af=ac?B:{meta:ad,sessionId:K,jsonlPath:L};return(0,d.jsxs)("div",{className:(0,av.cn)("flex min-h-0 w-full flex-1 flex-col",g),children:[af?(0,d.jsx)(a7,{meta:af.meta,sessionName:b,sessionId:af.sessionId,jsonlPath:af.jsonlPath}):(0,d.jsx)(a6,{}),(0,d.jsx)("div",{className:"min-h-0 flex-1",children:(0,d.jsx)(a$.default,{entries:I,tasks:J,sessionId:K,sessionName:b,tabId:a,initMeta:N,sessionStats:O,cliState:x,compactingSince:y,wsStatus:Q,isLoading:R,error:S,onRetry:V,onLoadMore:T,hasMore:U,scrollToBottomRef:p})})]})};var bf=a.i(265725),bg=a.i(219379),bh=a.i(741798),bi=a.i(660558),bj=a.i(665315),bk=a.i(775495),bl=a.i(358137);let bm=({cwd:a,lastCommand:b,onRestartWithCommand:c,onRestartNew:e})=>{let g=(0,f.useTranslations)("terminal");return(0,d.jsxs)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:[(0,d.jsx)(bl.WifiOff,{className:"h-5 w-5 text-muted-foreground"}),(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:g("disconnectedSessionNotFound")}),(0,d.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[a&&(0,d.jsx)("span",{className:"max-w-72 truncate text-xs text-muted-foreground/60",children:a.replace(/^\/Users\/[^/]+/,"~")}),b&&(0,d.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,d.jsx)("code",{className:"max-w-64 truncate rounded bg-muted px-2 py-1 text-xs",children:b}),(0,d.jsx)(au.Button,{variant:"outline",size:"sm",onClick:()=>c(b),children:g("restartWithCommand")})]}),b&&(0,d.jsxs)("div",{className:"flex w-40 items-center gap-2 text-muted-foreground/40",children:[(0,d.jsx)("div",{className:"h-px flex-1 bg-current"}),(0,d.jsx)("span",{className:"text-[11px]",children:g("or")}),(0,d.jsx)("div",{className:"h-px flex-1 bg-current"})]}),(0,d.jsx)(au.Button,{variant:"outline",size:"sm",onClick:e,children:g("restartNewTerminal")})]})]})};var bn=a.i(630560),bo=a.i(734637);let bp=({hint:a,onSubmit:b,onDismiss:c})=>{let g=(0,f.useTranslations)("terminal"),h=(0,f.useTranslations)("common"),i=(0,e.useRef)(null);return(0,e.useEffect)(()=>{i.current?.focus()},[]),(0,d.jsxs)("div",{className:"absolute bottom-3 left-3 right-3 z-30 rounded-lg border border-border bg-card shadow-lg animate-[fadeIn_150ms_ease-out]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 pt-2.5",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:g("dragDropNotSupported")}),(0,d.jsx)("button",{className:"ml-auto flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:text-foreground",onClick:c,"aria-label":h("close"),children:(0,d.jsx)(bo.X,{className:"h-3.5 w-3.5"})})]}),(0,d.jsx)("div",{className:"px-3 pt-1 pb-2.5",children:(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded border border-border bg-background px-2 py-1.5",children:[(0,d.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground/60",children:a}),(0,d.jsx)("input",{ref:i,className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground/40",placeholder:g("fullPathPlaceholder"),onKeyDown:a=>{"Enter"===a.key?b(a.currentTarget.value):"Escape"===a.key&&c()}})]})})]})};var bq=a.i(354447),br=a.i(19267),bs=a.i(545375),bt=a.i(721043),bu=a.i(165402);let bv=a=>a.replace(/[ \t\\'"(){}[\]!#$&;`|*?<>~^%]/g,"\\$&");var bw=a.i(734163);let bx=(0,a.i(564375).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var by=a.i(643228),bz=a.i(767810),bA=a.i(98456),bB=a.i(949348),bC=a.i(470167),bD=a.i(231473),bE=a.i(448557),bF=a.i(203725);let bG=({tab:a,isActive:b,isDragging:c,dropSide:g,displayTitle:h,currentProcess:i,modeSwitcher:j,onSwitch:k,onDelete:l,onRename:m,onFocusPane:n,onDragStart:o,onDragEnd:p,onDragOver:q,onDragLeave:r})=>{let s=(0,f.useTranslations)("terminal"),[t,u]=(0,e.useState)(!1),[v,w]=(0,e.useState)(""),x=(0,e.useRef)(null);(0,e.useEffect)(()=>{t&&requestAnimationFrame(()=>x.current?.select())},[t]);let y=()=>{let b=v.trim();u(!1),b!==a.name&&m(b)},z="agent-sessions"===a.panelType?s("sessionList"):"",A=a.name||z||h||"";return(0,d.jsxs)("div",{"data-tab-id":a.id,role:"tab","aria-selected":b,tabIndex:b?0:-1,className:(0,av.cn)("group relative flex min-w-[104px] max-w-[170px] cursor-pointer items-center gap-1 border-b-2 px-2 text-xs select-none",b&&j&&"min-w-[136px] max-w-[210px] pr-1",b?"border-b-accent-color bg-secondary text-foreground":"border-b-transparent text-muted-foreground hover:bg-accent hover:text-foreground",c&&"opacity-30"),onClick:()=>{t||b||k(),n()},onDoubleClick:()=>{u(!0),w(a.name)},draggable:!t,onDragStart:o,onDragEnd:p,onDragOver:q,onDragLeave:r,children:["left"===g&&(0,d.jsx)("div",{className:"absolute top-1 bottom-1 left-0 w-0.5 bg-ui-blue"}),t?(0,d.jsx)("input",{ref:x,className:"w-full min-w-0 border-b border-accent-color bg-transparent text-xs text-foreground outline-none",value:v,onChange:a=>w(a.target.value),onKeyDown:a=>{"Enter"===a.key&&y(),"Escape"===a.key&&u(!1)},onBlur:y,onClick:a=>a.stopPropagation()}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bF.default,{tabId:a.id,panelType:a.panelType}),"claude-code"===a.panelType?(0,d.jsx)(bD.default,{className:"mx-0.5 h-3 w-3 shrink-0"}):"codex-cli"===a.panelType?(0,d.jsx)(a9.default,{className:"mx-0.5 h-3 w-3 shrink-0 text-foreground","aria-label":"Codex"}):"web-browser"===a.panelType?(0,d.jsx)(bA.Globe,{className:"mx-0.5 h-3 w-3 shrink-0 text-muted-foreground"}):"diff"===a.panelType?(0,d.jsx)(bB.GitCompareArrows,{className:"mx-0.5 h-3 w-3 shrink-0 text-muted-foreground"}):"agent-sessions"===a.panelType?(0,d.jsx)(bC.History,{className:"mx-0.5 h-3 w-3 shrink-0 text-muted-foreground"}):(0,d.jsx)(bE.default,{process:i??h,className:"mx-0.5 h-3 w-3 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:(0,av.cn)("mr-1 min-w-0 truncate",A?"opacity-100":"opacity-0"),children:A}),b&&j]}),(0,d.jsx)("button",{className:(0,av.cn)("-mr-0.5 flex h-6 w-6 shrink-0 items-center justify-center text-muted-foreground hover:text-foreground",b?"visible":"invisible group-hover:visible"),onClick:a=>{a.stopPropagation(),l()},"aria-label":s("closeTabLabel"),children:(0,d.jsx)(bo.X,{className:"h-3 w-3"})}),"right"===g&&(0,d.jsx)("div",{className:"absolute top-1 right-0 bottom-1 w-0.5 bg-ui-blue"})]})};var bH=a.i(158799),bI=a.i(96968),bJ=a.i(345283);a.i(466180);let bK=({paneId:a,isCreating:b,activePanelType:c,onCreateTab:g})=>{let h,j=(0,f.useTranslations)("terminal"),k=(0,bJ.default)(),[l,m]=(0,e.useState)(!1),n=(0,bI.default)(),o=(0,aw.useLayoutStore)(a=>a.workspaceId),p={notInstalled:(h=(0,f.useTranslations)("terminal"))("codexNotInstalled"),copyCommand:h("codexCopyCommand"),copied:h("codexCopied"),copyConfigPath:h("codexCopyConfigPath"),configParseFailed:h("codexConfigParseFailed"),launchFailed:h("codexLaunchFailed"),resumeFailed:h("codexResumeFailed"),approvalSendFailed:h("codexApprovalSendFailed"),approvalNotApplied:h("codexApprovalNotApplied"),retry:h("codexRetry")},{ensureAgentInstalled:q,installDialogs:r}=(0,bw.useAgentInstallCheck)(),s=(0,e.useMemo)(()=>{let a=[{key:"claude",type:"claude-code",icon:(0,d.jsx)(bD.default,{className:"h-3.5 w-3.5"}),label:j("claudeNewConversation"),startAgent:"claude"},{key:"codex",type:"codex-cli",icon:(0,d.jsx)(a9.default,{className:"h-3.5 w-3.5"}),label:j("codexNewConversation"),startAgent:"codex"},{key:"agent-sessions",type:"agent-sessions",icon:(0,d.jsx)(bC.History,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:j("sessionList")},{key:"terminal",type:"terminal",icon:(0,d.jsx)(bE.default,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:"Terminal"},{key:"web-browser",type:"web-browser",icon:(0,d.jsx)(bA.Globe,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:"Web Browser"}];return n?a.filter(a=>"web-browser"!==a.key):a},[n,j]),[t,u]=(0,e.useState)(0),v=(0,e.useRef)([]),w=(0,e.useCallback)(()=>{let a=(a=>{switch(a){case"terminal":return"terminal";case"web-browser":return"web-browser";case"codex-cli":return"codex";case"agent-sessions":return"agent-sessions";default:return"claude"}})(c),b=s.findIndex(b=>b.key===a);u(b>=0?b:0),m(!0)},[c,s]);(0,e.useEffect)(()=>{let b=b=>{let c=b.detail;c?.paneId===a&&w()};return window.addEventListener("open-new-tab-menu",b),()=>window.removeEventListener("open-new-tab-menu",b)},[a,w]),(0,e.useEffect)(()=>{l&&v.current[t]?.focus()},[l,t]);let x=(0,e.useCallback)(async()=>{if(await q("codex"))try{let a=await (0,aO.fetchCodexLaunchCommand)(o);g("codex-cli",{command:a})}catch{at.toast.error(p.launchFailed,{id:"codex-launch-failed",duration:6e3,action:void 0})}},[p,q,g,o]),y=(0,e.useCallback)(async a=>{if(m(!1),"claude"===a){if(!await q("claude"))return;g("claude-code",{command:(0,aN.buildClaudeLaunchCommand)({workspaceId:o,dangerouslySkipPermissions:aL.default.getState().dangerouslySkipPermissions})});return}x()},[q,x,g,o]),z=a=>{"startAgent"in a&&a.startAgent?y(a.startAgent):(m(!1),g(a.type))};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex items-center border-l border-r border-border px-0.5",children:(0,d.jsxs)(bH.Popover,{open:l,onOpenChange:a=>{a?w():m(!1)},children:[(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsx)(bz.TooltipTrigger,{render:(0,d.jsx)(bH.PopoverTrigger,{className:(0,av.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground hover:text-foreground",b&&"pointer-events-none opacity-50"),disabled:b,"aria-label":j("openNewTab")}),children:b?(0,d.jsx)(as.default,{className:"h-3 w-3"}):(0,d.jsx)(i.Plus,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:j("newTabTooltip",{shortcut:`${k?"⌘":"Ctrl+"}T`})})]}),(0,d.jsx)(bH.PopoverContent,{side:"bottom",align:"start",className:"w-max min-w-52 max-w-[calc(100vw-1rem)] gap-0 p-0.5",onKeyDown:a=>{if("ArrowDown"===a.key)a.preventDefault(),u(a=>(a+1)%s.length);else if("ArrowUp"===a.key)a.preventDefault(),u(a=>(a-1+s.length)%s.length);else if("Enter"===a.key){a.preventDefault();let b=s[t];b&&z(b)}},children:s.map((a,b)=>(0,d.jsx)("div",{className:(0,av.cn)("flex rounded-sm",t===b&&"bg-accent"),onMouseEnter:()=>u(b),children:(0,d.jsxs)("button",{ref:a=>{v.current[b]=a},className:"flex min-w-0 flex-1 items-center gap-2 rounded-sm px-2.5 py-2 text-xs text-foreground hover:bg-accent focus:outline-none",onClick:()=>void z(a),children:[a.icon,(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",children:a.label})]})},a.key))})]})}),r]})};var bL=a.i(103222);let bM=a=>a.startAction?`Start ${a.label}`:a.label,bN=a=>"claude-code"===a||"codex-cli"===a?"Chat":"Terminal",bO=({tabId:a,paneId:b,sessionName:c,panelType:f,onSwitchPanelType:g})=>{let[h,i]=(0,e.useState)(!1),j=(0,aA.default)(b=>b.tabs[a]),k=(0,aB.getAgentPanelTypeFromProvider)(j?.agentProviderId),l=!!k&&(j?.agentProcess===!0||(0,aB.isAgentRunning)(j?.cliState)||((a,b)=>{if(!b)return!1;let c=b.toLowerCase();return"claude-code"===a?"claude"===c:"codex-cli"===a&&"codex"===c})(k,j?.currentProcess)),m=(0,aB.isAgentPanel)(f)?f:l?k:void 0,n="claude-code"===f||"codex-cli"===f?{type:f,label:bN(f)}:{type:"terminal",label:"Terminal"},o=[{type:"terminal",label:"Terminal"},...m?[{type:m,label:bN(m)}]:[{type:"claude-code",label:"Claude",startAction:!0},{type:"codex-cli",label:"Codex",startAction:!0}]],p=async()=>{try{let b=await fetch(`/api/check-agent?session=${encodeURIComponent(c)}`);if(!b.ok)return;let d=await b.json();(0,bL.applyAgentCheckResult)(a,d)}catch{}};return(0,d.jsxs)(bH.Popover,{open:h,onOpenChange:a=>{a?p().finally(()=>i(!0)):i(!1)},children:[(0,d.jsx)(bH.PopoverTrigger,{className:"flex h-5 shrink-0 items-center rounded border border-border/70 bg-background/70 px-1.5 text-[10px] leading-none text-foreground hover:bg-accent focus:outline-none focus:ring-1 focus:ring-ring","aria-label":"Select tab mode",title:"Select tab mode",onClick:a=>a.stopPropagation(),children:(0,d.jsx)("span",{children:n.label})}),(0,d.jsx)(bH.PopoverContent,{side:"bottom",align:"end",className:"w-max min-w-[var(--anchor-width)] max-w-[calc(100vw-1rem)] gap-0 p-0.5",onClick:a=>a.stopPropagation(),children:o.map(c=>{let e=f===c.type;return(0,d.jsx)("button",{type:"button",className:(0,av.cn)("flex w-full items-center rounded-sm px-2 py-1 text-left text-[11px] leading-4 text-foreground whitespace-nowrap hover:bg-accent",e&&"bg-accent font-medium"),"aria-pressed":e,"aria-label":bM(c),onClick:d=>{d.stopPropagation(),(c=>{if(f===c.type)return i(!1);if((0,aB.tryAgentSwitch)({current:f,target:c.type,cliState:j?.cliState,agentProcess:j?.agentProcess,runningAgentPanelType:k})){if(i(!1),"terminal"===c.type&&(0,aB.isAgentPanel)(f)&&aA.default.getState().setDetectedAgent(a,{running:!0,providerId:"claude-code"===f?"claude":"codex-cli"===f?"codex":void 0,panelType:f}),c.startAction&&("claude-code"===c.type||"codex-cli"===c.type))return window.dispatchEvent(new CustomEvent("purplemux-start-agent",{detail:{paneId:b,tabId:a,provider:"codex-cli"===c.type?"codex":"claude"}}));g(c.type)}})(c)},children:(0,d.jsx)("span",{children:bM(c)})},c.type)})})]})},bP=({paneId:a,tabs:b,activeTabId:c,tabTitles:h,tabProcesses:i,isLoading:j,error:k,isCreating:l,paneCount:m,isSplitting:n,onSwitchTab:o,onCreateTab:p,onDeleteTab:q,onRenameTab:r,onSwitchPanelType:s,onReorderTabs:t,onClosePane:u,onMoveTab:v,onFocusPane:w,onRetry:x})=>{let y=(0,f.useTranslations)("terminal"),z=(0,f.useTranslations)("common"),A=(0,e.useRef)(null),B=(0,e.useMemo)(()=>[...b].sort((a,b)=>a.order-b.order),[b]),{draggedTabId:C,dropTarget:D,isDragOverFromOther:E,handleDragOver:F,handleDrop:G,handleTabBarDragEnter:H,handleTabBarDragLeave:I,startDrag:J,endDrag:K,clearDropTarget:L}=(({paneId:a,sortedTabs:b,onReorderTabs:c,onMoveTab:d})=>{let[f,g]=(0,e.useState)(null),[h,i]=(0,e.useState)(null),[j,k]=(0,e.useState)(!1),l=(0,e.useRef)(0),m=(0,e.useCallback)((a,b)=>{a.preventDefault(),a.dataTransfer.dropEffect="move";let c=a.currentTarget.getBoundingClientRect();i({id:b,side:a.clientX<c.left+c.width/2?"left":"right"})},[]),n=(0,e.useCallback)(e=>{e.preventDefault(),l.current=0,k(!1);let f=e.dataTransfer.getData("text/tab-id"),j=e.dataTransfer.getData("text/pane-id");if(!f){g(null),i(null);return}if(j&&j!==a){let a;d(f,j,h?(a=b.findIndex(a=>a.id===h.id),"right"===h.side?a+1:a):b.length),g(null),i(null);return}if(!h||f===h.id){g(null),i(null);return}let m=b.filter(a=>a.id!==f),n=m.findIndex(a=>a.id===h.id),o="right"===h.side?n+1:n,p=b.find(a=>a.id===f);p&&m.splice(o,0,p),c(m.map(a=>a.id)),g(null),i(null)},[a,b,h,d,c]),o=(0,e.useCallback)(b=>{b.preventDefault(),l.current++;let c=Array.from(b.dataTransfer.types).find(a=>a.startsWith("application/x-pane/")),d=c?.replace("application/x-pane/","")??null;null!==d&&d!==a&&k(!0)},[a]),p=(0,e.useCallback)(()=>{l.current--,l.current<=0&&(l.current=0,k(!1),i(null))},[]),q=(0,e.useCallback)((b,c)=>{b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("text/tab-id",c),b.dataTransfer.setData("text/pane-id",a),b.dataTransfer.setData(`application/x-pane/${a}`,"");let d=b.currentTarget.cloneNode(!0);d.querySelector('[aria-label="탭 닫기"]')?.remove(),d.querySelectorAll(".sr-only").forEach(a=>a.remove()),d.style.cssText="position:fixed;left:-9999px;display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--card);color:var(--foreground);border:none;border-radius:4px;font-size:12px;opacity:0.6;transform:scale(0.9);white-space:nowrap;",document.body.appendChild(d),b.dataTransfer.setDragImage(d,0,0),requestAnimationFrame(()=>d.remove()),g(c)},[a]);return{draggedTabId:f,dropTarget:h,isDragOverFromOther:j,handleDragOver:m,handleDrop:n,handleTabBarDragEnter:o,handleTabBarDragLeave:p,startDrag:q,endDrag:(0,e.useCallback)(()=>{g(null),i(null)},[]),clearDropTarget:(0,e.useCallback)(()=>{i(null)},[])}})({paneId:a,sortedTabs:B,onReorderTabs:t,onMoveTab:v}),[M,N]=(0,e.useState)(!1),[O,P]=(0,e.useState)(!1),Q=M||O,R=(0,e.useCallback)(()=>{let a=A.current;a&&(N(a.scrollLeft>0),P(a.scrollLeft+a.clientWidth<a.scrollWidth-1))},[]);(0,e.useEffect)(()=>{R();let a=A.current;if(!a)return;let b=new ResizeObserver(R);return b.observe(a),()=>b.disconnect()},[R,b]),(0,e.useEffect)(()=>{if(!c||!A.current)return;let a=A.current.querySelector(`[data-tab-id="${c}"]`);a?.scrollIntoView({behavior:"instant",inline:"nearest",block:"nearest"})},[c]),(0,e.useEffect)(()=>{let a=A.current;if(!a)return;let b=b=>{let c=b.deltaX+b.deltaY;0!==c&&(b.preventDefault(),a.scrollLeft+=c,R())};return a.addEventListener("wheel",b,{passive:!1}),()=>a.removeEventListener("wheel",b)},[R]);let S=a=>{let b=A.current;b&&b.scrollBy({left:a,behavior:"smooth"})};return k?(0,d.jsxs)("div",{className:"flex h-[36px] shrink-0 items-center gap-2 bg-background px-3",children:[(0,d.jsx)(g.AlertTriangle,{className:"h-3.5 w-3.5 text-ui-amber"}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:k}),(0,d.jsx)(au.Button,{variant:"ghost",size:"xs",className:"h-5 px-2 text-xs text-foreground hover:text-foreground",onClick:x,children:z("retry")})]}):j?(0,d.jsx)("div",{className:"flex h-[36px] shrink-0 items-center gap-1.5 bg-background px-2",children:[1,2,3].map(a=>(0,d.jsx)("div",{className:"h-4 w-16 animate-pulse rounded bg-muted"},a))}):(0,d.jsxs)("div",{className:(0,av.cn)("flex h-[36px] shrink-0 items-stretch border-b border-border transition-colors",E?"bg-accent-color/10":"bg-background"),onDragEnter:H,onDragLeave:I,onDragOver:a=>a.preventDefault(),onDrop:G,children:[Q&&(0,d.jsx)("button",{className:(0,av.cn)("flex w-5 shrink-0 items-center justify-center text-muted-foreground transition-opacity hover:text-foreground",M?"opacity-100":"pointer-events-none opacity-0"),onClick:()=>S(-200),tabIndex:M?0:-1,children:(0,d.jsx)(bx,{className:"h-3.5 w-3.5"})}),(0,d.jsx)("div",{ref:A,role:"tablist",className:"flex flex-1 items-stretch overflow-x-auto",style:{scrollbarWidth:"none"},onScroll:R,children:B.map(b=>{let e;return(0,d.jsx)(bG,{tab:b,isActive:b.id===c,isDragging:b.id===C,dropSide:D?.id===b.id?D.side:null,displayTitle:h?.[b.id],currentProcess:i?.[b.id],modeSwitcher:b.id!==c||(e=b.panelType)&&"terminal"!==e&&"claude-code"!==e&&"codex-cli"!==e?void 0:(0,d.jsx)(bO,{tabId:b.id,paneId:a,sessionName:b.sessionName,panelType:b.panelType??"terminal",onSwitchPanelType:s}),onSwitch:()=>o(b.id),onDelete:()=>q(b.id),onRename:a=>{r(b.id,a)},onFocusPane:w,onDragStart:a=>J(a,b.id),onDragEnd:K,onDragOver:a=>F(a,b.id),onDragLeave:L},b.id)})}),Q&&(0,d.jsx)("button",{className:(0,av.cn)("flex w-5 shrink-0 items-center justify-center text-muted-foreground transition-opacity hover:text-foreground",O?"opacity-100":"pointer-events-none opacity-0"),onClick:()=>S(200),tabIndex:O?0:-1,children:(0,d.jsx)(by.ChevronRight,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipProvider,{children:(0,d.jsxs)("div",{className:"flex shrink-0 items-stretch",children:[(0,d.jsx)(bK,{paneId:a,isCreating:l,activePanelType:B.find(a=>a.id===c)?.panelType,onCreateTab:p}),m>=2&&(0,d.jsx)("div",{className:"flex items-center px-0.5",children:(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsx)(bz.TooltipTrigger,{className:(0,av.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",n?"pointer-events-none opacity-30":"hover:text-foreground"),disabled:n,onClick:a=>{a.stopPropagation(),u()},"aria-label":y("closeAllTabs"),children:(0,d.jsx)(bo.X,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:y("closeAllTabs")})]})})]})})]})};var bQ=a.i(206456),bR=a.i(188289),bS=a.i(480824);let bT={write:()=>{},reset:()=>{},fit:()=>({cols:80,rows:24}),focus:()=>{},getBufferText:()=>""},bU={sendStdin:()=>{},sendResize:()=>{}},bV={normal:{normal:12,claudeCode:10},large:{normal:14,claudeCode:12},"x-large":{normal:16,claudeCode:14}},bW=[],bX=(0,e.memo)(({paneId:a,paneNumber:b})=>{let c,g=(0,f.useTranslations)("terminal"),h=(0,aw.useLayoutStore)(b=>b.layout?(0,ax.findPane)(b.layout.root,a):null),j=h?.tabs??bW,k=h?.activeTabId??null,l=(0,aw.useLayoutStore)(b=>b.layout?.activePaneId===a),m=(0,aw.useLayoutStore)(a=>a.paneCount),n=(0,aw.useLayoutStore)(a=>a.isSplitting),o=(0,aw.useLayoutStore)(a=>a.switchTabInPane),p=(0,aw.useLayoutStore)(a=>a.createTabInPane),q=(0,aw.useLayoutStore)(a=>a.deleteTabInPane),r=(0,aw.useLayoutStore)(a=>a.closePane),s=(0,aw.useLayoutStore)(a=>a.focusPane),t=(0,aw.useLayoutStore)(a=>a.moveTab),u=(0,aw.useLayoutStore)(a=>a.renameTabInPane),v=(0,aw.useLayoutStore)(a=>a.reorderTabsInPane),w=(0,aw.useLayoutStore)(a=>a.updateTabPanelType),x=(0,aw.useLayoutStore)(a=>a.updateTabTerminalLayout),y=(0,aw.useLayoutStore)(a=>a.layout?.diffSettings),z=(0,aw.useLayoutStore)(a=>a.updateDiffSettings),A=j.find(a=>a.id===k),B=A?.panelType??"terminal",C="claude-code"===B,D="codex-cli"===B,E="agent-sessions"===B,F=C||D,G="web-browser"===B,H="diff"===B,{ensureAgentInstalled:I,installDialogs:J}=(0,bw.useAgentInstallCheck)(),{theme:K}=(0,bS.default)(),L=(0,aL.default)(a=>a.fontSize),M=(0,aL.default)(a=>a.claudeShowTerminal),N=A?.terminalCollapsed??!M,[O,P]=(0,e.useState)(!1),[Q,R]=(0,e.useState)(!1),S=(0,e.useRef)(0),[T,U]=(0,e.useState)(!1),[V,W]=(0,e.useState)(!1),[X,Y]=(0,e.useState)(!1),Z=(0,e.useMemo)(()=>j.map(a=>a.id),[j]),$=(0,aD.default)((0,aM.useShallow)(a=>{let b={};for(let c of j){if("agent-sessions"===c.panelType)continue;let d=a.metadata[c.id]?.title;d&&(b[c.id]=d)}return b})),_=(0,aA.default)((0,aM.useShallow)(a=>{let b={};for(let c of Z){let d=a.tabs[c]?.currentProcess;d&&(b[c]=d)}return b})),aa=(0,aD.default)(a=>k?a.metadata[k]?.cwd:void 0),ab=(0,aw.useLayoutStore)(a=>a.workspaceId);(0,e.useEffect)(()=>{let a=requestAnimationFrame(()=>W(!0));return()=>{cancelAnimationFrame(a)}},[]);let ac=(0,e.useRef)(bT),ad=(0,e.useRef)(bU),ae=(0,e.useRef)(null),af=(0,e.useRef)(null),ag=(0,e.useRef)(null),ah=(0,e.useRef)(j),ai=(0,e.useRef)(k),aj=(0,e.useRef)(m),ak=(0,e.useRef)(l);(0,e.useEffect)(()=>{ah.current=j,ai.current=k,aj.current=m,ak.current=l});let al=(0,e.useCallback)(async()=>{let a=ai.current,b=a?ah.current.find(b=>b.id===a):null;if(b)try{let a=await fetch(`/api/layout/cwd?session=${b.sessionName}`);if(!a.ok)return;let{cwd:c,lastCommand:d}=await a.json();c&&aD.default.getState().setCwd(b.id,c),aD.default.getState().setLastCommand(b.id,d??null)}catch{}},[]),am=(0,e.useRef)(()=>{}),ao=(0,e.useRef)(void 0),aq=(0,e.useRef)(void 0),ay=(0,e.useRef)(null),az=(0,e.useRef)(()=>{}),aB=(0,e.useRef)(!1),aC=(0,e.useRef)(null),aF=(0,e.useRef)(null),aR=(0,e.useRef)(!1),aS=(0,e.useRef)(void 0),aT=(0,e.useRef)(void 0),aU=(0,e.useRef)(void 0),aV=(0,e.useRef)(void 0),aW=(0,e.useRef)(null),aX=(0,e.useRef)(""),aY=(0,aA.default)(a=>k?a.tabs[k]?.cliState??"inactive":"inactive"),aZ=(0,aA.default)(a=>k?a.tabs[k]?.agentProcess??null:null),a$=(0,aA.default)(a=>k?a.tabs[k]?.agentSessionId??null:null),a_="timeline"===(0,aA.default)(a=>k?(0,aA.selectSessionView)(a.tabs,k):"session-list"),a0=(0,e.useCallback)(a=>{aR.current||(aC.current?aF.current=a:a())},[]),a1=(0,e.useCallback)(a=>{aC.current={x:a.clientX,y:a.clientY},aF.current=null,aR.current=!1},[]),a2=(0,e.useCallback)(a=>{let b=aC.current;aC.current=null;let c=!!b&&(a.clientX-b.x)**2+(a.clientY-b.y)**2>=25;c&&(aR.current=!0,requestAnimationFrame(()=>{aR.current=!1})),aF.current&&!c&&aF.current(),aF.current=null},[]),{prompts:a3}=(0,bs.default)(),a4=(0,e.useRef)(new Set),[a5,a6]=(0,e.useState)(null),a7=(0,e.useCallback)((a,b)=>{if(!0!==b.running||!(0,bL.isAgentPanelType)(b.providerPanelType))return void a6(b=>b?.tabId===a?null:b);let c="string"==typeof b.providerId&&b.providerId?b.providerId:b.providerPanelType,d=`${a}:${c}`;if(a4.current.has(d))return;a4.current.add(d);let e="string"==typeof b.providerDisplayName&&b.providerDisplayName?b.providerDisplayName:c;a6({tabId:a,providerId:c,displayName:e,panelType:b.providerPanelType,sessionId:"string"==typeof b.sessionId&&b.sessionId?b.sessionId:null,resumable:!0===b.resumable})},[]),{trustPrompt:a9,onTerminalData:ba,onTrustResponse:bb}=(0,bq.default)({enabled:(C||D)&&"inactive"===aY,getBufferText:()=>ac.current.getBufferText(),sendStdin:a=>ad.current.sendStdin(a)}),{updatePrompt:bc,onTerminalData:bd,onRespond:bl}=(0,br.default)({enabled:D&&"inactive"===aY,scopeKey:k,getBufferText:()=>ac.current.getBufferText(),sendStdin:a=>ad.current.sendStdin(a),onUpdated:()=>{az.current()}});(0,e.useEffect)(()=>{k&&C&&l&&(0,aA.isCliIdle)(aY)&&(0,aE.dismissTab)(k)},[k,aY,C,l]),(0,e.useEffect)(()=>{k&&l&&(0,aE.dismissTab)(k)},[k,l]);let bo=(0,e.useCallback)(()=>{"idle"===aY&&aS.current?.()},[aY]),bx=(0,e.useCallback)(a=>{aT.current?.(a)},[]),by=(0,e.useCallback)((a,b)=>aT.current?.(a,b)??"",[]),bz=(0,e.useCallback)(a=>{aU.current?.(a)},[]),bA=(0,e.useCallback)(a=>{a.dataTransfer.types.includes("Files")&&(a.preventDefault(),a.stopPropagation(),a.dataTransfer.dropEffect="copy")},[]),bB=(0,e.useCallback)(a=>{!a.dataTransfer.files||0===a.dataTransfer.files.length||aV.current&&(a.preventDefault(),a.stopPropagation(),aV.current(Array.from(a.dataTransfer.files)))},[]),bC=(0,e.useCallback)(a=>{aq.current?.(a),ao.current?.()},[]),bD=(0,e.useCallback)(a=>(0,bR.isAppShortcut)(a)?(a.preventDefault(),(0,bR.isClearShortcut)(a)&&am.current(),(0,bR.isFocusInputShortcut)(a)&&ao.current?.(),!1):!(0,bR.isShiftEnter)(a)||(a.preventDefault(),ad.current.sendStdin("\n"),!1),[]),{terminalRef:bE,write:bF,clear:bG,reset:bH,fit:bI,focus:bJ,isReady:bK,getBufferText:bM}=(0,aJ.default)({theme:K.colors,fontSize:(bV[L]??bV.normal)[F?"claudeCode":"normal"],onInput:a=>{ad.current.sendStdin(a)},onResize:(a,b)=>ad.current.sendResize(a,b),onTitleChange:a=>{let b=ai.current;if(!b)return;let c=ah.current.find(a=>a.id===b);if(!c||c?.panelType==="web-browser"||c?.panelType==="agent-sessions"||a===aX.current)return;aX.current=a;let d=(0,bQ.formatTabTitle)(a,c?.panelType),e=(0,bQ.parseCurrentCommand)(a);if(aD.default.getState().setTitle(b,d),aA.default.getState().setCurrentProcess(b,e),(0,bQ.isShellProcess)(a)&&aW.current){let a=aW.current;aW.current=null,ad.current.sendStdin(`${a}\r`)}let f=ah.current.find(a=>a.id===b);if(f){let a=aA.default.getState().tabs[b]?.agentProcessCheckedAt??0;fetch(`/api/check-agent?session=${f.sessionName}`).then(a=>a.json()).then(d=>{c?.panelType==="terminal"&&a7(b,d);let{running:e}=!0===d.running&&(0,bL.isAgentPanelType)(d.providerPanelType)?{running:!0}:{running:!1},g=aA.default.getState().tabs[b];if(g&&g.agentProcessCheckedAt!==a){g.agentProcess!==e&&setTimeout(()=>{fetch(`/api/check-agent?session=${f.sessionName}`).then(a=>a.json()).then(a=>{c?.panelType==="terminal"&&a7(b,a),(0,bL.applyAgentCheckResult)(b,a)}).catch(()=>{})},500);return}(0,bL.applyAgentCheckResult)(b,d)}).catch(()=>{})}al()},customKeyEventHandler:bD});(0,e.useEffect)(()=>{am.current=bG}),(0,e.useEffect)(()=>{let a=a=>{(0,bR.isFocusInputShortcut)(a)&&l&&(a.preventDefault(),ao.current?.())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[l]);let bN=(0,e.useCallback)(async()=>{if(ag.current)return;let b=ah.current,c=ai.current,d=aj.current;if(!c)return;if(1===b.length&&d>1)return void r(a);let e=[...b].sort((a,b)=>a.order-b.order),f=e.findIndex(a=>a.id===c),g=e[f+1]||e[f-1];g&&o(a,g.id),ag.current=c;try{await q(a,c)}finally{ag.current=null}},[a,o,q,r]),{status:bO,retryCount:bX,disconnectReason:bY,connect:bZ,reconnect:b$,sendStdin:b_,sendWebStdin:b0,sendResize:b1}=(0,aK.default)({onData:a=>{ac.current.write(a),ba(),bd()},onConnected:()=>{P(!0),af.current=ai.current;let a=ai.current;a&&aA.default.getState().setTerminalConnected(a,!0);let{cols:b,rows:c}=ac.current.fit();ad.current.sendResize(b,c),ak.current&&ac.current.focus(),al(),clearTimeout(S.current),S.current=window.setTimeout(()=>R(!1),50)},onSessionEnded:bN});(0,e.useEffect)(()=>{ac.current={write:bF,reset:bH,fit:bI,focus:bJ,getBufferText:bM},ad.current={sendStdin:b_,sendResize:b1}}),(0,e.useEffect)(()=>{bK||(ae.current=null)},[bK]),(0,e.useEffect)(()=>{if(!bK||!k)return;let a=j.find(a=>a.id===k);if(!a)return;if("web-browser"===a.panelType){aX.current="";return}if(ae.current===a.sessionName)return;null!==ae.current&&(R(!0),bH(),aX.current="");let b=aA.default.getState(),c=b.tabs[k];b.initTab(k,{terminalConnected:!1,panelType:a.panelType,...!c?(0,aA.getInitialTabStateFromLayoutTab)(a):{}}),ae.current=a.sessionName;let{cols:d,rows:e}=bI();bZ(a.sessionName,d,e)},[bK,k]),(0,e.useEffect)(()=>{let a=ai.current;a&&aA.default.getState().setTerminalConnected(a,"connected"===bO)},[bO]),(0,e.useEffect)(()=>{"disconnected"===bO&&O&&af.current&&af.current!==k&&j.some(a=>a.id===af.current)&&(ae.current=null,o(a,af.current))},[bO]),(0,e.useEffect)(()=>{if(!bK||"connected"!==bO)return;let a=setTimeout(()=>{let{cols:a,rows:b}=bI();ad.current.sendResize(a,b)},150);return()=>clearTimeout(a)},[m]),(0,e.useEffect)(()=>{if(!bK||"connected"!==bO)return;let a=setTimeout(()=>{let{cols:a,rows:b}=bI();ad.current.sendResize(a,b)},300);return()=>clearTimeout(a)},[bO]),(0,e.useEffect)(()=>{if(l&&bK&&"connected"===bO){let{cols:a,rows:b}=bI();ad.current.sendResize(a,b);let c=aB.current;aB.current=!1,!c&&F&&a_?a0(()=>ao.current?.()):bJ()}},[l]);let b2=(0,e.useCallback)(b=>{b!==k&&((0,aE.dismissTab)(b),o(a,b))},[a,k,o]),b3=(0,e.useCallback)(async(b,c)=>{U(!0);let d=await p(a,b,c?.command,c?.resumeSessionId);if(d){aA.default.getState().initTab(d.id,{panelType:b,workspaceId:ab??""}),(c?.command||c?.resumeSessionId)&&aA.default.getState().setSessionView(d.id,"check");let a=ai.current,e=a?aD.default.getState().metadata[a]?.title:null;e&&"web-browser"!==b&&"agent-sessions"!==b&&aD.default.getState().setTitle(d.id,e)}U(!1)},[a,p,ab]),b4=(0,e.useCallback)(async b=>{if(!ag.current){if(1===j.length&&m>1)return void r(a);ag.current=b;try{await q(a,b)}finally{ag.current=null}}},[a,j,m,q,r]),b5=(0,e.useCallback)(async(b,c)=>{await aw.useLayoutStore.getState().restartTabInPane(a,b,c)&&b$()},[a,b$]),b6=(0,e.useRef)(new Set);(0,e.useEffect)(()=>{"disconnected"!==bO||"session-not-found"!==bY||!k||!A||"terminal"!==(A.panelType??"terminal")||A.lastCommand||b6.current.has(k)||(b6.current.add(k),b5(k))},[bO,bY,k,A,b5]);let b7=(0,e.useCallback)((b,c)=>{u(a,b,c)},[a,u]),b8=(0,e.useCallback)(b=>{v(a,b)},[a,v]),b9=(0,e.useCallback)((b,c,d)=>{t(b,c,a,d)},[a,t]),ca=(0,e.useCallback)(()=>{s(a)},[a,s]),cb=(0,e.useCallback)(b=>{k&&(Y(!0),w(a,k,b))},[a,k,w]),cc=(0,e.useCallback)(async(a,b)=>{await I(b)&&(ay.current={text:a,provider:b},cb("codex"===b?"codex-cli":"claude-code"))},[I,cb]);(0,e.useEffect)(()=>{let b=b=>{let c=b.detail;c?.paneId===a&&c.text&&c.provider&&cc(c.text,c.provider)};return window.addEventListener("purplemux-send-to-agent",b),()=>window.removeEventListener("purplemux-send-to-agent",b)},[a,cc]),(0,e.useEffect)(()=>{let a=ay.current;if(!a||B!==("codex"===a.provider?"codex-cli":"claude-code"))return;ay.current=null;let b=window.setTimeout(()=>{aq.current?.(a.text),ao.current?.()},100);return()=>window.clearTimeout(b)},[B]);let cd=(0,e.useCallback)(b=>{k&&ab&&fetch(`/api/layout/pane/${a}/tabs/${k}?workspace=${ab}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({webUrl:b})}).catch(()=>{})},[k,a,ab]);(0,e.useEffect)(()=>{if(!k||!0!==aZ||"terminal"!==B)return void a6(null);if(a5?.tabId!==k)return},[k,aZ,B,a5]),(0,e.useEffect)(()=>{if(!k||!0!==aZ||"terminal"!==B||a5?.tabId===k)return;let a=A?.sessionName;if(!a)return;let b=!1;return fetch(`/api/check-agent?session=${a}`).then(a=>a.json()).then(a=>{b||a7(k,a)}).catch(()=>{}),()=>{b=!0}},[k,B,A?.sessionName,aZ,a5?.tabId,a7]);let{showPathInput:ce,droppedFileHint:cf,handleDragOver:cg,handleDrop:ch,handlePathInputSubmit:ci,handlePathInputDismiss:cj}=(({sendStdin:a,focus:b,wsId:c,tabId:d})=>{let[f,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(""),j=(0,e.useCallback)(a=>{a.dataTransfer.types.includes("Files")&&(a.preventDefault(),a.dataTransfer.dropEffect="copy")},[]),k=(0,e.useCallback)(c=>{0!==c.length&&(a(`\x1b[200~${c.join(" ")}\x1b[201~`),b())},[a,b]),l=(0,e.useCallback)(async a=>{let b=a.filter(bu.isImageFile);if(0===b.length)return!1;try{let a=await Promise.all(b.map(a=>(0,bu.uploadImage)(a,{wsId:c,tabId:d})));return k(a.map(a=>bv(a.path))),!0}catch(a){return at.toast.error(a instanceof Error?a.message:"Upload failed"),!0}},[c,d,k]),m=(0,e.useCallback)(a=>{a.preventDefault();let{files:b}=a.dataTransfer;if(0===b.length)return;let c=bt.default?window.electronAPI:null,d=[],e=Array.from(b);for(let a of e){let b=c?.getPathForFile(a);b&&d.push(bv(b))}d.length>0?k(d):e.some(bu.isImageFile)?l(e):(i(e.map(a=>a.name).join(", ")),g(!0))},[k,l]);return{showPathInput:f,droppedFileHint:h,handleDragOver:j,handleDrop:m,handlePathInputSubmit:(0,e.useCallback)(c=>{if(g(!1),i(""),c.trim()){let d=bv(c.trim());a(`\x1b[200~${d}\x1b[201~`),b()}},[a,b]),handlePathInputDismiss:(0,e.useCallback)(()=>{g(!1),i(""),b()},[b])}})({sendStdin:a=>ad.current.sendStdin(a),focus:bJ,wsId:ab??void 0,tabId:k??void 0}),ck=(0,e.useCallback)(a=>(0,aN.buildClaudeLaunchCommand)({workspaceId:ab,dangerouslySkipPermissions:aL.default.getState().dangerouslySkipPermissions,resumeSessionId:a}),[ab]),cl=(0,e.useCallback)(async()=>{"connected"!==bO||!k||await I("claude")&&(aA.default.getState().setSessionView(k,"check"),b_(`${ck(null)}\r`))},[bO,b_,k,ck,I]),cm=(0,e.useCallback)(async()=>{"connected"!==bO||!k||await I("claude")&&(aW.current=ck(null),aA.default.getState().setSessionView(k,"check"),b_("/exit\r"))},[bO,b_,k,ck,I]),cn=(0,e.useCallback)(()=>(0,aO.fetchCodexLaunchCommand)(ab),[ab]),co=(0,e.useCallback)((a,b)=>{fetch("/api/status/agent-launch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tabId:a,resetAgentSession:b?.resetAgentSession===!0})}).catch(()=>{})},[]),cp=(0,e.useCallback)(async()=>{let a;if("connected"===bO&&k&&await I("codex")){try{a=await cn()}catch{at.toast.error(g("codexLaunchFailed"));return}co(k,{resetAgentSession:!0}),aA.default.getState().setSessionView(k,"check"),b_(`${a}\r`)}},[bO,b_,k,cn,I,co,g]),cq=(0,e.useCallback)(async()=>{await I("claude")&&(cb("claude-code"),cl())},[I,cl,cb]),cr=(0,e.useCallback)(async()=>{await I("codex")&&(cb("codex-cli"),cp())},[I,cp,cb]),cs=(0,e.useCallback)(async a=>{if("connected"!==bO||!k)return;let b="codex"===a.provider?"codex-cli":"claude-code";if(await I(a.provider)){if(cb(b),aA.default.getState().setSessionView(k,"check"),"codex"===a.provider){let b;try{b=await (0,aO.fetchCodexLaunchCommand)(ab,a.sessionId)}catch{at.toast.error(g("codexLaunchFailed"));return}co(k,{resetAgentSession:!1}),b_(`${b}\r`);return}b_(`${ck(a.sessionId)}\r`)}},[k,ck,I,cb,ab,co,b_,bO,g]),ct=(0,e.useCallback)(async()=>{let a;if("connected"===bO&&k&&await I("codex")){try{a=await cn()}catch{at.toast.error(g("codexLaunchFailed"));return}co(k,{resetAgentSession:!0}),aA.default.getState().setSessionView(k,"check"),b_(`${a}\r`)}},[bO,b_,k,cn,I,co,g]);(0,e.useEffect)(()=>{az.current=ct},[ct]);let cu=(0,e.useCallback)(async()=>{let a;if("connected"===bO&&k&&await I("codex")){try{a=await cn()}catch{at.toast.error(g("codexLaunchFailed"));return}aW.current=a,co(k,{resetAgentSession:!0}),aA.default.getState().setSessionView(k,"check"),(0,aP.sendCodexQuitCommand)(b_)}},[bO,b_,k,cn,I,co,g]);(0,e.useEffect)(()=>{let b=b=>{let c=b.detail;if(c?.paneId!==a||c.tabId!==k||"claude"!==c.provider&&"codex"!==c.provider)return;let d=c.provider;(async()=>{if(!await I(d))return;let a="codex"===d?"codex-cli":"claude-code";if(aA.default.getState().setDetectedAgent(k,{running:!0,checkedAt:Date.now(),providerId:d,panelType:a}),cb(a),"codex"===d)return cp();cl()})()};return window.addEventListener("purplemux-start-agent",b),()=>window.removeEventListener("purplemux-start-agent",b)},[k,I,cl,cp,cb,a]);let cv=(0,e.useCallback)(async()=>{if(!k||!a5||a5.tabId!==k||(a6(null),cb(a5.panelType),"connected"!==bO))return;let a=a5.resumable?a5.sessionId:null;if("codex-cli"===a5.panelType){let b;if(!await I("codex"))return;try{b=await (0,aO.fetchCodexLaunchCommand)(ab,a)}catch{at.toast.error(g("codexLaunchFailed"));return}aW.current=b,co(k,{resetAgentSession:!a}),aA.default.getState().setSessionView(k,"check"),(0,aP.sendCodexQuitCommand)(b_);return}await I("claude")&&(aW.current=ck(a),aA.default.getState().setSessionView(k,"check"),b_("\x03"),setTimeout(()=>b_("\x03"),300))},[k,a5,bO,I,cb,ab,co,b_,g,ck]);(0,e.useEffect)(()=>{if(!aW.current||!0===aZ||"connected"!==bO||!(0,bQ.isShellProcess)(aX.current))return;let a=aW.current;aW.current=null;let b=ai.current;b&&co(b),b_(`${a}\r`)},[aZ,bO,b_,co]);let cw=(0,e.useRef)(null),[cx,cy]=(0,e.useState)(!1),cz=(0,e.useRef)(!1),cA=(0,e.useCallback)(()=>{if(!cw.current)return;Y(!0);let b=!cx,c=A?.terminalRatio??30;cy(b),cz.current=!0,cw.current.setLayout(b?{timeline:100,"terminal-area":0}:{timeline:100-c,"terminal-area":c}),F&&k&&x(a,k,{terminalCollapsed:b}),setTimeout(()=>{if(Y(!1),cz.current=!1,!bK||"connected"!==bO)return;let{cols:a,rows:b}=bI();ad.current.sendResize(a,b)},150)},[cx,bK,bO,bI,F,k,a,A?.terminalRatio,x]);(0,e.useEffect)(()=>{if(!cw.current)return;if(cz.current=!0,F){let a=A?.terminalRatio??30;cy(N),cw.current.setLayout(N?{timeline:100,"terminal-area":0}:{timeline:100-a,"terminal-area":a}),al()}else cw.current.setLayout({timeline:0,"terminal-area":100});let a=setTimeout(()=>{if(Y(!1),cz.current=!1,!bK||"connected"!==bO)return;let{cols:a,rows:b}=bI();ad.current.sendResize(a,b),l&&(F?a_&&a0(()=>ao.current?.()):bJ())},150);return()=>clearTimeout(a)},[F,k]),(0,e.useEffect)(()=>{l&&F&&a_&&a0(()=>ao.current?.())},[a_]);let cB=0===j.length,cC=bK&&("connected"===bO||O)&&!cB&&!Q,cD=!cB&&(!bK||!O);return(0,d.jsxs)("div",{className:(0,av.cn)("flex h-full flex-col overflow-hidden",m>1&&"border",m>1&&l?"border-focus-indicator":"border-transparent"),style:{opacity:V?void 0:0,transition:"opacity 200ms ease-out, border-color 150ms"},role:"region","aria-label":`Pane ${b}`,"aria-current":l?"true":void 0,onClick:ca,onPointerDown:a1,onPointerUp:a2,children:[(0,d.jsx)(bP,{paneId:a,tabs:j,activeTabId:k,tabTitles:$,tabProcesses:_,isLoading:!1,error:null,isCreating:T,paneCount:m,isSplitting:n,onSwitchTab:b2,onCreateTab:b3,onDeleteTab:b4,onRenameTab:b7,onSwitchPanelType:cb,onReorderTabs:b8,onClosePane:()=>r(a),onMoveTab:b9,onFocusPane:ca,onRetry:()=>{}}),(0,d.jsxs)("div",{role:"tabpanel",className:"relative min-h-0 flex-1 flex flex-col",style:G||H||E?void 0:{backgroundColor:K.colors.background},onDragOver:G||H||E?void 0:cg,onDrop:G||H||E?void 0:ch,children:[G&&k&&(0,d.jsx)(bj.default,{tabId:k,initialUrl:A?.webUrl,onUrlChange:cd},k),H&&A&&(0,d.jsx)(bk.default,{sessionName:A.sessionName,onSendToAgent:cc,settings:y,onSettingsChange:z},A.sessionName),E&&A&&!cD&&(0,d.jsx)(bf.default,{sessionName:A.sessionName,cwd:aa||A.cwd,onSelectSession:cs,onNewClaudeSession:cq,onNewCodexSession:cr},A.sessionName),(0,d.jsxs)(an,{groupRef:cw,orientation:"vertical",defaultLayout:F?(c=A?.terminalRatio??30,N?{timeline:100,"terminal-area":0}:{timeline:100-c,"terminal-area":c}):{timeline:0,"terminal-area":100},onLayoutChanged:b=>{if(cz.current||!F||!k)return;let c=b["terminal-area"];if(void 0===c)return;let d=c<=0,e={};if(d!==N&&(e.terminalCollapsed=d,cy(d)),!d){let a=Math.round(c);a!==(A?.terminalRatio??30)&&(e.terminalRatio=a)}(void 0!==e.terminalRatio||void 0!==e.terminalCollapsed)&&x(a,k,e)},className:(0,av.cn)("min-h-0 flex-1",(G||H||E)&&"invisible absolute inset-0 pointer-events-none",X&&"[&>[data-panel]]:[transition:flex-grow_150ms_ease-out]"),children:[(0,d.jsx)(ap,{id:"timeline",minSize:0,collapsible:!0,collapsedSize:0,disabled:!F,children:(0,d.jsxs)("div",{className:(0,av.cn)("flex h-full flex-col bg-card",cx&&"pb-3"),onDragOver:F?bA:void 0,onDrop:F?bB:void 0,children:[C&&A&&!cD&&k&&(0,d.jsx)(a8,{tabId:k,sessionName:A.sessionName,claudeSessionId:a$,cwd:aa||A.cwd,onClose:()=>cb("terminal"),onNewSession:cl,scrollToBottomRef:aS,addPendingMessageRef:aT,removePendingMessageRef:aU,trustPrompt:a9,onTrustResponse:bb},A.sessionName),D&&A&&!cD&&k&&(0,d.jsx)(be,{tabId:k,sessionName:A.sessionName,cwd:aa||A.cwd,onClose:()=>cb("terminal"),onNewSession:cp,onRestart:cu,updatePrompt:bc,onUpdatePromptResponse:bl,trustPrompt:a9,onTrustResponse:bb,scrollToBottomRef:aS,addPendingMessageRef:aT,removePendingMessageRef:aU},A.sessionName),F&&!cD&&a_&&(0,d.jsx)(bg.default,{tabId:k??void 0,wsId:ab??void 0,sessionName:A?.sessionName,agentSessionId:a$,provider:D?"codex":"claude",cliState:aY,sendStdin:b0,terminalWsConnected:"connected"===bO,visible:!0,focusTerminal:bJ,focusInputRef:ao,setInputValueRef:aq,onRestartSession:D?cu:cm,onSend:bo,onOptimisticSend:bx,onAddPendingMessage:by,onRemovePendingMessage:bz,attachFilesRef:aV},k),F&&!cD&&a_&&k&&(0,d.jsx)(bh.default,{prompts:a3,visible:!0,onSelect:bC})]})}),(0,d.jsx)(ar,{className:(0,av.cn)("group flex items-center justify-center overflow-hidden bg-card",F&&!cx?"h-3":"h-0"),disabled:!F||cx,children:(0,d.jsx)("div",{className:"h-px w-16 rounded-full bg-border transition-colors group-hover:bg-muted-foreground group-data-[resize-handle-active]:bg-muted-foreground"})}),F&&(0,d.jsxs)("button",{className:"flex h-6 w-full shrink-0 cursor-pointer items-center gap-1.5 border-t border-border bg-black/3 px-2 text-muted-foreground transition-colors hover:bg-black/5 dark:bg-white/3 dark:hover:bg-white/5",onClick:cA,children:[(0,d.jsx)(aI.TerminalSquare,{className:"h-3 w-3"}),(0,d.jsx)("span",{className:"text-[11px] font-medium",children:"Terminal"}),aa&&(0,d.jsx)("span",{className:"min-w-0 truncate text-[11px] opacity-60",children:aa.replace(/^\/Users\/[^/]+/,"~")}),(0,d.jsx)("span",{className:"ml-auto flex h-4 w-4 shrink-0 items-center justify-center",children:cx?(0,d.jsx)(aH.default,{className:"h-3 w-3"}):(0,d.jsx)(aG.ChevronDown,{className:"h-3 w-3"})})]}),(0,d.jsx)(ap,{id:"terminal-area",minSize:0,collapsible:!0,collapsedSize:0,children:(0,d.jsx)("div",{className:"flex h-full flex-col",onMouseDown:()=>{aB.current=!0},children:(0,d.jsx)(aQ.default,{ref:bE,minHeight:F?256:void 0,className:(0,av.cn)("min-h-0 flex-1",cC?"opacity-100":"opacity-0",F&&"py-0 pl-2 pr-0.5")})})})]}),cB&&(0,d.jsx)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:(0,d.jsxs)(au.Button,{className:"gap-1.5",onClick:()=>b3(),disabled:T,children:[T?(0,d.jsx)(as.default,{className:"h-3 w-3"}):(0,d.jsx)(i.Plus,{className:"h-3.5 w-3.5"}),g("openNewTab")]})}),!cB&&"terminal"===B&&"disconnected"===bO&&"session-not-found"===bY&&k&&(0,d.jsx)(bm,{cwd:A?.cwd,lastCommand:A?.lastCommand,onRestartWithCommand:a=>b5(k,a),onRestartNew:()=>b5(k)}),a5&&a5.tabId===k&&"terminal"===B&&(0,d.jsx)(bn.default,{modeName:a5.displayName,onSwitch:cv,onDismiss:()=>a6(null)}),ce&&(0,d.jsx)(bp,{hint:cf,onSubmit:ci,onDismiss:cj}),!cB&&!G&&!H&&(0,d.jsx)(bi.default,{status:bO,retryCount:bX,disconnectReason:bY,onReconnect:b$}),J]})]})});bX.displayName="PaneContainer";let bY=a=>"pane"===a.type?`pane:${a.id}`:["split",a.orientation,a.ratio,bY(a.children[0]),bY(a.children[1])].join("|"),bZ=(0,e.memo)(a=>{let{root:b,onUpdateRatio:c,onEqualizeRatios:f,equalizeRef:g}=a,h=(0,e.useRef)(null),i=(0,e.useRef)(new Map),j=(0,e.useRef)(""),k=(0,e.useRef)(new Map),l=(0,e.useCallback)(()=>{let a=(0,ax.equalizeNode)(b),c=(a,b)=>{if("pane"===a.type)return;let d=b.join("-")||"root",e=k.current.get(d);e?.current&&e.current.setLayout({left:a.ratio,right:100-a.ratio}),c(a.children[0],[...b,0]),c(a.children[1],[...b,1])};c(a,[]),f()},[b,f]);(0,e.useEffect)(()=>{g&&(g.current=l)});let m=(0,ax.collectPanes)(b),n=new Map;m.forEach((a,b)=>{n.set(a.id,b+1)});let o=a=>{let b=i.current.get(a);return b||((b=document.createElement("div")).style.height="100%",b.style.width="100%",i.current.set(a,b)),b},p=(a,b)=>{let e;if("pane"===a.type)return(0,d.jsx)("div",{"data-pane-slot":a.id,style:{height:"100%",width:"100%"}},`slot-${a.id}`);let f=(0,ax.getFirstPaneId)(a.children[0]),g=(0,ax.getFirstPaneId)(a.children[1]),h="horizontal"===a.orientation,i=b.join("-")||"root";return(0,d.jsxs)(an,{groupRef:((e=k.current.get(i))||(e={current:null},k.current.set(i,e)),e),orientation:a.orientation,defaultLayout:{left:a.ratio,right:100-a.ratio},onLayoutChanged:d=>{let e=d.left;void 0!==e&&Math.abs(e-a.ratio)>.1&&c(b,Math.round(100*e)/100)},children:[(0,d.jsx)(ap,{id:"left",minSize:h?200:120,defaultSize:`${a.ratio}%`,children:p(a.children[0],[...b,0])}),(0,d.jsx)(ar,{className:"relative flex shrink-0 items-center justify-center bg-border transition-colors duration-100 hover:bg-muted-foreground/50 active:bg-muted-foreground",style:{width:h?"1px":void 0,height:h?void 0:"1px"}}),(0,d.jsx)(ap,{id:"right",minSize:h?200:120,defaultSize:`${100-a.ratio}%`,children:p(a.children[1],[...b,1])})]},`group-${f}-${g}`)};return(0,e.useLayoutEffect)(()=>{if(!h.current)return;let a=new Set(m.map(a=>a.id));for(let[b,c]of i.current)a.has(b)||(c.remove(),i.current.delete(b));m.forEach(a=>{let b=h.current.querySelector(`[data-pane-slot="${a.id}"]`),c=o(a.id);b&&c.parentElement!==b&&b.appendChild(c)})},[m.map(a=>a.id).join(",")]),(0,e.useLayoutEffect)(()=>{let a=m.map(a=>a.id).join(",");if(j.current&&j.current!==a){let a=(b,c)=>{if("pane"===b.type)return;let d=c.join("-")||"root",e=k.current.get(d);e?.current?.setLayout({left:b.ratio,right:100-b.ratio}),a(b.children[0],[...c,0]),a(b.children[1],[...c,1])};a(b,[])}j.current=a},[m.map(a=>a.id).join(",")]),(0,d.jsxs)("div",{ref:h,className:"h-full w-full bg-terminal-bg",children:[p(b,[]),m.map(a=>(0,aF.createPortal)((0,d.jsx)(bX,{paneId:a.id,paneNumber:n.get(a.id)??1}),o(a.id)))]})},(a,b)=>bY(a.root)===bY(b.root)&&a.onUpdateRatio===b.onUpdateRatio&&a.onEqualizeRatios===b.onEqualizeRatios&&a.equalizeRef===b.equalizeRef);var b$=a.i(75747),b_=a.i(604544),b0=a.i(708711);let b1=()=>{let a=((a=3e3)=>{let[b,c]=(0,e.useState)(null);return(0,e.useEffect)(()=>{let b=bt.default?window.electronAPI:null;if(!b)return;let d=!0,e=async()=>{try{let[a,e]=await Promise.all([b.getSystemResources(),fetch("/api/system/tmux-sessions").then(a=>a.json())]);d&&c({cpu:a.cpu,memory:a.memory,tmuxSessions:e.count})}catch{}};e();let f=setInterval(e,a);return()=>{d=!1,clearInterval(f)}},[a]),b})();return(0,aL.default)(a=>a.systemResourcesEnabled)&&a?(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[9px] text-muted-foreground/60",children:[(0,d.jsxs)("span",{className:"tabular-nums",children:["CPU ",a.cpu.toFixed(1),"%"]}),(0,d.jsxs)("span",{className:"tabular-nums",children:["MEM ",Math.round(a.memory.used/1048576),"MB"]}),(0,d.jsxs)("span",{className:"tabular-nums",children:["TMUX ",a.tmuxSessions]})]}):null};var b2=a.i(365092),b3=a.i(895159),b4=a.i(357785);let b5=({className:a})=>(0,d.jsxs)("svg",{className:a,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("line",{x1:"8",y1:"4",x2:"8",y2:"20"}),(0,d.jsx)("line",{x1:"16",y1:"4",x2:"16",y2:"20"})]}),b6=({className:a})=>(0,d.jsxs)("svg",{className:a,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,d.jsx)("line",{x1:"12",y1:"3",x2:"12",y2:"21"})]}),b7=({className:a})=>(0,d.jsxs)("svg",{className:a,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,d.jsx)("line",{x1:"3",y1:"12",x2:"21",y2:"12"})]}),b8={dirty:"text-muted-foreground/75",sync:"text-muted-foreground/75",stash:"text-muted-foreground/65"},b9=({activePaneId:a,root:b,paneCount:c,canSplit:g,isSplitting:h,onSplitPane:i,onEqualizeRatios:j,isGitPanelOpen:k,onToggleGitPanel:l})=>{let m=(0,f.useTranslations)("terminal"),n=(0,bJ.default)()?"⌘":"Ctrl+",o=(0,b_.default)(),p=(0,ax.collectPanes)(b),q=p.find(b=>b.id===a)??p[0],r=q?.tabs.find(a=>a.id===q.activeTabId),s=(0,aD.default)(a=>r?.id?a.metadata[r.id]?.cwd:void 0),t=(0,b4.default)(a=>a.phase),u=(0,b4.default)(a=>a.status),v=(0,b4.default)(a=>a.branch),w=(0,b4.default)(a=>a.resetForTarget),x=(0,b4.default)(a=>a.fetchForTarget),y=s||r?.cwd||r?.sessionName||null,z=r?.sessionName??null,A=`${n}⇧F`,B=(0,b4.getGitStatusIndicators)(u),C=`${(0,b4.formatGitStatusSummary)(t,v,u,"Git panel")} (${A})`,D=B.length>0||"error"===t;(0,e.useEffect)(()=>{let a={cwdKey:y,tmuxSession:z};if(w(a),x(a),!y||!z)return;let b=window.setInterval(()=>{x(a)},15e3);return()=>window.clearInterval(b)},[x,y,z,w]);let E=(0,aL.default)(a=>a.editorUrl),F=(0,aL.default)(a=>a.editorPreset),G=(0,e.useMemo)(()=>(0,b2.buildEditorUrl)(F,E,s||"/"),[F,E,s]),H=!!G&&(0,b2.isSafeEditorTarget)(G),I=!!G&&(0,b2.isWebEditorUrl)(G),J=H&&!I&&!0,K=J?m("editorRemoteNotSupported"):m("openEditor"),L=q?.id;return(0,d.jsx)("div",{className:"shrink-0 bg-background",children:(0,d.jsxs)("div",{className:"relative z-40 flex h-12 shrink-0 items-center border-b border-border px-3",...bt.default?{style:{WebkitAppRegion:"drag"}}:{},children:[(0,d.jsx)("div",{className:"mr-auto",...bt.default?{style:{WebkitAppRegion:"no-drag"}}:{},children:(0,d.jsx)(b1,{})}),(0,d.jsx)(bz.TooltipProvider,{children:(0,d.jsxs)("div",{className:"flex items-center gap-1",...bt.default?{style:{WebkitAppRegion:"no-drag"}}:{},children:["off"!==F&&(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsx)(bz.TooltipTrigger,{className:(0,av.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",J?"cursor-not-allowed opacity-30":"hover:text-foreground"),"aria-disabled":J||void 0,onClick:()=>{if(J)return;if(!G)return void at.toast.info(m("editorUrlNotSet"));if(!H)return void at.toast.error(m("editorUrlNotSet"));if(I)return void window.open(G,"_blank","noopener,noreferrer");let a=window.electronAPI;if(a?.openExternal)return void a.openExternal(G);let b=document.createElement("iframe");b.style.display="none",b.src=G,document.body.appendChild(b),setTimeout(()=>b.remove(),1e3)},"aria-label":m("openEditor"),children:G?(0,d.jsx)(b3.EditorIcon,{preset:F,className:"h-3.5 w-3.5"}):(0,d.jsx)(b$.FolderCode,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:K})]}),"off"!==F&&(0,d.jsx)("div",{className:"h-5 w-px bg-border"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsx)(bz.TooltipTrigger,{className:(0,av.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",g?"hover:text-foreground":"cursor-not-allowed opacity-30"),onClick:g&&L?()=>i(L,"horizontal"):void 0,disabled:!g,"aria-label":m("splitVertical"),children:h?(0,d.jsx)(as.default,{className:"h-3 w-3"}):(0,d.jsx)(b6,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:m("splitVerticalShortcut",{shortcut:`${n}D`})})]}),(0,d.jsx)(b0.default,{mac:"⌘D",other:"^D",className:(0,av.cn)("absolute -right-0.5 -top-1.5 rounded bg-muted px-1 py-0.5 text-[10px] font-medium leading-none text-muted-foreground transition-opacity duration-200 pointer-events-none",o?"opacity-100":"opacity-0")})]}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsx)(bz.TooltipTrigger,{className:(0,av.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",g?"hover:text-foreground":"cursor-not-allowed opacity-30"),onClick:g&&L?()=>i(L,"vertical"):void 0,disabled:!g,"aria-label":m("splitHorizontal"),children:h?(0,d.jsx)(as.default,{className:"h-3 w-3"}):(0,d.jsx)(b7,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:m("splitHorizontalShortcut",{shortcut:`${n}⇧D`})})]}),(0,d.jsx)(b0.default,{mac:"⌘⇧D",other:"^⇧D",className:(0,av.cn)("absolute -right-0.5 -top-1.5 rounded bg-muted px-1 py-0.5 text-[10px] font-medium leading-none text-muted-foreground transition-opacity duration-200 pointer-events-none",o?"opacity-100":"opacity-0")})]}),c>=2&&(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsx)(bz.TooltipTrigger,{className:"flex h-7 w-7 items-center justify-center text-muted-foreground hover:text-foreground",onClick:j,"aria-label":m("equalSplit"),children:(0,d.jsx)(b5,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:m("equalSplit")})]}),(0,d.jsx)(b0.default,{mac:"⌘⌥=",other:"^⌥=",className:(0,av.cn)("absolute -right-0.5 -top-1.5 rounded bg-muted px-1 py-0.5 text-[10px] font-medium leading-none text-muted-foreground transition-opacity duration-200 pointer-events-none",o?"opacity-100":"opacity-0")})]}),(0,d.jsx)("div",{className:"mx-1 h-5 w-px bg-border"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bz.Tooltip,{children:[(0,d.jsxs)(bz.TooltipTrigger,{className:(0,av.cn)("flex h-7 min-w-7 items-center justify-center rounded text-muted-foreground transition-colors",D&&"gap-1 px-1.5",k?"bg-accent text-foreground":"hover:bg-accent hover:text-foreground"),onClick:l,"aria-pressed":k,"aria-label":"Toggle Git panel",children:[(0,d.jsx)(bB.GitCompareArrows,{className:"h-3.5 w-3.5"}),"error"===t&&(0,d.jsx)("span",{className:"text-[10px] font-semibold leading-none text-negative/70","aria-hidden":"true",children:"!"}),B.map(a=>(0,d.jsx)("span",{className:(0,av.cn)("flex h-4 min-w-0 items-center justify-center text-[10px] font-medium leading-none",b8[a.tone]),"aria-hidden":"true",children:a.label},a.key))]}),(0,d.jsx)(bz.TooltipContent,{side:"bottom",children:C})]}),(0,d.jsx)(b0.default,{mac:"⌘⇧F",other:"^⇧F",className:(0,av.cn)("absolute -right-0.5 -top-1.5 rounded bg-muted px-1 py-0.5 text-[10px] font-medium leading-none text-muted-foreground transition-opacity duration-200 pointer-events-none",o&&!k?"opacity-100":"opacity-0")})]})]})})]})})},ca=({sessionName:a,onClose:b,onSendToAgent:c,settings:e,onSettingsChange:f})=>(0,d.jsx)("aside",{className:"flex h-full min-w-0 flex-col bg-card",children:(0,d.jsx)("div",{className:"min-h-0 flex-1",children:a?(0,d.jsx)(bk.default,{sessionName:a,onSendToAgent:c,onClose:b,settings:e,onSettingsChange:f}):(0,d.jsx)("div",{className:"flex h-full items-center justify-center px-6 text-center text-sm text-muted-foreground",children:"Open a terminal or agent tab first."})})});var cb=a.i(501130),cc=a.i(493621);let cd=()=>!1,ce=()=>(Number.isFinite(36),36);a.s(["default",0,()=>{let a=(0,f.useTranslations)("terminal"),b=(0,ay.default)(a=>a.isLoading),c=(0,ay.default)(a=>a.error),j=(0,ay.default)(a=>a.activeWorkspaceId),k=(0,ay.default)(a=>a.workspaces.length),l=(0,e.useRef)(null),m=(0,e.useRef)(null),n=(0,e.useRef)(null),o=(0,e.useRef)(null),[p,q]=(0,e.useState)(cd),[r,s]=(0,e.useState)(ce),[t,u]=(0,e.useState)(null),v=(0,e.useCallback)(()=>{let b=l.current;b&&(ay.default.getState().switchWorkspace(b),at.toast.error(a("cannotSwitch")))},[a]),w=(0,aw.default)({workspaceId:j,onFetchError:v}),x=!!(w.layout&&!w.isLoading&&(0,ax.collectPanes)(w.layout.root).every(a=>0===a.tabs.length)),y=!!(w.layout&&!w.isLoading&&!x),z=(0,e.useMemo)(()=>w.layout?.activePaneId?(0,ax.collectPanes)(w.layout.root).find(a=>a.id===w.layout?.activePaneId)??null:null,[w.layout]),A=(0,e.useMemo)(()=>z?.activeTabId?z.tabs.find(a=>a.id===z.activeTabId)??null:null,[z]),B=(0,aD.default)(a=>A?.id?a.metadata[A.id]?.cwd:void 0),C=(0,e.useMemo)(()=>w.layout?new Set((0,ax.collectPanes)(w.layout.root).flatMap(a=>a.tabs.map(a=>a.sessionName))):new Set,[w.layout]);(0,e.useEffect)(()=>{if(w.layout){let a;q(w.layout.diffSettings?.panelOpen??!1),s(Number.isFinite(a=Number(w.layout.diffSettings?.panelSize))?Math.min(60,Math.max(20,a)):36)}},[j,w.layout]);let D=(0,e.useCallback)(a=>{q(a),w.updateDiffSettings({panelOpen:a})},[w]),E=(0,e.useCallback)(a=>{s(a),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{w.updateDiffSettings({panelSize:a}),o.current=null},200)},[w]);(0,e.useEffect)(()=>()=>{o.current&&clearTimeout(o.current)},[]),(0,e.useEffect)(()=>{o.current&&(clearTimeout(o.current),o.current=null)},[j]);let F=(0,e.useCallback)((a,b)=>{z?.id&&window.dispatchEvent(new CustomEvent("purplemux-send-to-agent",{detail:{paneId:z.id,text:a,provider:b}}))},[z?.id]);(0,e.useEffect)(()=>{let a=()=>D(!p);return window.addEventListener("purplemux-toggle-git-panel",a),()=>window.removeEventListener("purplemux-toggle-git-panel",a)},[p,D]),(0,e.useEffect)(()=>{let a=A?.sessionName;if(!a)return;let b=B||A.cwd||a;u(c=>c?.cwdKey===b&&C.has(c.sessionName)?c:{sessionName:a,cwdKey:b})},[C,A?.sessionName,A?.cwd,B]),(0,e.useEffect)(()=>{y&&n.current?.setLayout(p?{main:100-r,git:r}:{main:100,git:0})},[j,p,r,y]);let G=w.layout?.updatedAt,H=(0,e.useRef)(null);(0,e.useEffect)(()=>{if(!w.layout||!G||H.current===G)return;H.current=G;let a={};for(let b of(0,ax.collectPanes)(w.layout.root))for(let c of b.tabs)"agent-sessions"!==c.panelType&&(c.title||c.cwd)&&(a[c.id]={title:c.title,cwd:c.cwd});aD.default.getState().hydrate(a),(0,aE.requestSync)()},[G]),(0,e.useEffect)(()=>{if(!w.layout)return;let a=new Set((0,ax.collectPanes)(w.layout.root).flatMap(a=>a.tabs.map(a=>a.id)));aD.default.getState().retainOnly(a)},[w.layout]),(0,cc.useAutoDeleteEmptyWorkspace)(x,w.clearLayout);let I=(0,e.useCallback)(a=>{let{activeWorkspaceId:b}=ay.default.getState();a!==b&&(l.current=b,aD.default.getState().reset(),w.clearLayout(),ay.default.getState().switchWorkspace(a))},[w]);if((0,e.useEffect)(()=>(cb.default.getState().register(I),()=>cb.default.getState().unregister()),[I]),(({layout:a})=>{let b=(0,e.useRef)(a),c=(0,ay.default)(a=>a.isSettingsDialogOpen),d=(0,ay.default)(a=>a.isCheatSheetOpen),f=!c&&!d;(0,e.useEffect)(()=>{b.current=a},[a]),(0,az.default)("pane.split_right",()=>{let a=b.current;a.layout?.activePaneId&&a.canSplit&&a.splitPane(a.layout.activePaneId,"horizontal")},f),(0,az.default)("pane.split_down",()=>{let a=b.current;a.layout?.activePaneId&&a.canSplit&&a.splitPane(a.layout.activePaneId,"vertical")},f);let g=(0,e.useCallback)(a=>{let c=b.current;if(!c.layout?.activePaneId)return;let d=(0,ax.findAdjacentPaneInDirection)(c.layout.root,c.layout.activePaneId,a);d&&c.focusPane(d)},[]);(0,az.default)("pane.focus_left",()=>g("left"),f),(0,az.default)("pane.focus_right",()=>g("right"),f),(0,az.default)("pane.focus_up",()=>g("up"),f),(0,az.default)("pane.focus_down",()=>g("down"),f);let h=(0,e.useCallback)(a=>{let c=b.current;if(!c.layout?.activePaneId)return;let d=(0,ax.findResizeTarget)(c.layout.root,c.layout.activePaneId,a);if(!d)return;let e=d.increase?5:-5,f=Math.min(95,Math.max(5,d.currentRatio+e));f!==d.currentRatio&&aw.useLayoutStore.getState().updateRatio(d.path,f)},[]);(0,az.default)("pane.resize_left",()=>h("left"),f),(0,az.default)("pane.resize_right",()=>h("right"),f),(0,az.default)("pane.resize_up",()=>h("up"),f),(0,az.default)("pane.resize_down",()=>h("down"),f),(0,az.default)("pane.equalize",()=>aw.useLayoutStore.getState().equalizeRatios(),f),(0,az.default)("tab.new",()=>{let a=b.current;a.layout?.activePaneId&&window.dispatchEvent(new CustomEvent("open-new-tab-menu",{detail:{paneId:a.layout.activePaneId}}))},f),(0,az.default)("tab.close",()=>{let a=b.current;if(!a.layout?.activePaneId)return;let c=aC(a.layout);c?.activeTabId&&(1===c.tabs.length&&a.paneCount>1?a.closePane(c.id):a.deleteTabInPane(c.id,c.activeTabId))},f),(0,az.default)("tab.prev",()=>aw.useLayoutStore.getState().focusPrevTab(),f),(0,az.default)("tab.next",()=>aw.useLayoutStore.getState().focusNextTab(),f),(0,az.default)("pane.clear_screen",()=>{},f),(0,az.default)("tab.goto",a=>{let b=parseInt(a.code.replace("Digit",""),10);isNaN(b)||b<1||b>9||aw.useLayoutStore.getState().focusTabByIndex(9===b?1/0:b-1)},f);let i=(0,e.useCallback)(a=>{let c=aC(b.current.layout);if(!c?.activeTabId)return;let d=c.tabs.find(a=>a.id===c.activeTabId);if(!d)return;let e=d.panelType??"terminal";if(e===a)return;let f=aA.default.getState().tabs[c.activeTabId];(0,aB.tryAgentSwitch)({current:e,target:a,cliState:f?.cliState,agentProcess:f?.agentProcess,runningAgentPanelType:(0,aB.getAgentPanelTypeFromProvider)(f?.agentProviderId)})&&aw.useLayoutStore.getState().updateTabPanelType(c.id,c.activeTabId,a)},[]);(0,az.default)("view.mode_terminal",()=>i("terminal"),f),(0,az.default)("view.mode_claude",()=>i("claude-code"),f),(0,az.default)("view.mode_codex",()=>i("codex-cli"),f),(0,az.default)("view.mode_diff",()=>{window.dispatchEvent(new CustomEvent("purplemux-toggle-git-panel"))},f)})({layout:w}),b)return(0,d.jsxs)("div",{className:"flex h-full w-full flex-col overflow-hidden bg-background animate-delayed-fade-in",children:[(0,d.jsx)("div",{className:"flex h-12 shrink-0 items-center gap-1.5 border-b border-border bg-background px-2",children:[1,2,3].map(a=>(0,d.jsx)("div",{className:"h-4 w-16 animate-pulse rounded bg-muted"},a))}),(0,d.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,d.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,d.jsx)(as.default,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:a("connecting")})]})})]});if(c&&!k)return(0,d.jsxs)("div",{className:"flex h-full w-full flex-col items-center justify-center gap-3 overflow-hidden bg-background",children:[(0,d.jsx)(g.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:c}),(0,d.jsxs)(au.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:ay.default.getState().fetchWorkspaces,children:[(0,d.jsx)(h.RefreshCw,{className:"h-3.5 w-3.5"}),a("retryAction")]})]});let J=!w.layout&&w.isLoading&&j;return(0,d.jsxs)("div",{className:"relative flex h-full w-full flex-col overflow-hidden bg-background",children:[w.layout&&!w.isLoading&&!x&&(0,d.jsx)(b9,{activePaneId:w.layout.activePaneId,root:w.layout.root,paneCount:w.paneCount,canSplit:w.canSplit,isSplitting:w.isSplitting,onSplitPane:w.splitPane,onEqualizeRatios:()=>m.current?.(),isGitPanelOpen:p,onToggleGitPanel:()=>D(!p)}),(0,d.jsxs)("div",{className:"relative min-h-0 flex-1",children:[J&&(0,d.jsx)("div",{className:"absolute inset-0 z-30 flex items-center justify-center bg-background animate-delayed-fade-in",children:(0,d.jsx)(as.default,{className:"h-4 w-4 text-muted-foreground"})}),w.error&&!w.isLoading&&(0,d.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3",children:[(0,d.jsx)(g.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:w.error}),(0,d.jsxs)(au.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>w.fetchLayout(),children:[(0,d.jsx)(h.RefreshCw,{className:"h-3.5 w-3.5"}),a("retryAction")]})]}),w.layout&&!w.isLoading&&!x&&(0,d.jsx)("div",{className:"h-full",children:(0,d.jsxs)(an,{groupRef:n,className:"h-full w-full min-w-0",orientation:"horizontal",resizeTargetMinimumSize:{fine:8,coarse:32},defaultLayout:p?{main:100-r,git:r}:{main:100,git:0},onLayoutChanged:a=>{if(!p)return;let b=a.git;if(void 0===b||b<=1)return;let c=Math.min(60,Math.max(20,Math.round(b)));c!==r&&E(c)},children:[(0,d.jsx)(ap,{id:"main",minSize:"320px",className:"h-full min-w-0",children:(0,d.jsx)(bZ,{root:w.layout.root,onUpdateRatio:w.updateRatio,onEqualizeRatios:w.equalizeRatios,equalizeRef:m})}),(0,d.jsx)(ar,{disabled:!p,className:(0,av.cn)("shrink-0 cursor-col-resize bg-border transition-colors duration-100 hover:bg-muted-foreground/50 data-[resize-handle-active]:bg-muted-foreground",p?"w-px":"w-0")}),(0,d.jsx)(ap,{id:"git",collapsible:!0,collapsedSize:"0px",minSize:"320px",maxSize:"760px",groupResizeBehavior:"preserve-pixel-size",className:"h-full min-w-0 overflow-hidden",children:p&&(0,d.jsx)(ca,{sessionName:t?.sessionName,onClose:()=>D(!1),onSendToAgent:F,settings:w.layout.diffSettings,onSettingsChange:w.updateDiffSettings})})]})},j),!j&&!b&&!c&&(0,d.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,d.jsxs)(au.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:async()=>{let a=await ay.default.getState().createWorkspace("");a&&ay.default.getState().switchWorkspace(a.id)},children:[(0,d.jsx)(i.Plus,{className:"h-3.5 w-3.5"}),a("newWorkspace")]})})]})]})}],51395)},821662,a=>{a.n(a.i(51395))}];
2
2
 
3
3
  //# sourceMappingURL=src_components_features_workspace_terminal-page_tsx_0wuq-jl._.js.map
@@ -5,7 +5,7 @@
5
5
  "runtime": "nodejs",
6
6
  "matchers": [
7
7
  {
8
- "regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?!_next\\/)[^/.]{1,}))(?:\\/((?!login|api\\/auth|api\\/install|api\\/cli\\/|api\\/status\\/hook|api\\/health|api\\/manifest|_next|favicon\\.ico|fonts|.*\\.(?:svg|png|ico|jpg|jpeg|webp|webmanifest|ttf|woff|woff2)).*))(\\.json)?[\\/#\\?]?$",
8
+ "regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?!_next\\/)[^/.]{1,}))(?:\\/((?!login|api\\/auth|api\\/install|api\\/cli\\/|api\\/status\\/hook|api\\/health|api\\/manifest|_next|favicon\\.ico|fonts|.*\\.(?:svg|png|ico|jpg|jpeg|webp|webmanifest|ttf|woff|woff2)).*))(\\.json|\\.rsc|\\.segments\\/.+\\.segment\\.rsc)?[\\/#\\?]?$",
9
9
  "originalSource": "/((?!login|api/auth|api/install|api/cli/|api/status/hook|api/health|api/manifest|_next|favicon\\.ico|fonts|.*\\.(?:svg|png|ico|jpg|jpeg|webp|webmanifest|ttf|woff|woff2)).*)"
10
10
  }
11
11
  ]