purplemux 0.2.4 → 0.2.6

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 (330) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +70 -70
  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]__0-qfa-x._.js +3 -0
  7. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00nrs0h._.js +3 -0
  8. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03x8rds._.js +3 -0
  9. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04cr_m8._.js +1 -1
  10. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06j59n1._.js +3 -0
  11. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07gfnob._.js +1 -1
  12. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07xijrd._.js +1 -1
  13. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08tdlcm._.js +1 -1
  14. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09_6_.~._.js +3 -0
  15. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09gkm_6._.js +1 -1
  16. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_uldiw._.js +15 -0
  17. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a4t.z5._.js +52 -0
  18. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bo-su1._.js +1 -1
  19. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c-bb5d._.js +1 -1
  20. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dvelfj._.js +52 -0
  21. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e.7isl._.js +5 -0
  22. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gcec.8._.js +3 -0
  23. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ihlt6s._.js +1 -1
  24. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qvunc5._.js +1 -1
  25. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0r77-u1._.js +52 -0
  26. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vi8p6v._.js +1 -1
  27. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w3m-oz._.js +1 -1
  28. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zh8xur._.js +3 -0
  29. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~iu3jq._.js +3 -0
  30. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12nr~pb._.js +1 -1
  31. package/.next/standalone/.next/server/chunks/{_0v81st0._.js → _0.pa6m1._.js} +1 -1
  32. package/.next/standalone/.next/server/chunks/_05ib7yu._.js +3 -0
  33. package/.next/standalone/.next/server/chunks/{_0ll-5~7._.js → _09y8.gr._.js} +1 -1
  34. package/.next/standalone/.next/server/chunks/{_0.5a4bu._.js → _0mwq11h._.js} +1 -1
  35. package/.next/standalone/.next/server/chunks/_0y4b49w._.js +3 -0
  36. package/.next/standalone/.next/server/chunks/_0zcb2f0._.js +3 -0
  37. package/.next/standalone/.next/server/chunks/{node_modules_ws_124xx2_._.js → _106a~ya._.js} +2 -2
  38. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_pages-api_00-t8sq.js +1 -1
  39. package/.next/standalone/.next/server/chunks/src_lib_00fhuqb._.js +3 -0
  40. package/.next/standalone/.next/server/chunks/src_lib_0dvlmi4._.js +15 -0
  41. package/.next/standalone/.next/server/chunks/src_lib_0ojl2hg._.js +52 -0
  42. package/.next/standalone/.next/server/chunks/src_lib_layout-store_ts_0fanx7c._.js +1 -1
  43. package/.next/standalone/.next/server/chunks/src_lib_status-manager_ts_003hlhy._.js +1 -13
  44. package/.next/standalone/.next/server/chunks/src_lib_workspace-store_ts_0vqt073._.js +1 -40
  45. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t9ru13._.js +1 -1
  46. package/.next/standalone/.next/server/chunks/ssr/{_0o8h1fd._.js → _0-kyl7i._.js} +2 -2
  47. package/.next/standalone/.next/server/chunks/ssr/_017c8be._.js +3 -0
  48. package/.next/standalone/.next/server/chunks/ssr/{_0c1yivm._.js → _070zc_o._.js} +2 -2
  49. package/.next/standalone/.next/server/chunks/ssr/_07jud1p._.js +1 -1
  50. package/.next/standalone/.next/server/chunks/ssr/_0_uqm-4._.js +3 -0
  51. package/.next/standalone/.next/server/chunks/ssr/{_0ftinmo._.js → _0ed.wmt._.js} +2 -2
  52. package/.next/standalone/.next/server/chunks/ssr/_0lpqhot._.js +3 -0
  53. package/.next/standalone/.next/server/chunks/ssr/_0pg-q18._.js +1 -1
  54. package/.next/standalone/.next/server/chunks/ssr/_0pp3e5j._.js +1 -1
  55. package/.next/standalone/.next/server/chunks/ssr/_0ttiybw._.js +18 -0
  56. package/.next/standalone/.next/server/chunks/ssr/_0w.1ts8._.js +1 -1
  57. package/.next/standalone/.next/server/chunks/ssr/_0w6jc9p._.js +1 -1
  58. package/.next/standalone/.next/server/chunks/ssr/_0xp3-y6._.js +3 -0
  59. package/.next/standalone/.next/server/chunks/ssr/{_11v_6.6._.js → _0y7o.rg._.js} +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/_0ytb_c0._.js +3 -0
  61. package/.next/standalone/.next/server/chunks/ssr/{_02jzd5g._.js → _13gee5r._.js} +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/messages_de_terminal_json_[json]_cjs_05jirtw._.js +1 -1
  63. package/.next/standalone/.next/server/chunks/ssr/messages_en_terminal_json_[json]_cjs_0~ls3g-._.js +1 -1
  64. package/.next/standalone/.next/server/chunks/ssr/messages_es_terminal_json_[json]_cjs_04g2b1_._.js +1 -1
  65. package/.next/standalone/.next/server/chunks/ssr/messages_fr_terminal_json_[json]_cjs_0uhakya._.js +1 -1
  66. package/.next/standalone/.next/server/chunks/ssr/messages_ja_terminal_json_[json]_cjs_0776z4f._.js +1 -1
  67. package/.next/standalone/.next/server/chunks/ssr/messages_ko_terminal_json_[json]_cjs_06611.3._.js +1 -1
  68. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_terminal_json_[json]_cjs_034yyg9._.js +1 -1
  69. package/.next/standalone/.next/server/chunks/ssr/messages_ru_terminal_json_[json]_cjs_0emk8~n._.js +1 -1
  70. package/.next/standalone/.next/server/chunks/ssr/messages_tr_terminal_json_[json]_cjs_0xpix8g._.js +1 -1
  71. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_terminal_json_[json]_cjs_12vwl8a._.js +1 -1
  72. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_terminal_json_[json]_cjs_0spg5z5._.js +1 -1
  73. package/.next/standalone/.next/server/chunks/ssr/{src_components_0_aiven._.js → src_components_0_nzv1r._.js} +1 -1
  74. package/.next/standalone/.next/server/chunks/ssr/{src_components_0geizrr._.js → src_components_0bqqfju._.js} +1 -1
  75. package/.next/standalone/.next/server/chunks/ssr/{src_components_11_1i~k._.js → src_components_0rqxlj-._.js} +1 -1
  76. package/.next/standalone/.next/server/chunks/ssr/{src_components_12mrirb._.js → src_components_0s~.n3e._.js} +1 -1
  77. package/.next/standalone/.next/server/chunks/ssr/src_components_features_mobile_mobile-terminal-page_tsx_02chzch._.js +1 -1
  78. package/.next/standalone/.next/server/chunks/ssr/src_components_features_workspace_terminal-page_tsx_0wuq-jl._.js +1 -1
  79. package/.next/standalone/.next/server/chunks/ssr/src_lib_workspace-store_ts_00x-rec._.js +10 -0
  80. package/.next/standalone/.next/server/middleware-build-manifest.js +70 -70
  81. package/.next/standalone/.next/server/pages/_app/build-manifest.json +3 -3
  82. package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
  83. package/.next/standalone/.next/server/pages/api/auth/login.js +2 -2
  84. package/.next/standalone/.next/server/pages/api/auth/login.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/pages/api/auth/preflight.js +2 -2
  86. package/.next/standalone/.next/server/pages/api/auth/preflight.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/pages/api/auth/setup.js +2 -2
  88. package/.next/standalone/.next/server/pages/api/auth/setup.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/pages/api/check-claude.js +5 -1
  90. package/.next/standalone/.next/server/pages/api/check-claude.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js +2 -2
  92. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js +2 -2
  94. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js +2 -2
  96. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js +2 -2
  98. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js +2 -2
  100. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js +2 -2
  102. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js +2 -2
  104. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js +2 -2
  106. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js.nft.json +1 -1
  107. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js +2 -2
  108. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js.nft.json +1 -1
  109. package/.next/standalone/.next/server/pages/api/cli/tabs.js +2 -2
  110. package/.next/standalone/.next/server/pages/api/cli/tabs.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/pages/api/cli/workspaces.js +2 -2
  112. package/.next/standalone/.next/server/pages/api/cli/workspaces.js.nft.json +1 -1
  113. package/.next/standalone/.next/server/pages/api/config.js +2 -2
  114. package/.next/standalone/.next/server/pages/api/config.js.nft.json +1 -1
  115. package/.next/standalone/.next/server/pages/api/layout/diff.js +1 -1
  116. package/.next/standalone/.next/server/pages/api/layout/diff.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js +2 -2
  118. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js +5 -5
  120. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.nft.json +1 -1
  121. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js +2 -2
  122. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +5 -5
  124. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js +2 -2
  126. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js.nft.json +1 -1
  127. package/.next/standalone/.next/server/pages/api/layout/pane.js +2 -2
  128. package/.next/standalone/.next/server/pages/api/layout/pane.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/pages/api/layout.js +2 -2
  130. package/.next/standalone/.next/server/pages/api/layout.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/pages/api/message-history.js +2 -2
  132. package/.next/standalone/.next/server/pages/api/message-history.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/pages/api/preflight/runtime.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/pages/api/stats/projects.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/pages/api/stats/sessions.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/pages/api/stats/uptime.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/pages/api/status/hook.js +6 -6
  141. package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/pages/api/status/statusline.js +6 -6
  143. package/.next/standalone/.next/server/pages/api/status/statusline.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/pages/api/timeline/sessions.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js +3 -2
  146. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/pages/api/tmux/plan-options.js +3 -2
  148. package/.next/standalone/.next/server/pages/api/tmux/plan-options.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +5 -5
  150. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.nft.json +1 -1
  151. package/.next/standalone/.next/server/pages/api/tmux/reset.js +5 -5
  152. package/.next/standalone/.next/server/pages/api/tmux/reset.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js +2 -2
  154. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js.nft.json +1 -1
  155. package/.next/standalone/.next/server/pages/api/workspace/active.js +2 -2
  156. package/.next/standalone/.next/server/pages/api/workspace/active.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js +2 -2
  158. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js.nft.json +1 -1
  159. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js +2 -2
  160. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/pages/api/workspace/group.js +2 -2
  162. package/.next/standalone/.next/server/pages/api/workspace/group.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/pages/api/workspace/reorder.js +2 -2
  164. package/.next/standalone/.next/server/pages/api/workspace/reorder.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/pages/api/workspace/validate.js +2 -2
  166. package/.next/standalone/.next/server/pages/api/workspace/validate.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/pages/api/workspace.js +5 -5
  168. package/.next/standalone/.next/server/pages/api/workspace.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/pages/de/404.html +1 -1
  170. package/.next/standalone/.next/server/pages/de/500.html +1 -1
  171. package/.next/standalone/.next/server/pages/en/404.html +1 -1
  172. package/.next/standalone/.next/server/pages/en/500.html +1 -1
  173. package/.next/standalone/.next/server/pages/es/404.html +1 -1
  174. package/.next/standalone/.next/server/pages/es/500.html +1 -1
  175. package/.next/standalone/.next/server/pages/fr/404.html +1 -1
  176. package/.next/standalone/.next/server/pages/fr/500.html +1 -1
  177. package/.next/standalone/.next/server/pages/index/build-manifest.json +15 -15
  178. package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
  179. package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +6 -6
  180. package/.next/standalone/.next/server/pages/index.js +8 -8
  181. package/.next/standalone/.next/server/pages/index.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/pages/ja/404.html +1 -1
  183. package/.next/standalone/.next/server/pages/ja/500.html +1 -1
  184. package/.next/standalone/.next/server/pages/ko/404.html +1 -1
  185. package/.next/standalone/.next/server/pages/ko/500.html +1 -1
  186. package/.next/standalone/.next/server/pages/login/build-manifest.json +6 -6
  187. package/.next/standalone/.next/server/pages/login/client-build-manifest.json +1 -1
  188. package/.next/standalone/.next/server/pages/login.js +4 -4
  189. package/.next/standalone/.next/server/pages/login.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
  191. package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
  192. package/.next/standalone/.next/server/pages/reports/build-manifest.json +14 -14
  193. package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
  194. package/.next/standalone/.next/server/pages/reports.js +9 -9
  195. package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/pages/reset.js.nft.json +1 -1
  197. package/.next/standalone/.next/server/pages/ru/404.html +1 -1
  198. package/.next/standalone/.next/server/pages/ru/500.html +1 -1
  199. package/.next/standalone/.next/server/pages/stats/build-manifest.json +12 -12
  200. package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
  201. package/.next/standalone/.next/server/pages/stats.js +9 -9
  202. package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
  203. package/.next/standalone/.next/server/pages/tools-required/build-manifest.json +4 -4
  204. package/.next/standalone/.next/server/pages/tools-required/client-build-manifest.json +1 -1
  205. package/.next/standalone/.next/server/pages/tools-required.js +4 -4
  206. package/.next/standalone/.next/server/pages/tools-required.js.nft.json +1 -1
  207. package/.next/standalone/.next/server/pages/tr/404.html +1 -1
  208. package/.next/standalone/.next/server/pages/tr/500.html +1 -1
  209. package/.next/standalone/.next/server/pages/webview/build-manifest.json +13 -13
  210. package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
  211. package/.next/standalone/.next/server/pages/webview.js +6 -6
  212. package/.next/standalone/.next/server/pages/webview.js.nft.json +1 -1
  213. package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
  214. package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
  215. package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
  216. package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
  217. package/.next/standalone/.next/static/{CjJlqsAWYyyu76AJtHaqt → X30D5nlXld8jLdlpsowJj}/_buildManifest.js +6 -6
  218. package/.next/standalone/.next/static/chunks/{11tnyk0iystp1.js → 0--r5y9cw3.0z.js} +1 -1
  219. package/.next/standalone/.next/static/chunks/{08.6.1cg_x8r-.js → 00gxls80r--_0.js} +6 -6
  220. package/.next/standalone/.next/static/chunks/{0w0qmu364g~xt.js → 01rmp.m_ls7z_.js} +1 -1
  221. package/.next/standalone/.next/static/chunks/03y_zdpu9ete~.js +16 -0
  222. package/.next/standalone/.next/static/chunks/{0zmym5gg0bnkg.js → 06ak74s111wx-.js} +1 -1
  223. package/.next/standalone/.next/static/chunks/{0g-71jn3elu8f.js → 08d6vee5l~1wn.js} +1 -1
  224. package/.next/standalone/.next/static/chunks/{16.twr9cx.kle.js → 08gfz_nte45du.js} +1 -1
  225. package/.next/standalone/.next/static/chunks/{00s78xqkxglkv.js → 0a1xt.enr50l5.js} +1 -1
  226. package/.next/standalone/.next/static/chunks/{0p~_~afvrxx99.js → 0am7rh7xdv5lw.js} +3 -3
  227. package/.next/standalone/.next/static/chunks/{0cmg_jvd.7c43.js → 0awrd.oo446gi.js} +1 -1
  228. package/.next/standalone/.next/static/chunks/{0._2l5v1hwkfn.js → 0cuy2cz7-e4u3.js} +12 -12
  229. package/.next/standalone/.next/static/chunks/{09lb6md956bhb.js → 0eu25r354hciy.js} +1 -1
  230. package/.next/standalone/.next/static/chunks/{0thg_6bh34-xa.js → 0f3q6qhpk.i_r.js} +1 -1
  231. package/.next/standalone/.next/static/chunks/0gfhd.gsbt9qg.js +1 -0
  232. package/.next/standalone/.next/static/chunks/0ic.mcu6-9din.js +1 -0
  233. package/.next/standalone/.next/static/chunks/0k4b.~5c4nvtm.js +1 -0
  234. package/.next/standalone/.next/static/chunks/{0q9y8zysz~put.js → 0ox.7nphcgp6k.js} +15 -15
  235. package/.next/standalone/.next/static/chunks/{13j5zp717ie6d.js → 0px6~g-besoaa.js} +13 -13
  236. package/.next/standalone/.next/static/chunks/{0batq-3sj.qi1.js → 0qbonuf--0q6w.js} +14 -14
  237. package/.next/standalone/.next/static/chunks/0qqsez8ir1.fs.js +1 -0
  238. package/.next/standalone/.next/static/chunks/{0pxbg4s8a4y54.js → 0rb41e1r1urhx.js} +1 -1
  239. package/.next/standalone/.next/static/chunks/0uii4rziiew3_.js +1 -0
  240. package/.next/standalone/.next/static/chunks/0vtkq~yk_1~gv.js +1 -0
  241. package/.next/standalone/.next/static/chunks/0vx2hhzc46h_7.js +1 -0
  242. package/.next/standalone/.next/static/chunks/0xpr6vw-p8oxk.js +1 -0
  243. package/.next/standalone/.next/static/chunks/{0s7sv9xe3e1c9.js → 0zn1jt__-t51p.js} +1 -1
  244. package/.next/standalone/.next/static/chunks/0zrhxc96zwjuv.js +1 -0
  245. package/.next/standalone/.next/static/chunks/0z~yy1lqrvp_a.js +1 -0
  246. package/.next/standalone/.next/static/chunks/0~cgr_3dpx0vl.js +1 -0
  247. package/.next/standalone/.next/static/chunks/{0b.a4_8picceu.js → 0~g0t2q6o3r-7.js} +4 -4
  248. package/.next/standalone/.next/static/chunks/0~u-xp3xwzx8m.js +1 -0
  249. package/.next/standalone/.next/static/chunks/14if5vtky.3sn.js +1 -0
  250. package/.next/standalone/.next/static/chunks/15i_n03eg5uyp.js +1 -0
  251. package/.next/standalone/.next/static/chunks/{0r69~xx12-zsq.js → 167xy7alpfxbv.js} +1 -1
  252. package/.next/standalone/.next/static/chunks/1756nfyulu.9h.css +1 -0
  253. package/.next/standalone/.next/static/chunks/{turbopack-0vv2_r1br0hyc.js → turbopack-092b2t67-z3ds.js} +1 -1
  254. package/.next/standalone/.next/static/chunks/{turbopack-06o7eaf8n1nth.js → turbopack-0edd0f8i0vas2.js} +1 -1
  255. package/.next/standalone/.next/static/chunks/{turbopack-0-ooli-pimh-6.js → turbopack-0ser1ty-sh2jk.js} +1 -1
  256. package/.next/standalone/.next/static/chunks/{turbopack-0sa282u154fdk.js → turbopack-0thw2b7slv80v.js} +1 -1
  257. package/.next/standalone/.next/static/chunks/{turbopack-0duv.5cir9jm5.js → turbopack-0zouy.~ram.7g.js} +1 -1
  258. package/.next/standalone/.next/static/chunks/{turbopack-0f2cool0ub~vp.js → turbopack-10_7kfeyza-k-.js} +1 -1
  259. package/.next/standalone/.next/static/chunks/{turbopack-0q6z-bk-atg2w.js → turbopack-189zx7uuxfxm6.js} +1 -1
  260. package/.next/standalone/messages/de/terminal.json +4 -0
  261. package/.next/standalone/messages/en/terminal.json +4 -0
  262. package/.next/standalone/messages/es/terminal.json +4 -0
  263. package/.next/standalone/messages/fr/terminal.json +4 -0
  264. package/.next/standalone/messages/ja/terminal.json +4 -0
  265. package/.next/standalone/messages/ko/terminal.json +4 -0
  266. package/.next/standalone/messages/pt-BR/terminal.json +4 -0
  267. package/.next/standalone/messages/ru/terminal.json +4 -0
  268. package/.next/standalone/messages/tr/terminal.json +4 -0
  269. package/.next/standalone/messages/zh-CN/terminal.json +4 -0
  270. package/.next/standalone/messages/zh-TW/terminal.json +4 -0
  271. package/.next/standalone/package.json +1 -1
  272. package/.next/standalone/server.js +1 -1
  273. package/.next/standalone/src/config/tmux.conf +17 -7
  274. package/.next/standalone/src/lib/providers/claude/index.ts +44 -0
  275. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/index.ts +13 -6
  276. package/README.de.md +1 -1
  277. package/README.es.md +1 -1
  278. package/README.fr.md +1 -1
  279. package/README.ja.md +1 -1
  280. package/README.ko.md +1 -1
  281. package/README.md +1 -1
  282. package/README.pt-BR.md +1 -1
  283. package/README.ru.md +1 -1
  284. package/README.tr.md +1 -1
  285. package/README.zh-CN.md +1 -1
  286. package/README.zh-TW.md +1 -1
  287. package/dist/server.js +970 -851
  288. package/package.json +1 -1
  289. package/src/config/tmux.conf +17 -7
  290. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01.~37j._.js +0 -3
  291. package/.next/standalone/.next/server/chunks/[root-of-the-server]__016s4a9._.js +0 -3
  292. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03l15.f._.js +0 -3
  293. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05ij_ys._.js +0 -42
  294. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06h3gzy._.js +0 -3
  295. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0auutl5._.js +0 -5
  296. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d-inw8._.js +0 -3
  297. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0i-jyh3._.js +0 -3
  298. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l~_wd0._.js +0 -3
  299. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ovn6yp._.js +0 -3
  300. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0un_g-o._.js +0 -3
  301. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12ksl6n._.js +0 -42
  302. package/.next/standalone/.next/server/chunks/_03-duro._.js +0 -3
  303. package/.next/standalone/.next/server/chunks/_07097f~._.js +0 -3
  304. package/.next/standalone/.next/server/chunks/_0z7d6.z._.js +0 -3
  305. package/.next/standalone/.next/server/chunks/src_lib_0p.xsqi._.js +0 -3
  306. package/.next/standalone/.next/server/chunks/ssr/_016o9_-._.js +0 -3
  307. package/.next/standalone/.next/server/chunks/ssr/_0a64og5._.js +0 -3
  308. package/.next/standalone/.next/server/chunks/ssr/_0ccg0_z._.js +0 -18
  309. package/.next/standalone/.next/server/chunks/ssr/_0fnzfs-._.js +0 -3
  310. package/.next/standalone/.next/server/chunks/ssr/_0hat6~g._.js +0 -3
  311. package/.next/standalone/.next/server/chunks/ssr/_0hp8_ck._.js +0 -3
  312. package/.next/standalone/.next/server/chunks/ssr/_0hq29bt._.js +0 -3
  313. package/.next/standalone/.next/static/chunks/02ncyh-v8g~cs.css +0 -1
  314. package/.next/standalone/.next/static/chunks/08d4u-qlylmde.js +0 -1
  315. package/.next/standalone/.next/static/chunks/08f708~_7uy_i.js +0 -1
  316. package/.next/standalone/.next/static/chunks/08ojbbzi2ergt.js +0 -16
  317. package/.next/standalone/.next/static/chunks/0cvx059r5hgj1.js +0 -1
  318. package/.next/standalone/.next/static/chunks/0gn-f6_m696k0.js +0 -1
  319. package/.next/standalone/.next/static/chunks/0u.snf3d~5nvq.js +0 -1
  320. package/.next/standalone/.next/static/chunks/0v.l~.~v98c2c.js +0 -1
  321. package/.next/standalone/.next/static/chunks/0wu~4k-l8otuy.js +0 -1
  322. package/.next/standalone/.next/static/chunks/0y441gn709g7u.js +0 -1
  323. package/.next/standalone/.next/static/chunks/0yb~gw6ukzdmo.js +0 -1
  324. package/.next/standalone/.next/static/chunks/0yg3hj1g~k1ip.js +0 -1
  325. package/.next/standalone/.next/static/chunks/0~c6h8j7ut2ca.js +0 -1
  326. package/.next/standalone/.next/static/chunks/13i76gpwz2k5a.js +0 -1
  327. package/.next/standalone/.next/static/chunks/15m4y6otktj8z.js +0 -1
  328. package/.next/standalone/.next/static/chunks/17ebdp-_o5o30.js +0 -1
  329. /package/.next/standalone/.next/static/{CjJlqsAWYyyu76AJtHaqt → X30D5nlXld8jLdlpsowJj}/_clientMiddlewareManifest.js +0 -0
  330. /package/.next/standalone/.next/static/{CjJlqsAWYyyu76AJtHaqt → X30D5nlXld8jLdlpsowJj}/_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),j=a.i(581228),k=a.i(510414),l=a.i(396465),m=a.i(626605),n=a.i(144784),o=a.i(912251),p=a.i(380132);let q=a=>a?.activePaneId?(0,n.collectPanes)(a.root).find(b=>b.id===a.activePaneId)??null:null;var r=a.i(199462),s=a.i(266254),t=a.i(456195);function u({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 v(a){return parseFloat(a.toFixed(3))}function w({group:a}){let{orientation:b,panels:c}=a;return c.reduce((a,c)=>a+="horizontal"===b?c.element.offsetWidth:c.element.offsetHeight,0)}function x(a){let{panels:b}=a,c=w({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=v(u({groupSize:c,panelElement:d,styleProp:e.collapsedSize})/c*100)),void 0!==e.defaultSize&&(b=v(u({groupSize:c,panelElement:d,styleProp:e.defaultSize})/c*100));let g=0;void 0!==e.minSize&&(g=v(u({groupSize:c,panelElement:d,styleProp:e.minSize})/c*100));let h=100;return void 0!==e.maxSize&&(h=v(u({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 y(a,b="Assertion error"){if(!a)throw Error(b)}function z(a,b){return Array.from(b).sort("horizontal"===a?A:B)}function A(a,b){let c=a.element.offsetLeft-b.element.offsetLeft;return 0!==c?c:a.element.offsetWidth-b.element.offsetWidth}function B(a,b){let c=a.element.offsetTop-b.element.offsetTop;return 0!==c?c:a.element.offsetHeight-b.element.offsetHeight}function C(a){return null!==a&&"object"==typeof a&&"nodeType"in a&&a.nodeType===Node.ELEMENT_NODE}function D(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 E(a){let{element:c,orientation:d,panels:e,separators:f}=a,g=z(d,Array.from(c.children).filter(C).map(a=>({element:a}))).map(({element:a})=>a),h=[],i=!1,j=!1,k=-1,l=-1,m=0,n,o=[];{let a=-1;for(let b of g)b.hasAttribute("data-panel")&&(a++,b.hasAttribute("data-disabled")||(m++,-1===k&&(k=a),l=a))}if(m>1){let c=-1;for(let m of g)if(m.hasAttribute("data-panel")){c++;let f=e.find(a=>a.element===m);if(f){if(n){let e,g=n.element.getBoundingClientRect(),p=m.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(o.length){case 0:e=[a,b];break;case 1:{let c=o[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}=D(d,c),h="horizontal"===a?b:g;h<f&&(f=h,e=c)}return y(e,"No rect found"),e}({orientation:d,rects:[g,p],targetRect:c.element.getBoundingClientRect()});e=[c,f===g?b:a];break}default:e=o}}else e=o.length?o:["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>l;i||j||h.push({group:a,groupSize:w({group:a}),panels:[n,f],separator:"width"in d?void 0:d,rect:e}),i=!1}}j=!1,n=f,o=[]}}else if(m.hasAttribute("data-separator")){null!==m.ariaDisabled&&(i=!0);let a=f.find(a=>a.element===m);a?o.push(a):(n=void 0,o=[])}else j=!0}return h}class F{#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 G=new Map,H=new F;function I(a,b){for(let[b]of G)if(b.id===a)return b}function J(a,b){for(let[b,c]of G)if(b.id===a)return c;if(b)throw Error(`Could not find data for Group with id ${a}`)}function K(a,b){return H.addListener("groupChange",c=>{c.group.id===a&&b(c)})}function L(a,b){let c=G.get(a);(G=new Map(G)).set(a,b),H.emit("groupChange",{group:a,prev:c,next:b})}let M=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function N(a){let b=a.length;for(;b--;){let c=a[b];if(y(c,"Missing node"),function(a){let b,c=getComputedStyle(a);return!!("fixed"===c.position||"auto"!==c.zIndex&&("static"!==c.position||"flex"===(b=getComputedStyle(Q(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||M.test(c.willChange)||"touch"===c.webkitOverflowScrolling)}(c))return c}return null}function O(a){return a&&Number(getComputedStyle(a).zIndex)||0}function P(a){let b=[];for(;a;)b.push(a),a=Q(a);return b}function Q(a){let{parentNode:b}=a;return null!==b&&"object"==typeof b&&"nodeType"in b&&b.nodeType===Node.DOCUMENT_FRAGMENT_NODE?b.host:b}function R(a,b){let c=[];return b.forEach((b,d)=>{if(d.disabled)return;let e=E(d),f=function(a,b,c){let d,e={x:1/0,y:1/0};for(let f of b){let b=D(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(!C(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:P(a),b:P(b)};for(;d.a.at(-1)===d.b.at(-1);)c=d.a.pop(),d.b.pop();y(c,"Stacking order can only be calculated for elements with a common ancestor");let e={a:O(N(d.a)),b:O(N(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 S(a,b,c=0){return Math.abs(v(a)-v(b))<=c}function T(a,b){return S(a,b)?0:a>b?1:-1}function U({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>T(d,i)&&(d=f&&0>T(d,(e+i)/2)?e:i),v(d=Math.min(h,d)))}function V({delta:a,initialLayout:b,panelConstraints:c,pivotIndices:d,prevLayout:e,trigger:f}){if(S(a,0))return b;let g="imperative-api"===f,h=Object.values(b),i=Object.values(e),j=[...h],[k,l]=d;y(null!=k,"Invalid first pivot index"),y(null!=l,"Invalid second pivot index");let m=0;if("keyboard"===f){{let b=a<0?l:k,d=c[b];y(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(y(null!=c,`Previous layout not found for panel index ${b}`),S(c,e)){let b=g-c;T(b,Math.abs(a))>0&&(a=a<0?0-b:b)}}}{let b=a<0?k:l,d=c[b];y(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(y(null!=c,`Previous layout not found for panel index ${b}`),S(c,g)){let b=c-e;T(b,Math.abs(a))>0&&(a=a<0?0-b:b)}}}}else{let b=a<0?l:k,d=c[b];y(d,`Panel constraints not found for index ${b}`);let e=h[b],{collapsible:f,collapsedSize:g,minSize:i}=d;if(f&&0>T(e,i))if(a>0){let b=i-g;0>T(e+a,i)&&(a=0>=T(a,b/2)?0:b)}else{let b=i-g;0>T(e-a,i)&&(a=T(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(y(null!=a,`Previous layout not found for panel index ${d}`),e+=U({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];y(null!=e,`Previous layout not found for panel index ${b}`);let f=e-d,i=U({overrideDisabledPanels:g,panelConstraints:c[b],prevSize:e,size:f});if(!S(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];y(null!=d,`Previous layout not found for panel index ${b}`);let e=d+m,f=U({overrideDisabledPanels:g,panelConstraints:c[b],prevSize:d,size:e});if(j[b]=f,!S(f,e)){let b=e-f,d=a<0?l:k;for(;d>=0&&d<c.length;){let e=j[d];y(null!=e,`Previous layout not found for panel index ${d}`);let f=e+b,h=U({overrideDisabledPanels:g,panelConstraints:c[d],prevSize:e,size:f});if(S(e,h)||(b-=h-e,j[d]=h),S(b,0))break;a>0?d--:d++}}}if(!S(Object.values(j).reduce((a,b)=>b+a,0),100,.1))return e;let n=Object.keys(e);return j.reduce((a,b,c)=>(a[n[c]]=b,a),{})}function W(a,b){if(Object.keys(a).length!==Object.keys(b).length)return!1;for(let c in a)if(void 0===b[c]||0!==T(a[c],b[c]))return!1;return!0}function X({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(!S(e,100)&&d.length>0)for(let a=0;a<b.length;a++){let b=d[a];y(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];y(null!=e,`No layout data found for index ${a}`);let g=d[a];y(null!=g,`No layout data found for index ${a}`);let h=U({overrideDisabledPanels:!0,panelConstraints:b[a],prevSize:e,size:g});g!=h&&(f+=g-h,d[a]=h)}if(!S(f,0))for(let a=0;a<b.length;a++){let c=d[a];y(null!=c,`No layout data found for index ${a}`);let e=c+f,g=U({overrideDisabledPanels:!0,panelConstraints:b[a],prevSize:c,size:e});if(c!==g&&(f-=g-c,d[a]=g,S(f,0)))break}let g=Object.keys(a);return d.reduce((a,b,c)=>(a[g[c]]=b,a),{})}function Y({groupId:a,panelId:b}){let c=()=>{for(let[b,{defaultLayoutDeferred:c,derivedPanelConstraints:d,layout:e,groupSize:f,separatorToPanels:g}]of G)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=X({layout:V({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});W(j,n)||L(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&&S(b,c)},resize:a=>{let{group:b}=c(),{element:d}=e(),f=w({group:b});g(v(u({groupSize:f,panelElement:d,styleProp:a})/f*100))}}}function Z(a){a.defaultPrevented||R(a,G).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=Y({groupId:b.group.id,panelId:c.id});e&&void 0!==d&&(e.resize(d),a.preventDefault())}}})}function $(a){for(let[b]of G)if(b.separators.some(b=>b.element===a))return b;throw Error("Could not find parent Group for separator element")}function _({groupId:a}){let b=()=>{for(let[b,c]of G)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=X({layout:a,panelConstraints:d});return c?g:(W(g,i)||L(e,{defaultLayoutDeferred:c,derivedPanelConstraints:d,groupSize:f,layout:i,separatorToPanels:h}),i)}}}function aa(a,b){let c=$(a),d=J(c.id,!0),e=c.separators.find(b=>b.element===a);y(e,"Matching separator not found");let f=d.separatorToPanels.get(e);y(f,"Matching panels not found");let g=f.map(a=>c.panels.indexOf(a)),h=_({groupId:c.id}).getLayout(),i=X({layout:V({delta:b,initialLayout:h,panelConstraints:d.derivedPanelConstraints,pivotIndices:g,prevLayout:h,trigger:"keyboard"}),panelConstraints:d.derivedPanelConstraints});W(h,i)||L(c,{defaultLayoutDeferred:d.defaultLayoutDeferred,derivedPanelConstraints:d.derivedPanelConstraints,groupSize:d.groupSize,layout:i,separatorToPanels:d.separatorToPanels})}function ab(a){if(a.defaultPrevented)return;let b=a.currentTarget,c=$(b);if(!c.disabled)switch(a.key){case"ArrowDown":a.preventDefault(),"vertical"===c.orientation&&aa(b,5);break;case"ArrowLeft":a.preventDefault(),"horizontal"===c.orientation&&aa(b,-5);break;case"ArrowRight":a.preventDefault(),"horizontal"===c.orientation&&aa(b,5);break;case"ArrowUp":a.preventDefault(),"vertical"===c.orientation&&aa(b,-5);break;case"End":a.preventDefault(),aa(b,100);break;case"Enter":{a.preventDefault();let c=$(b),{derivedPanelConstraints:d,layout:e,separatorToPanels:f}=J(c.id,!0),g=c.separators.find(a=>a.element===b);y(g,"Matching separator not found");let h=f.get(g);y(h,"Matching panels not found");let i=h[0],j=d.find(a=>a.panelId===i.id);if(y(j,"Panel metadata not found"),j.collapsible){let a=e[i.id];aa(b,(j.collapsedSize===a?c.mutableState.expandedPanelSizes[i.id]??j.minSize:j.collapsedSize)-a)}break}case"F6":{a.preventDefault();let c=$(b).separators.map(a=>a.element),d=Array.from(c).findIndex(b=>b===a.currentTarget);y(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(),aa(b,-100)}}let ac={cursorFlags:0,state:"inactive"},ad=new F;function ae(a){let b=ac;ac=a,ad.emit("change",{prev:b,next:a})}function af(a){if(a.defaultPrevented||"mouse"===a.pointerType&&a.button>0)return;let b=G,c=R(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)}),ae({cursorFlags:0,hitRegions:c,initialLayoutMap:d,pointerDownAtPoint:{x:a.clientX,y:a.clientY},state:"active"}),c.length&&a.preventDefault()}let ag=a=>a,ah=()=>{};function ai(){return void 0===c&&(c=!1),c}let aj=new WeakMap;function ak(a){if(null===a.defaultView||void 0===a.defaultView)return;let{prevStyle:b,styleSheet:c}=aj.get(a)??{};void 0===c&&(c=new a.defaultView.CSSStyleSheet,a.adoptedStyleSheets&&a.adoptedStyleSheets.push(c));let d=ac;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&&ai()){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 ai()?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)}aj.set(a,{prevStyle:b,styleSheet:c})}function al({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=V({delta:l,initialLayout:m,panelConstraints:p,pivotIndices:a.panels.map(a=>i.indexOf(a)),prevLayout:r,trigger:"mouse-or-touch"});if(W(b,r)){if(0!==l&&!j)switch(h){case"horizontal":k|=l<0?1:2;break;case"vertical":k|=l<0?4:8}}else L(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=ac,(j={...ac}).cursorFlags=h,ac=j,ad.emit("change",{prev:i,next:j}),ak(a)}function am(a){let b=G,c=ac;"active"===c.state&&al({document:a.currentTarget,event:a,hitRegions:c.hitRegions,initialLayoutMap:c.initialLayoutMap,mountedGroups:b,prevCursorFlags:c.cursorFlags})}function an(a){if(a.defaultPrevented)return;let b=ac,c=G;if("active"===b.state){if(0===a.buttons){ae({cursorFlags:0,state:"inactive"}),b.hitRegions.forEach(a=>{let b=J(a.group.id,!0);L(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)}al({document:a.currentTarget,event:a,hitRegions:b.hitRegions,initialLayoutMap:b.initialLayoutMap,mountedGroups:c,pointerDownAtPoint:b.pointerDownAtPoint,prevCursorFlags:b.cursorFlags})}else{let d=R(a,c);0===d.length?"inactive"!==b.state&&ae({cursorFlags:0,state:"inactive"}):ae({cursorFlags:0,hitRegions:d,state:"hover"}),ak(a.currentTarget)}}function ao(a){a.relatedTarget instanceof HTMLIFrameElement&&"hover"===ac.state&&ae({cursorFlags:0,state:"inactive"})}function ap(a){if(a.defaultPrevented||"mouse"===a.pointerType&&a.button>0)return;let b=ac;"active"===b.state&&(ae({cursorFlags:0,state:"inactive"}),b.hitRegions.length>0&&(ak(a.currentTarget),b.hitRegions.forEach(a=>{let b=J(a.group.id,!0);L(a.group,b)}),a.preventDefault()))}function aq(a){let b=0,c=0,d={};for(let e of a)if(void 0!==e.defaultSize){b++;let a=v(e.defaultSize);c+=a,d[e.panelId]=a}else d[e.panelId]=void 0;let e=a.length-b;if(0!==e){let b=v((100-c)/e);for(let c of a)void 0===c.defaultSize&&(d[c.panelId]=b)}return d}let ar=new Map;function as(a){let b=(0,e.useId)();return`${a??b}`}let at=e.useEffect;function au(a){let b=(0,e.useRef)(a);return at(()=>{b.current=a},[a]),(0,e.useCallback)((...a)=>b.current?.(...a),[b])}function av(...a){return au(b=>{a.forEach(a=>{if(a)switch(typeof a){case"function":a(b);break;case"object":a.current=b}})})}function aw(a){let b=(0,e.useRef)({...a});return at(()=>{for(let c in a)b.current[c]=a[c]},[a]),b.current}let ax=(0,e.createContext)(null);function ay({children:a,className:b,defaultLayout:c,disableCursor:f,disabled:g,elementRef:h,groupRef:i,id:j,onLayoutChange:k,onLayoutChanged:l,orientation:m="horizontal",resizeTargetMinimumSize:n={coarse:20,fine:10},style:o,...p}){let q,r=(0,e.useRef)({onLayoutChange:{},onLayoutChanged:{}}),s=au(a=>{W(r.current.onLayoutChange,a)||(r.current.onLayoutChange=a,k?.(a))}),t=au(a=>{W(r.current.onLayoutChanged,a)||(r.current.onLayoutChanged=a,l?.(a))}),u=as(j),A=(0,e.useRef)(null),[B,C]=function(){let[a,b]=(0,e.useState)({});return[a,(0,e.useCallback)(()=>b({}),[])]}(),D=(0,e.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:n,separators:[]}),F=av(A,h);q=(0,e.useRef)({getLayout:()=>({}),setLayout:ag}),(0,e.useImperativeHandle)(i,()=>q.current,[]),at(()=>{Object.assign(q.current,_({groupId:u}))});let H=au((a,b)=>{let d=ac,e=I(a),f=J(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]}}),M=aw({defaultLayout:c,disableCursor:f}),N=(0,e.useMemo)(()=>({get disableCursor(){return!!M.disableCursor},getPanelStyles:H,id:u,orientation:m,registerPanel:a=>{let b=D.current;return b.panels=z(m,[...b.panels,a]),C(),()=>{b.panels=b.panels.filter(b=>b!==a),C()}},registerSeparator:a=>{let b=D.current;return b.separators=z(m,[...b.separators,a]),C(),()=>{b.separators=b.separators.filter(b=>b!==a),C()}},updatePanelProps:(a,{disabled:b})=>{let c=D.current.panels.find(b=>b.id===a);c&&(c.panelConstraints.disabled=b);let d=I(u),e=J(u);d&&e&&L(d,{...e,derivedPanelConstraints:x(d)})},updateSeparatorProps:(a,{disabled:b,disableDoubleClick:c})=>{let d=D.current.separators.find(b=>b.id===a);d&&(d.disabled=b,d.disableDoubleClick=c)}}),[H,u,C,m,M]),O=(0,e.useRef)(null);return at(()=>{let a,b,c,d,e,f,h,i,j,k,l,n,o,p=A.current;if(null===p)return;let q=D.current;if(void 0!==M.defaultLayout&&Object.keys(M.defaultLayout).length===q.panels.length)for(let b of(a={},q.panels)){let c=M.defaultLayout[b.id];void 0!==c&&(a[b.id]=c)}let r={disabled:!!g,element:p,id:u,mutableState:{defaultLayout:a,disableCursor:!!M.disableCursor,expandedPanelSizes:D.current.lastExpandedPanelSizes,layouts:D.current.layouts},orientation:m,panels:q.panels,resizeTargetMinimumSize:q.resizeTargetMinimumSize,separators:q.separators};O.current=r;let z=(b=!0,y(r.element.ownerDocument.defaultView,"Cannot register an unmounted Group"),c=r.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===r.element){if(b){let a=w({group:r});if(0===a)return;let b=J(r.id);if(!b)return;let c=x(r),d=b.defaultLayoutDeferred?aq(c):b.layout,e=X({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=v(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,k={...d};if(h.forEach((a,b)=>{k[b]=a}),f>0)for(let a of i){let b=d[a]??0;k[a]=v(b/f*j)}else{let a=v(j/i.length);for(let b of i)k[b]=a}return k}({group:r,nextGroupSize:a,prevGroupSize:b.groupSize,prevLayout:d}),panelConstraints:c});if(!b.defaultLayoutDeferred&&W(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;L(r,{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=w({group:a}),f="horizontal"===a.orientation?d.element.offsetWidth:d.element.offsetHeight,g=d.mutableValues.prevSize,h={asPercentage:v(f/e*100),inPixels:f};d.mutableValues.prevSize=h,d.onResize(h,d.id,g)}(r,d,a)}})).observe(r.element),r.panels.forEach(a=>{y(!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=w({group:r}),i=x(r),j=r.panels.map(({id:a})=>a).join(","),(k=r.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}(r.panels,k)||(k=void 0)),l=X({layout:r.mutableState.layouts[j]??k??aq(i),panelConstraints:i}),n=r.element.ownerDocument,ar.set(n,(ar.get(n)??0)+1),o=new Map,E(r).forEach(a=>{a.separator&&o.set(a.separator,a.panels)}),L(r,{defaultLayoutDeferred:0===h,derivedPanelConstraints:i,groupSize:h,layout:l,separatorToPanels:o}),r.separators.forEach(a=>{y(!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",ab)}),1===ar.get(n)&&(n.addEventListener("dblclick",Z,!0),n.addEventListener("pointerdown",af,!0),n.addEventListener("pointerleave",am),n.addEventListener("pointermove",an),n.addEventListener("pointerout",ao),n.addEventListener("pointerup",ap,!0)),function(){b=!1,ar.set(n,Math.max(0,(ar.get(n)??0)-1)),(G=new Map(G)).delete(r),r.separators.forEach(a=>{a.element.removeEventListener("keydown",ab)}),ar.get(n)||(n.removeEventListener("dblclick",Z,!0),n.removeEventListener("pointerdown",af,!0),n.removeEventListener("pointerleave",am),n.removeEventListener("pointermove",an),n.removeEventListener("pointerout",ao),n.removeEventListener("pointerup",ap,!0)),f.disconnect()}),{defaultLayoutDeferred:B,derivedPanelConstraints:C,layout:F}=J(r.id,!0);!B&&C.length>0&&(s(F),t(F));let H=K(u,a=>{let{defaultLayoutDeferred:b,derivedPanelConstraints:c,layout:d}=a.next;if(b||0===c.length)return;let e=r.panels.map(({id:a})=>a).join(",");r.mutableState.layouts[e]=d,c.forEach(b=>{if(b.collapsible){let{layout:c}=a.prev??{};if(c){let a=S(b.collapsedSize,d[b.panelId]),e=S(b.collapsedSize,c[b.panelId]);a&&!e&&(r.mutableState.expandedPanelSizes[b.panelId]=c[b.panelId])}}});let f="active"!==ac.state;s(d),f&&t(d)});return()=>{O.current=null,z(),H()}},[g,u,t,s,m,B,M]),(0,e.useEffect)(()=>{let a=O.current;a&&(a.mutableState.defaultLayout=c,a.mutableState.disableCursor=!!f)}),(0,d.jsx)(ax.Provider,{value:N,children:(0,d.jsx)("div",{...p,className:b,"data-group":!0,"data-testid":u,id:u,ref:F,style:{height:"100%",width:"100%",overflow:"hidden",...o,display:"flex",flexDirection:"horizontal"===m?"row":"column",flexWrap:"nowrap",touchAction:"horizontal"===m?"pan-y":"pan-x"},children:a})})}function az(){let a=(0,e.useContext)(ax);return y(a,"Group Context not found; did you render a Panel or Separator outside of a Group?"),a}function aA({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=as(k),u=aw({disabled:h}),v=(0,e.useRef)(null),w=av(v,i),{getPanelStyles:x,id:y,orientation:z,registerPanel:A,updatePanelProps:B}=az(),C=null!==n,D=au((a,b,c)=>{n?.(a,k,c)});at(()=>{let a=v.current;if(null!==a)return A({element:a,id:t,idIsStable:s,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:C?D:void 0,panelConstraints:{groupResizeBehavior:j,collapsedSize:c,collapsible:f,defaultSize:g,disabled:u.disabled,maxSize:l,minSize:m}})},[j,c,f,g,C,t,s,l,m,D,A,u]),(0,e.useEffect)(()=>{B(t,{disabled:h})},[h,t,B]),function(a,b){let{id:c}=az(),d=(0,e.useRef)({collapse:ah,expand:ah,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:ah});(0,e.useImperativeHandle)(b,()=>d.current,[]),at(()=>{Object.assign(d.current,Y({groupId:c,panelId:a}))})}(t,o);let E=()=>{let a=x(y,t);if(a)return JSON.stringify(a)},F=(0,e.useSyncExternalStore)(a=>K(y,a),E,E);return r=F?JSON.parse(F):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:{...aB,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"===z?"pan-y":"pan-x"},children:a})})}ay.displayName="Group",aA.displayName="Panel";let aB={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function aC({children:a,className:b,disabled:c,disableDoubleClick:f,elementRef:g,id:h,style:i,...j}){let k,l,m=as(h),n=aw({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=av(u,g),{disableCursor:w,id:x,orientation:y,registerSeparator:z,updateSeparatorProps:A}=az();return at(()=>{let a=u.current;if(null!==a){var b;let c={disabled:n.disabled,disableDoubleClick:n.disableDoubleClick,element:a,id:m},d=z(c),e=(b=a=>{r("inactive"!==a.next.state&&a.next.hitRegions.some(a=>a.separator===c)?a.next.state:"inactive")},ad.addListener("change",b)),f=K(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=X({layout:V({delta:j-g,initialLayout:a,panelConstraints:b,pivotIndices:k,prevLayout:a}),panelConstraints:b})[c],e=X({layout:V({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,z,n]),(0,e.useEffect)(()=>{A(m,{disabled:c,disableDoubleClick:f})},[c,f,m,A]),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})}aC.displayName="Separator";var aD=a.i(93538),aE=a.i(15143),aE=aE,aF=a.i(343155),aG=a.i(799856),aH=a.i(514385),aI=a.i(693567),aJ=a.i(678240),aK=a.i(484682),aL=a.i(356474),aM=a.i(671015),aN=a.i(850120),aO=a.i(747868),aP=a.i(760644),aQ=a.i(576949),aR=a.i(291677),aS=a.i(505947),aT=a.i(795541),aU=a.i(166528),aV=a.i(340001),aW=a.i(378836),aX=a.i(838997),aY=a.i(619923),aZ=a.i(47691),a$=a.i(106816);let a_=()=>(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)(aV.Skeleton,{className:"h-3 w-40"}),(0,d.jsx)(aV.Skeleton,{className:"h-3 w-20"})]})})}),a0=({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,a$.default)(f,g),{branch:l,isLoading:m}=(0,aX.default)(b),{status:n}=(0,aY.default)(b,g),o=(0,aZ.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)(aW.MetaCompact,{title:a.title,totalCost:a.totalCost,branch:l,usedPercentage:a.usedPercentage,currentContextTokens:a.currentContextTokens,contextWindowSize:a.contextWindowSize}),(0,d.jsx)(aD.ChevronDown,{size:14,className:(0,aG.cn)("shrink-0 text-muted-foreground transition-transform duration-150",g&&"rotate-180")})]}),(0,d.jsx)("div",{className:(0,aG.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)(aW.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,outputTokens:a.outputTokens,totalCost:a.totalCost,currentContextTokens:a.currentContextTokens,contextWindowSize:a.contextWindowSize,usedPercentage:a.usedPercentage,model:a.model,branch:l,isBranchLoading:m,gitStatus:n,tmuxInfo:o})})})]})},a1=({tabId:a,sessionName:b,claudeSessionId:c,cwd:g,className:h,onClose:i,onNewSession:l,scrollToBottomRef:m,addPendingMessageRef:n,removePendingMessageRef:o})=>{let p=(0,f.useTranslations)("terminal"),[q,r]=(0,e.useState)(null),s=(0,aP.default)(b=>b.tabs[a]?.claudeProcess??null),t=(0,aP.default)(b=>b.tabs[a]?.claudeInstalled??!0),u=(0,aP.default)(b=>b.tabs[a]?.cliState??"inactive"),v=(0,aP.default)(b=>b.tabs[a]?.compactingSince??null),w=(0,aP.default)(b=>(0,aP.selectSessionView)(b.tabs,a)),x=(0,aP.default)(b=>b.tabs[a]?.sessionMetaCache??null),y=(0,e.useCallback)(()=>{r(null)},[]),z=(0,e.useCallback)(a=>{r(null),k.toast.warning(p("resumeBlocked"),{description:a.processName?p("resumeBlockedProcess",{name:a.processName}):void 0})},[p]),A=(0,e.useCallback)(()=>{r(null),k.toast.error(p("resumeFailed"))},[p]),{entries:B,tasks:C,sessionId:D,jsonlPath:E,sessionSummary:F,initMeta:G,sessionStats:H,claudeProcess:I,wsStatus:J,isLoading:K,error:L,loadMore:M,hasMore:N,retrySession:O,sendResume:P,addPendingUserMessage:Q,removePendingUserMessage:R}=(0,aM.default)({sessionName:b,claudeSessionId:c,enabled:!!b,resumeCallbacks:{onResumeStarted:y,onResumeBlocked:z,onResumeError:A},onSync:b=>{let c=Date.now();null!==b.claudeProcess&&aP.default.getState().setClaudeProcess(a,b.claudeProcess,c),b.claudeInstalled||aP.default.getState().setClaudeInstalled(a,!1),aP.default.getState().setTimelineLoading(a,b.isLoading)},getCliState:()=>aP.default.getState().tabs[a]?.cliState}),{sessions:S,hasMore:T,isLoading:U,isLoadingMore:V,error:W,refetch:X,loadMore:Y}=(0,aN.default)({tmuxSession:b,enabled:!!b&&!0!==s,cwd:g});(0,e.useEffect)(()=>(n&&(n.current=Q),o&&(o.current=R),()=>{n&&(n.current=void 0),o&&(o.current=void 0)}),[n,o,Q,R]);let Z=(0,e.useRef)(s);(0,e.useEffect)(()=>{let a=Z.current;Z.current=s,!0!==a&&!0===s&&!0!==I&&O()},[s,I,O]),(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 $=(0,aO.default)("check"===w,b),_=null===s||0===B.length&&K,aa=(0,aQ.useSessionMetaCompute)(B,F,G,H);(0,e.useEffect)(()=>{_||aP.default.getState().setSessionMetaCache(a,{meta:aa,sessionId:D,jsonlPath:E})},[_,aa,D,E,a]);let ab=(0,e.useCallback)(a=>{q||(r(a),P(a,b))},[q,P,b]);if(!t)return(0,d.jsxs)("div",{className:(0,aG.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("check"===w)return(0,d.jsxs)("div",{className:(0,aG.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",h),children:[(0,d.jsx)(j.default,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("span",{className:"mt-2 text-sm text-muted-foreground",children:c||D?p("resumingSession"):p("creatingConversation")}),$&&($.isBypassPrompt&&$.options.length>0?(0,d.jsx)(aT.default,{sessionName:b,options:$.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")}))]});if("session-list"===w)return null===s||U&&0===S.length?(0,d.jsx)("div",{className:(0,aG.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",h),children:(0,d.jsx)(j.default,{className:"h-4 w-4 text-muted-foreground"})}):0!==S.length||W?(0,d.jsx)("div",{className:(0,aG.cn)("h-full w-full",h),children:(0,d.jsx)(aR.default,{sessions:S,isLoading:U,isLoadingMore:V,hasMore:T,error:W,resumingSessionId:q,onSelectSession:ab,onRefresh:X,onLoadMore:Y,onNewSession:l})}):(0,d.jsx)("div",{className:(0,aG.cn)("h-full w-full",h),children:(0,d.jsx)(aS.default,{onClose:i,onNewSession:l})});let ac=_?x:{meta:aa,sessionId:D,jsonlPath:E};return(0,d.jsxs)("div",{className:(0,aG.cn)("flex min-h-0 w-full flex-1 flex-col",h),children:[ac?(0,d.jsx)(a0,{meta:ac.meta,sessionName:b,sessionId:ac.sessionId,jsonlPath:ac.jsonlPath}):(0,d.jsx)(a_,{}),(0,d.jsx)("div",{className:"min-h-0 flex-1",children:(0,d.jsx)(aU.default,{entries:B,tasks:C,sessionId:D,sessionName:b,tabId:a,initMeta:G,sessionStats:H,cliState:u,compactingSince:v,wsStatus:J,isLoading:K,error:L,onRetry:O,onLoadMore:M,hasMore:N,scrollToBottomRef:m})})]})};var a2=a.i(219379),a3=a.i(741798),a4=a.i(660558),a5=a.i(665315),a6=a.i(775495),a7=a.i(358137);let a8=({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)(a7.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)(l.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)(l.Button,{variant:"outline",size:"sm",onClick:e,children:g("restartNewTerminal")})]})]})};var a9=a.i(734637);let ba=({onSwitch:a,onDismiss:b})=>{let c=(0,f.useTranslations)("terminal"),e=(0,f.useTranslations)("common");return(0,d.jsxs)("div",{className:"absolute right-3 bottom-3 z-20 flex items-center gap-2 rounded-lg border border-border bg-card px-3 py-2 shadow-lg animate-[fadeIn_200ms_ease-out]",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:c("switchToClaudeMode")}),(0,d.jsx)(l.Button,{variant:"default",size:"sm",className:"h-6 px-2 text-[11px]",onClick:a,children:c("switchMode")}),(0,d.jsx)("button",{className:"flex h-5 w-5 items-center justify-center rounded text-muted-foreground hover:text-foreground",onClick:b,"aria-label":e("close"),children:(0,d.jsx)(a9.X,{className:"h-3.5 w-3.5"})})]})},bb=({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)(a9.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 bc=a.i(545375),bd=a.i(721043),be=a.i(165402);let bf=a=>a.replace(/[ \t\\'"(){}[\]!#$&;`|*?<>~^%]/g,"\\$&"),bg=(0,a.i(564375).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var bh=a.i(643228),bi=a.i(767810),bj=a.i(98456),bk=a.i(949348),bl=a.i(231473),bm=a.i(448557),bn=a.i(203725);let bo=({tab:a,isActive:b,isDragging:c,dropSide:g,displayTitle:h,currentProcess:i,onSwitch:j,onDelete:k,onRename:l,onFocusPane:m,onDragStart:n,onDragEnd:o,onDragOver:p,onDragLeave:q})=>{let r=(0,f.useTranslations)("terminal"),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(""),w=(0,e.useRef)(null);(0,e.useEffect)(()=>{s&&requestAnimationFrame(()=>w.current?.select())},[s]);let x=()=>{let b=u.trim();t(!1),b!==a.name&&l(b)},y=a.name||h||"";return(0,d.jsxs)("div",{"data-tab-id":a.id,role:"tab","aria-selected":b,tabIndex:b?0:-1,className:(0,aG.cn)("group relative flex min-w-[120px] max-w-[180px] cursor-pointer items-center gap-1.5 border-b-2 px-3 text-xs select-none",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:()=>{s||b||j(),m()},onDoubleClick:()=>{t(!0),v(a.name)},draggable:!s,onDragStart:n,onDragEnd:o,onDragOver:p,onDragLeave:q,children:["left"===g&&(0,d.jsx)("div",{className:"absolute top-1 bottom-1 left-0 w-0.5 bg-ui-blue"}),s?(0,d.jsx)("input",{ref:w,className:"w-full min-w-0 border-b border-accent-color bg-transparent text-xs text-foreground outline-none",value:u,onChange:a=>v(a.target.value),onKeyDown:a=>{"Enter"===a.key&&x(),"Escape"===a.key&&t(!1)},onBlur:x,onClick:a=>a.stopPropagation()}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bn.default,{tabId:a.id,panelType:a.panelType}),"claude-code"===a.panelType?(0,d.jsx)(bl.default,{className:"h-3.5 w-3.5"}):"web-browser"===a.panelType?(0,d.jsx)(bj.Globe,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):"diff"===a.panelType?(0,d.jsx)(bk.GitCompareArrows,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,d.jsx)(bm.default,{process:i??h,className:"h-3 w-3 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:(0,aG.cn)("truncate",y?"opacity-100":"opacity-0"),children:y})]}),(0,d.jsx)("button",{className:(0,aG.cn)("ml-auto -mr-1.5 flex h-7 w-7 shrink-0 items-center justify-center text-muted-foreground hover:text-foreground",b?"visible":"invisible group-hover:visible"),onClick:a=>{a.stopPropagation(),k()},"aria-label":r("closeTabLabel"),children:(0,d.jsx)(a9.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 bp=a.i(975022),bq=a.i(158799),br=a.i(96968),bs=a.i(345283);let bt=({paneId:a,isCreating:b,activePanelType:c,onCreateTab:g})=>{let h=(0,f.useTranslations)("terminal"),k=(0,bs.default)(),[l,n]=(0,e.useState)(!1),o=(0,br.default)(),p=(0,m.useLayoutStore)(a=>a.workspaceId),q=(0,e.useMemo)(()=>{let a=[{key:"claude-new",type:"claude-code",icon:(0,d.jsx)(bl.default,{className:"h-3.5 w-3.5"}),label:h("claudeNewConversation"),startClaude:!0},{key:"claude",type:"claude-code",icon:(0,d.jsx)(bl.default,{className:"h-3.5 w-3.5"}),label:h("claudeSessionList")},{key:"terminal",type:"terminal",icon:(0,d.jsx)(bp.Terminal,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:"Terminal"},{key:"diff",type:"diff",icon:(0,d.jsx)(bk.GitCompareArrows,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:"Diff"},{key:"web-browser",type:"web-browser",icon:(0,d.jsx)(bj.Globe,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:"Web Browser"}];return o?a.filter(a=>"web-browser"!==a.key):a},[o,h]),[r,s]=(0,e.useState)(0),t=(0,e.useRef)([]),u=(0,e.useCallback)(()=>{let a=(a=>{switch(a){case"terminal":return"terminal";case"web-browser":return"web-browser";default:return"claude-new"}})(c),b=q.findIndex(b=>b.key===a);s(b>=0?b:0),n(!0)},[c,q]);(0,e.useEffect)(()=>{let b=b=>{let c=b.detail;c?.paneId===a&&u()};return window.addEventListener("open-new-tab-menu",b),()=>window.removeEventListener("open-new-tab-menu",b)},[a,u]),(0,e.useEffect)(()=>{l&&t.current[r]?.focus()},[l,r]);let v=a=>{if(n(!1),"startClaude"in a&&a.startClaude){let b=aJ.default.getState().dangerouslySkipPermissions,c=["--settings ~/.purplemux/hooks.json",p?`--append-system-prompt-file ~/.purplemux/workspaces/${p}/claude-prompt.md`:""].filter(Boolean).join(" "),d=b?`claude ${c} --dangerously-skip-permissions`:`claude ${c}`;g(a.type,{command:d})}else g(a.type)};return(0,d.jsx)("div",{className:"flex items-center border-l border-r border-border px-0.5",children:(0,d.jsxs)(bq.Popover,{open:l,onOpenChange:a=>{a?u():n(!1)},children:[(0,d.jsxs)(bi.Tooltip,{children:[(0,d.jsx)(bi.TooltipTrigger,{render:(0,d.jsx)(bq.PopoverTrigger,{className:(0,aG.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":h("openNewTab")}),children:b?(0,d.jsx)(j.default,{className:"h-3 w-3"}):(0,d.jsx)(i.Plus,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bi.TooltipContent,{side:"bottom",children:h("newTabTooltip",{shortcut:`${k?"⌘":"Ctrl+"}T`})})]}),(0,d.jsx)(bq.PopoverContent,{side:"bottom",align:"start",className:"w-44 gap-0 p-0.5",onKeyDown:a=>{if("ArrowDown"===a.key)a.preventDefault(),s(a=>(a+1)%q.length);else if("ArrowUp"===a.key)a.preventDefault(),s(a=>(a-1+q.length)%q.length);else if("Enter"===a.key){a.preventDefault();let b=q[r];b&&v(b)}},children:q.map((a,b)=>(0,d.jsxs)("button",{ref:a=>{t.current[b]=a},className:(0,aG.cn)("flex w-full items-center gap-2 rounded-sm px-2.5 py-2 text-xs text-foreground hover:bg-accent focus:outline-none",r===b&&"bg-accent"),onMouseEnter:()=>s(b),onClick:()=>v(a),children:[a.icon,a.label]},a.key))})]})})},bu=({paneId:a,tabs:b,activeTabId:c,tabTitles:h,tabProcesses:i,isLoading:j,error:k,isCreating:m,paneCount:n,isSplitting:o,onSwitchTab:p,onCreateTab:q,onDeleteTab:r,onRenameTab: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)(l.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,aG.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,aG.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)(bg,{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(a=>(0,d.jsx)(bo,{tab:a,isActive:a.id===c,isDragging:a.id===C,dropSide:D?.id===a.id?D.side:null,displayTitle:h?.[a.id],currentProcess:i?.[a.id],onSwitch:()=>p(a.id),onDelete:()=>r(a.id),onRename:b=>{s(a.id,b)},onFocusPane:w,onDragStart:b=>J(b,a.id),onDragEnd:K,onDragOver:b=>F(b,a.id),onDragLeave:L},a.id))}),Q&&(0,d.jsx)("button",{className:(0,aG.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)(bh.ChevronRight,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bi.TooltipProvider,{children:(0,d.jsxs)("div",{className:"flex shrink-0 items-stretch",children:[(0,d.jsx)(bt,{paneId:a,isCreating:m,activePanelType:B.find(a=>a.id===c)?.panelType,onCreateTab:q}),n>=2&&(0,d.jsx)("div",{className:"flex items-center px-0.5",children:(0,d.jsxs)(bi.Tooltip,{children:[(0,d.jsx)(bi.TooltipTrigger,{className:(0,aG.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",o?"pointer-events-none opacity-30":"hover:text-foreground"),disabled:o,onClick:a=>{a.stopPropagation(),u()},"aria-label":y("closeAllTabs"),children:(0,d.jsx)(a9.X,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bi.TooltipContent,{side:"bottom",children:y("closeAllTabs")})]})})]})})]})};var bv=a.i(206456),bw=a.i(188289),bx=a.i(480824);let by={write:()=>{},reset:()=>{},fit:()=>({cols:80,rows:24}),focus:()=>{}},bz={sendStdin:()=>{},sendResize:()=>{}},bA={normal:{normal:12,claudeCode:10},large:{normal:14,claudeCode:12},"x-large":{normal:16,claudeCode:14}},bB=[],bC=(0,e.memo)(({paneId:a,paneNumber:b})=>{let c,g=(0,f.useTranslations)("terminal"),h=(0,m.useLayoutStore)(b=>b.layout?(0,n.findPane)(b.layout.root,a):null),o=h?.tabs??bB,p=h?.activeTabId??null,q=(0,m.useLayoutStore)(b=>b.layout?.activePaneId===a),t=(0,m.useLayoutStore)(a=>a.paneCount),u=(0,m.useLayoutStore)(a=>a.isSplitting),v=(0,m.useLayoutStore)(a=>a.switchTabInPane),w=(0,m.useLayoutStore)(a=>a.createTabInPane),x=(0,m.useLayoutStore)(a=>a.deleteTabInPane),y=(0,m.useLayoutStore)(a=>a.closePane),z=(0,m.useLayoutStore)(a=>a.focusPane),A=(0,m.useLayoutStore)(a=>a.moveTab),B=(0,m.useLayoutStore)(a=>a.renameTabInPane),C=(0,m.useLayoutStore)(a=>a.reorderTabsInPane),D=(0,m.useLayoutStore)(a=>a.updateTabPanelType),E=(0,m.useLayoutStore)(a=>a.updateTabTerminalLayout),F=o.find(a=>a.id===p),G=F?.panelType??"terminal",H="claude-code"===G,I="web-browser"===G,J="diff"===G,{theme:K}=(0,bx.default)(),L=(0,aJ.default)(a=>a.fontSize),M=(0,aJ.default)(a=>a.claudeShowTerminal),N=F?.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)(()=>o.map(a=>a.id),[o]),$=(0,r.default)((0,aK.useShallow)(a=>{let b={};for(let c of Z){let d=a.metadata[c]?.title;d&&(b[c]=d)}return b})),_=(0,aP.default)((0,aK.useShallow)(a=>{let b={};for(let c of Z){let d=a.tabs[c]?.currentProcess;d&&(b[c]=d)}return b})),aa=(0,r.default)(a=>p?a.metadata[p]?.cwd:void 0),ab=(0,m.useLayoutStore)(a=>a.workspaceId);(0,e.useEffect)(()=>{let a=requestAnimationFrame(()=>W(!0));return()=>{cancelAnimationFrame(a)}},[]);let ac=(0,e.useRef)(by),ad=(0,e.useRef)(bz),ae=(0,e.useRef)(null),af=(0,e.useRef)(null),ag=(0,e.useRef)(null),ah=(0,e.useRef)(o),ai=(0,e.useRef)(p),aj=(0,e.useRef)(t),ak=(0,e.useRef)(q);(0,e.useEffect)(()=>{ah.current=o,ai.current=p,aj.current=t,ak.current=q});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&&r.default.getState().setCwd(b.id,c),r.default.getState().setLastCommand(b.id,d??null)}catch{}},[]),am=(0,e.useRef)(()=>{}),an=(0,e.useRef)(void 0),ao=(0,e.useRef)(void 0),ap=(0,e.useRef)(null),aq=(0,e.useRef)(!1),ar=(0,e.useRef)(null),as=(0,e.useRef)(null),at=(0,e.useRef)(!1),au=(0,e.useRef)(void 0),av=(0,e.useRef)(void 0),aw=(0,e.useRef)(void 0),ax=(0,e.useRef)(void 0),az=(0,e.useRef)(null),aB=(0,e.useRef)(""),aM=(0,aP.default)(a=>p?a.tabs[p]?.cliState??"inactive":"inactive"),aN=(0,aP.default)(a=>p?a.tabs[p]?.claudeProcess??null:null),aO=(0,aP.default)(a=>p?a.tabs[p]?.claudeSessionId??null:null),aQ="timeline"===(0,aP.default)(a=>p?(0,aP.selectSessionView)(a.tabs,p):"session-list"),aR=(0,e.useCallback)(a=>{at.current||(ar.current?as.current=a:a())},[]),aS=(0,e.useCallback)(a=>{ar.current={x:a.clientX,y:a.clientY},as.current=null,at.current=!1},[]),aT=(0,e.useCallback)(a=>{let b=ar.current;ar.current=null;let c=!!b&&(a.clientX-b.x)**2+(a.clientY-b.y)**2>=25;c&&(at.current=!0,requestAnimationFrame(()=>{at.current=!1})),as.current&&!c&&as.current(),as.current=null},[]),{prompts:aU}=(0,bc.default)(),aV=(0,e.useRef)(new Set),[aW,aX]=(0,e.useState)(!1);(0,e.useEffect)(()=>{p&&H&&q&&(0,aP.isCliIdle)(aM)&&(0,s.dismissTab)(p)},[p,aM,H,q]),(0,e.useEffect)(()=>{p&&q&&(0,s.dismissTab)(p)},[p,q]);let aY=(0,e.useCallback)(()=>{au.current?.()},[]),aZ=(0,e.useCallback)(a=>{av.current?.(a)},[]),a$=(0,e.useCallback)((a,b)=>av.current?.(a,b)??"",[]),a_=(0,e.useCallback)(a=>{aw.current?.(a)},[]),a0=(0,e.useCallback)(a=>{a.dataTransfer.types.includes("Files")&&(a.preventDefault(),a.stopPropagation(),a.dataTransfer.dropEffect="copy")},[]),a7=(0,e.useCallback)(a=>{!a.dataTransfer.files||0===a.dataTransfer.files.length||ax.current&&(a.preventDefault(),a.stopPropagation(),ax.current(Array.from(a.dataTransfer.files)))},[]),a9=(0,e.useCallback)(a=>{ao.current?.(a),an.current?.()},[]),bg=(0,e.useCallback)(a=>(0,bw.isAppShortcut)(a)?(a.preventDefault(),(0,bw.isClearShortcut)(a)&&am.current(),(0,bw.isFocusInputShortcut)(a)&&an.current?.(),!1):!(0,bw.isShiftEnter)(a)||(a.preventDefault(),ad.current.sendStdin("\n"),!1),[]),{terminalRef:bh,write:bi,clear:bj,reset:bk,fit:bl,focus:bm,isReady:bn}=(0,aH.default)({theme:K.colors,fontSize:(bA[L]??bA.normal)[H?"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?.panelType==="web-browser"||a===aB.current)return;aB.current=a;let d=(0,bv.formatTabTitle)(a),e=(0,bv.parseCurrentCommand)(a);if(r.default.getState().setTitle(b,d),aP.default.getState().setCurrentProcess(b,e),(0,bv.isShellProcess)(a)&&az.current){let a=az.current;az.current=null,ad.current.sendStdin(`${a}\r`)}let f=ah.current.find(a=>a.id===b);if(f){let a=aP.default.getState().tabs[b]?.claudeProcessCheckedAt??0;fetch(`/api/check-claude?session=${f.sessionName}`).then(a=>a.json()).then(({running:c,checkedAt:d})=>{let e=aP.default.getState().tabs[b];if(e&&e.claudeProcessCheckedAt!==a){e.claudeProcess!==c&&setTimeout(()=>{fetch(`/api/check-claude?session=${f.sessionName}`).then(a=>a.json()).then(({running:a,checkedAt:c})=>{aP.default.getState().setClaudeProcess(b,a,c)}).catch(()=>{})},500);return}aP.default.getState().setClaudeProcess(b,c,d)}).catch(()=>{})}al()},customKeyEventHandler:bg});(0,e.useEffect)(()=>{am.current=bj}),(0,e.useEffect)(()=>{let a=a=>{(0,bw.isFocusInputShortcut)(a)&&q&&(a.preventDefault(),an.current?.())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[q]);let bo=(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 y(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&&v(a,g.id),ag.current=c;try{await x(a,c)}finally{ag.current=null}},[a,v,x,y]),{status:bp,retryCount:bq,disconnectReason:br,connect:bs,reconnect:bt,sendStdin:bC,sendWebStdin:bD,sendResize:bE}=(0,aI.default)({onData:a=>ac.current.write(a),onConnected:()=>{P(!0),af.current=ai.current;let a=ai.current;a&&aP.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:bo});(0,e.useEffect)(()=>{ac.current={write:bi,reset:bk,fit:bl,focus:bm},ad.current={sendStdin:bC,sendResize:bE}}),(0,e.useEffect)(()=>{bn||(ae.current=null)},[bn]),(0,e.useEffect)(()=>{if(!bn||!p)return;let a=o.find(a=>a.id===p);if(!a)return;if("web-browser"===a.panelType){aB.current="";return}if(ae.current===a.sessionName)return;null!==ae.current&&(R(!0),bk(),aB.current=""),aP.default.getState().initTab(p,{terminalConnected:!1,panelType:a.panelType}),ae.current=a.sessionName;let{cols:b,rows:c}=bl();bs(a.sessionName,b,c)},[bn,p]),(0,e.useEffect)(()=>{let a=ai.current;a&&aP.default.getState().setTerminalConnected(a,"connected"===bp)},[bp]),(0,e.useEffect)(()=>{"disconnected"===bp&&O&&af.current&&af.current!==p&&o.some(a=>a.id===af.current)&&(ae.current=null,v(a,af.current))},[bp]),(0,e.useEffect)(()=>{if(!bn||"connected"!==bp)return;let a=setTimeout(()=>{let{cols:a,rows:b}=bl();ad.current.sendResize(a,b)},150);return()=>clearTimeout(a)},[t]),(0,e.useEffect)(()=>{if(!bn||"connected"!==bp)return;let a=setTimeout(()=>{let{cols:a,rows:b}=bl();ad.current.sendResize(a,b)},300);return()=>clearTimeout(a)},[bp]),(0,e.useEffect)(()=>{if(q&&bn&&"connected"===bp){let{cols:a,rows:b}=bl();ad.current.sendResize(a,b);let c=aq.current;aq.current=!1,!c&&H&&aQ?aR(()=>an.current?.()):bm()}},[q]);let bF=(0,e.useCallback)(b=>{b!==p&&((0,s.dismissTab)(b),v(a,b))},[a,p,v]),bG=(0,e.useCallback)(async(b,c)=>{U(!0);let d=await w(a,b,c?.command);if(d){aP.default.getState().initTab(d.id,{panelType:b,workspaceId:ab??""}),c?.command&&aP.default.getState().setSessionView(d.id,"check");let a=ai.current,e=a?r.default.getState().metadata[a]?.title:null;e&&"web-browser"!==b&&r.default.getState().setTitle(d.id,e)}U(!1)},[a,w,ab]),bH=(0,e.useCallback)(async b=>{if(!ag.current){if(1===o.length&&t>1)return void y(a);ag.current=b;try{await x(a,b)}finally{ag.current=null}}},[a,o,t,x,y]),bI=(0,e.useCallback)(async(b,c)=>{await m.useLayoutStore.getState().restartTabInPane(a,b,c)&&bt()},[a,bt]),bJ=(0,e.useRef)(new Set);(0,e.useEffect)(()=>{"disconnected"!==bp||"session-not-found"!==br||!p||!F||"terminal"!==(F.panelType??"terminal")||F.lastCommand||bJ.current.has(p)||(bJ.current.add(p),bI(p))},[bp,br,p,F,bI]);let bK=(0,e.useCallback)((b,c)=>{B(a,b,c)},[a,B]),bL=(0,e.useCallback)(b=>{C(a,b)},[a,C]),bM=(0,e.useCallback)((b,c,d)=>{A(b,c,a,d)},[a,A]),bN=(0,e.useCallback)(()=>{z(a)},[a,z]),bO=(0,e.useCallback)(b=>{p&&(Y(!0),D(a,p,b))},[a,p,D]),bP=(0,e.useCallback)(a=>{ap.current=a,bO("claude-code")},[bO]);(0,e.useEffect)(()=>{if("claude-code"!==G||!ap.current)return;let a=ap.current;ap.current=null;let b=window.setTimeout(()=>{ao.current?.(a),an.current?.()},100);return()=>window.clearTimeout(b)},[G]);let bQ=(0,e.useCallback)(b=>{p&&ab&&fetch(`/api/layout/pane/${a}/tabs/${p}?workspace=${ab}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({webUrl:b})}).catch(()=>{})},[p,a,ab]);(0,e.useEffect)(()=>{p&&!0===aN&&"terminal"===G?aV.current.has(p)||(aV.current.add(p),aX(!0)):aX(!1)},[p,aN,G]);let{showPathInput:bR,droppedFileHint:bS,handleDragOver:bT,handleDrop:bU,handlePathInputSubmit:bV,handlePathInputDismiss:bW}=(({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")},[]),l=(0,e.useCallback)(c=>{0!==c.length&&(a(`\x1b[200~${c.join(" ")}\x1b[201~`),b())},[a,b]),m=(0,e.useCallback)(async a=>{let b=a.filter(be.isImageFile);if(0===b.length)return!1;try{let a=await Promise.all(b.map(a=>(0,be.uploadImage)(a,{wsId:c,tabId:d})));return l(a.map(a=>bf(a.path))),!0}catch(a){return k.toast.error(a instanceof Error?a.message:"Upload failed"),!0}},[c,d,l]),n=(0,e.useCallback)(a=>{a.preventDefault();let{files:b}=a.dataTransfer;if(0===b.length)return;let c=bd.default?window.electronAPI:null,d=[],e=Array.from(b);for(let a of e){let b=c?.getPathForFile(a);b&&d.push(bf(b))}d.length>0?l(d):e.some(be.isImageFile)?m(e):(i(e.map(a=>a.name).join(", ")),g(!0))},[l,m]);return{showPathInput:f,droppedFileHint:h,handleDragOver:j,handleDrop:n,handlePathInputSubmit:(0,e.useCallback)(c=>{if(g(!1),i(""),c.trim()){let d=bf(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:bm,wsId:ab??void 0,tabId:p??void 0}),bX=(0,e.useCallback)(a=>{let b=aJ.default.getState().dangerouslySkipPermissions,c=["--settings ~/.purplemux/hooks.json",ab?`--append-system-prompt-file ~/.purplemux/workspaces/${ab}/claude-prompt.md`:""].filter(Boolean).join(" "),d=a?`claude --resume ${a} ${c}`:`claude ${c}`;return b?`${d} --dangerously-skip-permissions`:d},[ab]),bY=(0,e.useCallback)(()=>{"connected"===bp&&p&&(aP.default.getState().setSessionView(p,"check"),bC(`${bX(null)}\r`))},[bp,bC,p,bX]),bZ=(0,e.useCallback)(()=>{"connected"===bp&&p&&(az.current=bX(null),aP.default.getState().setSessionView(p,"check"),bC("/exit\r"))},[bp,bC,p,bX]),b$=(0,e.useCallback)(async()=>{if(!p||(aX(!1),bO("claude-code"),"connected"!==bp))return;let a=aO;if(!a){let b=ah.current.find(a=>a.id===p);if(b)try{let c=await fetch(`/api/check-claude?session=${b.sessionName}`),d=await c.json();a="string"==typeof d.sessionId&&d.resumable?d.sessionId:null}catch{}}az.current=bX(a),aP.default.getState().setSessionView(p,"check"),bC("\x03"),setTimeout(()=>bC("\x03"),300)},[p,bp,bC,aO,bX,bO]);(0,e.useEffect)(()=>{if(!az.current||!0===aN||"connected"!==bp||!(0,bv.isShellProcess)(aB.current))return;let a=az.current;az.current=null,bC(`${a}\r`)},[aN,bp,bC]);let b_=(0,e.useRef)(null),[b0,b1]=(0,e.useState)(!1),b2=(0,e.useRef)(!1),b3=(0,e.useCallback)(()=>{if(!b_.current)return;Y(!0);let b=!b0,c=F?.terminalRatio??30;b1(b),b2.current=!0,b_.current.setLayout(b?{timeline:100,"terminal-area":0}:{timeline:100-c,"terminal-area":c}),H&&p&&E(a,p,{terminalCollapsed:b}),setTimeout(()=>{if(Y(!1),b2.current=!1,!bn||"connected"!==bp)return;let{cols:a,rows:b}=bl();ad.current.sendResize(a,b)},150)},[b0,bn,bp,bl,H,p,a,F?.terminalRatio,E]);(0,e.useEffect)(()=>{if(!b_.current)return;if(b2.current=!0,H){let a=F?.terminalRatio??30;b1(N),b_.current.setLayout(N?{timeline:100,"terminal-area":0}:{timeline:100-a,"terminal-area":a}),al()}else b_.current.setLayout({timeline:0,"terminal-area":100});let a=setTimeout(()=>{if(Y(!1),b2.current=!1,!bn||"connected"!==bp)return;let{cols:a,rows:b}=bl();ad.current.sendResize(a,b),q&&(H?aQ&&aR(()=>an.current?.()):bm())},150);return()=>clearTimeout(a)},[H,p]),(0,e.useEffect)(()=>{q&&H&&aQ&&aR(()=>an.current?.())},[aQ]);let b4=0===o.length,b5=bn&&("connected"===bp||O)&&!b4&&!Q,b6=!b4&&(!bn||!O);return(0,d.jsxs)("div",{className:(0,aG.cn)("flex h-full flex-col overflow-hidden",t>1&&"border",t>1&&q?"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":q?"true":void 0,onClick:bN,onPointerDown:aS,onPointerUp:aT,children:[(0,d.jsx)(bu,{paneId:a,tabs:o,activeTabId:p,tabTitles:$,tabProcesses:_,isLoading:!1,error:null,isCreating:T,paneCount:t,isSplitting:u,onSwitchTab:bF,onCreateTab:bG,onDeleteTab:bH,onRenameTab:bK,onReorderTabs:bL,onClosePane:()=>y(a),onMoveTab:bM,onFocusPane:bN,onRetry:()=>{}}),(0,d.jsxs)("div",{role:"tabpanel",className:"relative min-h-0 flex-1 flex flex-col",style:I||J?void 0:{backgroundColor:K.colors.background},onDragOver:I||J?void 0:bT,onDrop:I||J?void 0:bU,children:[I&&p&&(0,d.jsx)(a5.default,{tabId:p,initialUrl:F?.webUrl,onUrlChange:bQ},p),J&&F&&(0,d.jsx)(a6.default,{sessionName:F.sessionName,onSendToClaude:bP},F.sessionName),(0,d.jsxs)(ay,{groupRef:b_,orientation:"vertical",defaultLayout:H?(c=F?.terminalRatio??30,N?{timeline:100,"terminal-area":0}:{timeline:100-c,"terminal-area":c}):{timeline:0,"terminal-area":100},onLayoutChanged:b=>{if(b2.current||!H||!p)return;let c=b["terminal-area"];if(void 0===c)return;let d=c<=0,e={};if(d!==N&&(e.terminalCollapsed=d,b1(d)),!d){let a=Math.round(c);a!==(F?.terminalRatio??30)&&(e.terminalRatio=a)}(void 0!==e.terminalRatio||void 0!==e.terminalCollapsed)&&E(a,p,e)},className:(0,aG.cn)("min-h-0 flex-1",(I||J)&&"invisible absolute inset-0 pointer-events-none",X&&"[&>[data-panel]]:[transition:flex-grow_150ms_ease-out]"),children:[(0,d.jsx)(aA,{id:"timeline",minSize:0,collapsible:!0,collapsedSize:0,disabled:!H,children:(0,d.jsxs)("div",{className:(0,aG.cn)("flex h-full flex-col bg-card",b0&&"pb-3"),onDragOver:H?a0:void 0,onDrop:H?a7:void 0,children:[H&&F&&!b6&&p&&(0,d.jsx)(a1,{tabId:p,sessionName:F.sessionName,claudeSessionId:F.claudeSessionId,cwd:aa||F.cwd,onClose:()=>bO("terminal"),onNewSession:bY,scrollToBottomRef:au,addPendingMessageRef:av,removePendingMessageRef:aw},F.sessionName),H&&!b6&&aQ&&(0,d.jsx)(a2.default,{tabId:p??void 0,wsId:ab??void 0,sessionName:F?.sessionName,claudeSessionId:F?.claudeSessionId,cliState:aM,sendStdin:bD,terminalWsConnected:"connected"===bp,visible:!0,focusTerminal:bm,focusInputRef:an,setInputValueRef:ao,onRestartSession:bZ,onSend:aY,onOptimisticSend:aZ,onAddPendingMessage:a$,onRemovePendingMessage:a_,attachFilesRef:ax},p),H&&!b6&&aQ&&p&&(0,d.jsx)(a3.default,{prompts:aU,visible:!0,onSelect:a9})]})}),(0,d.jsx)(aC,{className:(0,aG.cn)("group flex items-center justify-center overflow-hidden bg-card",H&&!b0?"h-3":"h-0"),disabled:!H||b0,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"})}),H&&(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:b3,children:[(0,d.jsx)(aF.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:b0?(0,d.jsx)(aE.default,{className:"h-3 w-3"}):(0,d.jsx)(aD.ChevronDown,{className:"h-3 w-3"})})]}),(0,d.jsx)(aA,{id:"terminal-area",minSize:0,collapsible:!0,collapsedSize:0,children:(0,d.jsx)("div",{className:"flex h-full flex-col",onMouseDown:()=>{aq.current=!0},children:(0,d.jsx)(aL.default,{ref:bh,minHeight:H?256:void 0,className:(0,aG.cn)("min-h-0 flex-1",b5?"opacity-100":"opacity-0",H&&"py-0 pl-2 pr-0.5")})})})]}),b4&&(0,d.jsx)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:(0,d.jsxs)(l.Button,{className:"gap-1.5",onClick:()=>bG(),disabled:T,children:[T?(0,d.jsx)(j.default,{className:"h-3 w-3"}):(0,d.jsx)(i.Plus,{className:"h-3.5 w-3.5"}),g("openNewTab")]})}),!b4&&"terminal"===G&&"disconnected"===bp&&"session-not-found"===br&&p&&(0,d.jsx)(a8,{cwd:F?.cwd,lastCommand:F?.lastCommand,onRestartWithCommand:a=>bI(p,a),onRestartNew:()=>bI(p)}),aW&&(0,d.jsx)(ba,{onSwitch:b$,onDismiss:()=>aX(!1)}),bR&&(0,d.jsx)(bb,{hint:bS,onSubmit:bV,onDismiss:bW}),!b4&&!I&&!J&&(0,d.jsx)(a4.default,{status:bp,retryCount:bq,disconnectReason:br,onReconnect:bt})]})]})});bC.displayName="PaneContainer";let bD=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,n.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,n.collectPanes)(b),o=new Map;m.forEach((a,b)=>{o.set(a.id,b+1)});let p=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},q=(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,n.getFirstPaneId)(a.children[0]),g=(0,n.getFirstPaneId)(a.children[1]),h="horizontal"===a.orientation,i=b.join("-")||"root";return(0,d.jsxs)(ay,{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)(aA,{id:"left",minSize:h?200:120,defaultSize:`${a.ratio}%`,children:q(a.children[0],[...b,0])}),(0,d.jsx)(aC,{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)(aA,{id:"right",minSize:h?200:120,defaultSize:`${100-a.ratio}%`,children:q(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=p(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:[q(b,[]),m.map(a=>(0,t.createPortal)((0,d.jsx)(bC,{paneId:a.id,paneNumber:o.get(a.id)??1}),p(a.id)))]})};var bE=a.i(75747),bF=a.i(604544),bG=a.i(708711);let bH=()=>{let a=((a=3e3)=>{let[b,c]=(0,e.useState)(null);return(0,e.useEffect)(()=>{let b=bd.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,aJ.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 bI=a.i(365092),bJ=a.i(895159);let bK=({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"})]}),bL=({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"})]}),bM=({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"})]}),bN=({activePaneId:a,root:b,paneCount:c,canSplit:g,isSplitting:h,onSplitPane:i,onEqualizeRatios:l,onUpdateTabPanelType:m})=>{let o=(0,f.useTranslations)("terminal"),p=(0,bs.default)()?"⌘":"Ctrl+",q=(0,bF.default)(),[s,t]=(0,e.useState)(!1),u=(0,n.collectPanes)(b),v=u.find(b=>b.id===a)??u[0],w=v?.tabs.find(a=>a.id===v.activeTabId),x=w?.panelType??"terminal",y=(0,r.default)(a=>w?.id?a.metadata[w.id]?.cwd:void 0),z=(0,aJ.default)(a=>a.editorUrl),A=(0,aJ.default)(a=>a.editorPreset),B=(0,e.useMemo)(()=>(0,bI.buildEditorUrl)(A,z,y||"/"),[A,z,y]),C=!!B&&(0,bI.isSafeEditorTarget)(B),D=!!B&&(0,bI.isWebEditorUrl)(B),E=C&&!D&&!0,F=E?o("editorRemoteNotSupported"):o("openEditor"),G=v?.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",...bd.default?{style:{WebkitAppRegion:"drag"}}:{},children:[(0,d.jsx)("div",{className:"mr-auto",...bd.default?{style:{WebkitAppRegion:"no-drag"}}:{},children:(0,d.jsx)(bH,{})}),(0,d.jsx)(bi.TooltipProvider,{children:(0,d.jsxs)("div",{className:"flex items-center gap-1",...bd.default?{style:{WebkitAppRegion:"no-drag"}}:{},children:[(0,d.jsx)("div",{className:(0,aG.cn)("flex items-center gap-px border-r border-border pr-2",s&&"pointer-events-none opacity-80"),children:[{value:"terminal",label:"TERMINAL",mac:"⌘⇧T",other:"^⇧T"},{value:"claude-code",label:"CLAUDE",mac:"⌘⇧C",other:"^⇧C"},{value:"diff",label:"DIFF",mac:"⌘⇧F",other:"^⇧F"}].map(a=>(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("button",{className:(0,aG.cn)("rounded px-1.5 py-0.5 text-[10px] font-medium tracking-wide transition-colors",x===a.value?"bg-accent text-foreground":"text-muted-foreground/60 hover:text-muted-foreground"),onClick:()=>{var b;return b=a.value,void(s||!v||!w||b!==x&&(t(!0),m(v.id,w.id,b),setTimeout(()=>t(!1),150)))},children:a.label}),x!==a.value&&(0,d.jsx)(bG.default,{mac:a.mac,other:a.other,className:(0,aG.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",q?"opacity-100":"opacity-0")})]},a.value))}),"off"!==A&&(0,d.jsxs)(bi.Tooltip,{children:[(0,d.jsx)(bi.TooltipTrigger,{className:(0,aG.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",E?"cursor-not-allowed opacity-30":"hover:text-foreground"),"aria-disabled":E||void 0,onClick:()=>{if(E)return;if(!B)return void k.toast.info(o("editorUrlNotSet"));if(!C)return void k.toast.error(o("editorUrlNotSet"));if(D)return void window.open(B,"_blank","noopener,noreferrer");let a=window.electronAPI;if(a?.openExternal)return void a.openExternal(B);let b=document.createElement("iframe");b.style.display="none",b.src=B,document.body.appendChild(b),setTimeout(()=>b.remove(),1e3)},"aria-label":o("openEditor"),children:B?(0,d.jsx)(bJ.EditorIcon,{preset:A,className:"h-3.5 w-3.5"}):(0,d.jsx)(bE.FolderCode,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bi.TooltipContent,{side:"bottom",children:F})]}),"off"!==A&&(0,d.jsx)("div",{className:"h-5 w-px bg-border"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bi.Tooltip,{children:[(0,d.jsx)(bi.TooltipTrigger,{className:(0,aG.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",g?"hover:text-foreground":"cursor-not-allowed opacity-30"),onClick:g&&G?()=>i(G,"horizontal"):void 0,disabled:!g,"aria-label":o("splitVertical"),children:h?(0,d.jsx)(j.default,{className:"h-3 w-3"}):(0,d.jsx)(bL,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bi.TooltipContent,{side:"bottom",children:o("splitVerticalShortcut",{shortcut:`${p}D`})})]}),(0,d.jsx)(bG.default,{mac:"⌘D",other:"^D",className:(0,aG.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",q?"opacity-100":"opacity-0")})]}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bi.Tooltip,{children:[(0,d.jsx)(bi.TooltipTrigger,{className:(0,aG.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",g?"hover:text-foreground":"cursor-not-allowed opacity-30"),onClick:g&&G?()=>i(G,"vertical"):void 0,disabled:!g,"aria-label":o("splitHorizontal"),children:h?(0,d.jsx)(j.default,{className:"h-3 w-3"}):(0,d.jsx)(bM,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bi.TooltipContent,{side:"bottom",children:o("splitHorizontalShortcut",{shortcut:`${p}⇧D`})})]}),(0,d.jsx)(bG.default,{mac:"⌘⇧D",other:"^⇧D",className:(0,aG.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",q?"opacity-100":"opacity-0")})]}),c>=2&&(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bi.Tooltip,{children:[(0,d.jsx)(bi.TooltipTrigger,{className:"flex h-7 w-7 items-center justify-center text-muted-foreground hover:text-foreground",onClick:l,"aria-label":o("equalSplit"),children:(0,d.jsx)(bK,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bi.TooltipContent,{side:"bottom",children:o("equalSplit")})]}),(0,d.jsx)(bG.default,{mac:"⌘⌥=",other:"^⌥=",className:(0,aG.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",q?"opacity-100":"opacity-0")})]})]})})]})})};var bO=a.i(501130),bP=a.i(493621);a.s(["default",0,()=>{let a=(0,f.useTranslations)("terminal"),b=(0,o.default)(a=>a.isLoading),c=(0,o.default)(a=>a.error),t=(0,o.default)(a=>a.activeWorkspaceId),u=(0,o.default)(a=>a.workspaces.length),v=(0,e.useRef)(null),w=(0,e.useRef)(null),x=(0,e.useCallback)(()=>{let b=v.current;b&&(o.default.getState().switchWorkspace(b),k.toast.error(a("cannotSwitch")))},[a]),y=(0,m.default)({workspaceId:t,onFetchError:x}),z=!!(y.layout&&!y.isLoading&&(0,n.collectPanes)(y.layout.root).every(a=>0===a.tabs.length)),A=y.layout?.updatedAt,B=(0,e.useRef)(null);(0,e.useEffect)(()=>{if(!y.layout||!A||B.current===A)return;B.current=A;let a={};for(let b of(0,n.collectPanes)(y.layout.root))for(let c of b.tabs)(c.title||c.cwd)&&(a[c.id]={title:c.title,cwd:c.cwd});r.default.getState().hydrate(a),(0,s.requestSync)()},[A]),(0,e.useEffect)(()=>{if(!y.layout)return;let a=new Set((0,n.collectPanes)(y.layout.root).flatMap(a=>a.tabs.map(a=>a.id)));r.default.getState().retainOnly(a)},[y.layout]),(0,bP.useAutoDeleteEmptyWorkspace)(z,y.clearLayout);let C=(0,e.useCallback)(a=>{let{activeWorkspaceId:b}=o.default.getState();a!==b&&(v.current=b,r.default.getState().reset(),y.clearLayout(),o.default.getState().switchWorkspace(a))},[y]);if((0,e.useEffect)(()=>(bO.default.getState().register(C),()=>bO.default.getState().unregister()),[C]),(({layout:a})=>{let b=(0,e.useRef)(a),c=(0,o.default)(a=>a.isSettingsDialogOpen),d=(0,o.default)(a=>a.isCheatSheetOpen),f=!c&&!d;(0,e.useEffect)(()=>{b.current=a},[a]),(0,p.default)("pane.split_right",()=>{let a=b.current;a.layout?.activePaneId&&a.canSplit&&a.splitPane(a.layout.activePaneId,"horizontal")},f),(0,p.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,n.findAdjacentPaneInDirection)(c.layout.root,c.layout.activePaneId,a);d&&c.focusPane(d)},[]);(0,p.default)("pane.focus_left",()=>g("left"),f),(0,p.default)("pane.focus_right",()=>g("right"),f),(0,p.default)("pane.focus_up",()=>g("up"),f),(0,p.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,n.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&&m.useLayoutStore.getState().updateRatio(d.path,f)},[]);(0,p.default)("pane.resize_left",()=>h("left"),f),(0,p.default)("pane.resize_right",()=>h("right"),f),(0,p.default)("pane.resize_up",()=>h("up"),f),(0,p.default)("pane.resize_down",()=>h("down"),f),(0,p.default)("pane.equalize",()=>m.useLayoutStore.getState().equalizeRatios(),f),(0,p.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,p.default)("tab.close",()=>{let a=b.current;if(!a.layout?.activePaneId)return;let c=q(a.layout);c?.activeTabId&&(1===c.tabs.length&&a.paneCount>1?a.closePane(c.id):a.deleteTabInPane(c.id,c.activeTabId))},f),(0,p.default)("tab.prev",()=>m.useLayoutStore.getState().focusPrevTab(),f),(0,p.default)("tab.next",()=>m.useLayoutStore.getState().focusNextTab(),f),(0,p.default)("pane.clear_screen",()=>{},f),(0,p.default)("tab.goto",a=>{let b=parseInt(a.code.replace("Digit",""),10);isNaN(b)||b<1||b>9||m.useLayoutStore.getState().focusTabByIndex(9===b?1/0:b-1)},f);let i=(0,e.useCallback)(a=>{let c=q(b.current.layout);if(!c?.activeTabId)return;let d=c.tabs.find(a=>a.id===c.activeTabId);d&&(d.panelType??"terminal")!==a&&m.useLayoutStore.getState().updateTabPanelType(c.id,c.activeTabId,a)},[]);(0,p.default)("view.mode_terminal",()=>i("terminal"),f),(0,p.default)("view.mode_claude",()=>i("claude-code"),f),(0,p.default)("view.mode_diff",()=>i("diff"),f)})({layout:y}),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)(j.default,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:a("connecting")})]})})]});if(c&&!u)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)(l.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:o.default.getState().fetchWorkspaces,children:[(0,d.jsx)(h.RefreshCw,{className:"h-3.5 w-3.5"}),a("retryAction")]})]});let D=!y.layout&&y.isLoading&&t;return(0,d.jsxs)("div",{className:"relative flex h-full w-full flex-col overflow-hidden bg-background",children:[y.layout&&!y.isLoading&&!z&&(0,d.jsx)(bN,{activePaneId:y.layout.activePaneId,root:y.layout.root,paneCount:y.paneCount,canSplit:y.canSplit,isSplitting:y.isSplitting,onSplitPane:y.splitPane,onEqualizeRatios:()=>w.current?.(),onUpdateTabPanelType:y.updateTabPanelType}),(0,d.jsxs)("div",{className:"relative min-h-0 flex-1",children:[D&&(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)(j.default,{className:"h-4 w-4 text-muted-foreground"})}),y.error&&!y.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:y.error}),(0,d.jsxs)(l.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>y.fetchLayout(),children:[(0,d.jsx)(h.RefreshCw,{className:"h-3.5 w-3.5"}),a("retryAction")]})]}),y.layout&&!y.isLoading&&!z&&(0,d.jsx)("div",{className:"h-full",children:(0,d.jsx)(bD,{root:y.layout.root,onUpdateRatio:y.updateRatio,onEqualizeRatios:y.equalizeRatios,equalizeRef:w})},t),!t&&!b&&!c&&(0,d.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,d.jsxs)(l.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:async()=>{let a=await o.default.getState().createWorkspace("");a&&o.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),j=a.i(581228),k=a.i(510414),l=a.i(396465),m=a.i(626605),n=a.i(144784),o=a.i(912251),p=a.i(380132);let q=a=>a?.activePaneId?(0,n.collectPanes)(a.root).find(b=>b.id===a.activePaneId)??null:null;var r=a.i(199462),s=a.i(266254),t=a.i(456195);function u({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 v(a){return parseFloat(a.toFixed(3))}function w({group:a}){let{orientation:b,panels:c}=a;return c.reduce((a,c)=>a+="horizontal"===b?c.element.offsetWidth:c.element.offsetHeight,0)}function x(a){let{panels:b}=a,c=w({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=v(u({groupSize:c,panelElement:d,styleProp:e.collapsedSize})/c*100)),void 0!==e.defaultSize&&(b=v(u({groupSize:c,panelElement:d,styleProp:e.defaultSize})/c*100));let g=0;void 0!==e.minSize&&(g=v(u({groupSize:c,panelElement:d,styleProp:e.minSize})/c*100));let h=100;return void 0!==e.maxSize&&(h=v(u({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 y(a,b="Assertion error"){if(!a)throw Error(b)}function z(a,b){return Array.from(b).sort("horizontal"===a?A:B)}function A(a,b){let c=a.element.offsetLeft-b.element.offsetLeft;return 0!==c?c:a.element.offsetWidth-b.element.offsetWidth}function B(a,b){let c=a.element.offsetTop-b.element.offsetTop;return 0!==c?c:a.element.offsetHeight-b.element.offsetHeight}function C(a){return null!==a&&"object"==typeof a&&"nodeType"in a&&a.nodeType===Node.ELEMENT_NODE}function D(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 E(a){let{element:c,orientation:d,panels:e,separators:f}=a,g=z(d,Array.from(c.children).filter(C).map(a=>({element:a}))).map(({element:a})=>a),h=[],i=!1,j=!1,k=-1,l=-1,m=0,n,o=[];{let a=-1;for(let b of g)b.hasAttribute("data-panel")&&(a++,b.hasAttribute("data-disabled")||(m++,-1===k&&(k=a),l=a))}if(m>1){let c=-1;for(let m of g)if(m.hasAttribute("data-panel")){c++;let f=e.find(a=>a.element===m);if(f){if(n){let e,g=n.element.getBoundingClientRect(),p=m.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(o.length){case 0:e=[a,b];break;case 1:{let c=o[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}=D(d,c),h="horizontal"===a?b:g;h<f&&(f=h,e=c)}return y(e,"No rect found"),e}({orientation:d,rects:[g,p],targetRect:c.element.getBoundingClientRect()});e=[c,f===g?b:a];break}default:e=o}}else e=o.length?o:["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>l;i||j||h.push({group:a,groupSize:w({group:a}),panels:[n,f],separator:"width"in d?void 0:d,rect:e}),i=!1}}j=!1,n=f,o=[]}}else if(m.hasAttribute("data-separator")){null!==m.ariaDisabled&&(i=!0);let a=f.find(a=>a.element===m);a?o.push(a):(n=void 0,o=[])}else j=!0}return h}class F{#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 G=new Map,H=new F;function I(a,b){for(let[b]of G)if(b.id===a)return b}function J(a,b){for(let[b,c]of G)if(b.id===a)return c;if(b)throw Error(`Could not find data for Group with id ${a}`)}function K(a,b){return H.addListener("groupChange",c=>{c.group.id===a&&b(c)})}function L(a,b){let c=G.get(a);(G=new Map(G)).set(a,b),H.emit("groupChange",{group:a,prev:c,next:b})}let M=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function N(a){let b=a.length;for(;b--;){let c=a[b];if(y(c,"Missing node"),function(a){let b,c=getComputedStyle(a);return!!("fixed"===c.position||"auto"!==c.zIndex&&("static"!==c.position||"flex"===(b=getComputedStyle(Q(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||M.test(c.willChange)||"touch"===c.webkitOverflowScrolling)}(c))return c}return null}function O(a){return a&&Number(getComputedStyle(a).zIndex)||0}function P(a){let b=[];for(;a;)b.push(a),a=Q(a);return b}function Q(a){let{parentNode:b}=a;return null!==b&&"object"==typeof b&&"nodeType"in b&&b.nodeType===Node.DOCUMENT_FRAGMENT_NODE?b.host:b}function R(a,b){let c=[];return b.forEach((b,d)=>{if(d.disabled)return;let e=E(d),f=function(a,b,c){let d,e={x:1/0,y:1/0};for(let f of b){let b=D(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(!C(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:P(a),b:P(b)};for(;d.a.at(-1)===d.b.at(-1);)c=d.a.pop(),d.b.pop();y(c,"Stacking order can only be calculated for elements with a common ancestor");let e={a:O(N(d.a)),b:O(N(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 S(a,b,c=0){return Math.abs(v(a)-v(b))<=c}function T(a,b){return S(a,b)?0:a>b?1:-1}function U({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>T(d,i)&&(d=f&&0>T(d,(e+i)/2)?e:i),v(d=Math.min(h,d)))}function V({delta:a,initialLayout:b,panelConstraints:c,pivotIndices:d,prevLayout:e,trigger:f}){if(S(a,0))return b;let g="imperative-api"===f,h=Object.values(b),i=Object.values(e),j=[...h],[k,l]=d;y(null!=k,"Invalid first pivot index"),y(null!=l,"Invalid second pivot index");let m=0;if("keyboard"===f){{let b=a<0?l:k,d=c[b];y(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(y(null!=c,`Previous layout not found for panel index ${b}`),S(c,e)){let b=g-c;T(b,Math.abs(a))>0&&(a=a<0?0-b:b)}}}{let b=a<0?k:l,d=c[b];y(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(y(null!=c,`Previous layout not found for panel index ${b}`),S(c,g)){let b=c-e;T(b,Math.abs(a))>0&&(a=a<0?0-b:b)}}}}else{let b=a<0?l:k,d=c[b];y(d,`Panel constraints not found for index ${b}`);let e=h[b],{collapsible:f,collapsedSize:g,minSize:i}=d;if(f&&0>T(e,i))if(a>0){let b=i-g;0>T(e+a,i)&&(a=0>=T(a,b/2)?0:b)}else{let b=i-g;0>T(e-a,i)&&(a=T(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(y(null!=a,`Previous layout not found for panel index ${d}`),e+=U({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];y(null!=e,`Previous layout not found for panel index ${b}`);let f=e-d,i=U({overrideDisabledPanels:g,panelConstraints:c[b],prevSize:e,size:f});if(!S(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];y(null!=d,`Previous layout not found for panel index ${b}`);let e=d+m,f=U({overrideDisabledPanels:g,panelConstraints:c[b],prevSize:d,size:e});if(j[b]=f,!S(f,e)){let b=e-f,d=a<0?l:k;for(;d>=0&&d<c.length;){let e=j[d];y(null!=e,`Previous layout not found for panel index ${d}`);let f=e+b,h=U({overrideDisabledPanels:g,panelConstraints:c[d],prevSize:e,size:f});if(S(e,h)||(b-=h-e,j[d]=h),S(b,0))break;a>0?d--:d++}}}if(!S(Object.values(j).reduce((a,b)=>b+a,0),100,.1))return e;let n=Object.keys(e);return j.reduce((a,b,c)=>(a[n[c]]=b,a),{})}function W(a,b){if(Object.keys(a).length!==Object.keys(b).length)return!1;for(let c in a)if(void 0===b[c]||0!==T(a[c],b[c]))return!1;return!0}function X({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(!S(e,100)&&d.length>0)for(let a=0;a<b.length;a++){let b=d[a];y(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];y(null!=e,`No layout data found for index ${a}`);let g=d[a];y(null!=g,`No layout data found for index ${a}`);let h=U({overrideDisabledPanels:!0,panelConstraints:b[a],prevSize:e,size:g});g!=h&&(f+=g-h,d[a]=h)}if(!S(f,0))for(let a=0;a<b.length;a++){let c=d[a];y(null!=c,`No layout data found for index ${a}`);let e=c+f,g=U({overrideDisabledPanels:!0,panelConstraints:b[a],prevSize:c,size:e});if(c!==g&&(f-=g-c,d[a]=g,S(f,0)))break}let g=Object.keys(a);return d.reduce((a,b,c)=>(a[g[c]]=b,a),{})}function Y({groupId:a,panelId:b}){let c=()=>{for(let[b,{defaultLayoutDeferred:c,derivedPanelConstraints:d,layout:e,groupSize:f,separatorToPanels:g}]of G)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=X({layout:V({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});W(j,n)||L(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&&S(b,c)},resize:a=>{let{group:b}=c(),{element:d}=e(),f=w({group:b});g(v(u({groupSize:f,panelElement:d,styleProp:a})/f*100))}}}function Z(a){a.defaultPrevented||R(a,G).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=Y({groupId:b.group.id,panelId:c.id});e&&void 0!==d&&(e.resize(d),a.preventDefault())}}})}function $(a){for(let[b]of G)if(b.separators.some(b=>b.element===a))return b;throw Error("Could not find parent Group for separator element")}function _({groupId:a}){let b=()=>{for(let[b,c]of G)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=X({layout:a,panelConstraints:d});return c?g:(W(g,i)||L(e,{defaultLayoutDeferred:c,derivedPanelConstraints:d,groupSize:f,layout:i,separatorToPanels:h}),i)}}}function aa(a,b){let c=$(a),d=J(c.id,!0),e=c.separators.find(b=>b.element===a);y(e,"Matching separator not found");let f=d.separatorToPanels.get(e);y(f,"Matching panels not found");let g=f.map(a=>c.panels.indexOf(a)),h=_({groupId:c.id}).getLayout(),i=X({layout:V({delta:b,initialLayout:h,panelConstraints:d.derivedPanelConstraints,pivotIndices:g,prevLayout:h,trigger:"keyboard"}),panelConstraints:d.derivedPanelConstraints});W(h,i)||L(c,{defaultLayoutDeferred:d.defaultLayoutDeferred,derivedPanelConstraints:d.derivedPanelConstraints,groupSize:d.groupSize,layout:i,separatorToPanels:d.separatorToPanels})}function ab(a){if(a.defaultPrevented)return;let b=a.currentTarget,c=$(b);if(!c.disabled)switch(a.key){case"ArrowDown":a.preventDefault(),"vertical"===c.orientation&&aa(b,5);break;case"ArrowLeft":a.preventDefault(),"horizontal"===c.orientation&&aa(b,-5);break;case"ArrowRight":a.preventDefault(),"horizontal"===c.orientation&&aa(b,5);break;case"ArrowUp":a.preventDefault(),"vertical"===c.orientation&&aa(b,-5);break;case"End":a.preventDefault(),aa(b,100);break;case"Enter":{a.preventDefault();let c=$(b),{derivedPanelConstraints:d,layout:e,separatorToPanels:f}=J(c.id,!0),g=c.separators.find(a=>a.element===b);y(g,"Matching separator not found");let h=f.get(g);y(h,"Matching panels not found");let i=h[0],j=d.find(a=>a.panelId===i.id);if(y(j,"Panel metadata not found"),j.collapsible){let a=e[i.id];aa(b,(j.collapsedSize===a?c.mutableState.expandedPanelSizes[i.id]??j.minSize:j.collapsedSize)-a)}break}case"F6":{a.preventDefault();let c=$(b).separators.map(a=>a.element),d=Array.from(c).findIndex(b=>b===a.currentTarget);y(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(),aa(b,-100)}}let ac={cursorFlags:0,state:"inactive"},ad=new F;function ae(a){let b=ac;ac=a,ad.emit("change",{prev:b,next:a})}function af(a){if(a.defaultPrevented||"mouse"===a.pointerType&&a.button>0)return;let b=G,c=R(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)}),ae({cursorFlags:0,hitRegions:c,initialLayoutMap:d,pointerDownAtPoint:{x:a.clientX,y:a.clientY},state:"active"}),c.length&&a.preventDefault()}let ag=a=>a,ah=()=>{};function ai(){return void 0===c&&(c=!1),c}let aj=new WeakMap;function ak(a){if(null===a.defaultView||void 0===a.defaultView)return;let{prevStyle:b,styleSheet:c}=aj.get(a)??{};void 0===c&&(c=new a.defaultView.CSSStyleSheet,a.adoptedStyleSheets&&a.adoptedStyleSheets.push(c));let d=ac;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&&ai()){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 ai()?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)}aj.set(a,{prevStyle:b,styleSheet:c})}function al({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=V({delta:l,initialLayout:m,panelConstraints:p,pivotIndices:a.panels.map(a=>i.indexOf(a)),prevLayout:r,trigger:"mouse-or-touch"});if(W(b,r)){if(0!==l&&!j)switch(h){case"horizontal":k|=l<0?1:2;break;case"vertical":k|=l<0?4:8}}else L(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=ac,(j={...ac}).cursorFlags=h,ac=j,ad.emit("change",{prev:i,next:j}),ak(a)}function am(a){let b=G,c=ac;"active"===c.state&&al({document:a.currentTarget,event:a,hitRegions:c.hitRegions,initialLayoutMap:c.initialLayoutMap,mountedGroups:b,prevCursorFlags:c.cursorFlags})}function an(a){if(a.defaultPrevented)return;let b=ac,c=G;if("active"===b.state){if(0===a.buttons){ae({cursorFlags:0,state:"inactive"}),b.hitRegions.forEach(a=>{let b=J(a.group.id,!0);L(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)}al({document:a.currentTarget,event:a,hitRegions:b.hitRegions,initialLayoutMap:b.initialLayoutMap,mountedGroups:c,pointerDownAtPoint:b.pointerDownAtPoint,prevCursorFlags:b.cursorFlags})}else{let d=R(a,c);0===d.length?"inactive"!==b.state&&ae({cursorFlags:0,state:"inactive"}):ae({cursorFlags:0,hitRegions:d,state:"hover"}),ak(a.currentTarget)}}function ao(a){a.relatedTarget instanceof HTMLIFrameElement&&"hover"===ac.state&&ae({cursorFlags:0,state:"inactive"})}function ap(a){if(a.defaultPrevented||"mouse"===a.pointerType&&a.button>0)return;let b=ac;"active"===b.state&&(ae({cursorFlags:0,state:"inactive"}),b.hitRegions.length>0&&(ak(a.currentTarget),b.hitRegions.forEach(a=>{let b=J(a.group.id,!0);L(a.group,b)}),a.preventDefault()))}function aq(a){let b=0,c=0,d={};for(let e of a)if(void 0!==e.defaultSize){b++;let a=v(e.defaultSize);c+=a,d[e.panelId]=a}else d[e.panelId]=void 0;let e=a.length-b;if(0!==e){let b=v((100-c)/e);for(let c of a)void 0===c.defaultSize&&(d[c.panelId]=b)}return d}let ar=new Map;function as(a){let b=(0,e.useId)();return`${a??b}`}let at=e.useEffect;function au(a){let b=(0,e.useRef)(a);return at(()=>{b.current=a},[a]),(0,e.useCallback)((...a)=>b.current?.(...a),[b])}function av(...a){return au(b=>{a.forEach(a=>{if(a)switch(typeof a){case"function":a(b);break;case"object":a.current=b}})})}function aw(a){let b=(0,e.useRef)({...a});return at(()=>{for(let c in a)b.current[c]=a[c]},[a]),b.current}let ax=(0,e.createContext)(null);function ay({children:a,className:b,defaultLayout:c,disableCursor:f,disabled:g,elementRef:h,groupRef:i,id:j,onLayoutChange:k,onLayoutChanged:l,orientation:m="horizontal",resizeTargetMinimumSize:n={coarse:20,fine:10},style:o,...p}){let q,r=(0,e.useRef)({onLayoutChange:{},onLayoutChanged:{}}),s=au(a=>{W(r.current.onLayoutChange,a)||(r.current.onLayoutChange=a,k?.(a))}),t=au(a=>{W(r.current.onLayoutChanged,a)||(r.current.onLayoutChanged=a,l?.(a))}),u=as(j),A=(0,e.useRef)(null),[B,C]=function(){let[a,b]=(0,e.useState)({});return[a,(0,e.useCallback)(()=>b({}),[])]}(),D=(0,e.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:n,separators:[]}),F=av(A,h);q=(0,e.useRef)({getLayout:()=>({}),setLayout:ag}),(0,e.useImperativeHandle)(i,()=>q.current,[]),at(()=>{Object.assign(q.current,_({groupId:u}))});let H=au((a,b)=>{let d=ac,e=I(a),f=J(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]}}),M=aw({defaultLayout:c,disableCursor:f}),N=(0,e.useMemo)(()=>({get disableCursor(){return!!M.disableCursor},getPanelStyles:H,id:u,orientation:m,registerPanel:a=>{let b=D.current;return b.panels=z(m,[...b.panels,a]),C(),()=>{b.panels=b.panels.filter(b=>b!==a),C()}},registerSeparator:a=>{let b=D.current;return b.separators=z(m,[...b.separators,a]),C(),()=>{b.separators=b.separators.filter(b=>b!==a),C()}},updatePanelProps:(a,{disabled:b})=>{let c=D.current.panels.find(b=>b.id===a);c&&(c.panelConstraints.disabled=b);let d=I(u),e=J(u);d&&e&&L(d,{...e,derivedPanelConstraints:x(d)})},updateSeparatorProps:(a,{disabled:b,disableDoubleClick:c})=>{let d=D.current.separators.find(b=>b.id===a);d&&(d.disabled=b,d.disableDoubleClick=c)}}),[H,u,C,m,M]),O=(0,e.useRef)(null);return at(()=>{let a,b,c,d,e,f,h,i,j,k,l,n,o,p=A.current;if(null===p)return;let q=D.current;if(void 0!==M.defaultLayout&&Object.keys(M.defaultLayout).length===q.panels.length)for(let b of(a={},q.panels)){let c=M.defaultLayout[b.id];void 0!==c&&(a[b.id]=c)}let r={disabled:!!g,element:p,id:u,mutableState:{defaultLayout:a,disableCursor:!!M.disableCursor,expandedPanelSizes:D.current.lastExpandedPanelSizes,layouts:D.current.layouts},orientation:m,panels:q.panels,resizeTargetMinimumSize:q.resizeTargetMinimumSize,separators:q.separators};O.current=r;let z=(b=!0,y(r.element.ownerDocument.defaultView,"Cannot register an unmounted Group"),c=r.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===r.element){if(b){let a=w({group:r});if(0===a)return;let b=J(r.id);if(!b)return;let c=x(r),d=b.defaultLayoutDeferred?aq(c):b.layout,e=X({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=v(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,k={...d};if(h.forEach((a,b)=>{k[b]=a}),f>0)for(let a of i){let b=d[a]??0;k[a]=v(b/f*j)}else{let a=v(j/i.length);for(let b of i)k[b]=a}return k}({group:r,nextGroupSize:a,prevGroupSize:b.groupSize,prevLayout:d}),panelConstraints:c});if(!b.defaultLayoutDeferred&&W(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;L(r,{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=w({group:a}),f="horizontal"===a.orientation?d.element.offsetWidth:d.element.offsetHeight,g=d.mutableValues.prevSize,h={asPercentage:v(f/e*100),inPixels:f};d.mutableValues.prevSize=h,d.onResize(h,d.id,g)}(r,d,a)}})).observe(r.element),r.panels.forEach(a=>{y(!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=w({group:r}),i=x(r),j=r.panels.map(({id:a})=>a).join(","),(k=r.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}(r.panels,k)||(k=void 0)),l=X({layout:r.mutableState.layouts[j]??k??aq(i),panelConstraints:i}),n=r.element.ownerDocument,ar.set(n,(ar.get(n)??0)+1),o=new Map,E(r).forEach(a=>{a.separator&&o.set(a.separator,a.panels)}),L(r,{defaultLayoutDeferred:0===h,derivedPanelConstraints:i,groupSize:h,layout:l,separatorToPanels:o}),r.separators.forEach(a=>{y(!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",ab)}),1===ar.get(n)&&(n.addEventListener("dblclick",Z,!0),n.addEventListener("pointerdown",af,!0),n.addEventListener("pointerleave",am),n.addEventListener("pointermove",an),n.addEventListener("pointerout",ao),n.addEventListener("pointerup",ap,!0)),function(){b=!1,ar.set(n,Math.max(0,(ar.get(n)??0)-1)),(G=new Map(G)).delete(r),r.separators.forEach(a=>{a.element.removeEventListener("keydown",ab)}),ar.get(n)||(n.removeEventListener("dblclick",Z,!0),n.removeEventListener("pointerdown",af,!0),n.removeEventListener("pointerleave",am),n.removeEventListener("pointermove",an),n.removeEventListener("pointerout",ao),n.removeEventListener("pointerup",ap,!0)),f.disconnect()}),{defaultLayoutDeferred:B,derivedPanelConstraints:C,layout:F}=J(r.id,!0);!B&&C.length>0&&(s(F),t(F));let H=K(u,a=>{let{defaultLayoutDeferred:b,derivedPanelConstraints:c,layout:d}=a.next;if(b||0===c.length)return;let e=r.panels.map(({id:a})=>a).join(",");r.mutableState.layouts[e]=d,c.forEach(b=>{if(b.collapsible){let{layout:c}=a.prev??{};if(c){let a=S(b.collapsedSize,d[b.panelId]),e=S(b.collapsedSize,c[b.panelId]);a&&!e&&(r.mutableState.expandedPanelSizes[b.panelId]=c[b.panelId])}}});let f="active"!==ac.state;s(d),f&&t(d)});return()=>{O.current=null,z(),H()}},[g,u,t,s,m,B,M]),(0,e.useEffect)(()=>{let a=O.current;a&&(a.mutableState.defaultLayout=c,a.mutableState.disableCursor=!!f)}),(0,d.jsx)(ax.Provider,{value:N,children:(0,d.jsx)("div",{...p,className:b,"data-group":!0,"data-testid":u,id:u,ref:F,style:{height:"100%",width:"100%",overflow:"hidden",...o,display:"flex",flexDirection:"horizontal"===m?"row":"column",flexWrap:"nowrap",touchAction:"horizontal"===m?"pan-y":"pan-x"},children:a})})}function az(){let a=(0,e.useContext)(ax);return y(a,"Group Context not found; did you render a Panel or Separator outside of a Group?"),a}function aA({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=as(k),u=aw({disabled:h}),v=(0,e.useRef)(null),w=av(v,i),{getPanelStyles:x,id:y,orientation:z,registerPanel:A,updatePanelProps:B}=az(),C=null!==n,D=au((a,b,c)=>{n?.(a,k,c)});at(()=>{let a=v.current;if(null!==a)return A({element:a,id:t,idIsStable:s,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:C?D:void 0,panelConstraints:{groupResizeBehavior:j,collapsedSize:c,collapsible:f,defaultSize:g,disabled:u.disabled,maxSize:l,minSize:m}})},[j,c,f,g,C,t,s,l,m,D,A,u]),(0,e.useEffect)(()=>{B(t,{disabled:h})},[h,t,B]),function(a,b){let{id:c}=az(),d=(0,e.useRef)({collapse:ah,expand:ah,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:ah});(0,e.useImperativeHandle)(b,()=>d.current,[]),at(()=>{Object.assign(d.current,Y({groupId:c,panelId:a}))})}(t,o);let E=()=>{let a=x(y,t);if(a)return JSON.stringify(a)},F=(0,e.useSyncExternalStore)(a=>K(y,a),E,E);return r=F?JSON.parse(F):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:{...aB,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"===z?"pan-y":"pan-x"},children:a})})}ay.displayName="Group",aA.displayName="Panel";let aB={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function aC({children:a,className:b,disabled:c,disableDoubleClick:f,elementRef:g,id:h,style:i,...j}){let k,l,m=as(h),n=aw({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=av(u,g),{disableCursor:w,id:x,orientation:y,registerSeparator:z,updateSeparatorProps:A}=az();return at(()=>{let a=u.current;if(null!==a){var b;let c={disabled:n.disabled,disableDoubleClick:n.disableDoubleClick,element:a,id:m},d=z(c),e=(b=a=>{r("inactive"!==a.next.state&&a.next.hitRegions.some(a=>a.separator===c)?a.next.state:"inactive")},ad.addListener("change",b)),f=K(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=X({layout:V({delta:j-g,initialLayout:a,panelConstraints:b,pivotIndices:k,prevLayout:a}),panelConstraints:b})[c],e=X({layout:V({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,z,n]),(0,e.useEffect)(()=>{A(m,{disabled:c,disableDoubleClick:f})},[c,f,m,A]),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})}aC.displayName="Separator";var aD=a.i(93538),aE=a.i(15143),aE=aE,aF=a.i(343155),aG=a.i(799856),aH=a.i(514385),aI=a.i(693567),aJ=a.i(678240),aK=a.i(484682),aL=a.i(356474),aM=a.i(671015),aN=a.i(850120),aO=a.i(747868),aP=a.i(760644),aQ=a.i(576949),aR=a.i(291677),aS=a.i(505947),aT=a.i(795541),aU=a.i(164405),aV=a.i(166528),aW=a.i(340001),aX=a.i(378836),aY=a.i(838997),aZ=a.i(619923),a$=a.i(47691),a_=a.i(106816);let a0=()=>(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)(aW.Skeleton,{className:"h-3 w-40"}),(0,d.jsx)(aW.Skeleton,{className:"h-3 w-20"})]})})}),a1=({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,a_.default)(f,g),{branch:l,isLoading:m}=(0,aY.default)(b),{status:n}=(0,aZ.default)(b,g),o=(0,a$.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)(aX.MetaCompact,{title:a.title,totalCost:a.totalCost,branch:l,usedPercentage:a.usedPercentage,currentContextTokens:a.currentContextTokens,contextWindowSize:a.contextWindowSize}),(0,d.jsx)(aD.ChevronDown,{size:14,className:(0,aG.cn)("shrink-0 text-muted-foreground transition-transform duration-150",g&&"rotate-180")})]}),(0,d.jsx)("div",{className:(0,aG.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)(aX.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,outputTokens:a.outputTokens,totalCost:a.totalCost,currentContextTokens:a.currentContextTokens,contextWindowSize:a.contextWindowSize,usedPercentage:a.usedPercentage,model:a.model,branch:l,isBranchLoading:m,gitStatus:n,tmuxInfo:o})})})]})},a2=({tabId:a,sessionName:b,claudeSessionId:c,cwd:g,className:h,onClose:i,onNewSession:l,scrollToBottomRef:m,addPendingMessageRef:n,removePendingMessageRef:o,trustPrompt:p,onTrustResponse:q})=>{let r=(0,f.useTranslations)("terminal"),[s,t]=(0,e.useState)(null),u=(0,aP.default)(b=>b.tabs[a]?.claudeProcess??null),v=(0,aP.default)(b=>b.tabs[a]?.claudeInstalled??!0),w=(0,aP.default)(b=>b.tabs[a]?.cliState??"inactive"),x=(0,aP.default)(b=>b.tabs[a]?.compactingSince??null),y=(0,aP.default)(b=>(0,aP.selectSessionView)(b.tabs,a)),z=(0,aP.default)(b=>b.tabs[a]?.sessionMetaCache??null),A=(0,aP.default)(b=>b.tabs[a]?.claudeSummary??null),B=(0,aP.default)(b=>b.tabs[a]?.lastUserMessage??null),C=(0,e.useCallback)(()=>{t(null)},[]),D=(0,e.useCallback)(a=>{t(null),k.toast.warning(r("resumeBlocked"),{description:a.processName?r("resumeBlockedProcess",{name:a.processName}):void 0})},[r]),E=(0,e.useCallback)(()=>{t(null),k.toast.error(r("resumeFailed"))},[r]),{entries:F,tasks:G,sessionId:H,jsonlPath:I,sessionSummary:J,initMeta:K,sessionStats:L,claudeProcess:M,wsStatus:N,isLoading:O,error:P,loadMore:Q,hasMore:R,retrySession:S,sendResume:T,addPendingUserMessage:U,removePendingUserMessage:V}=(0,aM.default)({sessionName:b,claudeSessionId:c,enabled:!!b,resumeCallbacks:{onResumeStarted:C,onResumeBlocked:D,onResumeError:E},onSync:b=>{let c=Date.now();null!==b.claudeProcess&&aP.default.getState().setClaudeProcess(a,b.claudeProcess,c),b.claudeInstalled||aP.default.getState().setClaudeInstalled(a,!1),aP.default.getState().setTimelineLoading(a,b.isLoading)},getCliState:()=>aP.default.getState().tabs[a]?.cliState}),{sessions:W,hasMore:X,isLoading:Y,isLoadingMore:Z,error:$,refetch:_,loadMore:aa}=(0,aN.default)({tmuxSession:b,enabled:!!b&&!0!==u,cwd:g});(0,e.useEffect)(()=>(n&&(n.current=U),o&&(o.current=V),()=>{n&&(n.current=void 0),o&&(o.current=void 0)}),[n,o,U,V]);let ab=(0,e.useRef)(u);(0,e.useEffect)(()=>{let a=ab.current;ab.current=u,!0!==a&&!0===u&&!0!==M&&S()},[u,M,S]),(0,e.useEffect)(()=>{if("unknown"!==w)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,w]);let ac=(0,aO.default)("check"===y,b),ad=null===u||0===F.length&&O,ae=(0,aQ.useSessionMetaCompute)(F,J,K,L,A,B);(0,e.useEffect)(()=>{ad||aP.default.getState().setSessionMetaCache(a,{meta:ae,sessionId:H,jsonlPath:I})},[ad,ae,H,I,a]);let af=(0,e.useCallback)(a=>{s||(t(a),T(a,b))},[s,T,b]);if(!v)return(0,d.jsxs)("div",{className:(0,aG.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:r("installClaude")}),(0,d.jsx)("span",{className:"text-xs",children:r("installClaudeHint")})]});if(p&&q)return(0,d.jsxs)("div",{className:(0,aG.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",h),children:[(0,d.jsx)(aU.default,{folderPath:p.folderPath,onRespond:q}),(0,d.jsx)("button",{className:"mt-3 text-xs text-muted-foreground underline underline-offset-2 hover:text-foreground",onClick:i,children:r("checkTerminal")})]});if("check"===y)return(0,d.jsxs)("div",{className:(0,aG.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",h),children:[(0,d.jsx)(j.default,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("span",{className:"mt-2 text-sm text-muted-foreground",children:c||H?r("resumingSession"):r("creatingConversation")}),ac&&(ac.isBypassPrompt&&ac.options.length>0?(0,d.jsx)(aT.default,{sessionName:b,options:ac.options,fallback:(0,d.jsx)("button",{className:"text-xs text-muted-foreground underline underline-offset-2 hover:text-foreground",onClick:i,children:r("checkTerminal")})}):(0,d.jsx)("button",{className:"mt-3 text-xs text-muted-foreground underline underline-offset-2 hover:text-foreground",onClick:i,children:r("checkTerminal")}))]});if("session-list"===y)return null===u||Y&&0===W.length?(0,d.jsx)("div",{className:(0,aG.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",h),children:(0,d.jsx)(j.default,{className:"h-4 w-4 text-muted-foreground"})}):0!==W.length||$?(0,d.jsx)("div",{className:(0,aG.cn)("h-full w-full",h),children:(0,d.jsx)(aR.default,{sessions:W,isLoading:Y,isLoadingMore:Z,hasMore:X,error:$,resumingSessionId:s,onSelectSession:af,onRefresh:_,onLoadMore:aa,onNewSession:l})}):(0,d.jsx)("div",{className:(0,aG.cn)("h-full w-full",h),children:(0,d.jsx)(aS.default,{onClose:i,onNewSession:l})});let ag=ad?z:{meta:ae,sessionId:H,jsonlPath:I};return(0,d.jsxs)("div",{className:(0,aG.cn)("flex min-h-0 w-full flex-1 flex-col",h),children:[ag?(0,d.jsx)(a1,{meta:ag.meta,sessionName:b,sessionId:ag.sessionId,jsonlPath:ag.jsonlPath}):(0,d.jsx)(a0,{}),(0,d.jsx)("div",{className:"min-h-0 flex-1",children:(0,d.jsx)(aV.default,{entries:F,tasks:G,sessionId:H,sessionName:b,tabId:a,initMeta:K,sessionStats:L,cliState:w,compactingSince:x,wsStatus:N,isLoading:O,error:P,onRetry:S,onLoadMore:Q,hasMore:R,scrollToBottomRef:m})})]})};var a3=a.i(219379),a4=a.i(741798),a5=a.i(660558),a6=a.i(665315),a7=a.i(775495),a8=a.i(358137);let a9=({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)(a8.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)(l.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)(l.Button,{variant:"outline",size:"sm",onClick:e,children:g("restartNewTerminal")})]})]})};var ba=a.i(734637);let bb=({onSwitch:a,onDismiss:b})=>{let c=(0,f.useTranslations)("terminal"),e=(0,f.useTranslations)("common");return(0,d.jsxs)("div",{className:"absolute right-3 bottom-3 z-20 flex items-center gap-2 rounded-lg border border-border bg-card px-3 py-2 shadow-lg animate-[fadeIn_200ms_ease-out]",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:c("switchToClaudeMode")}),(0,d.jsx)(l.Button,{variant:"default",size:"sm",className:"h-6 px-2 text-[11px]",onClick:a,children:c("switchMode")}),(0,d.jsx)("button",{className:"flex h-5 w-5 items-center justify-center rounded text-muted-foreground hover:text-foreground",onClick:b,"aria-label":e("close"),children:(0,d.jsx)(ba.X,{className:"h-3.5 w-3.5"})})]})},bc=({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)(ba.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 bd=a.i(354447),be=a.i(545375),bf=a.i(721043),bg=a.i(165402);let bh=a=>a.replace(/[ \t\\'"(){}[\]!#$&;`|*?<>~^%]/g,"\\$&"),bi=(0,a.i(564375).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var bj=a.i(643228),bk=a.i(767810),bl=a.i(98456),bm=a.i(949348),bn=a.i(231473),bo=a.i(448557),bp=a.i(203725);let bq=({tab:a,isActive:b,isDragging:c,dropSide:g,displayTitle:h,currentProcess:i,onSwitch:j,onDelete:k,onRename:l,onFocusPane:m,onDragStart:n,onDragEnd:o,onDragOver:p,onDragLeave:q})=>{let r=(0,f.useTranslations)("terminal"),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(""),w=(0,e.useRef)(null);(0,e.useEffect)(()=>{s&&requestAnimationFrame(()=>w.current?.select())},[s]);let x=()=>{let b=u.trim();t(!1),b!==a.name&&l(b)},y=a.name||h||"";return(0,d.jsxs)("div",{"data-tab-id":a.id,role:"tab","aria-selected":b,tabIndex:b?0:-1,className:(0,aG.cn)("group relative flex min-w-[120px] max-w-[180px] cursor-pointer items-center gap-1.5 border-b-2 px-3 text-xs select-none",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:()=>{s||b||j(),m()},onDoubleClick:()=>{t(!0),v(a.name)},draggable:!s,onDragStart:n,onDragEnd:o,onDragOver:p,onDragLeave:q,children:["left"===g&&(0,d.jsx)("div",{className:"absolute top-1 bottom-1 left-0 w-0.5 bg-ui-blue"}),s?(0,d.jsx)("input",{ref:w,className:"w-full min-w-0 border-b border-accent-color bg-transparent text-xs text-foreground outline-none",value:u,onChange:a=>v(a.target.value),onKeyDown:a=>{"Enter"===a.key&&x(),"Escape"===a.key&&t(!1)},onBlur:x,onClick:a=>a.stopPropagation()}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bp.default,{tabId:a.id,panelType:a.panelType}),"claude-code"===a.panelType?(0,d.jsx)(bn.default,{className:"h-3.5 w-3.5"}):"web-browser"===a.panelType?(0,d.jsx)(bl.Globe,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):"diff"===a.panelType?(0,d.jsx)(bm.GitCompareArrows,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,d.jsx)(bo.default,{process:i??h,className:"h-3 w-3 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:(0,aG.cn)("truncate",y?"opacity-100":"opacity-0"),children:y})]}),(0,d.jsx)("button",{className:(0,aG.cn)("ml-auto -mr-1.5 flex h-7 w-7 shrink-0 items-center justify-center text-muted-foreground hover:text-foreground",b?"visible":"invisible group-hover:visible"),onClick:a=>{a.stopPropagation(),k()},"aria-label":r("closeTabLabel"),children:(0,d.jsx)(ba.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 br=a.i(975022),bs=a.i(158799),bt=a.i(96968),bu=a.i(345283);let bv=({paneId:a,isCreating:b,activePanelType:c,onCreateTab:g})=>{let h=(0,f.useTranslations)("terminal"),k=(0,bu.default)(),[l,n]=(0,e.useState)(!1),o=(0,bt.default)(),p=(0,m.useLayoutStore)(a=>a.workspaceId),q=(0,e.useMemo)(()=>{let a=[{key:"claude-new",type:"claude-code",icon:(0,d.jsx)(bn.default,{className:"h-3.5 w-3.5"}),label:h("claudeNewConversation"),startClaude:!0},{key:"claude",type:"claude-code",icon:(0,d.jsx)(bn.default,{className:"h-3.5 w-3.5"}),label:h("claudeSessionList")},{key:"terminal",type:"terminal",icon:(0,d.jsx)(br.Terminal,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:"Terminal"},{key:"diff",type:"diff",icon:(0,d.jsx)(bm.GitCompareArrows,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:"Diff"},{key:"web-browser",type:"web-browser",icon:(0,d.jsx)(bl.Globe,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:"Web Browser"}];return o?a.filter(a=>"web-browser"!==a.key):a},[o,h]),[r,s]=(0,e.useState)(0),t=(0,e.useRef)([]),u=(0,e.useCallback)(()=>{let a=(a=>{switch(a){case"terminal":return"terminal";case"web-browser":return"web-browser";default:return"claude-new"}})(c),b=q.findIndex(b=>b.key===a);s(b>=0?b:0),n(!0)},[c,q]);(0,e.useEffect)(()=>{let b=b=>{let c=b.detail;c?.paneId===a&&u()};return window.addEventListener("open-new-tab-menu",b),()=>window.removeEventListener("open-new-tab-menu",b)},[a,u]),(0,e.useEffect)(()=>{l&&t.current[r]?.focus()},[l,r]);let v=a=>{if(n(!1),"startClaude"in a&&a.startClaude){let b=aJ.default.getState().dangerouslySkipPermissions,c=["--settings ~/.purplemux/hooks.json",p?`--append-system-prompt-file ~/.purplemux/workspaces/${p}/claude-prompt.md`:""].filter(Boolean).join(" "),d=b?`claude ${c} --dangerously-skip-permissions`:`claude ${c}`;g(a.type,{command:d})}else g(a.type)};return(0,d.jsx)("div",{className:"flex items-center border-l border-r border-border px-0.5",children:(0,d.jsxs)(bs.Popover,{open:l,onOpenChange:a=>{a?u():n(!1)},children:[(0,d.jsxs)(bk.Tooltip,{children:[(0,d.jsx)(bk.TooltipTrigger,{render:(0,d.jsx)(bs.PopoverTrigger,{className:(0,aG.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":h("openNewTab")}),children:b?(0,d.jsx)(j.default,{className:"h-3 w-3"}):(0,d.jsx)(i.Plus,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bk.TooltipContent,{side:"bottom",children:h("newTabTooltip",{shortcut:`${k?"⌘":"Ctrl+"}T`})})]}),(0,d.jsx)(bs.PopoverContent,{side:"bottom",align:"start",className:"w-44 gap-0 p-0.5",onKeyDown:a=>{if("ArrowDown"===a.key)a.preventDefault(),s(a=>(a+1)%q.length);else if("ArrowUp"===a.key)a.preventDefault(),s(a=>(a-1+q.length)%q.length);else if("Enter"===a.key){a.preventDefault();let b=q[r];b&&v(b)}},children:q.map((a,b)=>(0,d.jsxs)("button",{ref:a=>{t.current[b]=a},className:(0,aG.cn)("flex w-full items-center gap-2 rounded-sm px-2.5 py-2 text-xs text-foreground hover:bg-accent focus:outline-none",r===b&&"bg-accent"),onMouseEnter:()=>s(b),onClick:()=>v(a),children:[a.icon,a.label]},a.key))})]})})},bw=({paneId:a,tabs:b,activeTabId:c,tabTitles:h,tabProcesses:i,isLoading:j,error:k,isCreating:m,paneCount:n,isSplitting:o,onSwitchTab:p,onCreateTab:q,onDeleteTab:r,onRenameTab: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)(l.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,aG.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,aG.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)(bi,{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(a=>(0,d.jsx)(bq,{tab:a,isActive:a.id===c,isDragging:a.id===C,dropSide:D?.id===a.id?D.side:null,displayTitle:h?.[a.id],currentProcess:i?.[a.id],onSwitch:()=>p(a.id),onDelete:()=>r(a.id),onRename:b=>{s(a.id,b)},onFocusPane:w,onDragStart:b=>J(b,a.id),onDragEnd:K,onDragOver:b=>F(b,a.id),onDragLeave:L},a.id))}),Q&&(0,d.jsx)("button",{className:(0,aG.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)(bj.ChevronRight,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bk.TooltipProvider,{children:(0,d.jsxs)("div",{className:"flex shrink-0 items-stretch",children:[(0,d.jsx)(bv,{paneId:a,isCreating:m,activePanelType:B.find(a=>a.id===c)?.panelType,onCreateTab:q}),n>=2&&(0,d.jsx)("div",{className:"flex items-center px-0.5",children:(0,d.jsxs)(bk.Tooltip,{children:[(0,d.jsx)(bk.TooltipTrigger,{className:(0,aG.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",o?"pointer-events-none opacity-30":"hover:text-foreground"),disabled:o,onClick:a=>{a.stopPropagation(),u()},"aria-label":y("closeAllTabs"),children:(0,d.jsx)(ba.X,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bk.TooltipContent,{side:"bottom",children:y("closeAllTabs")})]})})]})})]})};var bx=a.i(206456),by=a.i(188289),bz=a.i(480824);let bA={write:()=>{},reset:()=>{},fit:()=>({cols:80,rows:24}),focus:()=>{},getBufferText:()=>""},bB={sendStdin:()=>{},sendResize:()=>{}},bC={normal:{normal:12,claudeCode:10},large:{normal:14,claudeCode:12},"x-large":{normal:16,claudeCode:14}},bD=[],bE=(0,e.memo)(({paneId:a,paneNumber:b})=>{let c,g=(0,f.useTranslations)("terminal"),h=(0,m.useLayoutStore)(b=>b.layout?(0,n.findPane)(b.layout.root,a):null),o=h?.tabs??bD,p=h?.activeTabId??null,q=(0,m.useLayoutStore)(b=>b.layout?.activePaneId===a),t=(0,m.useLayoutStore)(a=>a.paneCount),u=(0,m.useLayoutStore)(a=>a.isSplitting),v=(0,m.useLayoutStore)(a=>a.switchTabInPane),w=(0,m.useLayoutStore)(a=>a.createTabInPane),x=(0,m.useLayoutStore)(a=>a.deleteTabInPane),y=(0,m.useLayoutStore)(a=>a.closePane),z=(0,m.useLayoutStore)(a=>a.focusPane),A=(0,m.useLayoutStore)(a=>a.moveTab),B=(0,m.useLayoutStore)(a=>a.renameTabInPane),C=(0,m.useLayoutStore)(a=>a.reorderTabsInPane),D=(0,m.useLayoutStore)(a=>a.updateTabPanelType),E=(0,m.useLayoutStore)(a=>a.updateTabTerminalLayout),F=o.find(a=>a.id===p),G=F?.panelType??"terminal",H="claude-code"===G,I="web-browser"===G,J="diff"===G,{theme:K}=(0,bz.default)(),L=(0,aJ.default)(a=>a.fontSize),M=(0,aJ.default)(a=>a.claudeShowTerminal),N=F?.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)(()=>o.map(a=>a.id),[o]),$=(0,r.default)((0,aK.useShallow)(a=>{let b={};for(let c of Z){let d=a.metadata[c]?.title;d&&(b[c]=d)}return b})),_=(0,aP.default)((0,aK.useShallow)(a=>{let b={};for(let c of Z){let d=a.tabs[c]?.currentProcess;d&&(b[c]=d)}return b})),aa=(0,r.default)(a=>p?a.metadata[p]?.cwd:void 0),ab=(0,m.useLayoutStore)(a=>a.workspaceId);(0,e.useEffect)(()=>{let a=requestAnimationFrame(()=>W(!0));return()=>{cancelAnimationFrame(a)}},[]);let ac=(0,e.useRef)(bA),ad=(0,e.useRef)(bB),ae=(0,e.useRef)(null),af=(0,e.useRef)(null),ag=(0,e.useRef)(null),ah=(0,e.useRef)(o),ai=(0,e.useRef)(p),aj=(0,e.useRef)(t),ak=(0,e.useRef)(q);(0,e.useEffect)(()=>{ah.current=o,ai.current=p,aj.current=t,ak.current=q});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&&r.default.getState().setCwd(b.id,c),r.default.getState().setLastCommand(b.id,d??null)}catch{}},[]),am=(0,e.useRef)(()=>{}),an=(0,e.useRef)(void 0),ao=(0,e.useRef)(void 0),ap=(0,e.useRef)(null),aq=(0,e.useRef)(!1),ar=(0,e.useRef)(null),as=(0,e.useRef)(null),at=(0,e.useRef)(!1),au=(0,e.useRef)(void 0),av=(0,e.useRef)(void 0),aw=(0,e.useRef)(void 0),ax=(0,e.useRef)(void 0),az=(0,e.useRef)(null),aB=(0,e.useRef)(""),aM=(0,aP.default)(a=>p?a.tabs[p]?.cliState??"inactive":"inactive"),aN=(0,aP.default)(a=>p?a.tabs[p]?.claudeProcess??null:null),aO=(0,aP.default)(a=>p?a.tabs[p]?.claudeSessionId??null:null),aQ="timeline"===(0,aP.default)(a=>p?(0,aP.selectSessionView)(a.tabs,p):"session-list"),aR=(0,e.useCallback)(a=>{at.current||(ar.current?as.current=a:a())},[]),aS=(0,e.useCallback)(a=>{ar.current={x:a.clientX,y:a.clientY},as.current=null,at.current=!1},[]),aT=(0,e.useCallback)(a=>{let b=ar.current;ar.current=null;let c=!!b&&(a.clientX-b.x)**2+(a.clientY-b.y)**2>=25;c&&(at.current=!0,requestAnimationFrame(()=>{at.current=!1})),as.current&&!c&&as.current(),as.current=null},[]),{prompts:aU}=(0,be.default)(),aV=(0,e.useRef)(new Set),[aW,aX]=(0,e.useState)(!1),{trustPrompt:aY,onTerminalData:aZ,onTrustResponse:a$}=(0,bd.default)({enabled:H&&"inactive"===aM,getBufferText:()=>ac.current.getBufferText(),sendStdin:a=>ad.current.sendStdin(a)});(0,e.useEffect)(()=>{p&&H&&q&&(0,aP.isCliIdle)(aM)&&(0,s.dismissTab)(p)},[p,aM,H,q]),(0,e.useEffect)(()=>{p&&q&&(0,s.dismissTab)(p)},[p,q]);let a_=(0,e.useCallback)(()=>{"idle"===aM&&au.current?.()},[aM]),a0=(0,e.useCallback)(a=>{av.current?.(a)},[]),a1=(0,e.useCallback)((a,b)=>av.current?.(a,b)??"",[]),a8=(0,e.useCallback)(a=>{aw.current?.(a)},[]),ba=(0,e.useCallback)(a=>{a.dataTransfer.types.includes("Files")&&(a.preventDefault(),a.stopPropagation(),a.dataTransfer.dropEffect="copy")},[]),bi=(0,e.useCallback)(a=>{!a.dataTransfer.files||0===a.dataTransfer.files.length||ax.current&&(a.preventDefault(),a.stopPropagation(),ax.current(Array.from(a.dataTransfer.files)))},[]),bj=(0,e.useCallback)(a=>{ao.current?.(a),an.current?.()},[]),bk=(0,e.useCallback)(a=>(0,by.isAppShortcut)(a)?(a.preventDefault(),(0,by.isClearShortcut)(a)&&am.current(),(0,by.isFocusInputShortcut)(a)&&an.current?.(),!1):!(0,by.isShiftEnter)(a)||(a.preventDefault(),ad.current.sendStdin("\n"),!1),[]),{terminalRef:bl,write:bm,clear:bn,reset:bo,fit:bp,focus:bq,isReady:br,getBufferText:bs}=(0,aH.default)({theme:K.colors,fontSize:(bC[L]??bC.normal)[H?"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?.panelType==="web-browser"||a===aB.current)return;aB.current=a;let d=(0,bx.formatTabTitle)(a),e=(0,bx.parseCurrentCommand)(a);if(r.default.getState().setTitle(b,d),aP.default.getState().setCurrentProcess(b,e),(0,bx.isShellProcess)(a)&&az.current){let a=az.current;az.current=null,ad.current.sendStdin(`${a}\r`)}let f=ah.current.find(a=>a.id===b);if(f){let a=aP.default.getState().tabs[b]?.claudeProcessCheckedAt??0;fetch(`/api/check-claude?session=${f.sessionName}`).then(a=>a.json()).then(({running:c,checkedAt:d})=>{let e=aP.default.getState().tabs[b];if(e&&e.claudeProcessCheckedAt!==a){e.claudeProcess!==c&&setTimeout(()=>{fetch(`/api/check-claude?session=${f.sessionName}`).then(a=>a.json()).then(({running:a,checkedAt:c})=>{aP.default.getState().setClaudeProcess(b,a,c)}).catch(()=>{})},500);return}aP.default.getState().setClaudeProcess(b,c,d)}).catch(()=>{})}al()},customKeyEventHandler:bk});(0,e.useEffect)(()=>{am.current=bn}),(0,e.useEffect)(()=>{let a=a=>{(0,by.isFocusInputShortcut)(a)&&q&&(a.preventDefault(),an.current?.())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[q]);let bt=(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 y(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&&v(a,g.id),ag.current=c;try{await x(a,c)}finally{ag.current=null}},[a,v,x,y]),{status:bu,retryCount:bv,disconnectReason:bE,connect:bF,reconnect:bG,sendStdin:bH,sendWebStdin:bI,sendResize:bJ}=(0,aI.default)({onData:a=>{ac.current.write(a),aZ()},onConnected:()=>{P(!0),af.current=ai.current;let a=ai.current;a&&aP.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:bt});(0,e.useEffect)(()=>{ac.current={write:bm,reset:bo,fit:bp,focus:bq,getBufferText:bs},ad.current={sendStdin:bH,sendResize:bJ}}),(0,e.useEffect)(()=>{br||(ae.current=null)},[br]),(0,e.useEffect)(()=>{if(!br||!p)return;let a=o.find(a=>a.id===p);if(!a)return;if("web-browser"===a.panelType){aB.current="";return}if(ae.current===a.sessionName)return;null!==ae.current&&(R(!0),bo(),aB.current=""),aP.default.getState().initTab(p,{terminalConnected:!1,panelType:a.panelType}),ae.current=a.sessionName;let{cols:b,rows:c}=bp();bF(a.sessionName,b,c)},[br,p]),(0,e.useEffect)(()=>{let a=ai.current;a&&aP.default.getState().setTerminalConnected(a,"connected"===bu)},[bu]),(0,e.useEffect)(()=>{"disconnected"===bu&&O&&af.current&&af.current!==p&&o.some(a=>a.id===af.current)&&(ae.current=null,v(a,af.current))},[bu]),(0,e.useEffect)(()=>{if(!br||"connected"!==bu)return;let a=setTimeout(()=>{let{cols:a,rows:b}=bp();ad.current.sendResize(a,b)},150);return()=>clearTimeout(a)},[t]),(0,e.useEffect)(()=>{if(!br||"connected"!==bu)return;let a=setTimeout(()=>{let{cols:a,rows:b}=bp();ad.current.sendResize(a,b)},300);return()=>clearTimeout(a)},[bu]),(0,e.useEffect)(()=>{if(q&&br&&"connected"===bu){let{cols:a,rows:b}=bp();ad.current.sendResize(a,b);let c=aq.current;aq.current=!1,!c&&H&&aQ?aR(()=>an.current?.()):bq()}},[q]);let bK=(0,e.useCallback)(b=>{b!==p&&((0,s.dismissTab)(b),v(a,b))},[a,p,v]),bL=(0,e.useCallback)(async(b,c)=>{U(!0);let d=await w(a,b,c?.command);if(d){aP.default.getState().initTab(d.id,{panelType:b,workspaceId:ab??""}),c?.command&&aP.default.getState().setSessionView(d.id,"check");let a=ai.current,e=a?r.default.getState().metadata[a]?.title:null;e&&"web-browser"!==b&&r.default.getState().setTitle(d.id,e)}U(!1)},[a,w,ab]),bM=(0,e.useCallback)(async b=>{if(!ag.current){if(1===o.length&&t>1)return void y(a);ag.current=b;try{await x(a,b)}finally{ag.current=null}}},[a,o,t,x,y]),bN=(0,e.useCallback)(async(b,c)=>{await m.useLayoutStore.getState().restartTabInPane(a,b,c)&&bG()},[a,bG]),bO=(0,e.useRef)(new Set);(0,e.useEffect)(()=>{"disconnected"!==bu||"session-not-found"!==bE||!p||!F||"terminal"!==(F.panelType??"terminal")||F.lastCommand||bO.current.has(p)||(bO.current.add(p),bN(p))},[bu,bE,p,F,bN]);let bP=(0,e.useCallback)((b,c)=>{B(a,b,c)},[a,B]),bQ=(0,e.useCallback)(b=>{C(a,b)},[a,C]),bR=(0,e.useCallback)((b,c,d)=>{A(b,c,a,d)},[a,A]),bS=(0,e.useCallback)(()=>{z(a)},[a,z]),bT=(0,e.useCallback)(b=>{p&&(Y(!0),D(a,p,b))},[a,p,D]),bU=(0,e.useCallback)(a=>{ap.current=a,bT("claude-code")},[bT]);(0,e.useEffect)(()=>{if("claude-code"!==G||!ap.current)return;let a=ap.current;ap.current=null;let b=window.setTimeout(()=>{ao.current?.(a),an.current?.()},100);return()=>window.clearTimeout(b)},[G]);let bV=(0,e.useCallback)(b=>{p&&ab&&fetch(`/api/layout/pane/${a}/tabs/${p}?workspace=${ab}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({webUrl:b})}).catch(()=>{})},[p,a,ab]);(0,e.useEffect)(()=>{p&&!0===aN&&"terminal"===G?aV.current.has(p)||(aV.current.add(p),aX(!0)):aX(!1)},[p,aN,G]);let{showPathInput:bW,droppedFileHint:bX,handleDragOver:bY,handleDrop:bZ,handlePathInputSubmit:b$,handlePathInputDismiss:b_}=(({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")},[]),l=(0,e.useCallback)(c=>{0!==c.length&&(a(`\x1b[200~${c.join(" ")}\x1b[201~`),b())},[a,b]),m=(0,e.useCallback)(async a=>{let b=a.filter(bg.isImageFile);if(0===b.length)return!1;try{let a=await Promise.all(b.map(a=>(0,bg.uploadImage)(a,{wsId:c,tabId:d})));return l(a.map(a=>bh(a.path))),!0}catch(a){return k.toast.error(a instanceof Error?a.message:"Upload failed"),!0}},[c,d,l]),n=(0,e.useCallback)(a=>{a.preventDefault();let{files:b}=a.dataTransfer;if(0===b.length)return;let c=bf.default?window.electronAPI:null,d=[],e=Array.from(b);for(let a of e){let b=c?.getPathForFile(a);b&&d.push(bh(b))}d.length>0?l(d):e.some(bg.isImageFile)?m(e):(i(e.map(a=>a.name).join(", ")),g(!0))},[l,m]);return{showPathInput:f,droppedFileHint:h,handleDragOver:j,handleDrop:n,handlePathInputSubmit:(0,e.useCallback)(c=>{if(g(!1),i(""),c.trim()){let d=bh(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:bq,wsId:ab??void 0,tabId:p??void 0}),b0=(0,e.useCallback)(a=>{let b=aJ.default.getState().dangerouslySkipPermissions,c=["--settings ~/.purplemux/hooks.json",ab?`--append-system-prompt-file ~/.purplemux/workspaces/${ab}/claude-prompt.md`:""].filter(Boolean).join(" "),d=a?`claude --resume ${a} ${c}`:`claude ${c}`;return b?`${d} --dangerously-skip-permissions`:d},[ab]),b1=(0,e.useCallback)(()=>{"connected"===bu&&p&&(aP.default.getState().setSessionView(p,"check"),bH(`${b0(null)}\r`))},[bu,bH,p,b0]),b2=(0,e.useCallback)(()=>{"connected"===bu&&p&&(az.current=b0(null),aP.default.getState().setSessionView(p,"check"),bH("/exit\r"))},[bu,bH,p,b0]),b3=(0,e.useCallback)(async()=>{if(!p||(aX(!1),bT("claude-code"),"connected"!==bu))return;let a=aO;if(!a){let b=ah.current.find(a=>a.id===p);if(b)try{let c=await fetch(`/api/check-claude?session=${b.sessionName}`),d=await c.json();a="string"==typeof d.sessionId&&d.resumable?d.sessionId:null}catch{}}az.current=b0(a),aP.default.getState().setSessionView(p,"check"),bH("\x03"),setTimeout(()=>bH("\x03"),300)},[p,bu,bH,aO,b0,bT]);(0,e.useEffect)(()=>{if(!az.current||!0===aN||"connected"!==bu||!(0,bx.isShellProcess)(aB.current))return;let a=az.current;az.current=null,bH(`${a}\r`)},[aN,bu,bH]);let b4=(0,e.useRef)(null),[b5,b6]=(0,e.useState)(!1),b7=(0,e.useRef)(!1),b8=(0,e.useCallback)(()=>{if(!b4.current)return;Y(!0);let b=!b5,c=F?.terminalRatio??30;b6(b),b7.current=!0,b4.current.setLayout(b?{timeline:100,"terminal-area":0}:{timeline:100-c,"terminal-area":c}),H&&p&&E(a,p,{terminalCollapsed:b}),setTimeout(()=>{if(Y(!1),b7.current=!1,!br||"connected"!==bu)return;let{cols:a,rows:b}=bp();ad.current.sendResize(a,b)},150)},[b5,br,bu,bp,H,p,a,F?.terminalRatio,E]);(0,e.useEffect)(()=>{if(!b4.current)return;if(b7.current=!0,H){let a=F?.terminalRatio??30;b6(N),b4.current.setLayout(N?{timeline:100,"terminal-area":0}:{timeline:100-a,"terminal-area":a}),al()}else b4.current.setLayout({timeline:0,"terminal-area":100});let a=setTimeout(()=>{if(Y(!1),b7.current=!1,!br||"connected"!==bu)return;let{cols:a,rows:b}=bp();ad.current.sendResize(a,b),q&&(H?aQ&&aR(()=>an.current?.()):bq())},150);return()=>clearTimeout(a)},[H,p]),(0,e.useEffect)(()=>{q&&H&&aQ&&aR(()=>an.current?.())},[aQ]);let b9=0===o.length,ca=br&&("connected"===bu||O)&&!b9&&!Q,cb=!b9&&(!br||!O);return(0,d.jsxs)("div",{className:(0,aG.cn)("flex h-full flex-col overflow-hidden",t>1&&"border",t>1&&q?"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":q?"true":void 0,onClick:bS,onPointerDown:aS,onPointerUp:aT,children:[(0,d.jsx)(bw,{paneId:a,tabs:o,activeTabId:p,tabTitles:$,tabProcesses:_,isLoading:!1,error:null,isCreating:T,paneCount:t,isSplitting:u,onSwitchTab:bK,onCreateTab:bL,onDeleteTab:bM,onRenameTab:bP,onReorderTabs:bQ,onClosePane:()=>y(a),onMoveTab:bR,onFocusPane:bS,onRetry:()=>{}}),(0,d.jsxs)("div",{role:"tabpanel",className:"relative min-h-0 flex-1 flex flex-col",style:I||J?void 0:{backgroundColor:K.colors.background},onDragOver:I||J?void 0:bY,onDrop:I||J?void 0:bZ,children:[I&&p&&(0,d.jsx)(a6.default,{tabId:p,initialUrl:F?.webUrl,onUrlChange:bV},p),J&&F&&(0,d.jsx)(a7.default,{sessionName:F.sessionName,onSendToClaude:bU},F.sessionName),(0,d.jsxs)(ay,{groupRef:b4,orientation:"vertical",defaultLayout:H?(c=F?.terminalRatio??30,N?{timeline:100,"terminal-area":0}:{timeline:100-c,"terminal-area":c}):{timeline:0,"terminal-area":100},onLayoutChanged:b=>{if(b7.current||!H||!p)return;let c=b["terminal-area"];if(void 0===c)return;let d=c<=0,e={};if(d!==N&&(e.terminalCollapsed=d,b6(d)),!d){let a=Math.round(c);a!==(F?.terminalRatio??30)&&(e.terminalRatio=a)}(void 0!==e.terminalRatio||void 0!==e.terminalCollapsed)&&E(a,p,e)},className:(0,aG.cn)("min-h-0 flex-1",(I||J)&&"invisible absolute inset-0 pointer-events-none",X&&"[&>[data-panel]]:[transition:flex-grow_150ms_ease-out]"),children:[(0,d.jsx)(aA,{id:"timeline",minSize:0,collapsible:!0,collapsedSize:0,disabled:!H,children:(0,d.jsxs)("div",{className:(0,aG.cn)("flex h-full flex-col bg-card",b5&&"pb-3"),onDragOver:H?ba:void 0,onDrop:H?bi:void 0,children:[H&&F&&!cb&&p&&(0,d.jsx)(a2,{tabId:p,sessionName:F.sessionName,claudeSessionId:F.claudeSessionId,cwd:aa||F.cwd,onClose:()=>bT("terminal"),onNewSession:b1,scrollToBottomRef:au,addPendingMessageRef:av,removePendingMessageRef:aw,trustPrompt:aY,onTrustResponse:a$},F.sessionName),H&&!cb&&aQ&&(0,d.jsx)(a3.default,{tabId:p??void 0,wsId:ab??void 0,sessionName:F?.sessionName,claudeSessionId:F?.claudeSessionId,cliState:aM,sendStdin:bI,terminalWsConnected:"connected"===bu,visible:!0,focusTerminal:bq,focusInputRef:an,setInputValueRef:ao,onRestartSession:b2,onSend:a_,onOptimisticSend:a0,onAddPendingMessage:a1,onRemovePendingMessage:a8,attachFilesRef:ax},p),H&&!cb&&aQ&&p&&(0,d.jsx)(a4.default,{prompts:aU,visible:!0,onSelect:bj})]})}),(0,d.jsx)(aC,{className:(0,aG.cn)("group flex items-center justify-center overflow-hidden bg-card",H&&!b5?"h-3":"h-0"),disabled:!H||b5,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"})}),H&&(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:b8,children:[(0,d.jsx)(aF.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:b5?(0,d.jsx)(aE.default,{className:"h-3 w-3"}):(0,d.jsx)(aD.ChevronDown,{className:"h-3 w-3"})})]}),(0,d.jsx)(aA,{id:"terminal-area",minSize:0,collapsible:!0,collapsedSize:0,children:(0,d.jsx)("div",{className:"flex h-full flex-col",onMouseDown:()=>{aq.current=!0},children:(0,d.jsx)(aL.default,{ref:bl,minHeight:H?256:void 0,className:(0,aG.cn)("min-h-0 flex-1",ca?"opacity-100":"opacity-0",H&&"py-0 pl-2 pr-0.5")})})})]}),b9&&(0,d.jsx)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:(0,d.jsxs)(l.Button,{className:"gap-1.5",onClick:()=>bL(),disabled:T,children:[T?(0,d.jsx)(j.default,{className:"h-3 w-3"}):(0,d.jsx)(i.Plus,{className:"h-3.5 w-3.5"}),g("openNewTab")]})}),!b9&&"terminal"===G&&"disconnected"===bu&&"session-not-found"===bE&&p&&(0,d.jsx)(a9,{cwd:F?.cwd,lastCommand:F?.lastCommand,onRestartWithCommand:a=>bN(p,a),onRestartNew:()=>bN(p)}),aW&&(0,d.jsx)(bb,{onSwitch:b3,onDismiss:()=>aX(!1)}),bW&&(0,d.jsx)(bc,{hint:bX,onSubmit:b$,onDismiss:b_}),!b9&&!I&&!J&&(0,d.jsx)(a5.default,{status:bu,retryCount:bv,disconnectReason:bE,onReconnect:bG})]})]})});bE.displayName="PaneContainer";let bF=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,n.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,n.collectPanes)(b),o=new Map;m.forEach((a,b)=>{o.set(a.id,b+1)});let p=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},q=(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,n.getFirstPaneId)(a.children[0]),g=(0,n.getFirstPaneId)(a.children[1]),h="horizontal"===a.orientation,i=b.join("-")||"root";return(0,d.jsxs)(ay,{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)(aA,{id:"left",minSize:h?200:120,defaultSize:`${a.ratio}%`,children:q(a.children[0],[...b,0])}),(0,d.jsx)(aC,{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)(aA,{id:"right",minSize:h?200:120,defaultSize:`${100-a.ratio}%`,children:q(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=p(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:[q(b,[]),m.map(a=>(0,t.createPortal)((0,d.jsx)(bE,{paneId:a.id,paneNumber:o.get(a.id)??1}),p(a.id)))]})};var bG=a.i(75747),bH=a.i(604544),bI=a.i(708711);let bJ=()=>{let a=((a=3e3)=>{let[b,c]=(0,e.useState)(null);return(0,e.useEffect)(()=>{let b=bf.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,aJ.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 bK=a.i(365092),bL=a.i(895159);let bM=({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"})]}),bN=({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"})]}),bO=({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"})]}),bP=({activePaneId:a,root:b,paneCount:c,canSplit:g,isSplitting:h,onSplitPane:i,onEqualizeRatios:l,onUpdateTabPanelType:m})=>{let o=(0,f.useTranslations)("terminal"),p=(0,bu.default)()?"⌘":"Ctrl+",q=(0,bH.default)(),[s,t]=(0,e.useState)(!1),u=(0,n.collectPanes)(b),v=u.find(b=>b.id===a)??u[0],w=v?.tabs.find(a=>a.id===v.activeTabId),x=w?.panelType??"terminal",y=(0,r.default)(a=>w?.id?a.metadata[w.id]?.cwd:void 0),z=(0,aJ.default)(a=>a.editorUrl),A=(0,aJ.default)(a=>a.editorPreset),B=(0,e.useMemo)(()=>(0,bK.buildEditorUrl)(A,z,y||"/"),[A,z,y]),C=!!B&&(0,bK.isSafeEditorTarget)(B),D=!!B&&(0,bK.isWebEditorUrl)(B),E=C&&!D&&!0,F=E?o("editorRemoteNotSupported"):o("openEditor"),G=v?.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",...bf.default?{style:{WebkitAppRegion:"drag"}}:{},children:[(0,d.jsx)("div",{className:"mr-auto",...bf.default?{style:{WebkitAppRegion:"no-drag"}}:{},children:(0,d.jsx)(bJ,{})}),(0,d.jsx)(bk.TooltipProvider,{children:(0,d.jsxs)("div",{className:"flex items-center gap-1",...bf.default?{style:{WebkitAppRegion:"no-drag"}}:{},children:[(0,d.jsx)("div",{className:(0,aG.cn)("flex items-center gap-px border-r border-border pr-2",s&&"pointer-events-none opacity-80"),children:[{value:"terminal",label:"TERMINAL",mac:"⌘⇧T",other:"^⇧T"},{value:"claude-code",label:"CLAUDE",mac:"⌘⇧C",other:"^⇧C"},{value:"diff",label:"DIFF",mac:"⌘⇧F",other:"^⇧F"}].map(a=>(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("button",{className:(0,aG.cn)("rounded px-1.5 py-0.5 text-[10px] font-medium tracking-wide transition-colors",x===a.value?"bg-accent text-foreground":"text-muted-foreground/60 hover:text-muted-foreground"),onClick:()=>{var b;return b=a.value,void(s||!v||!w||b!==x&&(t(!0),m(v.id,w.id,b),setTimeout(()=>t(!1),150)))},children:a.label}),x!==a.value&&(0,d.jsx)(bI.default,{mac:a.mac,other:a.other,className:(0,aG.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",q?"opacity-100":"opacity-0")})]},a.value))}),"off"!==A&&(0,d.jsxs)(bk.Tooltip,{children:[(0,d.jsx)(bk.TooltipTrigger,{className:(0,aG.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",E?"cursor-not-allowed opacity-30":"hover:text-foreground"),"aria-disabled":E||void 0,onClick:()=>{if(E)return;if(!B)return void k.toast.info(o("editorUrlNotSet"));if(!C)return void k.toast.error(o("editorUrlNotSet"));if(D)return void window.open(B,"_blank","noopener,noreferrer");let a=window.electronAPI;if(a?.openExternal)return void a.openExternal(B);let b=document.createElement("iframe");b.style.display="none",b.src=B,document.body.appendChild(b),setTimeout(()=>b.remove(),1e3)},"aria-label":o("openEditor"),children:B?(0,d.jsx)(bL.EditorIcon,{preset:A,className:"h-3.5 w-3.5"}):(0,d.jsx)(bG.FolderCode,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bk.TooltipContent,{side:"bottom",children:F})]}),"off"!==A&&(0,d.jsx)("div",{className:"h-5 w-px bg-border"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bk.Tooltip,{children:[(0,d.jsx)(bk.TooltipTrigger,{className:(0,aG.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",g?"hover:text-foreground":"cursor-not-allowed opacity-30"),onClick:g&&G?()=>i(G,"horizontal"):void 0,disabled:!g,"aria-label":o("splitVertical"),children:h?(0,d.jsx)(j.default,{className:"h-3 w-3"}):(0,d.jsx)(bN,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bk.TooltipContent,{side:"bottom",children:o("splitVerticalShortcut",{shortcut:`${p}D`})})]}),(0,d.jsx)(bI.default,{mac:"⌘D",other:"^D",className:(0,aG.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",q?"opacity-100":"opacity-0")})]}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bk.Tooltip,{children:[(0,d.jsx)(bk.TooltipTrigger,{className:(0,aG.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",g?"hover:text-foreground":"cursor-not-allowed opacity-30"),onClick:g&&G?()=>i(G,"vertical"):void 0,disabled:!g,"aria-label":o("splitHorizontal"),children:h?(0,d.jsx)(j.default,{className:"h-3 w-3"}):(0,d.jsx)(bO,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bk.TooltipContent,{side:"bottom",children:o("splitHorizontalShortcut",{shortcut:`${p}⇧D`})})]}),(0,d.jsx)(bI.default,{mac:"⌘⇧D",other:"^⇧D",className:(0,aG.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",q?"opacity-100":"opacity-0")})]}),c>=2&&(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsxs)(bk.Tooltip,{children:[(0,d.jsx)(bk.TooltipTrigger,{className:"flex h-7 w-7 items-center justify-center text-muted-foreground hover:text-foreground",onClick:l,"aria-label":o("equalSplit"),children:(0,d.jsx)(bM,{className:"h-3.5 w-3.5"})}),(0,d.jsx)(bk.TooltipContent,{side:"bottom",children:o("equalSplit")})]}),(0,d.jsx)(bI.default,{mac:"⌘⌥=",other:"^⌥=",className:(0,aG.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",q?"opacity-100":"opacity-0")})]})]})})]})})};var bQ=a.i(501130),bR=a.i(493621);a.s(["default",0,()=>{let a=(0,f.useTranslations)("terminal"),b=(0,o.default)(a=>a.isLoading),c=(0,o.default)(a=>a.error),t=(0,o.default)(a=>a.activeWorkspaceId),u=(0,o.default)(a=>a.workspaces.length),v=(0,e.useRef)(null),w=(0,e.useRef)(null),x=(0,e.useCallback)(()=>{let b=v.current;b&&(o.default.getState().switchWorkspace(b),k.toast.error(a("cannotSwitch")))},[a]),y=(0,m.default)({workspaceId:t,onFetchError:x}),z=!!(y.layout&&!y.isLoading&&(0,n.collectPanes)(y.layout.root).every(a=>0===a.tabs.length)),A=y.layout?.updatedAt,B=(0,e.useRef)(null);(0,e.useEffect)(()=>{if(!y.layout||!A||B.current===A)return;B.current=A;let a={};for(let b of(0,n.collectPanes)(y.layout.root))for(let c of b.tabs)(c.title||c.cwd)&&(a[c.id]={title:c.title,cwd:c.cwd});r.default.getState().hydrate(a),(0,s.requestSync)()},[A]),(0,e.useEffect)(()=>{if(!y.layout)return;let a=new Set((0,n.collectPanes)(y.layout.root).flatMap(a=>a.tabs.map(a=>a.id)));r.default.getState().retainOnly(a)},[y.layout]),(0,bR.useAutoDeleteEmptyWorkspace)(z,y.clearLayout);let C=(0,e.useCallback)(a=>{let{activeWorkspaceId:b}=o.default.getState();a!==b&&(v.current=b,r.default.getState().reset(),y.clearLayout(),o.default.getState().switchWorkspace(a))},[y]);if((0,e.useEffect)(()=>(bQ.default.getState().register(C),()=>bQ.default.getState().unregister()),[C]),(({layout:a})=>{let b=(0,e.useRef)(a),c=(0,o.default)(a=>a.isSettingsDialogOpen),d=(0,o.default)(a=>a.isCheatSheetOpen),f=!c&&!d;(0,e.useEffect)(()=>{b.current=a},[a]),(0,p.default)("pane.split_right",()=>{let a=b.current;a.layout?.activePaneId&&a.canSplit&&a.splitPane(a.layout.activePaneId,"horizontal")},f),(0,p.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,n.findAdjacentPaneInDirection)(c.layout.root,c.layout.activePaneId,a);d&&c.focusPane(d)},[]);(0,p.default)("pane.focus_left",()=>g("left"),f),(0,p.default)("pane.focus_right",()=>g("right"),f),(0,p.default)("pane.focus_up",()=>g("up"),f),(0,p.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,n.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&&m.useLayoutStore.getState().updateRatio(d.path,f)},[]);(0,p.default)("pane.resize_left",()=>h("left"),f),(0,p.default)("pane.resize_right",()=>h("right"),f),(0,p.default)("pane.resize_up",()=>h("up"),f),(0,p.default)("pane.resize_down",()=>h("down"),f),(0,p.default)("pane.equalize",()=>m.useLayoutStore.getState().equalizeRatios(),f),(0,p.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,p.default)("tab.close",()=>{let a=b.current;if(!a.layout?.activePaneId)return;let c=q(a.layout);c?.activeTabId&&(1===c.tabs.length&&a.paneCount>1?a.closePane(c.id):a.deleteTabInPane(c.id,c.activeTabId))},f),(0,p.default)("tab.prev",()=>m.useLayoutStore.getState().focusPrevTab(),f),(0,p.default)("tab.next",()=>m.useLayoutStore.getState().focusNextTab(),f),(0,p.default)("pane.clear_screen",()=>{},f),(0,p.default)("tab.goto",a=>{let b=parseInt(a.code.replace("Digit",""),10);isNaN(b)||b<1||b>9||m.useLayoutStore.getState().focusTabByIndex(9===b?1/0:b-1)},f);let i=(0,e.useCallback)(a=>{let c=q(b.current.layout);if(!c?.activeTabId)return;let d=c.tabs.find(a=>a.id===c.activeTabId);d&&(d.panelType??"terminal")!==a&&m.useLayoutStore.getState().updateTabPanelType(c.id,c.activeTabId,a)},[]);(0,p.default)("view.mode_terminal",()=>i("terminal"),f),(0,p.default)("view.mode_claude",()=>i("claude-code"),f),(0,p.default)("view.mode_diff",()=>i("diff"),f)})({layout:y}),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)(j.default,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:a("connecting")})]})})]});if(c&&!u)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)(l.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:o.default.getState().fetchWorkspaces,children:[(0,d.jsx)(h.RefreshCw,{className:"h-3.5 w-3.5"}),a("retryAction")]})]});let D=!y.layout&&y.isLoading&&t;return(0,d.jsxs)("div",{className:"relative flex h-full w-full flex-col overflow-hidden bg-background",children:[y.layout&&!y.isLoading&&!z&&(0,d.jsx)(bP,{activePaneId:y.layout.activePaneId,root:y.layout.root,paneCount:y.paneCount,canSplit:y.canSplit,isSplitting:y.isSplitting,onSplitPane:y.splitPane,onEqualizeRatios:()=>w.current?.(),onUpdateTabPanelType:y.updateTabPanelType}),(0,d.jsxs)("div",{className:"relative min-h-0 flex-1",children:[D&&(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)(j.default,{className:"h-4 w-4 text-muted-foreground"})}),y.error&&!y.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:y.error}),(0,d.jsxs)(l.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>y.fetchLayout(),children:[(0,d.jsx)(h.RefreshCw,{className:"h-3.5 w-3.5"}),a("retryAction")]})]}),y.layout&&!y.isLoading&&!z&&(0,d.jsx)("div",{className:"h-full",children:(0,d.jsx)(bF,{root:y.layout.root,onUpdateRatio:y.updateRatio,onEqualizeRatios:y.equalizeRatios,equalizeRef:w})},t),!t&&!b&&!c&&(0,d.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,d.jsxs)(l.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:async()=>{let a=await o.default.getState().createWorkspace("");a&&o.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
@@ -37,6 +37,16 @@ purplemux api-guide
37
37
  (long-running builds, different project context, parallel exploration).
38
38
  - Poll \`status\` and read \`result\` to verify delegated work.
39
39
  - Prefer small, scoped tabs over cramming everything into one session.
40
+
41
+ ### Tab type notes
42
+
43
+ - **\`web-browser\` tabs**: Electron webviews, not tmux. The \`alive\` field in
44
+ \`tab list\` / \`tab status\` is always \`false\` for these — that is the normal
45
+ value, not a sign the tab is dead. Do not gate actions on \`alive\`. Use the
46
+ browser-specific HTTP endpoints (\`/browser/url\`, \`/browser/screenshot\`, …;
47
+ see \`purplemux api-guide\`) directly.
48
+ - **\`terminal\` / \`claude-code\` tabs**: run inside tmux, so \`alive\` is a valid
49
+ liveness signal.
40
50
  `;try{if(await b.default.readFile(e,"utf-8")===f)return e}catch{}return await b.default.writeFile(e,f,"utf-8"),e};var p=a.i(908597);let q=(0,g.createLogger)("workspace"),r="Workspace ",s=c.default.join(d.default.homedir(),".purplemux"),t=c.default.join(s,"workspaces.json");c.default.join(s,"layout.json"),c.default.join(s,"tabs.json");let u=globalThis;u.__purplemuxWorkspaceLock||(u.__purplemuxWorkspaceLock=Promise.resolve());let v=async a=>{let b,c=new Promise(a=>{b=a}),d=u.__purplemuxWorkspaceLock;u.__purplemuxWorkspaceLock=c,await d;try{return await a()}finally{b()}},w=async()=>{let a;try{a=await b.default.readFile(t,"utf-8")}catch{return null}try{let b=JSON.parse(a);for(let a of b.workspaces)!a.directories&&a.directory&&(a.directories=[a.directory],delete a.directory),delete a.order;for(let a of(Array.isArray(b.groups)||(b.groups=[]),b.groups))delete a.order;let c=new Set(b.groups.map(a=>a.id));for(let a of b.workspaces)a.groupId&&!c.has(a.groupId)&&(a.groupId=null);return b}catch{q.warn("Failed to parse workspaces.json, starting empty");try{await b.default.copyFile(t,t.replace(/\.json$/,".json.bak"))}catch{}return null}},x=async a=>{let c;a.groups||(a.groups=[]),c=a.groups,a.workspaces=(0,p.getVisuallyOrderedWorkspaces)(a.workspaces,c);let{workspaces:d,groups:e,activeWorkspaceId:f,sidebarCollapsed:g,sidebarWidth:i}=a,j=JSON.stringify({workspaces:d,groups:e??[],activeWorkspaceId:f,sidebarCollapsed:g,sidebarWidth:i});if(u.__purplemuxWorkspacesContentCache===j)return;a.updatedAt=new Date().toISOString();let k=t+".tmp";try{await b.default.writeFile(k,JSON.stringify(a,null,2),{mode:384}),await b.default.rename(k,t)}catch(a){throw await b.default.unlink(k).catch(()=>{}),a}u.__purplemuxWorkspacesContentCache=j,(0,h.broadcastSync)({type:"workspace"})},y=async()=>{let a=await w();return a?{workspaces:a.workspaces,groups:a.groups??[],activeWorkspaceId:a.activeWorkspaceId,sidebarCollapsed:a.sidebarCollapsed,sidebarWidth:a.sidebarWidth}:{workspaces:[],groups:[],sidebarCollapsed:!1,sidebarWidth:220}},z=async(a,d,f)=>v(async()=>{let g;try{g=await b.default.stat(a)}catch{throw Error("Directory does not exist")}if(!g.isDirectory())throw Error("Please enter a directory path, not a file");let h=await w()??{workspaces:[],groups:[],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:new Date().toISOString()},i=`ws-${(0,e.nanoid)(6)}`,j=d?.trim()||(a=>{let b=0;for(let c of a)if(c.name.startsWith(r)){let a=parseInt(c.name.slice(r.length),10);a>b&&(b=a)}return`${r}${b+1}`})(h.workspaces),k=await n(i,a,f);await b.default.mkdir(l(i),{recursive:!0}),await m(k,c.default.join(l(i),"layout.json"));let p={id:i,name:j,directories:[a]};return h.workspaces.push(p),await x(h),await o(p),q.debug(`Created: ${i} (${j}, ${a})`),p}),A=async(a,b)=>v(async()=>{let c=await w();if(!c)return;let d=c.workspaces.find(b=>b.id===a);d&&JSON.stringify(d.directories)!==JSON.stringify(b)&&(d.directories=b,await x(c),await o(d))});a.s(["createWorkspace",0,z,"getWorkspaces",0,y,"updateWorkspaceDirectories",0,A],796202)}];
41
51
 
42
52
  //# sourceMappingURL=src_lib_workspace-store_ts_00x-rec._.js.map