purplemux 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +84 -79
  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 +47 -7
  6. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-qfa-x._.js +3 -0
  7. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00nrs0h._.js +3 -0
  8. package/.next/standalone/.next/server/chunks/[root-of-the-server]__014kwh_._.js +3 -0
  9. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02v.lnb._.js +3 -0
  10. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03x8rds._.js +3 -0
  11. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04cr_m8._.js +1 -1
  12. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06j59n1._.js +3 -0
  13. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07gfnob._.js +1 -1
  14. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07xijrd._.js +1 -1
  15. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08tdlcm._.js +1 -1
  16. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09_6_.~._.js +3 -0
  17. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09gkm_6._.js +1 -1
  18. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_uldiw._.js +15 -0
  19. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a4t.z5._.js +52 -0
  20. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ar~lbk._.js +3 -0
  21. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bo-su1._.js +1 -1
  22. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c-bb5d._.js +1 -1
  23. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dvelfj._.js +52 -0
  24. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e.7isl._.js +5 -0
  25. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gcec.8._.js +3 -0
  26. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0i1m1v9._.js +3 -0
  27. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ihlt6s._.js +1 -1
  28. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kd7wei._.js +3 -0
  29. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mky_tj._.js +35 -2
  30. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0oiiu_o._.js +3 -0
  31. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0oqgn2h._.js +3 -0
  32. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qvunc5._.js +1 -1
  33. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0r77-u1._.js +52 -0
  34. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rhb4gk._.js +3 -0
  35. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vi8p6v._.js +1 -1
  36. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w0wz~a._.js +3 -0
  37. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w3m-oz._.js +1 -1
  38. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zh8xur._.js +3 -0
  39. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~iu3jq._.js +3 -0
  40. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11xw16l._.js +3 -0
  41. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12nr~pb._.js +1 -1
  42. package/.next/standalone/.next/server/chunks/{_0v81st0._.js → _0.pa6m1._.js} +1 -1
  43. package/.next/standalone/.next/server/chunks/_05ib7yu._.js +3 -0
  44. package/.next/standalone/.next/server/chunks/{_0ll-5~7._.js → _09y8.gr._.js} +1 -1
  45. package/.next/standalone/.next/server/chunks/{_0.5a4bu._.js → _0mwq11h._.js} +1 -1
  46. package/.next/standalone/.next/server/chunks/_0y4b49w._.js +3 -0
  47. package/.next/standalone/.next/server/chunks/_0zcb2f0._.js +3 -0
  48. package/.next/standalone/.next/server/chunks/{node_modules_ws_124xx2_._.js → _106a~ya._.js} +2 -2
  49. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_pages-api_00-t8sq.js +1 -1
  50. package/.next/standalone/.next/server/chunks/src_lib_00fhuqb._.js +3 -0
  51. package/.next/standalone/.next/server/chunks/src_lib_0dvlmi4._.js +15 -0
  52. package/.next/standalone/.next/server/chunks/src_lib_0ojl2hg._.js +52 -0
  53. package/.next/standalone/.next/server/chunks/src_lib_layout-store_ts_0fanx7c._.js +1 -1
  54. package/.next/standalone/.next/server/chunks/src_lib_status-manager_ts_003hlhy._.js +1 -13
  55. package/.next/standalone/.next/server/chunks/src_lib_workspace-store_ts_0vqt073._.js +1 -40
  56. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ap_bxo._.js +3 -0
  57. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t9ru13._.js +1 -1
  58. package/.next/standalone/.next/server/chunks/ssr/_0-9ezhb._.js +3 -0
  59. package/.next/standalone/.next/server/chunks/ssr/{_101yu0w._.js → _0-kyl7i._.js} +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/_003~2_g._.js +3 -0
  61. package/.next/standalone/.next/server/chunks/ssr/_00zsk6a._.js +3 -0
  62. package/.next/standalone/.next/server/chunks/ssr/_017c8be._.js +3 -0
  63. package/.next/standalone/.next/server/chunks/ssr/_01eupc5._.js +3 -0
  64. package/.next/standalone/.next/server/chunks/ssr/_05bq96_._.js +1 -1
  65. package/.next/standalone/.next/server/chunks/ssr/{_0c1yivm._.js → _070zc_o._.js} +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/_07jud1p._.js +1 -1
  67. package/.next/standalone/.next/server/chunks/ssr/_0_sz4y0._.js +3 -0
  68. package/.next/standalone/.next/server/chunks/ssr/_0_uqm-4._.js +3 -0
  69. package/.next/standalone/.next/server/chunks/ssr/{_0ftinmo._.js → _0ed.wmt._.js} +2 -2
  70. package/.next/standalone/.next/server/chunks/ssr/_0egedv6._.js +3 -0
  71. package/.next/standalone/.next/server/chunks/ssr/{_0-ug5tr._.js → _0fota2a._.js} +2 -2
  72. package/.next/standalone/.next/server/chunks/ssr/_0h4kenr._.js +1 -1
  73. package/.next/standalone/.next/server/chunks/ssr/_0ihbr8k._.js +1 -1
  74. package/.next/standalone/.next/server/chunks/ssr/_0lpqhot._.js +3 -0
  75. package/.next/standalone/.next/server/chunks/ssr/_0mltzed._.js +3 -0
  76. package/.next/standalone/.next/server/chunks/ssr/_0nbe6mv._.js +3 -0
  77. package/.next/standalone/.next/server/chunks/ssr/_0pg-q18._.js +1 -1
  78. package/.next/standalone/.next/server/chunks/ssr/_0pp3e5j._.js +1 -1
  79. package/.next/standalone/.next/server/chunks/ssr/_0ttiybw._.js +18 -0
  80. package/.next/standalone/.next/server/chunks/ssr/_0w.1ts8._.js +1 -1
  81. package/.next/standalone/.next/server/chunks/ssr/_0w6jc9p._.js +1 -1
  82. package/.next/standalone/.next/server/chunks/ssr/_0xp3-y6._.js +3 -0
  83. package/.next/standalone/.next/server/chunks/ssr/_0y7o.rg._.js +3 -0
  84. package/.next/standalone/.next/server/chunks/ssr/_0ytb_c0._.js +3 -0
  85. package/.next/standalone/.next/server/chunks/ssr/{_0ozy~xe._.js → _0~hz1fq._.js} +2 -2
  86. package/.next/standalone/.next/server/chunks/ssr/_1289s74._.js +3 -0
  87. package/.next/standalone/.next/server/chunks/ssr/{_02jzd5g._.js → _13gee5r._.js} +2 -2
  88. package/.next/standalone/.next/server/chunks/ssr/messages_de_terminal_json_[json]_cjs_05jirtw._.js +1 -1
  89. package/.next/standalone/.next/server/chunks/ssr/messages_de_webBrowser_json_[json]_cjs_0wfz-ul._.js +1 -1
  90. package/.next/standalone/.next/server/chunks/ssr/messages_en_terminal_json_[json]_cjs_0~ls3g-._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/ssr/messages_en_webBrowser_json_[json]_cjs_0oirdko._.js +1 -1
  92. package/.next/standalone/.next/server/chunks/ssr/messages_es_terminal_json_[json]_cjs_04g2b1_._.js +1 -1
  93. package/.next/standalone/.next/server/chunks/ssr/messages_es_webBrowser_json_[json]_cjs_0w_no_c._.js +1 -1
  94. package/.next/standalone/.next/server/chunks/ssr/messages_fr_terminal_json_[json]_cjs_0uhakya._.js +1 -1
  95. package/.next/standalone/.next/server/chunks/ssr/messages_fr_webBrowser_json_[json]_cjs_00tbjsf._.js +1 -1
  96. package/.next/standalone/.next/server/chunks/ssr/messages_ja_terminal_json_[json]_cjs_0776z4f._.js +1 -1
  97. package/.next/standalone/.next/server/chunks/ssr/messages_ja_webBrowser_json_[json]_cjs_0tp7~.s._.js +1 -1
  98. package/.next/standalone/.next/server/chunks/ssr/messages_ko_terminal_json_[json]_cjs_06611.3._.js +1 -1
  99. package/.next/standalone/.next/server/chunks/ssr/messages_ko_webBrowser_json_[json]_cjs_0ibtysu._.js +1 -1
  100. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_terminal_json_[json]_cjs_034yyg9._.js +1 -1
  101. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_webBrowser_json_[json]_cjs_0eu9fbw._.js +1 -1
  102. package/.next/standalone/.next/server/chunks/ssr/messages_ru_terminal_json_[json]_cjs_0emk8~n._.js +1 -1
  103. package/.next/standalone/.next/server/chunks/ssr/messages_ru_webBrowser_json_[json]_cjs_113-x8n._.js +1 -1
  104. package/.next/standalone/.next/server/chunks/ssr/messages_tr_terminal_json_[json]_cjs_0xpix8g._.js +1 -1
  105. package/.next/standalone/.next/server/chunks/ssr/messages_tr_webBrowser_json_[json]_cjs_12ziott._.js +1 -1
  106. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_terminal_json_[json]_cjs_12vwl8a._.js +1 -1
  107. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_webBrowser_json_[json]_cjs_0e5lp-q._.js +1 -1
  108. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_terminal_json_[json]_cjs_0spg5z5._.js +1 -1
  109. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_webBrowser_json_[json]_cjs_0u_cpuv._.js +1 -1
  110. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_030gj7p._.js +3 -0
  111. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_04tdvwp._.js +3 -0
  112. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_0bdox2f._.js +3 -0
  113. package/.next/standalone/.next/server/chunks/ssr/{src_components_12mrirb._.js → src_components_0_nzv1r._.js} +1 -1
  114. package/.next/standalone/.next/server/chunks/ssr/{src_components_0_aiven._.js → src_components_0bqqfju._.js} +1 -1
  115. package/.next/standalone/.next/server/chunks/ssr/{src_components_0geizrr._.js → src_components_0rqxlj-._.js} +1 -1
  116. package/.next/standalone/.next/server/chunks/ssr/{src_components_11_1i~k._.js → src_components_0s~.n3e._.js} +1 -1
  117. package/.next/standalone/.next/server/chunks/ssr/src_components_features_mobile_mobile-terminal-page_tsx_02chzch._.js +1 -1
  118. package/.next/standalone/.next/server/chunks/ssr/src_components_features_workspace_terminal-page_tsx_0wuq-jl._.js +1 -1
  119. package/.next/standalone/.next/server/chunks/ssr/src_lib_message-namespaces_ts_0wjpvu5._.js +3 -0
  120. package/.next/standalone/.next/server/chunks/ssr/src_lib_workspace-store_ts_00x-rec._.js +10 -0
  121. package/.next/standalone/.next/server/middleware-build-manifest.js +84 -79
  122. package/.next/standalone/.next/server/pages/_app/build-manifest.json +4 -4
  123. package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
  124. package/.next/standalone/.next/server/pages/_app.js +2 -2
  125. package/.next/standalone/.next/server/pages/_app.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/pages/api/auth/login.js +2 -2
  127. package/.next/standalone/.next/server/pages/api/auth/login.js.nft.json +1 -1
  128. package/.next/standalone/.next/server/pages/api/auth/preflight.js +2 -2
  129. package/.next/standalone/.next/server/pages/api/auth/preflight.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/pages/api/auth/setup.js +2 -2
  131. package/.next/standalone/.next/server/pages/api/auth/setup.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/pages/api/check-claude.js +5 -1
  133. package/.next/standalone/.next/server/pages/api/check-claude.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console/pages-manifest.json +3 -0
  135. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js +8 -0
  136. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js.map +5 -0
  137. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js.nft.json +1 -0
  138. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval/pages-manifest.json +3 -0
  139. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js +8 -0
  140. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js.map +5 -0
  141. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js.nft.json +1 -0
  142. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network/pages-manifest.json +3 -0
  143. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js +8 -0
  144. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js.map +5 -0
  145. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js.nft.json +1 -0
  146. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot/pages-manifest.json +3 -0
  147. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js +8 -0
  148. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js.map +5 -0
  149. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js.nft.json +1 -0
  150. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url/pages-manifest.json +3 -0
  151. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js +8 -0
  152. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js.map +5 -0
  153. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js.nft.json +1 -0
  154. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js +3 -3
  155. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js +3 -3
  157. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js +3 -3
  159. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js +3 -3
  161. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js.nft.json +1 -1
  162. package/.next/standalone/.next/server/pages/api/cli/tabs.js +3 -3
  163. package/.next/standalone/.next/server/pages/api/cli/tabs.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/pages/api/cli/workspaces.js +2 -2
  165. package/.next/standalone/.next/server/pages/api/cli/workspaces.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/pages/api/config.js +2 -2
  167. package/.next/standalone/.next/server/pages/api/config.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/pages/api/layout/diff.js +1 -1
  169. package/.next/standalone/.next/server/pages/api/layout/diff.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js +2 -2
  171. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js +5 -5
  173. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.nft.json +1 -1
  174. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js +2 -2
  175. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +5 -5
  177. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js +2 -2
  179. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js.nft.json +1 -1
  180. package/.next/standalone/.next/server/pages/api/layout/pane.js +2 -2
  181. package/.next/standalone/.next/server/pages/api/layout/pane.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/pages/api/layout.js +2 -2
  183. package/.next/standalone/.next/server/pages/api/layout.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/pages/api/message-history.js +2 -2
  185. package/.next/standalone/.next/server/pages/api/message-history.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/pages/api/preflight/runtime.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js.nft.json +1 -1
  189. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/pages/api/stats/projects.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/pages/api/stats/sessions.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/pages/api/stats/uptime.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/pages/api/status/hook.js +6 -6
  194. package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -1
  195. package/.next/standalone/.next/server/pages/api/status/statusline.js +6 -6
  196. package/.next/standalone/.next/server/pages/api/status/statusline.js.nft.json +1 -1
  197. package/.next/standalone/.next/server/pages/api/timeline/sessions.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js +3 -2
  199. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js.nft.json +1 -1
  200. package/.next/standalone/.next/server/pages/api/tmux/plan-options.js +3 -2
  201. package/.next/standalone/.next/server/pages/api/tmux/plan-options.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +5 -5
  203. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/pages/api/tmux/reset.js +5 -5
  205. package/.next/standalone/.next/server/pages/api/tmux/reset.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js +2 -2
  207. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js.nft.json +1 -1
  208. package/.next/standalone/.next/server/pages/api/workspace/active.js +2 -2
  209. package/.next/standalone/.next/server/pages/api/workspace/active.js.nft.json +1 -1
  210. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js +2 -2
  211. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js.nft.json +1 -1
  212. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js +2 -2
  213. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/pages/api/workspace/group.js +2 -2
  215. package/.next/standalone/.next/server/pages/api/workspace/group.js.nft.json +1 -1
  216. package/.next/standalone/.next/server/pages/api/workspace/reorder.js +2 -2
  217. package/.next/standalone/.next/server/pages/api/workspace/reorder.js.nft.json +1 -1
  218. package/.next/standalone/.next/server/pages/api/workspace/validate.js +2 -2
  219. package/.next/standalone/.next/server/pages/api/workspace/validate.js.nft.json +1 -1
  220. package/.next/standalone/.next/server/pages/api/workspace.js +5 -5
  221. package/.next/standalone/.next/server/pages/api/workspace.js.nft.json +1 -1
  222. package/.next/standalone/.next/server/pages/de/404.html +1 -1
  223. package/.next/standalone/.next/server/pages/de/500.html +1 -1
  224. package/.next/standalone/.next/server/pages/en/404.html +1 -1
  225. package/.next/standalone/.next/server/pages/en/500.html +1 -1
  226. package/.next/standalone/.next/server/pages/es/404.html +1 -1
  227. package/.next/standalone/.next/server/pages/es/500.html +1 -1
  228. package/.next/standalone/.next/server/pages/fr/404.html +1 -1
  229. package/.next/standalone/.next/server/pages/fr/500.html +1 -1
  230. package/.next/standalone/.next/server/pages/index/build-manifest.json +16 -15
  231. package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
  232. package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +9 -9
  233. package/.next/standalone/.next/server/pages/index.js +13 -12
  234. package/.next/standalone/.next/server/pages/index.js.nft.json +1 -1
  235. package/.next/standalone/.next/server/pages/ja/404.html +1 -1
  236. package/.next/standalone/.next/server/pages/ja/500.html +1 -1
  237. package/.next/standalone/.next/server/pages/ko/404.html +1 -1
  238. package/.next/standalone/.next/server/pages/ko/500.html +1 -1
  239. package/.next/standalone/.next/server/pages/login/build-manifest.json +9 -8
  240. package/.next/standalone/.next/server/pages/login/client-build-manifest.json +1 -1
  241. package/.next/standalone/.next/server/pages/login.js +8 -7
  242. package/.next/standalone/.next/server/pages/login.js.nft.json +1 -1
  243. package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
  244. package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
  245. package/.next/standalone/.next/server/pages/reports/build-manifest.json +14 -13
  246. package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
  247. package/.next/standalone/.next/server/pages/reports/react-loadable-manifest.json +1 -1
  248. package/.next/standalone/.next/server/pages/reports.js +15 -14
  249. package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/pages/reset.js.nft.json +1 -1
  251. package/.next/standalone/.next/server/pages/ru/404.html +1 -1
  252. package/.next/standalone/.next/server/pages/ru/500.html +1 -1
  253. package/.next/standalone/.next/server/pages/stats/build-manifest.json +15 -14
  254. package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
  255. package/.next/standalone/.next/server/pages/stats/react-loadable-manifest.json +1 -1
  256. package/.next/standalone/.next/server/pages/stats.js +13 -12
  257. package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
  258. package/.next/standalone/.next/server/pages/tools-required/build-manifest.json +6 -6
  259. package/.next/standalone/.next/server/pages/tools-required/client-build-manifest.json +1 -1
  260. package/.next/standalone/.next/server/pages/tools-required.js +4 -3
  261. package/.next/standalone/.next/server/pages/tools-required.js.nft.json +1 -1
  262. package/.next/standalone/.next/server/pages/tr/404.html +1 -1
  263. package/.next/standalone/.next/server/pages/tr/500.html +1 -1
  264. package/.next/standalone/.next/server/pages/webview/build-manifest.json +17 -16
  265. package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
  266. package/.next/standalone/.next/server/pages/webview/react-loadable-manifest.json +1 -1
  267. package/.next/standalone/.next/server/pages/webview.js +13 -12
  268. package/.next/standalone/.next/server/pages/webview.js.nft.json +1 -1
  269. package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
  270. package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
  271. package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
  272. package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
  273. package/.next/standalone/.next/server/pages-manifest.json +5 -0
  274. package/.next/standalone/.next/static/chunks/{11tnyk0iystp1.js → 0--r5y9cw3.0z.js} +1 -1
  275. package/.next/standalone/.next/static/chunks/{0w1ldes9u.mhe.js → 0-8v00lvs9_s0.js} +1 -1
  276. package/.next/standalone/.next/static/chunks/{0oy5nvsojxb2i.js → 0-rskn1p_p.qb.js} +1 -1
  277. package/.next/standalone/.next/static/chunks/{0h7n~i8gk~-a2.js → 0.4j~sc70rsrv.js} +1 -1
  278. package/.next/standalone/.next/static/chunks/{0g0xm7shj062y.js → 001_h.~thz3j3.js} +1 -1
  279. package/.next/standalone/.next/static/chunks/{0ynitrrzdxcnh.js → 00gxls80r--_0.js} +9 -8
  280. package/.next/standalone/.next/static/chunks/{121i8u8byuotx.js → 01rmp.m_ls7z_.js} +1 -1
  281. package/.next/standalone/.next/static/chunks/{0312riii_sl_1.js → 02o84r01jsc.z.js} +1 -1
  282. package/.next/standalone/.next/static/chunks/039-4cgt.dvjg.js +1 -0
  283. package/.next/standalone/.next/static/chunks/03t01d94eyxh2.js +1 -0
  284. package/.next/standalone/.next/static/chunks/04hn532e1vcts.js +1 -0
  285. package/.next/standalone/.next/static/chunks/05o56eq7.f3q2.js +1 -0
  286. package/.next/standalone/.next/static/chunks/{0x.dxrfqc.ix9.js → 0628quqp4ggh9.js} +1 -1
  287. package/.next/standalone/.next/static/chunks/06ak74s111wx-.js +1 -0
  288. package/.next/standalone/.next/static/chunks/07yop4v9xcwb9.js +1 -0
  289. package/.next/standalone/.next/static/chunks/08d6vee5l~1wn.js +1 -0
  290. package/.next/standalone/.next/static/chunks/09o2m0ingey8v.js +1 -0
  291. package/.next/standalone/.next/static/chunks/{0d5b6a8r1tk95.js → 09s7ub8rgh~u-.js} +1 -1
  292. package/.next/standalone/.next/static/chunks/{02su2lz3i24nj.js → 09zxrli-btome.js} +1 -1
  293. package/.next/standalone/.next/static/chunks/0_7~rgbkmfo_p.js +1 -0
  294. package/.next/standalone/.next/static/chunks/0a1xt.enr50l5.js +1 -0
  295. package/.next/standalone/.next/static/chunks/{0-p.9vdmq-_co.js → 0am7rh7xdv5lw.js} +4 -4
  296. package/.next/standalone/.next/static/chunks/{13u3mwvwu3kc..js → 0apqp49tgoz~z.js} +1 -1
  297. package/.next/standalone/.next/static/chunks/{0_67ozmvnvz16.js → 0bx27stclo8g5.js} +1 -1
  298. package/.next/standalone/.next/static/chunks/0ddh4qmi2awdq.js +1 -0
  299. package/.next/standalone/.next/static/chunks/0dwxj97xm70gv.js +1 -0
  300. package/.next/standalone/.next/static/chunks/0f3q6qhpk.i_r.js +1 -0
  301. package/.next/standalone/.next/static/chunks/{07.5h~7~q9~1e.js → 0f_7vuqno92ye.js} +1 -1
  302. package/.next/standalone/.next/static/chunks/0fsldybjx443~.js +1 -0
  303. package/.next/standalone/.next/static/chunks/0gfhd.gsbt9qg.js +1 -0
  304. package/.next/standalone/.next/static/chunks/0hv4~cszgs3im.js +1 -0
  305. package/.next/standalone/.next/static/chunks/0ic.mcu6-9din.js +1 -0
  306. package/.next/standalone/.next/static/chunks/0k4b.~5c4nvtm.js +1 -0
  307. package/.next/standalone/.next/static/chunks/0kqxfunh4731g.js +1 -0
  308. package/.next/standalone/.next/static/chunks/{0fn24h74ta78c.js → 0k~crb4s4z7gy.js} +1 -1
  309. package/.next/standalone/.next/static/chunks/0lrjdru2bjp.x.js +1 -0
  310. package/.next/standalone/.next/static/chunks/0lujhtd04orw5.js +1 -0
  311. package/.next/standalone/.next/static/chunks/0mwkajcworx_-.js +1 -0
  312. package/.next/standalone/.next/static/chunks/0nqofghl.17w_.js +1 -0
  313. package/.next/standalone/.next/static/chunks/0o1lsz827g-q_.js +1 -0
  314. package/.next/standalone/.next/static/chunks/0qqsez8ir1.fs.js +1 -0
  315. package/.next/standalone/.next/static/chunks/{0_htal_j04mkg.js → 0r3lm4_qr3y.a.js} +1 -1
  316. package/.next/standalone/.next/static/chunks/{06vxx-4w.uvj0.js → 0rahh2v7~f4tj.js} +17 -16
  317. package/.next/standalone/.next/static/chunks/{0pxbg4s8a4y54.js → 0rb41e1r1urhx.js} +1 -1
  318. package/.next/standalone/.next/static/chunks/0uii4rziiew3_.js +1 -0
  319. package/.next/standalone/.next/static/chunks/0vtkq~yk_1~gv.js +1 -0
  320. package/.next/standalone/.next/static/chunks/0vx2hhzc46h_7.js +1 -0
  321. package/.next/standalone/.next/static/chunks/0x_.wshvak6zp.js +1 -0
  322. package/.next/standalone/.next/static/chunks/0xa1.t1vj1mw0.js +1 -0
  323. package/.next/standalone/.next/static/chunks/0xpr6vw-p8oxk.js +1 -0
  324. package/.next/standalone/.next/static/chunks/{0uzs3jw4-93ly.js → 0zih6-g65txpb.js} +1 -1
  325. package/.next/standalone/.next/static/chunks/0zn1jt__-t51p.js +1 -0
  326. package/.next/standalone/.next/static/chunks/0zrhxc96zwjuv.js +1 -0
  327. package/.next/standalone/.next/static/chunks/0z~yy1lqrvp_a.js +1 -0
  328. package/.next/standalone/.next/static/chunks/0~cgr_3dpx0vl.js +1 -0
  329. package/.next/standalone/.next/static/chunks/{0te1jnz5.rt.r.js → 0~g0t2q6o3r-7.js} +6 -6
  330. package/.next/standalone/.next/static/chunks/0~vfb0ylk_9au.js +16 -0
  331. package/.next/standalone/.next/static/chunks/109f1pvy3e_vd.js +1 -0
  332. package/.next/standalone/.next/static/chunks/10em078j6cul4.js +1 -0
  333. package/.next/standalone/.next/static/chunks/{0a9t5laucshuf.js → 10todxw2604hk.js} +1 -1
  334. package/.next/standalone/.next/static/chunks/{05zne4hn1v65k.js → 10uz6x-h~dv0..js} +14 -13
  335. package/.next/standalone/.next/static/chunks/{0~nexgc77r_hk.js → 13q-ol3bkz8ft.js} +16 -15
  336. package/.next/standalone/.next/static/chunks/14if5vtky.3sn.js +1 -0
  337. package/.next/standalone/.next/static/chunks/{017n78o_7xb4_.js → 15hd85wggjanq.js} +1 -1
  338. package/.next/standalone/.next/static/chunks/15i_n03eg5uyp.js +1 -0
  339. package/.next/standalone/.next/static/chunks/15sblmrroyskk.js +1 -0
  340. package/.next/standalone/.next/static/chunks/1756nfyulu.9h.css +1 -0
  341. package/.next/standalone/.next/static/chunks/{0j.sfmmqj2xel.js → 17rh_.7tkk2m0.js} +15 -14
  342. package/.next/standalone/.next/static/chunks/turbopack-02..gqxjw9fev.js +1 -0
  343. package/.next/standalone/.next/static/chunks/turbopack-05luogg2yney~.js +1 -0
  344. package/.next/standalone/.next/static/chunks/turbopack-092b2t67-z3ds.js +1 -0
  345. package/.next/standalone/.next/static/chunks/turbopack-0eue2xixdnbd..js +1 -0
  346. package/.next/standalone/.next/static/chunks/{turbopack-15bv~a4hbvh29.js → turbopack-0i6l53-j6t6zg.js} +1 -1
  347. package/.next/standalone/.next/static/chunks/{turbopack-0d-xk62f1t05v.js → turbopack-0ser1ty-sh2jk.js} +1 -1
  348. package/.next/standalone/.next/static/chunks/{turbopack-0zcblahe.hdqd.js → turbopack-0zouy.~ram.7g.js} +1 -1
  349. package/.next/standalone/.next/static/{X7BRO7ORR4bKFt1LXzGU8 → onsm_2jNZvyggHqM9yibn}/_buildManifest.js +11 -6
  350. package/.next/standalone/messages/de/terminal.json +4 -0
  351. package/.next/standalone/messages/de/webBrowser.json +5 -1
  352. package/.next/standalone/messages/en/terminal.json +4 -0
  353. package/.next/standalone/messages/en/webBrowser.json +5 -1
  354. package/.next/standalone/messages/es/terminal.json +4 -0
  355. package/.next/standalone/messages/es/webBrowser.json +5 -1
  356. package/.next/standalone/messages/fr/terminal.json +4 -0
  357. package/.next/standalone/messages/fr/webBrowser.json +5 -1
  358. package/.next/standalone/messages/ja/terminal.json +4 -0
  359. package/.next/standalone/messages/ja/webBrowser.json +5 -1
  360. package/.next/standalone/messages/ko/terminal.json +4 -0
  361. package/.next/standalone/messages/ko/webBrowser.json +5 -1
  362. package/.next/standalone/messages/pt-BR/terminal.json +4 -0
  363. package/.next/standalone/messages/pt-BR/webBrowser.json +5 -1
  364. package/.next/standalone/messages/ru/terminal.json +4 -0
  365. package/.next/standalone/messages/ru/webBrowser.json +5 -1
  366. package/.next/standalone/messages/tr/terminal.json +4 -0
  367. package/.next/standalone/messages/tr/webBrowser.json +5 -1
  368. package/.next/standalone/messages/zh-CN/terminal.json +4 -0
  369. package/.next/standalone/messages/zh-CN/webBrowser.json +5 -1
  370. package/.next/standalone/messages/zh-TW/terminal.json +4 -0
  371. package/.next/standalone/messages/zh-TW/webBrowser.json +5 -1
  372. package/.next/standalone/package.json +5 -2
  373. package/.next/standalone/server.js +1 -1
  374. package/.next/standalone/src/config/tmux.conf +17 -7
  375. package/.next/standalone/src/lib/providers/claude/index.ts +44 -0
  376. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/index.ts +13 -6
  377. package/README.de.md +5 -4
  378. package/README.es.md +5 -4
  379. package/README.fr.md +5 -4
  380. package/README.ja.md +5 -4
  381. package/README.ko.md +5 -4
  382. package/README.md +5 -4
  383. package/README.pt-BR.md +5 -4
  384. package/README.ru.md +5 -4
  385. package/README.tr.md +5 -4
  386. package/README.zh-CN.md +5 -4
  387. package/README.zh-TW.md +5 -4
  388. package/bin/cli.js +95 -0
  389. package/dist/server.js +974 -852
  390. package/package.json +5 -2
  391. package/src/config/tmux.conf +17 -7
  392. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01.~37j._.js +0 -3
  393. package/.next/standalone/.next/server/chunks/[root-of-the-server]__016s4a9._.js +0 -3
  394. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02.9a5j._.js +0 -3
  395. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03l15.f._.js +0 -3
  396. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05ij_ys._.js +0 -42
  397. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06h3gzy._.js +0 -3
  398. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_fu3k.._.js +0 -3
  399. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_imm_0._.js +0 -3
  400. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0abp0lo._.js +0 -3
  401. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0auutl5._.js +0 -5
  402. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d-inw8._.js +0 -3
  403. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g8mjyh._.js +0 -3
  404. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lk7ru8._.js +0 -3
  405. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l~_wd0._.js +0 -3
  406. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ovn6yp._.js +0 -3
  407. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0un_g-o._.js +0 -3
  408. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12ksl6n._.js +0 -42
  409. package/.next/standalone/.next/server/chunks/_03-duro._.js +0 -3
  410. package/.next/standalone/.next/server/chunks/_07097f~._.js +0 -3
  411. package/.next/standalone/.next/server/chunks/_0z7d6.z._.js +0 -3
  412. package/.next/standalone/.next/server/chunks/src_lib_0p.xsqi._.js +0 -3
  413. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0da5cj~._.js +0 -3
  414. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12b2-y_._.js +0 -3
  415. package/.next/standalone/.next/server/chunks/ssr/_016o9_-._.js +0 -3
  416. package/.next/standalone/.next/server/chunks/ssr/_04iqb-o._.js +0 -3
  417. package/.next/standalone/.next/server/chunks/ssr/_04q3_kj._.js +0 -3
  418. package/.next/standalone/.next/server/chunks/ssr/_0a_u5qm._.js +0 -3
  419. package/.next/standalone/.next/server/chunks/ssr/_0d58w1~._.js +0 -3
  420. package/.next/standalone/.next/server/chunks/ssr/_0nib_x8._.js +0 -3
  421. package/.next/standalone/.next/server/chunks/ssr/_0nuztht._.js +0 -18
  422. package/.next/standalone/.next/server/chunks/ssr/_0oca87b._.js +0 -3
  423. package/.next/standalone/.next/server/chunks/ssr/_0ovjjn5._.js +0 -3
  424. package/.next/standalone/.next/server/chunks/ssr/_0pk4~_0._.js +0 -3
  425. package/.next/standalone/.next/server/chunks/ssr/_0qt-m3l._.js +0 -3
  426. package/.next/standalone/.next/server/chunks/ssr/_0sm8slq._.js +0 -3
  427. package/.next/standalone/.next/server/chunks/ssr/_10s2f96._.js +0 -3
  428. package/.next/standalone/.next/server/chunks/ssr/_13c-b~p._.js +0 -3
  429. package/.next/standalone/.next/server/chunks/ssr/_13lrp9_._.js +0 -3
  430. package/.next/standalone/.next/static/chunks/0-7en.d6a3jki.js +0 -1
  431. package/.next/standalone/.next/static/chunks/0-pm5wxsyxs3e.js +0 -1
  432. package/.next/standalone/.next/static/chunks/01ul8lmr04ls3.js +0 -1
  433. package/.next/standalone/.next/static/chunks/05b7zy0n0vhms.js +0 -1
  434. package/.next/standalone/.next/static/chunks/05kshd9vdrl4o.js +0 -1
  435. package/.next/standalone/.next/static/chunks/05w~qu2zpvh2f.js +0 -1
  436. package/.next/standalone/.next/static/chunks/08f708~_7uy_i.js +0 -1
  437. package/.next/standalone/.next/static/chunks/0af.3khnmptnl.js +0 -1
  438. package/.next/standalone/.next/static/chunks/0cvx059r5hgj1.js +0 -1
  439. package/.next/standalone/.next/static/chunks/0dp178b-0_ltl.js +0 -1
  440. package/.next/standalone/.next/static/chunks/0ebjicjua7yl-.js +0 -1
  441. package/.next/standalone/.next/static/chunks/0gn-f6_m696k0.js +0 -1
  442. package/.next/standalone/.next/static/chunks/0kaufevqdhsld.js +0 -1
  443. package/.next/standalone/.next/static/chunks/0n2k1al4sr_qq.css +0 -1
  444. package/.next/standalone/.next/static/chunks/0n4fv8.loh_0x.js +0 -1
  445. package/.next/standalone/.next/static/chunks/0nn618je7_7ec.js +0 -16
  446. package/.next/standalone/.next/static/chunks/0pv9~yath4mjh.js +0 -1
  447. package/.next/standalone/.next/static/chunks/0q0yh17_ncipj.js +0 -1
  448. package/.next/standalone/.next/static/chunks/0qkrdmhiv-0d3.js +0 -1
  449. package/.next/standalone/.next/static/chunks/0r9z55-r31en8.js +0 -1
  450. package/.next/standalone/.next/static/chunks/0ra09kjja5rf..js +0 -1
  451. package/.next/standalone/.next/static/chunks/0sc7tkg1gojr..js +0 -1
  452. package/.next/standalone/.next/static/chunks/0u.snf3d~5nvq.js +0 -1
  453. package/.next/standalone/.next/static/chunks/0u9yrtrs1bktp.js +0 -1
  454. package/.next/standalone/.next/static/chunks/0v.l~.~v98c2c.js +0 -1
  455. package/.next/standalone/.next/static/chunks/0wu~4k-l8otuy.js +0 -1
  456. package/.next/standalone/.next/static/chunks/0wvu-lowt9uem.js +0 -1
  457. package/.next/standalone/.next/static/chunks/0x7cvsf..ezd..js +0 -1
  458. package/.next/standalone/.next/static/chunks/0yb~gw6ukzdmo.js +0 -1
  459. package/.next/standalone/.next/static/chunks/0yg3hj1g~k1ip.js +0 -1
  460. package/.next/standalone/.next/static/chunks/0z_~g~mb.kjs1.js +0 -1
  461. package/.next/standalone/.next/static/chunks/0~c6h8j7ut2ca.js +0 -1
  462. package/.next/standalone/.next/static/chunks/0~lnp45fxxtgz.js +0 -1
  463. package/.next/standalone/.next/static/chunks/0~ts_4hi7.u_0.js +0 -1
  464. package/.next/standalone/.next/static/chunks/13_l03e3sab-g.js +0 -1
  465. package/.next/standalone/.next/static/chunks/156~ejmpjxu8e.js +0 -1
  466. package/.next/standalone/.next/static/chunks/15m4y6otktj8z.js +0 -1
  467. package/.next/standalone/.next/static/chunks/16bag6z7n~ffw.js +0 -1
  468. package/.next/standalone/.next/static/chunks/17ebdp-_o5o30.js +0 -1
  469. package/.next/standalone/.next/static/chunks/turbopack-0nn9kx.dkgwqs.js +0 -1
  470. package/.next/standalone/.next/static/chunks/turbopack-0rb3q18bhb2hu.js +0 -1
  471. package/.next/standalone/.next/static/chunks/turbopack-0~wmco6ifn20m.js +0 -1
  472. package/.next/standalone/.next/static/chunks/turbopack-1469mxaruw82d.js +0 -1
  473. /package/.next/standalone/.next/static/{X7BRO7ORR4bKFt1LXzGU8 → onsm_2jNZvyggHqM9yibn}/_clientMiddlewareManifest.js +0 -0
  474. /package/.next/standalone/.next/static/{X7BRO7ORR4bKFt1LXzGU8 → onsm_2jNZvyggHqM9yibn}/_ssgManifest.js +0 -0
@@ -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),o=e.i(352819),i=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),h=e.i(868462),p=e.i(570513),b=e.i(876208),g=e.i(714233),j=e.i(883590),C=e.i(57098);let y=({open:e,onOpenChange:a,sessionName:n})=>{let l=(0,o.useTranslations)("terminal"),[r,i]=(0,s.useState)(""),[d,f]=(0,s.useState)(!1),[m,x]=(0,s.useState)(null),[h,p]=(0,s.useState)(null),g=e&&n?n:null;g!==h&&(p(g),i(""),x(null),f(null!==g)),(0,s.useEffect)(()=>{if(!h)return;let e=!1;return fetch(`/api/tmux/capture?session=${encodeURIComponent(h)}`).then(e=>{if(!e.ok)throw Error("capture failed");return e.json()}).then(t=>{e||(i((t.content??"").replace(/\s+$/g,"")),f(!1))}).catch(()=>{e||(x(l("copyPaneCaptureFailed")),f(!1))}),()=>{e=!0}},[h,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)(C.Drawer,{open:e,onOpenChange:a,children:(0,t.jsxs)(C.DrawerContent,{className:"h-[80dvh] data-[vaul-drawer-direction=bottom]:max-h-[80dvh]",children:[(0,t.jsxs)(C.DrawerHeader,{className:"pb-2",children:[(0,t.jsx)(C.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=>i(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 w=e.i(399267),S=e.i(320183),k=e.i(353533),v=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:i,onCreateTab:c,onClose:u})=>{let d=(0,o.useTranslations)("mobile"),f=(0,o.useTranslations)("common"),m=(0,o.useTranslations)("terminal"),[x,C]=(0,s.useState)(!1),T=(0,w.default)(t=>t.tabs[e]),P=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)(p.GitCompareArrows,{className:"h-4 w-4 shrink-0 text-muted-foreground"}):(0,t.jsx)(S.default,{process:T?.currentProcess,className:(0,k.cn)("h-3.5 w-3.5 shrink-0",P)}),(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,k.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:()=>i(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:()=>C(!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)(v.AlertDialog,{children:[(0,t.jsx)(v.AlertDialogTrigger,{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors","aria-label":d("closeTab"),children:(0,t.jsx)(h.X,{size:16})}),(0,t.jsxs)(v.AlertDialogContent,{children:[(0,t.jsxs)(v.AlertDialogHeader,{children:[(0,t.jsx)(v.AlertDialogTitle,{children:d("closeTab")}),(0,t.jsx)(v.AlertDialogDescription,{children:d("closeTabConfirm",{name:a})})]}),(0,t.jsxs)(v.AlertDialogFooter,{children:[(0,t.jsx)(v.AlertDialogCancel,{children:f("cancel")}),(0,t.jsx)(v.AlertDialogAction,{className:"bg-ui-red hover:bg-ui-red/80",onClick:u,children:f("close")})]})]})]})]}),(0,t.jsx)(y,{open:x,onOpenChange:C,sessionName:n})]})};var P=e.i(125687),R=e.i(40830),I=e.i(236495),D=e.i(244046),E=e.i(355327),L=e.i(756494),z=e.i(391046),A=e.i(918324),B=e.i(231382),M=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(650001),V=e.i(441693),_=e.i(17122),K=e.i(273062),q=e.i(87093),G=e.i(148141),J=e.i(624306),X=e.i(706140),Y=e.i(529511);let Z=({open:e,onOpenChange:s,meta:a,toolCount:n,toolBreakdown:l,branch:r,isBranchLoading:o,sessionId:i,gitStatus:c,tmuxInfo:u})=>(0,t.jsx)(Y.Sheet,{open:e,onOpenChange:s,children:(0,t.jsxs)(Y.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)(X.MetaDetail,{title:a.title,sessionId:i,createdAt:a.createdAt,updatedAt:a.updatedAt,fileSize:a.fileSize,userCount:a.userCount,assistantCount:a.assistantCount,toolCount:n,toolBreakdown:l,inputTokens:a.inputTokens,outputTokens:a.outputTokens,totalCost:a.totalCost,currentContextTokens:a.currentContextTokens,contextWindowSize:a.contextWindowSize,usedPercentage:a.usedPercentage,model:a.model,branch:r,isBranchLoading:o,gitStatus:c,tmuxInfo:u})})]})});var Q=e.i(639530);let ee=({tabId:e,wsId:a,sessionName:n,claudeSessionId:l,cwd:r,sendStdin:u,terminalWsConnected:d,focusTerminal:f,focusInputRef:m,setInputValueRef:x,onCliStateChange:h,onInputVisibleChange:p,onRestartSession:b,onNewSession:g})=>{let j=(0,o.useTranslations)("terminal"),{prompts:C}=(0,Q.default)(),[y,S]=(0,s.useState)(null),[k,v]=(0,s.useState)(!1),N=(0,s.useRef)(void 0),T=(0,w.default)(t=>e?t.tabs[e]?.claudeProcess??null:null),P=(0,w.default)(t=>!e||(t.tabs[e]?.claudeInstalled??!0)),R=(0,w.default)(t=>e?t.tabs[e]?.cliState??"inactive":"inactive"),I=(0,w.default)(t=>e?t.tabs[e]?.compactingSince??null:null),D=(0,s.useCallback)(()=>{S(null)},[]),E=(0,s.useCallback)(e=>{S(null),c.toast.warning(j("resumeBlocked"),{description:e.processName?j("resumeBlockedProcess",{name:e.processName}):void 0})},[j]),L=(0,s.useCallback)(()=>{S(null),c.toast.error(j("resumeFailed"))},[j]),{entries:z,tasks:Y,sessionId:ee,jsonlPath:et,sessionSummary:es,initMeta:ea,sessionStats:en,claudeProcess:el,wsStatus:er,isLoading:eo,error:ei,loadMore:ec,hasMore:eu,retrySession:ed,sendResume:ef,addPendingUserMessage:em,removePendingUserMessage:ex}=(0,B.default)({sessionName:n,claudeSessionId:l,enabled:!!n,resumeCallbacks:{onResumeStarted:D,onResumeBlocked:E,onResumeError:L},onSync:e?t=>{let s=Date.now();null!==t.claudeProcess&&w.default.getState().setClaudeProcess(e,t.claudeProcess,s),t.claudeInstalled||w.default.getState().setClaudeInstalled(e,!1),w.default.getState().setTimelineLoading(e,t.isLoading)}:void 0,getCliState:e?()=>w.default.getState().tabs[e]?.cliState:void 0}),eh=e?T:el,{sessions:ep,hasMore:eb,isLoading:eg,isLoadingMore:ej,error:eC,refetch:ey,loadMore:ew}=(0,$.default)({tmuxSession:n,enabled:!!n&&!0!==eh,cwd:r}),eS=(0,s.useRef)(T);(0,s.useEffect)(()=>{let e=eS.current;eS.current=T,!0!==e&&!0===T&&!0!==el&&ed()},[T,el,ed]);let ek=(0,w.default)(t=>e?(0,w.selectSessionView)(t.tabs,e):"session-list"),{meta:ev}=(0,W.default)(z,es,ea,en),{branch:eN,isLoading:eT}=(0,O.default)(n),{status:eP}=(0,F.default)(n,k),eR=(0,H.default)(n,k),eI=(0,U.default)(et,k),eD=eI?{...ev,userCount:eI.userCount,assistantCount:eI.assistantCount}:ev,eE="timeline"===ek,eL=(0,M.default)("check"===ek,n);(0,s.useEffect)(()=>{h(R)},[R,h]),(0,s.useEffect)(()=>{p(eE)},[eE,p]);let ez=(0,s.useCallback)(()=>{N.current?.()},[]),eA=(0,s.useCallback)(e=>{x.current?.(e),m.current?.()},[x,m]),eB=(0,s.useCallback)(e=>{y||(S(e),ef(e,n))},[y,ef,n]);return P?null===T&&"check"!==ek?(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)(i.default,{className:"h-4 w-4 text-muted-foreground"})}):"check"===ek?(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)(i.default,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"mt-2 text-sm text-muted-foreground",children:l||ee?j("resumingSession"):j("creatingConversation")}),eL&&(eL.isBypassPrompt&&eL.options.length>0?(0,t.jsx)(K.default,{sessionName:n,options:eL.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"===ek?eg&&0===ep.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)(i.default,{className:"h-4 w-4 text-muted-foreground"})}):0!==ep.length||eC?(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:(0,t.jsx)(V.default,{sessions:ep,isLoading:eg,isLoadingMore:ej,hasMore:eb,error:eC,resumingSessionId:y,onSelectSession:eB,onRefresh:ey,onLoadMore:ew,onNewSession:g})}):(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:(0,t.jsx)(_.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:()=>v(!0),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),v(!0))},children:[(0,t.jsx)(X.MetaCompact,{title:ev.title,totalCost:ev.totalCost,branch:eN,usedPercentage:ev.usedPercentage,currentContextTokens:ev.currentContextTokens,contextWindowSize:ev.contextWindowSize}),(0,t.jsx)(A.ChevronDown,{size:14,className:"shrink-0 text-muted-foreground"})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1",children:(0,t.jsx)(q.default,{entries:z,tasks:Y,sessionId:ee,sessionName:n,tabId:e,initMeta:ea,sessionStats:en,cliState:R,compactingSince:I,wsStatus:er,isLoading:eo,error:ei,onRetry:ed,onLoadMore:ec,hasMore:eu,scrollToBottomRef:N})}),(0,t.jsxs)("div",{className:"shrink-0 pb-3",children:[(0,t.jsx)(G.default,{tabId:e,wsId:a,sessionName:n,claudeSessionId:l,cliState:R,sendStdin:u,terminalWsConnected:d,visible:eE,focusTerminal:f,focusInputRef:m,setInputValueRef:x,maxRows:3,onRestartSession:b,onSend:ez,onOptimisticSend:em,onAddPendingMessage:em,onRemovePendingMessage:ex}),(0,t.jsx)(J.default,{prompts:C,visible:eE,onSelect:eA})]}),(0,t.jsx)(Z,{open:k,onOpenChange:v,meta:eD,toolCount:eI?.toolCount??null,toolBreakdown:eI?.toolBreakdown??null,branch:eN,isBranchLoading:eT,sessionId:ee,gitStatus:eP,tmuxInfo:eR})]}):(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 et=e.i(166229);let es="__CTRL__",ea="__SHIFT__",en={fontFamily:"MesloLGLDZ, monospace"},el=[{label:"Tab",value:" "},{label:"Esc",value:"\x1b"},{label:"Ctrl",value:es},{label:"Shift",value:ea},{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}],er=({sendStdin:e,terminalConnected:a})=>{let n=(0,o.useTranslations)("mobile"),[l,r]=(0,s.useState)(""),[i,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 h=(0,s.useCallback)(()=>{a&&(l&&e(l),e("\r"),r(""))},[l,e,a]),p=(0,s.useCallback)(t=>{let s=t.target.value;if(i&&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)},[i,d,l,e]),b=(0,s.useCallback)(t=>{t.value===es?c(e=>!e):t.value===ea?f(e=>!e):(e(t.value),i&&c(!1),d&&f(!1))},[i,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:p,placeholder:i?"Ctrl + ...":d?"Shift + ...":n("commandPlaceholder"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,rows:1,className:(0,k.cn)("flex-1 resize-none rounded-md border px-3 py-1.5 text-sm text-foreground outline-none placeholder:text-muted-foreground",i||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,k.cn)("h-8 w-8 shrink-0 p-0 text-muted-foreground hover:text-foreground",l.trim()&&"text-claude-active"),onClick:h,"aria-label":n("send"),children:(0,t.jsx)(et.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:el.map(e=>(0,t.jsx)("button",{className:(0,k.cn)("shrink-0 rounded-md border px-2.5 py-1 text-xs font-medium transition-colors",e.value===es&&i||e.value===ea&&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,k.cn)("inline-block",e.rotate&&"rotate-90"),style:e.nerd?en:void 0,children:e.label})},e.label))})]})};var eo=e.i(251748),ei=e.i(610782),ec=e.i(117369),eu=e.i(31050);let ed={write:()=>{},reset:()=>{},fit:()=>({cols:40,rows:24}),focus:()=>{}},ef={sendStdin:()=>{},sendResize:()=>{}},em=({paneId:e,tabs:a,activeTabId:n,panelType:l,onCreateTab:c,onDeleteTab:f,onSwitchTab:m,onRemoveTabLocally:h,onUpdateTabPanelType:p,onCliStateChange:b,onOpenNewTabDialog:g})=>{let j=(0,o.useTranslations)("mobile"),C=(0,o.useTranslations)("terminal"),y=a.find(e=>e.id===n),S="claude-code"===l,v="web-browser"===l,N="diff"===l,T=(0,x.default)(e=>n?e.metadata[n]?.cwd:void 0),A=(0,d.useLayoutStore)(e=>e.workspaceId),{theme:B}=(0,ec.default)(),[M,$]=(0,s.useState)(!1),[W,O]=(0,s.useState)(!1),[F,H]=(0,s.useState)(!0),U=(0,s.useRef)(ed),V=(0,s.useRef)(ef),_=(0,s.useRef)(null),K=(0,s.useRef)(null),q=(0,s.useRef)(null),[G,J]=(0,s.useState)(null),X=(0,s.useRef)(null),Y=(0,s.useRef)(!1),Z=(0,s.useRef)(a),Q=(0,s.useRef)(n);(0,s.useEffect)(()=>{Z.current=a,Q.current=n});let et=(0,s.useCallback)(async()=>{let e=Q.current,t=e?Z.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{}},[]),es=(0,s.useRef)(()=>{}),ea=(0,s.useRef)(void 0),en=(0,s.useRef)(void 0),el=(0,s.useRef)(null),em=(0,s.useRef)(null),ex=(0,s.useRef)(""),eh=(0,w.default)(e=>n?e.tabs[n]?.claudeProcess??null:null),ep=(0,w.default)(e=>n?(0,w.selectSessionView)(e.tabs,n):null),eb=(0,s.useCallback)(e=>{b?.(e)},[b]),eg=(0,s.useCallback)(e=>{},[]),ej=(0,s.useCallback)(e=>(0,ei.isAppShortcut)(e)?(e.preventDefault(),(0,ei.isClearShortcut)(e)&&es.current(),(0,ei.isFocusInputShortcut)(e)&&ea.current?.(),!1):!(0,ei.isShiftEnter)(e)||(e.preventDefault(),V.current.sendStdin("\n"),!1),[]),{terminalRef:eC,write:ey,clear:ew,reset:eS,fit:ek,focus:ev,isReady:eN}=(0,D.default)({theme:B.colors,fontSize:S?void 0:11,onInput:e=>V.current.sendStdin(e),onResize:(e,t)=>{V.current.sendResize(e,t),Y.current&&(X.current&&clearTimeout(X.current),X.current=setTimeout(()=>{Y.current=!1,H(!0)},200))},onTitleChange:e=>{let t=Q.current;if(!t||e===ex.current)return;ex.current=e;let s=(0,eo.formatTabTitle)(e);if(x.default.getState().setTitle(t,s),(0,eo.isShellProcess)(e)&&el.current){let e=el.current;el.current=null,V.current.sendStdin(`${e}\r`)}let a=Z.current.find(e=>e.id===t);if(a){let e=w.default.getState().tabs[t]?.claudeProcessCheckedAt??0;fetch(`/api/check-claude?session=${a.sessionName}`).then(e=>e.json()).then(({running:s,checkedAt:n})=>{let l=w.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})=>{w.default.getState().setClaudeProcess(t,e,s)}).catch(()=>{})},500);return}w.default.getState().setClaudeProcess(t,s,n)}).catch(()=>{})}et()},customKeyEventHandler:ej});(0,s.useEffect)(()=>{es.current=ew});let eT=(0,s.useCallback)(async()=>{if(q.current)return;let t=Z.current,s=Q.current;if(!s)return;q.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{q.current=null}},[e,m,f]),{status:eP,retryCount:eR,disconnectReason:eI,connect:eD,reconnect:eE,sendStdin:eL,sendWebStdin:ez,sendResize:eA}=(0,E.default)({onData:e=>U.current.write(e),onConnected:()=>{$(!0),J(Q.current),K.current=Q.current;let e=Q.current;e&&w.default.getState().setTerminalConnected(e,!0);let{cols:t,rows:s}=U.current.fit();V.current.sendResize(t,s),et()},onSessionEnded:eT});(0,s.useEffect)(()=>{U.current={write:ey,reset:eS,fit:ek,focus:ev},V.current={sendStdin:eL,sendResize:eA}}),(0,s.useEffect)(()=>{eN||(_.current=null)},[eN]),(0,s.useEffect)(()=>{if(!eN||!n)return;let e=a.find(e=>e.id===n);if(e){if("web-browser"===e.panelType){_.current=null,ex.current="";return}_.current!==e.sessionName&&(null!==_.current&&eS(),w.default.getState().initTab(n,{terminalConnected:!1,panelType:e.panelType}),_.current=e.sessionName,eD(e.sessionName))}},[eN,n]),(0,s.useEffect)(()=>{let e=Q.current;e&&w.default.getState().setTerminalConnected(e,"connected"===eP)},[eP]),(0,s.useEffect)(()=>{"disconnected"===eP&&M&&J(Q.current)},[eP,M]),(0,s.useEffect)(()=>{"disconnected"===eP&&M&&K.current&&K.current!==n&&a.some(e=>e.id===K.current)&&(_.current=null,m(e,K.current))},[eP]),(0,s.useEffect)(()=>{if(!eN||"connected"!==eP)return;let e=setTimeout(()=>{let{cols:e,rows:t}=ek();V.current.sendResize(e,t)},300);return()=>clearTimeout(e)},[eP]),(0,s.useEffect)(()=>{if(S){Y.current=!1,X.current&&clearTimeout(X.current),et();return}if(eN&&"connected"===eP)return Y.current=!0,queueMicrotask(()=>H(!1)),X.current=setTimeout(()=>{Y.current=!1,H(!0)},200),()=>{X.current&&clearTimeout(X.current),Y.current=!1};queueMicrotask(()=>H(!0))},[S]);let eB=(0,s.useCallback)(async()=>{O(!0),await c(e),O(!1)},[e,c]),eM=(0,s.useCallback)(()=>{let e=eu.default.getState().dangerouslySkipPermissions,t=["--settings ~/.purplemux/hooks.json",A?`--append-system-prompt-file ~/.purplemux/workspaces/${A}/claude-prompt.md`:""].filter(Boolean).join(" "),s=`claude ${t}`;return e?`${s} --dangerously-skip-permissions`:s},[A]),e$=(0,s.useCallback)(()=>{"connected"===eP&&n&&(w.default.getState().setSessionView(n,"check"),eL(`${eM()}\r`))},[eP,eL,n,eM]),eW=(0,s.useCallback)(()=>{"connected"===eP&&n&&(el.current=eM(),w.default.getState().setSessionView(n,"check"),eL("/exit\r"))},[eP,eL,n,eM]);(0,s.useEffect)(()=>{if(!el.current||!0===eh||"connected"!==eP||!(0,eo.isShellProcess)(ex.current))return;let e=el.current;el.current=null,eL(`${e}\r`)},[eh,eP,eL]);let eO=(0,s.useCallback)(t=>{n&&(em.current=t,p(e,n,"claude-code"))},[n,e,p]);(0,s.useEffect)(()=>{if(!S||!em.current)return;let e=em.current;em.current=null;let t=window.setTimeout(()=>{en.current?.(e),ea.current?.()},100);return()=>window.clearTimeout(t)},[S]);let eF=(0,s.useCallback)(t=>{n&&A&&fetch(`/api/layout/pane/${e}/tabs/${n}?workspace=${A}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({webUrl:t})}).catch(()=>{})},[n,e,A]),eH=0===a.length,eU=v||N||eN&&"connected"===eP&&!eH,eV=null!==n&&G!==n,e_=(0,s.useRef)(new Set);return(0,s.useEffect)(()=>{"disconnected"!==eP||"session-not-found"!==eI||eV||!n||!y||"terminal"!==(y.panelType??"terminal")||y.lastCommand||e_.current.has(n)||(e_.current.add(n),(async()=>{await d.useLayoutStore.getState().restartTabInPane(e,n)&&eE()})())},[eP,eI,n,y,eV,e,eE]),(0,t.jsxs)("div",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden",style:{backgroundColor:B.colors.background,overscrollBehavior:"none"},children:[v&&n&&(0,t.jsx)(R.default,{initialUrl:y?.webUrl,onUrlChange:eF},n),N&&y&&(0,t.jsx)(I.default,{sessionName:y.sessionName,onSendToClaude:eO},y.sessionName),S&&y&&(0,t.jsx)(ee,{tabId:n??void 0,wsId:A??void 0,sessionName:y.sessionName,claudeSessionId:y.claudeSessionId,cwd:T,sendStdin:ez,terminalWsConnected:"connected"===eP,focusTerminal:ev,focusInputRef:ea,setInputValueRef:en,onCliStateChange:eb,onInputVisibleChange:eg,onRestartSession:eW,onNewSession:e$}),!v&&!N&&(0,t.jsx)(L.default,{ref:eC,className:(0,k.cn)(!S&&"transition-opacity duration-150",S?"absolute inset-0 pointer-events-none opacity-0":"min-h-0 flex-1",!S&&eU&&F?"opacity-100":"",S||eU&&F?"":"opacity-0")}),!S&&!v&&!N&&"connected"===eP&&(0,t.jsx)(er,{sendStdin:ez,terminalConnected:"connected"===eP}),eH&&(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:g??eB,disabled:W,children:[W?(0,t.jsx)(i.default,{className:"h-3 w-3"}):(0,t.jsx)(r.Plus,{className:"h-3.5 w-3.5"}),C("openNewTab")]})}),!eH&&!v&&"disconnected"===eP&&!eV&&(0,t.jsxs)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:[(0,t.jsx)(P.WifiOff,{className:"h-5 w-5 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"max-connections"===eI?j("disconnectedMaxConnections"):"pty-error"===eI?j("disconnectedPtyError"):"session-not-found"===eI?C("disconnectedSessionNotFound"):j("cannotConnectServer")}),"session-not-found"===eI&&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)&&eE()},children:j("restart")}),(0,t.jsx)(u.Button,{variant:"ghost",size:"sm",onClick:()=>f(e,n),children:C("closeTabLabel")})]}):(0,t.jsx)(u.Button,{variant:"outline",size:"sm",onClick:eE,children:j("reconnect")})]}),!eH&&!v&&!N&&!(S&&"check"===ep)&&(0,t.jsx)(z.default,{status:eP,retryCount:eR,disconnectReason:eI,onReconnect:eE})]})};var ex=e.i(875284),eh=e.i(296202);let ep=({open:e,onOpenChange:a,onCreateTab:n})=>{let l=(0,o.useTranslations)("terminal"),r=(0,o.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)(ex.Terminal,{className:"h-5 w-5 text-muted-foreground"}),label:"Terminal"},{key:"diff",type:"diff",icon:(0,t.jsx)(p.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)(eh.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(eh.DialogContent,{className:"w-[calc(100%-2rem)] max-w-xs gap-2 rounded-xl p-4",children:[(0,t.jsx)(eh.DialogHeader,{children:(0,t.jsx)(eh.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)(i.default,{className:"h-4 w-4"}):e.icon,(0,t.jsx)("span",{className:"text-xs",children:e.label})]},e.key))})]})})};var eb=e.i(982960),eg=e.i(157016),ej=e.i(566736);e.s(["default",0,()=>{let e=(0,o.useTranslations)("terminal"),h=(0,o.useTranslations)("mobile"),p=(0,o.useTranslations)("common"),b=(0,m.default)(e=>e.isLoading),g=(0,m.default)(e=>e.error),j=(0,m.default)(e=>e.activeWorkspaceId),C=(0,m.default)(e=>e.workspaces).length,y=(0,s.useRef)(null),S=(0,s.useCallback)(()=>{let t=y.current;t&&(m.default.getState().switchWorkspace(t),c.toast.error(e("cannotSwitch")))},[e]),k=(0,d.default)({workspaceId:j,onFetchError:S}),v=(0,s.useMemo)(()=>k.layout?(0,f.collectPanes)(k.layout.root):[],[k.layout]),N=!!(k.layout&&!k.isLoading&&v.every(e=>0===e.tabs.length)),P=k.layout?.updatedAt,R=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!k.layout||!P||R.current===P)return;R.current=P;let e={};for(let t of(0,f.collectPanes)(k.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)},[P]),(0,s.useEffect)(()=>{if(!k.layout)return;let e=new Set((0,f.collectPanes)(k.layout.root).flatMap(e=>e.tabs.map(e=>e.id)));x.default.getState().retainOnly(e)},[k.layout]),(0,ej.useAutoDeleteEmptyWorkspace)(N,k.clearLayout);let I=k.layout?.activePaneId??null,D=(I?v.find(e=>e.id===I):null)??v[0]??null,E=D?.id??null,L=D?.activeTabId??null,z=D?.tabs.find(e=>e.id===L)??null,A=z?.panelType??"terminal",B=(0,s.useCallback)(e=>{let{activeWorkspaceId:t}=m.default.getState();e!==t&&(y.current=t,x.default.getState().reset(),k.clearLayout(),m.default.getState().switchWorkspace(e))},[k]);(0,s.useEffect)(()=>(eg.default.getState().register({onSelectWorkspace:B}),()=>eg.default.getState().unregister()),[B]);let[M,$]=(0,s.useState)(!1),[W,O]=(0,s.useState)("inactive"),F=(0,s.useCallback)(e=>{O(e)},[]);(0,s.useEffect)(()=>{L&&(0,eb.dismissTab)(L)},[L]),(0,s.useEffect)(()=>{L&&"claude-code"===A&&"inactive"!==W&&"idle"===W&&(0,eb.dismissTab)(L)},[L,W,A]);let H=(0,w.default)(e=>{if(!L)return!1;let t=e.tabs[L];return t?.cliState==="ready-for-review"||t?.cliState==="needs-input"});(0,s.useEffect)(()=>{H&&L&&(0,eb.dismissTab)(L)},[H,L]);let U=(0,x.default)(e=>L?e.metadata[L]:void 0),V=(0,s.useMemo)(()=>{if(!z)return"";if(z.name)return z.name;let e=U?.title||z.title,t=e?(0,eo.formatTabTitle)(e):"";return t||`Tab ${z.order+1}`},[z,U]),_=(0,s.useCallback)(e=>{D&&L&&k.updateTabPanelType(D.id,L,e)},[D,L,k]),K=(0,s.useCallback)(()=>{$(!0)},[]),q=(0,s.useCallback)(async(e,t)=>{let s;if(!D)return;if(t?.command==="claude-new"){let e=eu.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 k.createTabInPane(D.id,e,s);a&&(w.default.getState().initTab(a.id,{panelType:e,workspaceId:j??""}),t?.command==="claude-new"&&w.default.getState().setSessionView(a.id,"check"))},[D,k,j]),G=(0,s.useCallback)(()=>{D&&L&&k.deleteTabInPane(D.id,L)},[D,L,k]);return b?(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center",children:[(0,t.jsx)(i.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&&!C?(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"}),p("retry")]})]}):j||b||g?!k.layout||k.isLoading?(0,t.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center",children:(0,t.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"})}):k.error&&!k.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:k.error}),(0,t.jsxs)(u.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>k.fetchLayout(),children:[(0,t.jsx)(n.RefreshCw,{className:"h-3.5 w-3.5"}),p("retry")]})]}):(0,t.jsxs)(t.Fragment,{children:[D&&L&&(0,t.jsx)(T,{tabId:L,tabName:V,sessionName:z?.sessionName??null,panelType:A,onSwitchPanelType:_,onCreateTab:K,onClose:G},L),D&&L&&(0,t.jsx)(em,{paneId:D.id,tabs:D.tabs,activeTabId:L,panelType:A,onCreateTab:k.createTabInPane,onDeleteTab:k.deleteTabInPane,onSwitchTab:k.switchTabInPane,onRemoveTabLocally:k.removeTabLocally,onUpdateTabPanelType:k.updateTabPanelType,onCliStateChange:F,onOpenNewTabDialog:K},`${E}-${L}`),(0,t.jsx)(ep,{open:M,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:h("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,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:""},n=(e,t,a)=>{let n=e[t];return n?{...e,[t]:{...n,...a}}:e},r=(0,t.create)(e=>({tabs:{},tabOrders:{},statusWsConnected:!1,initTab:(t,n)=>e(e=>{let r=e.tabs[t],i={...a,...r,...n};return r?.cliState==="ready-for-review"&&"ready-for-review"!==i.cliState&&(i.cliState="ready-for-review",i.readyForReviewAt=r.readyForReviewAt),{tabs:{...e.tabs,[t]:i}}}),removeTab:t=>e(e=>{let{[t]:a,...n}=e.tabs;return{tabs:n}}),setTerminalConnected:(t,a)=>e(e=>{let r=e.tabs[t];return r&&r.terminalConnected!==a?{tabs:n(e.tabs,t,{terminalConnected:a})}:e}),setClaudeProcess:(t,a,r)=>e(e=>{let i=e.tabs[t];if(!i||i.claudeProcessCheckedAt>r||i.claudeProcess===a)return e;let s={claudeProcess:a,claudeProcessCheckedAt:r};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:n(e.tabs,t,s)}}),setClaudeInstalled:(t,a)=>e(e=>{let r=e.tabs[t];return r&&r.claudeInstalled!==a?{tabs:n(e.tabs,t,{claudeInstalled:a})}:e}),setSessionView:(t,a)=>e(e=>{let r=e.tabs[t];return r&&r.sessionView!==a?{tabs:n(e.tabs,t,{sessionView:a})}:e}),setTimelineLoading:(t,a)=>e(e=>{let r=e.tabs[t];return r&&r.isTimelineLoading!==a?{tabs:n(e.tabs,t,{isTimelineLoading:a})}:e}),cancelTab:t=>e(e=>{let a=e.tabs[t];return a&&"cancelled"!==a.cliState?{tabs:n(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:n(e.tabs,t,{cliState:"idle",dismissedAt:Date.now()})}:e}),setWorkspaceId:(t,a)=>e(e=>{let r=e.tabs[t];return r&&r.workspaceId!==a?{tabs:n(e.tabs,t,{workspaceId:a})}:e}),setPanelType:(t,a)=>e(e=>{let r=e.tabs[t];return r&&r.panelType!==a?{tabs:n(e.tabs,t,{panelType:a})}:e}),setCurrentProcess:(t,a)=>e(e=>{let r=e.tabs[t];if(!r)return e;let i=a??void 0;return r.currentProcess===i?e:{tabs:n(e.tabs,t,{currentProcess:i,localUpdatedAt:Date.now()})}}),setTabOrder:(t,a)=>e(e=>{let n=e.tabOrders[t];return n&&n.length===a.length&&n.every((e,t)=>e===a[t])?e:{tabOrders:{...e.tabOrders,[t]:a}}}),setStatusWsConnected:t=>e({statusWsConnected:t}),syncAllFromServer:t=>e(e=>{let n=Date.now(),r={};for(let[i,s]of Object.entries(t)){let t=e.tabs[i];if(t?.cliState==="cancelled"){r[i]=t;continue}t?.localUpdatedAt&&n-t.localUpdatedAt<3e4?r[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?r[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}:r[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))r[t]||(r[t]=a);return{tabs:r}}),updateFromServer:(t,r)=>e(e=>{if(null===r.cliState){let{[t]:a,...n}=e.tabs;return{tabs:n}}let i=e.tabs[t];if(i){if("cancelled"===i.cliState)return e;let a=void 0!==r.eventSeq&&void 0!==i.eventSeq&&r.eventSeq<i.eventSeq,s=void 0!==r.eventSeq&&(void 0===i.eventSeq||r.eventSeq>=i.eventSeq)?{lastEvent:r.lastEvent,eventSeq:r.eventSeq}:{},l=a?{cliState:i.cliState,readyForReviewAt:i.readyForReviewAt,busySince:i.busySince,dismissedAt:i.dismissedAt}:{cliState:r.cliState,readyForReviewAt:r.readyForReviewAt,busySince:r.busySince,dismissedAt:r.dismissedAt};return{tabs:n(e.tabs,t,{...l,workspaceId:r.workspaceId,tabName:r.tabName,panelType:r.panelType??i.panelType,terminalStatus:r.terminalStatus,listeningPorts:r.listeningPorts,currentProcess:r.currentProcess,claudeSummary:r.claudeSummary,lastUserMessage:r.lastUserMessage,lastAssistantMessage:r.lastAssistantMessage,currentAction:r.currentAction,claudeSessionId:r.claudeSessionId,compactingSince:r.compactingSince,...s})}}return{tabs:{...e.tabs,[t]:{...a,cliState:r.cliState,workspaceId:r.workspaceId,tabName:r.tabName,panelType:r.panelType,terminalStatus:r.terminalStatus,listeningPorts:r.listeningPorts,currentProcess:r.currentProcess,claudeSummary:r.claudeSummary,lastUserMessage:r.lastUserMessage,lastAssistantMessage:r.lastAssistantMessage,readyForReviewAt:r.readyForReviewAt,busySince:r.busySince,dismissedAt:r.dismissedAt,claudeSessionId:r.claudeSessionId,compactingSince:r.compactingSince,lastEvent:r.lastEvent,eventSeq:r.eventSeq,...r.claudeSessionId?{sessionView:"timeline"}:{}}}}}),applyHookEvent:(t,a)=>e(e=>{let r=e.tabs[t];return!r||void 0!==r.eventSeq&&a.seq<=r.eventSeq?e:{tabs:n(e.tabs,t,{lastEvent:a,eventSeq:a.seq})}})}));e.s(["default",0,r,"isCliIdle",0,e=>"idle"===e||"ready-for-review"===e,"selectGlobalStatus",0,e=>{let t=0,a=0;for(let n of Object.values(e))"busy"===n.cliState?t++:("ready-for-review"===n.cliState||"needs-input"===n.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 n of Object.values(e))if(n.workspaceId===t&&n.listeningPorts)for(let e of n.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()),n=t instanceof Map?t:new Map(t.entries());if(a.size!==n.size)return!1;for(let[e,t]of a)if(!n.has(e)||!Object.is(t,n.get(e)))return!1;return!0};e.s(["useShallow",0,function(e){let n=t.default.useRef(void 0);return t=>{let r=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 n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),s=r.next();for(;!i.done&&!s.done;){if(!Object.is(i.value,s.value))return!1;i=n.next(),s=r.next()}return!!i.done&&!!s.done}return a({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}(n.current,r)?n.current=r:n.current}}],117653)},358915,806185,e=>{"use strict";var t=e.i(191788),a=e.i(679935),n=e.i(844044),r=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,p]=(0,t.useState)(()=>u?(e=>{try{return localStorage.getItem(s(e))??""}catch{return""}})(u):""),b=(0,t.useRef)(null),y=(0,t.useMemo)(()=>(0,r.isCliIdle)(e)||"unknown"===e?"input":"busy"===e||"needs-input"===e?"interrupt":"disabled",[e]),m=d?.onRestartSession,S=d?.onMessageSent,h=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(u)return h.current&&clearTimeout(h.current),h.current=setTimeout(()=>((e,t)=>{try{t?localStorage.setItem(s(e),t):localStorage.removeItem(s(e))}catch{}})(u,f),300),()=>{h.current&&clearTimeout(h.current)}},[u,f]);let v=(0,t.useCallback)(()=>{if("disabled"===y)return void a.toast.error("Claude Code가 실행 중이 아닙니다");if(!c)return void a.toast.error((0,n.t)("connection","terminalDisconnected"));if(""!==f.trim()){if(i.has(f.trim().toLowerCase())){m?.(),p(""),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("/")||S?.(f.trim()),p(""),u&&l(u)}},[y,f,o,c,m,S,u]),g=(0,t.useCallback)(()=>{c?o("\x1b\x1b"):a.toast.error((0,n.t)("connection","terminalDisconnected"))},[o,c]),T=(0,t.useCallback)(()=>{let e=b.current;if(!e)return;e.focus();let t=e.value.length;e.setSelectionRange(t,t)},[]),I="disabled"!==y&&c;return{value:f,setValue:p,mode:y,canSend:I,send:v,interrupt:g,textareaRef:b,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,n]=e.children;if("pane"===a.type&&a.id===t)return n;if("pane"===n.type&&n.id===t)return a;let r=f(a,t);if(r)return{...e,children:[r,n]};let i=f(n,t);return i?{...e,children:[a,i]}:null},p=(e,t)=>{if("pane"===e.type)return null;let[a,n]=e.children;return"pane"===a.type&&a.id===t?d(n):"pane"===n.type&&n.id===t?u(a):p(a,t)||p(n,t)},b=(e,t,a)=>{if("split"!==e.type)return e;if(0===t.length)return{...e,ratio:a};let[n,...r]=t,i=[e.children[0],e.children[1]];return i[n]=b(e.children[n],r,a),{...e,children:i}},y=(e,t)=>"pane"===e.type||e.orientation!==t?1:y(e.children[0],t)+y(e.children[1],t),m=e=>{if("pane"===e.type)return e;let t=y(e.children[0],e.orientation),a=Math.round(t/(t+y(e.children[1],e.orientation))*1e4)/100;return{...e,ratio:a,children:[m(e.children[0]),m(e.children[1])]}},S=(e,t,a)=>{if("pane"===e.type)return e.id===t?a(e):e;let n=S(e.children[0],t,a);if(n!==e.children[0])return{...e,children:[n,e.children[1]]};let r=S(e.children[1],t,a);return r!==e.children[1]?{...e,children:[e.children[0],r]}:e};e.s(["collectAllTabs",0,e=>o(e).flatMap(e=>e.tabs),"collectPanes",0,o,"equalizeNode",0,m,"findAdjacentPaneInDirection",0,(e,t,a)=>{let n=[],r=e=>{if("pane"===e.type)return e.id===t;for(let t=0;t<2;t++){if(n.push({node:e,childIndex:t}),r(e.children[t]))return!0;n.pop()}return!1};if(!r(e))return null;let i="left"===a||"right"===a?"horizontal":"vertical",s=+("left"===a||"up"===a);for(let e=n.length-1;e>=0;e--){let{node:t,childIndex:r}=n[e];if("split"===t.type&&t.orientation===i&&r===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 n=[],r=e=>{if("pane"===e.type)return e.id===t;for(let t=0;t<2;t++){if(n.push({node:e,childIndex:t}),r(e.children[t]))return!0;n.pop()}return!1};if(!r(e))return null;let i="left"===a||"right"===a?"horizontal":"vertical",s=+("right"!==a&&"down"!==a),l="right"===a||"down"===a;for(let e=n.length-1;e>=0;e--){let{node:t,childIndex:a}=n[e];if("split"===t.type&&t.orientation===i&&a===s)return{path:n.slice(0,e).map(e=>e.childIndex),currentRatio:t.ratio,increase:l}}return null},"getFirstPaneId",0,d,"removePaneWithFocus",0,(e,t)=>{let a=p(e.root,t),n=f(e.root,t);n&&(e.root=n),e.activePaneId===t&&(e.activePaneId=a??o(e.root)[0]?.id??null)},"updatePaneInTree",0,S,"updateRatioAtPath",0,b],806185)},335288,e=>{"use strict";e.s(["default",()=>R,"navigateToTab",()=>L,"navigateToTabOrCreate",()=>N,"useLayoutStore",()=>E]);var t=e.i(191788),a=e.i(203828),n=e.i(505888),r=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-",p="pt-active-tab-",b="pt-terminal-ratio-",y="pt-terminal-collapsed-",m=e=>{try{return sessionStorage.getItem(`${p}${e}`)}catch{return null}},S=e=>{try{let t=sessionStorage.getItem(`${b}${e}`);if(null==t)return null;let a=Number(t);return Number.isFinite(a)?a:null}catch{return null}},h=e=>{try{let t=sessionStorage.getItem(`${y}${e}`);if(null==t)return null;return"1"===t}catch{return null}},v=null,g=null,T=null,I=!1,w=new Map,P=(e,t)=>{if(!t)return e;let a=e.includes("?")?"&":"?";return`${e}${a}workspace=${t}`},k=(e,t)=>{let a=e?(0,u.collectPanes)(e.root).length:0;return{paneCount:a,canSplit:a<10&&!t}},A=(e,t,a)=>{e({layout:a,...k(a,t().isSplitting)})},C=(e,t,a)=>{let n=t().layout;if(n){let e=(0,u.collectPanes)(a.root);for(let t of(n.activePaneId&&e.some(e=>e.id===n.activePaneId)&&(a.activePaneId=n.activePaneId),e)){let e=(0,u.findPane)(n.root,t.id);e?.activeTabId&&t.tabs.some(t=>t.id===e.activeTabId)&&(t.activeTabId=e.activeTabId)}}e({layout:a,...k(a,t().isSplitting)})},O=(e,t,a,n)=>{let{layout:r}=t();if(!r)return;let i=(0,u.updatePaneInTree)(r.root,a,n);i!==r.root&&A(e,t,{...r,root:i})},$=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}},E=(0,n.create)((e,t)=>({layout:null,isLoading:!0,error:null,isSplitting:!1,workspaceId:null,retryCount:0,paneCount:0,canSplit:!1,pendingFocusTabId:null,setWorkspaceId:t=>{I=!1,e({workspaceId:t})},setLayout:a=>{A(e,t,a)},fetchLayout:async(a,n)=>{if(I)return;let r=a??t().workspaceId;if(!r)return;v?.abort();let l=new AbortController;v=l,t().layout||e({isLoading:!0,error:null});try{let a=await fetch(P("/api/layout",r),{signal:l.signal});if(!a.ok)throw Error();let i=await a.json();if(l.signal.aborted)return;let s=t().layout;if(!1!==n){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}})(r);for(let a of(t&&e.some(e=>e.id===t)&&(i.activePaneId=t),e)){let e=m(a.id);for(let t of(e&&a.tabs.some(t=>t.id===e)&&(a.activeTabId=e),a.tabs)){let e=S(t.id);null!==e&&(t.terminalRatio=e);let a=h(t.id);null!==a&&(t.terminalCollapsed=a)}}}}if(s){let a={root:s.root,activePaneId:s.activePaneId},n={root:i.root,activePaneId:i.activePaneId};if(JSON.stringify(a)===JSON.stringify(n)){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,...k(i,t().isSplitting)}),c&&($(P("/api/layout",r),{activePaneId:c}),$(P(`/api/layout/pane/${c}`,r),{activeTabId:o}))}catch(n){if(n instanceof DOMException&&"AbortError"===n.name)return;let a=t().retryCount+1;if(e({retryCount:a}),a>=3)try{let a=await fetch(P("/api/layout/pane",r),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(a.ok){let{paneId:n,tab:r}=await a.json(),l={root:{type:"pane",id:n,tabs:[r],activeTabId:r.id},activePaneId:n,updatedAt:new Date().toISOString()};e({layout:l,...k(l,t().isSplitting)}),i.toast.info((0,s.t)("terminal","fallbackLayout")),e({retryCount:0});return}}catch{}e({error:(0,s.t)("terminal","layoutFetchError")}),g?.()}finally{l.signal.aborted||e({isLoading:!1})}},splitPane:async(a,n)=>{let{layout:r,isSplitting:l,workspaceId:o}=t();if(r&&!l&&!((0,u.collectPanes)(r.root).length>=10)){e({isSplitting:!0,canSplit:!1});try{let i,s,l=(0,u.findPane)(r.root,a),c=l?.tabs.find(e=>e.id===l.activeTabId);if(c){s=c.panelType;try{let e=await fetch(P(`/api/layout/cwd?session=${c.sessionName}`,o));e.ok&&(i=(await e.json()).cwd)}catch{}}let d=await fetch(P("/api/layout/pane",o),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourcePaneId:a,orientation:n,cwd:i,panelType:s})});if(!d.ok)throw Error();let f=await d.json();A(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:n,workspaceId:r}=t();if(n&&!((0,u.collectPanes)(n.root).length<=1))try{let n=await fetch(P(`/api/layout/pane/${a}`,r),{method:"DELETE"});if(!n.ok)throw Error();let i=await n.json();A(e,t,i)}catch{i.toast.error("Pane을 닫을 수 없습니다")}},focusPane:a=>{let{layout:n,workspaceId:r}=t();n&&n.activePaneId!==a&&(e({layout:{...n,activePaneId:a}}),$(P("/api/layout",r),{activePaneId:a}).then(a=>{a&&C(e,t,a)}))},updateRatio:(a,n)=>{let{layout:r,workspaceId:i}=t();r&&(e({layout:{...r,root:(0,u.updateRatioAtPath)(r.root,a,n)}}),T&&clearTimeout(T),T=setTimeout(()=>{T=null,$(P("/api/layout",i),{ratioUpdate:{path:a,ratio:n}}).then(a=>{a&&C(e,t,a)})},300))},moveTab:(a,n,r,i)=>{if(n===r)return;let{layout:s,workspaceId:l}=t();if(!s)return;let o=JSON.parse(JSON.stringify(s)),c=(0,u.findPane)(o.root,n),d=(0,u.findPane)(o.root,r);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,n),o.activePaneId=r,A(e,t,o)}}fetch(P(`/api/layout/pane/${n}/tabs/${a}/move`,l),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({toPaneId:r,toIndex:i})}).then(async a=>{a.ok?C(e,t,await a.json()):await t().fetchLayout(void 0,!1)}).catch(()=>t().fetchLayout(void 0,!1))},createTabInPane:async(a,n,r)=>{let{layout:l,workspaceId:c}=t();try{let i,s=n,f=l?(0,u.findPane)(l.root,a):void 0,p=f?.tabs.find(e=>e.id===f.activeTabId);!s&&p&&(s=p.panelType),"web-browser"!==s&&p&&(i=d.default.getState().metadata[p.id]?.cwd);let b=await fetch(P(`/api/layout/pane/${a}/tabs`,c),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:i,panelType:s,command:r})});if(!b.ok)throw Error();let y=await b.json();return r&&o.default.getState().initTab(y.id,{panelType:s,sessionView:"check"}),O(e,t,a,e=>({...e,tabs:[...e.tabs,y],activeTabId:y.id})),t().fetchLayout(),y}catch{return i.toast.error((0,s.t)("terminal","tabCreateFailed")),null}},deleteTabInPane:async(a,n)=>{(0,l.clearInputDraft)(n),o.default.getState().cancelTab(n),O(e,t,a,e=>{let t=[...e.tabs].sort((e,t)=>e.order-t.order),a=t.findIndex(e=>e.id===n),r=t.filter(e=>e.id!==n);r.forEach((e,t)=>{e.order=t});let i=e.activeTabId;if(e.activeTabId===n){let e=t[a+1]||t[a-1];i=e?.id??null}return{...e,tabs:r,activeTabId:i}});let{workspaceId:r}=t();try{let e=await fetch(P(`/api/layout/pane/${a}/tabs/${n}`,r),{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,n)=>{let{workspaceId:r}=t();try{return(await fetch(P(`/api/layout/pane/${e}/tabs/${a}`,r),{method:"POST",headers:n?{"Content-Type":"application/json"}:void 0,body:n?JSON.stringify({command:n}):void 0})).ok}catch{return i.toast.error((0,s.t)("terminal","sessionRestartFailed")),!1}},switchTabInPane:(a,n)=>{O(e,t,a,e=>({...e,activeTabId:n}));let{workspaceId:r}=t();$(P(`/api/layout/pane/${a}`,r),{activeTabId:n}).then(a=>{a&&C(e,t,a)})},renameTabInPane:async(a,n,r)=>{O(e,t,a,e=>({...e,tabs:e.tabs.map(e=>e.id===n?{...e,name:r}:e)}));let{workspaceId:l}=t(),o=await $(P(`/api/layout/pane/${a}/tabs/${n}`,l),{name:r});o?C(e,t,o):i.toast.error((0,s.t)("terminal","tabRenameFailed"))},reorderTabsInPane:(a,n)=>{O(e,t,a,e=>{let t=new Map(e.tabs.map(e=>[e.id,e])),a=n.map((e,a)=>{let n=t.get(e);return n?{...n,order:a}:null}).filter(e=>null!==e);return{...e,tabs:a}});let{workspaceId:r}=t();$(P(`/api/layout/pane/${a}/tabs/order`,r),{tabIds:n}).then(a=>{a&&C(e,t,a)})},removeTabLocally:(e,a)=>{(0,l.clearInputDraft)(a);let{workspaceId:n}=t();fetch(P(`/api/layout/pane/${e}/tabs/${a}`,n),{method:"DELETE"}).then(()=>t().fetchLayout()).catch(()=>{console.log("[layout] removeTabLocally failed")})},equalizeRatios:()=>{let{workspaceId:a}=t();$(P("/api/layout",a),{equalize:!0}).then(a=>{a&&C(e,t,a)})},updateTabPanelType:(a,n,r)=>{O(e,t,a,e=>({...e,tabs:e.tabs.map(e=>{if(e.id!==n)return e;let t={...e,panelType:r};return"terminal"===r&&(t.claudeSessionId=null),t})})),o.default.getState().setPanelType(n,r);let{workspaceId:i}=t();$(P(`/api/layout/pane/${a}/tabs/${n}`,i),{panelType:r}).then(a=>{a&&C(e,t,a)})},updateTabTerminalLayout:(a,n,r)=>{O(e,t,a,e=>({...e,tabs:e.tabs.map(e=>e.id===n?{...e,...r}:e)}));try{void 0!==r.terminalRatio&&sessionStorage.setItem(`${b}${n}`,String(r.terminalRatio)),void 0!==r.terminalCollapsed&&sessionStorage.setItem(`${y}${n}`,r.terminalCollapsed?"1":"0")}catch{}let{workspaceId:i}=t(),s=w.get(n);s&&clearTimeout(s),w.set(n,setTimeout(()=>{w.delete(n),$(P(`/api/layout/pane/${a}/tabs/${n}`,i),r)},300))},clearLayout:()=>{I=!0,v?.abort(),e({layout:null,paneCount:0,canSplit:!1})},focusTab:e=>{let{layout:a}=t();if(!a)return!1;for(let n of(0,u.collectPanes)(a.root))if(n.tabs.some(t=>t.id===e))return t().focusPane(n.id),t().switchTabInPane(n.id,e),!0;return!1},focusPrevTab:()=>{let{layout:e}=t();if(!e)return;let a=(0,u.collectPanes)(e.root),n=a.find(t=>t.id===e.activePaneId);if(!n)return;let r=[...n.tabs].sort((e,t)=>e.order-t.order),i=r.findIndex(e=>e.id===n.activeTabId);if(i>0)t().switchTabInPane(n.id,r[i-1].id);else{let e=a.indexOf(n);if(e>0){let n=a[e-1],r=[...n.tabs].sort((e,t)=>e.order-t.order);t().focusPane(n.id),t().switchTabInPane(n.id,r[r.length-1].id)}}},focusNextTab:()=>{let{layout:e}=t();if(!e)return;let a=(0,u.collectPanes)(e.root),n=a.find(t=>t.id===e.activePaneId);if(!n)return;let r=[...n.tabs].sort((e,t)=>e.order-t.order),i=r.findIndex(e=>e.id===n.activeTabId);if(i<r.length-1)t().switchTabInPane(n.id,r[i+1].id);else{let e=a.indexOf(n);if(e<a.length-1){let n=a[e+1],r=[...n.tabs].sort((e,t)=>e.order-t.order);t().focusPane(n.id),t().switchTabInPane(n.id,r[0].id)}}},focusTabByIndex:e=>{let{layout:a}=t();if(!a?.activePaneId)return;let n=(0,u.collectPanes)(a.root).find(e=>e.id===a.activePaneId);if(!n)return;let r=[...n.tabs].sort((e,t)=>e.order-t.order),i=e>=r.length?r[r.length-1]:r[e];i&&i.id!==n.activeTabId&&t().switchTabInPane(n.id,i.id)}}));E.subscribe((e,t)=>{if(e.layout&&e.workspaceId&&e.layout!==t.layout){var a=e.workspaceId,n=e.layout;try{for(let e of(n.activePaneId&&sessionStorage.setItem(`${f}${a}`,n.activePaneId),(0,u.collectPanes)(n.root)))for(let t of(e.activeTabId&&sessionStorage.setItem(`${p}${e.id}`,e.activeTabId),e.tabs))void 0!==t.terminalRatio&&sessionStorage.setItem(`${b}${t.id}`,String(t.terminalRatio)),void 0!==t.terminalCollapsed&&sessionStorage.setItem(`${y}${t.id}`,t.terminalCollapsed?"1":"0")}catch{}}});let L=(e,t)=>{let n=E.getState();if("/"!==a.default.pathname){E.setState({pendingFocusTabId:t}),c.default.getState().switchWorkspace(e),a.default.push("/");return}e===n.workspaceId?n.focusTab(t):(n.clearLayout(),E.setState({pendingFocusTabId:t}),c.default.getState().switchWorkspace(e))},N=async(e,t,a,n,r)=>{let i=c.default.getState(),s=e,l=i.workspaces.find(t=>t.id===e);if(!l){if(!r)return;let e=await i.createWorkspace(r,n,a??void 0);if(!e)return;s=e.id;let t=await fetch(P("/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"}),L(s,c.id);return}let d=await fetch(P("/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"),L(s,e.id);return}}else if((0,u.collectAllTabs)(f.root).find(e=>e.id===t))return void L(s,t);let p=f.activePaneId??(0,u.getFirstPaneId)(f.root),b={panelType:"claude-code",cwd:l.directories[0]};a&&(b.resumeSessionId=a);let y=await fetch(P(`/api/layout/pane/${p}/tabs`,s),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!y.ok)return;let m=await y.json();a&&o.default.getState().initTab(m.id,{panelType:"claude-code",sessionView:"check"}),s===E.getState().workspaceId?(E.setState({pendingFocusTabId:m.id}),E.getState().fetchLayout()):L(s,m.id)},R=({workspaceId:e,onFetchError:a})=>((0,t.useEffect)(()=>{g=a??null},[a]),(0,t.useEffect)(()=>{if(e){let t=E.getState();t.setWorkspaceId(e),t.fetchLayout(e)}},[e]),(0,t.useEffect)(()=>E.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)}),[]),E((0,r.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),n=e.i(806185);let r=null,i=new Map,s=new Map,l=()=>{r&&clearTimeout(r),r=setTimeout(()=>{r=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,n.collectPanes)(t.root))for(let t of a.tabs){let n=e[t.id];if(!n)continue;let r={};void 0!==n.title&&n.title!==t.title&&(r.title=n.title),void 0!==n.cwd&&n.cwd!==t.cwd&&(r.cwd=n.cwd),void 0!==n.lastCommand&&(n.lastCommand??null)!==(t.lastCommand??null)&&(r.lastCommand=n.lastCommand??null),Object.keys(r).length>0&&fetch(`/api/layout/pane/${a.id}/tabs/${t.id}${s}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}).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 n=e.metadata[t];return n?.title===a?e:(i.set(t,Date.now()),{metadata:{...e.metadata,[t]:{...n,title:a}}})}),l()},setCwd:(t,a)=>{e(e=>{let n=e.metadata[t];return n?.cwd===a?e:(s.set(t,Date.now()),{metadata:{...e.metadata,[t]:{...n,cwd:a}}})}),l()},setLastCommand:(t,a)=>{e(e=>{let n=e.metadata[t];return n?.lastCommand===a?e:{metadata:{...e.metadata,[t]:{...n,lastCommand:a}}}}),l()},removeTab:t=>{e(e=>{let{[t]:a,...n}=e.metadata;return{metadata:n}}),l()},hydrate:t=>{e(e=>{let a={},n=Date.now();for(let[r,l]of Object.entries(t)){let t=e.metadata[r],o=n-(i.get(r)??0)<1e3,c=n-(s.get(r)??0)<1e3;a[r]={...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 n of t)e.metadata[n]&&(a[n]=e.metadata[n]);return{metadata:a}})},reset:()=>{r&&clearTimeout(r),r=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])},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 n=[...e.entries];return n[a]=t,{entries:n}}return{entries:[t,...e.entries]}})}));e.s(["default",0,t])},982960,251748,e=>{"use strict";var t=e.i(191788),a=e.i(399267),n=e.i(453783),r=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 n=t.match(/@[^:]+:\s*(.*)/);if(n)return l(n[1].trim());if(t.startsWith("/")||t.startsWith("~"))return l(t);let r=t.split(/\s+/)[0];return s.has(r)?"":r||""};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,r]of(a.default.getState().syncAllFromServer(t.tabs),Object.entries(t.tabs)))r.paneTitle&&!n.default.getState().metadata[e]?.title&&n.default.getState().setTitle(e,c(r.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&&n.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":r.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 n=Math.min(1e3*Math.pow(2,e.current),3e4);e.current++,s.current=setTimeout(t,n)},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)},266231,e=>{"use strict";var t=e.i(191788);let a=768;e.s(["default",0,(e=a)=>{let n=`(max-width: ${e-1}px)`,r=(0,t.useCallback)(e=>{let t=window.matchMedia(n);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},[n]),i=(0,t.useCallback)(()=>window.matchMedia(n).matches,[n]),s=(0,t.useCallback)(()=>!1,[]);return(0,t.useSyncExternalStore)(r,i,s)}])}]);