purplemux 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +21 -21
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/routes-manifest.json +7 -7
  6. package/.next/standalone/.next/server/chunks/[root-of-the-server]__045vzzi._.js +1 -1
  7. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0auutl5._.js +2 -2
  8. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11j9~6h._.js +1 -1
  9. package/.next/standalone/.next/server/chunks/{_05otee~._.js → _04dq3gt._.js} +1 -1
  10. package/.next/standalone/.next/server/chunks/{_0uxocm.._.js → _09vws3v._.js} +1 -1
  11. package/.next/standalone/.next/server/chunks/{_0d415er._.js → _0ap4fy.._.js} +1 -1
  12. package/.next/standalone/.next/server/chunks/_0e8e4zn._.js +1 -1
  13. package/.next/standalone/.next/server/chunks/_0isokfh._.js +1 -1
  14. package/.next/standalone/.next/server/chunks/{_0_1vqqb._.js → _0su2osz._.js} +1 -1
  15. package/.next/standalone/.next/server/chunks/{_0xmsr59._.js → _0uo_gs5._.js} +1 -1
  16. package/.next/standalone/.next/server/chunks/{_06vitke._.js → _134uyu_._.js} +1 -1
  17. package/.next/standalone/.next/server/chunks/{src_lib_136edwc._.js → src_lib_0vs5asg._.js} +1 -1
  18. package/.next/standalone/.next/server/chunks/src_lib_session-parser_ts_0~rhicw._.js +3 -3
  19. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0glt298._.js +3 -0
  20. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0au.ssp._.js → [root-of-the-server]__0nkl4wz._.js} +2 -2
  21. package/.next/standalone/.next/server/chunks/ssr/_06yggfn._.js +1 -1
  22. package/.next/standalone/.next/server/chunks/ssr/_0al4.z9._.js +1 -1
  23. package/.next/standalone/.next/server/chunks/ssr/_0b~zgl1._.js +1 -1
  24. package/.next/standalone/.next/server/chunks/ssr/_0f8k39w._.js +14 -0
  25. package/.next/standalone/.next/server/chunks/ssr/{_0_owbnq._.js → _0h4kenr._.js} +2 -2
  26. package/.next/standalone/.next/server/chunks/ssr/{_0z61aq-._.js → _0ihbr8k._.js} +2 -2
  27. package/.next/standalone/.next/server/chunks/ssr/_0js4l3t._.js +1 -1
  28. package/.next/standalone/.next/server/chunks/ssr/_0nkeoiw._.js +1 -1
  29. package/.next/standalone/.next/server/chunks/ssr/_0rxhzwm._.js +1 -1
  30. package/.next/standalone/.next/server/chunks/ssr/_0y31tie._.js +14 -0
  31. package/.next/standalone/.next/server/chunks/ssr/messages_de_session_json_[json]_cjs_0b-1vpl._.js +1 -1
  32. package/.next/standalone/.next/server/chunks/ssr/messages_en_session_json_[json]_cjs_0jaymfk._.js +1 -1
  33. package/.next/standalone/.next/server/chunks/ssr/messages_es_session_json_[json]_cjs_0jy1144._.js +1 -1
  34. package/.next/standalone/.next/server/chunks/ssr/messages_fr_session_json_[json]_cjs_0rz0g.c._.js +1 -1
  35. package/.next/standalone/.next/server/chunks/ssr/messages_ja_session_json_[json]_cjs_0cos-uy._.js +1 -1
  36. package/.next/standalone/.next/server/chunks/ssr/messages_ko_session_json_[json]_cjs_0x4saic._.js +1 -1
  37. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_session_json_[json]_cjs_0-x8ftl._.js +1 -1
  38. package/.next/standalone/.next/server/chunks/ssr/messages_ru_session_json_[json]_cjs_0~2-kve._.js +1 -1
  39. package/.next/standalone/.next/server/chunks/ssr/messages_tr_session_json_[json]_cjs_0zsvt_4._.js +1 -1
  40. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_session_json_[json]_cjs_134xza~._.js +1 -1
  41. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_session_json_[json]_cjs_0mv_~-8._.js +1 -1
  42. package/.next/standalone/.next/server/chunks/ssr/src_components_features_mobile_mobile-terminal-page_tsx_02chzch._.js +1 -1
  43. package/.next/standalone/.next/server/chunks/ssr/src_components_features_workspace_terminal-page_tsx_0wuq-jl._.js +1 -1
  44. package/.next/standalone/.next/server/middleware-build-manifest.js +21 -21
  45. package/.next/standalone/.next/server/pages/_app/build-manifest.json +5 -5
  46. package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
  47. package/.next/standalone/.next/server/pages/_app.js +2 -2
  48. package/.next/standalone/.next/server/pages/_app.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/pages/_error.js +2 -2
  50. package/.next/standalone/.next/server/pages/_error.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js +1 -1
  52. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.nft.json +1 -1
  53. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +1 -1
  54. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/pages/api/status/hook.js +1 -1
  56. package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/pages/api/status/statusline.js +1 -1
  58. package/.next/standalone/.next/server/pages/api/status/statusline.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +1 -1
  60. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.nft.json +1 -1
  61. package/.next/standalone/.next/server/pages/api/tmux/reset.js +1 -1
  62. package/.next/standalone/.next/server/pages/api/tmux/reset.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/pages/api/workspace.js +1 -1
  64. package/.next/standalone/.next/server/pages/api/workspace.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/pages/de/404.html +1 -1
  66. package/.next/standalone/.next/server/pages/de/500.html +1 -1
  67. package/.next/standalone/.next/server/pages/en/404.html +1 -1
  68. package/.next/standalone/.next/server/pages/en/500.html +1 -1
  69. package/.next/standalone/.next/server/pages/es/404.html +1 -1
  70. package/.next/standalone/.next/server/pages/es/500.html +1 -1
  71. package/.next/standalone/.next/server/pages/fr/404.html +1 -1
  72. package/.next/standalone/.next/server/pages/fr/500.html +1 -1
  73. package/.next/standalone/.next/server/pages/index/build-manifest.json +4 -4
  74. package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
  75. package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +8 -10
  76. package/.next/standalone/.next/server/pages/index.js +2 -2
  77. package/.next/standalone/.next/server/pages/index.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/pages/ja/404.html +1 -1
  79. package/.next/standalone/.next/server/pages/ja/500.html +1 -1
  80. package/.next/standalone/.next/server/pages/ko/404.html +1 -1
  81. package/.next/standalone/.next/server/pages/ko/500.html +1 -1
  82. package/.next/standalone/.next/server/pages/login.js +2 -2
  83. package/.next/standalone/.next/server/pages/login.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
  85. package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
  86. package/.next/standalone/.next/server/pages/reports/build-manifest.json +3 -3
  87. package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
  88. package/.next/standalone/.next/server/pages/reports.js +2 -2
  89. package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/pages/reset.js +2 -2
  91. package/.next/standalone/.next/server/pages/reset.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/pages/ru/404.html +1 -1
  93. package/.next/standalone/.next/server/pages/ru/500.html +1 -1
  94. package/.next/standalone/.next/server/pages/stats/build-manifest.json +3 -3
  95. package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
  96. package/.next/standalone/.next/server/pages/stats.js +2 -2
  97. package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/pages/tools-required.js +2 -2
  99. package/.next/standalone/.next/server/pages/tools-required.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/pages/tr/404.html +1 -1
  101. package/.next/standalone/.next/server/pages/tr/500.html +1 -1
  102. package/.next/standalone/.next/server/pages/webview/build-manifest.json +3 -3
  103. package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
  104. package/.next/standalone/.next/server/pages/webview.js +2 -2
  105. package/.next/standalone/.next/server/pages/webview.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
  107. package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
  108. package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
  109. package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
  110. package/.next/standalone/.next/static/{WXAyTQ0PHZnxXXCwEZpit → 5mb_D_gy6E3wsT_BhuXDS}/_buildManifest.js +4 -4
  111. package/.next/standalone/.next/static/chunks/0-ku865ak6iur.js +1 -0
  112. package/.next/standalone/.next/static/chunks/{17deooyefr~9o.js → 04.g49tb8txni.js} +1 -1
  113. package/.next/standalone/.next/static/chunks/05_e09pgcymkh.js +1 -0
  114. package/.next/standalone/.next/static/chunks/{0w9~wt6~_cxhf.js → 05o-f2v7xe3_~.js} +1 -1
  115. package/.next/standalone/.next/static/chunks/06zq-2isv5vn6.js +1 -0
  116. package/.next/standalone/.next/static/chunks/{11ess6mn2988z.js → 08zfbuugw_i52.js} +3 -3
  117. package/.next/standalone/.next/static/chunks/{0lz-p_awksh5e.js → 0biwudo-tl.dw.js} +1 -1
  118. package/.next/standalone/.next/static/chunks/0dh2cf_c4gz65.js +1 -0
  119. package/.next/standalone/.next/static/chunks/0fwnzw~qq_abm.js +1 -0
  120. package/.next/standalone/.next/static/chunks/{00ziyk306y55s.js → 0g2qc5wv7c9.a.js} +1 -1
  121. package/.next/standalone/.next/static/chunks/0gjtphww9wtey.js +12 -0
  122. package/.next/standalone/.next/static/chunks/0om8~g_7-c-x5.js +12 -0
  123. package/.next/standalone/.next/static/chunks/{17et6y09q052u.js → 0qc36tzow-sbz.js} +1 -1
  124. package/.next/standalone/.next/static/chunks/{0if5fmp94~nc2.js → 0qr~rkd5sq-yp.js} +5 -5
  125. package/.next/standalone/.next/static/chunks/{0y3fmkya..f_6.js → 0qwvk-uq944-d.js} +3 -3
  126. package/.next/standalone/.next/static/chunks/{095e2xf3z6x3g.js → 0r_ynb..7ongv.js} +4 -4
  127. package/.next/standalone/.next/static/chunks/{010m3dplwy4n6.js → 0ryghnq7iy47v.js} +3 -3
  128. package/.next/standalone/.next/static/chunks/0se1ra8f1bor~.js +1 -0
  129. package/.next/standalone/.next/static/chunks/{0pw-284q1gfk3.js → 0szz-2.f~11pz.js} +1 -1
  130. package/.next/standalone/.next/static/chunks/{0u-1zto-umjh9.js → 0t2val7bf4~s7.js} +1 -1
  131. package/.next/standalone/.next/static/chunks/{08xz_z9u4ex9t.js → 0tgkw7pjpp21_.js} +1 -1
  132. package/.next/standalone/.next/static/chunks/{04uzwc8c9u49~.js → 0u9dn7tzog.gz.js} +1 -1
  133. package/.next/standalone/.next/static/chunks/{0jxk8j~j30thp.js → 0u9yrtrs1bktp.js} +1 -1
  134. package/.next/standalone/.next/static/chunks/{0f81tdf_8utww.js → 0wdd71tayg8y1.js} +1 -1
  135. package/.next/standalone/.next/static/chunks/{0h~_fdj60t_~l.js → 0~vm4d30sl9ii.js} +1 -1
  136. package/.next/standalone/.next/static/chunks/107edt81z_gzy.css +3 -0
  137. package/.next/standalone/.next/static/chunks/{0t0-4sn-nqqld.js → 128d.rbx4e4rt.js} +1 -1
  138. package/.next/standalone/.next/static/chunks/132lgf3mld2ax.js +1 -0
  139. package/.next/standalone/.next/static/chunks/{07v3udp2qhc02.js → 17jdo1q-xb24-.js} +1 -1
  140. package/.next/standalone/.next/static/chunks/184~yri~m3wao.css +1 -0
  141. package/.next/standalone/.next/static/chunks/{turbopack-0.28.d-q12n3p.js → turbopack-066o21-32lo7n.js} +1 -1
  142. package/.next/standalone/.next/static/chunks/{turbopack-0-itu0o9y_vq8.js → turbopack-0abq2d._xmt7y.js} +1 -1
  143. package/.next/standalone/.next/static/chunks/{turbopack-0h0~tr4tgq3aa.js → turbopack-0sisjg~-koq5w.js} +1 -1
  144. package/.next/standalone/.next/static/chunks/{turbopack-0qmx66h203l93.js → turbopack-11tk4snp~dxd4.js} +1 -1
  145. package/.next/standalone/.next/static/chunks/{turbopack-0g80nrinbfgtk.js → turbopack-17.piokhhz77b.js} +1 -1
  146. package/.next/standalone/messages/de/session.json +3 -1
  147. package/.next/standalone/messages/en/session.json +3 -1
  148. package/.next/standalone/messages/es/session.json +3 -1
  149. package/.next/standalone/messages/fr/session.json +3 -1
  150. package/.next/standalone/messages/ja/session.json +3 -1
  151. package/.next/standalone/messages/ko/session.json +3 -1
  152. package/.next/standalone/messages/pt-BR/session.json +3 -1
  153. package/.next/standalone/messages/ru/session.json +3 -1
  154. package/.next/standalone/messages/tr/session.json +3 -1
  155. package/.next/standalone/messages/zh-CN/session.json +3 -1
  156. package/.next/standalone/messages/zh-TW/session.json +3 -1
  157. package/.next/standalone/package.json +4 -3
  158. package/.next/standalone/server.js +1 -1
  159. package/dist/server.js +268 -6
  160. package/package.json +4 -3
  161. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07i-oza._.js +0 -3
  162. package/.next/standalone/.next/server/chunks/ssr/_0iy5a-w._.js +0 -7
  163. package/.next/standalone/.next/server/chunks/ssr/_0qbbxeq._.js +0 -7
  164. package/.next/standalone/.next/server/chunks/ssr/node_modules_0kc8lix._.js +0 -3
  165. package/.next/standalone/.next/server/chunks/ssr/node_modules_highlight_js_lib_core_0h1yngz.js +0 -3
  166. package/.next/standalone/.next/static/chunks/0-xrsiia9hc.c.js +0 -1
  167. package/.next/standalone/.next/static/chunks/04bbxzycy0y90.js +0 -1
  168. package/.next/standalone/.next/static/chunks/05oh32ya2uzfq.js +0 -1
  169. package/.next/standalone/.next/static/chunks/06e51nokt~dtt.js +0 -1
  170. package/.next/standalone/.next/static/chunks/06ypydsl._u~2.js +0 -5
  171. package/.next/standalone/.next/static/chunks/071neb1eikeoh.js +0 -1
  172. package/.next/standalone/.next/static/chunks/09tinkgkd8br_.js +0 -1
  173. package/.next/standalone/.next/static/chunks/0m_amua611xl0.js +0 -5
  174. package/.next/standalone/.next/static/chunks/0o6esya.vhm1..js +0 -1
  175. package/.next/standalone/.next/static/chunks/0z3gpm0o.mwwy.css +0 -3
  176. package/.next/standalone/.next/static/chunks/0~ei.a78nuwqe.js +0 -1
  177. package/.next/standalone/.next/static/chunks/10r8rypk5fanv.js +0 -1
  178. package/.next/standalone/.next/static/chunks/13zzmkwag6vsm.css +0 -1
  179. /package/.next/standalone/.next/static/{WXAyTQ0PHZnxXXCwEZpit → 5mb_D_gy6E3wsT_BhuXDS}/_clientMiddlewareManifest.js +0 -0
  180. /package/.next/standalone/.next/static/{WXAyTQ0PHZnxXXCwEZpit → 5mb_D_gy6E3wsT_BhuXDS}/_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),i=e.i(352819),o=e.i(199648),c=e.i(679935),u=e.i(939310),d=e.i(335288),f=e.i(806185),m=e.i(490034),x=e.i(453783),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,i.useTranslations)("terminal"),[r,o]=(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),o(""),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||(o((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=>o(e.target.value),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",className:"min-h-0 flex-1 w-full resize-none rounded border border-border bg-muted/30 p-3 font-mono text-xs text-foreground outline-none focus:ring-1 focus:ring-ring"}),(0,t.jsxs)(u.Button,{onClick:j,disabled:d||!!m||!r,className:"w-full",children:[(0,t.jsx)(b.Copy,{className:"mr-2 h-4 w-4"}),l("copyPaneCopyAll")]})]})]})})};var S=e.i(399267),k=e.i(320183),v=e.i(353533),w=e.i(212283);let N=[{type:"terminal",label:"TERMINAL"},{type:"claude-code",label:"CLAUDE"},{type:"diff",label:"DIFF"}],T=({tabId:e,tabName:a,sessionName:n,panelType:l,onSwitchPanelType:o,onCreateTab:c,onClose:u})=>{let d=(0,i.useTranslations)("mobile"),f=(0,i.useTranslations)("common"),m=(0,i.useTranslations)("terminal"),[x,C]=(0,s.useState)(!1),T=(0,S.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)(k.default,{process:T?.currentProcess,className:(0,v.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,v.cn)("rounded px-1.5 py-0.5 text-[10px] font-medium tracking-wide transition-colors",l===e.type?"bg-accent text-foreground":"text-muted-foreground/60 hover:text-muted-foreground"),onClick:()=>o(e.type),children:e.label},e.type))}),"terminal"===l&&!!n&&(0,t.jsx)("button",{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors",onClick:()=>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)(w.AlertDialog,{children:[(0,t.jsx)(w.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)(w.AlertDialogContent,{children:[(0,t.jsxs)(w.AlertDialogHeader,{children:[(0,t.jsx)(w.AlertDialogTitle,{children:d("closeTab")}),(0,t.jsx)(w.AlertDialogDescription,{children:d("closeTabConfirm",{name:a})})]}),(0,t.jsxs)(w.AlertDialogFooter,{children:[(0,t.jsx)(w.AlertDialogCancel,{children:f("cancel")}),(0,t.jsx)(w.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),L=e.i(355327),E=e.i(756494),A=e.i(391046),z=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:i,sessionId:o,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:o,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:i,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,i.useTranslations)("terminal"),{prompts:C}=(0,Q.default)(),[y,k]=(0,s.useState)(null),[v,w]=(0,s.useState)(!1),N=(0,s.useRef)(void 0),T=(0,S.default)(t=>e?t.tabs[e]?.claudeProcess??null:null),P=(0,S.default)(t=>!e||(t.tabs[e]?.claudeInstalled??!0)),R=(0,S.default)(t=>e?t.tabs[e]?.cliState??"inactive":"inactive"),I=(0,S.default)(t=>e?t.tabs[e]?.compactingSince??null:null),D=(0,s.useCallback)(()=>{k(null)},[]),L=(0,s.useCallback)(e=>{k(null),c.toast.warning(j("resumeBlocked"),{description:e.processName?j("resumeBlockedProcess",{name:e.processName}):void 0})},[j]),E=(0,s.useCallback)(()=>{k(null),c.toast.error(j("resumeFailed"))},[j]),{entries:A,tasks:Y,sessionId:ee,jsonlPath:et,sessionSummary:es,initMeta:ea,sessionStats:en,claudeProcess:el,wsStatus:er,isLoading:ei,error:eo,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:L,onResumeError:E},onSync:e?t=>{let s=Date.now();null!==t.claudeProcess&&S.default.getState().setClaudeProcess(e,t.claudeProcess,s),t.claudeInstalled||S.default.getState().setClaudeInstalled(e,!1),S.default.getState().setTimelineLoading(e,t.isLoading)}:void 0,getCliState:e?()=>S.default.getState().tabs[e]?.cliState:void 0}),eh=e?T:el,{sessions:ep,hasMore:eb,isLoading:eg,isLoadingMore:ej,error:eC,refetch:ey,loadMore:eS}=(0,$.default)({tmuxSession:n,enabled:!!n&&!0!==eh,cwd:r}),ek=(0,s.useRef)(T);(0,s.useEffect)(()=>{let e=ek.current;ek.current=T,!0!==e&&!0===T&&!0!==el&&ed()},[T,el,ed]);let ev=(0,S.default)(t=>e?(0,S.selectSessionView)(t.tabs,e):"session-list"),{meta:ew}=(0,W.default)(A,es,ea,en),{branch:eN,isLoading:eT}=(0,O.default)(n),{status:eP}=(0,F.default)(n,v),eR=(0,H.default)(n,v),eI=(0,U.default)(et,v),eD=eI?{...ew,userCount:eI.userCount,assistantCount:eI.assistantCount}:ew,eL="timeline"===ev,eE=(0,M.default)("check"===ev,n);(0,s.useEffect)(()=>{h(R)},[R,h]),(0,s.useEffect)(()=>{p(eL)},[eL,p]);let eA=(0,s.useCallback)(()=>{N.current?.()},[]),ez=(0,s.useCallback)(e=>{x.current?.(e),m.current?.()},[x,m]),eB=(0,s.useCallback)(e=>{y||(k(e),ef(e,n))},[y,ef,n]);return P?null===T&&"check"!==ev?(0,t.jsx)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:(0,t.jsx)(o.default,{className:"h-4 w-4 text-muted-foreground"})}):"check"===ev?(0,t.jsxs)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:[(0,t.jsx)(o.default,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"mt-2 text-sm text-muted-foreground",children:l||ee?j("resumingSession"):j("creatingConversation")}),eE&&(eE.isBypassPrompt&&eE.options.length>0?(0,t.jsx)(K.default,{sessionName:n,options:eE.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"===ev?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)(o.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:eS,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:()=>w(!0),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),w(!0))},children:[(0,t.jsx)(X.MetaCompact,{title:ew.title,totalCost:ew.totalCost,branch:eN}),(0,t.jsx)(z.ChevronDown,{size:14,className:"shrink-0 text-muted-foreground"})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1",children:(0,t.jsx)(q.default,{entries:A,tasks:Y,sessionId:ee,sessionName:n,tabId:e,initMeta:ea,sessionStats:en,cliState:R,compactingSince:I,wsStatus:er,isLoading:ei,error:eo,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:eL,focusTerminal:f,focusInputRef:m,setInputValueRef:x,maxRows:3,onRestartSession:b,onSend:eA,onOptimisticSend:em,onAddPendingMessage:em,onRemovePendingMessage:ex}),(0,t.jsx)(J.default,{prompts:C,visible:eL,onSelect:ez})]}),(0,t.jsx)(Z,{open:v,onOpenChange:w,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,i.useTranslations)("mobile"),[l,r]=(0,s.useState)(""),[o,c]=(0,s.useState)(!1),[d,f]=(0,s.useState)(!1),m=(0,s.useRef)(null),x=(0,s.useCallback)(()=>{let e=m.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,76)}px`)},[]);(0,s.useEffect)(()=>{x()},[l,x]);let 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(o&&s.length===l.length+1){let t=s[s.length-1].toLowerCase().charCodeAt(0);if(t>=97&&t<=122){e(String.fromCharCode(t-96)),c(!1);return}}if(d&&s.length===l.length+1){let e=s[s.length-1],t=e.toUpperCase();if(t!==e){r(l+t),f(!1);return}}r(s)},[o,d,l,e]),b=(0,s.useCallback)(t=>{t.value===es?c(e=>!e):t.value===ea?f(e=>!e):(e(t.value),o&&c(!1),d&&f(!1))},[o,d,e]);return(0,t.jsxs)("div",{className:"shrink-0 border-t border-border bg-background",children:[(0,t.jsxs)("div",{className:"flex items-end gap-2 px-3 py-2",children:[(0,t.jsx)("textarea",{ref:m,value:l,onChange:p,placeholder:o?"Ctrl + ...":d?"Shift + ...":n("commandPlaceholder"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,rows:1,className:(0,v.cn)("flex-1 resize-none rounded-md border px-3 py-1.5 text-sm text-foreground outline-none placeholder:text-muted-foreground",o||d?"border-claude-active bg-claude-active/10":"border-border bg-black/5 focus:border-ring dark:bg-white/5"),style:{lineHeight:"20px",maxHeight:"76px",overflowY:"auto"}}),(0,t.jsx)(u.Button,{variant:"ghost",size:"sm",className:(0,v.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,v.cn)("shrink-0 rounded-md border px-2.5 py-1 text-xs font-medium transition-colors",e.value===es&&o||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,v.cn)("inline-block",e.rotate&&"rotate-90"),style:e.nerd?en:void 0,children:e.label})},e.label))})]})};var ei=e.i(251748),eo=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,onCliStateChange:p,onOpenNewTabDialog:b})=>{let g=(0,i.useTranslations)("mobile"),j=(0,i.useTranslations)("terminal"),C=a.find(e=>e.id===n),y="claude-code"===l,k="web-browser"===l,w="diff"===l,N=(0,x.default)(e=>n?e.metadata[n]?.cwd:void 0),T=(0,d.useLayoutStore)(e=>e.workspaceId),{theme:z}=(0,ec.default)(),[B,M]=(0,s.useState)(!1),[$,W]=(0,s.useState)(!1),[O,F]=(0,s.useState)(!0),H=(0,s.useRef)(ed),U=(0,s.useRef)(ef),V=(0,s.useRef)(null),_=(0,s.useRef)(null),K=(0,s.useRef)(null),[q,G]=(0,s.useState)(null),J=(0,s.useRef)(null),X=(0,s.useRef)(!1),Y=(0,s.useRef)(a),Z=(0,s.useRef)(n);(0,s.useEffect)(()=>{Y.current=a,Z.current=n});let Q=(0,s.useCallback)(async()=>{let e=Z.current,t=e?Y.current.find(t=>t.id===e):null;if(t)try{let e=await fetch(`/api/layout/cwd?session=${t.sessionName}`);if(!e.ok)return;let{cwd:s}=await e.json();s&&x.default.getState().setCwd(t.id,s)}catch{}},[]),et=(0,s.useRef)(()=>{}),es=(0,s.useRef)(void 0),ea=(0,s.useRef)(void 0),en=(0,s.useRef)(null),el=(0,s.useRef)(""),em=(0,S.default)(e=>n?e.tabs[n]?.claudeProcess??null:null),ex=(0,S.default)(e=>n?(0,S.selectSessionView)(e.tabs,n):null),eh=(0,s.useCallback)(e=>{p?.(e)},[p]),ep=(0,s.useCallback)(e=>{},[]),eb=(0,s.useCallback)(e=>(0,eo.isAppShortcut)(e)?(e.preventDefault(),(0,eo.isClearShortcut)(e)&&et.current(),(0,eo.isFocusInputShortcut)(e)&&es.current?.(),!1):!(0,eo.isShiftEnter)(e)||(e.preventDefault(),U.current.sendStdin("\n"),!1),[]),{terminalRef:eg,write:ej,clear:eC,reset:ey,fit:eS,focus:ek,isReady:ev}=(0,D.default)({theme:z.colors,fontSize:y?void 0:11,onInput:e=>U.current.sendStdin(e),onResize:(e,t)=>{U.current.sendResize(e,t),X.current&&(J.current&&clearTimeout(J.current),J.current=setTimeout(()=>{X.current=!1,F(!0)},200))},onTitleChange:e=>{let t=Z.current;if(!t||e===el.current)return;el.current=e;let s=(0,ei.formatTabTitle)(e);if(x.default.getState().setTitle(t,s),(0,ei.isShellProcess)(e)&&en.current){let e=en.current;en.current=null,U.current.sendStdin(`${e}\r`)}let a=Y.current.find(e=>e.id===t);if(a){let e=S.default.getState().tabs[t]?.claudeProcessCheckedAt??0;fetch(`/api/check-claude?session=${a.sessionName}`).then(e=>e.json()).then(({running:s,checkedAt:n})=>{let l=S.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})=>{S.default.getState().setClaudeProcess(t,e,s)}).catch(()=>{})},500);return}S.default.getState().setClaudeProcess(t,s,n)}).catch(()=>{})}Q()},customKeyEventHandler:eb});(0,s.useEffect)(()=>{et.current=eC});let ew=(0,s.useCallback)(async()=>{if(K.current)return;let t=Y.current,s=Z.current;if(!s)return;K.current=s;let a=[...t].sort((e,t)=>e.order-t.order),n=a.findIndex(e=>e.id===s),l=a[n+1]||a[n-1];l&&m(e,l.id);try{await f(e,s)}finally{K.current=null}},[e,m,f]),{status:eN,retryCount:eT,disconnectReason:eP,connect:eR,reconnect:eI,sendStdin:eD,sendWebStdin:eL,sendResize:eE}=(0,L.default)({onData:e=>H.current.write(e),onConnected:()=>{M(!0),G(Z.current),_.current=Z.current;let e=Z.current;e&&S.default.getState().setTerminalConnected(e,!0);let{cols:t,rows:s}=H.current.fit();U.current.sendResize(t,s),Q()},onSessionEnded:ew});(0,s.useEffect)(()=>{H.current={write:ej,reset:ey,fit:eS,focus:ek},U.current={sendStdin:eD,sendResize:eE}}),(0,s.useEffect)(()=>{ev||(V.current=null)},[ev]),(0,s.useEffect)(()=>{if(!ev||!n)return;let e=a.find(e=>e.id===n);if(e){if("web-browser"===e.panelType){V.current=null,el.current="";return}V.current!==e.sessionName&&(null!==V.current&&ey(),S.default.getState().initTab(n,{terminalConnected:!1,panelType:e.panelType}),V.current=e.sessionName,eR(e.sessionName))}},[ev,n]),(0,s.useEffect)(()=>{let e=Z.current;e&&S.default.getState().setTerminalConnected(e,"connected"===eN)},[eN]),(0,s.useEffect)(()=>{"disconnected"===eN&&B&&G(Z.current)},[eN,B]),(0,s.useEffect)(()=>{"disconnected"===eN&&B&&_.current&&_.current!==n&&a.some(e=>e.id===_.current)&&(V.current=null,m(e,_.current))},[eN]),(0,s.useEffect)(()=>{if(!ev||"connected"!==eN)return;let e=setTimeout(()=>{let{cols:e,rows:t}=eS();U.current.sendResize(e,t)},300);return()=>clearTimeout(e)},[eN]),(0,s.useEffect)(()=>{if(y){X.current=!1,J.current&&clearTimeout(J.current),Q();return}if(ev&&"connected"===eN)return X.current=!0,queueMicrotask(()=>F(!1)),J.current=setTimeout(()=>{X.current=!1,F(!0)},200),()=>{J.current&&clearTimeout(J.current),X.current=!1};queueMicrotask(()=>F(!0))},[y]);let eA=(0,s.useCallback)(async()=>{W(!0),await c(e),W(!1)},[e,c]),ez=(0,s.useCallback)(()=>{let e=eu.default.getState().dangerouslySkipPermissions,t=["--settings ~/.purplemux/hooks.json",T?`--append-system-prompt-file ~/.purplemux/workspaces/${T}/claude-prompt.md`:""].filter(Boolean).join(" "),s=`claude ${t}`;return e?`${s} --dangerously-skip-permissions`:s},[T]),eB=(0,s.useCallback)(()=>{"connected"===eN&&n&&(S.default.getState().setSessionView(n,"check"),eD(`${ez()}\r`))},[eN,eD,n,ez]),eM=(0,s.useCallback)(()=>{"connected"===eN&&n&&(en.current=ez(),S.default.getState().setSessionView(n,"check"),eD("/exit\r"))},[eN,eD,n,ez]);(0,s.useEffect)(()=>{if(!en.current||!0===em||"connected"!==eN||!(0,ei.isShellProcess)(el.current))return;let e=en.current;en.current=null,eD(`${e}\r`)},[em,eN,eD]);let e$=(0,s.useCallback)(t=>{n&&T&&fetch(`/api/layout/pane/${e}/tabs/${n}?workspace=${T}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({webUrl:t})}).catch(()=>{})},[n,e,T]),eW=0===a.length,eO=k||w||ev&&"connected"===eN&&!eW,eF=null!==n&&q!==n,eH=(0,s.useRef)(new Set);return(0,s.useEffect)(()=>{"disconnected"!==eN||"session-not-found"!==eP||eF||!n||!C||"terminal"!==(C.panelType??"terminal")||C.lastCommand||eH.current.has(n)||(eH.current.add(n),(async()=>{await d.useLayoutStore.getState().restartTabInPane(e,n)&&eI()})())},[eN,eP,n,C,eF,e,eI]),(0,t.jsxs)("div",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden",style:{backgroundColor:z.colors.background,overscrollBehavior:"none"},children:[k&&n&&(0,t.jsx)(R.default,{initialUrl:C?.webUrl,onUrlChange:e$},n),w&&C&&(0,t.jsx)(I.default,{sessionName:C.sessionName},C.sessionName),y&&C&&(0,t.jsx)(ee,{tabId:n??void 0,wsId:T??void 0,sessionName:C.sessionName,claudeSessionId:C.claudeSessionId,cwd:N,sendStdin:eL,terminalWsConnected:"connected"===eN,focusTerminal:ek,focusInputRef:es,setInputValueRef:ea,onCliStateChange:eh,onInputVisibleChange:ep,onRestartSession:eM,onNewSession:eB}),!k&&!w&&(0,t.jsx)(E.default,{ref:eg,className:(0,v.cn)(!y&&"transition-opacity duration-150",y?"absolute inset-0 pointer-events-none opacity-0":"min-h-0 flex-1",!y&&eO&&O?"opacity-100":"",y||eO&&O?"":"opacity-0")}),!y&&!k&&!w&&"connected"===eN&&(0,t.jsx)(er,{sendStdin:eL,terminalConnected:"connected"===eN}),eW&&(0,t.jsx)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:(0,t.jsxs)(u.Button,{className:"gap-1.5",onClick:b??eA,disabled:$,children:[$?(0,t.jsx)(o.default,{className:"h-3 w-3"}):(0,t.jsx)(r.Plus,{className:"h-3.5 w-3.5"}),j("openNewTab")]})}),!eW&&!k&&"disconnected"===eN&&!eF&&(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"===eP?g("disconnectedMaxConnections"):"pty-error"===eP?g("disconnectedPtyError"):"session-not-found"===eP?j("disconnectedSessionNotFound"):g("cannotConnectServer")}),"session-not-found"===eP&&n?(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(u.Button,{variant:"outline",size:"sm",onClick:async()=>{await d.useLayoutStore.getState().restartTabInPane(e,n)&&eI()},children:g("restart")}),(0,t.jsx)(u.Button,{variant:"ghost",size:"sm",onClick:()=>f(e,n),children:j("closeTabLabel")})]}):(0,t.jsx)(u.Button,{variant:"outline",size:"sm",onClick:eI,children:g("reconnect")})]}),!eW&&!k&&!w&&!(y&&"check"===ex)&&(0,t.jsx)(A.default,{status:eN,retryCount:eT,disconnectReason:eP,onReconnect:eI})]})};var ex=e.i(875284),eh=e.i(296202);let ep=({open:e,onOpenChange:a,onCreateTab:n})=>{let l=(0,i.useTranslations)("terminal"),r=(0,i.useTranslations)("mobile"),[c,u]=(0,s.useState)(null),d=[{key:"claude-new",type:"claude-code",icon:(0,t.jsx)(g.default,{className:"h-5 w-5"}),label:l("claudeNewConversation"),startClaude:!0},{key:"claude",type:"claude-code",icon:(0,t.jsx)(g.default,{className:"h-5 w-5"}),label:l("claudeSessionList")},{key:"terminal",type:"terminal",icon:(0,t.jsx)(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)(o.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,i.useTranslations)("terminal"),h=(0,i.useTranslations)("mobile"),p=(0,i.useTranslations)("common"),b=(0,m.default)(e=>e.isLoading),g=(0,m.default)(e=>e.error),j=(0,m.default)(e=>e.activeWorkspaceId),C=(0,m.default)(e=>e.workspaces).length,y=(0,s.useRef)(null),k=(0,s.useCallback)(()=>{let t=y.current;t&&(m.default.getState().switchWorkspace(t),c.toast.error(e("cannotSwitch")))},[e]),v=(0,d.default)({workspaceId:j,onFetchError:k}),w=(0,s.useMemo)(()=>v.layout?(0,f.collectPanes)(v.layout.root):[],[v.layout]),N=!!(v.layout&&!v.isLoading&&w.every(e=>0===e.tabs.length)),P=v.layout?.updatedAt,R=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!v.layout||!P||R.current===P)return;R.current=P;let e={};for(let t of(0,f.collectPanes)(v.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(!v.layout)return;let e=new Set((0,f.collectPanes)(v.layout.root).flatMap(e=>e.tabs.map(e=>e.id)));x.default.getState().retainOnly(e)},[v.layout]),(0,ej.useAutoDeleteEmptyWorkspace)(N,v.clearLayout);let I=v.layout?.activePaneId??null,D=(I?w.find(e=>e.id===I):null)??w[0]??null,L=D?.id??null,E=D?.activeTabId??null,A=D?.tabs.find(e=>e.id===E)??null,z=A?.panelType??"terminal",B=(0,s.useCallback)(e=>{let{activeWorkspaceId:t}=m.default.getState();e!==t&&(y.current=t,x.default.getState().reset(),v.clearLayout(),m.default.getState().switchWorkspace(e))},[v]);(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)(()=>{E&&(0,eb.dismissTab)(E)},[E]),(0,s.useEffect)(()=>{E&&"claude-code"===z&&"inactive"!==W&&"idle"===W&&(0,eb.dismissTab)(E)},[E,W,z]);let H=(0,S.default)(e=>{if(!E)return!1;let t=e.tabs[E];return t?.cliState==="ready-for-review"||t?.cliState==="needs-input"});(0,s.useEffect)(()=>{H&&E&&(0,eb.dismissTab)(E)},[H,E]);let U=(0,x.default)(e=>E?e.metadata[E]:void 0),V=(0,s.useMemo)(()=>{if(!A)return"";if(A.name)return A.name;let e=U?.title||A.title,t=e?(0,ei.formatTabTitle)(e):"";return t||`Tab ${A.order+1}`},[A,U]),_=(0,s.useCallback)(e=>{D&&E&&v.updateTabPanelType(D.id,E,e)},[D,E,v]),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 v.createTabInPane(D.id,e,s);a&&(S.default.getState().initTab(a.id,{panelType:e,workspaceId:j??""}),t?.command==="claude-new"&&S.default.getState().setSessionView(a.id,"check"))},[D,v,j]),G=(0,s.useCallback)(()=>{D&&E&&v.deleteTabInPane(D.id,E)},[D,E,v]);return b?(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center",children:[(0,t.jsx)(o.default,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"mt-3 text-sm text-muted-foreground",children:e("connecting")})]}):g&&!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?!v.layout||v.isLoading?(0,t.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center",children:(0,t.jsx)(o.default,{className:"h-4 w-4 text-muted-foreground"})}):v.error&&!v.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:v.error}),(0,t.jsxs)(u.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>v.fetchLayout(),children:[(0,t.jsx)(n.RefreshCw,{className:"h-3.5 w-3.5"}),p("retry")]})]}):(0,t.jsxs)(t.Fragment,{children:[D&&E&&(0,t.jsx)(T,{tabId:E,tabName:V,sessionName:A?.sessionName??null,panelType:z,onSwitchPanelType:_,onCreateTab:K,onClose:G},E),D&&E&&(0,t.jsx)(em,{paneId:D.id,tabs:D.tabs,activeTabId:E,panelType:z,onCreateTab:v.createTabInPane,onDeleteTab:v.deleteTabInPane,onSwitchTab:v.switchTabInPane,onRemoveTabLocally:v.removeTabLocally,onUpdateTabPanelType:v.updateTabPanelType,onCliStateChange:F,onOpenNewTabDialog:K},`${L}-${E}`),(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,787856,s=>{"use strict";var t=s.i(391398),e=s.i(958678),a=s.i(168489),i=s.i(950323),l=s.i(117369),u=s.i(191788),n=s.i(603331),c=s.i(266231),h=s.i(852085),r=s.i(673598);let p=(0,a.default)(()=>s.A(518902),{loadableGenerated:{modules:[277184]},ssr:!1}),m=(0,a.default)(()=>s.A(935995),{loadableGenerated:{modules:[938280]},ssr:!1}),d=({initialConfig:s,initialQuickPrompts:a,initialSidebarItems:r})=>{let d=(0,c.default)(),{setTheme:o}=(0,n.useTheme)();(0,h.default)("purplemux");let k=(0,u.useRef)(!1);return(0,u.useEffect)(()=>{!k.current&&(k.current=!0,s.appTheme&&o(s.appTheme),s.terminalTheme&&(0,l.initTerminalTheme)(s.terminalTheme))},[s,o]),(0,t.jsxs)(i.SWRConfig,{value:{fallback:{"/api/quick-prompts":a,"/api/sidebar-items":r}},children:[(0,t.jsx)(e.default,{children:(0,t.jsx)("title",{children:"purplemux"})}),d?(0,t.jsx)(m,{}):(0,t.jsx)(p,{})]})};d.getLayout=r.getPageShellLayout,s.s(["__N_SSP",0,!0,"default",0,d])},155075,(s,t,e)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/",()=>s.r(787856)]),t.hot&&t.hot.dispose(function(){window.__NEXT_P.push(["/"])})},648761,s=>{s.v(t=>Promise.all(["static/chunks/0n..hexfw6r85.js"].map(t=>s.l(t))).then(()=>t(493594)))},828805,s=>{s.v(t=>Promise.all(["static/chunks/18bztvpdorkth.js"].map(t=>s.l(t))).then(()=>t(879466)))},964134,s=>{s.v(t=>Promise.all(["static/chunks/0_e._d67udkpn.js"].map(t=>s.l(t))).then(()=>t(605821)))},78582,s=>{s.v(t=>Promise.all(["static/chunks/0suuptk6vxdav.js"].map(t=>s.l(t))).then(()=>t(698544)))},248001,s=>{s.v(t=>Promise.all(["static/chunks/0312riii_sl_1.js"].map(t=>s.l(t))).then(()=>t(394637)))},518902,s=>{s.v(t=>Promise.all(["static/chunks/0jxk8j~j30thp.js","static/chunks/05oh32ya2uzfq.js","static/chunks/10r8rypk5fanv.js","static/chunks/06ypydsl._u~2.js","static/chunks/0zgde2~kd4r.x.js","static/chunks/11tnyk0iystp1.js"].map(t=>s.l(t))).then(()=>t(277184)))},935995,s=>{s.v(t=>Promise.all(["static/chunks/0jxk8j~j30thp.js","static/chunks/071neb1eikeoh.js","static/chunks/10r8rypk5fanv.js","static/chunks/11tnyk0iystp1.js","static/chunks/0m_amua611xl0.js","static/chunks/0zgde2~kd4r.x.js"].map(t=>s.l(t))).then(()=>t(938280)))}]);