purplemux 0.1.21 → 0.2.0

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 (428) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +77 -77
  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 +13 -7
  6. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00glsnv._.js +3 -0
  7. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__05bsxq0._.js → [root-of-the-server]__00yjayf._.js} +2 -2
  8. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01.~37j._.js +3 -0
  9. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03l15.f._.js +3 -0
  10. package/.next/standalone/.next/server/chunks/[root-of-the-server]__045vzzi._.js +1 -1
  11. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04cr_m8._.js +3 -0
  12. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ff8o47._.js → [root-of-the-server]__04o.cbq._.js} +2 -2
  13. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05ij_ys._.js +42 -0
  14. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07gfnob._.js +3 -0
  15. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07xijrd._.js +3 -0
  16. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09gkm_6._.js +3 -0
  17. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_.po82._.js +3 -0
  18. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0auutl5._.js +5 -0
  19. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cjfc~l._.js +3 -0
  20. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l~_wd0._.js +1 -1
  21. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0m4quth._.js → [root-of-the-server]__0n61.a8._.js} +2 -2
  22. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ovn6yp._.js +3 -0
  23. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qvunc5._.js +3 -0
  24. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t1c-6w._.js +3 -0
  25. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__09w77m2._.js → [root-of-the-server]__0t7wqt6._.js} +2 -2
  26. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vi8p6v._.js +3 -0
  27. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w3m-oz._.js +3 -0
  28. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11j9~6h._.js +1 -1
  29. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0xn_0ft._.js → [root-of-the-server]__12ksl6n._.js} +3 -3
  30. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12nr~pb._.js +3 -0
  31. package/.next/standalone/.next/server/chunks/_0e8e4zn._.js +1 -1
  32. package/.next/standalone/.next/server/chunks/_0isokfh._.js +1 -1
  33. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_pages-api_00-t8sq.js +3 -0
  34. package/.next/standalone/.next/server/chunks/src_lib_136edwc._.js +3 -0
  35. package/.next/standalone/.next/server/chunks/src_lib_layout-store_ts_0fanx7c._.js +1 -1
  36. package/.next/standalone/.next/server/chunks/src_lib_session-parser_ts_0~rhicw._.js +1 -1
  37. package/.next/standalone/.next/server/chunks/src_lib_status-manager_ts_003hlhy._.js +13 -1
  38. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0au.ssp._.js +3 -0
  39. package/.next/standalone/.next/server/chunks/ssr/{_0_mc3i2._.js → _00ehnd~._.js} +2 -2
  40. package/.next/standalone/.next/server/chunks/ssr/{_0qejycp._.js → _00rrt71._.js} +1 -1
  41. package/.next/standalone/.next/server/chunks/ssr/_06yggfn._.js +1 -1
  42. package/.next/standalone/.next/server/chunks/ssr/{_0kjoxb9._.js → _08h9ynz._.js} +2 -2
  43. package/.next/standalone/.next/server/chunks/ssr/_08ytq3p._.js +1 -1
  44. package/.next/standalone/.next/server/chunks/ssr/{_0h~fc23._.js → _0_c~3id._.js} +2 -2
  45. package/.next/standalone/.next/server/chunks/ssr/{_0-xx2s1._.js → _0_owbnq._.js} +2 -2
  46. package/.next/standalone/.next/server/chunks/ssr/_0al4.z9._.js +1 -1
  47. package/.next/standalone/.next/server/chunks/ssr/_0b~zgl1._.js +1 -1
  48. package/.next/standalone/.next/server/chunks/ssr/{_0quk21n._.js → _0dg4_bi._.js} +2 -2
  49. package/.next/standalone/.next/server/chunks/ssr/{_0qy269j._.js → _0gp1meg._.js} +2 -2
  50. package/.next/standalone/.next/server/chunks/ssr/_0iy5a-w._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/ssr/_0js4l3t._.js +1 -1
  52. package/.next/standalone/.next/server/chunks/ssr/{_0fuovbm._.js → _0lnui2f._.js} +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/_0nkeoiw._.js +1 -1
  54. package/.next/standalone/.next/server/chunks/ssr/_0qbbxeq._.js +1 -1
  55. package/.next/standalone/.next/server/chunks/ssr/{_06.nllk._.js → _0rxhzwm._.js} +2 -2
  56. package/.next/standalone/.next/server/chunks/ssr/{_0g258pg._.js → _0sfctwm._.js} +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/{_0c0hpua._.js → _0ulmx3c._.js} +2 -2
  58. package/.next/standalone/.next/server/chunks/ssr/{_0k9ybcl._.js → _0wlh.pc._.js} +2 -2
  59. package/.next/standalone/.next/server/chunks/ssr/{_11wj.a4._.js → _0y5jzd3._.js} +1 -1
  60. package/.next/standalone/.next/server/chunks/ssr/_0z61aq-._.js +3 -0
  61. package/.next/standalone/.next/server/chunks/ssr/{_0lhf6qf._.js → _0~.theb._.js} +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/{_0si9.17._.js → _11rnj4l._.js} +2 -2
  63. package/.next/standalone/.next/server/chunks/ssr/{messages_127a4ox._.js → messages_046iw4z._.js} +1 -1
  64. package/.next/standalone/.next/server/chunks/ssr/{messages_005j2ko._.js → messages_0zr0cc7._.js} +1 -1
  65. package/.next/standalone/.next/server/chunks/ssr/messages_de_notification_json_[json]_cjs_02k70lx._.js +1 -1
  66. package/.next/standalone/.next/server/chunks/ssr/messages_de_session_json_[json]_cjs_0b-1vpl._.js +1 -1
  67. package/.next/standalone/.next/server/chunks/ssr/messages_de_settings_json_[json]_cjs_0ksu4_w._.js +1 -1
  68. package/.next/standalone/.next/server/chunks/ssr/messages_en_notification_json_[json]_cjs_0jqq879._.js +1 -1
  69. package/.next/standalone/.next/server/chunks/ssr/messages_en_session_json_[json]_cjs_0jaymfk._.js +1 -1
  70. package/.next/standalone/.next/server/chunks/ssr/messages_en_settings_json_[json]_cjs_0qwl-zt._.js +1 -1
  71. package/.next/standalone/.next/server/chunks/ssr/messages_es_notification_json_[json]_cjs_0q.i2xj._.js +1 -1
  72. package/.next/standalone/.next/server/chunks/ssr/messages_es_session_json_[json]_cjs_0jy1144._.js +1 -1
  73. package/.next/standalone/.next/server/chunks/ssr/messages_es_settings_json_[json]_cjs_0ce_kv6._.js +1 -1
  74. package/.next/standalone/.next/server/chunks/ssr/messages_fr_notification_json_[json]_cjs_0muj65q._.js +1 -1
  75. package/.next/standalone/.next/server/chunks/ssr/messages_fr_session_json_[json]_cjs_0rz0g.c._.js +1 -1
  76. package/.next/standalone/.next/server/chunks/ssr/messages_fr_settings_json_[json]_cjs_0h_6lba._.js +1 -1
  77. package/.next/standalone/.next/server/chunks/ssr/messages_ja_notification_json_[json]_cjs_03v~p7j._.js +1 -1
  78. package/.next/standalone/.next/server/chunks/ssr/messages_ja_session_json_[json]_cjs_0cos-uy._.js +1 -1
  79. package/.next/standalone/.next/server/chunks/ssr/messages_ja_settings_json_[json]_cjs_0pg~fls._.js +1 -1
  80. package/.next/standalone/.next/server/chunks/ssr/messages_ko_notification_json_[json]_cjs_0gx~jkl._.js +1 -1
  81. package/.next/standalone/.next/server/chunks/ssr/messages_ko_session_json_[json]_cjs_0x4saic._.js +1 -1
  82. package/.next/standalone/.next/server/chunks/ssr/messages_ko_settings_json_[json]_cjs_07xpfc8._.js +1 -1
  83. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_notification_json_[json]_cjs_02mo05m._.js +1 -1
  84. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_session_json_[json]_cjs_0-x8ftl._.js +1 -1
  85. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_settings_json_[json]_cjs_0frspzp._.js +1 -1
  86. package/.next/standalone/.next/server/chunks/ssr/messages_ru_notification_json_[json]_cjs_03crije._.js +1 -1
  87. package/.next/standalone/.next/server/chunks/ssr/messages_ru_session_json_[json]_cjs_0~2-kve._.js +1 -1
  88. package/.next/standalone/.next/server/chunks/ssr/messages_ru_settings_json_[json]_cjs_08ex00.._.js +1 -1
  89. package/.next/standalone/.next/server/chunks/ssr/messages_tr_notification_json_[json]_cjs_0g.576s._.js +1 -1
  90. package/.next/standalone/.next/server/chunks/ssr/messages_tr_session_json_[json]_cjs_0zsvt_4._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/ssr/messages_tr_settings_json_[json]_cjs_0piu0da._.js +1 -1
  92. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_notification_json_[json]_cjs_07v9on4._.js +1 -1
  93. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_session_json_[json]_cjs_134xza~._.js +1 -1
  94. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_settings_json_[json]_cjs_0uazwgy._.js +1 -1
  95. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_notification_json_[json]_cjs_0.ktzjy._.js +1 -1
  96. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_session_json_[json]_cjs_0mv_~-8._.js +1 -1
  97. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_settings_json_[json]_cjs_09u0c5l._.js +1 -1
  98. package/.next/standalone/.next/server/chunks/ssr/{node_modules_0cndrls._.js → node_modules_0kc8lix._.js} +2 -2
  99. package/.next/standalone/.next/server/chunks/ssr/src_05g_qd3._.js +1 -1
  100. package/.next/standalone/.next/server/chunks/ssr/{src_components_10v_9d0._.js → src_components_0cflin8._.js} +1 -1
  101. package/.next/standalone/.next/server/chunks/ssr/{src_components_04vn0dm._.js → src_components_0g.s~e7._.js} +1 -1
  102. package/.next/standalone/.next/server/chunks/ssr/{src_components_0gsv3ly._.js → src_components_0jrj_vu._.js} +1 -1
  103. package/.next/standalone/.next/server/chunks/ssr/{src_components_0iq~ool._.js → src_components_0rs9yzr._.js} +1 -1
  104. package/.next/standalone/.next/server/chunks/ssr/src_components_features_mobile_mobile-terminal-page_tsx_02chzch._.js +1 -1
  105. package/.next/standalone/.next/server/chunks/ssr/src_components_features_workspace_terminal-page_tsx_0wuq-jl._.js +1 -1
  106. package/.next/standalone/.next/server/chunks/ssr/src_hooks_use-browser-title_ts_0bw6.cb._.js +1 -1
  107. package/.next/standalone/.next/server/chunks/ssr/src_hooks_use-workspace-store_ts_0h40e5c._.js +1 -1
  108. package/.next/standalone/.next/server/chunks/ssr/src_lib_message-namespaces_ts_0wjpvu5._.js +3 -0
  109. package/.next/standalone/.next/server/middleware-build-manifest.js +77 -77
  110. package/.next/standalone/.next/server/pages/_app/build-manifest.json +7 -7
  111. package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
  112. package/.next/standalone/.next/server/pages/_app.js +4 -4
  113. package/.next/standalone/.next/server/pages/_app.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/pages/_error/build-manifest.json +2 -2
  115. package/.next/standalone/.next/server/pages/_error/client-build-manifest.json +1 -1
  116. package/.next/standalone/.next/server/pages/_error.js +2 -2
  117. package/.next/standalone/.next/server/pages/_error.js.nft.json +1 -1
  118. package/.next/standalone/.next/server/pages/api/check-claude.js +1 -1
  119. package/.next/standalone/.next/server/pages/api/check-claude.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js +1 -1
  121. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js +1 -1
  123. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js +1 -1
  125. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js +1 -1
  127. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js.nft.json +1 -1
  128. package/.next/standalone/.next/server/pages/api/cli/tabs.js +1 -1
  129. package/.next/standalone/.next/server/pages/api/cli/tabs.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/pages/api/cli/workspaces.js +1 -1
  131. package/.next/standalone/.next/server/pages/api/cli/workspaces.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/pages/api/git/branch.js +1 -1
  133. package/.next/standalone/.next/server/pages/api/git/branch.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/pages/api/git/status.js +1 -1
  135. package/.next/standalone/.next/server/pages/api/git/status.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/pages/api/layout/cwd.js +1 -1
  137. package/.next/standalone/.next/server/pages/api/layout/cwd.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/pages/api/layout/diff.js +1 -1
  139. package/.next/standalone/.next/server/pages/api/layout/diff.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js +1 -1
  141. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js +2 -2
  143. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.nft.json +1 -1
  144. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js +1 -1
  145. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +4 -4
  147. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js +1 -1
  149. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js.nft.json +1 -1
  150. package/.next/standalone/.next/server/pages/api/layout/pane.js +1 -1
  151. package/.next/standalone/.next/server/pages/api/layout/pane.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/pages/api/layout.js +1 -1
  153. package/.next/standalone/.next/server/pages/api/layout.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/pages/api/message-history.js +1 -1
  155. package/.next/standalone/.next/server/pages/api/message-history.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/pages/api/push/vapid-key.js +1 -1
  157. package/.next/standalone/.next/server/pages/api/push/vapid-key.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js +1 -1
  159. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js +1 -1
  161. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js +1 -1
  163. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/pages/api/stats/projects.js +1 -1
  165. package/.next/standalone/.next/server/pages/api/stats/projects.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/pages/api/stats/sessions.js +1 -1
  167. package/.next/standalone/.next/server/pages/api/stats/sessions.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/pages/api/stats/uptime.js +1 -1
  169. package/.next/standalone/.next/server/pages/api/stats/uptime.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/pages/api/status/hook.js +4 -4
  171. package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/pages/api/status/statusline.js +9 -1
  173. package/.next/standalone/.next/server/pages/api/status/statusline.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/pages/api/system/tmux-sessions.js +1 -1
  175. package/.next/standalone/.next/server/pages/api/system/tmux-sessions.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/pages/api/timeline/entries.js +1 -1
  177. package/.next/standalone/.next/server/pages/api/timeline/entries.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/pages/api/timeline/message-counts/pages-manifest.json +3 -0
  179. package/.next/standalone/.next/server/pages/api/timeline/message-counts.js +5 -0
  180. package/.next/standalone/.next/server/pages/api/timeline/message-counts.js.map +5 -0
  181. package/.next/standalone/.next/server/pages/api/timeline/message-counts.js.nft.json +1 -0
  182. package/.next/standalone/.next/server/pages/api/timeline/sessions.js +1 -1
  183. package/.next/standalone/.next/server/pages/api/timeline/sessions.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/pages/api/tmux/capture.js +1 -1
  185. package/.next/standalone/.next/server/pages/api/tmux/capture.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/pages/api/tmux/info.js +1 -1
  187. package/.next/standalone/.next/server/pages/api/tmux/info.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js +1 -1
  189. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/pages/api/tmux/plan-options.js +1 -1
  191. package/.next/standalone/.next/server/pages/api/tmux/plan-options.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +5 -5
  193. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/pages/api/tmux/reset.js +3 -3
  195. package/.next/standalone/.next/server/pages/api/tmux/reset.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/pages/api/tmux/send-input.js +1 -1
  197. package/.next/standalone/.next/server/pages/api/tmux/send-input.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js +1 -1
  199. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js.nft.json +1 -1
  200. package/.next/standalone/.next/server/pages/api/workspace/active.js +1 -1
  201. package/.next/standalone/.next/server/pages/api/workspace/active.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/pages/api/workspace/reorder.js +1 -1
  203. package/.next/standalone/.next/server/pages/api/workspace/reorder.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/pages/api/workspace/validate.js +1 -1
  205. package/.next/standalone/.next/server/pages/api/workspace/validate.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/pages/api/workspace.js +4 -4
  207. package/.next/standalone/.next/server/pages/api/workspace.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/pages/de/404.html +1 -1
  209. package/.next/standalone/.next/server/pages/de/500.html +1 -1
  210. package/.next/standalone/.next/server/pages/en/404.html +1 -1
  211. package/.next/standalone/.next/server/pages/en/500.html +1 -1
  212. package/.next/standalone/.next/server/pages/es/404.html +1 -1
  213. package/.next/standalone/.next/server/pages/es/500.html +1 -1
  214. package/.next/standalone/.next/server/pages/fr/404.html +1 -1
  215. package/.next/standalone/.next/server/pages/fr/500.html +1 -1
  216. package/.next/standalone/.next/server/pages/index/build-manifest.json +12 -12
  217. package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
  218. package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +6 -6
  219. package/.next/standalone/.next/server/pages/index.js +13 -13
  220. package/.next/standalone/.next/server/pages/index.js.nft.json +1 -1
  221. package/.next/standalone/.next/server/pages/ja/404.html +1 -1
  222. package/.next/standalone/.next/server/pages/ja/500.html +1 -1
  223. package/.next/standalone/.next/server/pages/ko/404.html +1 -1
  224. package/.next/standalone/.next/server/pages/ko/500.html +1 -1
  225. package/.next/standalone/.next/server/pages/login/build-manifest.json +10 -10
  226. package/.next/standalone/.next/server/pages/login/client-build-manifest.json +1 -1
  227. package/.next/standalone/.next/server/pages/login.js +2 -2
  228. package/.next/standalone/.next/server/pages/login.js.nft.json +1 -1
  229. package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
  230. package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
  231. package/.next/standalone/.next/server/pages/reports/build-manifest.json +16 -16
  232. package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
  233. package/.next/standalone/.next/server/pages/reports.js +9 -9
  234. package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
  235. package/.next/standalone/.next/server/pages/reset/build-manifest.json +2 -2
  236. package/.next/standalone/.next/server/pages/reset/client-build-manifest.json +1 -1
  237. package/.next/standalone/.next/server/pages/reset.js +3 -3
  238. package/.next/standalone/.next/server/pages/reset.js.nft.json +1 -1
  239. package/.next/standalone/.next/server/pages/ru/404.html +1 -1
  240. package/.next/standalone/.next/server/pages/ru/500.html +1 -1
  241. package/.next/standalone/.next/server/pages/stats/build-manifest.json +13 -13
  242. package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
  243. package/.next/standalone/.next/server/pages/stats/react-loadable-manifest.json +1 -1
  244. package/.next/standalone/.next/server/pages/stats.js +6 -6
  245. package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
  246. package/.next/standalone/.next/server/pages/tools-required/build-manifest.json +2 -2
  247. package/.next/standalone/.next/server/pages/tools-required/client-build-manifest.json +1 -1
  248. package/.next/standalone/.next/server/pages/tools-required.js +3 -3
  249. package/.next/standalone/.next/server/pages/tools-required.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/pages/tr/404.html +1 -1
  251. package/.next/standalone/.next/server/pages/tr/500.html +1 -1
  252. package/.next/standalone/.next/server/pages/webview/build-manifest.json +10 -10
  253. package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
  254. package/.next/standalone/.next/server/pages/webview.js +10 -10
  255. package/.next/standalone/.next/server/pages/webview.js.nft.json +1 -1
  256. package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
  257. package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
  258. package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
  259. package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
  260. package/.next/standalone/.next/server/pages-manifest.json +1 -0
  261. package/.next/standalone/.next/static/{dcByQy16pcz2rzj9snwtK → WXAyTQ0PHZnxXXCwEZpit}/_buildManifest.js +9 -8
  262. package/.next/standalone/.next/static/chunks/0-97ruc25d2lz.js +1 -0
  263. package/.next/standalone/.next/static/chunks/{17e9_m-u1zvfx.js → 0-xrsiia9hc.c.js} +1 -1
  264. package/.next/standalone/.next/static/chunks/{135rnnu.-sh80.js → 0.ecwkadp7-hq.js} +1 -1
  265. package/.next/standalone/.next/static/chunks/00nx1s6rpu537.js +1 -0
  266. package/.next/standalone/.next/static/chunks/{0nin7ftvq8x5c.js → 00ziyk306y55s.js} +1 -1
  267. package/.next/standalone/.next/static/chunks/{0kebzqtn4norb.js → 01-fb9rb-21.a.js} +1 -1
  268. package/.next/standalone/.next/static/chunks/{0dthloew7zc8k.js → 010m3dplwy4n6.js} +16 -16
  269. package/.next/standalone/.next/static/chunks/{0_7qn_xpf-6l~.js → 02mfn213kze9c.js} +2 -2
  270. package/.next/standalone/.next/static/chunks/02r-a1_lz7fuk.js +1 -0
  271. package/.next/standalone/.next/static/chunks/04bbxzycy0y90.js +1 -0
  272. package/.next/standalone/.next/static/chunks/{0y--b123-dayk.js → 04cl8pvql07vz.js} +1 -1
  273. package/.next/standalone/.next/static/chunks/{15wkoi26~8omr.js → 04f25y8yc8j00.js} +1 -1
  274. package/.next/standalone/.next/static/chunks/{02.xbkqbezb~v.js → 04uzwc8c9u49~.js} +1 -1
  275. package/.next/standalone/.next/static/chunks/05oh32ya2uzfq.js +1 -0
  276. package/.next/standalone/.next/static/chunks/06e51nokt~dtt.js +1 -0
  277. package/.next/standalone/.next/static/chunks/06ypydsl._u~2.js +5 -0
  278. package/.next/standalone/.next/static/chunks/07-xm--o034du.js +1 -0
  279. package/.next/standalone/.next/static/chunks/071neb1eikeoh.js +1 -0
  280. package/.next/standalone/.next/static/chunks/07i6~xrmgspp8.js +1 -0
  281. package/.next/standalone/.next/static/chunks/{0i7zwsw_~llk0.js → 07v3udp2qhc02.js} +1 -1
  282. package/.next/standalone/.next/static/chunks/{0kox55ju9c.e4.js → 088o~nd5em_1d.js} +1 -1
  283. package/.next/standalone/.next/static/chunks/{10_1w.i.mluxp.js → 08xz_z9u4ex9t.js} +1 -1
  284. package/.next/standalone/.next/static/chunks/{02119z8xemosp.js → 08yjqhf82rx~h.js} +1 -1
  285. package/.next/standalone/.next/static/chunks/095e2xf3z6x3g.js +23 -0
  286. package/.next/standalone/.next/static/chunks/{040hwmh16ihpj.js → 09agwg~-xbxbs.js} +1 -1
  287. package/.next/standalone/.next/static/chunks/09tinkgkd8br_.js +1 -0
  288. package/.next/standalone/.next/static/chunks/09vjzvj4~rwbf.js +1 -0
  289. package/.next/standalone/.next/static/chunks/{0puhant9cy0xw.js → 0__ve3txz-02p.js} +1 -1
  290. package/.next/standalone/.next/static/chunks/0a1hi9y0lwv3j.js +1 -0
  291. package/.next/standalone/.next/static/chunks/{0fzb0m-2k2x14.js → 0bzbaprexb9od.js} +1 -1
  292. package/.next/standalone/.next/static/chunks/{0ggsfsmm~hj5t.js → 0cfpdp0_-.4aj.js} +1 -1
  293. package/.next/standalone/.next/static/chunks/0chjvj73yfmoj.js +1 -0
  294. package/.next/standalone/.next/static/chunks/{0yi.kp2rt4-nc.js → 0ea-k_kbq5gi1.js} +1 -1
  295. package/.next/standalone/.next/static/chunks/{082eokcz_e-4q.js → 0f81tdf_8utww.js} +1 -1
  296. package/.next/standalone/.next/static/chunks/{14ajlpt1s6ueh.js → 0ff6a07hvp4pu.js} +2 -2
  297. package/.next/standalone/.next/static/chunks/{105.cpxealiud.js → 0fotmrplo6yc7.js} +1 -1
  298. package/.next/standalone/.next/static/chunks/{0h_vfy~qxk1_6.js → 0h-7ntqpip4oi.js} +1 -1
  299. package/.next/standalone/.next/static/chunks/{0wvyw8fxpnmre.js → 0h~_fdj60t_~l.js} +1 -1
  300. package/.next/standalone/.next/static/chunks/{04_s.sj1oagqr.js → 0i2uqmry6cyl_.js} +1 -1
  301. package/.next/standalone/.next/static/chunks/0if5fmp94~nc2.js +12 -0
  302. package/.next/standalone/.next/static/chunks/{1235zq5em7nh2.js → 0iw7xjsfo1v-u.js} +10 -10
  303. package/.next/standalone/.next/static/chunks/0jxk8j~j30thp.js +1 -0
  304. package/.next/standalone/.next/static/chunks/{0_eof.53ko6d_.js → 0lz-p_awksh5e.js} +1 -1
  305. package/.next/standalone/.next/static/chunks/0m_amua611xl0.js +5 -0
  306. package/.next/standalone/.next/static/chunks/0nyar-7g9rya6.js +1 -0
  307. package/.next/standalone/.next/static/chunks/0o6esya.vhm1..js +1 -0
  308. package/.next/standalone/.next/static/chunks/0oxlivdn8c89b.js +1 -0
  309. package/.next/standalone/.next/static/chunks/{0iiahbpxxksju.js → 0p1vmcv-mlsg5.js} +1 -1
  310. package/.next/standalone/.next/static/chunks/{14067kbmixmm6.js → 0pw-284q1gfk3.js} +1 -1
  311. package/.next/standalone/.next/static/chunks/{0turlr93lvkg8.js → 0t0-4sn-nqqld.js} +1 -1
  312. package/.next/standalone/.next/static/chunks/{09jl7_l-yth-3.js → 0t76mt4_ijxw7.js} +1 -1
  313. package/.next/standalone/.next/static/chunks/{0_nr91n2-npr6.js → 0u-1zto-umjh9.js} +1 -1
  314. package/.next/standalone/.next/static/chunks/{0x4khblf0c7-p.js → 0u9~wuf2zbs5z.js} +1 -1
  315. package/.next/standalone/.next/static/chunks/{0krb2wvo2_ipb.js → 0unvbz84l4g9h.js} +1 -1
  316. package/.next/standalone/.next/static/chunks/{12up4kbv36k4r.js → 0w52yh2srwcs0.js} +2 -2
  317. package/.next/standalone/.next/static/chunks/{0ml0ppx6kwe2_.js → 0w9~wt6~_cxhf.js} +1 -1
  318. package/.next/standalone/.next/static/chunks/0wp13r5su.j3e.js +1 -0
  319. package/.next/standalone/.next/static/chunks/{0e~.6y_x93o06.js → 0y3fmkya..f_6.js} +13 -13
  320. package/.next/standalone/.next/static/chunks/0~ei.a78nuwqe.js +1 -0
  321. package/.next/standalone/.next/static/chunks/{0hqhf5soi_25r.js → 0~lnp45fxxtgz.js} +1 -1
  322. package/.next/standalone/.next/static/chunks/0~nlz9.lltzrz.js +1 -0
  323. package/.next/standalone/.next/static/chunks/10bvbbw1062os.js +1 -0
  324. package/.next/standalone/.next/static/chunks/{01sxhicgu6p69.js → 11ess6mn2988z.js} +10 -10
  325. package/.next/standalone/.next/static/chunks/11gch78bg_qsn.js +1 -0
  326. package/.next/standalone/.next/static/chunks/{0zzlz_qu90xvc.js → 11nk1lwom62oe.js} +1 -1
  327. package/.next/standalone/.next/static/chunks/{0sj1hijbxwqzi.js → 131tx--pi8.tm.js} +1 -1
  328. package/.next/standalone/.next/static/chunks/13zzmkwag6vsm.css +1 -0
  329. package/.next/standalone/.next/static/chunks/13~7v30_nnqks.js +1 -0
  330. package/.next/standalone/.next/static/chunks/{0arxgyek93av0.js → 17deooyefr~9o.js} +1 -1
  331. package/.next/standalone/.next/static/chunks/{0jhs9_arn872p.js → 17e2iymrk7eoa.js} +1 -1
  332. package/.next/standalone/.next/static/chunks/{0kima6zc7cl2p.js → 17et6y09q052u.js} +1 -1
  333. package/.next/standalone/.next/static/chunks/17jcucuef_33-.js +1 -0
  334. package/.next/standalone/.next/static/chunks/{turbopack-11cbtg95iwob2.js → turbopack-0-itu0o9y_vq8.js} +1 -1
  335. package/.next/standalone/.next/static/chunks/{turbopack-0t_pmdbcbax~k.js → turbopack-0.28.d-q12n3p.js} +1 -1
  336. package/.next/standalone/.next/static/chunks/{turbopack-0tl7oxj3760qz.js → turbopack-0.4ipr_kch~.s.js} +1 -1
  337. package/.next/standalone/.next/static/chunks/{turbopack-02re16zyko_-d.js → turbopack-0g80nrinbfgtk.js} +1 -1
  338. package/.next/standalone/.next/static/chunks/{turbopack-03ch5ephon-wk.js → turbopack-0h0~tr4tgq3aa.js} +1 -1
  339. package/.next/standalone/.next/static/chunks/{turbopack-0k.5aa0_xv2hq.js → turbopack-0hwi_g-tegs_u.js} +1 -1
  340. package/.next/standalone/.next/static/chunks/{turbopack-0au9jjcv_8-gl.js → turbopack-0np.oib7-.1fp.js} +1 -1
  341. package/.next/standalone/.next/static/chunks/{turbopack-02yx2w1m.5ub9.js → turbopack-0qmx66h203l93.js} +1 -1
  342. package/.next/standalone/.next/static/chunks/{turbopack-0vqdj~g~ggw3x.js → turbopack-11utvoktq4lmr.js} +1 -1
  343. package/.next/standalone/messages/de/notification.json +3 -1
  344. package/.next/standalone/messages/de/session.json +5 -2
  345. package/.next/standalone/messages/de/settings.json +22 -1
  346. package/.next/standalone/messages/en/notification.json +3 -1
  347. package/.next/standalone/messages/en/session.json +5 -2
  348. package/.next/standalone/messages/en/settings.json +20 -1
  349. package/.next/standalone/messages/es/notification.json +3 -1
  350. package/.next/standalone/messages/es/session.json +5 -2
  351. package/.next/standalone/messages/es/settings.json +22 -1
  352. package/.next/standalone/messages/fr/notification.json +3 -1
  353. package/.next/standalone/messages/fr/session.json +5 -2
  354. package/.next/standalone/messages/fr/settings.json +22 -1
  355. package/.next/standalone/messages/ja/notification.json +3 -1
  356. package/.next/standalone/messages/ja/session.json +5 -2
  357. package/.next/standalone/messages/ja/settings.json +22 -1
  358. package/.next/standalone/messages/ko/notification.json +3 -1
  359. package/.next/standalone/messages/ko/session.json +5 -2
  360. package/.next/standalone/messages/ko/settings.json +20 -1
  361. package/.next/standalone/messages/pt-BR/notification.json +3 -1
  362. package/.next/standalone/messages/pt-BR/session.json +5 -2
  363. package/.next/standalone/messages/pt-BR/settings.json +22 -1
  364. package/.next/standalone/messages/ru/notification.json +3 -1
  365. package/.next/standalone/messages/ru/session.json +5 -2
  366. package/.next/standalone/messages/ru/settings.json +22 -1
  367. package/.next/standalone/messages/tr/notification.json +3 -1
  368. package/.next/standalone/messages/tr/session.json +5 -2
  369. package/.next/standalone/messages/tr/settings.json +22 -1
  370. package/.next/standalone/messages/zh-CN/notification.json +3 -1
  371. package/.next/standalone/messages/zh-CN/session.json +5 -2
  372. package/.next/standalone/messages/zh-CN/settings.json +22 -1
  373. package/.next/standalone/messages/zh-TW/notification.json +3 -1
  374. package/.next/standalone/messages/zh-TW/session.json +5 -2
  375. package/.next/standalone/messages/zh-TW/settings.json +22 -1
  376. package/.next/standalone/package.json +4 -5
  377. package/.next/standalone/server.js +1 -1
  378. package/dist/server.js +219 -244
  379. package/package.json +4 -5
  380. package/.next/standalone/.next/server/chunks/[root-of-the-server]__019s3sg._.js +0 -15
  381. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02d5mfa._.js +0 -3
  382. package/.next/standalone/.next/server/chunks/[root-of-the-server]__050uepg._.js +0 -3
  383. package/.next/standalone/.next/server/chunks/[root-of-the-server]__093j355._.js +0 -3
  384. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cy9s8s._.js +0 -3
  385. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dn3vc8._.js +0 -5
  386. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g99747._.js +0 -3
  387. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ge7g~x._.js +0 -3
  388. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0iqf2xr._.js +0 -15
  389. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ky2xd.._.js +0 -3
  390. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l806ne._.js +0 -3
  391. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mm5n3z._.js +0 -15
  392. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0psi612._.js +0 -3
  393. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qtw~r6._.js +0 -3
  394. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ysyw3z._.js +0 -3
  395. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~7f-os._.js +0 -3
  396. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10b7n-k._.js +0 -3
  397. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0-e2yqy._.js +0 -3
  398. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vwkkwh._.js +0 -3
  399. package/.next/standalone/.next/server/chunks/ssr/_0mu2snc._.js +0 -3
  400. package/.next/standalone/.next/static/chunks/0.me5n9dvrgga.js +0 -1
  401. package/.next/standalone/.next/static/chunks/04u8dbn0ogxqm.js +0 -5
  402. package/.next/standalone/.next/static/chunks/0617badw.sq7c.js +0 -1
  403. package/.next/standalone/.next/static/chunks/06ik0y0xz_pxd.js +0 -5
  404. package/.next/standalone/.next/static/chunks/06~0v3h-9qr-b.js +0 -1
  405. package/.next/standalone/.next/static/chunks/0_iwf7xd96dhg.js +0 -1
  406. package/.next/standalone/.next/static/chunks/0b.80wy8lilvw.js +0 -1
  407. package/.next/standalone/.next/static/chunks/0c9nugbfmzaq4.js +0 -23
  408. package/.next/standalone/.next/static/chunks/0da0otp~vxk80.js +0 -1
  409. package/.next/standalone/.next/static/chunks/0diujbo1qkcle.css +0 -1
  410. package/.next/standalone/.next/static/chunks/0ep6reedai0y6.js +0 -1
  411. package/.next/standalone/.next/static/chunks/0f6dlhth6ll0c.js +0 -12
  412. package/.next/standalone/.next/static/chunks/0j.bb896cs98k.js +0 -1
  413. package/.next/standalone/.next/static/chunks/0j630d8~~4rbz.js +0 -1
  414. package/.next/standalone/.next/static/chunks/0k7kp5g9etss9.js +0 -1
  415. package/.next/standalone/.next/static/chunks/0ng68zj-fjm.w.js +0 -1
  416. package/.next/standalone/.next/static/chunks/0nsq-sayv38ks.js +0 -1
  417. package/.next/standalone/.next/static/chunks/0nvalz7iwy6qc.js +0 -1
  418. package/.next/standalone/.next/static/chunks/0rr7vbxqscvhw.js +0 -1
  419. package/.next/standalone/.next/static/chunks/0s66~z6yys6zz.js +0 -1
  420. package/.next/standalone/.next/static/chunks/0s8imclb5deef.js +0 -1
  421. package/.next/standalone/.next/static/chunks/0u7flh--27u75.js +0 -1
  422. package/.next/standalone/.next/static/chunks/0vrlsk_eqnj7q.js +0 -1
  423. package/.next/standalone/.next/static/chunks/0vw93vbkgsb1a.js +0 -1
  424. package/.next/standalone/.next/static/chunks/12i5z~h-3ys7k.js +0 -1
  425. package/.next/standalone/.next/static/chunks/171khl108g-m8.js +0 -1
  426. package/.next/standalone/.next/static/chunks/17fzeqm4m_x67.js +0 -1
  427. /package/.next/standalone/.next/static/{dcByQy16pcz2rzj9snwtK → WXAyTQ0PHZnxXXCwEZpit}/_clientMiddlewareManifest.js +0 -0
  428. /package/.next/standalone/.next/static/{dcByQy16pcz2rzj9snwtK → WXAyTQ0PHZnxXXCwEZpit}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,852085,673598,e=>{"use strict";var t,n,r=e.i(191788),s=e.i(399267);e.s(["default",0,e=>{let t=(0,s.default)(e=>(0,s.selectGlobalStatus)(e.tabs).attentionCount);(0,r.useEffect)(()=>{try{document.title=t>0?`(${t}) ${e}`:e}catch{}},[t,e])}],852085);var a=e.i(391398),o=e.i(168489),i=e.i(266231),l=e.i(203828),u=e.i(352819),c=e.i(406268),d=e.i(369547);let p=(0,d.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);var m=e.i(939310),f=e.i(569479),g=e.i(212283),h=e.i(509984),x=e.i(498817),v=e.i(198311),b=e.i(117653),y=e.i(770084),S=e.i(889461),w=e.i(721614),j=e.i(576255),k=e.i(408849),R=e.i(850520),N=e.i(875284),I=e.i(533538),C=e.i(295746),E=e.i(722896),T=e.i(391756),A=e.i(199648),M=e.i(494834),O=e.i(529511),P=e.i(353533),D=e.i(490034),L=e.i(116962),W=e.i(982960),F=e.i(335288),_=e.i(806185);let U=e=>e.replace(/```[\s\S]*?```/g,"").replace(/`([^`]+)`/g,"$1").replace(/!\[.*?\]\(.*?\)/g,"").replace(/\[([^\]]+)\]\(.*?\)/g,"$1").replace(/^#{1,6}\s+/gm,"").replace(/(\*\*|__)(.*?)\1/g,"$2").replace(/(\*|_)(.*?)\1/g,"$2").replace(/~~(.*?)~~/g,"$1").replace(/^[>\s]*>/gm,"").replace(/^[-*+]\s+/gm,"").replace(/^\d+\.\s+/gm,"").replace(/^---+$/gm,"").replace(/\n{2,}/g," ").replace(/\s+/g," ").trim(),H={Read:j.FileText,Edit:k.FilePen,Write:R.FilePlus,Bash:N.Terminal,Grep:I.Search,Glob:I.Search,Agent:C.Users},B={layout:!0,initial:{opacity:0,y:-6},animate:{opacity:1,y:0},exit:{opacity:0,scale:.92},transition:{duration:.2,ease:[.2,.8,.2,1]}},G=()=>{let e=(0,s.default)(e=>e.tabs);return(0,r.useMemo)(()=>{let t=0,n=0;for(let r of Object.values(e))"busy"===r.cliState?t++:("ready-for-review"===r.cliState||"needs-input"===r.cliState)&&n++;return{busyCount:t,attentionCount:n}},[e])},$=(e,t,n)=>{let r=new Map(t.map(e=>[e.id,e.name])),s=[];for(let[t,a]of Object.entries(e))a.cliState===n&&s.push({tabId:t,workspaceName:r.get(a.workspaceId)||a.workspaceId,workspaceId:a.workspaceId,lastUserMessage:a.lastUserMessage,lastAssistantMessage:a.lastAssistantMessage,currentAction:a.currentAction,readyForReviewAt:a.readyForReviewAt,busySince:a.busySince,dismissedAt:a.dismissedAt,claudeSessionId:a.claudeSessionId});return s.sort((e,t)=>{let n=e.readyForReviewAt??e.busySince??0;return(t.readyForReviewAt??t.busySince??0)-n}),s},V=e=>{let t=(0,M.default)(e),n=(0,M.default)();return 60>n.diff(t,"minute")?t.fromNow():t.isAfter(n.startOf("day"))?t.format("HH:mm"):t.format("M/D HH:mm")},z=({entry:e,isActiveSession:t,compact:n,icon:s,onClick:o})=>{let i=(0,u.useTranslations)("notification"),l=(0,r.useMemo)(()=>{let t=Math.round(e.duration/6e4);return t<1?i("durationUnderMinute"):i("durationMinutes",{count:t})},[e.duration,i]),c=(0,r.useMemo)(()=>{let t=[];e.touchedFiles.length>0&&t.push(i("filesModified",{count:e.touchedFiles.length}));let n=Object.values(e.toolUsage).reduce((e,t)=>e+t,0);return n>0&&0===e.touchedFiles.length&&t.push(i("toolCalls",{count:n})),t.join(" · ")},[e.touchedFiles,e.toolUsage,i]);return n?(0,a.jsxs)("div",{className:"rounded px-2 py-1.5 transition-colors hover:bg-muted cursor-pointer",onClick:o,children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[e.prompt?(0,a.jsx)("p",{className:"truncate text-xs text-foreground/70",children:U(e.prompt)}):(0,a.jsx)("span",{}),(0,a.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground/40",children:V(e.completedAt)})]}),(0,a.jsxs)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground/40",children:[l,c&&` \xb7 ${c}`]})]}):(0,a.jsxs)("div",{className:(0,P.cn)("flex items-start gap-3 rounded-md px-3 py-2.5 transition-colors",t?"bg-claude-active/10":"hover:bg-muted cursor-pointer"),onClick:t?void 0:o,children:[(0,a.jsx)("span",{className:"mt-1 shrink-0",children:s??(e.cancelled?(0,a.jsx)(T.XCircle,{className:"h-3.5 w-3.5 text-muted-foreground/50"}):(0,a.jsx)(S.CheckCircle2,{className:(0,P.cn)("h-3.5 w-3.5",e.dismissedAt?"text-muted-foreground":"text-muted-foreground/50")}))}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:e.workspaceName}),(0,a.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground/60",children:V(e.completedAt)})]}),e.prompt&&(0,a.jsx)("p",{className:(0,P.cn)("mt-0.5 truncate text-sm",t?"text-foreground":"text-muted-foreground"),children:U(e.prompt)}),e.result&&(0,a.jsx)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground/50",children:U(e.result)}),(0,a.jsxs)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground/50",children:[l,c&&` \xb7 ${c}`]})]})]})},K=({item:e,showActions:t,variant:n,isActiveTab:r,onDismiss:s,onNavigate:o})=>{let i=(0,u.useTranslations)("notification"),l=e.currentAction;return(0,a.jsxs)("div",{className:(0,P.cn)("flex items-start gap-3 rounded-md px-3 py-2.5 transition-colors",r?"bg-claude-active/10":"hover:bg-muted cursor-pointer"),onClick:r?void 0:()=>o?.(e.workspaceId,e.tabId),children:[(0,a.jsx)("span",{className:"mt-1 shrink-0",children:"done"===n?(0,a.jsx)(S.CheckCircle2,{className:"h-3.5 w-3.5 text-muted-foreground/50"}):"needs-input"===n?(0,a.jsx)("span",{className:"block h-2 w-2 rounded-full bg-ui-amber animate-pulse"}):t?(0,a.jsx)("span",{className:"mt-px block h-2 w-2 rounded-full bg-claude-active"}):(0,a.jsx)(A.default,{className:"h-3 w-3 text-claude-active/70"})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:e.workspaceName}),(e.dismissedAt||e.readyForReviewAt||e.busySince)&&(0,a.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground/60",children:V(e.dismissedAt??e.readyForReviewAt??e.busySince)})]}),e.lastUserMessage&&(0,a.jsx)("p",{className:(0,P.cn)("mt-0.5 truncate text-sm",r?"text-foreground":"text-muted-foreground"),children:U(e.lastUserMessage)}),"done"===n?e.lastAssistantMessage&&(0,a.jsx)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground/50",children:U(e.lastAssistantMessage)}):!n&&(0,a.jsx)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground/60",children:(()=>{if(!l)return t?null:i("starting");let e=l.toolName?H[l.toolName]??E.Wrench:null;return(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 min-w-0",children:[e&&(0,a.jsx)(e,{size:11,className:"shrink-0 text-muted-foreground/40"}),(0,a.jsx)("span",{className:"truncate",children:l.summary})]})})()}),t&&!r&&(0,a.jsx)("div",{className:"mt-2 flex items-center gap-1.5",children:(0,a.jsxs)(m.Button,{variant:"outline",size:"sm",className:"h-6 px-2 text-xs",onClick:t=>{t.stopPropagation(),s?.(e.tabId)},children:[(0,a.jsx)(y.Check,{className:"mr-1 h-3 w-3"}),i("dismiss")]})})]})]})},Y=({onNavigated:e,className:t})=>{let n,o=(0,u.useTranslations)("notification"),i=(0,s.default)(e=>e.tabs),c=(0,D.default)(e=>e.workspaces),{id:d,claudeSessionId:p}=(n="/"===(0,l.useRouter)().pathname,(0,F.useLayoutStore)((0,b.useShallow)(e=>{if(!n||!e.layout?.activePaneId)return{id:null,claudeSessionId:null};let t=(0,_.findPane)(e.layout.root,e.layout.activePaneId);if(!t?.activeTabId)return{id:null,claudeSessionId:null};let r=t.tabs.find(e=>e.id===t.activeTabId);return{id:t.activeTabId,claudeSessionId:r?.claudeSessionId??null}}))),f=(0,L.default)(e=>e.entries),g=(0,r.useMemo)(()=>{let e=new Map;for(let[t,n]of Object.entries(i))n.claudeSessionId&&e.set(n.claudeSessionId,t);return e},[i]),[h,S]=(0,r.useState)(new Set),j=(0,r.useMemo)(()=>$(i,c,"busy"),[i,c]),k=(0,r.useMemo)(()=>$(i,c,"needs-input"),[i,c]),R=(0,r.useMemo)(()=>$(i,c,"ready-for-review"),[i,c]),N=(0,r.useMemo)(()=>{let e=new Set;for(let[,t]of Object.entries(i))("busy"===t.cliState||"needs-input"===t.cliState||"ready-for-review"===t.cliState)&&t.claudeSessionId&&e.add(t.claudeSessionId);return e},[i]),I=(0,r.useMemo)(()=>{let e=new Set;for(let[,t]of Object.entries(i))"ready-for-review"===t.cliState&&t.claudeSessionId&&e.add(t.claudeSessionId);return e},[i]),C=(0,r.useMemo)(()=>{let e=new Map;for(let t of f){if(!t.claudeSessionId||!I.has(t.claudeSessionId))continue;let n=e.get(t.claudeSessionId);(!n||t.completedAt>n.completedAt)&&e.set(t.claudeSessionId,t)}return e},[f,I]),E=(0,r.useMemo)(()=>{var e=N.size>0?f.filter(e=>!e.claudeSessionId||!N.has(e.claudeSessionId)):f;let t=new Map;for(let n of e){let e=n.claudeSessionId??n.id,r=t.get(e);r?r.push(n):t.set(e,[n])}let n=[];for(let[e,r]of t)r.sort((e,t)=>t.completedAt-e.completedAt),n.push({sessionId:e,tabId:r[0].tabId,workspaceName:r[0].workspaceName,latestEntry:r[0],olderEntries:r.slice(1)});return n.sort((e,t)=>t.latestEntry.completedAt-e.latestEntry.completedAt),n},[f,N]),T=(0,r.useMemo)(()=>(e=>{let t=(0,M.default)().startOf("day"),n=t.subtract(1,"day"),r=t.subtract(6,"day"),s={today:[],yesterday:[],thisWeek:[],older:[]};for(let a of e){let e=(0,M.default)(a.latestEntry.completedAt);e.isAfter(t)?s.today.push(a):e.isAfter(n)?s.yesterday.push(a):e.isAfter(r)?s.thisWeek.push(a):s.older.push(a)}return["today","yesterday","thisWeek","older"].filter(e=>s[e].length>0).map(e=>({group:e,sessions:s[e]}))})(E),[E]),A=(0,r.useCallback)(e=>{S(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),O=(0,r.useCallback)(e=>{(0,W.dismissTab)(e)},[]),U=(0,r.useCallback)((t,n)=>{(0,F.navigateToTab)(t,n),e?.()},[e]),H=(0,r.useCallback)((t,n)=>{e?.(),n?(0,F.navigateToTab)(t.workspaceId,n):(0,F.navigateToTabOrCreate)(t.workspaceId,t.tabId,t.claudeSessionId,t.workspaceName,t.workspaceDir)},[e]),G=0===j.length&&0===k.length&&0===R.length&&0===T.length;return(0,a.jsx)("div",{className:(0,P.cn)("flex-1 overflow-y-auto",t),style:{scrollbarWidth:"none"},children:G?(0,a.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground",children:o("empty")}):(0,a.jsxs)(a.Fragment,{children:[j.length>0&&(0,a.jsxs)("section",{children:[(0,a.jsx)("h3",{className:"mb-2 text-xs font-medium text-muted-foreground",children:o("busySection",{count:j.length})}),(0,a.jsx)("div",{className:"flex flex-col gap-2",children:(0,a.jsx)(x.AnimatePresence,{mode:"popLayout",initial:!1,children:j.map(e=>(0,a.jsx)(v.motion.div,{...B,children:(0,a.jsx)(K,{item:e,showActions:!1,isActiveTab:e.tabId===d,onNavigate:U})},e.tabId))})})]}),k.length>0&&(0,a.jsxs)("section",{className:j.length>0?"mt-4":"",children:[(0,a.jsx)("h3",{className:"mb-2 text-xs font-medium text-muted-foreground",children:o("needsInputSection",{count:k.length})}),(0,a.jsx)("div",{className:"flex flex-col gap-2",children:(0,a.jsx)(x.AnimatePresence,{mode:"popLayout",initial:!1,children:k.map(e=>(0,a.jsx)(v.motion.div,{...B,children:(0,a.jsx)(K,{item:e,showActions:!1,variant:"needs-input",isActiveTab:e.tabId===d,onNavigate:U})},e.tabId))})})]}),R.length>0&&(0,a.jsxs)("section",{className:j.length>0||k.length>0?"mt-4":"",children:[(0,a.jsx)("h3",{className:"mb-2 text-xs font-medium text-muted-foreground",children:o("reviewSection",{count:R.length})}),(0,a.jsx)("div",{className:"flex flex-col gap-2",children:(0,a.jsx)(x.AnimatePresence,{mode:"popLayout",initial:!1,children:R.map(e=>{let t=e.claudeSessionId?C.get(e.claudeSessionId):void 0,n=e.tabId===d;return t?(0,a.jsxs)(v.motion.div,{...B,children:[(0,a.jsx)(z,{entry:t,isActiveSession:n,icon:(0,a.jsx)("span",{className:"mt-px block h-2 w-2 rounded-full bg-claude-active"}),onClick:n?void 0:()=>U(e.workspaceId,e.tabId)}),!n&&(0,a.jsx)("div",{className:"mt-1 flex items-center pl-9",children:(0,a.jsxs)(m.Button,{variant:"outline",size:"sm",className:"h-6 px-2 text-xs",onClick:()=>O(e.tabId),children:[(0,a.jsx)(y.Check,{className:"mr-1 h-3 w-3"}),o("dismiss")]})})]},e.tabId):(0,a.jsx)(v.motion.div,{...B,children:(0,a.jsx)(K,{item:e,showActions:!0,isActiveTab:n,onDismiss:O,onNavigate:U})},e.tabId)})})})]}),T.length>0&&(0,a.jsxs)("section",{className:j.length>0||k.length>0||R.length>0?"mt-4":"",children:[(0,a.jsx)("h3",{className:"mb-2 text-xs font-medium text-muted-foreground",children:o("doneSection",{count:f.length>=200?"200+":f.length})}),T.map(({group:e,sessions:t})=>(0,a.jsxs)("div",{children:[(0,a.jsx)("h4",{className:"mb-1.5 mt-3 first:mt-0 text-xs text-muted-foreground/60",children:o(`dateGroup_${e}`)}),(0,a.jsx)("div",{className:"flex flex-col gap-2",children:(0,a.jsx)(x.AnimatePresence,{mode:"popLayout",initial:!1,children:t.map(e=>{let t=h.has(e.sessionId),n=e.olderEntries.length>0,r=null!==p&&e.sessionId===p&&!N.has(e.sessionId),s=g.get(e.sessionId)??null;return(0,a.jsxs)(v.motion.div,{...B,children:[(0,a.jsx)(z,{entry:e.latestEntry,isActiveSession:r,onClick:()=>H(e.latestEntry,s)}),n&&(0,a.jsxs)("button",{type:"button",className:"mt-1 flex w-full items-center gap-1 py-0.5 pl-9 text-xs text-muted-foreground/50 hover:text-muted-foreground transition-colors",onClick:()=>A(e.sessionId),children:[(0,a.jsx)(w.ChevronRight,{className:(0,P.cn)("h-3 w-3 transition-transform",t&&"rotate-90")}),t?o("showLess"):o("showMore",{count:e.olderEntries.length})]}),n&&(0,a.jsx)("div",{className:"grid transition-[grid-template-rows] duration-200 ease-out",style:{gridTemplateRows:t?"1fr":"0fr"},children:(0,a.jsx)("div",{className:"overflow-hidden min-h-0",children:(0,a.jsx)("div",{className:"mt-1 flex flex-col border-l border-border/30 ml-5 pl-2",children:e.olderEntries.map(e=>(0,a.jsx)(z,{entry:e,compact:!0,onClick:()=>H(e,s)},e.id))})})})]},e.sessionId)})})})]},e))]})]})})},X=async()=>{await fetch("/api/auth/logout",{method:"POST"}),window.location.href="/login"},q=({onMenuOpen:e,workspaceName:t})=>{let n=(0,u.useTranslations)("header"),r=(0,u.useTranslations)("common"),o=(0,s.default)(e=>(0,s.selectGlobalStatus)(e.tabs).busyCount>0),{attentionCount:i,busyCount:l}=G(),d=i+l;return(0,a.jsxs)("header",{className:"flex h-12 shrink-0 items-center justify-between border-b border-sidebar-border bg-background px-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[e&&(0,a.jsxs)("button",{className:"relative flex h-8 w-8 shrink-0 items-center justify-center text-foreground",onClick:e,"aria-label":n("openMenu"),children:[(0,a.jsx)(p,{className:"h-5 w-5"}),d>0&&(0,a.jsx)("span",{className:"absolute -right-0.5 top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded bg-[var(--ui-coral)] px-0.5 text-[9px] font-medium leading-none text-white",children:d})]}),(0,a.jsx)(h.default,{shimmer:o}),t&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-muted-foreground/40 text-sm",children:"/"}),(0,a.jsx)("span",{className:"truncate text-sm font-medium text-muted-foreground",children:t})]})]}),(0,a.jsx)(f.TooltipProvider,{children:(0,a.jsx)("div",{className:"flex items-center gap-1",children:(0,a.jsxs)(g.AlertDialog,{children:[(0,a.jsxs)(f.Tooltip,{children:[(0,a.jsx)(f.TooltipTrigger,{render:(0,a.jsx)(g.AlertDialogTrigger,{render:(0,a.jsx)(m.Button,{variant:"ghost",size:"icon",className:"h-7 w-7"})}),children:(0,a.jsx)(c.LogOut,{className:"h-4 w-4 text-muted-foreground"})}),(0,a.jsx)(f.TooltipContent,{children:r("logout")})]}),(0,a.jsxs)(g.AlertDialogContent,{children:[(0,a.jsxs)(g.AlertDialogHeader,{children:[(0,a.jsx)(g.AlertDialogTitle,{children:r("logout")}),(0,a.jsx)(g.AlertDialogDescription,{children:r("logoutConfirm")})]}),(0,a.jsxs)(g.AlertDialogFooter,{children:[(0,a.jsx)(g.AlertDialogCancel,{children:r("cancel")}),(0,a.jsx)(g.AlertDialogAction,{onClick:X,children:r("logout")})]})]})]})})})]})};var J=e.i(918324),Q=e.i(570513),Z=e.i(240614),ee=e.i(972733),et=e.i(181474),en=e.i(868462),er=e.i(714233),es=e.i(734549),ea=e.i(274489),eo=e.i(550292),ei=e.i(453783),el=e.i(251748),eu=e.i(320183),ec=e.i(883590);let ed=({status:e,panelType:t,terminalStatus:n,process:r})=>{let s;return s="claude-code"===t?"busy"===e?(0,a.jsx)(A.default,{className:"h-2 w-2 text-muted-foreground"}):"ready-for-review"===e?(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-claude-active animate-pulse","aria-hidden":"true"}):"needs-input"===e?(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-ui-amber animate-pulse","aria-hidden":"true"}):"unknown"===e?(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-muted-foreground/50","aria-hidden":"true"}):(0,a.jsx)("span",{className:"h-2 w-2 rounded-full border border-muted-foreground/40","aria-hidden":"true"}):"web-browser"===t?(0,a.jsx)(Z.Globe,{className:"h-2.5 w-2.5 text-muted-foreground/50","aria-hidden":"true"}):"diff"===t?(0,a.jsx)(Q.GitCompareArrows,{className:"h-2.5 w-2.5 text-muted-foreground/50","aria-hidden":"true"}):(0,a.jsx)(eu.default,{process:r,className:`h-2.5 w-2.5 ${"server"===n?"text-ui-green":"running"===n?"text-ui-blue":"text-muted-foreground/50"}`}),(0,a.jsx)("span",{className:"flex h-3 w-3 items-center justify-center",children:s})},ep=(0,r.memo)(({workspaceId:e,tabs:t})=>{let n=(0,u.useTranslations)("terminal"),o=(0,s.default)(e=>e.statusWsConnected),i=(0,s.default)(e=>e.tabs),l=(0,s.default)(t=>t.tabOrders[e]),c=(0,r.useMemo)(()=>{if(t)return t.map(e=>({tabId:e.id,status:(0,s.selectTabDisplayStatus)(i,e.id),panelType:e.panelType??i[e.id]?.panelType,terminalStatus:i[e.id]?.terminalStatus,currentProcess:i[e.id]?.currentProcess}));let n=new Set;for(let[t,r]of Object.entries(i))r.workspaceId===e&&n.add(t);let r=(l??[]).filter(e=>n.has(e));for(let e of n)r.includes(e)||r.push(e);return r.map(e=>({tabId:e,status:(0,s.selectTabDisplayStatus)(i,e),panelType:i[e]?.panelType,terminalStatus:i[e]?.terminalStatus,currentProcess:i[e]?.currentProcess}))},[i,l,e,t]);return o&&0===c.length?null:(0,a.jsx)("span",{className:"mt-1 flex h-3 items-center gap-0.5","aria-label":n("tabStatus"),children:c.map(({tabId:e,status:t,panelType:n,terminalStatus:r,currentProcess:s})=>(0,a.jsx)(ed,{status:t,panelType:n,terminalStatus:r,process:s},e))})});var em=e.i(15623);let ef={"5h":18e3,"7d":604800},eg=e=>e>=80?"bg-ui-red":e>=50?"bg-ui-amber":"bg-ui-teal",eh=({label:e,window:t})=>{let n,r,{resetsAt:s,usedPct:o}=((e,t)=>{let n=Date.now()/1e3;if(e.resets_at>n)return{resetsAt:e.resets_at,usedPct:e.used_percentage};let r=n-e.resets_at,s=ef[t];return{resetsAt:e.resets_at+Math.ceil(r/s)*s,usedPct:0}})(t,e),i=Math.min(100,Math.round(o)),l=Math.min(100,Math.round((r=(n=ef[e])-Math.max(0,s-Date.now()/1e3))<=0?o:Math.min(100,o*n/r))),u=(e=>{let t=Math.max(0,Math.floor(e-Date.now()/1e3));if(t<=0)return"now";let n=Math.floor(t/86400),r=Math.floor(t%86400/3600),s=Math.floor(t%3600/60);return n>0?`${n}d ${r}h`:r>0?`${r}h ${s}m`:`${s}m`})(s),c=l>i;return(0,a.jsxs)(f.Tooltip,{children:[(0,a.jsxs)(f.TooltipTrigger,{render:(0,a.jsx)("div",{className:"w-full cursor-default space-y-0.5"}),children:[(0,a.jsxs)("div",{className:"flex justify-between text-[10px] tabular-nums text-muted-foreground/60",children:[(0,a.jsx)("span",{children:e}),(0,a.jsxs)("span",{children:[u," (",i,"%",c&&(0,a.jsxs)("span",{className:"text-muted-foreground/40",children:[" → ",l,"%"]}),")"]})]}),(0,a.jsxs)("div",{className:"relative h-1 w-full overflow-hidden rounded-full bg-muted-foreground/10",children:[c&&(0,a.jsx)("div",{className:`absolute left-0 top-0 h-full rounded-full opacity-30 transition-all duration-300 ${eg(l)}`,style:{width:`${l}%`}}),(0,a.jsx)("div",{className:`absolute left-0 top-0 h-full rounded-full transition-all duration-300 ${eg(i)}`,style:{width:`${i}%`}})]})]}),(0,a.jsx)(f.TooltipContent,{side:"top",className:"max-w-[240px]",children:(0,a.jsxs)("div",{className:"flex flex-col gap-0.5 text-left",children:[(0,a.jsxs)("div",{children:[i,"% used · resets in ",u]}),(0,a.jsxs)("div",{className:"opacity-70",children:["Projected ",l,"% by reset at the current pace"]})]})})]})},ex=()=>{let e=(0,em.default)(e=>e.data),[,t]=(0,r.useState)(0);return((0,r.useEffect)(()=>{if(!e)return;let n=setInterval(()=>t(e=>e+1),6e4);return()=>clearInterval(n)},[e]),e&&(e.five_hour||e.seven_day))?(0,a.jsx)(f.TooltipProvider,{delay:200,children:(0,a.jsxs)("div",{className:"space-y-1 px-3 py-1.5",children:[e.five_hour&&(0,a.jsx)(eh,{label:"5h",window:e.five_hour}),e.seven_day&&(0,a.jsx)(eh,{label:"7d",window:e.seven_day})]})}):null},ev=({workspaceId:e})=>{let t=(0,s.default)(t=>(0,s.selectWorkspacePortsLabel)(t.tabs,e));return t?(0,a.jsx)("span",{className:"mt-1 block truncate text-xs text-ui-green/80",children:t}):null},eb=({open:e,onOpenChange:t,workspaces:n,activeWorkspaceId:o,workspaceLayouts:i,activePaneId:c,activeTabId:d,onSelectSurface:p,onCreateWorkspace:m,onOpenSettings:f})=>{let g=(0,u.useTranslations)("mobile"),h=(0,u.useTranslations)("common"),x=(0,l.useRouter)(),v=(0,D.default)(e=>e.sidebarTab),b=(0,r.useCallback)(e=>{D.default.getState().setSidebarTab(e)},[]),{attentionCount:y,busyCount:S}=G(),j=y+S,[k,R]=(0,r.useState)(o),[N,I]=(0,r.useState)(e);e!==N&&(I(e),e&&R(o));let[C,E]=(0,r.useState)(null),T=(0,r.useRef)(null),A=(0,ei.default)(e=>e.metadata),{items:M}=(0,es.default)(),L=(0,r.useCallback)(e=>{R(t=>t===e?null:e)},[]),W=(0,r.useCallback)(e=>{T.current=setTimeout(()=>{E(e)},500)},[]),F=(0,r.useCallback)(()=>{T.current&&(clearTimeout(T.current),T.current=null)},[]),_=(0,r.useCallback)(e=>{t(e),e||E(null),e&&R(o)},[t,o]),U=(0,s.default)(e=>e.tabs);return(0,a.jsx)(O.Sheet,{open:e,onOpenChange:_,children:(0,a.jsxs)(O.SheetContent,{side:"left",className:"w-72 gap-0 p-0",showCloseButton:!1,children:[(0,a.jsxs)(O.SheetHeader,{className:"flex-row items-center border-b py-1.5 pl-1 pr-3",children:[(0,a.jsx)("button",{className:"flex h-11 w-11 shrink-0 items-center justify-center text-muted-foreground focus-visible:outline-none",onClick:()=>t(!1),"aria-label":g("closeMenu"),children:(0,a.jsx)(en.X,{size:20})}),(0,a.jsx)(O.SheetTitle,{className:"sr-only",children:"Navigation"}),(0,a.jsx)(eo.Tabs,{value:v,onValueChange:b,className:"min-w-0 flex-1 gap-0",children:(0,a.jsxs)(eo.TabsList,{className:"h-7 w-full",children:[(0,a.jsx)(eo.TabsTrigger,{value:"workspace",className:"h-full flex-1 px-2.5 text-[11px] tracking-wide",children:"WORKSPACE"}),(0,a.jsxs)(eo.TabsTrigger,{value:"sessions",className:"h-full flex-1 px-2.5 text-[11px] tracking-wide",children:["SESSIONS",j>0&&(0,a.jsx)("span",{className:"ml-1 inline-flex h-3.5 min-w-3.5 items-center justify-center rounded bg-[var(--ui-coral)] px-0.5 text-[9px] font-medium leading-none text-white",children:j})]})]})})]}),"workspace"===v?(0,a.jsx)("div",{className:"flex-1 overflow-y-auto",style:{scrollbarWidth:"none"},children:n.map(e=>{let t=e.id===k,n=e.id===o;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("button",{className:(0,P.cn)("flex w-full items-center gap-2 px-4 py-3 text-left text-sm transition-colors",n?"font-medium text-foreground":"text-foreground hover:bg-accent/50"),onClick:()=>L(e.id),children:[t?(0,a.jsx)(J.ChevronDown,{size:14,className:"shrink-0 text-muted-foreground"}):(0,a.jsx)(w.ChevronRight,{size:14,className:"shrink-0 text-muted-foreground"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block truncate",children:e.name}),(0,a.jsx)(ev,{workspaceId:e.id}),!t&&(0,a.jsx)(ep,{workspaceId:e.id,tabs:(i[e.id]??[]).flatMap(e=>[...e.tabs].sort((e,t)=>e.order-t.order))})]})]}),(0,a.jsx)("div",{className:"grid transition-[grid-template-rows] duration-200 ease-in-out",style:{gridTemplateRows:t?"1fr":"0fr"},children:(0,a.jsx)("div",{className:"overflow-hidden",children:(e=>{let t=i[e]??[];if(0===t.length)return null;let n=t.length>1;return t.map((t,r)=>{let s=[...t.tabs].sort((e,t)=>e.order-t.order);return(0,a.jsxs)("div",{className:"pb-1",children:[n&&(0,a.jsx)("div",{className:"flex items-center py-1.5 pl-10 pr-2",children:(0,a.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Pane ",r+1]})}),s.map(n=>{let r,s,i;return r=e===o&&t.id===c&&n.id===d,s=n.panelType??"terminal",(0,a.jsx)("div",{className:"relative flex items-center",children:(0,a.jsxs)("button",{className:(0,P.cn)("flex w-full items-center gap-2 py-2.5 pr-4 text-left text-sm transition-colors","pl-10",r?"bg-accent font-medium text-foreground":"text-muted-foreground hover:bg-accent/50"),onClick:()=>{C?E(null):p(e,t.id,n.id)},onTouchStart:()=>W(n.id),onTouchEnd:F,onTouchCancel:F,onContextMenu:e=>e.preventDefault(),children:[(0,a.jsx)(ec.default,{tabId:n.id,panelType:s}),(0,a.jsx)("span",{className:"mt-0.5 flex w-4 shrink-0 items-center justify-center",children:"claude-code"===s?(0,a.jsx)(er.default,{size:16}):"web-browser"===s?(0,a.jsx)(Z.Globe,{size:14,className:"text-muted-foreground"}):"diff"===s?(0,a.jsx)(Q.GitCompareArrows,{size:14,className:"text-muted-foreground"}):(0,a.jsx)(eu.default,{process:U[n.id]?.currentProcess,className:(0,P.cn)("h-3.5 w-3.5","server"===(i=U[n.id]?.terminalStatus)?"text-ui-green":"running"===i?"text-ui-blue":"text-muted-foreground/50")})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block truncate",children:(e=>{if(e.name)return e.name;let t=A[e.id],n=t?.title||e.title,r=n?(0,el.formatTabTitle)(n):"";return r||`Tab ${e.order+1}`})(n)}),"claude-code"===s&&n.claudeSummary&&(0,a.jsx)("span",{className:"block truncate text-xs text-muted-foreground/70",children:n.claudeSummary})]})]})},n.id)})]},t.id)})})(e.id)})})]},e.id)})}):(0,a.jsx)(Y,{onNavigated:()=>t(!1),className:"px-3 pt-3 pb-3"}),(0,a.jsxs)("div",{className:"shrink-0 border-t",children:["workspace"===v&&(0,a.jsxs)("button",{className:"flex w-full items-center gap-2 px-4 py-3 text-sm text-muted-foreground transition-colors hover:bg-accent",onClick:m,children:[(0,a.jsx)(ee.Plus,{size:16}),"Workspace"]}),(0,a.jsx)(ex,{}),(0,a.jsxs)("div",{className:"flex items-center gap-0.5 px-3 pt-1 pb-4",children:[M.map(e=>{let n=e.url.startsWith("http://")||e.url.startsWith("https://")?`/webview?url=${encodeURIComponent(e.url)}`:e.url;return(0,a.jsx)("button",{className:"flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent",onClick:()=>{t(!1),x.push(n)},"aria-label":e.name,title:e.name,children:(0,a.jsx)(ea.default,{name:e.icon,className:"h-[15px] w-[15px]"})},e.id)}),(0,a.jsx)("button",{className:"flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent",onClick:()=>{t(!1),f()},"aria-label":h("settings"),children:(0,a.jsx)(et.Settings,{size:15})})]})]})]})})},ey=({workspaces:e,activeWorkspaceId:t,workspaceLayouts:n,selectedPaneId:o,selectedTabId:i,onSelect:l})=>{let u=(0,r.useRef)(null),c=(0,s.default)(e=>e.tabs),d=(0,r.useMemo)(()=>{let t=[];for(let r of e){let e=n[r.id]??[],s=[];for(let t of e)for(let e of[...t.tabs].sort((e,t)=>e.order-t.order))s.push({workspaceId:r.id,paneId:t.id,tabId:e.id,panelType:e.panelType});s.length>0&&(t.length>0&&t.push("divider"),t.push(...s))}return t},[e,n]);return((0,r.useEffect)(()=>{u.current?.scrollIntoView({inline:"center",block:"nearest",behavior:"smooth"})},[i]),0===d.filter(e=>"divider"!==e).length)?null:(0,a.jsxs)("div",{className:"shrink-0 border-t bg-background",children:[(0,a.jsx)("div",{className:"flex h-10 items-center justify-center overflow-x-auto px-4",style:{scrollbarWidth:"none",WebkitOverflowScrolling:"touch"},children:d.map((e,n)=>{if("divider"===e)return(0,a.jsx)("span",{className:"mx-0.5 h-3 w-px shrink-0 bg-border"},`d-${n}`);let r=e.workspaceId===t&&e.paneId===o&&e.tabId===i,d="claude-code"===e.panelType,p=(0,s.selectTabDisplayStatus)(c,e.tabId),m=c[e.tabId]?.terminalStatus,f=c[e.tabId]?.currentProcess;return(0,a.jsx)("button",{ref:r?u:void 0,className:"flex h-8 w-8 shrink-0 items-center justify-center",onClick:()=>l(e.workspaceId,e.paneId,e.tabId),"aria-current":r?"true":void 0,children:r?(0,a.jsx)("span",{className:"h-2 w-2 rounded-[2px] bg-foreground"}):d&&"busy"===p?(0,a.jsx)(A.default,{className:"h-2 w-2 text-muted-foreground"}):d&&"ready-for-review"===p?(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-claude-active animate-pulse"}):d&&"needs-input"===p?(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-ui-amber animate-pulse"}):d&&"unknown"===p?(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-muted-foreground/50"}):d?(0,a.jsx)("span",{className:"h-2 w-2 rounded-full border border-muted-foreground/40"}):"web-browser"===e.panelType?(0,a.jsx)(Z.Globe,{className:"h-2.5 w-2.5 text-muted-foreground/50"}):"diff"===e.panelType?(0,a.jsx)(Q.GitCompareArrows,{className:"h-2.5 w-2.5 text-muted-foreground/50"}):(0,a.jsx)(eu.default,{process:f,className:(0,P.cn)("h-3 w-3","server"===m?"text-ui-green":"running"===m?"text-ui-blue":"text-muted-foreground/50")})},e.tabId)})}),(0,a.jsx)("div",{style:{height:"env(safe-area-inset-bottom)"}})]})};var eS=e.i(934048),ew=e.i(157016);let ej=({children:e})=>{let t=(0,l.useRouter)(),[n,s]=(0,r.useState)(!1),o=(0,D.default)(e=>e.isSettingsDialogOpen),i=(0,D.default)(e=>e.setSettingsDialogOpen),u=(0,D.default)(e=>e.workspaces),c=(0,D.default)(e=>e.activeWorkspaceId),d=(0,F.useLayoutStore)(e=>e.layout),p=(0,F.useLayoutStore)(e=>e.workspaceId),m=(0,F.useLayoutStore)(e=>e.pendingFocusTabId),f=(0,ew.default)(e=>e.onSelectWorkspace),[g,h]=(0,r.useState)({});(0,r.useEffect)(()=>{0===u.length&&D.default.getState().fetchWorkspaces()},[u.length]);let[x,v]=(0,r.useState)({layout:null,wsId:null});d&&p&&(d!==x.layout||p!==x.wsId)&&(v({layout:d,wsId:p}),h(e=>({...e,[p]:d})));let b=(0,r.useMemo)(()=>u.map(e=>e.id).join(","),[u]),y=(0,r.useMemo)(()=>u.filter(e=>(e.id!==p||!d)&&!g[e.id]).map(e=>e.id).join(","),[u,p,d,g]);(0,r.useEffect)(()=>{if(0===u.length)return;let e=u.filter(e=>(e.id!==p||!d)&&(!!n||!g[e.id]));if(0===e.length)return;let t=!1;return(async()=>{let n=await Promise.all(e.map(async e=>{try{let t=await fetch(`/api/layout?workspace=${e.id}`);if(!t.ok)return null;let n=await t.json();return{id:e.id,data:n}}catch{return null}}));t||h(e=>{let t={...e};for(let e of n)e&&(t[e.id]=e.data);return t})})(),()=>{t=!0}},[n,b,y]);let S=(0,r.useMemo)(()=>{let e={};for(let t of u){let n=t.id===p&&d?d:g[t.id];e[t.id]=n?(0,_.collectPanes)(n.root):[]}return e},[u,d,p,g]),w="/"===t.pathname,j=c===p&&d?d:c?g[c]:null,k=c?S[c]??[]:[],R=w?j?.activePaneId??null:null,N=k.find(e=>e.id===R)??k[0],I=w?N?.activeTabId??null:null,C=m?k.find(e=>e.tabs.some(e=>e.id===m)):null,E=C?C.id:R,T=C?m:I,A=(0,r.useCallback)(e=>{D.default.getState().switchWorkspace(e)},[]),M=f??A,O=(0,r.useCallback)((e,n,r)=>{if(s(!1),"/"!==t.pathname)try{sessionStorage.setItem(`pt-active-pane-${e}`,n),sessionStorage.setItem(`pt-active-tab-${n}`,r)}catch{}(0,F.navigateToTab)(e,r)},[t.pathname]),P=(0,r.useCallback)(async()=>{let e=await D.default.getState().createWorkspace("");e&&(s(!1),M(e.id))},[M]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{style:{paddingTop:"env(safe-area-inset-top)"},className:"shrink-0",children:(0,a.jsx)(q,{onMenuOpen:()=>s(!0),workspaceName:u.find(e=>e.id===c)?.name})}),e,(0,a.jsx)(ey,{workspaces:u,activeWorkspaceId:c,workspaceLayouts:S,selectedPaneId:E,selectedTabId:T,onSelect:O}),(0,a.jsx)(eb,{open:n,onOpenChange:s,workspaces:u,activeWorkspaceId:c,workspaceLayouts:S,activePaneId:E,activeTabId:T,onSelectSurface:O,onCreateWorkspace:P,onOpenSettings:()=>i(!0)}),(0,a.jsx)(eS.default,{open:o,onOpenChange:i})]})},ek=(0,d.default)("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]),eR=(0,d.default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var eN=e.i(924233);let eI=({mac:e,other:t,className:n})=>{let r=(0,eN.default)();return(0,a.jsx)("span",{className:n,children:r?e:t})};var eC=e.i(610782),eE=e.i(436254),eT=e.i(909289);e.s([],579877),e.i(579877);var eA=e.i(105807);e.i(350461);var eM=e.i(579907);let eO=r.createContext(void 0);function eP(e=!0){let t=r.useContext(eO);if(void 0===t&&!e)throw Error((0,eM.default)(25));return t}e.s([],850530),e.i(850530);let eD=r.createContext(void 0);function eL(e){let t=r.useContext(eD);if(void 0===t&&!e)throw Error((0,eM.default)(33));return t}let eW=r.createContext(void 0);function eF(e){let t=r.useContext(eW);if(void 0===t&&!e)throw Error((0,eM.default)(36));return t}var e_=e.i(950438),eU=e.i(469843);let eH=r.forwardRef(function(e,t){let{className:n,render:r,style:s,...a}=e,{store:o}=eF(),{arrowRef:i,side:l,align:u,arrowUncentered:c,arrowStyles:d}=eL(),p=o.useState("open");return(0,e_.useRenderElement)("div",e,{ref:[i,t],stateAttributesMapping:eU.popupStateMapping,state:{open:p,side:l,align:u,uncentered:c},props:{style:d,"aria-hidden":!0,...a}})});var eB=e.i(810377),eG=e.i(475048);let e$={...eU.popupStateMapping,...eB.transitionStatusMapping},eV=r.forwardRef(function(e,t){let{className:n,render:r,style:s,...a}=e,{store:o}=eF(),i=o.useState("open"),l=o.useState("mounted"),u=o.useState("transitionStatus"),c=o.useState("lastOpenChangeReason"),d=eP();return(0,e_.useRenderElement)("div",e,{ref:d?.backdropRef?[t,d.backdropRef]:t,state:{open:i,transitionStatus:u},stateAttributesMapping:e$,props:[{role:"presentation",hidden:!l,style:{pointerEvents:c===eG.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},a]})});var ez=e.i(25104),eK=e.i(176955);let eY=r.createContext(void 0);var eX=e.i(978054),eq=e.i(768802),eJ=e.i(977848),eQ=e.i(473121);function eZ(e){let{closeOnClick:t,highlighted:n,id:s,nodeId:a,store:o,typingRef:i,itemRef:l,itemMetadata:u}=e,{events:c}=o.useState("floatingTreeRoot"),d=eP(!0),p=void 0!==d;return r.useMemo(()=>({id:s,role:"menuitem",tabIndex:n?0:-1,onKeyDown(e){" "===e.key&&i?.current&&e.preventDefault()},onMouseMove(e){a&&c.emit("itemhover",{nodeId:a,target:e.currentTarget})},onClick(e){t&&c.emit("close",{domEvent:e,reason:eG.REASONS.itemPress})},onMouseUp(e){if(d){let t=d.initialCursorPointRef.current;if(d.initialCursorPointRef.current=null,p&&t&&1>=Math.abs(e.clientX-t.x)&&1>=Math.abs(e.clientY-t.y)||p&&!eQ.isMac&&2===e.button)return}l.current&&o.context.allowMouseUpTriggerRef.current&&(!p||2===e.button)&&(!u||"regular-item"===u.type)&&l.current.click()}}),[t,n,s,c,a,o,i,l,d,p,u])}let e0={type:"regular-item"};function e1(e){let{closeOnClick:t,disabled:n=!1,highlighted:s,id:a,store:o,typingRef:i=o.context.typingRef,nativeButton:l,itemMetadata:u,nodeId:c}=e,d=r.useRef(null),{getButtonProps:p,buttonRef:m}=(0,eq.useButton)({disabled:n,focusableWhenDisabled:!0,native:l,composite:!0}),f=eZ({closeOnClick:t,highlighted:s,id:a,nodeId:c,store:o,typingRef:i,itemRef:d,itemMetadata:u}),g=r.useCallback(e=>(0,eJ.mergeProps)(f,{onMouseEnter(){"submenu-trigger"===u.type&&u.setActive()}},e,p),[f,p,u]),h=(0,eX.useMergedRefs)(d,m);return r.useMemo(()=>({getItemProps:g,itemRef:h}),[g,h])}var e5=e.i(898052),e2=e.i(147652);let e3=((t={}).checked="data-checked",t.unchecked="data-unchecked",t.disabled="data-disabled",t.highlighted="data-highlighted",t),e4={checked:e=>e?{[e3.checked]:""}:{[e3.unchecked]:""},...eB.transitionStatusMapping};var e8=e.i(967529);let e7=r.forwardRef(function(e,t){let{render:n,className:s,id:o,label:i,nativeButton:l=!1,disabled:u=!1,closeOnClick:c=!1,checked:d,defaultChecked:p,onCheckedChange:m,style:f,...g}=e,h=(0,e5.useCompositeListItem)({label:i}),x=eL(!0),v=(0,e2.useBaseUiId)(o),{store:b}=eF(),y=b.useState("isActive",h.index),S=b.useState("itemProps"),[w,j]=(0,eK.useControlled)({controlled:d,default:p??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:k,itemRef:R}=e1({closeOnClick:c,disabled:u,highlighted:y,id:v,store:b,nativeButton:l,nodeId:x?.context.nodeId,itemMetadata:e0}),N=r.useMemo(()=>({disabled:u,highlighted:y,checked:w}),[u,y,w]),I=(0,ez.useStableCallback)(e=>{let t={...(0,e8.createChangeEventDetails)(eG.REASONS.itemPress,e.nativeEvent),preventUnmountOnClose:()=>{}};m?.(!w,t),t.isCanceled||j(e=>!e)}),C=(0,e_.useRenderElement)("div",e,{state:N,stateAttributesMapping:e4,props:[S,{role:"menuitemcheckbox","aria-checked":w,onClick:I},g,k],ref:[R,t,h.ref]});return(0,a.jsx)(eY.Provider,{value:N,children:C})});var e6=e.i(994142),e9=e.i(118303);let te=r.forwardRef(function(e,t){let{render:n,className:s,style:a,keepMounted:o=!1,...i}=e,l=function(){let e=r.useContext(eY);if(void 0===e)throw Error((0,eM.default)(30));return e}(),u=r.useRef(null),{transitionStatus:c,setMounted:d}=(0,e6.useTransitionStatus)(l.checked);(0,e9.useOpenChangeComplete)({open:l.checked,ref:u,onComplete(){l.checked||d(!1)}});let p={checked:l.checked,disabled:l.disabled,highlighted:l.highlighted,transitionStatus:c};return(0,e_.useRenderElement)("span",e,{state:p,ref:[t,u],stateAttributesMapping:e4,props:{"aria-hidden":!0,...i},enabled:o||l.checked})}),tt=r.createContext(void 0),tn=r.forwardRef(function(e,t){let{render:n,className:s,style:o,...i}=e,[l,u]=r.useState(void 0),c=r.useMemo(()=>({setLabelId:u}),[u]),d=(0,e_.useRenderElement)("div",e,{ref:t,props:{role:"group","aria-labelledby":l,...i}});return(0,a.jsx)(tt.Provider,{value:c,children:d})});var tr=e.i(95349);let ts=r.forwardRef(function(e,t){let{className:n,render:s,id:a,style:o,...i}=e,l=(0,e2.useBaseUiId)(a),{setLabelId:u}=function(){let e=r.useContext(tt);if(void 0===e)throw Error((0,eM.default)(31));return e}();return(0,tr.useIsoLayoutEffect)(()=>(u(l),()=>{u(void 0)}),[u,l]),(0,e_.useRenderElement)("div",e,{ref:t,props:{id:l,role:"presentation",...i}})}),ta=r.forwardRef(function(e,t){let{render:n,className:r,id:s,label:a,nativeButton:o=!1,disabled:i=!1,closeOnClick:l=!0,style:u,...c}=e,d=(0,e5.useCompositeListItem)({label:a}),p=eL(!0),m=(0,e2.useBaseUiId)(s),{store:f}=eF(),g=f.useState("isActive",d.index),h=f.useState("itemProps"),{getItemProps:x,itemRef:v}=e1({closeOnClick:l,disabled:i,highlighted:g,id:m,store:f,nativeButton:o,nodeId:p?.context.nodeId,itemMetadata:e0});return(0,e_.useRenderElement)("div",e,{state:{disabled:i,highlighted:g},props:[h,c,x],ref:[v,t,d.ref]})}),to=r.forwardRef(function(e,t){let{render:n,className:s,id:a,label:o,closeOnClick:i=!1,style:l,...u}=e,c=r.useRef(null),d=(0,e5.useCompositeListItem)({label:o}),p=eL(!0),m=p?.context.nodeId,f=(0,e2.useBaseUiId)(a),{store:g}=eF(),h=g.useState("isActive",d.index),x=g.useState("itemProps"),v=g.context.typingRef,{getButtonProps:b,buttonRef:y}=(0,eq.useButton)({native:!1,composite:!0}),S=eZ({closeOnClick:i,highlighted:h,id:f,nodeId:m,store:g,typingRef:v,itemRef:c}),w=r.useMemo(()=>({highlighted:h}),[h]);return(0,e_.useRenderElement)("a",e,{state:w,props:[x,u,function(e){return(0,eJ.mergeProps)(S,e,b)}],ref:[c,y,t,d.ref]})});var ti=e.i(245041),tl=e.i(767208),tu=e.i(729718),tc=e.i(317575),td=e.i(613580);let tp={...eU.popupStateMapping,...eB.transitionStatusMapping},tm=r.forwardRef(function(e,t){let{render:n,className:s,style:o,finalFocus:i,...l}=e,{store:u}=eF(),{side:c,align:d}=eL(),p=null!=(0,tu.useToolbarRootContext)(!0),m=u.useState("open"),f=u.useState("transitionStatus"),g=u.useState("popupProps"),h=u.useState("mounted"),x=u.useState("instantType"),v=u.useState("activeTriggerElement"),b=u.useState("parent"),y=u.useState("lastOpenChangeReason"),S=u.useState("rootId"),w=u.useState("floatingRootContext"),j=u.useState("floatingTreeRoot"),k=u.useState("closeDelay"),R=u.useState("activeTriggerElement"),N="context-menu"===b.type;(0,e9.useOpenChangeComplete)({open:m,ref:u.context.popupRef,onComplete(){m&&u.context.onOpenChangeComplete?.(!0)}}),r.useEffect(()=>{function e(e){u.setOpen(!1,(0,e8.createChangeEventDetails)(e.reason,e.domEvent))}return j.events.on("close",e),()=>{j.events.off("close",e)}},[j.events,u]);let I=u.useState("hoverEnabled"),C=u.useState("disabled");(0,tl.useHoverFloatingInteraction)(w,{enabled:I&&!C&&!N&&"menubar"!==b.type,closeDelay:k});let E={transitionStatus:f,side:c,align:d,open:m,nested:"menu"===b.type,instant:x},T=r.useCallback(e=>{u.set("popupElement",e)},[u]),A=(0,e_.useRenderElement)("div",e,{state:E,ref:[t,u.context.popupRef,T],stateAttributesMapping:tp,props:[g,{onKeyDown(e){p&&tc.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation()}},(0,td.getDisabledMountTransitionStyles)(f),l,{"data-rootownerid":S}]}),M=void 0===b.type||N;return(v||"menubar"===b.type&&y!==eG.REASONS.outsidePress)&&(M=!0),(0,a.jsx)(ti.FloatingFocusManager,{context:w,modal:N,disabled:!h,returnFocus:void 0===i?M:i,initialFocus:"menu"!==b.type,restoreFocus:!0,externalTree:"menubar"!==b.type?j:void 0,previousFocusableElement:R,nextFocusableElement:void 0===b.type?u.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:void 0===b.type?u.context.beforeContentFocusGuardRef:void 0,children:A})});var tf=e.i(117767);let tg=r.createContext(void 0),th=r.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:s}=eF();return s.useState("mounted")||n?(0,a.jsx)(tg.Provider,{value:n,children:(0,a.jsx)(tf.FloatingPortal,{ref:t,...r})}):null});var tx=e.i(455577),tv=e.i(242608),tb=e.i(855604),ty=e.i(23461),tS=e.i(751778),tw=e.i(556856),tj=e.i(666971),tk=e.i(23273),tR=e.i(367725),tN=e.i(914935),tI=e.i(187663);let tC=r.forwardRef(function(e,t){let{anchor:n,positionMethod:s="absolute",className:o,render:i,side:l,align:u,sideOffset:c=0,alignOffset:d=0,collisionBoundary:p="clipping-ancestors",collisionPadding:m=5,arrowPadding:f=5,sticky:g=!1,disableAnchorTracking:h=!1,collisionAvoidance:x=tj.DROPDOWN_COLLISION_AVOIDANCE,style:v,...b}=e,{store:y}=eF(),S=function(){let e=r.useContext(tg);if(void 0===e)throw Error((0,eM.default)(32));return e}(),w=eP(!0),j=y.useState("parent"),k=y.useState("floatingRootContext"),R=y.useState("floatingTreeRoot"),N=y.useState("mounted"),I=y.useState("open"),C=y.useState("modal"),E=y.useState("openMethod"),T=y.useState("activeTriggerElement"),A=y.useState("transitionStatus"),M=y.useState("positionerElement"),O=y.useState("instantType"),P=y.useState("hasViewport"),D=y.useState("lastOpenChangeReason"),L=y.useState("floatingNodeId"),W=y.useState("floatingParentNodeId"),F=k.useState("domReferenceElement"),_=r.useRef(null),U=(0,tR.useAnimationsFinished)(M,!1,!1),H=n,B=c,G=d,$=u,V=x;"context-menu"===j.type&&(H=n??j.context?.anchor,$=$??"start",l||"center"===$||(G=e.alignOffset??2,B=e.sideOffset??-5));let z=l,K=$;"menu"===j.type?(z=z??"inline-end",K=K??"start",V=e.collisionAvoidance??tj.POPUP_COLLISION_AVOIDANCE):"menubar"===j.type&&(z=z??"bottom",K=K??"start");let Y="context-menu"===j.type,X=(0,ty.useAnchorPositioning)({anchor:H,floatingRootContext:k,positionMethod:w?"fixed":s,mounted:N,side:z,sideOffset:B,align:K,alignOffset:G,arrowPadding:Y?0:f,collisionBoundary:p,collisionPadding:m,sticky:g,nodeId:L,keepMounted:S,disableAnchorTracking:h,collisionAvoidance:V,shiftCrossAxis:Y&&!("side"in V&&"flip"===V.side),externalTree:R,adaptiveOrigin:P?tk.adaptiveOrigin:void 0});r.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===L&&y.set("hoverEnabled",!1),e.nodeId!==L&&e.parentNodeId===y.select("floatingParentNodeId")&&y.setOpen(!1,(0,e8.createChangeEventDetails)(eG.REASONS.siblingOpen)))}return R.events.on("menuopenchange",e),()=>{R.events.off("menuopenchange",e)}},[y,R.events,L]),r.useEffect(()=>{if(null!=y.select("floatingParentNodeId"))return R.events.on("menuopenchange",e),()=>{R.events.off("menuopenchange",e)};function e(e){if(e.open||e.nodeId!==y.select("floatingParentNodeId"))return;let t=e.reason??eG.REASONS.siblingOpen;y.setOpen(!1,(0,e8.createChangeEventDetails)(t))}},[R.events,y]);let q=(0,tv.useTimeout)();r.useEffect(()=>{I||q.clear()},[I,q]),r.useEffect(()=>{function e(e){if(I&&e.nodeId===y.select("floatingParentNodeId"))if(e.target&&T&&T!==e.target){let e=y.select("closeDelay");e>0?q.isStarted()||q.start(e,()=>{y.setOpen(!1,(0,e8.createChangeEventDetails)(eG.REASONS.siblingOpen))}):y.setOpen(!1,(0,e8.createChangeEventDetails)(eG.REASONS.siblingOpen))}else q.clear()}return R.events.on("itemhover",e),()=>{R.events.off("itemhover",e)}},[R.events,I,T,y,q]),r.useEffect(()=>{let e={open:I,nodeId:L,parentNodeId:W,reason:y.select("lastOpenChangeReason")};R.events.emit("menuopenchange",e)},[R.events,I,y,L,W]),(0,tr.useIsoLayoutEffect)(()=>{let e=_.current;if(F&&(_.current=F),e&&F&&F!==e){y.set("instantType",void 0);let e=new AbortController;return U(()=>{y.set("instantType","trigger-change")},e.signal),()=>{e.abort()}}},[F,U,y]);let J={open:I,side:X.side,align:X.align,anchorHidden:X.anchorHidden,nested:"menu"===j.type,instant:O},Q="menubar"===j.type&&j.context.modal,Z=C&&D!==eG.REASONS.triggerHover;(0,tI.useAnchoredPopupScrollLock)(I&&(Q||Z),"touch"===E,M,T);let ee=(0,tN.usePositioner)(e,J,{styles:X.positionerStyles,transitionStatus:A,props:b,refs:[t,y.useStateSetter("positionerElement")],hidden:!N,inert:!I}),et=N&&"menu"!==j.type&&("menubar"!==j.type&&C&&D!==eG.REASONS.triggerHover||"menubar"===j.type&&j.context.modal),en=null;return"menubar"===j.type?en=j.context.contentElement:void 0===j.type&&(en=T),(0,a.jsxs)(eD.Provider,{value:X,children:[et&&(0,a.jsx)(tw.InternalBackdrop,{ref:"context-menu"===j.type||"nested-context-menu"===j.type?j.context.internalBackdropRef:null,inert:(0,tx.inertValue)(!I),cutout:en}),(0,a.jsx)(tb.FloatingNode,{id:L,children:(0,a.jsx)(tS.CompositeList,{elementsRef:y.context.itemDomElements,labelsRef:y.context.itemLabels,children:ee})})]})}),tE=r.createContext(void 0),tT=r.memo(r.forwardRef(function(e,t){let{render:n,className:s,value:o,defaultValue:i,onValueChange:l,disabled:u=!1,style:c,...d}=e,[p,m]=(0,eK.useControlled)({controlled:o,default:i,name:"MenuRadioGroup"}),f=(0,ez.useStableCallback)(l),g=(0,ez.useStableCallback)((e,t)=>{f?.(e,t),t.isCanceled||m(e)}),h=(0,e_.useRenderElement)("div",e,{state:{disabled:u},ref:t,props:{role:"group","aria-disabled":u||void 0,...d}}),x=r.useMemo(()=>({value:p,setValue:g,disabled:u}),[p,g,u]);return(0,a.jsx)(tE.Provider,{value:x,children:h})})),tA=r.createContext(void 0),tM=r.forwardRef(function(e,t){let{render:n,className:s,id:o,label:i,nativeButton:l=!1,disabled:u=!1,closeOnClick:c=!1,value:d,style:p,...m}=e,f=(0,e5.useCompositeListItem)({label:i}),g=eL(!0),h=(0,e2.useBaseUiId)(o),{store:x}=eF(),v=x.useState("isActive",f.index),b=x.useState("itemProps"),{value:y,setValue:S,disabled:w}=function(){let e=r.useContext(tE);if(void 0===e)throw Error((0,eM.default)(34));return e}(),j=w||u,k=y===d,{getItemProps:R,itemRef:N}=e1({closeOnClick:c,disabled:j,highlighted:v,id:h,store:x,nativeButton:l,nodeId:g?.context.nodeId,itemMetadata:e0}),I=r.useMemo(()=>({disabled:j,highlighted:v,checked:k}),[j,v,k]),C=(0,ez.useStableCallback)(e=>{S(d,{...(0,e8.createChangeEventDetails)(eG.REASONS.itemPress,e.nativeEvent),preventUnmountOnClose:()=>{}})}),E=(0,e_.useRenderElement)("div",e,{state:I,stateAttributesMapping:e4,props:[b,{role:"menuitemradio","aria-checked":k,onClick:C},m,R],ref:[N,t,f.ref]});return(0,a.jsx)(tA.Provider,{value:I,children:E})}),tO=r.forwardRef(function(e,t){let{render:n,className:s,style:a,keepMounted:o=!1,...i}=e,l=function(){let e=r.useContext(tA);if(void 0===e)throw Error((0,eM.default)(35));return e}(),u=r.useRef(null),{transitionStatus:c,setMounted:d}=(0,e6.useTransitionStatus)(l.checked);(0,e9.useOpenChangeComplete)({open:l.checked,ref:u,onComplete(){l.checked||d(!1)}});let p={checked:l.checked,disabled:l.disabled,highlighted:l.highlighted,transitionStatus:c};return(0,e_.useRenderElement)("span",e,{state:p,stateAttributesMapping:e4,ref:[t,u],props:{"aria-hidden":!0,...i},enabled:o||l.checked})});var tP=e.i(937425),tD=e.i(562912),tL=e.i(844248),tW=e.i(674316),tF=e.i(414224),t_=e.i(536394),tU=e.i(656124),tH=e.i(232897),tB=e.i(772610),tG=e.i(360233),t$=e.i(426984),tV=e.i(848328),tz=e.i(85150),tK=e.i(536164);function tY(e,t,n){switch(e){case"vertical":return t;case"horizontal":return n;default:return t||n}}function tX(e,t){return tY(t,e===tK.ARROW_UP||e===tK.ARROW_DOWN,e===tK.ARROW_LEFT||e===tK.ARROW_RIGHT)}function tq(e,t,n){return tY(t,e===tK.ARROW_DOWN,n?e===tK.ARROW_LEFT:e===tK.ARROW_RIGHT)||"Enter"===e||" "===e||""===e}var tJ=e.i(764674),tQ=e.i(412603);let tZ=r.createContext(null);function t0(e){let t=r.useContext(tZ);if(null===t&&!e)throw Error((0,eM.default)(5));return t}var t1=e.i(498800),t5=e.i(748030),t2=e.i(659594),t3=e.i(233256),t4=e.i(713579),t8=e.i(371973),t7=e.i(873217),t6=e.i(580288);let t9={...t7.popupStoreSelectors,disabled:(0,t2.createSelector)(e=>"menubar"===e.parent.type&&e.parent.context.disabled||e.disabled),modal:(0,t2.createSelector)(e=>(void 0===e.parent.type||"context-menu"===e.parent.type)&&(e.modal??!0)),openMethod:(0,t2.createSelector)(e=>e.openMethod),allowMouseEnter:(0,t2.createSelector)(e=>e.allowMouseEnter),stickIfOpen:(0,t2.createSelector)(e=>e.stickIfOpen),parent:(0,t2.createSelector)(e=>e.parent),rootId:(0,t2.createSelector)(e=>"menu"===e.parent.type?e.parent.store.select("rootId"):void 0!==e.parent.type?e.parent.context.rootId:e.rootId),activeIndex:(0,t2.createSelector)(e=>e.activeIndex),isActive:(0,t2.createSelector)((e,t)=>e.activeIndex===t),hoverEnabled:(0,t2.createSelector)(e=>e.hoverEnabled),instantType:(0,t2.createSelector)(e=>e.instantType),lastOpenChangeReason:(0,t2.createSelector)(e=>e.openChangeReason),floatingTreeRoot:(0,t2.createSelector)(e=>"menu"===e.parent.type?e.parent.store.select("floatingTreeRoot"):e.floatingTreeRoot),floatingNodeId:(0,t2.createSelector)(e=>e.floatingNodeId),floatingParentNodeId:(0,t2.createSelector)(e=>e.floatingParentNodeId),itemProps:(0,t2.createSelector)(e=>e.itemProps),closeDelay:(0,t2.createSelector)(e=>e.closeDelay),hasViewport:(0,t2.createSelector)(e=>e.hasViewport),keyboardEventRelay:(0,t2.createSelector)(e=>e.keyboardEventRelay?e.keyboardEventRelay:"menu"===e.parent.type?e.parent.store.select("keyboardEventRelay"):void 0)};class ne extends t3.ReactStore{constructor(e){super({...{...(0,t7.createInitialPopupStoreState)(),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new t8.FloatingTreeStore,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:tD.EMPTY_OBJECT,keyboardEventRelay:void 0,closeDelay:0,hasViewport:!1},...e},{positionerRef:r.createRef(),popupRef:r.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:r.createRef(),beforeContentFocusGuardRef:r.createRef(),onOpenChangeComplete:void 0,triggerElements:new t6.PopupTriggerMap},t9),this.unsubscribeParentListener=this.observe("parent",e=>{if(this.unsubscribeParentListener?.(),"menu"===e.type){let t=e.store.select("rootId"),n=e.store.select("floatingTreeRoot"),r=e.store.select("keyboardEventRelay");this.unsubscribeParentListener=e.store.subscribe(()=>{let s=e.store.select("rootId"),a=e.store.select("floatingTreeRoot"),o=e.store.select("keyboardEventRelay");(t!==s||n!==a||r!==o)&&(t=s,n=a,r=o,this.notifyAll())}),this.context.allowMouseUpTriggerRef=e.store.context.allowMouseUpTriggerRef;return}void 0!==e.type&&(this.context.allowMouseUpTriggerRef=e.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,t){this.state.floatingRootContext.context.events.emit("setOpen",{open:e,eventDetails:t})}static useStore(e,t){let n=(0,t4.useRefWithInit)(()=>new ne(t)).current;return e??n}unsubscribeParentListener=null}var nt=e.i(715621);let nn=r.createContext(void 0);function nr(){return r.useContext(nn)}let ns=(0,tL.fastComponent)(function(e){let t,{children:n,open:s,onOpenChange:o,onOpenChangeComplete:i,defaultOpen:l=!1,disabled:u=!1,modal:c,loopFocus:d=!0,orientation:p="vertical",actionsRef:m,closeParentOnEsc:f=!1,handle:g,triggerId:h,defaultTriggerId:x=null,highlightItemOnHover:v=!0}=e,b=eP(!0),y=eF(!0),S=t0(!0),w=nr(),j=r.useMemo(()=>w&&y?{type:"menu",store:y.store}:S?{type:"menubar",context:S}:b&&!y?{type:"context-menu",context:b}:{type:void 0},[b,y,S,w]),k=ne.useStore(g?.store,{open:l,openProp:s,activeTriggerId:x,triggerIdProp:h,parent:j});(0,tP.useOnFirstRender)(()=>{void 0===s&&!1===k.state.open&&!0===l&&k.update({open:!0,activeTriggerId:x})}),k.useControlledProp("openProp",s),k.useControlledProp("triggerIdProp",h),k.useContextCallback("onOpenChangeComplete",i);let R=k.useState("floatingTreeRoot"),N=(0,tb.useFloatingNodeId)(R),I=(0,tb.useFloatingParentNodeId)();(0,tr.useIsoLayoutEffect)(()=>{b&&!y?k.update({parent:{type:"context-menu",context:b},floatingNodeId:N,floatingParentNodeId:I}):y&&k.update({floatingNodeId:N,floatingParentNodeId:I})},[b,y,N,I,k]);let C=k.useState("open"),E=k.useState("activeTriggerElement"),T=k.useState("positionerElement"),A=k.useState("hoverEnabled"),M=k.useState("disabled"),O=k.useState("lastOpenChangeReason"),P=k.useState("parent"),D=k.useState("activeIndex"),L=k.useState("payload"),W=k.useState("floatingParentNodeId"),F=r.useRef(null),_=null!=W,{openMethod:U,triggerProps:H}=(0,t5.useOpenInteractionType)(C);k.useSyncedValues({disabled:u,modal:void 0===P.type?c:void 0,openMethod:U,rootId:(0,eA.useId)()}),(0,nt.useImplicitActiveTrigger)(k);let{forceUnmount:B}=(0,nt.useOpenStateTransitions)(C,k,()=>{k.update({allowMouseEnter:!1,stickIfOpen:!0})}),G=r.useRef("context-menu"!==P.type),$=(0,tv.useTimeout)();r.useEffect(()=>{if(C||(F.current=null),"context-menu"===P.type){if(!C){$.clear(),G.current=!1;return}$.start(500,()=>{G.current=!0})}},[$,C,P.type]),(0,tr.useIsoLayoutEffect)(()=>{C||A||k.set("hoverEnabled",!0)},[C,A,k]);let V=r.useRef(!0),z=(0,tv.useTimeout)(),K=(0,ez.useStableCallback)((e,t)=>{let n=t.reason;if(C===e&&t.trigger===E&&O===n||(t.preventUnmountOnClose=()=>{k.set("preventUnmountingOnClose",!0)},e||null!=t.trigger||(t.trigger=E??void 0),o?.(e,t),t.isCanceled))return;k.state.floatingRootContext.dispatchOpenChange(e,t);let r=t.event;if(!1===e&&r?.type==="click"&&"touch"===r.pointerType&&!V.current)return;if(!e&&null!==D){let e=k.context.itemDomElements.current[D];queueMicrotask(()=>{e?.setAttribute("tabindex","-1")})}e&&n===eG.REASONS.triggerFocus?(V.current=!1,z.start(300,()=>{V.current=!0})):(V.current=!0,z.clear());let s=(n===eG.REASONS.triggerPress||n===eG.REASONS.itemPress)&&0===r.detail&&r?.isTrusted,a=!e&&(n===eG.REASONS.escapeKey||null==n),i={open:e,openChangeReason:n};F.current=t.event??null;let l=t.trigger?.id??null;(l||e)&&(i.activeTriggerId=l,i.activeTriggerElement=t.trigger??null),k.update(i),"menubar"===P.type&&(n===eG.REASONS.triggerFocus||n===eG.REASONS.focusOut||n===eG.REASONS.triggerHover||n===eG.REASONS.listNavigation||n===eG.REASONS.siblingOpen)?k.set("instantType","group"):s||a?k.set("instantType",s?"click":"dismiss"):k.set("instantType",void 0)}),Y=r.useCallback(e=>{let t=(0,e8.createChangeEventDetails)(e);return t.preventUnmountOnClose=()=>{k.set("preventUnmountingOnClose",!0)},t},[k]),X=r.useCallback(()=>{k.setOpen(!1,Y(eG.REASONS.imperativeAction))},[k,Y]);r.useImperativeHandle(m,()=>({unmount:B,close:X}),[B,X]),"context-menu"===P.type&&(t=P.context),r.useImperativeHandle(t?.positionerRef,()=>T,[T]),r.useImperativeHandle(t?.actionsRef,()=>({setOpen:K}),[K]);let q=(0,tQ.useSyncedFloatingRootContext)({popupStore:k,onOpenChange:K}),J=q.context.events;r.useEffect(()=>{let e=({open:e,eventDetails:t})=>K(e,t);return J.on("setOpen",e),()=>{J?.off("setOpen",e)}},[J,K]);let Q=(0,tW.useDismiss)(q,{enabled:!M,bubbles:{escapeKey:f&&"menu"===P.type},outsidePress:()=>"context-menu"!==P.type||F.current?.type==="contextmenu"||G.current,externalTree:_?R:void 0}),Z=(0,tJ.useRole)(q,{role:"menu"}),ee=(0,t1.useDirection)(),et=r.useCallback(e=>{k.select("activeIndex")!==e&&k.set("activeIndex",e)},[k]),en=function(e,t){let n="rootStore"in e?e.rootStore:e,s=n.useState("open"),a=n.useState("floatingElement"),o=n.useState("domReferenceElement"),i=n.context.dataRef,{listRef:l,activeIndex:u,onNavigate:c=()=>{},enabled:d=!0,selectedIndex:p=null,allowEscape:m=!1,loopFocus:f=!1,nested:g=!1,rtl:h=!1,virtual:x=!1,focusItemOnOpen:v="auto",focusItemOnHover:b=!0,openOnArrowKeyDown:y=!0,disabledIndices:S,orientation:w="vertical",parentOrientation:j,cols:k=1,id:R,resetOnPointerLeave:N=!0,externalTree:I}=t,C=(0,tG.getFloatingFocusElement)(a),E=(0,tU.useValueAsRef)(C),T=(0,tb.useFloatingParentNodeId)(),A=(0,tb.useFloatingTree)(I);(0,tr.useIsoLayoutEffect)(()=>{i.current.orientation=w},[i,w]);let M=(0,tG.isTypeableCombobox)(o),O=r.useRef(v),P=r.useRef(p??-1),D=r.useRef(null),L=r.useRef(!0),W=(0,ez.useStableCallback)(e=>{c(-1===P.current?null:P.current,e)}),F=r.useRef(W),_=r.useRef(!!a),U=r.useRef(s),H=r.useRef(!1),B=r.useRef(!1),G=r.useRef(null),$=(0,tU.useValueAsRef)(S),V=(0,tU.useValueAsRef)(s),z=(0,tU.useValueAsRef)(p),K=(0,tU.useValueAsRef)(N),Y=(0,ez.useStableCallback)(()=>{function e(e){x?A?.events.emit("virtualfocus",e):G.current=(0,tz.enqueueFocus)(e,{sync:H.current,preventScroll:!0})}let t=l.current[P.current],n=B.current;t&&e(t),(H.current?e=>e():requestAnimationFrame)(()=>{let r=l.current[P.current]||t;!r||(t||e(r),J&&(n||!L.current)&&r.scrollIntoView?.({block:"nearest",inline:"nearest"}))})});(0,tr.useIsoLayoutEffect)(()=>{d&&(s&&a?(P.current=p??-1,O.current&&null!=p&&(B.current=!0,W())):_.current&&(P.current=-1,F.current()))},[d,s,a,p,W]),(0,tr.useIsoLayoutEffect)(()=>{if(d){if(!s){H.current=!1;return}if(a)if(null==u){if(H.current=!1,null!=z.current)return;if(_.current&&(P.current=-1,Y()),(!U.current||!_.current)&&O.current&&(null!=D.current||!0===O.current&&null==D.current)){let e=0,t=()=>{null==l.current[0]?(e<2&&(e?requestAnimationFrame:queueMicrotask)(t),e+=1):(P.current=null==D.current||tq(D.current,w,h)||g?(0,tV.getMinListIndex)(l):(0,tV.getMaxListIndex)(l),D.current=null,W())};t()}}else(0,tV.isIndexOutOfListBounds)(l.current,u)||(P.current=u,Y(),B.current=!1)}},[d,s,a,u,z,g,l,w,h,W,Y,$]),(0,tr.useIsoLayoutEffect)(()=>{if(!d||a||!A||x||!_.current)return;let e=A.nodesRef.current,t=e.find(e=>e.id===T)?.context?.elements.floating,n=(0,tB.activeElement)((0,tH.ownerDocument)(a)),r=e.some(e=>e.context&&(0,tB.contains)(e.context.elements.floating,n));t&&!r&&L.current&&t.focus({preventScroll:!0})},[d,a,A,T,x]),(0,tr.useIsoLayoutEffect)(()=>{F.current=W,U.current=s,_.current=!!a}),(0,tr.useIsoLayoutEffect)(()=>{s||(D.current=null,O.current=v)},[s,v]);let X=null!=u,q=(0,ez.useStableCallback)(e=>{if(!V.current)return;let t=l.current.indexOf(e.currentTarget);-1!==t&&(P.current!==t||u!==t)&&(P.current=t,W(e))}),J=r.useMemo(()=>({onFocus(e){H.current=!0,q(e)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove(e){H.current=!0,B.current=!1,b&&q(e)},onPointerLeave(e){let t;if(!V.current||!L.current||"touch"===e.pointerType)return;H.current=!0;let n=e.relatedTarget;if(!((t=e.currentTarget.getBoundingClientRect()).top+1<=e.clientY&&e.clientY<=t.bottom-1&&t.left+1<=e.clientX&&e.clientX<=t.right-1||!b||l.current.includes(n))&&K.current&&(G.current?.(),G.current=null,P.current=-1,W(e),!x)){let e=E.current,t=(0,tB.activeElement)((0,tH.ownerDocument)(e));e&&(0,tB.contains)(e,t)&&e.focus({preventScroll:!0})}}}),[q,V,E,b,l,W,K,x]),Q=r.useCallback(()=>j??A?.nodesRef.current.find(e=>e.id===T)?.context?.dataRef?.current.orientation,[T,A,j]),Z=(0,ez.useStableCallback)(e=>{var t;let r,a;if(L.current=!1,H.current=!0,229===e.which||!V.current&&e.currentTarget===E.current)return;if(g&&(t=e.key,r=h?t===tK.ARROW_RIGHT:t===tK.ARROW_LEFT,a=t===tK.ARROW_UP,"both"===w||"horizontal"===w&&k&&k>1?"Escape"===t:tY(w,r,a))){tX(e.key,Q())||(0,t$.stopEvent)(e),n.setOpen(!1,(0,e8.createChangeEventDetails)(eG.REASONS.listNavigation,e.nativeEvent)),(0,t_.isHTMLElement)(o)&&(x?A?.events.emit("virtualfocus",o):o.focus());return}let i=P.current,u=(0,tV.getMinListIndex)(l,S),c=(0,tV.getMaxListIndex)(l,S);if(M||("Home"===e.key&&((0,t$.stopEvent)(e),P.current=u,W(e)),"End"===e.key&&((0,t$.stopEvent)(e),P.current=c,W(e))),k>1){let t=Array.from({length:l.current.length},()=>({width:1,height:1})),n=(0,tV.createGridCellMap)(t,k,!1),r=n.findIndex(e=>null!=e&&!(0,tV.isListIndexDisabled)(l.current,e,S)),s=n.reduce((e,t,n)=>null==t||(0,tV.isListIndexDisabled)(l.current,t,S)?e:n,-1),a=n[(0,tV.getGridNavigatedIndex)(n.map(e=>null!=e?l.current[e]:null),{event:e,orientation:w,loopFocus:f,rtl:h,cols:k,disabledIndices:(0,tV.getGridCellIndices)([...("function"!=typeof S?S:null)||l.current.map((e,t)=>(0,tV.isListIndexDisabled)(l.current,t,S)?t:void 0),void 0],n),minIndex:r,maxIndex:s,prevIndex:(0,tV.getGridCellIndexOfCorner)(P.current>c?u:P.current,t,n,k,e.key===tK.ARROW_DOWN?"bl":e.key===(h?tK.ARROW_LEFT:tK.ARROW_RIGHT)?"tr":"tl"),stopEvent:!0})];if(null!=a&&(P.current=a,W(e)),"both"===w)return}if(tX(e.key,w)){if((0,t$.stopEvent)(e),s&&!x&&(0,tB.activeElement)(e.currentTarget.ownerDocument)===e.currentTarget){P.current=tq(e.key,w,h)?u:c,W(e);return}tq(e.key,w,h)?f?i>=c?m&&i!==l.current.length?P.current=-1:(H.current=!1,P.current=u):P.current=(0,tV.findNonDisabledListIndex)(l.current,{startingIndex:i,disabledIndices:S}):P.current=Math.min(c,(0,tV.findNonDisabledListIndex)(l.current,{startingIndex:i,disabledIndices:S})):f?i<=u?m&&-1!==i?P.current=l.current.length:(H.current=!1,P.current=c):P.current=(0,tV.findNonDisabledListIndex)(l.current,{startingIndex:i,decrement:!0,disabledIndices:S}):P.current=Math.max(u,(0,tV.findNonDisabledListIndex)(l.current,{startingIndex:i,decrement:!0,disabledIndices:S})),(0,tV.isIndexOutOfListBounds)(l.current,P.current)&&(P.current=-1),W(e)}}),ee=r.useMemo(()=>x&&s&&X&&{"aria-activedescendant":`${R}-${u}`},[x,s,X,R,u]),et=r.useMemo(()=>({"aria-orientation":"both"===w?void 0:w,...!M?ee:{},onKeyDown(e){if("Tab"===e.key&&e.shiftKey&&s&&!x){let t=(0,tB.getTarget)(e.nativeEvent);if(t&&!(0,tB.contains)(E.current,t))return;(0,t$.stopEvent)(e),n.setOpen(!1,(0,e8.createChangeEventDetails)(eG.REASONS.focusOut,e.nativeEvent)),(0,t_.isHTMLElement)(o)&&o.focus();return}Z(e)},onPointerMove(){L.current=!0}}),[ee,Z,E,w,M,n,s,x,o]),en=r.useMemo(()=>{function e(e){"auto"===v&&(0,t$.isVirtualClick)(e.nativeEvent)&&(O.current=!x)}function t(e){O.current=v,"auto"===v&&(0,t$.isVirtualPointerEvent)(e.nativeEvent)&&(O.current=!0)}return{onKeyDown(e){var t,r;let s=n.select("open");L.current=!1;let a=e.key.startsWith("Arrow"),o=(t=e.key,r=Q(),tY(r,h?t===tK.ARROW_LEFT:t===tK.ARROW_RIGHT,t===tK.ARROW_DOWN)),i=tX(e.key,w),u=(g?o:i)||"Enter"===e.key||""===e.key.trim();if(x&&s)return Z(e);if(s||y||!a){if(u){let t=tX(e.key,Q());D.current=g&&t?null:e.key}if(g){o&&((0,t$.stopEvent)(e),s?(P.current=(0,tV.getMinListIndex)(l,$.current),W(e)):n.setOpen(!0,(0,e8.createChangeEventDetails)(eG.REASONS.listNavigation,e.nativeEvent,e.currentTarget)));return}i&&(null!=z.current&&(P.current=z.current),(0,t$.stopEvent)(e),!s&&y?n.setOpen(!0,(0,e8.createChangeEventDetails)(eG.REASONS.listNavigation,e.nativeEvent,e.currentTarget)):Z(e),s&&W(e))}},onFocus(e){n.select("open")&&!x&&(P.current=-1,W(e))},onPointerDown:t,onPointerEnter:t,onMouseDown:e,onClick:e}},[Z,$,v,l,g,W,n,y,w,Q,h,z,x]),er=r.useMemo(()=>({...ee,...en}),[ee,en]);return r.useMemo(()=>d?{reference:er,floating:et,item:J,trigger:en}:{},[d,er,et,en,J])}(q,{enabled:!M,listRef:k.context.itemDomElements,activeIndex:D,nested:void 0!==P.type,loopFocus:d,orientation:p,parentOrientation:"menubar"===P.type?P.context.orientation:void 0,rtl:"rtl"===ee,disabledIndices:tD.EMPTY_ARRAY,onNavigate:et,openOnArrowKeyDown:"context-menu"!==P.type,externalTree:_?R:void 0,focusItemOnHover:v}),er=r.useCallback(e=>{k.context.typingRef.current=e},[k]),es=function(e,t){let n="rootStore"in e?e.rootStore:e,s=n.context.dataRef,a=n.useState("open"),{listRef:o,elementsRef:i,activeIndex:l,onMatch:u,onTypingChange:c,enabled:d=!0,resetMs:p=750,selectedIndex:m=null}=t,f=(0,tv.useTimeout)(),g=r.useRef(""),h=r.useRef(m??l??-1),x=r.useRef(null);(0,tr.useIsoLayoutEffect)(()=>{(a||null===m)&&(f.clear(),x.current=null,""!==g.current&&(g.current=""))},[a,m,f]),(0,tr.useIsoLayoutEffect)(()=>{a&&""===g.current&&(h.current=m??l??-1)},[a,m,l]);let v=(0,ez.useStableCallback)(e=>{e?s.current.typing||(s.current.typing=e,c?.(e)):s.current.typing&&(s.current.typing=e,c?.(e))}),b=(0,ez.useStableCallback)(e=>{function t(e,n,r=0){if(0===e.length)return -1;let s=(r%e.length+e.length)%e.length,a=n.toLocaleLowerCase();for(let t=0;t<e.length;t+=1){let n=(s+t)%e.length,r=e[n];if(r?.toLocaleLowerCase().startsWith(a)&&function(e){let t=i?.current[e];return!t||(0,tV.isElementVisible)(t)}(n))return n}return -1}let n=o.current;if(g.current.length>0&&" "===e.key&&((0,t$.stopEvent)(e),v(!0)),g.current.length>0&&" "!==g.current[0]&&-1===t(n,g.current)&&" "!==e.key&&v(!1),null==n||1!==e.key.length||e.ctrlKey||e.metaKey||e.altKey)return;a&&" "!==e.key&&((0,t$.stopEvent)(e),v(!0));let r=""===g.current;r&&(h.current=m??l??-1),n.every(e=>!e||e[0]?.toLocaleLowerCase()!==e[1]?.toLocaleLowerCase())&&g.current===e.key&&(g.current="",h.current=x.current),g.current+=e.key,f.start(p,()=>{g.current="",h.current=x.current,v(!1)});let s=r?m??l??-1:h.current,c=t(n,g.current,(s??0)+1);-1!==c?(u?.(c),x.current=c):" "!==e.key&&(g.current="",v(!1))}),y=(0,ez.useStableCallback)(e=>{let t=e.relatedTarget,r=n.select("domReferenceElement"),s=n.select("floatingElement"),a=(0,tB.contains)(r,t),o=(0,tB.contains)(s,t);a||o||(f.clear(),g.current="",h.current=x.current,v(!1))}),S=r.useMemo(()=>({onKeyDown:b,onBlur:y}),[b,y]),w=r.useMemo(()=>({onKeyDown:b,onBlur:y}),[b,y]);return r.useMemo(()=>d?{reference:S,floating:w}:{},[d,S,w])}(q,{listRef:k.context.itemLabels,elementsRef:k.context.itemDomElements,activeIndex:D,resetMs:tj.TYPEAHEAD_RESET_MS,onMatch:e=>{C&&e!==D&&k.set("activeIndex",e)},onTypingChange:er}),{getReferenceProps:ea,getFloatingProps:eo,getItemProps:ei,getTriggerProps:el}=(0,tF.useInteractions)([Q,Z,en,es]),eu=r.useMemo(()=>{let e=(0,eJ.mergeProps)(ea(),{onMouseMove(){k.set("allowMouseEnter",!0)}},H);return delete e.role,e},[ea,k,H]),ec=r.useMemo(()=>{let e=el();if(!e)return e;let t=(0,eJ.mergeProps)(e,H);return delete t.role,delete t["aria-controls"],t},[el,H]),ed=r.useMemo(()=>eo({onMouseMove(){k.set("allowMouseEnter",!0),"menu"===P.type&&k.set("hoverEnabled",!1)},onClick(){k.select("hoverEnabled")&&k.set("hoverEnabled",!1)},onKeyDown(e){let t=k.select("keyboardEventRelay");t&&!e.isPropagationStopped()&&t(e)}}),[eo,P.type,k]),ep=r.useMemo(()=>ei(),[ei]);k.useSyncedValues({floatingRootContext:q,activeTriggerProps:eu,inactiveTriggerProps:ec,popupProps:ed,itemProps:ep});let em=r.useMemo(()=>({store:k,parent:j}),[k,j]),ef=(0,a.jsx)(eW.Provider,{value:em,children:"function"==typeof n?n({payload:L}):n});return void 0===P.type||"context-menu"===P.type?(0,a.jsx)(tb.FloatingTree,{externalTree:R,children:ef}):ef});function na(e){let t=eF().store,n=r.useMemo(()=>({parentMenu:t}),[t]);return(0,a.jsx)(nn.Provider,{value:n,children:(0,a.jsx)(ns,{...e})})}var no=e.i(729595),ni=e.i(735859),nl=e.i(403951),nu=e.i(682303),nc=e.i(537349),nd=e.i(458325),np=e.i(386969);function nm(e){return(0,t_.isHTMLElement)(e)&&e.hasAttribute("data-rootownerid")?e.getAttribute("data-rootownerid")??void 0:(0,t_.isLastTraversableNode)(e)?void 0:nm((0,t_.getParentNode)(e))}var nf=e.i(909209),ng=e.i(452412);let nh=(0,tL.fastComponentRef)(function(e,t){let n,s,o,{render:i,className:l,disabled:u=!1,nativeButton:c=!0,id:d,openOnHover:p,delay:m=100,closeDelay:f=0,handle:g,payload:h,style:x,...v}=e,b=eF(!0),y=g?.store??b?.store;if(!y)throw Error((0,eM.default)(85));let S=(0,e2.useBaseUiId)(d),w=y.useState("isTriggerActive",S),j=y.useState("floatingRootContext"),k=y.useState("isOpenedByTrigger",S),R=r.useRef(null),N=(n=eP(!0),s=eF(!0),o=t0(!0),r.useMemo(()=>o?{type:"menubar",context:o}:n&&!s?{type:"context-menu",context:n}:{type:void 0},[n,s,o])),I=(0,np.useCompositeRootContext)(!0),C=(0,tb.useFloatingTree)(),E=r.useMemo(()=>C??new t8.FloatingTreeStore,[C]),T=(0,tb.useFloatingNodeId)(E),A=(0,tb.useFloatingParentNodeId)(),{registerTrigger:M,isMountedByThisTrigger:O}=(0,nt.useTriggerDataForwarding)(S,R,y,{payload:h,closeDelay:f,parent:N,floatingTreeRoot:E,floatingNodeId:T,floatingParentNodeId:A,keyboardEventRelay:I?.relayKeyboardEvent}),P="menubar"===N.type,D=y.useState("disabled"),L=u||D||P&&N.context.disabled,{getButtonProps:W,buttonRef:F}=(0,eq.useButton)({disabled:L,native:c});r.useEffect(()=>{k||void 0!==N.type||(y.context.allowMouseUpTriggerRef.current=!1)},[y,k,N.type]);let _=r.useRef(null),U=(0,tv.useTimeout)(),H=(0,ez.useStableCallback)(e=>{if(!_.current)return;U.clear(),y.context.allowMouseUpTriggerRef.current=!1;let t=e.target;if((0,tB.contains)(_.current,t)||(0,tB.contains)(y.select("positionerElement"),t)||t===_.current||null!=t&&nm(t)===y.select("rootId"))return;let n=function(e){let t=e.getBoundingClientRect(),n=(0,nc.ownerWindow)(e),r=n.getComputedStyle(e,"::before"),s=n.getComputedStyle(e,"::after");if("none"===r.content&&"none"===s.content)return t;let a=parseFloat(r.width)||0,o=parseFloat(r.height)||0,i=parseFloat(s.width)||0,l=parseFloat(s.height)||0,u=Math.max(t.width,a,i),c=Math.max(t.height,o,l),d=u-t.width,p=c-t.height;return{left:t.left-d/2,right:t.right+d/2,top:t.top-p/2,bottom:t.bottom+p/2}}(_.current);e.clientX>=n.left-2&&e.clientX<=n.right+2&&e.clientY>=n.top-2&&e.clientY<=n.bottom+2||E.events.emit("close",{domEvent:e,reason:eG.REASONS.cancelOpen})});r.useEffect(()=>{k&&y.select("lastOpenChangeReason")===eG.REASONS.triggerHover&&(0,tH.ownerDocument)(_.current).addEventListener("mouseup",H,{once:!0})},[k,H,y]);let B=P&&N.context.hasSubmenuOpen,G=p??B,$=(0,nu.useHoverReferenceInteraction)(j,{enabled:G&&!L&&"context-menu"!==N.type&&(!P||B&&!O),handleClose:(0,no.safePolygon)({blockPointerEvents:!P}),mouseOnly:!0,move:!1,restMs:void 0===N.type?m:void 0,delay:{close:f},triggerElementRef:R,externalTree:E,isActiveTrigger:w,isClosing:()=>"ending"===y.select("transitionStatus")}),V=function(e,t){let n=(0,tv.useTimeout)(),[s,a]=r.useState(!1);return(0,tr.useIsoLayoutEffect)(()=>{e&&"trigger-hover"===t?(a(!0),n.start(tj.PATIENT_CLICK_THRESHOLD,()=>{a(!1)})):e||(n.clear(),a(!1))},[e,t,n]),s}(k,y.select("lastOpenChangeReason")),z=(0,ni.useClick)(j,{enabled:!L&&"context-menu"!==N.type,event:k&&P?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:void 0===N.type&&V}),K=(0,nl.useFocus)(j,{enabled:!L&&B}),Y=function(e){let{enabled:t=!0,mouseDownAction:n,open:s}=e,a=r.useRef(!1);return r.useMemo(()=>t?{onMouseDown:e=>{("open"===n&&!s||"close"===n&&s)&&(a.current=!0,(0,tH.ownerDocument)(e.currentTarget).addEventListener("click",()=>{a.current=!1},{once:!0}))},onClick:e=>{a.current&&(a.current=!1,e.preventBaseUIHandler())}}:tD.EMPTY_OBJECT,[t,n,s])}({open:k,enabled:P,mouseDownAction:"open"}),X=(0,tF.useInteractions)([z,K]),q={disabled:L,open:k},J=y.useState("triggerProps",O),Q=[_,t,F,M,R],Z=[X.getReferenceProps(),$??tD.EMPTY_OBJECT,J,{"aria-haspopup":"menu",id:S,onMouseDown:e=>{y.select("open")||(U.start(200,()=>{y.context.allowMouseUpTriggerRef.current=!0}),(0,tH.ownerDocument)(e.currentTarget).addEventListener("mouseup",H,{once:!0}))}},P?{role:"menuitem"}:{},Y,v,W],{preFocusGuardRef:ee,handlePreFocusGuardFocus:et,handleFocusTargetFocus:en}=(0,nf.useTriggerFocusGuards)(y,R),er=(0,e_.useRenderElement)("button",e,{enabled:!P,stateAttributesMapping:eU.pressableTriggerOpenStateMapping,state:q,ref:Q,props:Z});return P?(0,a.jsx)(nd.CompositeItem,{tag:"button",render:i,className:l,style:x,state:q,refs:Q,props:Z,stateAttributesMapping:eU.pressableTriggerOpenStateMapping}):k?(0,a.jsxs)(r.Fragment,{children:[(0,a.jsx)(ng.FocusGuard,{ref:ee,onFocus:et},`${S}-pre-focus-guard`),(0,a.jsx)(r.Fragment,{children:er},S),(0,a.jsx)(ng.FocusGuard,{ref:y.context.triggerFocusTargetRef,onFocus:en},`${S}-post-focus-guard`)]}):(0,a.jsx)(r.Fragment,{children:er},S)});var nx=e.i(955538);let nv=((n={}).popupWidth="--popup-width",n.popupHeight="--popup-height",n),nb={activationDirection:e=>e?{"data-activation-direction":e}:null},ny=r.forwardRef(function(e,t){let{render:n,className:r,style:s,children:a,...o}=e,{store:i}=eF(),{side:l}=eL(),u=i.useState("instantType"),{children:c,state:d}=(0,nx.usePopupViewport)({store:i,side:l,cssVars:nv,children:a}),p={activationDirection:d.activationDirection,transitioning:d.transitioning,instant:u};return(0,e_.useRenderElement)("div",e,{state:p,ref:t,props:[o,{children:c}],stateAttributesMapping:nb})});var nS=e.i(227384);let nw=r.forwardRef(function(e,t){let{render:n,className:s,label:a,id:o,nativeButton:i=!1,openOnHover:l=!0,delay:u=100,closeDelay:c=0,disabled:d=!1,style:p,...m}=e,f=(0,e5.useCompositeListItem)(),g=eL(),{store:h}=eF(),x=(0,e2.useBaseUiId)(o),v=h.useState("open"),b=h.useState("floatingRootContext"),y=h.useState("floatingTreeRoot"),S=(0,nt.useTriggerRegistration)(x,h),w=r.useCallback(e=>{let t=S(e);return null!==e&&h.select("open")&&null==h.select("activeTriggerId")&&h.update({activeTriggerId:x,activeTriggerElement:e,closeDelay:c}),t},[S,c,h,x]),j=r.useRef(null),k=r.useCallback(e=>{j.current=e,h.set("activeTriggerElement",e)},[h]),R=nr();if(!R?.parentMenu)throw Error((0,eM.default)(37));h.useSyncedValue("closeDelay",c);let N=R.parentMenu,I=N.useState("itemProps"),C=N.useState("isActive",f.index),E=r.useMemo(()=>({type:"submenu-trigger",setActive(){N.set("activeIndex",f.index)}}),[N,f.index]),T=h.useState("disabled"),A=d||T,{getItemProps:M,itemRef:O}=e1({closeOnClick:!1,disabled:A,highlighted:C,id:x,store:h,typingRef:N.context.typingRef,nativeButton:i,itemMetadata:E,nodeId:g?.context.nodeId}),P=h.useState("hoverEnabled"),D=N.useState("allowMouseEnter"),L=(0,nu.useHoverReferenceInteraction)(b,{enabled:P&&l&&!A,handleClose:(0,no.safePolygon)({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:u,delay:D?{open:u,close:c}:0,triggerElementRef:j,externalTree:y,isClosing:()=>"ending"===h.select("transitionStatus")}),W=(0,ni.useClick)(b,{enabled:!A,event:"mousedown",toggle:!l,ignoreMouse:l,stickIfOpen:!1}),F=(0,tF.useInteractions)([W]),_=h.useState("triggerProps",!0);return delete _.id,(0,e_.useRenderElement)("div",e,{state:{disabled:A,highlighted:C,open:v},stateAttributesMapping:eU.triggerOpenStateMapping,props:[F.getReferenceProps(),L,_,I,{tabIndex:v||C?0:-1,onBlur(){C&&N.set("activeIndex",null)}},m,M],ref:[t,f.ref,O,w,k]})});class nj{constructor(){this.store=new ne}open(e){let t=e?this.store.context.triggerElements.getById(e):void 0;if(e&&!t)throw Error((0,eM.default)(83,e));this.store.setOpen(!0,(0,e8.createChangeEventDetails)("imperative-action",void 0,t))}close(){this.store.setOpen(!1,(0,e8.createChangeEventDetails)("imperative-action",void 0,void 0))}get isOpen(){return this.store.state.open}}e.s(["Arrow",0,eH,"Backdrop",0,eV,"CheckboxItem",0,e7,"CheckboxItemIndicator",0,te,"Group",0,tn,"GroupLabel",0,ts,"Handle",0,nj,"Item",0,ta,"LinkItem",0,to,"Popup",0,tm,"Portal",0,th,"Positioner",0,tC,"RadioGroup",0,tT,"RadioItem",0,tM,"RadioItemIndicator",0,tO,"Root",0,ns,"Separator",()=>nS.Separator,"SubmenuRoot",0,na,"SubmenuTrigger",0,nw,"Trigger",0,nh,"Viewport",0,ny,"createHandle",0,function(){return new nj}],464265);var nk=e.i(464265),nk=nk,nR=e.i(152628);let nN=r.forwardRef(function(e,t){let{render:n,className:s,style:a,...o}=e,{setAnchor:i,actionsRef:l,internalBackdropRef:u,backdropRef:c,positionerRef:d,allowMouseUpTriggerRef:p,initialCursorPointRef:m,rootId:f}=eP(!1),{store:g}=eF(!1),h=g.useState("open"),x=g.useState("disabled"),v=r.useRef(null),b=r.useRef(null),y=(0,tv.useTimeout)(),S=(0,tv.useTimeout)(),w=r.useRef(!1);function j(e,t,n){let r=n.type.startsWith("touch");m.current={x:e,y:t},i({getBoundingClientRect:()=>DOMRect.fromRect({width:10*!!r,height:10*!!r,x:e,y:t})}),w.current=!1,l.current?.setOpen(!0,(0,e8.createChangeEventDetails)(eG.REASONS.triggerPress,n)),S.start(500,()=>{w.current=!0})}function k(){y.clear(),b.current=null}return r.useEffect(()=>{let e=(0,tH.ownerDocument)(v.current);return(0,nR.addEventListener)(e,"contextmenu",function(e){if(x)return;let t=(0,tB.getTarget)(e);((0,tB.contains)(v.current,t)||(0,tB.contains)(u.current,t)||(0,tB.contains)(c.current,t))&&e.preventDefault()})},[c,x,u]),(0,e_.useRenderElement)("div",e,{state:{open:h},ref:[v,t],props:[{onContextMenu:function(e){if(x)return;p.current=!0,(0,t$.stopEvent)(e),j(e.clientX,e.clientY,e.nativeEvent);let t=(0,tH.ownerDocument)(v.current);(0,nR.addEventListener)(t,"mouseup",e=>{if(p.current=!1,!w.current)return;S.clear(),w.current=!1;let t=(0,tB.getTarget)(e);(0,tB.contains)(d.current,t)||f&&t&&nm(t)===f||l.current?.setOpen(!1,(0,e8.createChangeEventDetails)(eG.REASONS.cancelOpen,e))},{once:!0})},onTouchStart:function(e){if(!x&&(p.current=!1,1===e.touches.length)){e.stopPropagation();let t=e.touches[0];b.current={x:t.clientX,y:t.clientY},y.start(500,()=>{b.current&&j(b.current.x,b.current.y,e.nativeEvent)})}},onTouchMove:function(e){if(y.isStarted()&&b.current&&1===e.touches.length){let t=e.touches[0],n=Math.abs(t.clientX-b.current.x),r=Math.abs(t.clientY-b.current.y);(n>10||r>10)&&y.clear()}},onTouchEnd:k,onTouchCancel:k,style:{WebkitTouchCallout:"none"}},o],stateAttributesMapping:eU.pressableTriggerOpenStateMapping})});e.s(["Arrow",0,eH,"Backdrop",0,eV,"CheckboxItem",0,e7,"CheckboxItemIndicator",0,te,"Group",0,tn,"GroupLabel",0,ts,"Item",0,ta,"LinkItem",0,to,"Popup",0,tm,"Portal",0,th,"Positioner",0,tC,"RadioGroup",0,tT,"RadioItem",0,tM,"RadioItemIndicator",0,tO,"Root",0,function(e){let[t,n]=r.useState({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,x:0,y:0})}),s=r.useRef(null),o=r.useRef(null),i=r.useRef(null),l=r.useRef(null),u=r.useRef(!0),c=r.useRef(null),d=(0,eA.useId)(),p=r.useMemo(()=>({anchor:t,setAnchor:n,actionsRef:i,backdropRef:s,internalBackdropRef:o,positionerRef:l,allowMouseUpTriggerRef:u,initialCursorPointRef:c,rootId:d}),[t,d]);return(0,a.jsx)(eO.Provider,{value:p,children:(0,a.jsx)(eW.Provider,{value:void 0,children:(0,a.jsx)(nk.Root,{...e})})})},"Separator",()=>nS.Separator,"SubmenuRoot",0,na,"SubmenuTrigger",0,nw,"Trigger",0,nN],901444);var nI=e.i(901444),nI=nI;function nC({...e}){return(0,a.jsx)(nI.Root,{"data-slot":"context-menu",...e})}function nE({className:e,...t}){return(0,a.jsx)(nI.Trigger,{"data-slot":"context-menu-trigger",className:(0,P.cn)("select-none",e),...t})}function nT({className:e,align:t="start",alignOffset:n=4,side:r="right",sideOffset:s=0,...o}){return(0,a.jsx)(nI.Portal,{children:(0,a.jsx)(nI.Positioner,{className:"isolate z-50 outline-none",align:t,alignOffset:n,side:r,sideOffset:s,children:(0,a.jsx)(nI.Popup,{"data-slot":"context-menu-content",className:(0,P.cn)("z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...o})})})}function nA({className:e,inset:t,variant:n="default",...r}){return(0,a.jsx)(nI.Item,{"data-slot":"context-menu-item","data-inset":t,"data-variant":n,className:(0,P.cn)("group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive",e),...r})}function nM({className:e,...t}){return(0,a.jsx)(nI.Separator,{"data-slot":"context-menu-separator",className:(0,P.cn)("-mx-1 my-1 h-px bg-border",e),...t})}e.i(9772),e.i(589348);let nO=(0,r.memo)(({workspace:e,isActive:t,isDeleting:n,shortcutLabel:o,showShortcut:i,onSelect:l,onRename:c,onDelete:d})=>{let p=(0,u.useTranslations)("terminal"),m=(0,u.useTranslations)("common"),[f,g]=(0,r.useState)(!1),[h,x]=(0,r.useState)(e.name),v=(0,r.useRef)(null);(0,r.useEffect)(()=>{f&&v.current&&(v.current.focus(),v.current.select())},[f]);let b=(0,r.useCallback)(()=>{let t=h.trim();if(g(!1),!t){let t=(e.directories[0]??"").split("/").filter(Boolean).pop()||e.name;t!==e.name&&c(e.id,t),x(t);return}t!==e.name&&c(e.id,t)},[h,e.id,e.name,e.directories,c]),y=(0,r.useCallback)(()=>{g(!1),x(e.name)},[e.name]),S=(0,r.useCallback)(()=>{x(e.name),g(!0)},[e.name]);(0,r.useEffect)(()=>{let t=t=>{t.detail===e.id&&S()};return window.addEventListener("rename-workspace",t),()=>window.removeEventListener("rename-workspace",t)},[e.id,S]);let w=(0,r.useCallback)(()=>{S()},[S]),j=(0,r.useCallback)(()=>{f||t||l(e.id)},[f,t,l,e.id]),k=(0,r.useCallback)(e=>{"Enter"===e.key?(e.preventDefault(),b()):"Escape"===e.key&&(e.preventDefault(),y())},[b,y]),R=e.directories.map(e=>e.replace(/^\/Users\/[^/]+/,"~")),N=(0,s.default)(t=>(0,s.selectWorkspacePortsLabel)(t.tabs,e.id));return(0,a.jsxs)(nC,{children:[(0,a.jsxs)(nE,{className:(0,P.cn)("relative flex cursor-pointer flex-col justify-center border-l-2 px-3 py-2 transition-colors duration-75","overflow-hidden",t?"border-l-focus-indicator bg-accent text-foreground":"border-l-transparent text-muted-foreground hover:bg-sidebar-accent"),style:{opacity:n?.5:1,transition:"opacity 150ms, background-color 75ms"},onClick:j,onDoubleClick:w,role:"button","aria-current":t?"true":void 0,tabIndex:0,render:(0,a.jsx)("div",{}),children:[o&&(0,a.jsx)("span",{className:(0,P.cn)("absolute right-1.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",i?"opacity-100":"opacity-0"),children:o}),f?(0,a.jsx)("input",{ref:v,className:"w-full border-b border-accent-color bg-transparent p-0 text-sm font-medium leading-tight text-foreground outline-none",value:h,onChange:e=>x(e.target.value),onKeyDown:k,onBlur:b}):(0,a.jsx)("span",{className:"truncate border-b border-transparent text-sm font-medium leading-tight",children:e.name}),R.map((e,t)=>(0,a.jsx)("span",{className:(0,P.cn)("truncate text-xs leading-tight text-muted-foreground/70",0===t&&"mt-1"),children:e},e)),N&&(0,a.jsx)("span",{className:"mt-1 truncate text-xs leading-tight text-ui-green/80",children:N}),(0,a.jsx)(ep,{workspaceId:e.id})]}),(0,a.jsxs)(nT,{children:[(0,a.jsxs)(nA,{onClick:S,children:[(0,a.jsx)(eE.Pencil,{className:"mr-2 h-3.5 w-3.5"}),p("rename")]}),(0,a.jsx)(nM,{}),(0,a.jsxs)(nA,{className:"text-ui-red focus:text-ui-red",onClick:()=>d(e.id),children:[(0,a.jsx)(eT.Trash2,{className:"mr-2 h-3.5 w-3.5"}),m("delete")]})]})]})});var nP=e.i(199685),nD=e.i(797304),nL=e.i(29803);let nW=(0,o.default)(()=>e.A(964134),{loadableGenerated:{modules:[605821]},ssr:!1}),nF=(0,o.default)(()=>e.A(78582),{loadableGenerated:{modules:[698544]},ssr:!1}),n_=async()=>{await fetch("/api/auth/logout",{method:"POST"}),window.location.href="/login"},nU=()=>{let e=(0,u.useTranslations)("sidebar"),t=(0,u.useTranslations)("common"),n=(0,l.useRouter)(),o=(0,D.default)(e=>e.workspaces),i=(0,D.default)(e=>e.activeWorkspaceId),d=(0,D.default)(e=>e.sidebarCollapsed),p=(0,D.default)(e=>e.sidebarWidth),m=(0,D.default)(e=>e.isLoading),f=(0,s.default)(e=>{for(let t of Object.values(e.tabs))if("busy"===t.cliState)return!0;return!1}),{attentionCount:x,busyCount:v}=G(),b=x+v,y=(0,nP.useSelectWorkspace)(),{items:S}=(0,es.default)(),w=(0,nD.default)(e=>e.activeId),j=(0,D.default)(e=>e.isSettingsDialogOpen),k=(0,D.default)(e=>e.setSettingsDialogOpen),R=(0,D.default)(e=>e.sidebarTab),[N,I]=(0,r.useState)(!1);(0,r.useEffect)(()=>I(!0),[]);let C=N?R:"workspace",E=(0,r.useCallback)(e=>{D.default.getState().setSidebarTab(e)},[]),[T,A]=(0,r.useState)(!1),M=(0,r.useRef)(null);(0,r.useEffect)(()=>{0===o.length&&D.default.getState().fetchWorkspaces()},[o.length]),(0,r.useEffect)(()=>{let e=()=>k(!0);return window.addEventListener("open-settings",e),()=>window.removeEventListener("open-settings",e)},[k]),(0,r.useEffect)(()=>{let e=eC.isMac?"Meta":"Control",t=t=>{t.key!==e||M.current||(M.current=setTimeout(()=>{A(!0)},500))},n=t=>{t.key===e&&(M.current&&(clearTimeout(M.current),M.current=null),A(!1))},r=()=>{M.current&&(clearTimeout(M.current),M.current=null),A(!1)};return window.addEventListener("keydown",t),window.addEventListener("keyup",n),window.addEventListener("blur",r),()=>{window.removeEventListener("keydown",t),window.removeEventListener("keyup",n),window.removeEventListener("blur",r),M.current&&clearTimeout(M.current)}},[]);let[O,L]=(0,r.useState)(!1),[W,F]=(0,r.useState)(null),[_,U]=(0,r.useState)(new Set),[H,B]=(0,r.useState)(new Set),[$,V]=(0,r.useState)(null),[z,K]=(0,r.useState)(null),[X,q]=(0,r.useState)(!1),J=(0,r.useRef)(!1),Q=(0,r.useRef)(0),Z=(0,r.useRef)(p),en=(0,r.useCallback)(e=>{e.preventDefault(),J.current=!0,q(!0),Q.current=e.clientX,Z.current=p;let t=e=>{if(!J.current)return;let t=e.clientX-Q.current,r=Math.min(480,Math.max(160,Z.current+t));n=r,D.default.getState().setSidebarWidth(r)},n=Z.current,r=()=>{J.current=!1,q(!1),document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",r),document.body.style.cursor="",document.body.style.userSelect="",D.default.getState().saveSidebarWidth(n)};document.addEventListener("mousemove",t),document.addEventListener("mouseup",r),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[p]),er=(0,r.useCallback)(async()=>{L(!0);try{let e=await D.default.getState().createWorkspace("");e&&y(e.id)}finally{L(!1)}},[y]),ei=(0,r.useCallback)(e=>{let t=o.find(t=>t.id===e);t&&F(t)},[o]),el=(0,r.useCallback)(async()=>{if(!W)return;let{id:e}=W;if(F(null),U(t=>new Set(t).add(e)),e===i){let t=o.findIndex(t=>t.id===e),n=o[t+1]||o[t-1];n&&y(n.id)}let t=D.default.getState();t.markPendingDelete(e);try{if(!await t.deleteWorkspace(e))return void U(t=>{let n=new Set(t);return n.delete(e),n});B(t=>new Set(t).add(e)),await new Promise(e=>setTimeout(e,150)),t.removeWorkspace(e),U(t=>{let n=new Set(t);return n.delete(e),n}),B(t=>{let n=new Set(t);return n.delete(e),n}),o.length<=1&&t.fetchWorkspaces()}finally{t.unmarkPendingDelete(e)}},[W,i,o,y]),eu=(0,r.useCallback)((e,t)=>{D.default.getState().renameWorkspace(e,t)},[]),ec=(0,r.useCallback)((e,t)=>{V(t),e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",String(t)),requestAnimationFrame(()=>{e.target.style.opacity="0.4"})},[]),ed=(0,r.useCallback)(e=>{e.target.style.opacity="",V(null),K(null)},[]),ep=(0,r.useCallback)((e,t)=>{e.preventDefault(),e.dataTransfer.dropEffect="move",null!==$&&t!==$&&K(t)},[$]),em=(0,r.useCallback)((e,t)=>{e.preventDefault(),null!==$&&$!==t&&D.default.getState().reorderWorkspaces($,t),V(null),K(null)},[$]),ef=(0,r.useCallback)(()=>{D.default.getState().toggleSidebar()},[]);return(0,a.jsxs)("div",{className:"relative flex shrink-0",children:[(0,a.jsxs)("div",{className:"flex shrink-0 flex-col overflow-hidden border-r border-sidebar-border bg-sidebar",suppressHydrationWarning:!0,style:{width:m?"var(--initial-sb-w, 200px)":d?0:p,minWidth:m?"var(--initial-sb-mw, 160px)":160*!d,maxWidth:480,borderRightStyle:d?"none":void 0,transition:X?"none":"width 200ms ease, min-width 200ms ease"},role:"navigation","aria-label":e("workspaceList"),children:[(0,a.jsxs)("div",{className:"relative z-[60] flex h-12 shrink-0 items-center justify-between border-b border-sidebar-border px-3 pl-traffic-light",...nL.default?{style:{WebkitAppRegion:"drag"}}:{},children:[(0,a.jsx)(h.default,{shimmer:f,className:"pointer-events-none"}),(0,a.jsx)("div",{className:"flex items-center gap-0.5",...nL.default?{style:{WebkitAppRegion:"no-drag"}}:{},children:(0,a.jsxs)(g.AlertDialog,{children:[(0,a.jsx)(g.AlertDialogTrigger,{render:(0,a.jsx)("button",{className:"flex h-7 w-7 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-sidebar-accent","aria-label":t("logout")}),children:(0,a.jsx)(c.LogOut,{className:"h-3.5 w-3.5"})}),(0,a.jsxs)(g.AlertDialogContent,{children:[(0,a.jsxs)(g.AlertDialogHeader,{children:[(0,a.jsx)(g.AlertDialogTitle,{children:t("logout")}),(0,a.jsx)(g.AlertDialogDescription,{children:t("logoutConfirm")})]}),(0,a.jsxs)(g.AlertDialogFooter,{children:[(0,a.jsx)(g.AlertDialogCancel,{children:t("cancel")}),(0,a.jsx)(g.AlertDialogAction,{onClick:n_,children:t("logout")})]})]})]})})]}),(0,a.jsx)("div",{className:"shrink-0 border-b border-sidebar-border px-2 py-1.5",children:(0,a.jsx)(eo.Tabs,{value:C,onValueChange:E,className:"gap-0",children:(0,a.jsxs)(eo.TabsList,{className:"h-7 w-full",children:[(0,a.jsx)(eo.TabsTrigger,{value:"workspace",className:"h-full flex-1 px-2.5 text-[11px] tracking-wide",children:"WORKSPACE"}),(0,a.jsxs)(eo.TabsTrigger,{value:"sessions",className:"h-full flex-1 px-2.5 text-[11px] tracking-wide",children:["SESSIONS",b>0&&(0,a.jsx)("span",{className:"ml-1 inline-flex h-3.5 min-w-3.5 items-center justify-center rounded bg-[var(--ui-coral)] px-0.5 text-[9px] font-medium leading-none text-white",children:b})]})]})})}),"workspace"===C?(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto",style:{scrollbarWidth:"none"},children:[!m&&0===o.length&&(0,a.jsx)("div",{className:"flex flex-col items-center gap-2 p-4",children:(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:e("noWorkspaces")})}),o.map((e,t)=>(0,a.jsx)("div",{draggable:!0,onDragStart:e=>ec(e,t),onDragEnd:ed,onDragOver:e=>ep(e,t),onDrop:e=>em(e,t),style:{opacity:H.has(e.id)?0:void 0,transition:"opacity 150ms ease-out",borderTop:z===t&&null!==$&&$>t?"2px solid var(--focus-indicator)":void 0,borderBottom:z===t&&null!==$&&$<t?"2px solid var(--focus-indicator)":void 0},children:(0,a.jsx)(nO,{workspace:e,isActive:e.id===i&&"/"===n.pathname&&!w,isDeleting:_.has(e.id),shortcutLabel:t<8?`⌘${t+1}`:t===o.length-1?"⌘9":void 0,showShortcut:T,onSelect:y,onRename:eu,onDelete:ei})},e.id))]}):(0,a.jsx)(Y,{className:"px-2 pt-2 pb-2"}),(0,a.jsxs)("div",{className:"shrink-0 border-t border-sidebar-border",children:["workspace"===C&&(0,a.jsxs)("button",{className:"flex h-9 w-full items-center gap-2 px-3 text-sm text-muted-foreground transition-colors hover:bg-sidebar-accent disabled:opacity-50",onClick:er,disabled:O,"aria-label":e("addWorkspace"),children:[(0,a.jsx)(ee.Plus,{className:"h-3.5 w-3.5"}),"Workspace"]}),(0,a.jsx)(ex,{}),(0,a.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-0.5",children:[S.map(e=>{let t,r=e.url.startsWith("http://")||e.url.startsWith("https://"),s=r?w===e.id:(t=e.url,n.pathname.startsWith(t)&&!w),o={"builtin-notes":{mac:"⌘⇧E",other:"^⇧E"},"builtin-stats":{mac:"⌘⇧U",other:"^⇧U"}}[e.id];return(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("button",{className:(0,P.cn)("flex h-7 w-7 items-center justify-center rounded transition-colors hover:bg-sidebar-accent",s?"text-foreground":"text-muted-foreground"),onClick:()=>{r?nD.default.getState().open(e.id,e.url,e.name):(nD.default.getState().hide(),n.push(e.url))},"aria-label":e.name,title:e.name,children:(0,a.jsx)(ea.default,{name:e.icon,className:"h-3.5 w-3.5"})}),o&&(0,a.jsx)(eI,{mac:o.mac,other:o.other,className:(0,P.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",T?"opacity-100":"opacity-0")})]},e.id)}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("button",{className:"flex h-7 w-7 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-sidebar-accent",onClick:()=>k(!0),"aria-label":t("settings"),children:(0,a.jsx)(et.Settings,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(eI,{mac:"⌘,",other:"^,",className:(0,P.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",T?"opacity-100":"opacity-0")})]})]}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("button",{className:"flex h-7 w-7 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-sidebar-accent",onClick:ef,"aria-label":e("collapseSidebar"),children:(0,a.jsx)(ek,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(eI,{mac:"⌘B",other:"^B",className:(0,P.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",T?"opacity-100":"opacity-0")})]})]})]})]}),!d&&(0,a.jsx)("div",{className:"group relative shrink-0",style:{width:"6px",marginLeft:"-3px",marginRight:"-3px",cursor:"col-resize",zIndex:10},onMouseDown:en,onKeyDown:e=>{let t=e.shiftKey?20:4;if("ArrowLeft"===e.key){e.preventDefault();let n=Math.max(160,p-t);D.default.getState().setSidebarWidth(n)}else if("ArrowRight"===e.key){e.preventDefault();let n=Math.min(480,p+t);D.default.getState().setSidebarWidth(n)}},onKeyUp:e=>{("ArrowLeft"===e.key||"ArrowRight"===e.key)&&D.default.getState().saveSidebarWidth(D.default.getState().sidebarWidth)},role:"separator","aria-orientation":"vertical","aria-valuenow":p,"aria-valuemin":160,"aria-valuemax":480,tabIndex:0,suppressHydrationWarning:!0,children:(0,a.jsx)("div",{className:"absolute left-1/2 top-0 h-full w-px -translate-x-1/2 bg-border transition-colors group-hover:bg-muted-foreground/50 group-active:bg-muted-foreground"})}),d&&(0,a.jsx)("div",{className:"flex w-8 shrink-0 flex-col border-r border-sidebar-border bg-sidebar",children:(0,a.jsx)("button",{className:"flex flex-1 items-center justify-center text-muted-foreground transition-colors hover:bg-sidebar-accent",onClick:ef,"aria-label":e("expandSidebar"),"aria-expanded":"false",children:(0,a.jsx)(eR,{className:"h-4 w-4"})})}),j&&(0,a.jsx)(nW,{open:j,onOpenChange:k}),(0,a.jsx)(nF,{}),(0,a.jsx)(g.AlertDialog,{open:!!W,onOpenChange:e=>{e||F(null)},children:(0,a.jsxs)(g.AlertDialogContent,{children:[(0,a.jsxs)(g.AlertDialogHeader,{children:[(0,a.jsx)(g.AlertDialogTitle,{children:e("deleteWorkspace")}),(0,a.jsx)(g.AlertDialogDescription,{children:e("deleteWorkspaceConfirm",{name:W?.name??""})})]}),(0,a.jsxs)(g.AlertDialogFooter,{children:[(0,a.jsx)(g.AlertDialogCancel,{children:t("cancel")}),(0,a.jsx)(g.AlertDialogAction,{className:"bg-ui-red hover:bg-ui-red/80",onClick:el,children:t("delete")})]})]})})]})};var nH=e.i(997873),nB=e.i(407506);let nG=(0,o.default)(()=>e.A(248001),{loadableGenerated:{modules:[394637]},ssr:!1}),n$=({children:e})=>{let t=(0,nD.default)(e=>null!==e.activeId);return(0,a.jsx)("div",{className:"flex min-h-0 flex-1 flex-col",style:{display:t?"none":void 0},children:e})},nV=({children:e})=>{let t,n,o,u,c,d,p,m;return t=(0,r.useRef)(null),n=(0,r.useRef)(null),o=(0,r.useRef)(!1),(0,r.useEffect)(()=>{o.current=!0;let e=()=>{if(!o.current)return;let r="https:"===location.protocol?"wss:":"ws:",a=new WebSocket(`${r}//${location.host}/api/sync`);t.current=a,a.onmessage=e=>{try{let t=JSON.parse(e.data);if("workspace"===t.type&&D.default.getState().syncWorkspaces(),"layout"===t.type){let e=D.default.getState().activeWorkspaceId;t.workspaceId===e?F.useLayoutStore.getState().fetchLayout(e):t.workspaceId&&fetch(`/api/layout?workspace=${t.workspaceId}`).then(e=>e.ok?e.json():null).then(e=>{if(!e?.root)return;let n=(0,_.collectPanes)(e.root).flatMap(e=>e.tabs.map(e=>e.id));s.default.getState().setTabOrder(t.workspaceId,n)}).catch(()=>{})}}catch(e){console.log(`[sync-ws] message parse error: ${e instanceof Error?e.message:e}`)}},a.onclose=()=>{t.current=null,o.current&&(n.current=setTimeout(e,3e3))},a.onerror=()=>{a.close()}};e();let r=()=>{if("visible"!==document.visibilityState)return;D.default.getState().syncWorkspaces();let e=D.default.getState().activeWorkspaceId;e&&F.useLayoutStore.getState().fetchLayout(e)};return document.addEventListener("visibilitychange",r),()=>{o.current=!1,n.current&&clearTimeout(n.current),t.current?.close(),t.current=null,document.removeEventListener("visibilitychange",r)}},[]),(u=(0,nP.useSelectWorkspace)(),c=(0,l.useRouter)(),d=(0,D.default)(e=>e.isSettingsDialogOpen),p=(0,D.default)(e=>e.isCheatSheetOpen),m=!d&&!p,(0,nB.default)("workspace.switch",e=>{let{workspaces:t}=D.default.getState(),n=parseInt(e.code.replace("Digit",""),10);if(isNaN(n)||n<1||n>9)return;let r=9===n?t[t.length-1]:t[n-1];r&&u(r.id)},m),(0,nB.default)("app.settings",()=>{window.dispatchEvent(new Event("open-settings"))},!0),(0,nB.default)("app.new_window",()=>{let e=window.electronAPI;e?.openNewWindow?.()},!0),(0,nB.default)("workspace.new",async()=>{let e=D.default.getState(),t=await e.createWorkspace("");t&&u(t.id)},m),(0,nB.default)("workspace.rename",()=>{let{activeWorkspaceId:e}=D.default.getState();e&&window.dispatchEvent(new CustomEvent("rename-workspace",{detail:e}))},m),(0,nB.default)("view.toggle_sidebar",()=>{D.default.getState().toggleSidebar()},m),(0,nB.default)("view.notes",()=>{c.push("/reports")},m),(0,nB.default)("view.stats",()=>{c.push("/stats")},m),(0,r.useEffect)(()=>{nH.default.getState().loaded||nH.default.getState().load()},[]),(0,r.useEffect)(()=>{let e=e=>{if("?"!==e.key||e.metaKey||e.ctrlKey||e.altKey||(e=>{if(!(e instanceof HTMLElement))return!1;if(e.isContentEditable)return!0;let t=e.tagName;return"INPUT"===t||"TEXTAREA"===t||"SELECT"===t})(e.target))return;let t=D.default.getState();t.isSettingsDialogOpen||t.isCheatSheetOpen||(e.preventDefault(),t.setCheatSheetOpen(!0))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,i.default)())?(0,a.jsx)("div",{className:"flex h-dvh w-full flex-col overflow-hidden bg-background",children:(0,a.jsx)(ej,{children:e})}):(0,a.jsxs)("div",{className:"flex h-dvh w-full overflow-hidden bg-background max-md:hidden",children:[(0,a.jsx)(nU,{}),(0,a.jsxs)("div",{className:"relative flex min-w-0 flex-1 flex-col",children:[(0,a.jsx)(n$,{children:e}),(0,a.jsx)(nG,{})]})]})};e.s(["getPageShellLayout",0,e=>(0,a.jsx)(nV,{children:e}),"getPageShellWithTitlebarLayout",0,e=>(0,a.jsx)(nV,{children:(0,a.jsx)("div",{className:"flex min-h-0 flex-1 flex-col pt-titlebar",children:e})})],673598)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,945975,(e,a,o)=>{a.exports={title:"Configuracoes",tabs:{general:"Geral",appearance:"Aparencia",terminal:"Terminal",editor:"Editor",claude:"Claude",auth:"Autenticacao",tailscale:"Tailscale",quickPrompts:"Prompts Rapidos",sidebarItems:"Barra Lateral",agent:"Agente",notification:"Notificacao",system:"Sistema"},general:{theme:"Tema",themeDescription:"Selecione o tema de exibicao.",language:"Idioma",languageDescription:"Selecione o idioma da interface.",fontSize:"Tamanho da fonte",fontSizeDescription:"Ajuste o tamanho da fonte da interface e do terminal.",fontSizeNormal:"Normal",fontSizeLarge:"Grande",fontSizeXLarge:"Muito grande",keyboardShortcuts:"Atalhos de teclado",keyboardShortcutsDescription:"Visualizar e personalizar todos os atalhos de teclado.",openShortcuts:"Abrir"},appearance:{customCSS:"CSS Personalizado",customCSSDescription:"Substitua variaveis CSS para personalizar cores e estilos.",apply:"Aplicar",reset:"Redefinir",resetConfirm:"Redefinir todo o CSS personalizado?",applied:"CSS personalizado aplicado.",availableVariables:"Variaveis Disponiveis",placeholder:":root {\n --background: oklch(0.98 0 0);\n --sidebar: oklch(0.95 0.01 220);\n}\n.dark {\n --background: oklch(0.08 0 0);\n}"},terminal:{theme:"Tema do Terminal",themeDescription:"Selecione temas de cores do terminal para cada modo."},editor:{preset:"Editor",presetDescription:"Escolha qual editor abrir ao clicar no botao EDITOR no cabecalho.",presets:{"code-server":"Code Server (Web)",vscode:"VS Code","vscode-insiders":"VS Code Insiders",cursor:"Cursor",windsurf:"Windsurf",zed:"Zed",custom:"URL personalizada",off:"Desativado"},url:"URL do Editor",urlDescription:"Insira a URL web da sua instancia do Code Server.",urlHelp:"Instale e execute o <link>code-server</link> para usar o VS Code no navegador. O parametro <code>?folder=</code> e adicionado automaticamente a URL.",customTemplate:"Modelo de URL",customTemplateDescription:"Insira um modelo de URL que sera aberto com a pasta atual.",customHelp:"Use <folder></folder> para o caminho absoluto ou <folderEncoded></folderEncoded> para o caminho codificado em URL.",localIdeHint:"Abre a IDE selecionada localmente. A IDE deve estar instalada no dispositivo que executa o navegador ou o aplicativo desktop.",offHint:"O botao do editor sera ocultado do cabecalho.",preview:"Previa (com pasta de exemplo)",errorHttpRequired:"A URL deve comecar com http:// ou https://",errorCustomTemplate:"O modelo deve incluir {folder} ou {folderEncoded}"},claude:{skipPermissions:"Pular Verificacao de Permissoes",skipPermissionsDescription:"Adiciona a opcao --dangerously-skip-permissions ao executar o Claude CLI."},auth:{changePassword:"Alterar Senha",changePasswordDescription:"Novas senhas sao criptografadas com SHA-512 antes de salvar.",newPasswordPlaceholder:"Digite a nova senha (min 4 caracteres)",passwordPlaceholder:"Digite a senha (min 4 caracteres)",resetHint:"Para redefinir, exclua ~/.purplemux/config.json e {action}.",restartServer:"reinicie o servidor",restartApp:"feche e reinicie o aplicativo",savedRestart:"Salvo. As alteracoes serao aplicadas apos {action}.",restartServerAction:"reiniciar o servidor",restartAppAction:"reiniciar o aplicativo"},notification:{enable:"Ativar Notificacoes",enableDescription:"Exibir notificacoes do sistema quando tarefas do Claude forem concluidas. Funciona apenas no aplicativo Electron."},agent:{enableMenu:"Ativar Menu de Agentes",enableMenuDescription:"Exibir o menu de agentes na barra lateral. Este recurso esta atualmente em beta."},system:{networkAccess:"Acesso à rede",networkAccessDescription:"Controla quais redes podem acessar o purplemux. Aplica-se após reiniciar o servidor.",networkAccessLocked:"Controlado pela variável de ambiente HOST.",restartRequired:"Alterações exigem reinício do servidor.",networkAccessOptions:{localhost:{label:"Apenas Localhost",description:"Apenas esta máquina. Mais seguro; a porta fica fechada para outros dispositivos."},tailscale:{label:"Localhost + Tailscale",description:"Esta máquina e pares do Tailscale. LAN e Internet pública são bloqueadas."},all:{label:"Todas as interfaces",description:"Permite conexões de qualquer rede acessível, incluindo LAN e Internet pública."}},showResources:"Mostrar recursos do sistema",showResourcesDescription:"Exibir uso de CPU, memória e sessões tmux no cabeçalho.",attachedImages:"Imagens anexadas",attachedImagesDescription:"As imagens anexadas na barra de entrada sao armazenadas em ~/.purplemux/uploads/. Arquivos com mais de 24 horas sao removidos automaticamente ao iniciar o servidor.",cleanAttachedImages:"Limpar agora",attachedImagesCleaned:"{count} arquivos removidos",attachedImagesNothing:"Nenhuma imagem para remover",tmuxReset:"Redefinir tmux",tmuxResetDescription:"Encerra todas as sessoes tmux e {action}. Use quando alteracoes nas configuracoes precisarem ser aplicadas.",tmuxResetConfirm:"Todos os processos em execucao no terminal serao encerrados. Continuar?",restartServer:"reinicia o servidor",restartApp:"reinicia o aplicativo"},tailscale:{notInstalled:"Tailscale CLI nao esta instalado",notInstalledDescription:"Instale o Tailscale para acessar com seguranca de fora da sua rede.",commentMac:"# macOS",commentMacAppStore:"# ou instale pela Mac App Store",commentLinux:"# Linux (Ubuntu/Debian)",commentAfterInstall:"# Apos a instalacao, faca login",installGuide:"Para instrucoes detalhadas de instalacao, visite o <link>site oficial do Tailscale</link>.",notRunning:"Tailscale nao esta em execucao",notRunningDescription:"Inicie o Tailscale.",deviceInfo:"Informacoes do Dispositivo",host:"Host",dns:"DNS",ip:"IP",version:"Versao",nonDefaultPortTitle:"O servidor esta rodando na porta {port}",nonDefaultPortDescription:"A porta padrao ({defaultPort}) estava em uso, entao uma porta diferente foi atribuida automaticamente. A porta atribuida automaticamente pode mudar apos {restartAction}, por isso e recomendado definir a porta local como {defaultPort} em vez de {currentPort} nas configuracoes do Tailscale Serve.",appRestart:"reiniciar o aplicativo",serverRestart:"reiniciar o servidor",commentFixedPort:"# Para usar porta fixa ({port})",commentOrTerminate:"# ou encerre o processo ocupando a porta {port} e reinicie",serveStatus:"Status do Serve",noActiveServe:"Nenhuma entrada serve ativa.",httpsPort:"Porta HTTPS",proxyTarget:"Destino do Proxy",url:"URL",addServe:"Adicionar Serve",setupGuide:"Guia de configuração",commentStep1Install:"# 1. Instalar CLI",commentStep2Activate:"# 2. Connect",commentStep3Add:"# 3. Adicionar Serve",localPort:"Porta Local",add:"Adicionar",enterPort:"Insira uma porta",addedToast:"HTTPS :{httpsPort} → localhost:{localPort} adicionado",removedToast:"HTTPS :{httpsPort} removido"},quickPrompts:{title:"Prompts Rapidos",description:"Gerencie os botoes de prompt exibidos acima do campo de entrada.",builtinSection:"Prompts Integrados",customSection:"Prompts Personalizados",itemsSection:"Prompts",addPrompt:"Adicionar Prompt",editPrompt:"Editar Prompt",nameLabel:"Nome",namePlaceholder:"ex. Revisao de Codigo",promptLabel:"Prompt",promptPlaceholder:"ex. Revise as alteracoes atuais.",save:"Salvar",cancel:"Cancelar",addButton:"Adicionar Prompt",resetToDefault:"Restaurar Padrao",resetTitle:"Restaurar Padrao",resetDescription:"Todos os prompts personalizados serao excluidos e os prompts integrados serao ativados.",resetCancel:"Cancelar",resetConfirm:"Redefinir",deleteTitle:"Excluir Prompt",deleteDescription:"Tem certeza de que deseja excluir este prompt?",deleteCancel:"Cancelar",deleteConfirm:"Excluir"},sidebarItems:{title:"Itens da Barra Lateral",description:"Gerencie os itens de atalho exibidos na parte inferior da barra lateral.",itemsSection:"Itens",addItem:"Adicionar Item",editItem:"Editar Item",nameLabel:"Nome",namePlaceholder:"ex. Grafana",iconLabel:"Icone",iconSearch:"Pesquisar icones...",iconNotFound:"Nenhum icone encontrado",urlLabel:"URL",urlPlaceholder:"ex. https://grafana.example.com",save:"Salvar",cancel:"Cancelar",addButton:"Adicionar Item",resetToDefault:"Restaurar Padrao",resetTitle:"Restaurar Padrao",resetDescription:"Todos os itens personalizados serao excluidos e os itens integrados serao ativados.",resetCancel:"Cancelar",resetConfirm:"Redefinir",deleteTitle:"Excluir Item",deleteDescription:"Tem certeza de que deseja excluir este item?",deleteCancel:"Cancelar",deleteConfirm:"Excluir"},saveFailed:"Falha ao salvar configurações"}}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,432270,e=>{"use strict";var t=e.i(391398),s=e.i(191788),a=e.i(432237),n=e.i(398957),l=e.i(482192),r=e.i(972733),i=e.i(352819),o=e.i(199648),c=e.i(679935),u=e.i(939310),d=e.i(335288),f=e.i(806185),m=e.i(490034),x=e.i(453783),p=e.i(868462),h=e.i(570513),b=e.i(876208),g=e.i(714233),j=e.i(883590),y=e.i(57098);let C=({open:e,onOpenChange:a,sessionName:n})=>{let l=(0,i.useTranslations)("terminal"),[r,o]=(0,s.useState)(""),[d,f]=(0,s.useState)(!1),[m,x]=(0,s.useState)(null),[p,h]=(0,s.useState)(null),g=e&&n?n:null;g!==p&&(h(g),o(""),x(null),f(null!==g)),(0,s.useEffect)(()=>{if(!p)return;let e=!1;return fetch(`/api/tmux/capture?session=${encodeURIComponent(p)}`).then(e=>{if(!e.ok)throw Error("capture failed");return e.json()}).then(t=>{e||(o((t.content??"").replace(/\s+$/g,"")),f(!1))}).catch(()=>{e||(x(l("copyPaneCaptureFailed")),f(!1))}),()=>{e=!0}},[p,l]);let j=(0,s.useCallback)(async()=>{if(r)try{await navigator.clipboard.writeText(r),c.toast.success(l("copyPaneSuccess"),{duration:1500}),a(!1)}catch{c.toast.error(l("copyPaneCopyFailed"))}},[r,a,l]);return(0,t.jsx)(y.Drawer,{open:e,onOpenChange:a,children:(0,t.jsxs)(y.DrawerContent,{className:"h-[80dvh] data-[vaul-drawer-direction=bottom]:max-h-[80dvh]",children:[(0,t.jsxs)(y.DrawerHeader,{className:"pb-2",children:[(0,t.jsx)(y.DrawerTitle,{children:l("copyPaneDrawerTitle")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:l("copyPaneDrawerHint")})]}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 px-4 pb-4",children:[d?(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center py-8 text-sm text-muted-foreground",children:l("copyPaneLoading")}):m?(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center py-8 text-sm text-ui-red",children:m}):(0,t.jsx)("textarea",{value:r,onChange:e=>o(e.target.value),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",className:"min-h-0 flex-1 w-full resize-none rounded border border-border bg-muted/30 p-3 font-mono text-xs text-foreground outline-none focus:ring-1 focus:ring-ring"}),(0,t.jsxs)(u.Button,{onClick:j,disabled:d||!!m||!r,className:"w-full",children:[(0,t.jsx)(b.Copy,{className:"mr-2 h-4 w-4"}),l("copyPaneCopyAll")]})]})]})})};var k=e.i(399267),v=e.i(320183),w=e.i(353533),S=e.i(212283);let N=[{type:"terminal",label:"TERMINAL"},{type:"claude-code",label:"CLAUDE"},{type:"diff",label:"DIFF"}],T=({tabId:e,tabName:a,sessionName:n,panelType:l,onSwitchPanelType:o,onCreateTab:c,onClose:u})=>{let d=(0,i.useTranslations)("mobile"),f=(0,i.useTranslations)("common"),m=(0,i.useTranslations)("terminal"),[x,y]=(0,s.useState)(!1),T=(0,k.default)(t=>t.tabs[e]),R=T?.terminalStatus==="server"?"text-ui-green":T?.terminalStatus==="running"?"text-ui-blue":"text-muted-foreground/50";return(0,t.jsxs)("div",{className:"flex h-10 shrink-0 items-center border-b border-border/50 bg-background",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2 px-3",children:[(0,t.jsx)(j.default,{tabId:e,panelType:l}),"claude-code"===l?(0,t.jsx)(g.default,{size:16}):"diff"===l?(0,t.jsx)(h.GitCompareArrows,{className:"h-4 w-4 shrink-0 text-muted-foreground"}):(0,t.jsx)(v.default,{process:T?.currentProcess,className:(0,w.cn)("h-3.5 w-3.5 shrink-0",R)}),(0,t.jsx)("span",{className:"truncate text-xs text-foreground",children:a})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5 pr-0.5",children:[(0,t.jsx)("div",{className:"flex items-center gap-px",children:N.map(e=>(0,t.jsx)("button",{className:(0,w.cn)("rounded px-1.5 py-0.5 text-[10px] font-medium tracking-wide transition-colors",l===e.type?"bg-accent text-foreground":"text-muted-foreground/60 hover:text-muted-foreground"),onClick:()=>o(e.type),children:e.label},e.type))}),"terminal"===l&&!!n&&(0,t.jsx)("button",{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors",onClick:()=>y(!0),"aria-label":m("copyPaneLabel"),children:(0,t.jsx)(b.Copy,{size:16})}),(0,t.jsx)("button",{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors",onClick:c,"aria-label":d("newTab"),children:(0,t.jsx)(r.Plus,{size:16})}),(0,t.jsxs)(S.AlertDialog,{children:[(0,t.jsx)(S.AlertDialogTrigger,{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors","aria-label":d("closeTab"),children:(0,t.jsx)(p.X,{size:16})}),(0,t.jsxs)(S.AlertDialogContent,{children:[(0,t.jsxs)(S.AlertDialogHeader,{children:[(0,t.jsx)(S.AlertDialogTitle,{children:d("closeTab")}),(0,t.jsx)(S.AlertDialogDescription,{children:d("closeTabConfirm",{name:a})})]}),(0,t.jsxs)(S.AlertDialogFooter,{children:[(0,t.jsx)(S.AlertDialogCancel,{children:f("cancel")}),(0,t.jsx)(S.AlertDialogAction,{className:"bg-ui-red hover:bg-ui-red/80",onClick:u,children:f("close")})]})]})]})]}),(0,t.jsx)(C,{open:x,onOpenChange:y,sessionName:n})]})};var R=e.i(125687),P=e.i(40830),I=e.i(236495),D=e.i(244046),L=e.i(355327),E=e.i(756494),A=e.i(391046),z=e.i(918324),M=e.i(231382),B=e.i(377181),$=e.i(418760),W=e.i(815435),O=e.i(967086),F=e.i(541301),H=e.i(767708),U=e.i(441693),V=e.i(17122),_=e.i(273062),K=e.i(87093),q=e.i(148141),G=e.i(624306),J=e.i(706140),X=e.i(529511);let Y=({open:e,onOpenChange:s,meta:a,branch:n,isBranchLoading:l,sessionId:r,gitStatus:i,tmuxInfo:o})=>(0,t.jsx)(X.Sheet,{open:e,onOpenChange:s,children:(0,t.jsxs)(X.SheetContent,{side:"bottom",showCloseButton:!1,className:"rounded-t-xl",children:[(0,t.jsx)("div",{className:"mx-auto mt-2 h-1.5 w-12 rounded-full bg-muted-foreground/20"}),(0,t.jsx)("div",{className:"px-4 pt-4 pb-6",children:(0,t.jsx)(J.MetaDetail,{title:a.title,sessionId:r,createdAt:a.createdAt,updatedAt:a.updatedAt,fileSize:a.fileSize,userCount:a.userCount,assistantCount:a.assistantCount,inputTokens:a.inputTokens,outputTokens:a.outputTokens,cacheCreationTokens:a.cacheCreationTokens,cacheReadTokens:a.cacheReadTokens,totalTokens:a.totalTokens,contextWindowTokens:a.contextWindowTokens,totalCost:a.totalCost,tokensByModel:a.tokensByModel,branch:n,isBranchLoading:l,gitStatus:i,tmuxInfo:o})})]})});var Z=e.i(639530);let Q=({tabId:e,wsId:a,sessionName:n,claudeSessionId:l,cwd:r,sendStdin:u,terminalWsConnected:d,focusTerminal:f,focusInputRef:m,setInputValueRef:x,onCliStateChange:p,onInputVisibleChange:h,onRestartSession:b,onNewSession:g})=>{let j=(0,i.useTranslations)("terminal"),{prompts:y}=(0,Z.default)(),[C,v]=(0,s.useState)(null),[w,S]=(0,s.useState)(!1),N=(0,s.useRef)(void 0),T=(0,k.default)(t=>e?t.tabs[e]?.claudeProcess??null:null),R=(0,k.default)(t=>!e||(t.tabs[e]?.claudeInstalled??!0)),P=(0,k.default)(t=>e?t.tabs[e]?.cliState??"inactive":"inactive"),I=(0,k.default)(t=>e?t.tabs[e]?.compactingSince??null:null),D=(0,s.useCallback)(()=>{v(null)},[]),L=(0,s.useCallback)(e=>{v(null),c.toast.warning(j("resumeBlocked"),{description:e.processName?j("resumeBlockedProcess",{name:e.processName}):void 0})},[j]),E=(0,s.useCallback)(()=>{v(null),c.toast.error(j("resumeFailed"))},[j]),{entries:A,tasks:X,sessionId:Q,sessionSummary:ee,initMeta:et,claudeProcess:es,wsStatus:ea,isLoading:en,error:el,loadMore:er,hasMore:ei,retrySession:eo,sendResume:ec,addPendingUserMessage:eu,removePendingUserMessage:ed}=(0,M.default)({sessionName:n,claudeSessionId:l,enabled:!!n,resumeCallbacks:{onResumeStarted:D,onResumeBlocked:L,onResumeError:E},onSync:e?t=>{let s=Date.now();null!==t.claudeProcess&&k.default.getState().setClaudeProcess(e,t.claudeProcess,s),t.claudeInstalled||k.default.getState().setClaudeInstalled(e,!1),k.default.getState().setTimelineLoading(e,t.isLoading)}:void 0,getCliState:e?()=>k.default.getState().tabs[e]?.cliState:void 0}),ef=e?T:es,{sessions:em,hasMore:ex,isLoading:ep,isLoadingMore:eh,error:eb,refetch:eg,loadMore:ej}=(0,$.default)({tmuxSession:n,enabled:!!n&&!0!==ef,cwd:r}),ey=(0,s.useRef)(T);(0,s.useEffect)(()=>{let e=ey.current;ey.current=T,!0!==e&&!0===T&&!0!==es&&eo()},[T,es,eo]);let eC=(0,k.default)(t=>e?(0,k.selectSessionView)(t.tabs,e):"session-list"),{meta:ek}=(0,W.default)(A,ee,et),{branch:ev,isLoading:ew}=(0,O.default)(n),{status:eS}=(0,F.default)(n,w),eN=(0,H.default)(n,w),eT="timeline"===eC,eR=(0,B.default)("check"===eC,n);(0,s.useEffect)(()=>{p(P)},[P,p]),(0,s.useEffect)(()=>{h(eT)},[eT,h]);let eP=(0,s.useCallback)(()=>{N.current?.()},[]),eI=(0,s.useCallback)(e=>{x.current?.(e),m.current?.()},[x,m]),eD=(0,s.useCallback)(e=>{C||(v(e),ec(e,n))},[C,ec,n]);return R?null===T&&"check"!==eC?(0,t.jsx)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:(0,t.jsx)(o.default,{className:"h-4 w-4 text-muted-foreground"})}):"check"===eC?(0,t.jsxs)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:[(0,t.jsx)(o.default,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"mt-2 text-sm text-muted-foreground",children:l||Q?j("resumingSession"):j("creatingConversation")}),eR&&(eR.isBypassPrompt&&eR.options.length>0?(0,t.jsx)(_.default,{sessionName:n,options:eR.options,fallback:(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:j("checkTerminal")})}):(0,t.jsx)("span",{className:"mt-3 text-xs text-muted-foreground",children:j("checkTerminal")}))]}):"session-list"===eC?ep&&0===em.length?(0,t.jsx)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:(0,t.jsx)(o.default,{className:"h-4 w-4 text-muted-foreground"})}):0!==em.length||eb?(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:(0,t.jsx)(U.default,{sessions:em,isLoading:ep,isLoadingMore:eh,hasMore:ex,error:eb,resumingSessionId:C,onSelectSession:eD,onRefresh:eg,onLoadMore:ej,onNewSession:g})}):(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:(0,t.jsx)(V.default,{onNewSession:g})}):(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:[(0,t.jsxs)("div",{className:"flex shrink-0 cursor-pointer items-center justify-between border-b px-4 py-1.5 hover:bg-muted/30",role:"button",tabIndex:0,onClick:()=>S(!0),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),S(!0))},children:[(0,t.jsx)(J.MetaCompact,{title:ek.title,totalCost:ek.totalCost,branch:ev}),(0,t.jsx)(z.ChevronDown,{size:14,className:"shrink-0 text-muted-foreground"})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1",children:(0,t.jsx)(K.default,{entries:A,tasks:X,sessionId:Q,sessionName:n,tabId:e,initMeta:et,cliState:P,compactingSince:I,wsStatus:ea,isLoading:en,error:el,onRetry:eo,onLoadMore:er,hasMore:ei,scrollToBottomRef:N})}),(0,t.jsxs)("div",{className:"shrink-0 pb-3",children:[(0,t.jsx)(q.default,{tabId:e,wsId:a,sessionName:n,claudeSessionId:l,cliState:P,sendStdin:u,terminalWsConnected:d,visible:eT,focusTerminal:f,focusInputRef:m,setInputValueRef:x,maxRows:3,onRestartSession:b,onSend:eP,onOptimisticSend:eu,onAddPendingMessage:eu,onRemovePendingMessage:ed}),(0,t.jsx)(G.default,{prompts:y,visible:eT,onSelect:eI})]}),(0,t.jsx)(Y,{open:w,onOpenChange:S,meta:ek,branch:ev,isBranchLoading:ew,sessionId:Q,gitStatus:eS,tmuxInfo:eN})]}):(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col items-center justify-center gap-3 bg-muted text-muted-foreground",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:j("installClaude")}),(0,t.jsx)("span",{className:"text-xs",children:j("installClaudeHint")})]})};var ee=e.i(166229);let et="__CTRL__",es="__SHIFT__",ea={fontFamily:"MesloLGLDZ, monospace"},en=[{label:"Tab",value:" "},{label:"Esc",value:"\x1b"},{label:"Ctrl",value:et},{label:"Shift",value:es},{label:"󱞥",value:"\r",nerd:!0},{label:"󰁝",value:"\x1b[A",nerd:!0},{label:"󰁅",value:"\x1b[B",nerd:!0},{label:"󰁍",value:"\x1b[D",nerd:!0},{label:"󰁔",value:"\x1b[C",nerd:!0},{label:"󰍴",value:"|",nerd:!0,rotate:!0},{label:"󰜥",value:"~",nerd:!0}],el=({sendStdin:e,terminalConnected:a})=>{let n=(0,i.useTranslations)("mobile"),[l,r]=(0,s.useState)(""),[o,c]=(0,s.useState)(!1),[d,f]=(0,s.useState)(!1),m=(0,s.useRef)(null),x=(0,s.useCallback)(()=>{let e=m.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,76)}px`)},[]);(0,s.useEffect)(()=>{x()},[l,x]);let p=(0,s.useCallback)(()=>{a&&(l&&e(l),e("\r"),r(""))},[l,e,a]),h=(0,s.useCallback)(t=>{let s=t.target.value;if(o&&s.length===l.length+1){let t=s[s.length-1].toLowerCase().charCodeAt(0);if(t>=97&&t<=122){e(String.fromCharCode(t-96)),c(!1);return}}if(d&&s.length===l.length+1){let e=s[s.length-1],t=e.toUpperCase();if(t!==e){r(l+t),f(!1);return}}r(s)},[o,d,l,e]),b=(0,s.useCallback)(t=>{t.value===et?c(e=>!e):t.value===es?f(e=>!e):(e(t.value),o&&c(!1),d&&f(!1))},[o,d,e]);return(0,t.jsxs)("div",{className:"shrink-0 border-t border-border bg-background",children:[(0,t.jsxs)("div",{className:"flex items-end gap-2 px-3 py-2",children:[(0,t.jsx)("textarea",{ref:m,value:l,onChange:h,placeholder:o?"Ctrl + ...":d?"Shift + ...":n("commandPlaceholder"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,rows:1,className:(0,w.cn)("flex-1 resize-none rounded-md border px-3 py-1.5 text-sm text-foreground outline-none placeholder:text-muted-foreground",o||d?"border-claude-active bg-claude-active/10":"border-border bg-black/5 focus:border-ring dark:bg-white/5"),style:{lineHeight:"20px",maxHeight:"76px",overflowY:"auto"}}),(0,t.jsx)(u.Button,{variant:"ghost",size:"sm",className:(0,w.cn)("h-8 w-8 shrink-0 p-0 text-muted-foreground hover:text-foreground",l.trim()&&"text-claude-active"),onClick:p,"aria-label":n("send"),children:(0,t.jsx)(ee.SendHorizontal,{size:16})})]}),(0,t.jsx)("div",{className:"flex items-center gap-1 overflow-x-auto px-3 pb-2",style:{scrollbarWidth:"none",WebkitOverflowScrolling:"touch"},children:en.map(e=>(0,t.jsx)("button",{className:(0,w.cn)("shrink-0 rounded-md border px-2.5 py-1 text-xs font-medium transition-colors",e.value===et&&o||e.value===es&&d?"border-claude-active bg-claude-active/20 text-claude-active":"border-border bg-muted/50 text-muted-foreground active:bg-muted"),onClick:()=>b(e),children:(0,t.jsx)("span",{className:(0,w.cn)("inline-block",e.rotate&&"rotate-90"),style:e.nerd?ea:void 0,children:e.label})},e.label))})]})};var er=e.i(251748),ei=e.i(610782),eo=e.i(117369),ec=e.i(31050);let eu={write:()=>{},reset:()=>{},fit:()=>({cols:40,rows:24}),focus:()=>{}},ed={sendStdin:()=>{},sendResize:()=>{}},ef=({paneId:e,tabs:a,activeTabId:n,panelType:l,onCreateTab:c,onDeleteTab:f,onSwitchTab:m,onRemoveTabLocally:p,onCliStateChange:h,onOpenNewTabDialog:b})=>{let g=(0,i.useTranslations)("mobile"),j=(0,i.useTranslations)("terminal"),y=a.find(e=>e.id===n),C="claude-code"===l,v="web-browser"===l,S="diff"===l,N=(0,x.default)(e=>n?e.metadata[n]?.cwd:void 0),T=(0,d.useLayoutStore)(e=>e.workspaceId),{theme:z}=(0,eo.default)(),[M,B]=(0,s.useState)(!1),[$,W]=(0,s.useState)(!1),[O,F]=(0,s.useState)(!0),H=(0,s.useRef)(eu),U=(0,s.useRef)(ed),V=(0,s.useRef)(null),_=(0,s.useRef)(null),K=(0,s.useRef)(null),[q,G]=(0,s.useState)(null),J=(0,s.useRef)(null),X=(0,s.useRef)(!1),Y=(0,s.useRef)(a),Z=(0,s.useRef)(n);(0,s.useEffect)(()=>{Y.current=a,Z.current=n});let ee=(0,s.useCallback)(async()=>{let e=Z.current,t=e?Y.current.find(t=>t.id===e):null;if(t)try{let e=await fetch(`/api/layout/cwd?session=${t.sessionName}`);if(!e.ok)return;let{cwd:s}=await e.json();s&&x.default.getState().setCwd(t.id,s)}catch{}},[]),et=(0,s.useRef)(()=>{}),es=(0,s.useRef)(void 0),ea=(0,s.useRef)(void 0),en=(0,s.useRef)(!1),ef=(0,s.useRef)(""),em=(0,k.default)(e=>n?e.tabs[n]?.claudeProcess??null:null),ex=(0,k.default)(e=>n?(0,k.selectSessionView)(e.tabs,n):null),ep=(0,s.useCallback)(e=>{h?.(e)},[h]),eh=(0,s.useCallback)(e=>{},[]),eb=(0,s.useCallback)(e=>(0,ei.isAppShortcut)(e)?(e.preventDefault(),(0,ei.isClearShortcut)(e)&&et.current(),(0,ei.isFocusInputShortcut)(e)&&es.current?.(),!1):!(0,ei.isShiftEnter)(e)||(e.preventDefault(),U.current.sendStdin("\n"),!1),[]),{terminalRef:eg,write:ej,clear:ey,reset:eC,fit:ek,focus:ev,isReady:ew}=(0,D.default)({theme:z.colors,fontSize:C?void 0:11,onInput:e=>U.current.sendStdin(e),onResize:(e,t)=>{U.current.sendResize(e,t),X.current&&(J.current&&clearTimeout(J.current),J.current=setTimeout(()=>{X.current=!1,F(!0)},200))},onTitleChange:e=>{let t=Z.current;if(!t||e===ef.current)return;ef.current=e;let s=(0,er.formatTabTitle)(e);x.default.getState().setTitle(t,s);let a=Y.current.find(e=>e.id===t);if(a){let e=k.default.getState().tabs[t]?.claudeProcessCheckedAt??0;fetch(`/api/check-claude?session=${a.sessionName}`).then(e=>e.json()).then(({running:s,checkedAt:n})=>{let l=k.default.getState().tabs[t];if(l&&l.claudeProcessCheckedAt!==e){l.claudeProcess!==s&&setTimeout(()=>{fetch(`/api/check-claude?session=${a.sessionName}`).then(e=>e.json()).then(({running:e,checkedAt:s})=>{k.default.getState().setClaudeProcess(t,e,s)}).catch(()=>{})},500);return}k.default.getState().setClaudeProcess(t,s,n)}).catch(()=>{})}ee()},customKeyEventHandler:eb});(0,s.useEffect)(()=>{et.current=ey});let eS=(0,s.useCallback)(async()=>{if(K.current)return;let t=Y.current,s=Z.current;if(!s)return;K.current=s;let a=[...t].sort((e,t)=>e.order-t.order),n=a.findIndex(e=>e.id===s),l=a[n+1]||a[n-1];l&&m(e,l.id);try{await f(e,s)}finally{K.current=null}},[e,m,f]),{status:eN,retryCount:eT,disconnectReason:eR,connect:eP,reconnect:eI,sendStdin:eD,sendWebStdin:eL,sendResize:eE}=(0,L.default)({onData:e=>H.current.write(e),onConnected:()=>{B(!0),G(Z.current),_.current=Z.current;let e=Z.current;e&&k.default.getState().setTerminalConnected(e,!0);let{cols:t,rows:s}=H.current.fit();U.current.sendResize(t,s),ee()},onSessionEnded:eS});(0,s.useEffect)(()=>{H.current={write:ej,reset:eC,fit:ek,focus:ev},U.current={sendStdin:eD,sendResize:eE}}),(0,s.useEffect)(()=>{ew||(V.current=null)},[ew]),(0,s.useEffect)(()=>{if(!ew||!n)return;let e=a.find(e=>e.id===n);if(e){if("web-browser"===e.panelType){V.current=null,ef.current="";return}V.current!==e.sessionName&&(null!==V.current&&eC(),k.default.getState().initTab(n,{terminalConnected:!1,panelType:e.panelType}),V.current=e.sessionName,eP(e.sessionName))}},[ew,n]),(0,s.useEffect)(()=>{let e=Z.current;e&&k.default.getState().setTerminalConnected(e,"connected"===eN)},[eN]),(0,s.useEffect)(()=>{"disconnected"===eN&&M&&G(Z.current)},[eN,M]),(0,s.useEffect)(()=>{"disconnected"===eN&&M&&_.current&&_.current!==n&&a.some(e=>e.id===_.current)&&(V.current=null,m(e,_.current))},[eN]),(0,s.useEffect)(()=>{if(!ew||"connected"!==eN)return;let e=setTimeout(()=>{let{cols:e,rows:t}=ek();U.current.sendResize(e,t)},300);return()=>clearTimeout(e)},[eN]),(0,s.useEffect)(()=>{if(C){X.current=!1,J.current&&clearTimeout(J.current),ee();return}if(ew&&"connected"===eN)return X.current=!0,queueMicrotask(()=>F(!1)),J.current=setTimeout(()=>{X.current=!1,F(!0)},200),()=>{J.current&&clearTimeout(J.current),X.current=!1};queueMicrotask(()=>F(!0))},[C]);let eA=(0,s.useCallback)(async()=>{W(!0),await c(e),W(!1)},[e,c]),ez=(0,s.useCallback)(()=>{if("connected"!==eN||!n)return;k.default.getState().setSessionView(n,"check");let e=ec.default.getState().dangerouslySkipPermissions,t=["--settings ~/.purplemux/hooks.json",T?`--append-system-prompt-file ~/.purplemux/workspaces/${T}/claude-prompt.md`:""].filter(Boolean).join(" "),s=e?`claude ${t} --dangerously-skip-permissions`:`claude ${t}`;eD(`${s}\r`)},[eN,eD,n,T]),eM=(0,s.useCallback)(()=>{"connected"===eN&&n&&(en.current=!0,k.default.getState().setSessionView(n,"check"),eD("/exit\r"))},[eN,eD,n]);(0,s.useEffect)(()=>{if(!en.current||!0===em||(en.current=!1,"connected"!==eN))return;let e=ec.default.getState().dangerouslySkipPermissions,t=["--settings ~/.purplemux/hooks.json",T?`--append-system-prompt-file ~/.purplemux/workspaces/${T}/claude-prompt.md`:""].filter(Boolean).join(" "),s=e?`claude ${t} --dangerously-skip-permissions`:`claude ${t}`;eD(`${s}\r`)},[em,eN,eD,T]);let eB=(0,s.useCallback)(t=>{n&&T&&fetch(`/api/layout/pane/${e}/tabs/${n}?workspace=${T}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({webUrl:t})}).catch(()=>{})},[n,e,T]),e$=0===a.length,eW=v||S||ew&&"connected"===eN&&!e$,eO=null!==n&&q!==n,eF=(0,s.useRef)(new Set);return(0,s.useEffect)(()=>{"disconnected"!==eN||"session-not-found"!==eR||eO||!n||!y||"terminal"!==(y.panelType??"terminal")||y.lastCommand||eF.current.has(n)||(eF.current.add(n),(async()=>{await d.useLayoutStore.getState().restartTabInPane(e,n)&&eI()})())},[eN,eR,n,y,eO,e,eI]),(0,t.jsxs)("div",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden",style:{backgroundColor:z.colors.background,overscrollBehavior:"none"},children:[v&&n&&(0,t.jsx)(P.default,{initialUrl:y?.webUrl,onUrlChange:eB},n),S&&y&&(0,t.jsx)(I.default,{sessionName:y.sessionName},y.sessionName),C&&y&&(0,t.jsx)(Q,{tabId:n??void 0,wsId:T??void 0,sessionName:y.sessionName,claudeSessionId:y.claudeSessionId,cwd:N,sendStdin:eL,terminalWsConnected:"connected"===eN,focusTerminal:ev,focusInputRef:es,setInputValueRef:ea,onCliStateChange:ep,onInputVisibleChange:eh,onRestartSession:eM,onNewSession:ez}),!v&&!S&&(0,t.jsx)(E.default,{ref:eg,className:(0,w.cn)(!C&&"transition-opacity duration-150",C?"absolute inset-0 pointer-events-none opacity-0":"min-h-0 flex-1",!C&&eW&&O?"opacity-100":"",C||eW&&O?"":"opacity-0")}),!C&&!v&&!S&&"connected"===eN&&(0,t.jsx)(el,{sendStdin:eL,terminalConnected:"connected"===eN}),e$&&(0,t.jsx)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:(0,t.jsxs)(u.Button,{className:"gap-1.5",onClick:b??eA,disabled:$,children:[$?(0,t.jsx)(o.default,{className:"h-3 w-3"}):(0,t.jsx)(r.Plus,{className:"h-3.5 w-3.5"}),j("openNewTab")]})}),!e$&&!v&&"disconnected"===eN&&!eO&&(0,t.jsxs)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:[(0,t.jsx)(R.WifiOff,{className:"h-5 w-5 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"max-connections"===eR?g("disconnectedMaxConnections"):"pty-error"===eR?g("disconnectedPtyError"):"session-not-found"===eR?j("disconnectedSessionNotFound"):g("cannotConnectServer")}),"session-not-found"===eR&&n?(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(u.Button,{variant:"outline",size:"sm",onClick:async()=>{await d.useLayoutStore.getState().restartTabInPane(e,n)&&eI()},children:g("restart")}),(0,t.jsx)(u.Button,{variant:"ghost",size:"sm",onClick:()=>f(e,n),children:j("closeTabLabel")})]}):(0,t.jsx)(u.Button,{variant:"outline",size:"sm",onClick:eI,children:g("reconnect")})]}),!e$&&!v&&!S&&!(C&&"check"===ex)&&(0,t.jsx)(A.default,{status:eN,retryCount:eT,disconnectReason:eR,onReconnect:eI})]})};var em=e.i(875284),ex=e.i(296202);let ep=({open:e,onOpenChange:a,onCreateTab:n})=>{let l=(0,i.useTranslations)("terminal"),r=(0,i.useTranslations)("mobile"),[c,u]=(0,s.useState)(null),d=[{key:"claude-new",type:"claude-code",icon:(0,t.jsx)(g.default,{className:"h-5 w-5"}),label:l("claudeNewConversation"),startClaude:!0},{key:"claude",type:"claude-code",icon:(0,t.jsx)(g.default,{className:"h-5 w-5"}),label:l("claudeSessionList")},{key:"terminal",type:"terminal",icon:(0,t.jsx)(em.Terminal,{className:"h-5 w-5 text-muted-foreground"}),label:"Terminal"},{key:"diff",type:"diff",icon:(0,t.jsx)(h.GitCompareArrows,{className:"h-5 w-5 text-muted-foreground"}),label:"Diff"}],f=async e=>{u(e.key),"startClaude"in e&&e.startClaude?await n(e.type,{command:"claude-new"}):await n(e.type),u(null),a(!1)};return(0,t.jsx)(ex.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(ex.DialogContent,{className:"w-[calc(100%-2rem)] max-w-xs gap-2 rounded-xl p-4",children:[(0,t.jsx)(ex.DialogHeader,{children:(0,t.jsx)(ex.DialogTitle,{className:"text-sm font-medium",children:r("newTab")})}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-2",children:d.map(e=>(0,t.jsxs)("button",{className:"flex aspect-square flex-col items-center justify-center gap-2 rounded-lg border border-border bg-background text-foreground transition-colors active:bg-accent disabled:pointer-events-none disabled:opacity-50",disabled:null!==c,onClick:()=>f(e),children:[c===e.key?(0,t.jsx)(o.default,{className:"h-4 w-4"}):e.icon,(0,t.jsx)("span",{className:"text-xs",children:e.label})]},e.key))})]})})};var eh=e.i(982960),eb=e.i(157016),eg=e.i(566736);e.s(["default",0,()=>{let e=(0,i.useTranslations)("terminal"),p=(0,i.useTranslations)("mobile"),h=(0,i.useTranslations)("common"),b=(0,m.default)(e=>e.isLoading),g=(0,m.default)(e=>e.error),j=(0,m.default)(e=>e.activeWorkspaceId),y=(0,m.default)(e=>e.workspaces).length,C=(0,s.useRef)(null),v=(0,s.useCallback)(()=>{let t=C.current;t&&(m.default.getState().switchWorkspace(t),c.toast.error(e("cannotSwitch")))},[e]),w=(0,d.default)({workspaceId:j,onFetchError:v}),S=(0,s.useMemo)(()=>w.layout?(0,f.collectPanes)(w.layout.root):[],[w.layout]),N=!!(w.layout&&!w.isLoading&&S.every(e=>0===e.tabs.length)),R=w.layout?.updatedAt,P=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!w.layout||!R||P.current===R)return;P.current=R;let e={};for(let t of(0,f.collectPanes)(w.layout.root))for(let s of t.tabs)(s.title||s.cwd)&&(e[s.id]={title:s.title,cwd:s.cwd});x.default.getState().hydrate(e)},[R]),(0,s.useEffect)(()=>{if(!w.layout)return;let e=new Set((0,f.collectPanes)(w.layout.root).flatMap(e=>e.tabs.map(e=>e.id)));x.default.getState().retainOnly(e)},[w.layout]),(0,eg.useAutoDeleteEmptyWorkspace)(N,w.clearLayout);let I=w.layout?.activePaneId??null,D=(I?S.find(e=>e.id===I):null)??S[0]??null,L=D?.id??null,E=D?.activeTabId??null,A=D?.tabs.find(e=>e.id===E)??null,z=A?.panelType??"terminal",M=(0,s.useCallback)(e=>{let{activeWorkspaceId:t}=m.default.getState();e!==t&&(C.current=t,x.default.getState().reset(),w.clearLayout(),m.default.getState().switchWorkspace(e))},[w]);(0,s.useEffect)(()=>(eb.default.getState().register({onSelectWorkspace:M}),()=>eb.default.getState().unregister()),[M]);let[B,$]=(0,s.useState)(!1),[W,O]=(0,s.useState)("inactive"),F=(0,s.useCallback)(e=>{O(e)},[]);(0,s.useEffect)(()=>{E&&(0,eh.dismissTab)(E)},[E]),(0,s.useEffect)(()=>{E&&"claude-code"===z&&"inactive"!==W&&"idle"===W&&(0,eh.dismissTab)(E)},[E,W,z]);let H=(0,k.default)(e=>{if(!E)return!1;let t=e.tabs[E];return t?.cliState==="ready-for-review"||t?.cliState==="needs-input"});(0,s.useEffect)(()=>{H&&E&&(0,eh.dismissTab)(E)},[H,E]);let U=(0,x.default)(e=>E?e.metadata[E]:void 0),V=(0,s.useMemo)(()=>{if(!A)return"";if(A.name)return A.name;let e=U?.title||A.title,t=e?(0,er.formatTabTitle)(e):"";return t||`Tab ${A.order+1}`},[A,U]),_=(0,s.useCallback)(e=>{D&&E&&w.updateTabPanelType(D.id,E,e)},[D,E,w]),K=(0,s.useCallback)(()=>{$(!0)},[]),q=(0,s.useCallback)(async(e,t)=>{let s;if(!D)return;if(t?.command==="claude-new"){let e=ec.default.getState().dangerouslySkipPermissions,t=["--settings ~/.purplemux/hooks.json",j?`--append-system-prompt-file ~/.purplemux/workspaces/${j}/claude-prompt.md`:""].filter(Boolean).join(" ");s=e?`claude ${t} --dangerously-skip-permissions`:`claude ${t}`}let a=await w.createTabInPane(D.id,e,s);a&&(k.default.getState().initTab(a.id,{panelType:e,workspaceId:j??""}),t?.command==="claude-new"&&k.default.getState().setSessionView(a.id,"check"))},[D,w,j]),G=(0,s.useCallback)(()=>{D&&E&&w.deleteTabInPane(D.id,E)},[D,E,w]);return b?(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center",children:[(0,t.jsx)(o.default,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"mt-3 text-sm text-muted-foreground",children:e("connecting")})]}):g&&!y?(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3",children:[(0,t.jsx)(a.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:g}),(0,t.jsxs)(u.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:m.default.getState().fetchWorkspaces,children:[(0,t.jsx)(n.RefreshCw,{className:"h-3.5 w-3.5"}),h("retry")]})]}):j||b||g?!w.layout||w.isLoading?(0,t.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center",children:(0,t.jsx)(o.default,{className:"h-4 w-4 text-muted-foreground"})}):w.error&&!w.isLoading?(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3",children:[(0,t.jsx)(a.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:w.error}),(0,t.jsxs)(u.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>w.fetchLayout(),children:[(0,t.jsx)(n.RefreshCw,{className:"h-3.5 w-3.5"}),h("retry")]})]}):(0,t.jsxs)(t.Fragment,{children:[D&&E&&(0,t.jsx)(T,{tabId:E,tabName:V,sessionName:A?.sessionName??null,panelType:z,onSwitchPanelType:_,onCreateTab:K,onClose:G},E),D&&E&&(0,t.jsx)(ef,{paneId:D.id,tabs:D.tabs,activeTabId:E,panelType:z,onCreateTab:w.createTabInPane,onDeleteTab:w.deleteTabInPane,onSwitchTab:w.switchTabInPane,onRemoveTabLocally:w.removeTabLocally,onUpdateTabPanelType:w.updateTabPanelType,onCliStateChange:F,onOpenNewTabDialog:K},`${L}-${E}`),(0,t.jsx)(ep,{open:B,onOpenChange:$,onCreateTab:q})]}):(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 px-6 text-center",children:[(0,t.jsx)(l.Monitor,{className:"h-8 w-8 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-sm font-medium text-muted-foreground",children:p("noWorkspace")}),(0,t.jsxs)(u.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:async()=>{let e=await m.default.getState().createWorkspace("");e&&m.default.getState().switchWorkspace(e.id)},children:[(0,t.jsx)(r.Plus,{className:"h-3.5 w-3.5"}),e("newWorkspace")]})]})}],432270)},938280,e=>{e.n(e.i(432270))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,654082,(e,t,r)=>{t.exports=JSON.parse('{"title":"設定","tabs":{"general":"一般","appearance":"外観","terminal":"ターミナル","editor":"エディタ","claude":"Claude","auth":"認証","tailscale":"Tailscale","quickPrompts":"クイックプロンプト","sidebarItems":"サイドバー","agent":"エージェント","notification":"通知","system":"システム"},"general":{"theme":"テーマ","themeDescription":"表示テーマを選択します。","language":"言語","languageDescription":"インターフェース言語を選択します。","fontSize":"フォントサイズ","fontSizeDescription":"UIとターミナルのフォントサイズを調整します。","fontSizeNormal":"標準","fontSizeLarge":"大","fontSizeXLarge":"特大","keyboardShortcuts":"キーボードショートカット","keyboardShortcutsDescription":"すべてのキーボードショートカットの表示とカスタマイズ。","openShortcuts":"開く"},"appearance":{"customCSS":"カスタム CSS","customCSSDescription":"CSS変数をオーバーライドして色やスタイルをカスタマイズします。","apply":"適用","reset":"リセット","resetConfirm":"カスタムCSSをすべてリセットしますか?","applied":"カスタムCSSが適用されました。","availableVariables":"利用可能な変数","placeholder":":root {\\n --background: oklch(0.98 0 0);\\n --sidebar: oklch(0.95 0.01 220);\\n}\\n.dark {\\n --background: oklch(0.08 0 0);\\n}"},"terminal":{"theme":"ターミナルテーマ","themeDescription":"モードごとのターミナルカラーテーマを選択します。"},"editor":{"preset":"エディタ","presetDescription":"ヘッダーのEDITORボタンをクリックしたときに開くエディタを選択します。","presets":{"code-server":"Code Server (Web)","vscode":"VS Code","vscode-insiders":"VS Code Insiders","cursor":"Cursor","windsurf":"Windsurf","zed":"Zed","custom":"カスタム URL","off":"使用しない"},"url":"エディタ URL","urlDescription":"Code Server インスタンスの Web URL を入力します。","urlHelp":"<link>code-server</link>をインストールして実行すると、ブラウザでVS Codeを使用できます。URLに<code>?folder=</code>パラメータが自動的に追加されます。","customTemplate":"URL テンプレート","customTemplateDescription":"現在のフォルダで開く URL テンプレートを入力します。","customHelp":"絶対パスは <folder></folder>、URL エンコードされたパスは <folderEncoded></folderEncoded> を使用します。","localIdeHint":"選択した IDE をローカルで開きます。ブラウザまたはデスクトップアプリを実行している端末に IDE がインストールされている必要があります。","offHint":"ヘッダーからエディタボタンを非表示にします。","preview":"プレビュー (サンプルフォルダ)","errorHttpRequired":"URL は http:// または https:// で始まる必要があります。","errorCustomTemplate":"テンプレートには {folder} または {folderEncoded} を含める必要があります。"},"claude":{"skipPermissions":"権限チェックをスキップ","skipPermissionsDescription":"Claude CLI実行時に--dangerously-skip-permissionsオプションを追加します。"},"auth":{"changePassword":"パスワード変更","changePasswordDescription":"新しいパスワードはSHA-512でハッシュ化されて保存されます。","newPasswordPlaceholder":"新しいパスワードを入力(4文字以上)","passwordPlaceholder":"パスワードを入力(4文字以上)","resetHint":"リセットするには~/.purplemux/config.jsonファイルを削除し、{action}してください。","restartServer":"サーバーを再起動","restartApp":"アプリを終了して再起動","savedRestart":"保存しました。{action}後に適用されます。","restartServerAction":"サーバー再起動","restartAppAction":"アプリ再起動"},"notification":{"enable":"通知を有効化","enableDescription":"Claudeタスク完了時にシステム通知を表示します。Electronアプリでのみ動作します。"},"agent":{"enableMenu":"エージェントメニューを有効化","enableMenuDescription":"サイドバーにエージェントメニューを表示します。この機能は現在ベータテスト中です。"},"system":{"networkAccess":"ネットワークアクセス","networkAccessDescription":"どのネットワークから purplemux にアクセスできるかを設定します。サーバー再起動後に適用されます。","networkAccessLocked":"HOST 環境変数で制御されています。","restartRequired":"変更はサーバー再起動後に適用されます。","networkAccessOptions":{"localhost":{"label":"Localhost のみ","description":"このマシンのみ許可します。最も安全で、ポートは外部に公開されません。"},"tailscale":{"label":"Localhost + Tailscale","description":"このマシンと Tailscale ピアのみ許可します。LAN と公開インターネットはブロックされます。"},"all":{"label":"すべてのインターフェース","description":"LAN や公開インターネットを含む、到達可能なすべてのネットワークを許可します。"}},"showResources":"システムリソースを表示","showResourcesDescription":"ヘッダーにCPU、メモリ、tmuxセッションの使用状況を表示します。","attachedImages":"添付画像","attachedImagesDescription":"入力欄に添付した画像は ~/.purplemux/uploads/ に保存されます。24時間経過したファイルはサーバー起動時に自動で削除されます。","cleanAttachedImages":"今すぐ整理","attachedImagesCleaned":"{count}個のファイルを削除しました","attachedImagesNothing":"削除する画像がありません","tmuxReset":"tmuxリセット","tmuxResetDescription":"すべてのtmuxセッションを終了し、{action}します。設定変更の適用が必要な場合に使用します。","tmuxResetConfirm":"実行中のすべてのターミナルプロセスが終了されます。続行しますか?","restartServer":"サーバーを再起動","restartApp":"アプリを再起動"},"tailscale":{"notInstalled":"Tailscale CLIがインストールされていません","notInstalledDescription":"Tailscaleをインストールすると、外部から安全にアクセスできます。","commentMac":"# macOS","commentMacAppStore":"# またはMac App Storeからインストール","commentLinux":"# Linux (Ubuntu/Debian)","commentAfterInstall":"# インストール後にログイン","installGuide":"詳しいインストール方法は<link>Tailscale公式サイト</link>をご覧ください。","notRunning":"Tailscaleが実行されていません","notRunningDescription":"Tailscaleを起動してください。","deviceInfo":"デバイス情報","host":"ホスト","dns":"DNS","ip":"IP","version":"バージョン","nonDefaultPortTitle":"現在サーバーがポート{port}で実行中です","nonDefaultPortDescription":"デフォルトポート({defaultPort})が使用中のため、自動的に別のポートが割り当てられました。自動割り当てポートは{restartAction}時に変更される可能性があるため、Tailscale Serve設定ではローカルポートを{currentPort}ではなく{defaultPort}に設定することを推奨します。","appRestart":"アプリ再起動","serverRestart":"サーバー再起動","commentFixedPort":"# 固定ポート({port})を使用するには","commentOrTerminate":"# または既存の{port}ポートを使用しているプロセスを終了して再起動","serveStatus":"Serveステータス","noActiveServe":"アクティブなserveエントリがありません。","httpsPort":"HTTPSポート","proxyTarget":"プロキシ先","url":"URL","addServe":"Serveを追加","setupGuide":"セットアップガイド","commentStep1Install":"# 1. CLIインストール","commentStep2Activate":"# 2. Connect","commentStep3Add":"# 3. Serve追加","localPort":"ローカルポート","add":"追加","enterPort":"ポートを入力してください","addedToast":"HTTPS :{httpsPort} → localhost:{localPort} を追加しました","removedToast":"HTTPS :{httpsPort} を削除しました"},"quickPrompts":{"title":"クイックプロンプト","description":"入力欄の上に表示するプロンプトボタンを管理します。","builtinSection":"組み込みプロンプト","customSection":"カスタムプロンプト","itemsSection":"プロンプト","addPrompt":"プロンプトを追加","editPrompt":"プロンプトを編集","nameLabel":"名前","namePlaceholder":"例: コードレビュー","promptLabel":"プロンプト","promptPlaceholder":"例: 現在の変更をレビューしてください。","save":"保存","cancel":"キャンセル","addButton":"プロンプトを追加","resetToDefault":"デフォルトにリセット","resetTitle":"デフォルトにリセット","resetDescription":"すべてのカスタムプロンプトが削除され、組み込みプロンプトが有効化されます。","resetCancel":"キャンセル","resetConfirm":"リセット","deleteTitle":"プロンプトを削除","deleteDescription":"このプロンプトを削除しますか?","deleteCancel":"キャンセル","deleteConfirm":"削除"},"sidebarItems":{"title":"サイドバー項目","description":"サイドバー下部に表示するショートカット項目を管理します。","itemsSection":"項目","addItem":"項目を追加","editItem":"項目を編集","nameLabel":"名前","namePlaceholder":"例: Grafana","iconLabel":"アイコン","iconSearch":"アイコンを検索...","iconNotFound":"アイコンが見つかりません","urlLabel":"URL","urlPlaceholder":"例: https://grafana.example.com","save":"保存","cancel":"キャンセル","addButton":"項目を追加","resetToDefault":"デフォルトにリセット","resetTitle":"デフォルトにリセット","resetDescription":"すべてのカスタム項目が削除され、デフォルト項目が有効化されます。","resetCancel":"キャンセル","resetConfirm":"リセット","deleteTitle":"項目を削除","deleteDescription":"この項目を削除しますか?","deleteCancel":"キャンセル","deleteConfirm":"削除"},"saveFailed":"設定を保存できません"}')}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,787856,s=>{"use strict";var t=s.i(391398),e=s.i(958678),i=s.i(168489),a=s.i(950323),l=s.i(117369),n=s.i(191788),u=s.i(603331),c=s.i(266231),r=s.i(852085),h=s.i(673598);let d=(0,i.default)(()=>s.A(518902),{loadableGenerated:{modules:[277184]},ssr:!1}),p=(0,i.default)(()=>s.A(935995),{loadableGenerated:{modules:[938280]},ssr:!1}),m=({initialConfig:s,initialQuickPrompts:i,initialSidebarItems:h})=>{let m=(0,c.default)(),{setTheme:o}=(0,u.useTheme)();(0,r.default)("purplemux");let k=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{!k.current&&(k.current=!0,s.appTheme&&o(s.appTheme),s.terminalTheme&&(0,l.initTerminalTheme)(s.terminalTheme))},[s,o]),(0,t.jsxs)(a.SWRConfig,{value:{fallback:{"/api/quick-prompts":i,"/api/sidebar-items":h}},children:[(0,t.jsx)(e.default,{children:(0,t.jsx)("title",{children:"purplemux"})}),m?(0,t.jsx)(p,{}):(0,t.jsx)(d,{})]})};m.getLayout=h.getPageShellLayout,s.s(["__N_SSP",0,!0,"default",0,m])},155075,(s,t,e)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/",()=>s.r(787856)]),t.hot&&t.hot.dispose(function(){window.__NEXT_P.push(["/"])})},648761,s=>{s.v(t=>Promise.all(["static/chunks/0n..hexfw6r85.js"].map(t=>s.l(t))).then(()=>t(493594)))},828805,s=>{s.v(t=>Promise.all(["static/chunks/18bztvpdorkth.js"].map(t=>s.l(t))).then(()=>t(879466)))},964134,s=>{s.v(t=>Promise.all(["static/chunks/0_e._d67udkpn.js"].map(t=>s.l(t))).then(()=>t(605821)))},78582,s=>{s.v(t=>Promise.all(["static/chunks/0suuptk6vxdav.js"].map(t=>s.l(t))).then(()=>t(698544)))},248001,s=>{s.v(t=>Promise.all(["static/chunks/0312riii_sl_1.js"].map(t=>s.l(t))).then(()=>t(394637)))},518902,s=>{s.v(t=>Promise.all(["static/chunks/0j630d8~~4rbz.js","static/chunks/0617badw.sq7c.js","static/chunks/10r8rypk5fanv.js","static/chunks/06ik0y0xz_pxd.js","static/chunks/0zgde2~kd4r.x.js","static/chunks/11tnyk0iystp1.js"].map(t=>s.l(t))).then(()=>t(277184)))},935995,s=>{s.v(t=>Promise.all(["static/chunks/0j630d8~~4rbz.js","static/chunks/0s66~z6yys6zz.js","static/chunks/10r8rypk5fanv.js","static/chunks/04u8dbn0ogxqm.js","static/chunks/11tnyk0iystp1.js","static/chunks/0zgde2~kd4r.x.js"].map(t=>s.l(t))).then(()=>t(938280)))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,754241,(e,a,i)=>{a.exports={title:"Ayarlar",tabs:{general:"Genel",appearance:"Görünüm",terminal:"Terminal",editor:"Editör",claude:"Claude",auth:"Kimlik Doğrulama",tailscale:"Tailscale",quickPrompts:"Hızlı Komutlar",sidebarItems:"Kenar Çubuğu",agent:"Ajan",notification:"Bildirim",system:"Sistem"},general:{theme:"Tema",themeDescription:"Görüntüleme temasını seçin.",language:"Dil",languageDescription:"Arayüz dilini seçin.",fontSize:"Yazı tipi boyutu",fontSizeDescription:"Arayüz ve terminal yazı tipi boyutunu ayarlayın.",fontSizeNormal:"Normal",fontSizeLarge:"Büyük",fontSizeXLarge:"Çok büyük",keyboardShortcuts:"Klavye kısayolları",keyboardShortcutsDescription:"Tüm klavye kısayollarını görüntüle ve özelleştir.",openShortcuts:"Aç"},appearance:{customCSS:"Özel CSS",customCSSDescription:"Renkleri ve stilleri özelleştirmek için CSS değişkenlerini geçersiz kılın.",apply:"Uygula",reset:"Sıfırla",resetConfirm:"Tüm özel CSS sıfırlansın mı?",applied:"Özel CSS uygulandı.",availableVariables:"Kullanılabilir Değişkenler",placeholder:":root {\n --background: oklch(0.98 0 0);\n --sidebar: oklch(0.95 0.01 220);\n}\n.dark {\n --background: oklch(0.08 0 0);\n}"},terminal:{theme:"Terminal Teması",themeDescription:"Her mod için terminal renk temalarını seçin."},editor:{preset:"Editör",presetDescription:"Başlıktaki EDİTÖR düğmesine tıklandığında açılacak editörü seçin.",presets:{"code-server":"Code Server (Web)",vscode:"VS Code","vscode-insiders":"VS Code Insiders",cursor:"Cursor",windsurf:"Windsurf",zed:"Zed",custom:"Özel URL",off:"Devre dışı"},url:"Editör URL",urlDescription:"Code Server örneğinizin web URL'sini girin.",urlHelp:"Tarayıcıda VS Code kullanmak için <link>code-server</link> kurun ve çalıştırın. <code>?folder=</code> parametresi URL'ye otomatik olarak eklenir.",customTemplate:"URL şablonu",customTemplateDescription:"Geçerli klasörle açılacak bir URL şablonu girin.",customHelp:"Mutlak yol için <folder></folder>, URL kodlanmış yol için <folderEncoded></folderEncoded> kullanın.",localIdeHint:"Seçilen IDE'yi yerel olarak açar. IDE'nin tarayıcı veya masaüstü uygulamasını çalıştıran cihazda kurulu olması gerekir.",offHint:"Editör düğmesi başlıktan gizlenecektir.",preview:"Önizleme (örnek klasörle)",errorHttpRequired:"URL http:// veya https:// ile başlamalıdır",errorCustomTemplate:"Şablon {folder} veya {folderEncoded} içermelidir"},claude:{skipPermissions:"İzin Kontrollerini Atla",skipPermissionsDescription:"Claude CLI çalıştırılırken --dangerously-skip-permissions seçeneğini ekler."},auth:{changePassword:"Şifre Değiştir",changePasswordDescription:"Yeni şifreler kaydedilmeden önce SHA-512 ile hashlenir.",newPasswordPlaceholder:"Yeni şifre girin (en az 4 karakter)",passwordPlaceholder:"Şifre girin (en az 4 karakter)",resetHint:"Sıfırlamak için ~/.purplemux/config.json dosyasını silin ve {action}.",restartServer:"sunucuyu yeniden başlatın",restartApp:"uygulamadan çıkıp yeniden başlatın",savedRestart:"Kaydedildi. Değişiklikler {action} sonrasında uygulanacaktır.",restartServerAction:"sunucu yeniden başlatma",restartAppAction:"uygulama yeniden başlatma"},notification:{enable:"Bildirimleri Etkinleştir",enableDescription:"Claude görevleri tamamlandığında sistem bildirimleri gösterir. Yalnızca Electron uygulamasında çalışır."},agent:{enableMenu:"Ajan Menüsünü Etkinleştir",enableMenuDescription:"Kenar çubuğunda ajan menüsünü gösterir. Bu özellik şu anda beta aşamasındadır."},system:{networkAccess:"Ağ erişimi",networkAccessDescription:"Hangi ağların purplemux'a erişebileceğini kontrol eder. Sunucu yeniden başlatıldıktan sonra uygulanır.",networkAccessLocked:"HOST ortam değişkeni tarafından kontrol ediliyor.",restartRequired:"Değişiklikler sunucu yeniden başlatıldıktan sonra uygulanır.",networkAccessOptions:{localhost:{label:"Yalnızca Localhost",description:"Yalnızca bu makine. En güvenli; bağlantı noktası diğer cihazlara kapalıdır."},tailscale:{label:"Localhost + Tailscale",description:"Bu makine ve Tailscale eşleri. LAN ve genel internet engellenir."},all:{label:"Tüm arayüzler",description:"LAN ve genel internet dahil erişilebilir tüm ağlardan gelen bağlantılara izin verilir."}},showResources:"Sistem kaynaklarını göster",showResourcesDescription:"Başlıkta CPU, bellek ve tmux oturum kullanımını görüntüler.",attachedImages:"Eklenen görseller",attachedImagesDescription:"Giriş çubuğuna eklenen görseller ~/.purplemux/uploads/ altında saklanır. 24 saatten eski dosyalar sunucu başlangıcında otomatik olarak silinir.",cleanAttachedImages:"Şimdi temizle",attachedImagesCleaned:"{count} dosya silindi",attachedImagesNothing:"Silinecek görsel yok",tmuxReset:"tmux Sıfırla",tmuxResetDescription:"Tüm tmux oturumlarını sonlandırır ve {action}. Ayar değişikliklerinin uygulanması gerektiğinde kullanın.",tmuxResetConfirm:"Çalışan tüm terminal işlemleri sonlandırılacak. Devam edilsin mi?",restartServer:"sunucuyu yeniden başlatır",restartApp:"uygulamayı yeniden başlatır"},tailscale:{notInstalled:"Tailscale CLI yüklü değil",notInstalledDescription:"Ağınızın dışından güvenli erişim için Tailscale yükleyin.",commentMac:"# macOS",commentMacAppStore:"# veya Mac App Store'dan yükleyin",commentLinux:"# Linux (Ubuntu/Debian)",commentAfterInstall:"# Yüklemeden sonra giriş yapın",installGuide:"Ayrıntılı kurulum talimatları için <link>Tailscale resmi web sitesini</link> ziyaret edin.",notRunning:"Tailscale çalışmıyor",notRunningDescription:"Lütfen Tailscale'i başlatın.",deviceInfo:"Cihaz Bilgisi",host:"Ana Makine",dns:"DNS",ip:"IP",version:"Sürüm",nonDefaultPortTitle:"Sunucu şu anda {port} portunda çalışıyor",nonDefaultPortDescription:"Varsayılan port ({defaultPort}) kullanımda olduğundan farklı bir port otomatik olarak atandı. Otomatik atanan port {restartAction} sonrasında değişebilir, bu nedenle Tailscale Serve ayarlarında yerel portu {currentPort} yerine {defaultPort} olarak ayarlamanız önerilir.",appRestart:"uygulama yeniden başlatma",serverRestart:"sunucu yeniden başlatma",commentFixedPort:"# Sabit port ({port}) kullanmak için",commentOrTerminate:"# veya {port} portunu kullanan işlemi sonlandırıp yeniden başlatın",serveStatus:"Serve Durumu",noActiveServe:"Aktif serve kaydı yok.",httpsPort:"HTTPS Portu",proxyTarget:"Proxy Hedefi",url:"URL",addServe:"Serve Ekle",setupGuide:"Kurulum Rehberi",commentStep1Install:"# 1. CLI Kurulumu",commentStep2Activate:"# 2. Connect",commentStep3Add:"# 3. Serve Ekleme",localPort:"Yerel Port",add:"Ekle",enterPort:"Lütfen bir port girin",addedToast:"HTTPS :{httpsPort} → localhost:{localPort} eklendi",removedToast:"HTTPS :{httpsPort} kaldırıldı"},quickPrompts:{title:"Hızlı Komutlar",description:"Giriş alanının üzerinde görüntülenen komut düğmelerini yönetin.",builtinSection:"Yerleşik Komutlar",customSection:"Özel Komutlar",itemsSection:"Komutlar",addPrompt:"Komut Ekle",editPrompt:"Komut Düzenle",nameLabel:"Ad",namePlaceholder:"ör. Kod İnceleme",promptLabel:"Komut",promptPlaceholder:"ör. Lütfen mevcut değişiklikleri inceleyin.",save:"Kaydet",cancel:"İptal",addButton:"Komut Ekle",resetToDefault:"Varsayılana Sıfırla",resetTitle:"Varsayılana Sıfırla",resetDescription:"Tüm özel komutlar silinecek ve yerleşik komutlar etkinleştirilecektir.",resetCancel:"İptal",resetConfirm:"Sıfırla",deleteTitle:"Komutu Sil",deleteDescription:"Bu komutu silmek istediğinizden emin misiniz?",deleteCancel:"İptal",deleteConfirm:"Sil"},sidebarItems:{title:"Kenar Çubuğu Öğeleri",description:"Kenar çubuğunun altında görüntülenen kısayol öğelerini yönetin.",itemsSection:"Öğeler",addItem:"Öğe Ekle",editItem:"Öğe Düzenle",nameLabel:"Ad",namePlaceholder:"ör. Grafana",iconLabel:"Simge",iconSearch:"Simge ara...",iconNotFound:"Simge bulunamadı",urlLabel:"URL",urlPlaceholder:"ör. https://grafana.example.com",save:"Kaydet",cancel:"İptal",addButton:"Öğe Ekle",resetToDefault:"Varsayılana Sıfırla",resetTitle:"Varsayılana Sıfırla",resetDescription:"Tüm özel öğeler silinecek ve yerleşik öğeler etkinleştirilecektir.",resetCancel:"İptal",resetConfirm:"Sıfırla",deleteTitle:"Öğeyi Sil",deleteDescription:"Bu öğeyi silmek istediğinizden emin misiniz?",deleteCancel:"İptal",deleteConfirm:"Sil"},saveFailed:"Ayarlar kaydedilemedi"}}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,889129,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={DecodeError:function(){return p},MiddlewareNotFoundError:function(){return T},MissingStaticPage:function(){return v},NormalizeError:function(){return y},PageNotFoundError:function(){return S},SP:function(){return h},ST:function(){return m},WEB_VITALS:function(){return i},execOnce:function(){return s},getDisplayName:function(){return u},getLocationOrigin:function(){return c},getURL:function(){return d},isAbsoluteUrl:function(){return o},isResSent:function(){return f},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return b},stringifyError:function(){return w}};for(var n in r)Object.defineProperty(a,n,{enumerable:!0,get:r[n]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,a=!1;return(...r)=>(a||(a=!0,t=e(...r)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,o=e=>l.test(e);function c(){let{protocol:e,hostname:t,port:a}=window.location;return`${e}//${t}${a?":"+a:""}`}function d(){let{href:e}=window.location,t=c();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function b(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function g(e,t){let a=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await g(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(a&&f(a))return r;if(!r)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let h="u">typeof performance,m=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class p extends Error{}class y extends Error{}class S extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class T extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}},203828,(e,t,a)=>{t.exports=e.r(926990)},603331,728350,e=>{"use strict";var t=e.i(191788),a=(e,t,a,r,n,i,s,l)=>{let o=document.documentElement,c=["light","dark"];function d(t){var a;(Array.isArray(e)?e:[e]).forEach(e=>{let a="class"===e,r=a&&i?n.map(e=>i[e]||e):n;a?(o.classList.remove(...r),o.classList.add(i&&i[t]?i[t]:t)):o.setAttribute(e,t)}),a=t,l&&c.includes(a)&&(o.style.colorScheme=a)}if(r)d(r);else try{let e=localStorage.getItem(t)||a,r=s&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;d(r)}catch(e){}},r=["light","dark"],n="(prefers-color-scheme: dark)",i="u"<typeof window,s=t.createContext(void 0),l={setTheme:e=>{},themes:[]},o=["light","dark"],c=({forcedTheme:e,disableTransitionOnChange:a=!1,enableSystem:i=!0,enableColorScheme:l=!0,storageKey:c="theme",themes:g=o,defaultTheme:h=i?"system":"light",attribute:m="data-theme",value:p,children:y,nonce:S,scriptProps:v})=>{let[T,w]=t.useState(()=>u(c,h)),[I,P]=t.useState(()=>"system"===T?b():T),k=p?Object.values(p):g,A=t.useCallback(e=>{let t=e;if(!t)return;"system"===e&&i&&(t=b());let n=p?p[t]:t,s=a?f(S):null,o=document.documentElement,c=e=>{"class"===e?(o.classList.remove(...k),n&&o.classList.add(n)):e.startsWith("data-")&&(n?o.setAttribute(e,n):o.removeAttribute(e))};if(Array.isArray(m)?m.forEach(c):c(m),l){let e=r.includes(h)?h:null,a=r.includes(t)?t:e;o.style.colorScheme=a}null==s||s()},[S]),E=t.useCallback(e=>{let t="function"==typeof e?e(T):e;w(t);try{localStorage.setItem(c,t)}catch(e){}},[T]),C=t.useCallback(t=>{P(b(t)),"system"===T&&i&&!e&&A("system")},[T,e]);t.useEffect(()=>{let e=window.matchMedia(n);return e.addListener(C),C(e),()=>e.removeListener(C)},[C]),t.useEffect(()=>{let e=e=>{e.key===c&&(e.newValue?w(e.newValue):E(h))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[E]),t.useEffect(()=>{A(null!=e?e:T)},[e,T]);let O=t.useMemo(()=>({theme:T,setTheme:E,forcedTheme:e,resolvedTheme:"system"===T?I:T,themes:i?[...g,"system"]:g,systemTheme:i?I:void 0}),[T,E,e,I,i,g]);return t.createElement(s.Provider,{value:O},t.createElement(d,{forcedTheme:e,storageKey:c,attribute:m,enableSystem:i,enableColorScheme:l,defaultTheme:h,value:p,themes:g,nonce:S,scriptProps:v}),y)},d=t.memo(({forcedTheme:e,storageKey:r,attribute:n,enableSystem:i,enableColorScheme:s,defaultTheme:l,value:o,themes:c,nonce:d,scriptProps:u})=>{let f=JSON.stringify([n,r,l,e,c,o,i,s]).slice(1,-1);return t.createElement("script",{...u,suppressHydrationWarning:!0,nonce:"u"<typeof window?d:"",dangerouslySetInnerHTML:{__html:`(${a.toString()})(${f})`}})}),u=(e,t)=>{let a;if(!i){try{a=localStorage.getItem(e)||void 0}catch(e){}return a||t}},f=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},b=e=>(e||(e=window.matchMedia(n)),e.matches?"dark":"light");e.s(["ThemeProvider",0,e=>t.useContext(s)?t.createElement(t.Fragment,null,e.children):t.createElement(c,{...e}),"useTheme",0,()=>{var e;return null!=(e=t.useContext(s))?e:l}],603331);let g=[{id:"snazzy",name:"Snazzy",variant:"dark",colors:{background:"#1e1f29",foreground:"#ebece6",cursor:"#e4e4e4",cursorAccent:"#1e1f29",selectionBackground:"#81aec6",selectionForeground:"#000000",black:"#000000",red:"#fc4346",green:"#50fb7c",yellow:"#f0fb8c",blue:"#49baff",magenta:"#fc4cb4",cyan:"#8be9fe",white:"#ededec",brightBlack:"#555555",brightRed:"#fc4346",brightGreen:"#50fb7c",brightYellow:"#f0fb8c",brightBlue:"#49baff",brightMagenta:"#fc4cb4",brightCyan:"#8be9fe",brightWhite:"#ededec"}},{id:"dracula",name:"Dracula",variant:"dark",colors:{background:"#282a36",foreground:"#f8f8f2",cursor:"#f8f8f2",cursorAccent:"#282a36",selectionBackground:"#44475a",selectionForeground:"#f8f8f2",black:"#21222c",red:"#ff5555",green:"#50fa7b",yellow:"#f1fa8c",blue:"#bd93f9",magenta:"#ff79c6",cyan:"#8be9fd",white:"#f8f8f2",brightBlack:"#6272a4",brightRed:"#ff6e6e",brightGreen:"#69ff94",brightYellow:"#ffffa5",brightBlue:"#d6acff",brightMagenta:"#ff92df",brightCyan:"#a4ffff",brightWhite:"#ffffff"}},{id:"one-dark",name:"One Dark",variant:"dark",colors:{background:"#282c34",foreground:"#abb2bf",cursor:"#528bff",cursorAccent:"#282c34",selectionBackground:"#3e4451",selectionForeground:"#abb2bf",black:"#282c34",red:"#e06c75",green:"#98c379",yellow:"#e5c07b",blue:"#61afef",magenta:"#c678dd",cyan:"#56b6c2",white:"#abb2bf",brightBlack:"#5c6370",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#e5c07b",brightBlue:"#61afef",brightMagenta:"#c678dd",brightCyan:"#56b6c2",brightWhite:"#ffffff"}},{id:"tokyo-night",name:"Tokyo Night",variant:"dark",colors:{background:"#1a1b26",foreground:"#a9b1d6",cursor:"#c0caf5",cursorAccent:"#1a1b26",selectionBackground:"#33467c",selectionForeground:"#a9b1d6",black:"#15161e",red:"#f7768e",green:"#9ece6a",yellow:"#e0af68",blue:"#7aa2f7",magenta:"#bb9af7",cyan:"#7dcfff",white:"#a9b1d6",brightBlack:"#414868",brightRed:"#f7768e",brightGreen:"#9ece6a",brightYellow:"#e0af68",brightBlue:"#7aa2f7",brightMagenta:"#bb9af7",brightCyan:"#7dcfff",brightWhite:"#c0caf5"}},{id:"nord",name:"Nord",variant:"dark",colors:{background:"#2e3440",foreground:"#d8dee9",cursor:"#d8dee9",cursorAccent:"#2e3440",selectionBackground:"#434c5e",selectionForeground:"#d8dee9",black:"#3b4252",red:"#bf616a",green:"#a3be8c",yellow:"#ebcb8b",blue:"#81a1c1",magenta:"#b48ead",cyan:"#88c0d0",white:"#e5e9f0",brightBlack:"#4c566a",brightRed:"#bf616a",brightGreen:"#a3be8c",brightYellow:"#ebcb8b",brightBlue:"#81a1c1",brightMagenta:"#b48ead",brightCyan:"#8fbcbb",brightWhite:"#eceff4"}},{id:"catppuccin-mocha",name:"Catppuccin Mocha",variant:"dark",colors:{background:"#1e1e2e",foreground:"#cdd6f4",cursor:"#f5e0dc",cursorAccent:"#1e1e2e",selectionBackground:"#585b70",selectionForeground:"#cdd6f4",black:"#45475a",red:"#f38ba8",green:"#a6e3a1",yellow:"#f9e2af",blue:"#89b4fa",magenta:"#f5c2e7",cyan:"#94e2d5",white:"#bac2de",brightBlack:"#585b70",brightRed:"#f38ba8",brightGreen:"#a6e3a1",brightYellow:"#f9e2af",brightBlue:"#89b4fa",brightMagenta:"#f5c2e7",brightCyan:"#94e2d5",brightWhite:"#a6adc8"}},{id:"catppuccin-latte",name:"Catppuccin Latte",variant:"light",colors:{background:"#eff1f5",foreground:"#4c4f69",cursor:"#dc8a78",cursorAccent:"#eff1f5",selectionBackground:"#acb0be",selectionForeground:"#4c4f69",black:"#5c5f77",red:"#d20f39",green:"#40a02b",yellow:"#df8e1d",blue:"#1e66f5",magenta:"#ea76cb",cyan:"#179299",white:"#acb0be",brightBlack:"#6c6f85",brightRed:"#d20f39",brightGreen:"#40a02b",brightYellow:"#df8e1d",brightBlue:"#1e66f5",brightMagenta:"#ea76cb",brightCyan:"#179299",brightWhite:"#bcc0cc"}},{id:"github-light",name:"GitHub Light",variant:"light",colors:{background:"#f6f8fa",foreground:"#24292f",cursor:"#044289",cursorAccent:"#f6f8fa",selectionBackground:"#b6d7ff",selectionForeground:"#24292f",black:"#24292f",red:"#cf222e",green:"#116329",yellow:"#9a6700",blue:"#0969da",magenta:"#8250df",cyan:"#1b7c83",white:"#6e7781",brightBlack:"#57606a",brightRed:"#a40e26",brightGreen:"#1a7f37",brightYellow:"#bf8700",brightBlue:"#218bff",brightMagenta:"#a475f9",brightCyan:"#3192aa",brightWhite:"#8c959f"}},{id:"one-light",name:"One Light",variant:"light",colors:{background:"#fafafa",foreground:"#383a42",cursor:"#526eff",cursorAccent:"#fafafa",selectionBackground:"#e5e5e6",selectionForeground:"#383a42",black:"#383a42",red:"#e45649",green:"#50a14f",yellow:"#c18401",blue:"#4078f2",magenta:"#a626a4",cyan:"#0184bc",white:"#a0a1a7",brightBlack:"#696c77",brightRed:"#e45649",brightGreen:"#50a14f",brightYellow:"#c18401",brightBlue:"#4078f2",brightMagenta:"#a626a4",brightCyan:"#0184bc",brightWhite:"#d4d4d4"}},{id:"solarized-light",name:"Solarized Light",variant:"light",colors:{background:"#fdf6e3",foreground:"#657b83",cursor:"#657b83",cursorAccent:"#fdf6e3",selectionBackground:"#eee8d5",selectionForeground:"#657b83",black:"#073642",red:"#dc322f",green:"#859900",yellow:"#b58900",blue:"#268bd2",magenta:"#d33682",cyan:"#2aa198",white:"#eee8d5",brightBlack:"#002b36",brightRed:"#cb4b16",brightGreen:"#586e75",brightYellow:"#657b83",brightBlue:"#839496",brightMagenta:"#6c71c4",brightCyan:"#93a1a1",brightWhite:"#fdf6e3"}},{id:"tokyo-night-light",name:"Tokyo Night Light",variant:"light",colors:{background:"#e1e2e7",foreground:"#3760bf",cursor:"#3760bf",cursorAccent:"#e1e2e7",selectionBackground:"#b6bfe2",selectionForeground:"#3760bf",black:"#e9e9ed",red:"#f52a65",green:"#587539",yellow:"#8c6c3e",blue:"#2e7de9",magenta:"#9854f1",cyan:"#007197",white:"#6172b0",brightBlack:"#a1a6c5",brightRed:"#f52a65",brightGreen:"#587539",brightYellow:"#8c6c3e",brightBlue:"#2e7de9",brightMagenta:"#9854f1",brightCyan:"#007197",brightWhite:"#3760bf"}},{id:"nord-light",name:"Nord Light",variant:"light",colors:{background:"#eceff4",foreground:"#2e3440",cursor:"#2e3440",cursorAccent:"#eceff4",selectionBackground:"#d8dee9",selectionForeground:"#2e3440",black:"#2e3440",red:"#bf616a",green:"#a3be8c",yellow:"#ebcb8b",blue:"#81a1c1",magenta:"#b48ead",cyan:"#88c0d0",white:"#d8dee9",brightBlack:"#4c566a",brightRed:"#bf616a",brightGreen:"#a3be8c",brightYellow:"#ebcb8b",brightBlue:"#81a1c1",brightMagenta:"#b48ead",brightCyan:"#8fbcbb",brightWhite:"#eceff4"}}];e.s(["DEFAULT_THEME_IDS",0,{light:"catppuccin-latte",dark:"snazzy"},"TERMINAL_THEMES",0,g,"getTerminalTheme",0,e=>g.find(t=>t.id===e)??g[0]],728350)},117369,e=>{"use strict";var t=e.i(505888),a=e.i(603331),r=e.i(728350);let n=(0,t.create)(e=>({themeIds:{...r.DEFAULT_THEME_IDS},setTheme:(t,a)=>{e(e=>{let r={...e.themeIds,[t]:a};return fetch("/api/config",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({terminalTheme:r})}).catch(()=>{}),{themeIds:r}})},hydrate:t=>{e({themeIds:{...r.DEFAULT_THEME_IDS,...t}})}}));e.s(["default",0,()=>{let{resolvedTheme:e}=(0,a.useTheme)(),t="light"===e?"light":"dark",{themeIds:i,setTheme:s}=n(),l=(0,r.getTerminalTheme)(i[t]);return{mode:t,themeIds:i,theme:l,setTerminalTheme:s,themes:r.TERMINAL_THEMES}},"initTerminalTheme",0,e=>{e&&n.getState().hydrate(e)}])},745725,e=>{"use strict";e.s(["nanoid",0,(e=21)=>{let t="",a=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&a[e]];return t}],745725)},399267,e=>{"use strict";var t=e.i(505888);let a={terminalConnected:!1,claudeProcess:null,claudeProcessCheckedAt:0,claudeInstalled:!0,sessionView:"session-list",cliState:"inactive",isTimelineLoading:!0,workspaceId:""},r=(e,t,a)=>{let r=e[t];return r?{...e,[t]:{...r,...a}}:e},n=(0,t.create)(e=>({tabs:{},tabOrders:{},statusWsConnected:!1,initTab:(t,r)=>e(e=>{let n=e.tabs[t],i={...a,...n,...r};return n?.cliState==="ready-for-review"&&"ready-for-review"!==i.cliState&&(i.cliState="ready-for-review",i.readyForReviewAt=n.readyForReviewAt),{tabs:{...e.tabs,[t]:i}}}),removeTab:t=>e(e=>{let{[t]:a,...r}=e.tabs;return{tabs:r}}),setTerminalConnected:(t,a)=>e(e=>{let n=e.tabs[t];return n&&n.terminalConnected!==a?{tabs:r(e.tabs,t,{terminalConnected:a})}:e}),setClaudeProcess:(t,a,n)=>e(e=>{let i=e.tabs[t];if(!i||i.claudeProcessCheckedAt>n||i.claudeProcess===a)return e;let s={claudeProcess:a,claudeProcessCheckedAt:n};return!0===a&&("check"===i.sessionView||"session-list"===i.sessionView)&&(s.sessionView="timeline"),!1===a&&!0===i.claudeProcess&&"timeline"===i.sessionView&&(s.sessionView="session-list"),{tabs:r(e.tabs,t,s)}}),setClaudeInstalled:(t,a)=>e(e=>{let n=e.tabs[t];return n&&n.claudeInstalled!==a?{tabs:r(e.tabs,t,{claudeInstalled:a})}:e}),setSessionView:(t,a)=>e(e=>{let n=e.tabs[t];return n&&n.sessionView!==a?{tabs:r(e.tabs,t,{sessionView:a})}:e}),setTimelineLoading:(t,a)=>e(e=>{let n=e.tabs[t];return n&&n.isTimelineLoading!==a?{tabs:r(e.tabs,t,{isTimelineLoading:a})}:e}),cancelTab:t=>e(e=>{let a=e.tabs[t];return a&&"cancelled"!==a.cliState?{tabs:r(e.tabs,t,{cliState:"cancelled",localUpdatedAt:Date.now()})}:e}),dismissTab:t=>e(e=>{let a=e.tabs[t];return a&&"ready-for-review"===a.cliState?{tabs:r(e.tabs,t,{cliState:"idle",dismissedAt:Date.now()})}:e}),setWorkspaceId:(t,a)=>e(e=>{let n=e.tabs[t];return n&&n.workspaceId!==a?{tabs:r(e.tabs,t,{workspaceId:a})}:e}),setPanelType:(t,a)=>e(e=>{let n=e.tabs[t];return n&&n.panelType!==a?{tabs:r(e.tabs,t,{panelType:a})}:e}),setCurrentProcess:(t,a)=>e(e=>{let n=e.tabs[t];if(!n)return e;let i=a??void 0;return n.currentProcess===i?e:{tabs:r(e.tabs,t,{currentProcess:i,localUpdatedAt:Date.now()})}}),setTabOrder:(t,a)=>e(e=>{let r=e.tabOrders[t];return r&&r.length===a.length&&r.every((e,t)=>e===a[t])?e:{tabOrders:{...e.tabOrders,[t]:a}}}),setStatusWsConnected:t=>e({statusWsConnected:t}),syncAllFromServer:t=>e(e=>{let r=Date.now(),n={};for(let[i,s]of Object.entries(t)){let t=e.tabs[i];if(t?.cliState==="cancelled"){n[i]=t;continue}t?.localUpdatedAt&&r-t.localUpdatedAt<3e4?n[i]={...t,cliState:s.cliState,workspaceId:s.workspaceId,tabName:s.tabName,terminalStatus:s.terminalStatus,listeningPorts:s.listeningPorts,claudeSummary:s.claudeSummary,lastUserMessage:s.lastUserMessage,lastAssistantMessage:s.lastAssistantMessage,currentAction:s.currentAction,readyForReviewAt:s.readyForReviewAt,busySince:s.busySince,dismissedAt:s.dismissedAt,claudeSessionId:s.claudeSessionId,compactingSince:s.compactingSince,lastEvent:s.lastEvent,eventSeq:s.eventSeq}:t?n[i]={...t,cliState:s.cliState,workspaceId:s.workspaceId,tabName:s.tabName,panelType:s.panelType??t.panelType,terminalStatus:s.terminalStatus,listeningPorts:s.listeningPorts,currentProcess:s.currentProcess,claudeSummary:s.claudeSummary,lastUserMessage:s.lastUserMessage,lastAssistantMessage:s.lastAssistantMessage,currentAction:s.currentAction,readyForReviewAt:s.readyForReviewAt,busySince:s.busySince,dismissedAt:s.dismissedAt,claudeSessionId:s.claudeSessionId,compactingSince:s.compactingSince,lastEvent:s.lastEvent,eventSeq:s.eventSeq}:n[i]={...a,cliState:s.cliState,workspaceId:s.workspaceId,tabName:s.tabName,panelType:s.panelType,terminalStatus:s.terminalStatus,listeningPorts:s.listeningPorts,currentProcess:s.currentProcess,claudeSummary:s.claudeSummary,lastUserMessage:s.lastUserMessage,lastAssistantMessage:s.lastAssistantMessage,currentAction:s.currentAction,readyForReviewAt:s.readyForReviewAt,busySince:s.busySince,dismissedAt:s.dismissedAt,claudeSessionId:s.claudeSessionId,compactingSince:s.compactingSince,lastEvent:s.lastEvent,eventSeq:s.eventSeq,...s.claudeSessionId?{sessionView:"timeline"}:{}}}for(let[t,a]of Object.entries(e.tabs))n[t]||(n[t]=a);return{tabs:n}}),updateFromServer:(t,n)=>e(e=>{if(null===n.cliState){let{[t]:a,...r}=e.tabs;return{tabs:r}}let i=e.tabs[t];if(i){if("cancelled"===i.cliState)return e;let a=void 0!==n.eventSeq&&void 0!==i.eventSeq&&n.eventSeq<i.eventSeq,s=void 0!==n.eventSeq&&(void 0===i.eventSeq||n.eventSeq>=i.eventSeq)?{lastEvent:n.lastEvent,eventSeq:n.eventSeq}:{},l=a?{cliState:i.cliState,readyForReviewAt:i.readyForReviewAt,busySince:i.busySince,dismissedAt:i.dismissedAt}:{cliState:n.cliState,readyForReviewAt:n.readyForReviewAt,busySince:n.busySince,dismissedAt:n.dismissedAt};return{tabs:r(e.tabs,t,{...l,workspaceId:n.workspaceId,tabName:n.tabName,panelType:n.panelType??i.panelType,terminalStatus:n.terminalStatus,listeningPorts:n.listeningPorts,currentProcess:n.currentProcess,claudeSummary:n.claudeSummary,lastUserMessage:n.lastUserMessage,lastAssistantMessage:n.lastAssistantMessage,currentAction:n.currentAction,claudeSessionId:n.claudeSessionId,compactingSince:n.compactingSince,...s})}}return{tabs:{...e.tabs,[t]:{...a,cliState:n.cliState,workspaceId:n.workspaceId,tabName:n.tabName,panelType:n.panelType,terminalStatus:n.terminalStatus,listeningPorts:n.listeningPorts,currentProcess:n.currentProcess,claudeSummary:n.claudeSummary,lastUserMessage:n.lastUserMessage,lastAssistantMessage:n.lastAssistantMessage,readyForReviewAt:n.readyForReviewAt,busySince:n.busySince,dismissedAt:n.dismissedAt,claudeSessionId:n.claudeSessionId,compactingSince:n.compactingSince,lastEvent:n.lastEvent,eventSeq:n.eventSeq,...n.claudeSessionId?{sessionView:"timeline"}:{}}}}}),applyHookEvent:(t,a)=>e(e=>{let n=e.tabs[t];return!n||void 0!==n.eventSeq&&a.seq<=n.eventSeq?e:{tabs:r(e.tabs,t,{lastEvent:a,eventSeq:a.seq})}})}));e.s(["default",0,n,"isCliIdle",0,e=>"idle"===e||"ready-for-review"===e,"selectGlobalStatus",0,e=>{let t=0,a=0;for(let r of Object.values(e))"busy"===r.cliState?t++:("ready-for-review"===r.cliState||"needs-input"===r.cliState)&&a++;return{busyCount:t,attentionCount:a}},"selectSessionView",0,(e,t)=>{let a=e[t];return a?a.sessionView:"session-list"},"selectTabDisplayStatus",0,(e,t)=>{let a=e[t];return a&&"inactive"!==a.cliState?"busy"===a.cliState?"busy":"ready-for-review"===a.cliState?"ready-for-review":"needs-input"===a.cliState?"needs-input":"unknown"===a.cliState?"unknown":"idle":"idle"},"selectWorkspacePortsLabel",0,(e,t)=>{let a=new Set;for(let r of Object.values(e))if(r.workspaceId===t&&r.listeningPorts)for(let e of r.listeningPorts)a.add(e);return 0===a.size?"":":"+[...a].sort((e,t)=>e-t).join(", :")}])},117653,e=>{"use strict";var t=e.i(191788);let a=(e,t)=>{let a=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(a.size!==r.size)return!1;for(let[e,t]of a)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0};e.s(["useShallow",0,function(e){let r=t.default.useRef(void 0);return t=>{let n=e(t);return!function(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;if(Symbol.iterator in e&&Symbol.iterator in t){if("entries"in e&&"entries"in t)return a(e,t);let r=e[Symbol.iterator](),n=t[Symbol.iterator](),i=r.next(),s=n.next();for(;!i.done&&!s.done;){if(!Object.is(i.value,s.value))return!1;i=r.next(),s=n.next()}return!!i.done&&!!s.done}return a({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}(r.current,n)?r.current=n:r.current}}],117653)},116962,e=>{"use strict";let t=(0,e.i(505888).create)(e=>({entries:[],syncFromServer:t=>e({entries:t}),upsertEntry:t=>e(e=>{let a=e.entries.findIndex(e=>e.id===t.id);if(a>=0){let r=[...e.entries];return r[a]=t,{entries:r}}return{entries:[t,...e.entries]}})}));e.s(["default",0,t])},358915,806185,e=>{"use strict";var t=e.i(191788),a=e.i(679935),r=e.i(844044),n=e.i(399267);let i=new Set(["/new","/clear"]),s=e=>`pt-input-draft:${e}`,l=e=>{try{localStorage.removeItem(s(e))}catch{}};e.s(["clearInputDraft",0,l,"default",0,(e,o,c,d)=>{let u=d?.tabId,[f,b]=(0,t.useState)(()=>u?(e=>{try{return localStorage.getItem(s(e))??""}catch{return""}})(u):""),g=(0,t.useRef)(null),h=(0,t.useMemo)(()=>(0,n.isCliIdle)(e)||"unknown"===e?"input":"busy"===e||"needs-input"===e?"interrupt":"disabled",[e]),m=d?.onRestartSession,p=d?.onMessageSent,y=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(u)return y.current&&clearTimeout(y.current),y.current=setTimeout(()=>((e,t)=>{try{t?localStorage.setItem(s(e),t):localStorage.removeItem(s(e))}catch{}})(u,f),300),()=>{y.current&&clearTimeout(y.current)}},[u,f]);let S=(0,t.useCallback)(()=>{if("disabled"===h)return void a.toast.error("Claude Code가 실행 중이 아닙니다");if(!c)return void a.toast.error((0,r.t)("connection","terminalDisconnected"));if(""!==f.trim()){if(i.has(f.trim().toLowerCase())){m?.(),b(""),u&&l(u);return}f.includes("\n")?(o(`\x1b[200~${f}\x1b[201~\r`),setTimeout(()=>o("\r"),500)):(o(f),setTimeout(()=>o("\r"),50)),f.trim().startsWith("/")||p?.(f.trim()),b(""),u&&l(u)}},[h,f,o,c,m,p,u]),v=(0,t.useCallback)(()=>{c?o("\x1b\x1b"):a.toast.error((0,r.t)("connection","terminalDisconnected"))},[o,c]),T=(0,t.useCallback)(()=>{let e=g.current;if(!e)return;e.focus();let t=e.value.length;e.setSelectionRange(t,t)},[]),w="disabled"!==h&&c;return{value:f,setValue:b,mode:h,canSend:w,send:S,interrupt:v,textareaRef:g,focusInput:T}}],358915);let o=e=>"pane"===e.type?[e]:[...o(e.children[0]),...o(e.children[1])],c=(e,t)=>"pane"===e.type?e.id===t?e:null:c(e.children[0],t)||c(e.children[1],t),d=e=>"pane"===e.type?e.id:d(e.children[0]),u=e=>"pane"===e.type?e.id:u(e.children[1]),f=(e,t)=>{if("pane"===e.type)return null;let[a,r]=e.children;if("pane"===a.type&&a.id===t)return r;if("pane"===r.type&&r.id===t)return a;let n=f(a,t);if(n)return{...e,children:[n,r]};let i=f(r,t);return i?{...e,children:[a,i]}:null},b=(e,t)=>{if("pane"===e.type)return null;let[a,r]=e.children;return"pane"===a.type&&a.id===t?d(r):"pane"===r.type&&r.id===t?u(a):b(a,t)||b(r,t)},g=(e,t,a)=>{if("split"!==e.type)return e;if(0===t.length)return{...e,ratio:a};let[r,...n]=t,i=[e.children[0],e.children[1]];return i[r]=g(e.children[r],n,a),{...e,children:i}},h=(e,t)=>"pane"===e.type||e.orientation!==t?1:h(e.children[0],t)+h(e.children[1],t),m=e=>{if("pane"===e.type)return e;let t=h(e.children[0],e.orientation),a=Math.round(t/(t+h(e.children[1],e.orientation))*1e4)/100;return{...e,ratio:a,children:[m(e.children[0]),m(e.children[1])]}},p=(e,t,a)=>{if("pane"===e.type)return e.id===t?a(e):e;let r=p(e.children[0],t,a);if(r!==e.children[0])return{...e,children:[r,e.children[1]]};let n=p(e.children[1],t,a);return n!==e.children[1]?{...e,children:[e.children[0],n]}:e};e.s(["collectAllTabs",0,e=>o(e).flatMap(e=>e.tabs),"collectPanes",0,o,"equalizeNode",0,m,"findAdjacentPaneInDirection",0,(e,t,a)=>{let r=[],n=e=>{if("pane"===e.type)return e.id===t;for(let t=0;t<2;t++){if(r.push({node:e,childIndex:t}),n(e.children[t]))return!0;r.pop()}return!1};if(!n(e))return null;let i="left"===a||"right"===a?"horizontal":"vertical",s=+("left"===a||"up"===a);for(let e=r.length-1;e>=0;e--){let{node:t,childIndex:n}=r[e];if("split"===t.type&&t.orientation===i&&n===s){let e=t.children[1-s];return"left"===a||"up"===a?u(e):d(e)}}return null},"findPane",0,c,"findResizeTarget",0,(e,t,a)=>{let r=[],n=e=>{if("pane"===e.type)return e.id===t;for(let t=0;t<2;t++){if(r.push({node:e,childIndex:t}),n(e.children[t]))return!0;r.pop()}return!1};if(!n(e))return null;let i="left"===a||"right"===a?"horizontal":"vertical",s=+("right"!==a&&"down"!==a),l="right"===a||"down"===a;for(let e=r.length-1;e>=0;e--){let{node:t,childIndex:a}=r[e];if("split"===t.type&&t.orientation===i&&a===s)return{path:r.slice(0,e).map(e=>e.childIndex),currentRatio:t.ratio,increase:l}}return null},"getFirstPaneId",0,d,"removePaneWithFocus",0,(e,t)=>{let a=b(e.root,t),r=f(e.root,t);r&&(e.root=r),e.activePaneId===t&&(e.activePaneId=a??o(e.root)[0]?.id??null)},"updatePaneInTree",0,p,"updateRatioAtPath",0,g],806185)},335288,e=>{"use strict";e.s(["default",()=>C,"navigateToTab",()=>A,"navigateToTabOrCreate",()=>E,"useLayoutStore",()=>k]);var t=e.i(191788),a=e.i(203828),r=e.i(505888),n=e.i(117653),i=e.i(679935),s=e.i(844044),l=e.i(358915),o=e.i(399267),c=e.i(490034),d=e.i(453783),u=e.i(806185);let f="pt-active-pane-",b="pt-active-tab-",g=e=>{try{return sessionStorage.getItem(`${b}${e}`)}catch{return null}},h=null,m=null,p=null,y=!1,S=(e,t)=>{if(!t)return e;let a=e.includes("?")?"&":"?";return`${e}${a}workspace=${t}`},v=(e,t)=>{let a=e?(0,u.collectPanes)(e.root).length:0;return{paneCount:a,canSplit:a<10&&!t}},T=(e,t,a)=>{e({layout:a,...v(a,t().isSplitting)})},w=(e,t,a)=>{let r=t().layout;if(r){let e=(0,u.collectPanes)(a.root);for(let t of(r.activePaneId&&e.some(e=>e.id===r.activePaneId)&&(a.activePaneId=r.activePaneId),e)){let e=(0,u.findPane)(r.root,t.id);e?.activeTabId&&t.tabs.some(t=>t.id===e.activeTabId)&&(t.activeTabId=e.activeTabId)}}e({layout:a,...v(a,t().isSplitting)})},I=(e,t,a,r)=>{let{layout:n}=t();if(!n)return;let i=(0,u.updatePaneInTree)(n.root,a,r);i!==n.root&&T(e,t,{...n,root:i})},P=async(e,t)=>{try{let a=await fetch(e,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)return null;return await a.json()}catch{return null}},k=(0,r.create)((e,t)=>({layout:null,isLoading:!0,error:null,isSplitting:!1,workspaceId:null,retryCount:0,paneCount:0,canSplit:!1,pendingFocusTabId:null,setWorkspaceId:t=>{y=!1,e({workspaceId:t})},setLayout:a=>{T(e,t,a)},fetchLayout:async(a,r)=>{if(y)return;let n=a??t().workspaceId;if(!n)return;h?.abort();let l=new AbortController;h=l,t().layout||e({isLoading:!0,error:null});try{let a=await fetch(S("/api/layout",n),{signal:l.signal});if(!a.ok)throw Error();let i=await a.json();if(l.signal.aborted)return;let s=t().layout;if(!1!==r){let e=(0,u.collectPanes)(i.root);if(s)for(let t of(s.activePaneId&&e.some(e=>e.id===s.activePaneId)&&(i.activePaneId=s.activePaneId),e)){let e=(0,u.findPane)(s.root,t.id);e?.activeTabId&&t.tabs.some(t=>t.id===e.activeTabId)&&(t.activeTabId=e.activeTabId)}else{let t=(e=>{try{return sessionStorage.getItem(`${f}${e}`)}catch{return null}})(n);for(let a of(t&&e.some(e=>e.id===t)&&(i.activePaneId=t),e)){let e=g(a.id);e&&a.tabs.some(t=>t.id===e)&&(a.activeTabId=e)}}}if(s){let a={root:s.root,activePaneId:s.activePaneId},r={root:i.root,activePaneId:i.activePaneId};if(JSON.stringify(a)===JSON.stringify(r)){let a=t().pendingFocusTabId;a&&(e({pendingFocusTabId:null}),t().focusTab(a));return}}let o=t().pendingFocusTabId,c=null;if(o){for(let t of(e({pendingFocusTabId:null}),(0,u.collectPanes)(i.root)))if(t.tabs.some(e=>e.id===o)){i.activePaneId=t.id,t.activeTabId=o,c=t.id;break}}e({layout:i,retryCount:0,...v(i,t().isSplitting)}),c&&(P(S("/api/layout",n),{activePaneId:c}),P(S(`/api/layout/pane/${c}`,n),{activeTabId:o}))}catch(r){if(r instanceof DOMException&&"AbortError"===r.name)return;let a=t().retryCount+1;if(e({retryCount:a}),a>=3)try{let a=await fetch(S("/api/layout/pane",n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(a.ok){let{paneId:r,tab:n}=await a.json(),l={root:{type:"pane",id:r,tabs:[n],activeTabId:n.id},activePaneId:r,updatedAt:new Date().toISOString()};e({layout:l,...v(l,t().isSplitting)}),i.toast.info((0,s.t)("terminal","fallbackLayout")),e({retryCount:0});return}}catch{}e({error:(0,s.t)("terminal","layoutFetchError")}),m?.()}finally{l.signal.aborted||e({isLoading:!1})}},splitPane:async(a,r)=>{let{layout:n,isSplitting:l,workspaceId:o}=t();if(n&&!l&&!((0,u.collectPanes)(n.root).length>=10)){e({isSplitting:!0,canSplit:!1});try{let i,s,l=(0,u.findPane)(n.root,a),c=l?.tabs.find(e=>e.id===l.activeTabId);if(c){s=c.panelType;try{let e=await fetch(S(`/api/layout/cwd?session=${c.sessionName}`,o));e.ok&&(i=(await e.json()).cwd)}catch{}}let d=await fetch(S("/api/layout/pane",o),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourcePaneId:a,orientation:r,cwd:i,panelType:s})});if(!d.ok)throw Error();let f=await d.json();T(e,t,f)}catch{i.toast.error((0,s.t)("terminal","splitFailed"))}finally{e(e=>({isSplitting:!1,canSplit:e.paneCount<10}))}}},closePane:async a=>{let{layout:r,workspaceId:n}=t();if(r&&!((0,u.collectPanes)(r.root).length<=1))try{let r=await fetch(S(`/api/layout/pane/${a}`,n),{method:"DELETE"});if(!r.ok)throw Error();let i=await r.json();T(e,t,i)}catch{i.toast.error("Pane을 닫을 수 없습니다")}},focusPane:a=>{let{layout:r,workspaceId:n}=t();r&&r.activePaneId!==a&&(e({layout:{...r,activePaneId:a}}),P(S("/api/layout",n),{activePaneId:a}).then(a=>{a&&w(e,t,a)}))},updateRatio:(a,r)=>{let{layout:n,workspaceId:i}=t();n&&(e({layout:{...n,root:(0,u.updateRatioAtPath)(n.root,a,r)}}),p&&clearTimeout(p),p=setTimeout(()=>{p=null,P(S("/api/layout",i),{ratioUpdate:{path:a,ratio:r}}).then(a=>{a&&w(e,t,a)})},300))},moveTab:(a,r,n,i)=>{if(r===n)return;let{layout:s,workspaceId:l}=t();if(!s)return;let o=JSON.parse(JSON.stringify(s)),c=(0,u.findPane)(o.root,r),d=(0,u.findPane)(o.root,n);if(c&&d){let s=c.tabs.findIndex(e=>e.id===a);if(-1!==s){let[l]=c.tabs.splice(s,1);c.activeTabId===a&&(c.activeTabId=c.tabs[0]?.id??null),c.tabs.forEach((e,t)=>{e.order=t}),d.tabs.splice(i,0,l),d.tabs.forEach((e,t)=>{e.order=t}),d.activeTabId=a,0===c.tabs.length&&(0,u.collectPanes)(o.root).length>1&&(0,u.removePaneWithFocus)(o,r),o.activePaneId=n,T(e,t,o)}}fetch(S(`/api/layout/pane/${r}/tabs/${a}/move`,l),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({toPaneId:n,toIndex:i})}).then(async a=>{a.ok?w(e,t,await a.json()):await t().fetchLayout(void 0,!1)}).catch(()=>t().fetchLayout(void 0,!1))},createTabInPane:async(a,r,n)=>{let{layout:l,workspaceId:c}=t();try{let i,s=r,f=l?(0,u.findPane)(l.root,a):void 0,b=f?.tabs.find(e=>e.id===f.activeTabId);!s&&b&&(s=b.panelType),"web-browser"!==s&&b&&(i=d.default.getState().metadata[b.id]?.cwd);let g=await fetch(S(`/api/layout/pane/${a}/tabs`,c),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:i,panelType:s,command:n})});if(!g.ok)throw Error();let h=await g.json();return n&&o.default.getState().initTab(h.id,{panelType:s,sessionView:"check"}),I(e,t,a,e=>({...e,tabs:[...e.tabs,h],activeTabId:h.id})),t().fetchLayout(),h}catch{return i.toast.error((0,s.t)("terminal","tabCreateFailed")),null}},deleteTabInPane:async(a,r)=>{(0,l.clearInputDraft)(r),o.default.getState().cancelTab(r),I(e,t,a,e=>{let t=[...e.tabs].sort((e,t)=>e.order-t.order),a=t.findIndex(e=>e.id===r),n=t.filter(e=>e.id!==r);n.forEach((e,t)=>{e.order=t});let i=e.activeTabId;if(e.activeTabId===r){let e=t[a+1]||t[a-1];i=e?.id??null}return{...e,tabs:n,activeTabId:i}});let{workspaceId:n}=t();try{let e=await fetch(S(`/api/layout/pane/${a}/tabs/${r}`,n),{method:"DELETE"});e.ok||404===e.status||(i.toast.error((0,s.t)("terminal","tabDeleteError")),await t().fetchLayout())}catch{i.toast.error((0,s.t)("terminal","tabDeleteError")),await t().fetchLayout()}},restartTabInPane:async(e,a,r)=>{let{workspaceId:n}=t();try{return(await fetch(S(`/api/layout/pane/${e}/tabs/${a}`,n),{method:"POST",headers:r?{"Content-Type":"application/json"}:void 0,body:r?JSON.stringify({command:r}):void 0})).ok}catch{return i.toast.error((0,s.t)("terminal","sessionRestartFailed")),!1}},switchTabInPane:(a,r)=>{I(e,t,a,e=>({...e,activeTabId:r}));let{workspaceId:n}=t();P(S(`/api/layout/pane/${a}`,n),{activeTabId:r}).then(a=>{a&&w(e,t,a)})},renameTabInPane:async(a,r,n)=>{I(e,t,a,e=>({...e,tabs:e.tabs.map(e=>e.id===r?{...e,name:n}:e)}));let{workspaceId:l}=t(),o=await P(S(`/api/layout/pane/${a}/tabs/${r}`,l),{name:n});o?w(e,t,o):i.toast.error((0,s.t)("terminal","tabRenameFailed"))},reorderTabsInPane:(a,r)=>{I(e,t,a,e=>{let t=new Map(e.tabs.map(e=>[e.id,e])),a=r.map((e,a)=>{let r=t.get(e);return r?{...r,order:a}:null}).filter(e=>null!==e);return{...e,tabs:a}});let{workspaceId:n}=t();P(S(`/api/layout/pane/${a}/tabs/order`,n),{tabIds:r}).then(a=>{a&&w(e,t,a)})},removeTabLocally:(e,a)=>{(0,l.clearInputDraft)(a);let{workspaceId:r}=t();fetch(S(`/api/layout/pane/${e}/tabs/${a}`,r),{method:"DELETE"}).then(()=>t().fetchLayout()).catch(()=>{console.log("[layout] removeTabLocally failed")})},equalizeRatios:()=>{let{workspaceId:a}=t();P(S("/api/layout",a),{equalize:!0}).then(a=>{a&&w(e,t,a)})},updateTabPanelType:(a,r,n)=>{I(e,t,a,e=>({...e,tabs:e.tabs.map(e=>{if(e.id!==r)return e;let t={...e,panelType:n};return"terminal"===n&&(t.claudeSessionId=null),t})})),o.default.getState().setPanelType(r,n);let{workspaceId:i}=t();P(S(`/api/layout/pane/${a}/tabs/${r}`,i),{panelType:n}).then(a=>{a&&w(e,t,a)})},clearLayout:()=>{y=!0,h?.abort(),e({layout:null,paneCount:0,canSplit:!1})},focusTab:e=>{let{layout:a}=t();if(!a)return!1;for(let r of(0,u.collectPanes)(a.root))if(r.tabs.some(t=>t.id===e))return t().focusPane(r.id),t().switchTabInPane(r.id,e),!0;return!1},focusPrevTab:()=>{let{layout:e}=t();if(!e)return;let a=(0,u.collectPanes)(e.root),r=a.find(t=>t.id===e.activePaneId);if(!r)return;let n=[...r.tabs].sort((e,t)=>e.order-t.order),i=n.findIndex(e=>e.id===r.activeTabId);if(i>0)t().switchTabInPane(r.id,n[i-1].id);else{let e=a.indexOf(r);if(e>0){let r=a[e-1],n=[...r.tabs].sort((e,t)=>e.order-t.order);t().focusPane(r.id),t().switchTabInPane(r.id,n[n.length-1].id)}}},focusNextTab:()=>{let{layout:e}=t();if(!e)return;let a=(0,u.collectPanes)(e.root),r=a.find(t=>t.id===e.activePaneId);if(!r)return;let n=[...r.tabs].sort((e,t)=>e.order-t.order),i=n.findIndex(e=>e.id===r.activeTabId);if(i<n.length-1)t().switchTabInPane(r.id,n[i+1].id);else{let e=a.indexOf(r);if(e<a.length-1){let r=a[e+1],n=[...r.tabs].sort((e,t)=>e.order-t.order);t().focusPane(r.id),t().switchTabInPane(r.id,n[0].id)}}},focusTabByIndex:e=>{let{layout:a}=t();if(!a?.activePaneId)return;let r=(0,u.collectPanes)(a.root).find(e=>e.id===a.activePaneId);if(!r)return;let n=[...r.tabs].sort((e,t)=>e.order-t.order),i=e>=n.length?n[n.length-1]:n[e];i&&i.id!==r.activeTabId&&t().switchTabInPane(r.id,i.id)}}));k.subscribe((e,t)=>{if(e.layout&&e.workspaceId&&e.layout!==t.layout){var a=e.workspaceId,r=e.layout;try{for(let e of(r.activePaneId&&sessionStorage.setItem(`${f}${a}`,r.activePaneId),(0,u.collectPanes)(r.root)))e.activeTabId&&sessionStorage.setItem(`${b}${e.id}`,e.activeTabId)}catch{}}});let A=(e,t)=>{let r=k.getState();if("/"!==a.default.pathname){k.setState({pendingFocusTabId:t}),c.default.getState().switchWorkspace(e),a.default.push("/");return}e===r.workspaceId?r.focusTab(t):(r.clearLayout(),k.setState({pendingFocusTabId:t}),c.default.getState().switchWorkspace(e))},E=async(e,t,a,r,n)=>{let i=c.default.getState(),s=e,l=i.workspaces.find(t=>t.id===e);if(!l){if(!n)return;let e=await i.createWorkspace(n,r,a??void 0);if(!e)return;s=e.id;let t=await fetch(S("/api/layout",s));if(!t.ok)return;let l=await t.json(),c=(0,u.collectAllTabs)(l.root)[0];if(!c)return;a&&o.default.getState().initTab(c.id,{panelType:"claude-code",sessionView:"check"}),A(s,c.id);return}let d=await fetch(S("/api/layout",s));if(!d.ok)return;let f=await d.json();if(a){let e=(0,u.collectAllTabs)(f.root).find(e=>e.claudeSessionId===a);if(e){o.default.getState().setSessionView(e.id,"timeline"),A(s,e.id);return}}else if((0,u.collectAllTabs)(f.root).find(e=>e.id===t))return void A(s,t);let b=f.activePaneId??(0,u.getFirstPaneId)(f.root),g={panelType:"claude-code",cwd:l.directories[0]};a&&(g.resumeSessionId=a);let h=await fetch(S(`/api/layout/pane/${b}/tabs`,s),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(g)});if(!h.ok)return;let m=await h.json();a&&o.default.getState().initTab(m.id,{panelType:"claude-code",sessionView:"check"}),s===k.getState().workspaceId?(k.setState({pendingFocusTabId:m.id}),k.getState().fetchLayout()):A(s,m.id)},C=({workspaceId:e,onFetchError:a})=>((0,t.useEffect)(()=>{m=a??null},[a]),(0,t.useEffect)(()=>{if(e){let t=k.getState();t.setWorkspaceId(e),t.fetchLayout(e)}},[e]),(0,t.useEffect)(()=>k.subscribe(e=>{let t=e.workspaceId;if(!t||!e.layout?.root)return;let a=(0,u.collectPanes)(e.layout.root).flatMap(e=>e.tabs.map(e=>e.id));o.default.getState().setTabOrder(t,a)}),[]),k((0,n.useShallow)(e=>({layout:e.layout,isLoading:e.isLoading,error:e.error,isSplitting:e.isSplitting,paneCount:e.paneCount,canSplit:e.canSplit,splitPane:e.splitPane,closePane:e.closePane,focusPane:e.focusPane,updateRatio:e.updateRatio,moveTab:e.moveTab,createTabInPane:e.createTabInPane,deleteTabInPane:e.deleteTabInPane,restartTabInPane:e.restartTabInPane,switchTabInPane:e.switchTabInPane,renameTabInPane:e.renameTabInPane,reorderTabsInPane:e.reorderTabsInPane,removeTabLocally:e.removeTabLocally,equalizeRatios:e.equalizeRatios,updateTabPanelType:e.updateTabPanelType,clearLayout:e.clearLayout,fetchLayout:e.fetchLayout,focusTab:e.focusTab,focusPrevTab:e.focusPrevTab,focusNextTab:e.focusNextTab,focusTabByIndex:e.focusTabByIndex}))))},453783,e=>{"use strict";e.s(["default",()=>c]);var t=e.i(505888),a=e.i(335288),r=e.i(806185);let n=null,i=new Map,s=new Map,l=()=>{n&&clearTimeout(n),n=setTimeout(()=>{n=null;let{metadata:e}=o.getState(),t=a.useLayoutStore.getState().layout,i=a.useLayoutStore.getState().workspaceId;if(!t||!i)return;let s=`?workspace=${i}`;for(let a of(0,r.collectPanes)(t.root))for(let t of a.tabs){let r=e[t.id];if(!r)continue;let n={};void 0!==r.title&&r.title!==t.title&&(n.title=r.title),void 0!==r.cwd&&r.cwd!==t.cwd&&(n.cwd=r.cwd),void 0!==r.lastCommand&&(r.lastCommand??null)!==(t.lastCommand??null)&&(n.lastCommand=r.lastCommand??null),Object.keys(n).length>0&&fetch(`/api/layout/pane/${a.id}/tabs/${t.id}${s}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}).catch(e=>{console.log(`[tab-metadata] sync failed: ${e instanceof Error?e.message:e}`)})}},100)},o=(0,t.create)(e=>({metadata:{},setTitle:(t,a)=>{e(e=>{let r=e.metadata[t];return r?.title===a?e:(i.set(t,Date.now()),{metadata:{...e.metadata,[t]:{...r,title:a}}})}),l()},setCwd:(t,a)=>{e(e=>{let r=e.metadata[t];return r?.cwd===a?e:(s.set(t,Date.now()),{metadata:{...e.metadata,[t]:{...r,cwd:a}}})}),l()},setLastCommand:(t,a)=>{e(e=>{let r=e.metadata[t];return r?.lastCommand===a?e:{metadata:{...e.metadata,[t]:{...r,lastCommand:a}}}}),l()},removeTab:t=>{e(e=>{let{[t]:a,...r}=e.metadata;return{metadata:r}}),l()},hydrate:t=>{e(e=>{let a={},r=Date.now();for(let[n,l]of Object.entries(t)){let t=e.metadata[n],o=r-(i.get(n)??0)<1e3,c=r-(s.get(n)??0)<1e3;a[n]={...l,...o&&t?.title!==void 0?{title:t.title}:{},...c&&t?.cwd!==void 0?{cwd:t.cwd}:{}}}return{metadata:a}})},retainOnly:t=>{e(e=>{let a={};for(let r of t)e.metadata[r]&&(a[r]=e.metadata[r]);return{metadata:a}})},reset:()=>{n&&clearTimeout(n),n=null,i.clear(),s.clear(),e({metadata:{}})}})),c=o},15623,e=>{"use strict";let t=(0,e.i(505888).create)(e=>({data:null,setData:t=>e({data:t})}));e.s(["default",0,t])},982960,251748,e=>{"use strict";var t=e.i(191788),a=e.i(399267),r=e.i(453783),n=e.i(15623),i=e.i(116962);let s=new Set(["zsh","bash","fish","sh","-zsh","-bash","-fish","-sh"]),l=e=>{if("~"===e||"/"===e)return e;let t=e.replace(/\/$/,"").split("/");return t[t.length-1]||e},o=e=>{let t=e.trim();if(!t)return null;let a=t.indexOf("|");return a>0?t.slice(0,a):null},c=e=>{let t=e.trim();if(!t)return"";let a=o(e);if(null!==a){let e=t.slice(t.indexOf("|")+1);return s.has(a)?l(e):a}let r=t.match(/@[^:]+:\s*(.*)/);if(r)return l(r[1].trim());if(t.startsWith("/")||t.startsWith("~"))return l(t);let n=t.split(/\s+/)[0];return s.has(n)?"":n||""};e.s(["formatTabTitle",0,c,"isShellProcess",0,e=>{let t=o(e);return null!==t&&s.has(t)},"parseCurrentCommand",0,o],251748);let d=null;e.s(["ackNotificationInput",0,(e,t)=>{d?.readyState===WebSocket.OPEN&&d.send(JSON.stringify({type:"status:ack-notification",tabId:e,seq:t}))},"default",0,()=>{let e=(0,t.useRef)(0),s=(0,t.useRef)(null),l=(0,t.useRef)(!0);(0,t.useEffect)(()=>{l.current=!0;let t=()=>{if(!l.current)return;let o="https:"===location.protocol?"wss:":"ws:",u=new WebSocket(`${o}//${location.host}/api/status`);d=u,u.onopen=()=>{l.current&&(e.current=0,a.default.getState().setStatusWsConnected(!0))},u.onmessage=e=>{if(l.current)try{let t=JSON.parse(e.data);switch(t.type){case"status:sync":for(let[e,n]of(a.default.getState().syncAllFromServer(t.tabs),Object.entries(t.tabs)))n.paneTitle&&!r.default.getState().metadata[e]?.title&&r.default.getState().setTitle(e,c(n.paneTitle));break;case"status:update":a.default.getState().updateFromServer(t.tabId,{cliState:t.cliState,workspaceId:t.workspaceId,tabName:t.tabName,panelType:t.panelType,terminalStatus:t.terminalStatus,listeningPorts:t.listeningPorts,currentProcess:t.currentProcess,claudeSummary:t.claudeSummary,lastUserMessage:t.lastUserMessage,lastAssistantMessage:t.lastAssistantMessage,currentAction:t.currentAction,readyForReviewAt:t.readyForReviewAt,busySince:t.busySince,dismissedAt:t.dismissedAt,claudeSessionId:t.claudeSessionId,compactingSince:t.compactingSince,lastEvent:t.lastEvent,eventSeq:t.eventSeq}),t.paneTitle&&r.default.getState().setTitle(t.tabId,c(t.paneTitle));break;case"status:hook-event":a.default.getState().applyHookEvent(t.tabId,t.event);break;case"rate-limits:update":n.default.getState().setData(t.data);break;case"session-history:sync":i.default.getState().syncFromServer(t.entries);break;case"session-history:update":i.default.getState().upsertEntry(t.entry)}}catch{}},u.onclose=()=>{if(!l.current)return;a.default.getState().setStatusWsConnected(!1),d=null;let r=Math.min(1e3*Math.pow(2,e.current),3e4);e.current++,s.current=setTimeout(t,r)},u.onerror=()=>{}};t();let o=()=>{if("visible"!==document.visibilityState)return;let a=d?.readyState;a!==WebSocket.OPEN&&a!==WebSocket.CONNECTING&&(s.current&&(clearTimeout(s.current),s.current=null),e.current=0,t())};return document.addEventListener("visibilitychange",o),()=>{l.current=!1,s.current&&(clearTimeout(s.current),s.current=null),d&&(d.close(),d=null),document.removeEventListener("visibilitychange",o)}},[])},"dismissTab",0,e=>{a.default.getState().dismissTab(e),d?.readyState===WebSocket.OPEN&&d.send(JSON.stringify({type:"status:tab-dismissed",tabId:e}))},"requestSync",0,()=>{d?.readyState===WebSocket.OPEN&&d.send(JSON.stringify({type:"status:request-sync"}))}],982960)}]);