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.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +21 -21
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/routes-manifest.json +7 -7
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__045vzzi._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0auutl5._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__11j9~6h._.js +1 -1
- package/.next/standalone/.next/server/chunks/{_05otee~._.js → _04dq3gt._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_0uxocm.._.js → _09vws3v._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_0d415er._.js → _0ap4fy.._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_0e8e4zn._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0isokfh._.js +1 -1
- package/.next/standalone/.next/server/chunks/{_0_1vqqb._.js → _0su2osz._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_0xmsr59._.js → _0uo_gs5._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_06vitke._.js → _134uyu_._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{src_lib_136edwc._.js → src_lib_0vs5asg._.js} +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_session-parser_ts_0~rhicw._.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0glt298._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0au.ssp._.js → [root-of-the-server]__0nkl4wz._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_06yggfn._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0al4.z9._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0b~zgl1._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0f8k39w._.js +14 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0_owbnq._.js → _0h4kenr._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0z61aq-._.js → _0ihbr8k._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0js4l3t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0nkeoiw._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0rxhzwm._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0y31tie._.js +14 -0
- package/.next/standalone/.next/server/chunks/ssr/messages_de_session_json_[json]_cjs_0b-1vpl._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_en_session_json_[json]_cjs_0jaymfk._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_es_session_json_[json]_cjs_0jy1144._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_fr_session_json_[json]_cjs_0rz0g.c._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ja_session_json_[json]_cjs_0cos-uy._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ko_session_json_[json]_cjs_0x4saic._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_session_json_[json]_cjs_0-x8ftl._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ru_session_json_[json]_cjs_0~2-kve._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_tr_session_json_[json]_cjs_0zsvt_4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_session_json_[json]_cjs_134xza~._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_session_json_[json]_cjs_0mv_~-8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_components_features_mobile_mobile-terminal-page_tsx_02chzch._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_components_features_workspace_terminal-page_tsx_0wuq-jl._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +21 -21
- package/.next/standalone/.next/server/pages/_app/build-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/_app.js +2 -2
- package/.next/standalone/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/_error.js +2 -2
- package/.next/standalone/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/status/hook.js +1 -1
- package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/status/statusline.js +1 -1
- package/.next/standalone/.next/server/pages/api/status/statusline.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/reset.js +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/reset.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/workspace.js +1 -1
- package/.next/standalone/.next/server/pages/api/workspace.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/de/404.html +1 -1
- package/.next/standalone/.next/server/pages/de/500.html +1 -1
- package/.next/standalone/.next/server/pages/en/404.html +1 -1
- package/.next/standalone/.next/server/pages/en/500.html +1 -1
- package/.next/standalone/.next/server/pages/es/404.html +1 -1
- package/.next/standalone/.next/server/pages/es/500.html +1 -1
- package/.next/standalone/.next/server/pages/fr/404.html +1 -1
- package/.next/standalone/.next/server/pages/fr/500.html +1 -1
- package/.next/standalone/.next/server/pages/index/build-manifest.json +4 -4
- package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +8 -10
- package/.next/standalone/.next/server/pages/index.js +2 -2
- package/.next/standalone/.next/server/pages/index.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/ja/404.html +1 -1
- package/.next/standalone/.next/server/pages/ja/500.html +1 -1
- package/.next/standalone/.next/server/pages/ko/404.html +1 -1
- package/.next/standalone/.next/server/pages/ko/500.html +1 -1
- package/.next/standalone/.next/server/pages/login.js +2 -2
- package/.next/standalone/.next/server/pages/login.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
- package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
- package/.next/standalone/.next/server/pages/reports/build-manifest.json +3 -3
- package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/reports.js +2 -2
- package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/reset.js +2 -2
- package/.next/standalone/.next/server/pages/reset.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/ru/404.html +1 -1
- package/.next/standalone/.next/server/pages/ru/500.html +1 -1
- package/.next/standalone/.next/server/pages/stats/build-manifest.json +3 -3
- package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/stats.js +2 -2
- package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/tools-required.js +2 -2
- package/.next/standalone/.next/server/pages/tools-required.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/tr/404.html +1 -1
- package/.next/standalone/.next/server/pages/tr/500.html +1 -1
- package/.next/standalone/.next/server/pages/webview/build-manifest.json +3 -3
- package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/webview.js +2 -2
- package/.next/standalone/.next/server/pages/webview.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
- package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
- package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
- package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
- package/.next/standalone/.next/static/{WXAyTQ0PHZnxXXCwEZpit → 5mb_D_gy6E3wsT_BhuXDS}/_buildManifest.js +4 -4
- package/.next/standalone/.next/static/chunks/0-ku865ak6iur.js +1 -0
- package/.next/standalone/.next/static/chunks/{17deooyefr~9o.js → 04.g49tb8txni.js} +1 -1
- package/.next/standalone/.next/static/chunks/05_e09pgcymkh.js +1 -0
- package/.next/standalone/.next/static/chunks/{0w9~wt6~_cxhf.js → 05o-f2v7xe3_~.js} +1 -1
- package/.next/standalone/.next/static/chunks/06zq-2isv5vn6.js +1 -0
- package/.next/standalone/.next/static/chunks/{11ess6mn2988z.js → 08zfbuugw_i52.js} +3 -3
- package/.next/standalone/.next/static/chunks/{0lz-p_awksh5e.js → 0biwudo-tl.dw.js} +1 -1
- package/.next/standalone/.next/static/chunks/0dh2cf_c4gz65.js +1 -0
- package/.next/standalone/.next/static/chunks/0fwnzw~qq_abm.js +1 -0
- package/.next/standalone/.next/static/chunks/{00ziyk306y55s.js → 0g2qc5wv7c9.a.js} +1 -1
- package/.next/standalone/.next/static/chunks/0gjtphww9wtey.js +12 -0
- package/.next/standalone/.next/static/chunks/0om8~g_7-c-x5.js +12 -0
- package/.next/standalone/.next/static/chunks/{17et6y09q052u.js → 0qc36tzow-sbz.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0if5fmp94~nc2.js → 0qr~rkd5sq-yp.js} +5 -5
- package/.next/standalone/.next/static/chunks/{0y3fmkya..f_6.js → 0qwvk-uq944-d.js} +3 -3
- package/.next/standalone/.next/static/chunks/{095e2xf3z6x3g.js → 0r_ynb..7ongv.js} +4 -4
- package/.next/standalone/.next/static/chunks/{010m3dplwy4n6.js → 0ryghnq7iy47v.js} +3 -3
- package/.next/standalone/.next/static/chunks/0se1ra8f1bor~.js +1 -0
- package/.next/standalone/.next/static/chunks/{0pw-284q1gfk3.js → 0szz-2.f~11pz.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0u-1zto-umjh9.js → 0t2val7bf4~s7.js} +1 -1
- package/.next/standalone/.next/static/chunks/{08xz_z9u4ex9t.js → 0tgkw7pjpp21_.js} +1 -1
- package/.next/standalone/.next/static/chunks/{04uzwc8c9u49~.js → 0u9dn7tzog.gz.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0jxk8j~j30thp.js → 0u9yrtrs1bktp.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0f81tdf_8utww.js → 0wdd71tayg8y1.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0h~_fdj60t_~l.js → 0~vm4d30sl9ii.js} +1 -1
- package/.next/standalone/.next/static/chunks/107edt81z_gzy.css +3 -0
- package/.next/standalone/.next/static/chunks/{0t0-4sn-nqqld.js → 128d.rbx4e4rt.js} +1 -1
- package/.next/standalone/.next/static/chunks/132lgf3mld2ax.js +1 -0
- package/.next/standalone/.next/static/chunks/{07v3udp2qhc02.js → 17jdo1q-xb24-.js} +1 -1
- package/.next/standalone/.next/static/chunks/184~yri~m3wao.css +1 -0
- package/.next/standalone/.next/static/chunks/{turbopack-0.28.d-q12n3p.js → turbopack-066o21-32lo7n.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0-itu0o9y_vq8.js → turbopack-0abq2d._xmt7y.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0h0~tr4tgq3aa.js → turbopack-0sisjg~-koq5w.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0qmx66h203l93.js → turbopack-11tk4snp~dxd4.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0g80nrinbfgtk.js → turbopack-17.piokhhz77b.js} +1 -1
- package/.next/standalone/messages/de/session.json +3 -1
- package/.next/standalone/messages/en/session.json +3 -1
- package/.next/standalone/messages/es/session.json +3 -1
- package/.next/standalone/messages/fr/session.json +3 -1
- package/.next/standalone/messages/ja/session.json +3 -1
- package/.next/standalone/messages/ko/session.json +3 -1
- package/.next/standalone/messages/pt-BR/session.json +3 -1
- package/.next/standalone/messages/ru/session.json +3 -1
- package/.next/standalone/messages/tr/session.json +3 -1
- package/.next/standalone/messages/zh-CN/session.json +3 -1
- package/.next/standalone/messages/zh-TW/session.json +3 -1
- package/.next/standalone/package.json +4 -3
- package/.next/standalone/server.js +1 -1
- package/dist/server.js +268 -6
- package/package.json +4 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07i-oza._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0iy5a-w._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/_0qbbxeq._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0kc8lix._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_highlight_js_lib_core_0h1yngz.js +0 -3
- package/.next/standalone/.next/static/chunks/0-xrsiia9hc.c.js +0 -1
- package/.next/standalone/.next/static/chunks/04bbxzycy0y90.js +0 -1
- package/.next/standalone/.next/static/chunks/05oh32ya2uzfq.js +0 -1
- package/.next/standalone/.next/static/chunks/06e51nokt~dtt.js +0 -1
- package/.next/standalone/.next/static/chunks/06ypydsl._u~2.js +0 -5
- package/.next/standalone/.next/static/chunks/071neb1eikeoh.js +0 -1
- package/.next/standalone/.next/static/chunks/09tinkgkd8br_.js +0 -1
- package/.next/standalone/.next/static/chunks/0m_amua611xl0.js +0 -5
- package/.next/standalone/.next/static/chunks/0o6esya.vhm1..js +0 -1
- package/.next/standalone/.next/static/chunks/0z3gpm0o.mwwy.css +0 -3
- package/.next/standalone/.next/static/chunks/0~ei.a78nuwqe.js +0 -1
- package/.next/standalone/.next/static/chunks/10r8rypk5fanv.js +0 -1
- package/.next/standalone/.next/static/chunks/13zzmkwag6vsm.css +0 -1
- /package/.next/standalone/.next/static/{WXAyTQ0PHZnxXXCwEZpit → 5mb_D_gy6E3wsT_BhuXDS}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{WXAyTQ0PHZnxXXCwEZpit → 5mb_D_gy6E3wsT_BhuXDS}/_ssgManifest.js +0 -0
package/.next/standalone/.next/server/chunks/ssr/messages_de_session_json_[json]_cjs_0b-1vpl._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[702176,(a,b,c)=>{b.exports={noMessage:"(keine Nachricht)",newSessionTitle:"(neue Sitzung)",sessionLabel:"Sitzung: {message}",turnCount:"{count} Durchgänge",justNow:"gerade eben",minutesAgo:"vor {count} Min.",hoursAgo:"vor {count} Std.",yesterday:"gestern",daysAgo:"vor {count} T.",weeksAgo:"vor {count} W.",monthsAgo:"vor {count} Mon.",yearsAgo:"vor {count} J.",empty:{closeLabel:"Schließen",noSession:"Keine Sitzungen",startNewSession:"Führe claude im Terminal aus,{br}um eine neue Sitzung zu starten",newConversation:"Neues Gespräch",close:"Schließen"},meta:{message:"Nachrichten",userAssistant:"Benutzer {userCount} / Antwort {assistantCount}",toolsCount:"Werkzeuge {count}",tokens:"Tokens",inputOutput:"Ein {input} / Aus {output}",context:"Kontext",model:"Modell",cost:"Kosten",created:"Erstellt",updated:"Aktualisiert",path:"Pfad",process:"Prozess",size:"Größe",session:"Sitzung"}}}];
|
|
1
|
+
module.exports=[702176,(a,b,c)=>{b.exports={noMessage:"(keine Nachricht)",newSessionTitle:"(neue Sitzung)",sessionLabel:"Sitzung: {message}",turnCount:"{count} Durchgänge",justNow:"gerade eben",minutesAgo:"vor {count} Min.",hoursAgo:"vor {count} Std.",yesterday:"gestern",daysAgo:"vor {count} T.",weeksAgo:"vor {count} W.",monthsAgo:"vor {count} Mon.",yearsAgo:"vor {count} J.",empty:{closeLabel:"Schließen",noSession:"Keine Sitzungen",startNewSession:"Führe claude im Terminal aus,{br}um eine neue Sitzung zu starten",newConversation:"Neues Gespräch",close:"Schließen"},meta:{message:"Nachrichten",userAssistant:"Benutzer {userCount} / Antwort {assistantCount}",toolsCount:"Werkzeuge {count}",tokens:"Tokens",inputOutput:"Ein {input} / Aus {output}",context:"Kontext",model:"Modell",cost:"Kosten",created:"Erstellt",updated:"Aktualisiert",path:"Pfad",process:"Prozess",size:"Größe",session:"Sitzung",contextHintAmber:"Kontext ist über die Hälfte voll",contextHintRed:"Grenze rückt näher — /compact oder neue Sitzung erwägen"}}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=messages_de_session_json_%5Bjson%5D_cjs_0b-1vpl._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/messages_en_session_json_[json]_cjs_0jaymfk._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[935699,(a,b,c)=>{b.exports={noMessage:"(no message)",newSessionTitle:"(new session)",sessionLabel:"Session: {message}",turnCount:"{count} turns",justNow:"just now",minutesAgo:"{count}m ago",hoursAgo:"{count}h ago",yesterday:"yesterday",daysAgo:"{count}d ago",weeksAgo:"{count}w ago",monthsAgo:"{count}mo ago",yearsAgo:"{count}y ago",empty:{closeLabel:"Close",noSession:"No sessions",startNewSession:"Run claude in the terminal{br}to start a new session",newConversation:"New conversation",close:"Close"},meta:{message:"Messages",userAssistant:"User {userCount} / Response {assistantCount}",toolsCount:"Tools {count}",tokens:"Tokens",inputOutput:"In {input} / Out {output}",context:"Context",model:"Model",cost:"Cost",created:"Created",updated:"Updated",path:"Path",process:"Process",size:"Size",session:"Session"}}}];
|
|
1
|
+
module.exports=[935699,(a,b,c)=>{b.exports={noMessage:"(no message)",newSessionTitle:"(new session)",sessionLabel:"Session: {message}",turnCount:"{count} turns",justNow:"just now",minutesAgo:"{count}m ago",hoursAgo:"{count}h ago",yesterday:"yesterday",daysAgo:"{count}d ago",weeksAgo:"{count}w ago",monthsAgo:"{count}mo ago",yearsAgo:"{count}y ago",empty:{closeLabel:"Close",noSession:"No sessions",startNewSession:"Run claude in the terminal{br}to start a new session",newConversation:"New conversation",close:"Close"},meta:{message:"Messages",userAssistant:"User {userCount} / Response {assistantCount}",toolsCount:"Tools {count}",tokens:"Tokens",inputOutput:"In {input} / Out {output}",context:"Context",model:"Model",cost:"Cost",created:"Created",updated:"Updated",path:"Path",process:"Process",size:"Size",session:"Session",contextHintAmber:"Context is over half full",contextHintRed:"Nearing the limit — consider /compact or starting a new session"}}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=messages_en_session_json_%5Bjson%5D_cjs_0jaymfk._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/messages_es_session_json_[json]_cjs_0jy1144._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[816858,(a,b,c)=>{b.exports={noMessage:"(sin mensaje)",newSessionTitle:"(nueva sesión)",sessionLabel:"Sesión: {message}",turnCount:"{count} turnos",justNow:"ahora mismo",minutesAgo:"hace {count}m",hoursAgo:"hace {count}h",yesterday:"ayer",daysAgo:"hace {count}d",weeksAgo:"hace {count}sem",monthsAgo:"hace {count}mes",yearsAgo:"hace {count}a",empty:{closeLabel:"Cerrar",noSession:"Sin sesiones",startNewSession:"Ejecuta claude en el terminal{br}para iniciar una nueva sesión",newConversation:"Nueva conversación",close:"Cerrar"},meta:{message:"Mensajes",userAssistant:"Usuario {userCount} / Respuesta {assistantCount}",toolsCount:"Herramientas {count}",tokens:"Tokens",inputOutput:"Entrada {input} / Salida {output}",context:"Contexto",model:"Modelo",cost:"Costo",created:"Creado",updated:"Actualizado",path:"Ruta",process:"Proceso",size:"Tamaño",session:"Sesión"}}}];
|
|
1
|
+
module.exports=[816858,(a,b,c)=>{b.exports={noMessage:"(sin mensaje)",newSessionTitle:"(nueva sesión)",sessionLabel:"Sesión: {message}",turnCount:"{count} turnos",justNow:"ahora mismo",minutesAgo:"hace {count}m",hoursAgo:"hace {count}h",yesterday:"ayer",daysAgo:"hace {count}d",weeksAgo:"hace {count}sem",monthsAgo:"hace {count}mes",yearsAgo:"hace {count}a",empty:{closeLabel:"Cerrar",noSession:"Sin sesiones",startNewSession:"Ejecuta claude en el terminal{br}para iniciar una nueva sesión",newConversation:"Nueva conversación",close:"Cerrar"},meta:{message:"Mensajes",userAssistant:"Usuario {userCount} / Respuesta {assistantCount}",toolsCount:"Herramientas {count}",tokens:"Tokens",inputOutput:"Entrada {input} / Salida {output}",context:"Contexto",model:"Modelo",cost:"Costo",created:"Creado",updated:"Actualizado",path:"Ruta",process:"Proceso",size:"Tamaño",session:"Sesión",contextHintAmber:"El contexto supera la mitad",contextHintRed:"Cerca del límite — considera /compact o iniciar una nueva sesión"}}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=messages_es_session_json_%5Bjson%5D_cjs_0jy1144._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/messages_fr_session_json_[json]_cjs_0rz0g.c._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[54456,(a,b,c)=>{b.exports={noMessage:"(aucun message)",newSessionTitle:"(nouvelle session)",sessionLabel:"Session : {message}",turnCount:"{count} échanges",justNow:"à l'instant",minutesAgo:"il y a {count} min",hoursAgo:"il y a {count} h",yesterday:"hier",daysAgo:"il y a {count} j",weeksAgo:"il y a {count} sem",monthsAgo:"il y a {count} mois",yearsAgo:"il y a {count} an(s)",empty:{closeLabel:"Fermer",noSession:"Aucune session",startNewSession:"Exécutez claude dans le terminal{br}pour démarrer une nouvelle session",newConversation:"Nouvelle conversation",close:"Fermer"},meta:{message:"Messages",userAssistant:"Utilisateur {userCount} / Réponse {assistantCount}",toolsCount:"Outils {count}",tokens:"Tokens",inputOutput:"Entrée {input} / Sortie {output}",context:"Contexte",model:"Modèle",cost:"Coût",created:"Créé",updated:"Mis à jour",path:"Chemin",process:"Processus",size:"Taille",session:"Session"}}}];
|
|
1
|
+
module.exports=[54456,(a,b,c)=>{b.exports={noMessage:"(aucun message)",newSessionTitle:"(nouvelle session)",sessionLabel:"Session : {message}",turnCount:"{count} échanges",justNow:"à l'instant",minutesAgo:"il y a {count} min",hoursAgo:"il y a {count} h",yesterday:"hier",daysAgo:"il y a {count} j",weeksAgo:"il y a {count} sem",monthsAgo:"il y a {count} mois",yearsAgo:"il y a {count} an(s)",empty:{closeLabel:"Fermer",noSession:"Aucune session",startNewSession:"Exécutez claude dans le terminal{br}pour démarrer une nouvelle session",newConversation:"Nouvelle conversation",close:"Fermer"},meta:{message:"Messages",userAssistant:"Utilisateur {userCount} / Réponse {assistantCount}",toolsCount:"Outils {count}",tokens:"Tokens",inputOutput:"Entrée {input} / Sortie {output}",context:"Contexte",model:"Modèle",cost:"Coût",created:"Créé",updated:"Mis à jour",path:"Chemin",process:"Processus",size:"Taille",session:"Session",contextHintAmber:"Le contexte dépasse la moitié",contextHintRed:"Proche de la limite — envisagez /compact ou une nouvelle session"}}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=messages_fr_session_json_%5Bjson%5D_cjs_0rz0g.c._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/messages_ja_session_json_[json]_cjs_0cos-uy._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[339019,(a,b,c)=>{b.exports={noMessage:"(メッセージなし)",newSessionTitle:"(新しいセッション)",sessionLabel:"セッション: {message}",turnCount:"{count}ターン",justNow:"たった今",minutesAgo:"{count}分前",hoursAgo:"{count}時間前",yesterday:"昨日",daysAgo:"{count}日前",weeksAgo:"{count}週間前",monthsAgo:"{count}ヶ月前",yearsAgo:"{count}年前",empty:{closeLabel:"閉じる",noSession:"セッションがありません",startNewSession:"ターミナルでclaudeを実行して{br}新しいセッションを開始します",newConversation:"新しい会話",close:"閉じる"},meta:{message:"メッセージ",userAssistant:"ユーザー {userCount} / 応答 {assistantCount}",toolsCount:"ツール {count}",tokens:"トークン",inputOutput:"入力 {input} / 出力 {output}",context:"コンテキスト",model:"モデル",cost:"コスト",created:"作成日時",updated:"更新日時",path:"パス",process:"プロセス",size:"サイズ",session:"セッション"}}}];
|
|
1
|
+
module.exports=[339019,(a,b,c)=>{b.exports={noMessage:"(メッセージなし)",newSessionTitle:"(新しいセッション)",sessionLabel:"セッション: {message}",turnCount:"{count}ターン",justNow:"たった今",minutesAgo:"{count}分前",hoursAgo:"{count}時間前",yesterday:"昨日",daysAgo:"{count}日前",weeksAgo:"{count}週間前",monthsAgo:"{count}ヶ月前",yearsAgo:"{count}年前",empty:{closeLabel:"閉じる",noSession:"セッションがありません",startNewSession:"ターミナルでclaudeを実行して{br}新しいセッションを開始します",newConversation:"新しい会話",close:"閉じる"},meta:{message:"メッセージ",userAssistant:"ユーザー {userCount} / 応答 {assistantCount}",toolsCount:"ツール {count}",tokens:"トークン",inputOutput:"入力 {input} / 出力 {output}",context:"コンテキスト",model:"モデル",cost:"コスト",created:"作成日時",updated:"更新日時",path:"パス",process:"プロセス",size:"サイズ",session:"セッション",contextHintAmber:"コンテキストが半分を超えました",contextHintRed:"上限に近づいています — /compact または新しいセッションを検討してください"}}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=messages_ja_session_json_%5Bjson%5D_cjs_0cos-uy._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/messages_ko_session_json_[json]_cjs_0x4saic._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[363968,(a,b,c)=>{b.exports={noMessage:"(메시지 없음)",newSessionTitle:"(새 세션)",sessionLabel:"세션: {message}",turnCount:"{count}턴",justNow:"방금 전",minutesAgo:"{count}분 전",hoursAgo:"{count}시간 전",yesterday:"어제",daysAgo:"{count}일 전",weeksAgo:"{count}주 전",monthsAgo:"{count}개월 전",yearsAgo:"{count}년 전",empty:{closeLabel:"닫기",noSession:"세션 없음",startNewSession:"터미널에서 claude를 실행하여{br}새 세션을 시작하세요",newConversation:"새 대화",close:"닫기"},meta:{message:"메시지",userAssistant:"사용자 {userCount} / 응답 {assistantCount}",toolsCount:"도구 {count}",tokens:"토큰",inputOutput:"입력 {input} / 출력 {output}",context:"컨텍스트",model:"모델",cost:"비용",created:"생성",updated:"수정",path:"경로",process:"프로세스",size:"크기",session:"세션"}}}];
|
|
1
|
+
module.exports=[363968,(a,b,c)=>{b.exports={noMessage:"(메시지 없음)",newSessionTitle:"(새 세션)",sessionLabel:"세션: {message}",turnCount:"{count}턴",justNow:"방금 전",minutesAgo:"{count}분 전",hoursAgo:"{count}시간 전",yesterday:"어제",daysAgo:"{count}일 전",weeksAgo:"{count}주 전",monthsAgo:"{count}개월 전",yearsAgo:"{count}년 전",empty:{closeLabel:"닫기",noSession:"세션 없음",startNewSession:"터미널에서 claude를 실행하여{br}새 세션을 시작하세요",newConversation:"새 대화",close:"닫기"},meta:{message:"메시지",userAssistant:"사용자 {userCount} / 응답 {assistantCount}",toolsCount:"도구 {count}",tokens:"토큰",inputOutput:"입력 {input} / 출력 {output}",context:"컨텍스트",model:"모델",cost:"비용",created:"생성",updated:"수정",path:"경로",process:"프로세스",size:"크기",session:"세션",contextHintAmber:"컨텍스트가 절반을 넘었습니다",contextHintRed:"한도에 가까워졌습니다 — 압축하거나 새 세션을 시작하세요"}}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=messages_ko_session_json_%5Bjson%5D_cjs_0x4saic._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_session_json_[json]_cjs_0-x8ftl._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[511344,(a,b,c)=>{b.exports={noMessage:"(sem mensagem)",newSessionTitle:"(nova sessao)",sessionLabel:"Sessao: {message}",turnCount:"{count} turnos",justNow:"agora",minutesAgo:"{count}min atras",hoursAgo:"{count}h atras",yesterday:"ontem",daysAgo:"{count}d atras",weeksAgo:"{count}sem atras",monthsAgo:"{count}m atras",yearsAgo:"{count}a atras",empty:{closeLabel:"Fechar",noSession:"Nenhuma sessao",startNewSession:"Execute claude no terminal{br}para iniciar uma nova sessao",newConversation:"Nova conversa",close:"Fechar"},meta:{message:"Mensagens",userAssistant:"Usuario {userCount} / Resposta {assistantCount}",toolsCount:"Ferramentas {count}",tokens:"Tokens",inputOutput:"Entrada {input} / Saida {output}",context:"Contexto",model:"Modelo",cost:"Custo",created:"Criado",updated:"Atualizado",path:"Caminho",process:"Processo",size:"Tamanho",session:"Sessao"}}}];
|
|
1
|
+
module.exports=[511344,(a,b,c)=>{b.exports={noMessage:"(sem mensagem)",newSessionTitle:"(nova sessao)",sessionLabel:"Sessao: {message}",turnCount:"{count} turnos",justNow:"agora",minutesAgo:"{count}min atras",hoursAgo:"{count}h atras",yesterday:"ontem",daysAgo:"{count}d atras",weeksAgo:"{count}sem atras",monthsAgo:"{count}m atras",yearsAgo:"{count}a atras",empty:{closeLabel:"Fechar",noSession:"Nenhuma sessao",startNewSession:"Execute claude no terminal{br}para iniciar uma nova sessao",newConversation:"Nova conversa",close:"Fechar"},meta:{message:"Mensagens",userAssistant:"Usuario {userCount} / Resposta {assistantCount}",toolsCount:"Ferramentas {count}",tokens:"Tokens",inputOutput:"Entrada {input} / Saida {output}",context:"Contexto",model:"Modelo",cost:"Custo",created:"Criado",updated:"Atualizado",path:"Caminho",process:"Processo",size:"Tamanho",session:"Sessao",contextHintAmber:"Contexto passou da metade",contextHintRed:"Perto do limite — considere /compact ou uma nova sessao"}}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=messages_pt-BR_session_json_%5Bjson%5D_cjs_0-x8ftl._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/messages_ru_session_json_[json]_cjs_0~2-kve._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[305872,(a,b,c)=>{b.exports={noMessage:"(нет сообщений)",newSessionTitle:"(новая сессия)",sessionLabel:"Сессия: {message}",turnCount:"{count} обменов",justNow:"только что",minutesAgo:"{count} мин. назад",hoursAgo:"{count} ч. назад",yesterday:"вчера",daysAgo:"{count} дн. назад",weeksAgo:"{count} нед. назад",monthsAgo:"{count} мес. назад",yearsAgo:"{count} г. назад",empty:{closeLabel:"Закрыть",noSession:"Нет сессий",startNewSession:"Запустите claude в терминале,{br}чтобы начать новую сессию",newConversation:"Новая беседа",close:"Закрыть"},meta:{message:"Сообщения",userAssistant:"Пользователь {userCount} / Ответ {assistantCount}",toolsCount:"Инструменты {count}",tokens:"Токены",inputOutput:"Вход {input} / Выход {output}",context:"Контекст",model:"Модель",cost:"Стоимость",created:"Создано",updated:"Обновлено",path:"Путь",process:"Процесс",size:"Размер",session:"Сессия"}}}];
|
|
1
|
+
module.exports=[305872,(a,b,c)=>{b.exports={noMessage:"(нет сообщений)",newSessionTitle:"(новая сессия)",sessionLabel:"Сессия: {message}",turnCount:"{count} обменов",justNow:"только что",minutesAgo:"{count} мин. назад",hoursAgo:"{count} ч. назад",yesterday:"вчера",daysAgo:"{count} дн. назад",weeksAgo:"{count} нед. назад",monthsAgo:"{count} мес. назад",yearsAgo:"{count} г. назад",empty:{closeLabel:"Закрыть",noSession:"Нет сессий",startNewSession:"Запустите claude в терминале,{br}чтобы начать новую сессию",newConversation:"Новая беседа",close:"Закрыть"},meta:{message:"Сообщения",userAssistant:"Пользователь {userCount} / Ответ {assistantCount}",toolsCount:"Инструменты {count}",tokens:"Токены",inputOutput:"Вход {input} / Выход {output}",context:"Контекст",model:"Модель",cost:"Стоимость",created:"Создано",updated:"Обновлено",path:"Путь",process:"Процесс",size:"Размер",session:"Сессия",contextHintAmber:"Контекст заполнен более чем наполовину",contextHintRed:"Близко к пределу — используйте /compact или начните новую сессию"}}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=messages_ru_session_json_%5Bjson%5D_cjs_0~2-kve._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/messages_tr_session_json_[json]_cjs_0zsvt_4._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[784578,(a,b,c)=>{b.exports={noMessage:"(mesaj yok)",newSessionTitle:"(yeni oturum)",sessionLabel:"Oturum: {message}",turnCount:"{count} tur",justNow:"az önce",minutesAgo:"{count}dk önce",hoursAgo:"{count}sa önce",yesterday:"dün",daysAgo:"{count}g önce",weeksAgo:"{count}hf önce",monthsAgo:"{count}ay önce",yearsAgo:"{count}yıl önce",empty:{closeLabel:"Kapat",noSession:"Oturum yok",startNewSession:"Yeni bir oturum başlatmak için{br}terminalde claude komutunu çalıştırın",newConversation:"Yeni sohbet",close:"Kapat"},meta:{message:"Mesajlar",userAssistant:"Kullanıcı {userCount} / Yanıt {assistantCount}",toolsCount:"Araçlar {count}",tokens:"Token",inputOutput:"Giriş {input} / Çıkış {output}",context:"Bağlam",model:"Model",cost:"Maliyet",created:"Oluşturulma",updated:"Güncellenme",path:"Yol",process:"İşlem",size:"Boyut",session:"Oturum"}}}];
|
|
1
|
+
module.exports=[784578,(a,b,c)=>{b.exports={noMessage:"(mesaj yok)",newSessionTitle:"(yeni oturum)",sessionLabel:"Oturum: {message}",turnCount:"{count} tur",justNow:"az önce",minutesAgo:"{count}dk önce",hoursAgo:"{count}sa önce",yesterday:"dün",daysAgo:"{count}g önce",weeksAgo:"{count}hf önce",monthsAgo:"{count}ay önce",yearsAgo:"{count}yıl önce",empty:{closeLabel:"Kapat",noSession:"Oturum yok",startNewSession:"Yeni bir oturum başlatmak için{br}terminalde claude komutunu çalıştırın",newConversation:"Yeni sohbet",close:"Kapat"},meta:{message:"Mesajlar",userAssistant:"Kullanıcı {userCount} / Yanıt {assistantCount}",toolsCount:"Araçlar {count}",tokens:"Token",inputOutput:"Giriş {input} / Çıkış {output}",context:"Bağlam",model:"Model",cost:"Maliyet",created:"Oluşturulma",updated:"Güncellenme",path:"Yol",process:"İşlem",size:"Boyut",session:"Oturum",contextHintAmber:"Bağlam yarıyı aştı",contextHintRed:"Sınıra yaklaşıyor — /compact veya yeni bir oturum düşünün"}}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=messages_tr_session_json_%5Bjson%5D_cjs_0zsvt_4._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_session_json_[json]_cjs_134xza~._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[802468,(a,b,c)=>{b.exports={noMessage:"(无消息)",newSessionTitle:"(新会话)",sessionLabel:"会话:{message}",turnCount:"{count}轮对话",justNow:"刚刚",minutesAgo:"{count}分钟前",hoursAgo:"{count}小时前",yesterday:"昨天",daysAgo:"{count}天前",weeksAgo:"{count}周前",monthsAgo:"{count}个月前",yearsAgo:"{count}年前",empty:{closeLabel:"关闭",noSession:"没有会话",startNewSession:"在终端中运行claude{br}开始新会话",newConversation:"新对话",close:"关闭"},meta:{message:"消息",userAssistant:"用户 {userCount} / 响应 {assistantCount}",toolsCount:"工具 {count}",tokens:"令牌",inputOutput:"输入 {input} / 输出 {output}",context:"上下文",model:"模型",cost:"费用",created:"创建时间",updated:"更新时间",path:"路径",process:"进程",size:"大小",session:"会话"}}}];
|
|
1
|
+
module.exports=[802468,(a,b,c)=>{b.exports={noMessage:"(无消息)",newSessionTitle:"(新会话)",sessionLabel:"会话:{message}",turnCount:"{count}轮对话",justNow:"刚刚",minutesAgo:"{count}分钟前",hoursAgo:"{count}小时前",yesterday:"昨天",daysAgo:"{count}天前",weeksAgo:"{count}周前",monthsAgo:"{count}个月前",yearsAgo:"{count}年前",empty:{closeLabel:"关闭",noSession:"没有会话",startNewSession:"在终端中运行claude{br}开始新会话",newConversation:"新对话",close:"关闭"},meta:{message:"消息",userAssistant:"用户 {userCount} / 响应 {assistantCount}",toolsCount:"工具 {count}",tokens:"令牌",inputOutput:"输入 {input} / 输出 {output}",context:"上下文",model:"模型",cost:"费用",created:"创建时间",updated:"更新时间",path:"路径",process:"进程",size:"大小",session:"会话",contextHintAmber:"上下文已超过一半",contextHintRed:"接近上限 — 考虑 /compact 或开启新会话"}}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=messages_zh-CN_session_json_%5Bjson%5D_cjs_134xza~._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_session_json_[json]_cjs_0mv_~-8._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[171303,(a,b,c)=>{b.exports={noMessage:"(無訊息)",newSessionTitle:"(新工作階段)",sessionLabel:"工作階段:{message}",turnCount:"{count} 輪對話",justNow:"剛剛",minutesAgo:"{count} 分鐘前",hoursAgo:"{count} 小時前",yesterday:"昨天",daysAgo:"{count} 天前",weeksAgo:"{count} 週前",monthsAgo:"{count} 個月前",yearsAgo:"{count} 年前",empty:{closeLabel:"關閉",noSession:"沒有工作階段",startNewSession:"在終端機中執行 claude{br}以開始新的工作階段",newConversation:"新對話",close:"關閉"},meta:{message:"訊息",userAssistant:"使用者 {userCount} / 回應 {assistantCount}",toolsCount:"工具 {count}",tokens:"Token 數",inputOutput:"輸入 {input} / 輸出 {output}",context:"上下文",model:"模型",cost:"費用",created:"建立時間",updated:"更新時間",path:"路徑",process:"處理程序",size:"大小",session:"工作階段"}}}];
|
|
1
|
+
module.exports=[171303,(a,b,c)=>{b.exports={noMessage:"(無訊息)",newSessionTitle:"(新工作階段)",sessionLabel:"工作階段:{message}",turnCount:"{count} 輪對話",justNow:"剛剛",minutesAgo:"{count} 分鐘前",hoursAgo:"{count} 小時前",yesterday:"昨天",daysAgo:"{count} 天前",weeksAgo:"{count} 週前",monthsAgo:"{count} 個月前",yearsAgo:"{count} 年前",empty:{closeLabel:"關閉",noSession:"沒有工作階段",startNewSession:"在終端機中執行 claude{br}以開始新的工作階段",newConversation:"新對話",close:"關閉"},meta:{message:"訊息",userAssistant:"使用者 {userCount} / 回應 {assistantCount}",toolsCount:"工具 {count}",tokens:"Token 數",inputOutput:"輸入 {input} / 輸出 {output}",context:"上下文",model:"模型",cost:"費用",created:"建立時間",updated:"更新時間",path:"路徑",process:"處理程序",size:"大小",session:"工作階段",contextHintAmber:"上下文已超過一半",contextHintRed:"接近上限 — 建議 /compact 或開啟新工作階段"}}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=messages_zh-TW_session_json_%5Bjson%5D_cjs_0mv_~-8._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[278878,a=>{"use strict";var b=a.i(508171),c=a.i(127669),d=a.i(369773),e=a.i(506766),f=a.i(915150),g=a.i(493901),h=a.i(113952),i=a.i(581228),j=a.i(510414),k=a.i(396465),l=a.i(626605),m=a.i(144784),n=a.i(912251),o=a.i(199462),p=a.i(734637),q=a.i(949348),r=a.i(533695),s=a.i(231473),t=a.i(203725),u=a.i(569834);let v=({open:a,onOpenChange:d,sessionName:e})=>{let f=(0,h.useTranslations)("terminal"),[g,i]=(0,c.useState)(""),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(null),s=a&&e?e:null;s!==p&&(q(s),i(""),o(null),m(null!==s)),(0,c.useEffect)(()=>{if(!p)return;let a=!1;return fetch(`/api/tmux/capture?session=${encodeURIComponent(p)}`).then(a=>{if(!a.ok)throw Error("capture failed");return a.json()}).then(b=>{a||(i((b.content??"").replace(/\s+$/g,"")),m(!1))}).catch(()=>{a||(o(f("copyPaneCaptureFailed")),m(!1))}),()=>{a=!0}},[p,f]);let t=(0,c.useCallback)(async()=>{if(g)try{await navigator.clipboard.writeText(g),j.toast.success(f("copyPaneSuccess"),{duration:1500}),d(!1)}catch{j.toast.error(f("copyPaneCopyFailed"))}},[g,d,f]);return(0,b.jsx)(u.Drawer,{open:a,onOpenChange:d,children:(0,b.jsxs)(u.DrawerContent,{className:"h-[80dvh] data-[vaul-drawer-direction=bottom]:max-h-[80dvh]",children:[(0,b.jsxs)(u.DrawerHeader,{className:"pb-2",children:[(0,b.jsx)(u.DrawerTitle,{children:f("copyPaneDrawerTitle")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:f("copyPaneDrawerHint")})]}),(0,b.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 px-4 pb-4",children:[l?(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center py-8 text-sm text-muted-foreground",children:f("copyPaneLoading")}):n?(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center py-8 text-sm text-ui-red",children:n}):(0,b.jsx)("textarea",{value:g,onChange:a=>i(a.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,b.jsxs)(k.Button,{onClick:t,disabled:l||!!n||!g,className:"w-full",children:[(0,b.jsx)(r.Copy,{className:"mr-2 h-4 w-4"}),f("copyPaneCopyAll")]})]})]})})};var w=a.i(760644),x=a.i(448557),y=a.i(799856),z=a.i(893759);let A=[{type:"terminal",label:"TERMINAL"},{type:"claude-code",label:"CLAUDE"},{type:"diff",label:"DIFF"}],B=({tabId:a,tabName:d,sessionName:e,panelType:f,onSwitchPanelType:i,onCreateTab:j,onClose:k})=>{let l=(0,h.useTranslations)("mobile"),m=(0,h.useTranslations)("common"),n=(0,h.useTranslations)("terminal"),[o,u]=(0,c.useState)(!1),B=(0,w.default)(b=>b.tabs[a]),C=B?.terminalStatus==="server"?"text-ui-green":B?.terminalStatus==="running"?"text-ui-blue":"text-muted-foreground/50";return(0,b.jsxs)("div",{className:"flex h-10 shrink-0 items-center border-b border-border/50 bg-background",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2 px-3",children:[(0,b.jsx)(t.default,{tabId:a,panelType:f}),"claude-code"===f?(0,b.jsx)(s.default,{size:16}):"diff"===f?(0,b.jsx)(q.GitCompareArrows,{className:"h-4 w-4 shrink-0 text-muted-foreground"}):(0,b.jsx)(x.default,{process:B?.currentProcess,className:(0,y.cn)("h-3.5 w-3.5 shrink-0",C)}),(0,b.jsx)("span",{className:"truncate text-xs text-foreground",children:d})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5 pr-0.5",children:[(0,b.jsx)("div",{className:"flex items-center gap-px",children:A.map(a=>(0,b.jsx)("button",{className:(0,y.cn)("rounded px-1.5 py-0.5 text-[10px] font-medium tracking-wide transition-colors",f===a.type?"bg-accent text-foreground":"text-muted-foreground/60 hover:text-muted-foreground"),onClick:()=>i(a.type),children:a.label},a.type))}),"terminal"===f&&!!e&&(0,b.jsx)("button",{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors",onClick:()=>u(!0),"aria-label":n("copyPaneLabel"),children:(0,b.jsx)(r.Copy,{size:16})}),(0,b.jsx)("button",{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors",onClick:j,"aria-label":l("newTab"),children:(0,b.jsx)(g.Plus,{size:16})}),(0,b.jsxs)(z.AlertDialog,{children:[(0,b.jsx)(z.AlertDialogTrigger,{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors","aria-label":l("closeTab"),children:(0,b.jsx)(p.X,{size:16})}),(0,b.jsxs)(z.AlertDialogContent,{children:[(0,b.jsxs)(z.AlertDialogHeader,{children:[(0,b.jsx)(z.AlertDialogTitle,{children:l("closeTab")}),(0,b.jsx)(z.AlertDialogDescription,{children:l("closeTabConfirm",{name:d})})]}),(0,b.jsxs)(z.AlertDialogFooter,{children:[(0,b.jsx)(z.AlertDialogCancel,{children:m("cancel")}),(0,b.jsx)(z.AlertDialogAction,{className:"bg-ui-red hover:bg-ui-red/80",onClick:k,children:m("close")})]})]})]})]}),(0,b.jsx)(v,{open:o,onOpenChange:u,sessionName:e})]})};var C=a.i(358137),D=a.i(665315),E=a.i(775495),F=a.i(514385),G=a.i(693567),H=a.i(356474),I=a.i(660558),J=a.i(93538),K=a.i(671015),L=a.i(747868),M=a.i(850120),N=a.i(576949),O=a.i(838997),P=a.i(619923),Q=a.i(47691),R=a.i(106816),S=a.i(291677),T=a.i(505947),U=a.i(795541),V=a.i(166528),W=a.i(219379),X=a.i(741798),Y=a.i(378836),Z=a.i(22464);let $=({open:a,onOpenChange:c,meta:d,toolCount:e,toolBreakdown:f,branch:g,isBranchLoading:h,sessionId:i,gitStatus:j,tmuxInfo:k})=>(0,b.jsx)(Z.Sheet,{open:a,onOpenChange:c,children:(0,b.jsxs)(Z.SheetContent,{side:"bottom",showCloseButton:!1,className:"rounded-t-xl",children:[(0,b.jsx)("div",{className:"mx-auto mt-2 h-1.5 w-12 rounded-full bg-muted-foreground/20"}),(0,b.jsx)("div",{className:"px-4 pt-4 pb-6",children:(0,b.jsx)(Y.MetaDetail,{title:d.title,sessionId:i,createdAt:d.createdAt,updatedAt:d.updatedAt,fileSize:d.fileSize,userCount:d.userCount,assistantCount:d.assistantCount,toolCount:e,toolBreakdown:f,inputTokens:d.inputTokens,outputTokens:d.outputTokens,totalCost:d.totalCost,currentContextTokens:d.currentContextTokens,contextWindowSize:d.contextWindowSize,usedPercentage:d.usedPercentage,model:d.model,branch:g,isBranchLoading:h,gitStatus:j,tmuxInfo:k})})]})});var _=a.i(545375);let aa=({tabId:a,wsId:d,sessionName:e,claudeSessionId:f,cwd:g,sendStdin:k,terminalWsConnected:l,focusTerminal:m,focusInputRef:n,setInputValueRef:o,onCliStateChange:p,onInputVisibleChange:q,onRestartSession:r,onNewSession:s})=>{let t=(0,h.useTranslations)("terminal"),{prompts:u}=(0,_.default)(),[v,x]=(0,c.useState)(null),[y,z]=(0,c.useState)(!1),A=(0,c.useRef)(void 0),B=(0,w.default)(b=>a?b.tabs[a]?.claudeProcess??null:null),C=(0,w.default)(b=>!a||(b.tabs[a]?.claudeInstalled??!0)),D=(0,w.default)(b=>a?b.tabs[a]?.cliState??"inactive":"inactive"),E=(0,w.default)(b=>a?b.tabs[a]?.compactingSince??null:null),F=(0,c.useCallback)(()=>{x(null)},[]),G=(0,c.useCallback)(a=>{x(null),j.toast.warning(t("resumeBlocked"),{description:a.processName?t("resumeBlockedProcess",{name:a.processName}):void 0})},[t]),H=(0,c.useCallback)(()=>{x(null),j.toast.error(t("resumeFailed"))},[t]),{entries:I,tasks:Z,sessionId:aa,jsonlPath:ab,sessionSummary:ac,initMeta:ad,sessionStats:ae,claudeProcess:af,wsStatus:ag,isLoading:ah,error:ai,loadMore:aj,hasMore:ak,retrySession:al,sendResume:am,addPendingUserMessage:an,removePendingUserMessage:ao}=(0,K.default)({sessionName:e,claudeSessionId:f,enabled:!!e,resumeCallbacks:{onResumeStarted:F,onResumeBlocked:G,onResumeError:H},onSync:a?b=>{let c=Date.now();null!==b.claudeProcess&&w.default.getState().setClaudeProcess(a,b.claudeProcess,c),b.claudeInstalled||w.default.getState().setClaudeInstalled(a,!1),w.default.getState().setTimelineLoading(a,b.isLoading)}:void 0,getCliState:a?()=>w.default.getState().tabs[a]?.cliState:void 0}),ap=a?B:af,{sessions:aq,hasMore:ar,isLoading:as,isLoadingMore:at,error:au,refetch:av,loadMore:aw}=(0,M.default)({tmuxSession:e,enabled:!!e&&!0!==ap,cwd:g}),ax=(0,c.useRef)(B);(0,c.useEffect)(()=>{let a=ax.current;ax.current=B,!0!==a&&!0===B&&!0!==af&&al()},[B,af,al]);let ay=(0,w.default)(b=>a?(0,w.selectSessionView)(b.tabs,a):"session-list"),{meta:az}=(0,N.default)(I,ac,ad,ae),{branch:aA,isLoading:aB}=(0,O.default)(e),{status:aC}=(0,P.default)(e,y),aD=(0,Q.default)(e,y),aE=(0,R.default)(ab,y),aF=aE?{...az,userCount:aE.userCount,assistantCount:aE.assistantCount}:az,aG="timeline"===ay,aH=(0,L.default)("check"===ay,e);(0,c.useEffect)(()=>{p(D)},[D,p]),(0,c.useEffect)(()=>{q(aG)},[aG,q]);let aI=(0,c.useCallback)(()=>{A.current?.()},[]),aJ=(0,c.useCallback)(a=>{o.current?.(a),n.current?.()},[o,n]),aK=(0,c.useCallback)(a=>{v||(x(a),am(a,e))},[v,am,e]);return C?null===B&&"check"!==ay?(0,b.jsx)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:(0,b.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"})}):"check"===ay?(0,b.jsxs)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:[(0,b.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("span",{className:"mt-2 text-sm text-muted-foreground",children:f||aa?t("resumingSession"):t("creatingConversation")}),aH&&(aH.isBypassPrompt&&aH.options.length>0?(0,b.jsx)(U.default,{sessionName:e,options:aH.options,fallback:(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:t("checkTerminal")})}):(0,b.jsx)("span",{className:"mt-3 text-xs text-muted-foreground",children:t("checkTerminal")}))]}):"session-list"===ay?as&&0===aq.length?(0,b.jsx)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:(0,b.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"})}):0!==aq.length||au?(0,b.jsx)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:(0,b.jsx)(S.default,{sessions:aq,isLoading:as,isLoadingMore:at,hasMore:ar,error:au,resumingSessionId:v,onSelectSession:aK,onRefresh:av,onLoadMore:aw,onNewSession:s})}):(0,b.jsx)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:(0,b.jsx)(T.default,{onNewSession:s})}):(0,b.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:[(0,b.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:()=>z(!0),onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),z(!0))},children:[(0,b.jsx)(Y.MetaCompact,{title:az.title,totalCost:az.totalCost,branch:aA}),(0,b.jsx)(J.ChevronDown,{size:14,className:"shrink-0 text-muted-foreground"})]}),(0,b.jsx)("div",{className:"min-h-0 flex-1",children:(0,b.jsx)(V.default,{entries:I,tasks:Z,sessionId:aa,sessionName:e,tabId:a,initMeta:ad,sessionStats:ae,cliState:D,compactingSince:E,wsStatus:ag,isLoading:ah,error:ai,onRetry:al,onLoadMore:aj,hasMore:ak,scrollToBottomRef:A})}),(0,b.jsxs)("div",{className:"shrink-0 pb-3",children:[(0,b.jsx)(W.default,{tabId:a,wsId:d,sessionName:e,claudeSessionId:f,cliState:D,sendStdin:k,terminalWsConnected:l,visible:aG,focusTerminal:m,focusInputRef:n,setInputValueRef:o,maxRows:3,onRestartSession:r,onSend:aI,onOptimisticSend:an,onAddPendingMessage:an,onRemovePendingMessage:ao}),(0,b.jsx)(X.default,{prompts:u,visible:aG,onSelect:aJ})]}),(0,b.jsx)($,{open:y,onOpenChange:z,meta:aF,toolCount:aE?.toolCount??null,toolBreakdown:aE?.toolBreakdown??null,branch:aA,isBranchLoading:aB,sessionId:aa,gitStatus:aC,tmuxInfo:aD})]}):(0,b.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col items-center justify-center gap-3 bg-muted text-muted-foreground",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:t("installClaude")}),(0,b.jsx)("span",{className:"text-xs",children:t("installClaudeHint")})]})};var ab=a.i(748011);let ac="__CTRL__",ad="__SHIFT__",ae={fontFamily:"MesloLGLDZ, monospace"},af=[{label:"Tab",value:" "},{label:"Esc",value:"\x1b"},{label:"Ctrl",value:ac},{label:"Shift",value:ad},{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}],ag=({sendStdin:a,terminalConnected:d})=>{let e=(0,h.useTranslations)("mobile"),[f,g]=(0,c.useState)(""),[i,j]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1),n=(0,c.useRef)(null),o=(0,c.useCallback)(()=>{let a=n.current;a&&(a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,76)}px`)},[]);(0,c.useEffect)(()=>{o()},[f,o]);let p=(0,c.useCallback)(()=>{d&&(f&&a(f),a("\r"),g(""))},[f,a,d]),q=(0,c.useCallback)(b=>{let c=b.target.value;if(i&&c.length===f.length+1){let b=c[c.length-1].toLowerCase().charCodeAt(0);if(b>=97&&b<=122){a(String.fromCharCode(b-96)),j(!1);return}}if(l&&c.length===f.length+1){let a=c[c.length-1],b=a.toUpperCase();if(b!==a){g(f+b),m(!1);return}}g(c)},[i,l,f,a]),r=(0,c.useCallback)(b=>{b.value===ac?j(a=>!a):b.value===ad?m(a=>!a):(a(b.value),i&&j(!1),l&&m(!1))},[i,l,a]);return(0,b.jsxs)("div",{className:"shrink-0 border-t border-border bg-background",children:[(0,b.jsxs)("div",{className:"flex items-end gap-2 px-3 py-2",children:[(0,b.jsx)("textarea",{ref:n,value:f,onChange:q,placeholder:i?"Ctrl + ...":l?"Shift + ...":e("commandPlaceholder"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,rows:1,className:(0,y.cn)("flex-1 resize-none rounded-md border px-3 py-1.5 text-sm text-foreground outline-none placeholder:text-muted-foreground",i||l?"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,b.jsx)(k.Button,{variant:"ghost",size:"sm",className:(0,y.cn)("h-8 w-8 shrink-0 p-0 text-muted-foreground hover:text-foreground",f.trim()&&"text-claude-active"),onClick:p,"aria-label":e("send"),children:(0,b.jsx)(ab.SendHorizontal,{size:16})})]}),(0,b.jsx)("div",{className:"flex items-center gap-1 overflow-x-auto px-3 pb-2",style:{scrollbarWidth:"none",WebkitOverflowScrolling:"touch"},children:af.map(a=>(0,b.jsx)("button",{className:(0,y.cn)("shrink-0 rounded-md border px-2.5 py-1 text-xs font-medium transition-colors",a.value===ac&&i||a.value===ad&&l?"border-claude-active bg-claude-active/20 text-claude-active":"border-border bg-muted/50 text-muted-foreground active:bg-muted"),onClick:()=>r(a),children:(0,b.jsx)("span",{className:(0,y.cn)("inline-block",a.rotate&&"rotate-90"),style:a.nerd?ae:void 0,children:a.label})},a.label))})]})};var ah=a.i(206456),ai=a.i(188289),aj=a.i(480824),ak=a.i(678240);let al={write:()=>{},reset:()=>{},fit:()=>({cols:40,rows:24}),focus:()=>{}},am={sendStdin:()=>{},sendResize:()=>{}},an=({paneId:a,tabs:d,activeTabId:e,panelType:f,onCreateTab:j,onDeleteTab:m,onSwitchTab:n,onRemoveTabLocally:p,onCliStateChange:q,onOpenNewTabDialog:r})=>{let s=(0,h.useTranslations)("mobile"),t=(0,h.useTranslations)("terminal"),u=d.find(a=>a.id===e),v="claude-code"===f,x="web-browser"===f,z="diff"===f,A=(0,o.default)(a=>e?a.metadata[e]?.cwd:void 0),B=(0,l.useLayoutStore)(a=>a.workspaceId),{theme:J}=(0,aj.default)(),[K,L]=(0,c.useState)(!1),[M,N]=(0,c.useState)(!1),[O,P]=(0,c.useState)(!0),Q=(0,c.useRef)(al),R=(0,c.useRef)(am),S=(0,c.useRef)(null),T=(0,c.useRef)(null),U=(0,c.useRef)(null),[V,W]=(0,c.useState)(null),X=(0,c.useRef)(null),Y=(0,c.useRef)(!1),Z=(0,c.useRef)(d),$=(0,c.useRef)(e);(0,c.useEffect)(()=>{Z.current=d,$.current=e});let _=(0,c.useCallback)(async()=>{let a=$.current,b=a?Z.current.find(b=>b.id===a):null;if(b)try{let a=await fetch(`/api/layout/cwd?session=${b.sessionName}`);if(!a.ok)return;let{cwd:c}=await a.json();c&&o.default.getState().setCwd(b.id,c)}catch{}},[]),ab=(0,c.useRef)(()=>{}),ac=(0,c.useRef)(void 0),ad=(0,c.useRef)(void 0),ae=(0,c.useRef)(null),af=(0,c.useRef)(""),an=(0,w.default)(a=>e?a.tabs[e]?.claudeProcess??null:null),ao=(0,w.default)(a=>e?(0,w.selectSessionView)(a.tabs,e):null),ap=(0,c.useCallback)(a=>{q?.(a)},[q]),aq=(0,c.useCallback)(a=>{},[]),ar=(0,c.useCallback)(a=>(0,ai.isAppShortcut)(a)?(a.preventDefault(),(0,ai.isClearShortcut)(a)&&ab.current(),(0,ai.isFocusInputShortcut)(a)&&ac.current?.(),!1):!(0,ai.isShiftEnter)(a)||(a.preventDefault(),R.current.sendStdin("\n"),!1),[]),{terminalRef:as,write:at,clear:au,reset:av,fit:aw,focus:ax,isReady:ay}=(0,F.default)({theme:J.colors,fontSize:v?void 0:11,onInput:a=>R.current.sendStdin(a),onResize:(a,b)=>{R.current.sendResize(a,b),Y.current&&(X.current&&clearTimeout(X.current),X.current=setTimeout(()=>{Y.current=!1,P(!0)},200))},onTitleChange:a=>{let b=$.current;if(!b||a===af.current)return;af.current=a;let c=(0,ah.formatTabTitle)(a);if(o.default.getState().setTitle(b,c),(0,ah.isShellProcess)(a)&&ae.current){let a=ae.current;ae.current=null,R.current.sendStdin(`${a}\r`)}let d=Z.current.find(a=>a.id===b);if(d){let a=w.default.getState().tabs[b]?.claudeProcessCheckedAt??0;fetch(`/api/check-claude?session=${d.sessionName}`).then(a=>a.json()).then(({running:c,checkedAt:e})=>{let f=w.default.getState().tabs[b];if(f&&f.claudeProcessCheckedAt!==a){f.claudeProcess!==c&&setTimeout(()=>{fetch(`/api/check-claude?session=${d.sessionName}`).then(a=>a.json()).then(({running:a,checkedAt:c})=>{w.default.getState().setClaudeProcess(b,a,c)}).catch(()=>{})},500);return}w.default.getState().setClaudeProcess(b,c,e)}).catch(()=>{})}_()},customKeyEventHandler:ar});(0,c.useEffect)(()=>{ab.current=au});let az=(0,c.useCallback)(async()=>{if(U.current)return;let b=Z.current,c=$.current;if(!c)return;U.current=c;let d=[...b].sort((a,b)=>a.order-b.order),e=d.findIndex(a=>a.id===c),f=d[e+1]||d[e-1];f&&n(a,f.id);try{await m(a,c)}finally{U.current=null}},[a,n,m]),{status:aA,retryCount:aB,disconnectReason:aC,connect:aD,reconnect:aE,sendStdin:aF,sendWebStdin:aG,sendResize:aH}=(0,G.default)({onData:a=>Q.current.write(a),onConnected:()=>{L(!0),W($.current),T.current=$.current;let a=$.current;a&&w.default.getState().setTerminalConnected(a,!0);let{cols:b,rows:c}=Q.current.fit();R.current.sendResize(b,c),_()},onSessionEnded:az});(0,c.useEffect)(()=>{Q.current={write:at,reset:av,fit:aw,focus:ax},R.current={sendStdin:aF,sendResize:aH}}),(0,c.useEffect)(()=>{ay||(S.current=null)},[ay]),(0,c.useEffect)(()=>{if(!ay||!e)return;let a=d.find(a=>a.id===e);if(a){if("web-browser"===a.panelType){S.current=null,af.current="";return}S.current!==a.sessionName&&(null!==S.current&&av(),w.default.getState().initTab(e,{terminalConnected:!1,panelType:a.panelType}),S.current=a.sessionName,aD(a.sessionName))}},[ay,e]),(0,c.useEffect)(()=>{let a=$.current;a&&w.default.getState().setTerminalConnected(a,"connected"===aA)},[aA]),(0,c.useEffect)(()=>{"disconnected"===aA&&K&&W($.current)},[aA,K]),(0,c.useEffect)(()=>{"disconnected"===aA&&K&&T.current&&T.current!==e&&d.some(a=>a.id===T.current)&&(S.current=null,n(a,T.current))},[aA]),(0,c.useEffect)(()=>{if(!ay||"connected"!==aA)return;let a=setTimeout(()=>{let{cols:a,rows:b}=aw();R.current.sendResize(a,b)},300);return()=>clearTimeout(a)},[aA]),(0,c.useEffect)(()=>{if(v){Y.current=!1,X.current&&clearTimeout(X.current),_();return}if(ay&&"connected"===aA)return Y.current=!0,queueMicrotask(()=>P(!1)),X.current=setTimeout(()=>{Y.current=!1,P(!0)},200),()=>{X.current&&clearTimeout(X.current),Y.current=!1};queueMicrotask(()=>P(!0))},[v]);let aI=(0,c.useCallback)(async()=>{N(!0),await j(a),N(!1)},[a,j]),aJ=(0,c.useCallback)(()=>{let a=ak.default.getState().dangerouslySkipPermissions,b=["--settings ~/.purplemux/hooks.json",B?`--append-system-prompt-file ~/.purplemux/workspaces/${B}/claude-prompt.md`:""].filter(Boolean).join(" "),c=`claude ${b}`;return a?`${c} --dangerously-skip-permissions`:c},[B]),aK=(0,c.useCallback)(()=>{"connected"===aA&&e&&(w.default.getState().setSessionView(e,"check"),aF(`${aJ()}\r`))},[aA,aF,e,aJ]),aL=(0,c.useCallback)(()=>{"connected"===aA&&e&&(ae.current=aJ(),w.default.getState().setSessionView(e,"check"),aF("/exit\r"))},[aA,aF,e,aJ]);(0,c.useEffect)(()=>{if(!ae.current||!0===an||"connected"!==aA||!(0,ah.isShellProcess)(af.current))return;let a=ae.current;ae.current=null,aF(`${a}\r`)},[an,aA,aF]);let aM=(0,c.useCallback)(b=>{e&&B&&fetch(`/api/layout/pane/${a}/tabs/${e}?workspace=${B}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({webUrl:b})}).catch(()=>{})},[e,a,B]),aN=0===d.length,aO=x||z||ay&&"connected"===aA&&!aN,aP=null!==e&&V!==e,aQ=(0,c.useRef)(new Set);return(0,c.useEffect)(()=>{"disconnected"!==aA||"session-not-found"!==aC||aP||!e||!u||"terminal"!==(u.panelType??"terminal")||u.lastCommand||aQ.current.has(e)||(aQ.current.add(e),(async()=>{await l.useLayoutStore.getState().restartTabInPane(a,e)&&aE()})())},[aA,aC,e,u,aP,a,aE]),(0,b.jsxs)("div",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden",style:{backgroundColor:J.colors.background,overscrollBehavior:"none"},children:[x&&e&&(0,b.jsx)(D.default,{initialUrl:u?.webUrl,onUrlChange:aM},e),z&&u&&(0,b.jsx)(E.default,{sessionName:u.sessionName},u.sessionName),v&&u&&(0,b.jsx)(aa,{tabId:e??void 0,wsId:B??void 0,sessionName:u.sessionName,claudeSessionId:u.claudeSessionId,cwd:A,sendStdin:aG,terminalWsConnected:"connected"===aA,focusTerminal:ax,focusInputRef:ac,setInputValueRef:ad,onCliStateChange:ap,onInputVisibleChange:aq,onRestartSession:aL,onNewSession:aK}),!x&&!z&&(0,b.jsx)(H.default,{ref:as,className:(0,y.cn)(!v&&"transition-opacity duration-150",v?"absolute inset-0 pointer-events-none opacity-0":"min-h-0 flex-1",!v&&aO&&O?"opacity-100":"",v||aO&&O?"":"opacity-0")}),!v&&!x&&!z&&"connected"===aA&&(0,b.jsx)(ag,{sendStdin:aG,terminalConnected:"connected"===aA}),aN&&(0,b.jsx)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:(0,b.jsxs)(k.Button,{className:"gap-1.5",onClick:r??aI,disabled:M,children:[M?(0,b.jsx)(i.default,{className:"h-3 w-3"}):(0,b.jsx)(g.Plus,{className:"h-3.5 w-3.5"}),t("openNewTab")]})}),!aN&&!x&&"disconnected"===aA&&!aP&&(0,b.jsxs)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:[(0,b.jsx)(C.WifiOff,{className:"h-5 w-5 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"max-connections"===aC?s("disconnectedMaxConnections"):"pty-error"===aC?s("disconnectedPtyError"):"session-not-found"===aC?t("disconnectedSessionNotFound"):s("cannotConnectServer")}),"session-not-found"===aC&&e?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(k.Button,{variant:"outline",size:"sm",onClick:async()=>{await l.useLayoutStore.getState().restartTabInPane(a,e)&&aE()},children:s("restart")}),(0,b.jsx)(k.Button,{variant:"ghost",size:"sm",onClick:()=>m(a,e),children:t("closeTabLabel")})]}):(0,b.jsx)(k.Button,{variant:"outline",size:"sm",onClick:aE,children:s("reconnect")})]}),!aN&&!x&&!z&&!(v&&"check"===ao)&&(0,b.jsx)(I.default,{status:aA,retryCount:aB,disconnectReason:aC,onReconnect:aE})]})};var ao=a.i(975022),ap=a.i(109254);let aq=({open:a,onOpenChange:d,onCreateTab:e})=>{let f=(0,h.useTranslations)("terminal"),g=(0,h.useTranslations)("mobile"),[j,k]=(0,c.useState)(null),l=[{key:"claude-new",type:"claude-code",icon:(0,b.jsx)(s.default,{className:"h-5 w-5"}),label:f("claudeNewConversation"),startClaude:!0},{key:"claude",type:"claude-code",icon:(0,b.jsx)(s.default,{className:"h-5 w-5"}),label:f("claudeSessionList")},{key:"terminal",type:"terminal",icon:(0,b.jsx)(ao.Terminal,{className:"h-5 w-5 text-muted-foreground"}),label:"Terminal"},{key:"diff",type:"diff",icon:(0,b.jsx)(q.GitCompareArrows,{className:"h-5 w-5 text-muted-foreground"}),label:"Diff"}],m=async a=>{k(a.key),"startClaude"in a&&a.startClaude?await e(a.type,{command:"claude-new"}):await e(a.type),k(null),d(!1)};return(0,b.jsx)(ap.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(ap.DialogContent,{className:"w-[calc(100%-2rem)] max-w-xs gap-2 rounded-xl p-4",children:[(0,b.jsx)(ap.DialogHeader,{children:(0,b.jsx)(ap.DialogTitle,{className:"text-sm font-medium",children:g("newTab")})}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-2",children:l.map(a=>(0,b.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!==j,onClick:()=>m(a),children:[j===a.key?(0,b.jsx)(i.default,{className:"h-4 w-4"}):a.icon,(0,b.jsx)("span",{className:"text-xs",children:a.label})]},a.key))})]})})};var ar=a.i(266254),as=a.i(219617),at=a.i(493621);a.s(["default",0,()=>{let a=(0,h.useTranslations)("terminal"),p=(0,h.useTranslations)("mobile"),q=(0,h.useTranslations)("common"),r=(0,n.default)(a=>a.isLoading),s=(0,n.default)(a=>a.error),t=(0,n.default)(a=>a.activeWorkspaceId),u=(0,n.default)(a=>a.workspaces).length,v=(0,c.useRef)(null),x=(0,c.useCallback)(()=>{let b=v.current;b&&(n.default.getState().switchWorkspace(b),j.toast.error(a("cannotSwitch")))},[a]),y=(0,l.default)({workspaceId:t,onFetchError:x}),z=(0,c.useMemo)(()=>y.layout?(0,m.collectPanes)(y.layout.root):[],[y.layout]),A=!!(y.layout&&!y.isLoading&&z.every(a=>0===a.tabs.length)),C=y.layout?.updatedAt,D=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!y.layout||!C||D.current===C)return;D.current=C;let a={};for(let b of(0,m.collectPanes)(y.layout.root))for(let c of b.tabs)(c.title||c.cwd)&&(a[c.id]={title:c.title,cwd:c.cwd});o.default.getState().hydrate(a)},[C]),(0,c.useEffect)(()=>{if(!y.layout)return;let a=new Set((0,m.collectPanes)(y.layout.root).flatMap(a=>a.tabs.map(a=>a.id)));o.default.getState().retainOnly(a)},[y.layout]),(0,at.useAutoDeleteEmptyWorkspace)(A,y.clearLayout);let E=y.layout?.activePaneId??null,F=(E?z.find(a=>a.id===E):null)??z[0]??null,G=F?.id??null,H=F?.activeTabId??null,I=F?.tabs.find(a=>a.id===H)??null,J=I?.panelType??"terminal",K=(0,c.useCallback)(a=>{let{activeWorkspaceId:b}=n.default.getState();a!==b&&(v.current=b,o.default.getState().reset(),y.clearLayout(),n.default.getState().switchWorkspace(a))},[y]);(0,c.useEffect)(()=>(as.default.getState().register({onSelectWorkspace:K}),()=>as.default.getState().unregister()),[K]);let[L,M]=(0,c.useState)(!1),[N,O]=(0,c.useState)("inactive"),P=(0,c.useCallback)(a=>{O(a)},[]);(0,c.useEffect)(()=>{H&&(0,ar.dismissTab)(H)},[H]),(0,c.useEffect)(()=>{H&&"claude-code"===J&&"inactive"!==N&&"idle"===N&&(0,ar.dismissTab)(H)},[H,N,J]);let Q=(0,w.default)(a=>{if(!H)return!1;let b=a.tabs[H];return b?.cliState==="ready-for-review"||b?.cliState==="needs-input"});(0,c.useEffect)(()=>{Q&&H&&(0,ar.dismissTab)(H)},[Q,H]);let R=(0,o.default)(a=>H?a.metadata[H]:void 0),S=(0,c.useMemo)(()=>{if(!I)return"";if(I.name)return I.name;let a=R?.title||I.title,b=a?(0,ah.formatTabTitle)(a):"";return b||`Tab ${I.order+1}`},[I,R]),T=(0,c.useCallback)(a=>{F&&H&&y.updateTabPanelType(F.id,H,a)},[F,H,y]),U=(0,c.useCallback)(()=>{M(!0)},[]),V=(0,c.useCallback)(async(a,b)=>{let c;if(!F)return;if(b?.command==="claude-new"){let a=ak.default.getState().dangerouslySkipPermissions,b=["--settings ~/.purplemux/hooks.json",t?`--append-system-prompt-file ~/.purplemux/workspaces/${t}/claude-prompt.md`:""].filter(Boolean).join(" ");c=a?`claude ${b} --dangerously-skip-permissions`:`claude ${b}`}let d=await y.createTabInPane(F.id,a,c);d&&(w.default.getState().initTab(d.id,{panelType:a,workspaceId:t??""}),b?.command==="claude-new"&&w.default.getState().setSessionView(d.id,"check"))},[F,y,t]),W=(0,c.useCallback)(()=>{F&&H&&y.deleteTabInPane(F.id,H)},[F,H,y]);return r?(0,b.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center",children:[(0,b.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("span",{className:"mt-3 text-sm text-muted-foreground",children:a("connecting")})]}):s&&!u?(0,b.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3",children:[(0,b.jsx)(d.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:s}),(0,b.jsxs)(k.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:n.default.getState().fetchWorkspaces,children:[(0,b.jsx)(e.RefreshCw,{className:"h-3.5 w-3.5"}),q("retry")]})]}):t||r||s?!y.layout||y.isLoading?(0,b.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center",children:(0,b.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"})}):y.error&&!y.isLoading?(0,b.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3",children:[(0,b.jsx)(d.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:y.error}),(0,b.jsxs)(k.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>y.fetchLayout(),children:[(0,b.jsx)(e.RefreshCw,{className:"h-3.5 w-3.5"}),q("retry")]})]}):(0,b.jsxs)(b.Fragment,{children:[F&&H&&(0,b.jsx)(B,{tabId:H,tabName:S,sessionName:I?.sessionName??null,panelType:J,onSwitchPanelType:T,onCreateTab:U,onClose:W},H),F&&H&&(0,b.jsx)(an,{paneId:F.id,tabs:F.tabs,activeTabId:H,panelType:J,onCreateTab:y.createTabInPane,onDeleteTab:y.deleteTabInPane,onSwitchTab:y.switchTabInPane,onRemoveTabLocally:y.removeTabLocally,onUpdateTabPanelType:y.updateTabPanelType,onCliStateChange:P,onOpenNewTabDialog:U},`${G}-${H}`),(0,b.jsx)(aq,{open:L,onOpenChange:M,onCreateTab:V})]}):(0,b.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 px-6 text-center",children:[(0,b.jsx)(f.Monitor,{className:"h-8 w-8 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm font-medium text-muted-foreground",children:p("noWorkspace")}),(0,b.jsxs)(k.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:async()=>{let a=await n.default.getState().createWorkspace("");a&&n.default.getState().switchWorkspace(a.id)},children:[(0,b.jsx)(g.Plus,{className:"h-3.5 w-3.5"}),a("newWorkspace")]})]})}],278878)},577712,a=>{a.n(a.i(278878))}];
|
|
1
|
+
module.exports=[278878,a=>{"use strict";var b=a.i(508171),c=a.i(127669),d=a.i(369773),e=a.i(506766),f=a.i(915150),g=a.i(493901),h=a.i(113952),i=a.i(581228),j=a.i(510414),k=a.i(396465),l=a.i(626605),m=a.i(144784),n=a.i(912251),o=a.i(199462),p=a.i(734637),q=a.i(949348),r=a.i(533695),s=a.i(231473),t=a.i(203725),u=a.i(569834);let v=({open:a,onOpenChange:d,sessionName:e})=>{let f=(0,h.useTranslations)("terminal"),[g,i]=(0,c.useState)(""),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(null),s=a&&e?e:null;s!==p&&(q(s),i(""),o(null),m(null!==s)),(0,c.useEffect)(()=>{if(!p)return;let a=!1;return fetch(`/api/tmux/capture?session=${encodeURIComponent(p)}`).then(a=>{if(!a.ok)throw Error("capture failed");return a.json()}).then(b=>{a||(i((b.content??"").replace(/\s+$/g,"")),m(!1))}).catch(()=>{a||(o(f("copyPaneCaptureFailed")),m(!1))}),()=>{a=!0}},[p,f]);let t=(0,c.useCallback)(async()=>{if(g)try{await navigator.clipboard.writeText(g),j.toast.success(f("copyPaneSuccess"),{duration:1500}),d(!1)}catch{j.toast.error(f("copyPaneCopyFailed"))}},[g,d,f]);return(0,b.jsx)(u.Drawer,{open:a,onOpenChange:d,children:(0,b.jsxs)(u.DrawerContent,{className:"h-[80dvh] data-[vaul-drawer-direction=bottom]:max-h-[80dvh]",children:[(0,b.jsxs)(u.DrawerHeader,{className:"pb-2",children:[(0,b.jsx)(u.DrawerTitle,{children:f("copyPaneDrawerTitle")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:f("copyPaneDrawerHint")})]}),(0,b.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 px-4 pb-4",children:[l?(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center py-8 text-sm text-muted-foreground",children:f("copyPaneLoading")}):n?(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center py-8 text-sm text-ui-red",children:n}):(0,b.jsx)("textarea",{value:g,onChange:a=>i(a.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,b.jsxs)(k.Button,{onClick:t,disabled:l||!!n||!g,className:"w-full",children:[(0,b.jsx)(r.Copy,{className:"mr-2 h-4 w-4"}),f("copyPaneCopyAll")]})]})]})})};var w=a.i(760644),x=a.i(448557),y=a.i(799856),z=a.i(893759);let A=[{type:"terminal",label:"TERMINAL"},{type:"claude-code",label:"CLAUDE"},{type:"diff",label:"DIFF"}],B=({tabId:a,tabName:d,sessionName:e,panelType:f,onSwitchPanelType:i,onCreateTab:j,onClose:k})=>{let l=(0,h.useTranslations)("mobile"),m=(0,h.useTranslations)("common"),n=(0,h.useTranslations)("terminal"),[o,u]=(0,c.useState)(!1),B=(0,w.default)(b=>b.tabs[a]),C=B?.terminalStatus==="server"?"text-ui-green":B?.terminalStatus==="running"?"text-ui-blue":"text-muted-foreground/50";return(0,b.jsxs)("div",{className:"flex h-10 shrink-0 items-center border-b border-border/50 bg-background",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2 px-3",children:[(0,b.jsx)(t.default,{tabId:a,panelType:f}),"claude-code"===f?(0,b.jsx)(s.default,{size:16}):"diff"===f?(0,b.jsx)(q.GitCompareArrows,{className:"h-4 w-4 shrink-0 text-muted-foreground"}):(0,b.jsx)(x.default,{process:B?.currentProcess,className:(0,y.cn)("h-3.5 w-3.5 shrink-0",C)}),(0,b.jsx)("span",{className:"truncate text-xs text-foreground",children:d})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5 pr-0.5",children:[(0,b.jsx)("div",{className:"flex items-center gap-px",children:A.map(a=>(0,b.jsx)("button",{className:(0,y.cn)("rounded px-1.5 py-0.5 text-[10px] font-medium tracking-wide transition-colors",f===a.type?"bg-accent text-foreground":"text-muted-foreground/60 hover:text-muted-foreground"),onClick:()=>i(a.type),children:a.label},a.type))}),"terminal"===f&&!!e&&(0,b.jsx)("button",{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors",onClick:()=>u(!0),"aria-label":n("copyPaneLabel"),children:(0,b.jsx)(r.Copy,{size:16})}),(0,b.jsx)("button",{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors",onClick:j,"aria-label":l("newTab"),children:(0,b.jsx)(g.Plus,{size:16})}),(0,b.jsxs)(z.AlertDialog,{children:[(0,b.jsx)(z.AlertDialogTrigger,{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors","aria-label":l("closeTab"),children:(0,b.jsx)(p.X,{size:16})}),(0,b.jsxs)(z.AlertDialogContent,{children:[(0,b.jsxs)(z.AlertDialogHeader,{children:[(0,b.jsx)(z.AlertDialogTitle,{children:l("closeTab")}),(0,b.jsx)(z.AlertDialogDescription,{children:l("closeTabConfirm",{name:d})})]}),(0,b.jsxs)(z.AlertDialogFooter,{children:[(0,b.jsx)(z.AlertDialogCancel,{children:m("cancel")}),(0,b.jsx)(z.AlertDialogAction,{className:"bg-ui-red hover:bg-ui-red/80",onClick:k,children:m("close")})]})]})]})]}),(0,b.jsx)(v,{open:o,onOpenChange:u,sessionName:e})]})};var C=a.i(358137),D=a.i(665315),E=a.i(775495),F=a.i(514385),G=a.i(693567),H=a.i(356474),I=a.i(660558),J=a.i(93538),K=a.i(671015),L=a.i(747868),M=a.i(850120),N=a.i(576949),O=a.i(838997),P=a.i(619923),Q=a.i(47691),R=a.i(106816),S=a.i(291677),T=a.i(505947),U=a.i(795541),V=a.i(166528),W=a.i(219379),X=a.i(741798),Y=a.i(378836),Z=a.i(22464);let $=({open:a,onOpenChange:c,meta:d,toolCount:e,toolBreakdown:f,branch:g,isBranchLoading:h,sessionId:i,gitStatus:j,tmuxInfo:k})=>(0,b.jsx)(Z.Sheet,{open:a,onOpenChange:c,children:(0,b.jsxs)(Z.SheetContent,{side:"bottom",showCloseButton:!1,className:"rounded-t-xl",children:[(0,b.jsx)("div",{className:"mx-auto mt-2 h-1.5 w-12 rounded-full bg-muted-foreground/20"}),(0,b.jsx)("div",{className:"px-4 pt-4 pb-6",children:(0,b.jsx)(Y.MetaDetail,{title:d.title,sessionId:i,createdAt:d.createdAt,updatedAt:d.updatedAt,fileSize:d.fileSize,userCount:d.userCount,assistantCount:d.assistantCount,toolCount:e,toolBreakdown:f,inputTokens:d.inputTokens,outputTokens:d.outputTokens,totalCost:d.totalCost,currentContextTokens:d.currentContextTokens,contextWindowSize:d.contextWindowSize,usedPercentage:d.usedPercentage,model:d.model,branch:g,isBranchLoading:h,gitStatus:j,tmuxInfo:k})})]})});var _=a.i(545375);let aa=({tabId:a,wsId:d,sessionName:e,claudeSessionId:f,cwd:g,sendStdin:k,terminalWsConnected:l,focusTerminal:m,focusInputRef:n,setInputValueRef:o,onCliStateChange:p,onInputVisibleChange:q,onRestartSession:r,onNewSession:s})=>{let t=(0,h.useTranslations)("terminal"),{prompts:u}=(0,_.default)(),[v,x]=(0,c.useState)(null),[y,z]=(0,c.useState)(!1),A=(0,c.useRef)(void 0),B=(0,w.default)(b=>a?b.tabs[a]?.claudeProcess??null:null),C=(0,w.default)(b=>!a||(b.tabs[a]?.claudeInstalled??!0)),D=(0,w.default)(b=>a?b.tabs[a]?.cliState??"inactive":"inactive"),E=(0,w.default)(b=>a?b.tabs[a]?.compactingSince??null:null),F=(0,c.useCallback)(()=>{x(null)},[]),G=(0,c.useCallback)(a=>{x(null),j.toast.warning(t("resumeBlocked"),{description:a.processName?t("resumeBlockedProcess",{name:a.processName}):void 0})},[t]),H=(0,c.useCallback)(()=>{x(null),j.toast.error(t("resumeFailed"))},[t]),{entries:I,tasks:Z,sessionId:aa,jsonlPath:ab,sessionSummary:ac,initMeta:ad,sessionStats:ae,claudeProcess:af,wsStatus:ag,isLoading:ah,error:ai,loadMore:aj,hasMore:ak,retrySession:al,sendResume:am,addPendingUserMessage:an,removePendingUserMessage:ao}=(0,K.default)({sessionName:e,claudeSessionId:f,enabled:!!e,resumeCallbacks:{onResumeStarted:F,onResumeBlocked:G,onResumeError:H},onSync:a?b=>{let c=Date.now();null!==b.claudeProcess&&w.default.getState().setClaudeProcess(a,b.claudeProcess,c),b.claudeInstalled||w.default.getState().setClaudeInstalled(a,!1),w.default.getState().setTimelineLoading(a,b.isLoading)}:void 0,getCliState:a?()=>w.default.getState().tabs[a]?.cliState:void 0}),ap=a?B:af,{sessions:aq,hasMore:ar,isLoading:as,isLoadingMore:at,error:au,refetch:av,loadMore:aw}=(0,M.default)({tmuxSession:e,enabled:!!e&&!0!==ap,cwd:g}),ax=(0,c.useRef)(B);(0,c.useEffect)(()=>{let a=ax.current;ax.current=B,!0!==a&&!0===B&&!0!==af&&al()},[B,af,al]);let ay=(0,w.default)(b=>a?(0,w.selectSessionView)(b.tabs,a):"session-list"),{meta:az}=(0,N.default)(I,ac,ad,ae),{branch:aA,isLoading:aB}=(0,O.default)(e),{status:aC}=(0,P.default)(e,y),aD=(0,Q.default)(e,y),aE=(0,R.default)(ab,y),aF=aE?{...az,userCount:aE.userCount,assistantCount:aE.assistantCount}:az,aG="timeline"===ay,aH=(0,L.default)("check"===ay,e);(0,c.useEffect)(()=>{p(D)},[D,p]),(0,c.useEffect)(()=>{q(aG)},[aG,q]);let aI=(0,c.useCallback)(()=>{A.current?.()},[]),aJ=(0,c.useCallback)(a=>{o.current?.(a),n.current?.()},[o,n]),aK=(0,c.useCallback)(a=>{v||(x(a),am(a,e))},[v,am,e]);return C?null===B&&"check"!==ay?(0,b.jsx)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:(0,b.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"})}):"check"===ay?(0,b.jsxs)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:[(0,b.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("span",{className:"mt-2 text-sm text-muted-foreground",children:f||aa?t("resumingSession"):t("creatingConversation")}),aH&&(aH.isBypassPrompt&&aH.options.length>0?(0,b.jsx)(U.default,{sessionName:e,options:aH.options,fallback:(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:t("checkTerminal")})}):(0,b.jsx)("span",{className:"mt-3 text-xs text-muted-foreground",children:t("checkTerminal")}))]}):"session-list"===ay?as&&0===aq.length?(0,b.jsx)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:(0,b.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"})}):0!==aq.length||au?(0,b.jsx)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:(0,b.jsx)(S.default,{sessions:aq,isLoading:as,isLoadingMore:at,hasMore:ar,error:au,resumingSessionId:v,onSelectSession:aK,onRefresh:av,onLoadMore:aw,onNewSession:s})}):(0,b.jsx)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:(0,b.jsx)(T.default,{onNewSession:s})}):(0,b.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:[(0,b.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:()=>z(!0),onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),z(!0))},children:[(0,b.jsx)(Y.MetaCompact,{title:az.title,totalCost:az.totalCost,branch:aA,usedPercentage:az.usedPercentage,currentContextTokens:az.currentContextTokens,contextWindowSize:az.contextWindowSize}),(0,b.jsx)(J.ChevronDown,{size:14,className:"shrink-0 text-muted-foreground"})]}),(0,b.jsx)("div",{className:"min-h-0 flex-1",children:(0,b.jsx)(V.default,{entries:I,tasks:Z,sessionId:aa,sessionName:e,tabId:a,initMeta:ad,sessionStats:ae,cliState:D,compactingSince:E,wsStatus:ag,isLoading:ah,error:ai,onRetry:al,onLoadMore:aj,hasMore:ak,scrollToBottomRef:A})}),(0,b.jsxs)("div",{className:"shrink-0 pb-3",children:[(0,b.jsx)(W.default,{tabId:a,wsId:d,sessionName:e,claudeSessionId:f,cliState:D,sendStdin:k,terminalWsConnected:l,visible:aG,focusTerminal:m,focusInputRef:n,setInputValueRef:o,maxRows:3,onRestartSession:r,onSend:aI,onOptimisticSend:an,onAddPendingMessage:an,onRemovePendingMessage:ao}),(0,b.jsx)(X.default,{prompts:u,visible:aG,onSelect:aJ})]}),(0,b.jsx)($,{open:y,onOpenChange:z,meta:aF,toolCount:aE?.toolCount??null,toolBreakdown:aE?.toolBreakdown??null,branch:aA,isBranchLoading:aB,sessionId:aa,gitStatus:aC,tmuxInfo:aD})]}):(0,b.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col items-center justify-center gap-3 bg-muted text-muted-foreground",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:t("installClaude")}),(0,b.jsx)("span",{className:"text-xs",children:t("installClaudeHint")})]})};var ab=a.i(748011);let ac="__CTRL__",ad="__SHIFT__",ae={fontFamily:"MesloLGLDZ, monospace"},af=[{label:"Tab",value:" "},{label:"Esc",value:"\x1b"},{label:"Ctrl",value:ac},{label:"Shift",value:ad},{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}],ag=({sendStdin:a,terminalConnected:d})=>{let e=(0,h.useTranslations)("mobile"),[f,g]=(0,c.useState)(""),[i,j]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1),n=(0,c.useRef)(null),o=(0,c.useCallback)(()=>{let a=n.current;a&&(a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,76)}px`)},[]);(0,c.useEffect)(()=>{o()},[f,o]);let p=(0,c.useCallback)(()=>{d&&(f&&a(f),a("\r"),g(""))},[f,a,d]),q=(0,c.useCallback)(b=>{let c=b.target.value;if(i&&c.length===f.length+1){let b=c[c.length-1].toLowerCase().charCodeAt(0);if(b>=97&&b<=122){a(String.fromCharCode(b-96)),j(!1);return}}if(l&&c.length===f.length+1){let a=c[c.length-1],b=a.toUpperCase();if(b!==a){g(f+b),m(!1);return}}g(c)},[i,l,f,a]),r=(0,c.useCallback)(b=>{b.value===ac?j(a=>!a):b.value===ad?m(a=>!a):(a(b.value),i&&j(!1),l&&m(!1))},[i,l,a]);return(0,b.jsxs)("div",{className:"shrink-0 border-t border-border bg-background",children:[(0,b.jsxs)("div",{className:"flex items-end gap-2 px-3 py-2",children:[(0,b.jsx)("textarea",{ref:n,value:f,onChange:q,placeholder:i?"Ctrl + ...":l?"Shift + ...":e("commandPlaceholder"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,rows:1,className:(0,y.cn)("flex-1 resize-none rounded-md border px-3 py-1.5 text-sm text-foreground outline-none placeholder:text-muted-foreground",i||l?"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,b.jsx)(k.Button,{variant:"ghost",size:"sm",className:(0,y.cn)("h-8 w-8 shrink-0 p-0 text-muted-foreground hover:text-foreground",f.trim()&&"text-claude-active"),onClick:p,"aria-label":e("send"),children:(0,b.jsx)(ab.SendHorizontal,{size:16})})]}),(0,b.jsx)("div",{className:"flex items-center gap-1 overflow-x-auto px-3 pb-2",style:{scrollbarWidth:"none",WebkitOverflowScrolling:"touch"},children:af.map(a=>(0,b.jsx)("button",{className:(0,y.cn)("shrink-0 rounded-md border px-2.5 py-1 text-xs font-medium transition-colors",a.value===ac&&i||a.value===ad&&l?"border-claude-active bg-claude-active/20 text-claude-active":"border-border bg-muted/50 text-muted-foreground active:bg-muted"),onClick:()=>r(a),children:(0,b.jsx)("span",{className:(0,y.cn)("inline-block",a.rotate&&"rotate-90"),style:a.nerd?ae:void 0,children:a.label})},a.label))})]})};var ah=a.i(206456),ai=a.i(188289),aj=a.i(480824),ak=a.i(678240);let al={write:()=>{},reset:()=>{},fit:()=>({cols:40,rows:24}),focus:()=>{}},am={sendStdin:()=>{},sendResize:()=>{}},an=({paneId:a,tabs:d,activeTabId:e,panelType:f,onCreateTab:j,onDeleteTab:m,onSwitchTab:n,onRemoveTabLocally:p,onCliStateChange:q,onOpenNewTabDialog:r})=>{let s=(0,h.useTranslations)("mobile"),t=(0,h.useTranslations)("terminal"),u=d.find(a=>a.id===e),v="claude-code"===f,x="web-browser"===f,z="diff"===f,A=(0,o.default)(a=>e?a.metadata[e]?.cwd:void 0),B=(0,l.useLayoutStore)(a=>a.workspaceId),{theme:J}=(0,aj.default)(),[K,L]=(0,c.useState)(!1),[M,N]=(0,c.useState)(!1),[O,P]=(0,c.useState)(!0),Q=(0,c.useRef)(al),R=(0,c.useRef)(am),S=(0,c.useRef)(null),T=(0,c.useRef)(null),U=(0,c.useRef)(null),[V,W]=(0,c.useState)(null),X=(0,c.useRef)(null),Y=(0,c.useRef)(!1),Z=(0,c.useRef)(d),$=(0,c.useRef)(e);(0,c.useEffect)(()=>{Z.current=d,$.current=e});let _=(0,c.useCallback)(async()=>{let a=$.current,b=a?Z.current.find(b=>b.id===a):null;if(b)try{let a=await fetch(`/api/layout/cwd?session=${b.sessionName}`);if(!a.ok)return;let{cwd:c}=await a.json();c&&o.default.getState().setCwd(b.id,c)}catch{}},[]),ab=(0,c.useRef)(()=>{}),ac=(0,c.useRef)(void 0),ad=(0,c.useRef)(void 0),ae=(0,c.useRef)(null),af=(0,c.useRef)(""),an=(0,w.default)(a=>e?a.tabs[e]?.claudeProcess??null:null),ao=(0,w.default)(a=>e?(0,w.selectSessionView)(a.tabs,e):null),ap=(0,c.useCallback)(a=>{q?.(a)},[q]),aq=(0,c.useCallback)(a=>{},[]),ar=(0,c.useCallback)(a=>(0,ai.isAppShortcut)(a)?(a.preventDefault(),(0,ai.isClearShortcut)(a)&&ab.current(),(0,ai.isFocusInputShortcut)(a)&&ac.current?.(),!1):!(0,ai.isShiftEnter)(a)||(a.preventDefault(),R.current.sendStdin("\n"),!1),[]),{terminalRef:as,write:at,clear:au,reset:av,fit:aw,focus:ax,isReady:ay}=(0,F.default)({theme:J.colors,fontSize:v?void 0:11,onInput:a=>R.current.sendStdin(a),onResize:(a,b)=>{R.current.sendResize(a,b),Y.current&&(X.current&&clearTimeout(X.current),X.current=setTimeout(()=>{Y.current=!1,P(!0)},200))},onTitleChange:a=>{let b=$.current;if(!b||a===af.current)return;af.current=a;let c=(0,ah.formatTabTitle)(a);if(o.default.getState().setTitle(b,c),(0,ah.isShellProcess)(a)&&ae.current){let a=ae.current;ae.current=null,R.current.sendStdin(`${a}\r`)}let d=Z.current.find(a=>a.id===b);if(d){let a=w.default.getState().tabs[b]?.claudeProcessCheckedAt??0;fetch(`/api/check-claude?session=${d.sessionName}`).then(a=>a.json()).then(({running:c,checkedAt:e})=>{let f=w.default.getState().tabs[b];if(f&&f.claudeProcessCheckedAt!==a){f.claudeProcess!==c&&setTimeout(()=>{fetch(`/api/check-claude?session=${d.sessionName}`).then(a=>a.json()).then(({running:a,checkedAt:c})=>{w.default.getState().setClaudeProcess(b,a,c)}).catch(()=>{})},500);return}w.default.getState().setClaudeProcess(b,c,e)}).catch(()=>{})}_()},customKeyEventHandler:ar});(0,c.useEffect)(()=>{ab.current=au});let az=(0,c.useCallback)(async()=>{if(U.current)return;let b=Z.current,c=$.current;if(!c)return;U.current=c;let d=[...b].sort((a,b)=>a.order-b.order),e=d.findIndex(a=>a.id===c),f=d[e+1]||d[e-1];f&&n(a,f.id);try{await m(a,c)}finally{U.current=null}},[a,n,m]),{status:aA,retryCount:aB,disconnectReason:aC,connect:aD,reconnect:aE,sendStdin:aF,sendWebStdin:aG,sendResize:aH}=(0,G.default)({onData:a=>Q.current.write(a),onConnected:()=>{L(!0),W($.current),T.current=$.current;let a=$.current;a&&w.default.getState().setTerminalConnected(a,!0);let{cols:b,rows:c}=Q.current.fit();R.current.sendResize(b,c),_()},onSessionEnded:az});(0,c.useEffect)(()=>{Q.current={write:at,reset:av,fit:aw,focus:ax},R.current={sendStdin:aF,sendResize:aH}}),(0,c.useEffect)(()=>{ay||(S.current=null)},[ay]),(0,c.useEffect)(()=>{if(!ay||!e)return;let a=d.find(a=>a.id===e);if(a){if("web-browser"===a.panelType){S.current=null,af.current="";return}S.current!==a.sessionName&&(null!==S.current&&av(),w.default.getState().initTab(e,{terminalConnected:!1,panelType:a.panelType}),S.current=a.sessionName,aD(a.sessionName))}},[ay,e]),(0,c.useEffect)(()=>{let a=$.current;a&&w.default.getState().setTerminalConnected(a,"connected"===aA)},[aA]),(0,c.useEffect)(()=>{"disconnected"===aA&&K&&W($.current)},[aA,K]),(0,c.useEffect)(()=>{"disconnected"===aA&&K&&T.current&&T.current!==e&&d.some(a=>a.id===T.current)&&(S.current=null,n(a,T.current))},[aA]),(0,c.useEffect)(()=>{if(!ay||"connected"!==aA)return;let a=setTimeout(()=>{let{cols:a,rows:b}=aw();R.current.sendResize(a,b)},300);return()=>clearTimeout(a)},[aA]),(0,c.useEffect)(()=>{if(v){Y.current=!1,X.current&&clearTimeout(X.current),_();return}if(ay&&"connected"===aA)return Y.current=!0,queueMicrotask(()=>P(!1)),X.current=setTimeout(()=>{Y.current=!1,P(!0)},200),()=>{X.current&&clearTimeout(X.current),Y.current=!1};queueMicrotask(()=>P(!0))},[v]);let aI=(0,c.useCallback)(async()=>{N(!0),await j(a),N(!1)},[a,j]),aJ=(0,c.useCallback)(()=>{let a=ak.default.getState().dangerouslySkipPermissions,b=["--settings ~/.purplemux/hooks.json",B?`--append-system-prompt-file ~/.purplemux/workspaces/${B}/claude-prompt.md`:""].filter(Boolean).join(" "),c=`claude ${b}`;return a?`${c} --dangerously-skip-permissions`:c},[B]),aK=(0,c.useCallback)(()=>{"connected"===aA&&e&&(w.default.getState().setSessionView(e,"check"),aF(`${aJ()}\r`))},[aA,aF,e,aJ]),aL=(0,c.useCallback)(()=>{"connected"===aA&&e&&(ae.current=aJ(),w.default.getState().setSessionView(e,"check"),aF("/exit\r"))},[aA,aF,e,aJ]);(0,c.useEffect)(()=>{if(!ae.current||!0===an||"connected"!==aA||!(0,ah.isShellProcess)(af.current))return;let a=ae.current;ae.current=null,aF(`${a}\r`)},[an,aA,aF]);let aM=(0,c.useCallback)(b=>{e&&B&&fetch(`/api/layout/pane/${a}/tabs/${e}?workspace=${B}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({webUrl:b})}).catch(()=>{})},[e,a,B]),aN=0===d.length,aO=x||z||ay&&"connected"===aA&&!aN,aP=null!==e&&V!==e,aQ=(0,c.useRef)(new Set);return(0,c.useEffect)(()=>{"disconnected"!==aA||"session-not-found"!==aC||aP||!e||!u||"terminal"!==(u.panelType??"terminal")||u.lastCommand||aQ.current.has(e)||(aQ.current.add(e),(async()=>{await l.useLayoutStore.getState().restartTabInPane(a,e)&&aE()})())},[aA,aC,e,u,aP,a,aE]),(0,b.jsxs)("div",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden",style:{backgroundColor:J.colors.background,overscrollBehavior:"none"},children:[x&&e&&(0,b.jsx)(D.default,{initialUrl:u?.webUrl,onUrlChange:aM},e),z&&u&&(0,b.jsx)(E.default,{sessionName:u.sessionName},u.sessionName),v&&u&&(0,b.jsx)(aa,{tabId:e??void 0,wsId:B??void 0,sessionName:u.sessionName,claudeSessionId:u.claudeSessionId,cwd:A,sendStdin:aG,terminalWsConnected:"connected"===aA,focusTerminal:ax,focusInputRef:ac,setInputValueRef:ad,onCliStateChange:ap,onInputVisibleChange:aq,onRestartSession:aL,onNewSession:aK}),!x&&!z&&(0,b.jsx)(H.default,{ref:as,className:(0,y.cn)(!v&&"transition-opacity duration-150",v?"absolute inset-0 pointer-events-none opacity-0":"min-h-0 flex-1",!v&&aO&&O?"opacity-100":"",v||aO&&O?"":"opacity-0")}),!v&&!x&&!z&&"connected"===aA&&(0,b.jsx)(ag,{sendStdin:aG,terminalConnected:"connected"===aA}),aN&&(0,b.jsx)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:(0,b.jsxs)(k.Button,{className:"gap-1.5",onClick:r??aI,disabled:M,children:[M?(0,b.jsx)(i.default,{className:"h-3 w-3"}):(0,b.jsx)(g.Plus,{className:"h-3.5 w-3.5"}),t("openNewTab")]})}),!aN&&!x&&"disconnected"===aA&&!aP&&(0,b.jsxs)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:[(0,b.jsx)(C.WifiOff,{className:"h-5 w-5 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"max-connections"===aC?s("disconnectedMaxConnections"):"pty-error"===aC?s("disconnectedPtyError"):"session-not-found"===aC?t("disconnectedSessionNotFound"):s("cannotConnectServer")}),"session-not-found"===aC&&e?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(k.Button,{variant:"outline",size:"sm",onClick:async()=>{await l.useLayoutStore.getState().restartTabInPane(a,e)&&aE()},children:s("restart")}),(0,b.jsx)(k.Button,{variant:"ghost",size:"sm",onClick:()=>m(a,e),children:t("closeTabLabel")})]}):(0,b.jsx)(k.Button,{variant:"outline",size:"sm",onClick:aE,children:s("reconnect")})]}),!aN&&!x&&!z&&!(v&&"check"===ao)&&(0,b.jsx)(I.default,{status:aA,retryCount:aB,disconnectReason:aC,onReconnect:aE})]})};var ao=a.i(975022),ap=a.i(109254);let aq=({open:a,onOpenChange:d,onCreateTab:e})=>{let f=(0,h.useTranslations)("terminal"),g=(0,h.useTranslations)("mobile"),[j,k]=(0,c.useState)(null),l=[{key:"claude-new",type:"claude-code",icon:(0,b.jsx)(s.default,{className:"h-5 w-5"}),label:f("claudeNewConversation"),startClaude:!0},{key:"claude",type:"claude-code",icon:(0,b.jsx)(s.default,{className:"h-5 w-5"}),label:f("claudeSessionList")},{key:"terminal",type:"terminal",icon:(0,b.jsx)(ao.Terminal,{className:"h-5 w-5 text-muted-foreground"}),label:"Terminal"},{key:"diff",type:"diff",icon:(0,b.jsx)(q.GitCompareArrows,{className:"h-5 w-5 text-muted-foreground"}),label:"Diff"}],m=async a=>{k(a.key),"startClaude"in a&&a.startClaude?await e(a.type,{command:"claude-new"}):await e(a.type),k(null),d(!1)};return(0,b.jsx)(ap.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(ap.DialogContent,{className:"w-[calc(100%-2rem)] max-w-xs gap-2 rounded-xl p-4",children:[(0,b.jsx)(ap.DialogHeader,{children:(0,b.jsx)(ap.DialogTitle,{className:"text-sm font-medium",children:g("newTab")})}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-2",children:l.map(a=>(0,b.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!==j,onClick:()=>m(a),children:[j===a.key?(0,b.jsx)(i.default,{className:"h-4 w-4"}):a.icon,(0,b.jsx)("span",{className:"text-xs",children:a.label})]},a.key))})]})})};var ar=a.i(266254),as=a.i(219617),at=a.i(493621);a.s(["default",0,()=>{let a=(0,h.useTranslations)("terminal"),p=(0,h.useTranslations)("mobile"),q=(0,h.useTranslations)("common"),r=(0,n.default)(a=>a.isLoading),s=(0,n.default)(a=>a.error),t=(0,n.default)(a=>a.activeWorkspaceId),u=(0,n.default)(a=>a.workspaces).length,v=(0,c.useRef)(null),x=(0,c.useCallback)(()=>{let b=v.current;b&&(n.default.getState().switchWorkspace(b),j.toast.error(a("cannotSwitch")))},[a]),y=(0,l.default)({workspaceId:t,onFetchError:x}),z=(0,c.useMemo)(()=>y.layout?(0,m.collectPanes)(y.layout.root):[],[y.layout]),A=!!(y.layout&&!y.isLoading&&z.every(a=>0===a.tabs.length)),C=y.layout?.updatedAt,D=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!y.layout||!C||D.current===C)return;D.current=C;let a={};for(let b of(0,m.collectPanes)(y.layout.root))for(let c of b.tabs)(c.title||c.cwd)&&(a[c.id]={title:c.title,cwd:c.cwd});o.default.getState().hydrate(a)},[C]),(0,c.useEffect)(()=>{if(!y.layout)return;let a=new Set((0,m.collectPanes)(y.layout.root).flatMap(a=>a.tabs.map(a=>a.id)));o.default.getState().retainOnly(a)},[y.layout]),(0,at.useAutoDeleteEmptyWorkspace)(A,y.clearLayout);let E=y.layout?.activePaneId??null,F=(E?z.find(a=>a.id===E):null)??z[0]??null,G=F?.id??null,H=F?.activeTabId??null,I=F?.tabs.find(a=>a.id===H)??null,J=I?.panelType??"terminal",K=(0,c.useCallback)(a=>{let{activeWorkspaceId:b}=n.default.getState();a!==b&&(v.current=b,o.default.getState().reset(),y.clearLayout(),n.default.getState().switchWorkspace(a))},[y]);(0,c.useEffect)(()=>(as.default.getState().register({onSelectWorkspace:K}),()=>as.default.getState().unregister()),[K]);let[L,M]=(0,c.useState)(!1),[N,O]=(0,c.useState)("inactive"),P=(0,c.useCallback)(a=>{O(a)},[]);(0,c.useEffect)(()=>{H&&(0,ar.dismissTab)(H)},[H]),(0,c.useEffect)(()=>{H&&"claude-code"===J&&"inactive"!==N&&"idle"===N&&(0,ar.dismissTab)(H)},[H,N,J]);let Q=(0,w.default)(a=>{if(!H)return!1;let b=a.tabs[H];return b?.cliState==="ready-for-review"||b?.cliState==="needs-input"});(0,c.useEffect)(()=>{Q&&H&&(0,ar.dismissTab)(H)},[Q,H]);let R=(0,o.default)(a=>H?a.metadata[H]:void 0),S=(0,c.useMemo)(()=>{if(!I)return"";if(I.name)return I.name;let a=R?.title||I.title,b=a?(0,ah.formatTabTitle)(a):"";return b||`Tab ${I.order+1}`},[I,R]),T=(0,c.useCallback)(a=>{F&&H&&y.updateTabPanelType(F.id,H,a)},[F,H,y]),U=(0,c.useCallback)(()=>{M(!0)},[]),V=(0,c.useCallback)(async(a,b)=>{let c;if(!F)return;if(b?.command==="claude-new"){let a=ak.default.getState().dangerouslySkipPermissions,b=["--settings ~/.purplemux/hooks.json",t?`--append-system-prompt-file ~/.purplemux/workspaces/${t}/claude-prompt.md`:""].filter(Boolean).join(" ");c=a?`claude ${b} --dangerously-skip-permissions`:`claude ${b}`}let d=await y.createTabInPane(F.id,a,c);d&&(w.default.getState().initTab(d.id,{panelType:a,workspaceId:t??""}),b?.command==="claude-new"&&w.default.getState().setSessionView(d.id,"check"))},[F,y,t]),W=(0,c.useCallback)(()=>{F&&H&&y.deleteTabInPane(F.id,H)},[F,H,y]);return r?(0,b.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center",children:[(0,b.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("span",{className:"mt-3 text-sm text-muted-foreground",children:a("connecting")})]}):s&&!u?(0,b.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3",children:[(0,b.jsx)(d.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:s}),(0,b.jsxs)(k.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:n.default.getState().fetchWorkspaces,children:[(0,b.jsx)(e.RefreshCw,{className:"h-3.5 w-3.5"}),q("retry")]})]}):t||r||s?!y.layout||y.isLoading?(0,b.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center",children:(0,b.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"})}):y.error&&!y.isLoading?(0,b.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3",children:[(0,b.jsx)(d.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:y.error}),(0,b.jsxs)(k.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>y.fetchLayout(),children:[(0,b.jsx)(e.RefreshCw,{className:"h-3.5 w-3.5"}),q("retry")]})]}):(0,b.jsxs)(b.Fragment,{children:[F&&H&&(0,b.jsx)(B,{tabId:H,tabName:S,sessionName:I?.sessionName??null,panelType:J,onSwitchPanelType:T,onCreateTab:U,onClose:W},H),F&&H&&(0,b.jsx)(an,{paneId:F.id,tabs:F.tabs,activeTabId:H,panelType:J,onCreateTab:y.createTabInPane,onDeleteTab:y.deleteTabInPane,onSwitchTab:y.switchTabInPane,onRemoveTabLocally:y.removeTabLocally,onUpdateTabPanelType:y.updateTabPanelType,onCliStateChange:P,onOpenNewTabDialog:U},`${G}-${H}`),(0,b.jsx)(aq,{open:L,onOpenChange:M,onCreateTab:V})]}):(0,b.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 px-6 text-center",children:[(0,b.jsx)(f.Monitor,{className:"h-8 w-8 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm font-medium text-muted-foreground",children:p("noWorkspace")}),(0,b.jsxs)(k.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:async()=>{let a=await n.default.getState().createWorkspace("");a&&n.default.getState().switchWorkspace(a.id)},children:[(0,b.jsx)(g.Plus,{className:"h-3.5 w-3.5"}),a("newWorkspace")]})]})}],278878)},577712,a=>{a.n(a.i(278878))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_components_features_mobile_mobile-terminal-page_tsx_02chzch._.js.map
|