purplemux 0.3.0 → 0.3.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 +49 -49
- 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]__06an6au._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__02f5zis._.js → [root-of-the-server]__08dxtof._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08z3drz._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__11uqzxt._.js → [root-of-the-server]__0kumyrr._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s7k1je._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_13qovxu._.js → _0.stp0n._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_11h746h._.js → _00cx0p2._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_02rms4q._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_06_8vkn._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0uwytsj._.js → _078y4dk._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0uph6rf._.js → _0kzht5v._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0m6flec._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0pg-q18._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0r90z3l._.js +8 -0
- package/.next/standalone/.next/server/chunks/ssr/_0w.1ts8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0w6jc9p._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0z6yp7a._.js → _0y_feze._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0v2czf2._.js → _10dec5o._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{messages_01~7za1._.js → messages_0f3u1ly._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{messages_10_yt3k._.js → messages_0k204ao._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_de_terminal_json_[json]_cjs_05jirtw._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_en_terminal_json_[json]_cjs_0~ls3g-._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_es_terminal_json_[json]_cjs_04g2b1_._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_fr_terminal_json_[json]_cjs_0uhakya._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ja_terminal_json_[json]_cjs_0776z4f._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ko_terminal_json_[json]_cjs_06611.3._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_terminal_json_[json]_cjs_034yyg9._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ru_terminal_json_[json]_cjs_0emk8~n._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_tr_terminal_json_[json]_cjs_0xpix8g._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_terminal_json_[json]_cjs_12vwl8a._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_terminal_json_[json]_cjs_0spg5z5._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0t5csgq._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_use-intl_dist_esm_production_react_0bnxcps.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_components_00nri37._.js → src_components_05-kki3._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_components_0jrgsp7._.js → src_components_0fb83uz._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_components_0mhu5-5._.js → src_components_0gkfyrc._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_components_0~e6p9k._.js → src_components_0n3s0.7._.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/functions-config-manifest.json +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +49 -49
- package/.next/standalone/.next/server/pages/_app/build-manifest.json +6 -6
- 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/_document.js +3 -3
- package/.next/standalone/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/_error/build-manifest.json +3 -3
- package/.next/standalone/.next/server/pages/_error/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/_error.js +4 -4
- package/.next/standalone/.next/server/pages/_error.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 +7 -7
- package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +4 -4
- package/.next/standalone/.next/server/pages/index.js +5 -5
- 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/build-manifest.json +4 -4
- package/.next/standalone/.next/server/pages/login/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/login.js +4 -4
- 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 +6 -6
- package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/reports.js +5 -5
- package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/reset/build-manifest.json +4 -4
- package/.next/standalone/.next/server/pages/reset/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/reset.js +5 -5
- 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 +6 -6
- package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/stats.js +5 -5
- package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/tools-required/build-manifest.json +4 -4
- package/.next/standalone/.next/server/pages/tools-required/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/tools-required.js +5 -5
- 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 +6 -6
- package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/webview.js +5 -5
- 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/chunks/01.oujz.z9cq..js +1 -0
- package/.next/standalone/.next/static/chunks/{0~23in~aqup16.js → 0176ysv-agwwx.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0icark0o3b_6j.js → 03s5e91.zrsi_.js} +4 -4
- package/.next/standalone/.next/static/chunks/{0h57gqab.hlp8.js → 05zk.ks4roh-4.js} +6 -6
- package/.next/standalone/.next/static/chunks/05~6_0_288m3t.js +1 -0
- package/.next/standalone/.next/static/chunks/06uy95ammv.ud.js +1 -0
- package/.next/standalone/.next/static/chunks/08-el~h0ax929.js +1 -0
- package/.next/standalone/.next/static/chunks/{14_wa..vd6~2y.js → 0984g4~der6-4.js} +2 -2
- package/.next/standalone/.next/static/chunks/{016ho28abx9rt.js → 0_psc1~qmka.m.js} +4 -4
- package/.next/standalone/.next/static/chunks/{00s6ekn81~vi-.js → 0ap~c~__qw2_0.js} +6 -6
- package/.next/standalone/.next/static/chunks/0cir.n19rqu--.js +8 -0
- package/.next/standalone/.next/static/chunks/0dpud6_2~.2iv.js +1 -0
- package/.next/standalone/.next/static/chunks/0euxle0n3zjm3.js +1 -0
- package/.next/standalone/.next/static/chunks/0fax5v7rwhm7g.js +6 -0
- package/.next/standalone/.next/static/chunks/{0wf0tx~eo05t~.js → 0gfoib7v3q4k_.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0538dx15fw8_n.js → 0kep81gqgj5f5.js} +7 -7
- package/.next/standalone/.next/static/chunks/0kriln8d9.mdo.js +1 -0
- package/.next/standalone/.next/static/chunks/{0eia27slkj8a0.js → 0l.88yoxq6tq8.js} +6 -6
- package/.next/standalone/.next/static/chunks/{0ea-k_kbq5gi1.js → 0n7jmg60eqx1a.js} +1 -1
- package/.next/standalone/.next/static/chunks/0nm1wy7i1z64_.js +1 -0
- package/.next/standalone/.next/static/chunks/0o1e0e_okaxww.js +1 -0
- package/.next/standalone/.next/static/chunks/{0l80eb3i.wx6k.js → 0p2m6i37_wprv.js} +1 -1
- package/.next/standalone/.next/static/chunks/0qz-agdkp9v1q.js +16 -0
- package/.next/standalone/.next/static/chunks/0w1v1a5wi.byq.js +1 -0
- package/.next/standalone/.next/static/chunks/0wha_~zny181w.js +1 -0
- package/.next/standalone/.next/static/chunks/0wu-q.gmu-64d.js +5 -0
- package/.next/standalone/.next/static/chunks/{00l132mp04ubq.js → 0xfp8sfehtui9.js} +1 -1
- package/.next/standalone/.next/static/chunks/0yzd69blq638o.js +1 -0
- package/.next/standalone/.next/static/chunks/{0erebazb6ppou.js → 12f3vk2rnkb8u.js} +6 -6
- package/.next/standalone/.next/static/chunks/135cvydv7redz.js +1 -0
- package/.next/standalone/.next/static/chunks/14rrqgjvv0_69.js +1 -0
- package/.next/standalone/.next/static/chunks/14vposxx99rq4.js +1 -0
- package/.next/standalone/.next/static/chunks/{09mlfwheuib_9.js → 168.xhj-0lt8a.js} +1 -1
- package/.next/standalone/.next/static/chunks/1792_-2m366un.js +1 -0
- package/.next/standalone/.next/static/chunks/{0nr5ul7mf1bo7.js → 179vwj~zm1gya.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-10c4z.4l4dxnu.js → turbopack-0.6hkxuraykc4.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-05.ehb143ourd.js → turbopack-0g2bivvnd2gyd.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0ji23rzquaykn.js → turbopack-0heaqdupr4xj6.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-02wj1-z8.1081.js → turbopack-0jcfxeuy1ge85.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-07.z46yb_52p5.js → turbopack-0rntg0~hh7h.0.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-05j~l.6~_nm9l.js → turbopack-0sk1uk-fkcqdx.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-11utvoktq4lmr.js → turbopack-0w89gj59tho~b.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-04t3309-jsj3y.js → turbopack-0~gn911-6yqk2.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0-rpf9ad3km~v.js → turbopack-14fnzd5yh28gy.js} +1 -1
- package/.next/standalone/.next/static/{bybcCRIlOhSPtqdnJUPM- → pZhcwQ83aP87HDTIzzyJ6}/_buildManifest.js +8 -8
- package/.next/standalone/.next/static/{bybcCRIlOhSPtqdnJUPM- → pZhcwQ83aP87HDTIzzyJ6}/_clientMiddlewareManifest.js +1 -1
- package/.next/standalone/messages/de/terminal.json +1 -1
- package/.next/standalone/messages/en/terminal.json +1 -1
- package/.next/standalone/messages/es/terminal.json +1 -1
- package/.next/standalone/messages/fr/terminal.json +1 -1
- package/.next/standalone/messages/ja/terminal.json +1 -1
- package/.next/standalone/messages/ko/terminal.json +1 -1
- package/.next/standalone/messages/pt-BR/terminal.json +1 -1
- package/.next/standalone/messages/ru/terminal.json +1 -1
- package/.next/standalone/messages/tr/terminal.json +1 -1
- package/.next/standalone/messages/zh-CN/terminal.json +1 -1
- package/.next/standalone/messages/zh-TW/terminal.json +1 -1
- package/.next/standalone/package.json +6 -5
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/config/tmux.conf +11 -3
- package/README.de.md +41 -14
- package/README.es.md +41 -14
- package/README.fr.md +41 -14
- package/README.ja.md +41 -14
- package/README.ko.md +41 -14
- package/README.md +41 -14
- package/README.pt-BR.md +41 -14
- package/README.ru.md +41 -14
- package/README.tr.md +41 -14
- package/README.zh-CN.md +41 -14
- package/README.zh-TW.md +41 -14
- package/dist/server.js +6 -5
- package/package.json +6 -5
- package/src/config/tmux.conf +11 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y7-o~r._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_08ytq3p._.js +0 -8
- package/.next/standalone/.next/static/chunks/00snihvygw9l4.js +0 -1
- package/.next/standalone/.next/static/chunks/00yfl7agnve...js +0 -5
- package/.next/standalone/.next/static/chunks/02ocrfbfg24nx.js +0 -1
- package/.next/standalone/.next/static/chunks/04rkjr-2duj5b.js +0 -1
- package/.next/standalone/.next/static/chunks/0c8wt2p0xhe5i.js +0 -1
- package/.next/standalone/.next/static/chunks/0duqg-kf_y-i3.js +0 -1
- package/.next/standalone/.next/static/chunks/0ep22zye8flqz.js +0 -1
- package/.next/standalone/.next/static/chunks/0ff6a07hvp4pu.js +0 -6
- package/.next/standalone/.next/static/chunks/0fg9x61ohrtv3.js +0 -1
- package/.next/standalone/.next/static/chunks/0fgx5m8vdxaap.js +0 -1
- package/.next/standalone/.next/static/chunks/0m_sn0gry7q~c.js +0 -1
- package/.next/standalone/.next/static/chunks/0p5c0gp6gyhh6.js +0 -1
- package/.next/standalone/.next/static/chunks/0qsmo2marl-6d.js +0 -16
- package/.next/standalone/.next/static/chunks/0ul9.j_tmw365.js +0 -1
- package/.next/standalone/.next/static/chunks/107yj1xx63glr.js +0 -1
- package/.next/standalone/.next/static/chunks/12_04jv.ecbd-.js +0 -1
- package/.next/standalone/.next/static/chunks/14cccdp9z2qvf.js +0 -8
- package/.next/standalone/.next/static/chunks/14yj.l6qq359_.js +0 -1
- package/.next/standalone/.next/static/chunks/1786bmcy3s8sd.js +0 -1
- package/.next/standalone/.next/static/chunks/17mf_h-e8sebp.js +0 -1
- /package/.next/standalone/.next/static/{bybcCRIlOhSPtqdnJUPM- → pZhcwQ83aP87HDTIzzyJ6}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,51372,e=>{"use strict";let t,n;var a=e.i(391398),r=e.i(191788),l=e.i(352819),i=e.i(432237),s=e.i(398957),o=e.i(972733);function u({groupSize:e,panelElement:t,styleProp:n}){let a,[r,l]=function(e){switch(typeof e){case"number":return[e,"px"];case"string":{let t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}(n);switch(l){case"%":a=r/100*e;break;case"px":a=r;break;case"rem":a=r*parseFloat(getComputedStyle(t.ownerDocument.body).fontSize);break;case"em":a=r*parseFloat(getComputedStyle(t).fontSize);break;case"vh":a=r/100*window.innerHeight;break;case"vw":a=r/100*window.innerWidth}return a}function d(e){return parseFloat(e.toFixed(3))}function c({group:e}){let{orientation:t,panels:n}=e;return n.reduce((e,n)=>e+="horizontal"===t?n.element.offsetWidth:n.element.offsetHeight,0)}function f(e){let{panels:t}=e,n=c({group:e});return 0===n?t.map(e=>({groupResizeBehavior:e.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:!0===e.panelConstraints.collapsible,defaultSize:void 0,disabled:e.panelConstraints.disabled,minSize:0,maxSize:100,panelId:e.id})):t.map(e=>{let t,{element:a,panelConstraints:r}=e,l=0;void 0!==r.collapsedSize&&(l=d(u({groupSize:n,panelElement:a,styleProp:r.collapsedSize})/n*100)),void 0!==r.defaultSize&&(t=d(u({groupSize:n,panelElement:a,styleProp:r.defaultSize})/n*100));let i=0;void 0!==r.minSize&&(i=d(u({groupSize:n,panelElement:a,styleProp:r.minSize})/n*100));let s=100;return void 0!==r.maxSize&&(s=d(u({groupSize:n,panelElement:a,styleProp:r.maxSize})/n*100)),{groupResizeBehavior:r.groupResizeBehavior,collapsedSize:l,collapsible:!0===r.collapsible,defaultSize:t,disabled:r.disabled,minSize:i,maxSize:s,panelId:e.id}})}function p(e,t="Assertion error"){if(!e)throw Error(t)}function m(e,t){return Array.from(t).sort("horizontal"===e?h:g)}function h(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return 0!==n?n:e.element.offsetWidth-t.element.offsetWidth}function g(e,t){let n=e.element.offsetTop-t.element.offsetTop;return 0!==n?n:e.element.offsetHeight-t.element.offsetHeight}function x(e){return null!==e&&"object"==typeof e&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function b(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function v(e){let{element:n,orientation:a,panels:r,separators:l}=e,i=m(a,Array.from(n.children).filter(x).map(e=>({element:e}))).map(({element:e})=>e),s=[],o=!1,u=!1,d=-1,f=-1,h=0,g,v=[];{let e=-1;for(let t of i)t.hasAttribute("data-panel")&&(e++,t.hasAttribute("data-disabled")||(h++,-1===d&&(d=e),f=e))}if(h>1){let n=-1;for(let m of i)if(m.hasAttribute("data-panel")){n++;let l=r.find(e=>e.element===m);if(l){if(g){let r,i=g.element.getBoundingClientRect(),h=m.getBoundingClientRect();if(u){let e="horizontal"===a?new DOMRect(i.right,i.top,0,i.height):new DOMRect(i.left,i.bottom,i.width,0),t="horizontal"===a?new DOMRect(h.left,h.top,0,h.height):new DOMRect(h.left,h.top,h.width,0);switch(v.length){case 0:r=[e,t];break;case 1:{let n=v[0],l=function({orientation:e,rects:t,targetRect:n}){let a={x:n.x+n.width/2,y:n.y+n.height/2},r,l=Number.MAX_VALUE;for(let n of t){let{x:t,y:i}=b(a,n),s="horizontal"===e?t:i;s<l&&(l=s,r=n)}return p(r,"No rect found"),r}({orientation:a,rects:[i,h],targetRect:n.element.getBoundingClientRect()});r=[n,l===i?t:e];break}default:r=v}}else r=v.length?v:["horizontal"===a?new DOMRect(i.right,h.top,h.left-i.right,h.height):new DOMRect(h.left,i.bottom,h.width,h.top-i.bottom)];for(let a of r){let r="width"in a?a:a.element.getBoundingClientRect(),i=(void 0===t&&(t="function"==typeof matchMedia&&!!matchMedia("(pointer:coarse)").matches),t)?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(r.width<i){let e=i-r.width;r=new DOMRect(r.x-e/2,r.y,r.width+e,r.height)}if(r.height<i){let e=i-r.height;r=new DOMRect(r.x,r.y-e/2,r.width,r.height+e)}let u=n<=d||n>f;o||u||s.push({group:e,groupSize:c({group:e}),panels:[g,l],separator:"width"in a?void 0:a,rect:r}),o=!1}}u=!1,g=l,v=[]}}else if(m.hasAttribute("data-separator")){null!==m.ariaDisabled&&(o=!0);let e=l.find(e=>e.element===m);e?v.push(e):(g=void 0,v=[])}else u=!0}return s}class y{#e={};addListener(e,t){let n=this.#e[e];return void 0===n?this.#e[e]=[t]:n.includes(t)||n.push(t),()=>{this.removeListener(e,t)}}emit(e,t){let n=this.#e[e];if(void 0!==n)if(1===n.length)n[0].call(null,t);else{let e=!1,a=null,r=Array.from(n);for(let n=0;n<r.length;n++){let l=r[n];try{l.call(null,t)}catch(t){null===a&&(e=!0,a=t)}}if(e)throw a}}removeAllListeners(){this.#e={}}removeListener(e,t){let n=this.#e[e];if(void 0!==n){let e=n.indexOf(t);e>=0&&n.splice(e,1)}}}let w=new Map,S=new y;function C(e,t){for(let[t]of w)if(t.id===e)return t}function j(e,t){for(let[t,n]of w)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function k(e,t){return S.addListener("groupChange",n=>{n.group.id===e&&t(n)})}function N(e,t){let n=w.get(e);(w=new Map(w)).set(e,t),S.emit("groupChange",{group:e,prev:n,next:t})}let T=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function P(e){let t=e.length;for(;t--;){let n=e[t];if(p(n,"Missing node"),function(e){let t,n=getComputedStyle(e);return!!("fixed"===n.position||"auto"!==n.zIndex&&("static"!==n.position||"flex"===(t=getComputedStyle(I(e)??e).display)||"inline-flex"===t)||1>+n.opacity||"transform"in n&&"none"!==n.transform||"webkitTransform"in n&&"none"!==n.webkitTransform||"mixBlendMode"in n&&"normal"!==n.mixBlendMode||"filter"in n&&"none"!==n.filter||"webkitFilter"in n&&"none"!==n.webkitFilter||"isolation"in n&&"isolate"===n.isolation||T.test(n.willChange)||"touch"===n.webkitOverflowScrolling)}(n))return n}return null}function z(e){return e&&Number(getComputedStyle(e).zIndex)||0}function R(e){let t=[];for(;e;)t.push(e),e=I(e);return t}function I(e){let{parentNode:t}=e;return null!==t&&"object"==typeof t&&"nodeType"in t&&t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?t.host:t}function L(e,t){let n=[];return t.forEach((t,a)=>{if(a.disabled)return;let r=v(a),l=function(e,t,n){let a,r={x:1/0,y:1/0};for(let l of t){let t=b(n,l.rect);switch(e){case"horizontal":t.x<=r.x&&(a=l,r=t);break;case"vertical":t.y<=r.y&&(a=l,r=t)}}return a?{distance:r,hitRegion:a}:void 0}(a.orientation,r,{x:e.clientX,y:e.clientY});l&&l.distance.x<=0&&l.distance.y<=0&&function({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!x(n)||n.contains(e)||e.contains(n))return!0;if(function(e,t){let n;if(e===t)throw Error("Cannot compare node with itself");let a={a:R(e),b:R(t)};for(;a.a.at(-1)===a.b.at(-1);)n=a.a.pop(),a.b.pop();p(n,"Stacking order can only be calculated for elements with a common ancestor");let r={a:z(P(a.a)),b:z(P(a.b))};if(r.a===r.b){let e=n.childNodes,t={a:a.a.at(-1),b:a.b.at(-1)},r=e.length;for(;r--;){let n=e[r];if(n===t.a)return 1;if(n===t.b)return -1}}return Math.sign(r.a-r.b)}(n,e)>0){let r=n;for(;r;){var a;if(r.contains(e))break;if(a=r.getBoundingClientRect(),a.x<t.x+t.width&&a.x+a.width>t.x&&a.y<t.y+t.height&&a.y+a.height>t.y)return!1;r=r.parentElement}}return!0}({groupElement:a.element,hitRegion:l.hitRegion.rect,pointerEventTarget:e.target})&&n.push(l.hitRegion)}),n}function E(e,t,n=0){return Math.abs(d(e)-d(t))<=n}function D(e,t){return E(e,t)?0:e>t?1:-1}function M({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:a}){let{collapsedSize:r=0,collapsible:l,disabled:i,maxSize:s=100,minSize:o=0}=t;return i&&!e?n:(0>D(a,o)&&(a=l&&0>D(a,(r+o)/2)?r:o),d(a=Math.min(s,a)))}function A({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:a,prevLayout:r,trigger:l}){if(E(e,0))return t;let i="imperative-api"===l,s=Object.values(t),o=Object.values(r),u=[...s],[d,c]=a;p(null!=d,"Invalid first pivot index"),p(null!=c,"Invalid second pivot index");let f=0;if("keyboard"===l){{let t=e<0?c:d,a=n[t];p(a,`Panel constraints not found for index ${t}`);let{collapsedSize:r=0,collapsible:l,minSize:i=0}=a;if(l){let n=s[t];if(p(null!=n,`Previous layout not found for panel index ${t}`),E(n,r)){let t=i-n;D(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?d:c,a=n[t];p(a,`No panel constraints found for index ${t}`);let{collapsedSize:r=0,collapsible:l,minSize:i=0}=a;if(l){let n=s[t];if(p(null!=n,`Previous layout not found for panel index ${t}`),E(n,i)){let t=n-r;D(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}}else{let t=e<0?c:d,a=n[t];p(a,`Panel constraints not found for index ${t}`);let r=s[t],{collapsible:l,collapsedSize:i,minSize:o}=a;if(l&&0>D(r,o))if(e>0){let t=o-i;0>D(r+e,o)&&(e=0>=D(e,t/2)?0:t)}else{let t=o-i;0>D(r-e,o)&&(e=D(100+e,100-t/2)>0?0:-t)}}{let t=e<0?1:-1,a=e<0?c:d,r=0;for(;;){let e=s[a];if(p(null!=e,`Previous layout not found for panel index ${a}`),r+=M({overrideDisabledPanels:i,panelConstraints:n[a],prevSize:e,size:100})-e,(a+=t)<0||a>=n.length)break}let l=Math.min(Math.abs(e),Math.abs(r));e=e<0?0-l:l}{let t=e<0?d:c;for(;t>=0&&t<n.length;){let a=Math.abs(e)-Math.abs(f),r=s[t];p(null!=r,`Previous layout not found for panel index ${t}`);let l=r-a,o=M({overrideDisabledPanels:i,panelConstraints:n[t],prevSize:r,size:l});if(!E(r,o)&&(f+=r-o,u[t]=o,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?t--:t++}}if(function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}(o,u))return r;{let t=e<0?c:d,a=s[t];p(null!=a,`Previous layout not found for panel index ${t}`);let r=a+f,l=M({overrideDisabledPanels:i,panelConstraints:n[t],prevSize:a,size:r});if(u[t]=l,!E(l,r)){let t=r-l,a=e<0?c:d;for(;a>=0&&a<n.length;){let r=u[a];p(null!=r,`Previous layout not found for panel index ${a}`);let l=r+t,s=M({overrideDisabledPanels:i,panelConstraints:n[a],prevSize:r,size:l});if(E(r,s)||(t-=s-r,u[a]=s),E(t,0))break;e>0?a--:a++}}}if(!E(Object.values(u).reduce((e,t)=>t+e,0),100,.1))return r;let m=Object.keys(r);return u.reduce((e,t,n)=>(e[m[n]]=t,e),{})}function F(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(void 0===t[n]||0!==D(e[n],t[n]))return!1;return!0}function $({layout:e,panelConstraints:t}){let n=Object.values(e),a=[...n],r=a.reduce((e,t)=>e+t,0);if(a.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${a.map(e=>`${e}%`).join(", ")}`);if(!E(r,100)&&a.length>0)for(let e=0;e<t.length;e++){let t=a[e];p(null!=t,`No layout data found for index ${e}`);let n=100/r*t;a[e]=n}let l=0;for(let e=0;e<t.length;e++){let r=n[e];p(null!=r,`No layout data found for index ${e}`);let i=a[e];p(null!=i,`No layout data found for index ${e}`);let s=M({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:r,size:i});i!=s&&(l+=i-s,a[e]=s)}if(!E(l,0))for(let e=0;e<t.length;e++){let n=a[e];p(null!=n,`No layout data found for index ${e}`);let r=n+l,i=M({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:r});if(n!==i&&(l-=i-n,a[e]=i,E(l,0)))break}let i=Object.keys(e);return a.reduce((e,t,n)=>(e[i[n]]=t,e),{})}function B({groupId:e,panelId:t}){let n=()=>{for(let[t,{defaultLayoutDeferred:n,derivedPanelConstraints:a,layout:r,groupSize:l,separatorToPanels:i}]of w)if(t.id===e)return{defaultLayoutDeferred:n,derivedPanelConstraints:a,group:t,groupSize:l,layout:r,separatorToPanels:i};throw Error(`Group ${e} not found`)},a=()=>{let e=n().derivedPanelConstraints.find(e=>e.panelId===t);if(void 0!==e)return e;throw Error(`Panel constraints not found for Panel ${t}`)},r=()=>{let e=n().group.panels.find(e=>e.id===t);if(void 0!==e)return e;throw Error(`Layout not found for Panel ${t}`)},l=()=>{let e=n().layout[t];if(void 0!==e)return e;throw Error(`Layout not found for Panel ${t}`)},i=e=>{let a=l();if(e===a)return;let{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:s,groupSize:o,layout:u,separatorToPanels:d}=n(),c=s.panels.findIndex(e=>e.id===t),f=c===s.panels.length-1,p=$({layout:A({delta:f?a-e:e-a,initialLayout:u,panelConstraints:i,pivotIndices:f?[c-1,c]:[c,c+1],prevLayout:u,trigger:"imperative-api"}),panelConstraints:i});F(u,p)||N(s,{defaultLayoutDeferred:r,derivedPanelConstraints:i,groupSize:o,layout:p,separatorToPanels:d})};return{collapse:()=>{let{collapsible:e,collapsedSize:t}=a(),{mutableValues:n}=r(),s=l();e&&s!==t&&(n.expandToSize=s,i(t))},expand:()=>{let{collapsible:e,collapsedSize:t,minSize:n}=a(),{mutableValues:s}=r(),o=l();if(e&&o===t){let e=s.expandToSize??n;0===e&&(e=1),i(e)}},getSize:()=>{let{group:e}=n(),t=l(),{element:a}=r();return{asPercentage:t,inPixels:"horizontal"===e.orientation?a.offsetWidth:a.offsetHeight}},isCollapsed:()=>{let{collapsible:e,collapsedSize:t}=a(),n=l();return e&&E(t,n)},resize:e=>{let{group:t}=n(),{element:a}=r(),l=c({group:t});i(d(u({groupSize:l,panelElement:a,styleProp:e})/l*100))}}}function O(e){e.defaultPrevented||L(e,w).forEach(t=>{if(t.separator&&!t.separator.disableDoubleClick){let n=t.panels.find(e=>void 0!==e.panelConstraints.defaultSize);if(n){let a=n.panelConstraints.defaultSize,r=B({groupId:t.group.id,panelId:n.id});r&&void 0!==a&&(r.resize(a),e.preventDefault())}}})}function W(e){for(let[t]of w)if(t.separators.some(t=>t.element===e))return t;throw Error("Could not find parent Group for separator element")}function G({groupId:e}){let t=()=>{for(let[t,n]of w)if(t.id===e)return{group:t,...n};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){let{defaultLayoutDeferred:e,layout:n}=t();return e?{}:n},setLayout(e){let{defaultLayoutDeferred:n,derivedPanelConstraints:a,group:r,groupSize:l,layout:i,separatorToPanels:s}=t(),o=$({layout:e,panelConstraints:a});return n?i:(F(i,o)||N(r,{defaultLayoutDeferred:n,derivedPanelConstraints:a,groupSize:l,layout:o,separatorToPanels:s}),o)}}}function U(e,t){let n=W(e),a=j(n.id,!0),r=n.separators.find(t=>t.element===e);p(r,"Matching separator not found");let l=a.separatorToPanels.get(r);p(l,"Matching panels not found");let i=l.map(e=>n.panels.indexOf(e)),s=G({groupId:n.id}).getLayout(),o=$({layout:A({delta:t,initialLayout:s,panelConstraints:a.derivedPanelConstraints,pivotIndices:i,prevLayout:s,trigger:"keyboard"}),panelConstraints:a.derivedPanelConstraints});F(s,o)||N(n,{defaultLayoutDeferred:a.defaultLayoutDeferred,derivedPanelConstraints:a.derivedPanelConstraints,groupSize:a.groupSize,layout:o,separatorToPanels:a.separatorToPanels})}function V(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=W(t);if(!n.disabled)switch(e.key){case"ArrowDown":e.preventDefault(),"vertical"===n.orientation&&U(t,5);break;case"ArrowLeft":e.preventDefault(),"horizontal"===n.orientation&&U(t,-5);break;case"ArrowRight":e.preventDefault(),"horizontal"===n.orientation&&U(t,5);break;case"ArrowUp":e.preventDefault(),"vertical"===n.orientation&&U(t,-5);break;case"End":e.preventDefault(),U(t,100);break;case"Enter":{e.preventDefault();let n=W(t),{derivedPanelConstraints:a,layout:r,separatorToPanels:l}=j(n.id,!0),i=n.separators.find(e=>e.element===t);p(i,"Matching separator not found");let s=l.get(i);p(s,"Matching panels not found");let o=s[0],u=a.find(e=>e.panelId===o.id);if(p(u,"Panel metadata not found"),u.collapsible){let e=r[o.id];U(t,(u.collapsedSize===e?n.mutableState.expandedPanelSizes[o.id]??u.minSize:u.collapsedSize)-e)}break}case"F6":{e.preventDefault();let n=W(t).separators.map(e=>e.element),a=Array.from(n).findIndex(t=>t===e.currentTarget);p(null!==a,"Index not found");let r=e.shiftKey?a>0?a-1:n.length-1:a+1<n.length?a+1:0;n[r].focus({preventScroll:!0});break}case"Home":e.preventDefault(),U(t,-100)}}let q={cursorFlags:0,state:"inactive"},_=new y;function H(e){let t=q;q=e,_.emit("change",{prev:t,next:e})}function X(e){if(e.defaultPrevented||"mouse"===e.pointerType&&e.button>0)return;let t=w,n=L(e,t),a=new Map,r=!1;n.forEach(e=>{e.separator&&(r||(r=!0,e.separator.element.focus({preventScroll:!0})));let n=t.get(e.group);n&&a.set(e.group,n.layout)}),H({cursorFlags:0,hitRegions:n,initialLayoutMap:a,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}),n.length&&e.preventDefault()}let K=e=>e,Y=()=>{};function J(){return void 0===n&&(n=!1,"u">typeof window&&(window.navigator.userAgent.includes("Chrome")||window.navigator.userAgent.includes("Firefox"))&&(n=!0)),n}let Q=new WeakMap;function Z(e){if(null===e.defaultView||void 0===e.defaultView)return;let{prevStyle:t,styleSheet:n}=Q.get(e)??{};void 0===n&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));let a=q;switch(a.state){case"active":case"hover":{let e=function({cursorFlags:e,groups:t,state:n}){let a=0,r=0;switch(n){case"active":case"hover":t.forEach(e=>{if(!e.mutableState.disableCursor)switch(e.orientation){case"horizontal":a++;break;case"vertical":r++}})}if(0!==a||0!==r){if("active"===n&&e&&J()){let t=(4&e)!=0,n=(8&e)!=0;if((1&e)!=0)return t?"se-resize":n?"ne-resize":"e-resize";if((2&e)!=0)return t?"sw-resize":n?"nw-resize":"w-resize";if(t)return"s-resize";if(n)return"n-resize"}return J()?a>0&&r>0?"move":a>0?"ew-resize":"ns-resize":a>0&&r>0?"grab":a>0?"col-resize":"row-resize"}}({cursorFlags:a.cursorFlags,groups:a.hitRegions.map(e=>e.group),state:a.state}),r=`*, *:hover {cursor: ${e} !important; }`;if(t===r)return;t=r,e?0===n.cssRules.length?n.insertRule(r):n.replaceSync(r):1===n.cssRules.length&&n.deleteRule(0);break}case"inactive":t=void 0,1===n.cssRules.length&&n.deleteRule(0)}Q.set(e,{prevStyle:t,styleSheet:n})}function ee({document:e,event:t,hitRegions:n,initialLayoutMap:a,mountedGroups:r,pointerDownAtPoint:l,prevCursorFlags:i}){var s;let o,u,d=0;n.forEach(e=>{let{group:n,groupSize:i}=e,{orientation:s,panels:o}=n,{disableCursor:u}=n.mutableState,c=0;c=l?"horizontal"===s?(t.clientX-l.x)/i*100:(t.clientY-l.y)/i*100:"horizontal"===s?t.clientX<0?-100:100:t.clientY<0?-100:100;let f=a.get(n),p=r.get(n);if(!f||!p)return;let{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:x,separatorToPanels:b}=p;if(h&&x&&b){let t=A({delta:c,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>o.indexOf(e)),prevLayout:x,trigger:"mouse-or-touch"});if(F(t,x)){if(0!==c&&!u)switch(s){case"horizontal":d|=c<0?1:2;break;case"vertical":d|=c<0?4:8}}else N(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:b})}});let c=0;0===t.movementX?c|=3&i:c|=3&d,0===t.movementY?c|=12&i:c|=12&d,s=c,o=q,(u={...q}).cursorFlags=s,q=u,_.emit("change",{prev:o,next:u}),Z(e)}function et(e){let t=w,n=q;"active"===n.state&&ee({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}function en(e){if(e.defaultPrevented)return;let t=q,n=w;if("active"===t.state){if(0===e.buttons){H({cursorFlags:0,state:"inactive"}),t.hitRegions.forEach(e=>{let t=j(e.group.id,!0);N(e.group,t)});return}for(let n of t.hitRegions)if(n.separator){let{element:t}=n.separator;t.hasPointerCapture?.(e.pointerId)||t.setPointerCapture?.(e.pointerId)}ee({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags})}else{let a=L(e,n);0===a.length?"inactive"!==t.state&&H({cursorFlags:0,state:"inactive"}):H({cursorFlags:0,hitRegions:a,state:"hover"}),Z(e.currentTarget)}}function ea(e){e.relatedTarget instanceof HTMLIFrameElement&&"hover"===q.state&&H({cursorFlags:0,state:"inactive"})}function er(e){if(e.defaultPrevented||"mouse"===e.pointerType&&e.button>0)return;let t=q;"active"===t.state&&(H({cursorFlags:0,state:"inactive"}),t.hitRegions.length>0&&(Z(e.currentTarget),t.hitRegions.forEach(e=>{let t=j(e.group.id,!0);N(e.group,t)}),e.preventDefault()))}function el(e){let t=0,n=0,a={};for(let r of e)if(void 0!==r.defaultSize){t++;let e=d(r.defaultSize);n+=e,a[r.panelId]=e}else a[r.panelId]=void 0;let r=e.length-t;if(0!==r){let t=d((100-n)/r);for(let n of e)void 0===n.defaultSize&&(a[n.panelId]=t)}return a}let ei=new Map;function es(e){let t=(0,r.useId)();return`${e??t}`}let eo="u">typeof window?r.useLayoutEffect:r.useEffect;function eu(e){let t=(0,r.useRef)(e);return eo(()=>{t.current=e},[e]),(0,r.useCallback)((...e)=>t.current?.(...e),[t])}function ed(...e){return eu(t=>{e.forEach(e=>{if(e)switch(typeof e){case"function":e(t);break;case"object":e.current=t}})})}function ec(e){let t=(0,r.useRef)({...e});return eo(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}let ef=(0,r.createContext)(null);function ep({children:e,className:t,defaultLayout:n,disableCursor:l,disabled:i,elementRef:s,groupRef:o,id:u,onLayoutChange:h,onLayoutChanged:g,orientation:x="horizontal",resizeTargetMinimumSize:b={coarse:20,fine:10},style:y,...S}){let T,P=(0,r.useRef)({onLayoutChange:{},onLayoutChanged:{}}),z=eu(e=>{F(P.current.onLayoutChange,e)||(P.current.onLayoutChange=e,h?.(e))}),R=eu(e=>{F(P.current.onLayoutChanged,e)||(P.current.onLayoutChanged=e,g?.(e))}),I=es(u),L=(0,r.useRef)(null),[D,M]=function(){let[e,t]=(0,r.useState)({});return[e,(0,r.useCallback)(()=>t({}),[])]}(),A=(0,r.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:b,separators:[]}),B=ed(L,s);T=(0,r.useRef)({getLayout:()=>({}),setLayout:K}),(0,r.useImperativeHandle)(o,()=>T.current,[]),eo(()=>{Object.assign(T.current,G({groupId:I}))});let W=eu((e,t)=>{let a=q,r=C(e),l=j(e);if(l){let e=!1;return"active"===a.state&&(e=a.hitRegions.some(e=>e.group===r)),{flexGrow:l.layout[t]??1,pointerEvents:e?"none":void 0}}if(n?.[t])return{flexGrow:n?.[t]}}),U=ec({defaultLayout:n,disableCursor:l}),_=(0,r.useMemo)(()=>({get disableCursor(){return!!U.disableCursor},getPanelStyles:W,id:I,orientation:x,registerPanel:e=>{let t=A.current;return t.panels=m(x,[...t.panels,e]),M(),()=>{t.panels=t.panels.filter(t=>t!==e),M()}},registerSeparator:e=>{let t=A.current;return t.separators=m(x,[...t.separators,e]),M(),()=>{t.separators=t.separators.filter(t=>t!==e),M()}},updatePanelProps:(e,{disabled:t})=>{let n=A.current.panels.find(t=>t.id===e);n&&(n.panelConstraints.disabled=t);let a=C(I),r=j(I);a&&r&&N(a,{...r,derivedPanelConstraints:f(a)})},updateSeparatorProps:(e,{disabled:t,disableDoubleClick:n})=>{let a=A.current.separators.find(t=>t.id===e);a&&(a.disabled=t,a.disableDoubleClick=n)}}),[W,I,M,x,U]),H=(0,r.useRef)(null);return eo(()=>{let e,t,n,a,r,l,s,o,u,m,h,g,b,y=L.current;if(null===y)return;let S=A.current;if(void 0!==U.defaultLayout&&Object.keys(U.defaultLayout).length===S.panels.length)for(let t of(e={},S.panels)){let n=U.defaultLayout[t.id];void 0!==n&&(e[t.id]=n)}let C={disabled:!!i,element:y,id:I,mutableState:{defaultLayout:e,disableCursor:!!U.disableCursor,expandedPanelSizes:A.current.lastExpandedPanelSizes,layouts:A.current.layouts},orientation:x,panels:S.panels,resizeTargetMinimumSize:S.resizeTargetMinimumSize,separators:S.separators};H.current=C;let T=(t=!0,p(C.element.ownerDocument.defaultView,"Cannot register an unmounted Group"),n=C.element.ownerDocument.defaultView.ResizeObserver,a=new Set,r=new Set,(l=new n(e=>{for(let n of e){let{borderBoxSize:e,target:a}=n;if(a===C.element){if(t){let e=c({group:C});if(0===e)return;let t=j(C.id);if(!t)return;let n=f(C),a=t.defaultLayoutDeferred?el(n):t.layout,r=$({layout:function({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:a}){if(n<=0||t<=0||n===t)return a;let r=0,l=0,i=!1,s=new Map,o=[];for(let u of e.panels){let e=a[u.id]??0;if("preserve-pixel-size"===u.panelConstraints.groupResizeBehavior){i=!0;let a=d(e/100*n/t*100);s.set(u.id,a),r+=a}else o.push(u.id),l+=e}if(!i||0===o.length)return a;let u=100-r,c={...a};if(s.forEach((e,t)=>{c[t]=e}),l>0)for(let e of o){let t=a[e]??0;c[e]=d(t/l*u)}else{let e=d(u/o.length);for(let t of o)c[t]=e}return c}({group:C,nextGroupSize:e,prevGroupSize:t.groupSize,prevLayout:a}),panelConstraints:n});if(!t.defaultLayoutDeferred&&F(t.layout,r)&&function(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}(t.derivedPanelConstraints,n)&&t.groupSize===e)return;N(C,{defaultLayoutDeferred:!1,derivedPanelConstraints:n,groupSize:e,layout:r,separatorToPanels:t.separatorToPanels})}}else!function(e,t,n){if(!n[0])return;let a=e.panels.find(e=>e.element===t);if(!a||!a.onResize)return;let r=c({group:e}),l="horizontal"===e.orientation?a.element.offsetWidth:a.element.offsetHeight,i=a.mutableValues.prevSize,s={asPercentage:d(l/r*100),inPixels:l};a.mutableValues.prevSize=s,a.onResize(s,a.id,i)}(C,a,e)}})).observe(C.element),C.panels.forEach(e=>{p(!a.has(e.id),`Panel ids must be unique; id "${e.id}" was used more than once`),a.add(e.id),e.onResize&&l.observe(e.element)}),s=c({group:C}),o=f(C),u=C.panels.map(({id:e})=>e).join(","),(m=C.mutableState.defaultLayout)&&(function(e,t){let n=e.map(e=>e.id),a=Object.keys(t);if(n.length!==a.length)return!1;for(let e of n)if(!a.includes(e))return!1;return!0}(C.panels,m)||(m=void 0)),h=$({layout:C.mutableState.layouts[u]??m??el(o),panelConstraints:o}),g=C.element.ownerDocument,ei.set(g,(ei.get(g)??0)+1),b=new Map,v(C).forEach(e=>{e.separator&&b.set(e.separator,e.panels)}),N(C,{defaultLayoutDeferred:0===s,derivedPanelConstraints:o,groupSize:s,layout:h,separatorToPanels:b}),C.separators.forEach(e=>{p(!r.has(e.id),`Separator ids must be unique; id "${e.id}" was used more than once`),r.add(e.id),e.element.addEventListener("keydown",V)}),1===ei.get(g)&&(g.addEventListener("dblclick",O,!0),g.addEventListener("pointerdown",X,!0),g.addEventListener("pointerleave",et),g.addEventListener("pointermove",en),g.addEventListener("pointerout",ea),g.addEventListener("pointerup",er,!0)),function(){t=!1,ei.set(g,Math.max(0,(ei.get(g)??0)-1)),(w=new Map(w)).delete(C),C.separators.forEach(e=>{e.element.removeEventListener("keydown",V)}),ei.get(g)||(g.removeEventListener("dblclick",O,!0),g.removeEventListener("pointerdown",X,!0),g.removeEventListener("pointerleave",et),g.removeEventListener("pointermove",en),g.removeEventListener("pointerout",ea),g.removeEventListener("pointerup",er,!0)),l.disconnect()}),{defaultLayoutDeferred:P,derivedPanelConstraints:D,layout:M}=j(C.id,!0);!P&&D.length>0&&(z(M),R(M));let B=k(I,e=>{let{defaultLayoutDeferred:t,derivedPanelConstraints:n,layout:a}=e.next;if(t||0===n.length)return;let r=C.panels.map(({id:e})=>e).join(",");C.mutableState.layouts[r]=a,n.forEach(t=>{if(t.collapsible){let{layout:n}=e.prev??{};if(n){let e=E(t.collapsedSize,a[t.panelId]),r=E(t.collapsedSize,n[t.panelId]);e&&!r&&(C.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let l="active"!==q.state;z(a),l&&R(a)});return()=>{H.current=null,T(),B()}},[i,I,R,z,x,D,U]),(0,r.useEffect)(()=>{let e=H.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!l)}),(0,a.jsx)(ef.Provider,{value:_,children:(0,a.jsx)("div",{...S,className:t,"data-group":!0,"data-testid":I,id:I,ref:B,style:{height:"100%",width:"100%",overflow:"hidden",...y,display:"flex",flexDirection:"horizontal"===x?"row":"column",flexWrap:"nowrap",touchAction:"horizontal"===x?"pan-y":"pan-x"},children:e})})}function em(){let e=(0,r.useContext)(ef);return p(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function eh({children:e,className:t,collapsedSize:n="0%",collapsible:l=!1,defaultSize:i,disabled:s,elementRef:o,groupResizeBehavior:u="preserve-relative-size",id:d,maxSize:c="100%",minSize:f="0%",onResize:p,panelRef:m,style:h,...g}){let x,b=!!d,v=es(d),y=ec({disabled:s}),w=(0,r.useRef)(null),S=ed(w,o),{getPanelStyles:C,id:j,orientation:N,registerPanel:T,updatePanelProps:P}=em(),z=null!==p,R=eu((e,t,n)=>{p?.(e,d,n)});eo(()=>{let e=w.current;if(null!==e)return T({element:e,id:v,idIsStable:b,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:z?R:void 0,panelConstraints:{groupResizeBehavior:u,collapsedSize:n,collapsible:l,defaultSize:i,disabled:y.disabled,maxSize:c,minSize:f}})},[u,n,l,i,z,v,b,c,f,R,T,y]),(0,r.useEffect)(()=>{P(v,{disabled:s})},[s,v,P]),function(e,t){let{id:n}=em(),a=(0,r.useRef)({collapse:Y,expand:Y,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:Y});(0,r.useImperativeHandle)(t,()=>a.current,[]),eo(()=>{Object.assign(a.current,B({groupId:n,panelId:e}))})}(v,m);let I=()=>{let e=C(j,v);if(e)return JSON.stringify(e)},L=(0,r.useSyncExternalStore)(e=>k(j,e),I,I);return x=L?JSON.parse(L):i?{flexGrow:void 0,flexShrink:void 0,flexBasis:i}:{flexGrow:1},(0,a.jsx)("div",{...g,"data-disabled":s||void 0,"data-panel":!0,"data-testid":v,id:v,ref:S,style:{...eg,display:"flex",flexBasis:0,flexShrink:1,overflow:"visible",...x},children:(0,a.jsx)("div",{className:t,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,overflow:"auto",...h,touchAction:"horizontal"===N?"pan-y":"pan-x"},children:e})})}ep.displayName="Group",eh.displayName="Panel";let eg={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function ex({children:e,className:t,disabled:n,disableDoubleClick:l,elementRef:i,id:s,style:o,...u}){let d,c,f=es(s),p=ec({disabled:n,disableDoubleClick:l}),[m,h]=(0,r.useState)({}),[g,x]=(0,r.useState)("inactive"),[b,v]=(0,r.useState)(!1),y=(0,r.useRef)(null),w=ed(y,i),{disableCursor:S,id:C,orientation:j,registerSeparator:N,updateSeparatorProps:T}=em();return eo(()=>{let e=y.current;if(null!==e){var t;let n={disabled:p.disabled,disableDoubleClick:p.disableDoubleClick,element:e,id:f},a=N(n),r=(t=e=>{x("inactive"!==e.next.state&&e.next.hitRegions.some(e=>e.separator===n)?e.next.state:"inactive")},_.addListener("change",t)),l=k(C,e=>{let{derivedPanelConstraints:t,layout:a,separatorToPanels:r}=e.next,l=r.get(n);if(l){let e=l[0],n=l.indexOf(e);h(function({layout:e,panelConstraints:t,panelId:n,panelIndex:a}){let r,l,i=e[n],s=t.find(e=>e.panelId===n);if(s){let o=s.maxSize,u=s.collapsible?s.collapsedSize:s.minSize,d=[a,a+1];l=$({layout:A({delta:u-i,initialLayout:e,panelConstraints:t,pivotIndices:d,prevLayout:e}),panelConstraints:t})[n],r=$({layout:A({delta:o-i,initialLayout:e,panelConstraints:t,pivotIndices:d,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:r,valueMin:l,valueNow:i}}({layout:a,panelConstraints:t,panelId:e.id,panelIndex:n}))}});return()=>{r(),l(),a()}}},[C,f,N,p]),(0,r.useEffect)(()=>{T(f,{disabled:n,disableDoubleClick:l})},[n,l,f,T]),n&&!S&&(d="not-allowed"),c=n?"disabled":"active"===g?"active":b?"focus":g,(0,a.jsx)("div",{...u,"aria-controls":m.valueControls,"aria-disabled":n||void 0,"aria-orientation":"horizontal"===j?"vertical":"horizontal","aria-valuemax":m.valueMax,"aria-valuemin":m.valueMin,"aria-valuenow":m.valueNow,children:e,className:t,"data-separator":c,"data-testid":f,id:f,onBlur:()=>v(!1),onFocus:()=>v(!0),ref:w,role:"separator",style:{flexBasis:"auto",cursor:d,...o,flexGrow:0,flexShrink:0,touchAction:"none"},tabIndex:n?void 0:0})}ex.displayName="Separator";var eb=e.i(199648),ev=e.i(679935),ey=e.i(939310),ew=e.i(353533),eS=e.i(335288),eC=e.i(806185),ej=e.i(490034),ek=e.i(407506),eN=e.i(399267),eT=e.i(509637);let eP=e=>e?.activePaneId?(0,eC.collectPanes)(e.root).find(t=>t.id===e.activePaneId)??null:null;var ez=e.i(453783),eR=e.i(3450),eI=e.i(730943),eL=e.i(918324),eE=e.i(943270),eE=eE,eD=e.i(462376),eM=e.i(244046),eA=e.i(355327),eF=e.i(31050),e$=e.i(117653),eB=e.i(828324),eO=e.i(827294),eW=e.i(530417),eG=e.i(756494),eU=e.i(231382),eV=e.i(418760),eq=e.i(377181),e_=e.i(815435),eH=e.i(441693),eX=e.i(17122),eK=e.i(74531),eY=e.i(273062),eJ=e.i(165137),eQ=e.i(87093),eZ=e.i(124726),e0=e.i(646190),e1=e.i(706140),e3=e.i(967086),e5=e.i(541301),e2=e.i(767708),e4=e.i(650001);let e6=()=>(0,a.jsx)("div",{className:"shrink-0 border-b",children:(0,a.jsx)("div",{className:"flex items-center px-4 py-1.5",children:(0,a.jsxs)("div",{className:"flex h-5 items-center gap-3",children:[(0,a.jsx)(e0.Skeleton,{className:"h-3 w-40"}),(0,a.jsx)(e0.Skeleton,{className:"h-3 w-20"})]})})}),e7=({meta:e,sessionName:t,sessionId:n,jsonlPath:l})=>{let[i,s]=(0,r.useState)(!1),o=(0,r.useCallback)(()=>s(e=>!e),[]),u=(0,r.useCallback)(()=>s(!1),[]),d=(0,e4.default)(l,i),{branch:c,isLoading:f}=(0,e3.default)(t),{status:p}=(0,e5.default)(t,i),m=(0,e2.default)(t,i),h=(0,r.useRef)(null),[,g]=(0,r.useState)(0);return(0,r.useEffect)(()=>{let e=setInterval(()=>g(e=>e+1),6e4);return()=>clearInterval(e)},[]),(0,r.useEffect)(()=>{if(!i)return;let e=e=>{h.current&&!h.current.contains(e.target)&&u()},t=e=>{"Escape"===e.key&&u()};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[i,u]),(0,a.jsxs)("div",{ref:h,className:"relative shrink-0 border-b",children:[(0,a.jsxs)("div",{className:"flex cursor-pointer items-center justify-between px-4 py-1.5 hover:bg-muted/30",role:"button",tabIndex:0,onClick:o,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),o())},children:[(0,a.jsx)(e1.MetaCompact,{title:e.title,totalCost:e.totalCost,branch:c,usedPercentage:e.usedPercentage,currentContextTokens:e.currentContextTokens,contextWindowSize:e.contextWindowSize}),(0,a.jsx)(eL.ChevronDown,{size:14,className:(0,ew.cn)("shrink-0 text-muted-foreground transition-transform duration-150",i&&"rotate-180")})]}),(0,a.jsx)("div",{className:(0,ew.cn)("absolute inset-x-0 top-full z-10 origin-top border-b bg-background shadow-sm transition-all duration-150 ease-out",i?"scale-y-100 opacity-100":"pointer-events-none scale-y-95 opacity-0"),children:(0,a.jsx)("div",{className:"px-4 py-3",children:(0,a.jsx)(e1.MetaDetail,{title:e.title,sessionId:n,createdAt:e.createdAt,updatedAt:e.updatedAt,fileSize:e.fileSize,userCount:d?.userCount??e.userCount,assistantCount:d?.assistantCount??e.assistantCount,toolCount:d?.toolCount??null,toolBreakdown:d?.toolBreakdown??null,inputTokens:e.inputTokens,cachedInputTokens:e.cachedInputTokens,outputTokens:e.outputTokens,reasoningOutputTokens:e.reasoningOutputTokens,totalCost:e.totalCost,currentContextTokens:e.currentContextTokens,contextWindowSize:e.contextWindowSize,usedPercentage:e.usedPercentage,model:e.model,branch:c,isBranchLoading:f,gitStatus:p,tmuxInfo:m})})})]})},e8=({tabId:e,sessionName:t,claudeSessionId:n,cwd:i,className:s,onClose:o,onNewSession:u,scrollToBottomRef:d,addPendingMessageRef:c,removePendingMessageRef:f,trustPrompt:p,onTrustResponse:m})=>{let h=(0,l.useTranslations)("terminal"),[g,x]=(0,r.useState)(null),b=(0,eN.default)(t=>t.tabs[e]?.agentProcess??null),v=(0,eN.default)(t=>t.tabs[e]?.agentInstalled??!0),y=(0,eN.default)(t=>t.tabs[e]?.cliState??"inactive"),w=(0,eN.default)(t=>t.tabs[e]?.compactingSince??null),S=(0,eN.default)(t=>(0,eN.selectSessionView)(t.tabs,e)),C=(0,eN.default)(t=>t.tabs[e]?.sessionMetaCache??null),j=(0,eN.default)(t=>t.tabs[e]?.agentSummary??null),k=(0,eN.default)(t=>t.tabs[e]?.lastUserMessage??null),N=(0,r.useCallback)(()=>{x(null)},[]),T=(0,r.useCallback)(e=>{x(null),ev.toast.warning(h("resumeBlocked"),{description:e.processName?h("resumeBlockedProcess",{name:e.processName}):void 0})},[h]),P=(0,r.useCallback)(()=>{x(null),ev.toast.error(h("resumeFailed"))},[h]),{entries:z,tasks:R,sessionId:I,jsonlPath:L,sessionSummary:E,initMeta:D,sessionStats:M,agentProcess:A,wsStatus:F,isLoading:$,error:B,loadMore:O,hasMore:W,retrySession:G,sendResume:U,addPendingUserMessage:V,removePendingUserMessage:q}=(0,eU.default)({sessionName:t,claudeSessionId:n,enabled:!!t,resumeCallbacks:{onResumeStarted:N,onResumeBlocked:T,onResumeError:P},onSync:t=>{let n=Date.now();null!==t.agentProcess&&eN.default.getState().setAgentProcess(e,t.agentProcess,n),t.agentInstalled||eN.default.getState().setAgentInstalled(e,!1),eN.default.getState().setTimelineLoading(e,t.isLoading)},getCliState:()=>eN.default.getState().tabs[e]?.cliState}),{sessions:_,hasMore:H,isLoading:X,isLoadingMore:K,error:Y,refetch:J,loadMore:Q}=(0,eV.default)({tmuxSession:t,enabled:!!t&&!0!==b,cwd:i});(0,r.useEffect)(()=>(c&&(c.current=V),f&&(f.current=q),()=>{c&&(c.current=void 0),f&&(f.current=void 0)}),[c,f,V,q]);let Z=(0,r.useRef)(b);(0,r.useEffect)(()=>{let e=Z.current;Z.current=b,!0!==e&&!0===b&&!0!==A&&G()},[b,A,G]),(0,r.useEffect)(()=>{if("unknown"!==y)return;let t=new AbortController;return fetch("/api/tmux/recover-unknown",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tabId:e}),signal:t.signal}).catch(()=>{}),()=>t.abort()},[e,y]);let ee=(0,eq.default)("check"===S,t),et=null===b||0===z.length&&$,en=(0,e_.useSessionMetaCompute)(z,E,D,M,j,k);(0,r.useEffect)(()=>{et||eN.default.getState().setSessionMetaCache(e,{meta:en,sessionId:I,jsonlPath:L})},[et,en,I,L,e]);let ea=(0,r.useCallback)(e=>{g||(x(e),U(e,t))},[g,U,t]);if(!v)return(0,a.jsxs)("div",{className:(0,ew.cn)("flex h-full w-full flex-col items-center justify-center gap-3 text-muted-foreground",s),children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:h("installClaude")}),(0,a.jsx)("span",{className:"text-xs",children:h("installClaudeHint")})]});if(p&&m)return(0,a.jsxs)("div",{className:(0,ew.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",s),children:[(0,a.jsx)(eJ.default,{folderPath:p.folderPath,onRespond:m}),(0,a.jsx)("button",{className:"mt-3 text-xs text-muted-foreground underline underline-offset-2 hover:text-foreground",onClick:o,children:h("checkTerminal")})]});if("check"===S)return ee?(0,a.jsx)("div",{className:(0,ew.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",s),children:ee.isBypassPrompt&&ee.options.length>0?(0,a.jsx)(eY.default,{sessionName:t,options:ee.options,fallback:(0,a.jsx)("button",{className:"text-xs text-muted-foreground underline underline-offset-2 hover:text-foreground",onClick:o,children:h("checkTerminal")})}):(0,a.jsx)("button",{className:"mt-3 text-xs text-muted-foreground underline underline-offset-2 hover:text-foreground",onClick:o,children:h("checkTerminal")})}):(0,a.jsx)(eK.default,{icon:(0,a.jsx)(eZ.default,{className:"h-8 w-8 text-foreground motion-safe:animate-spin motion-reduce:opacity-70 [animation-duration:1.5s]"}),main:n||I?h("claudeBootResuming"):h("claudeBootMain"),almostReady:h("claudeBootAlmostReady"),subtitle:h("claudeBootSubtitle"),className:(0,ew.cn)("animate-delayed-fade-in",s)});if("session-list"===S)return null===b||X&&0===_.length?(0,a.jsx)("div",{className:(0,ew.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",s),children:(0,a.jsx)(eb.default,{className:"h-4 w-4 text-muted-foreground"})}):0!==_.length||Y?(0,a.jsx)("div",{className:(0,ew.cn)("h-full w-full",s),children:(0,a.jsx)(eH.default,{sessions:_,isLoading:X,isLoadingMore:K,hasMore:H,error:Y,resumingSessionId:g,onSelectSession:ea,onRefresh:J,onLoadMore:Q,onNewSession:u})}):(0,a.jsx)("div",{className:(0,ew.cn)("h-full w-full",s),children:(0,a.jsx)(eX.default,{onClose:o,onNewSession:u})});let er=et?C:{meta:en,sessionId:I,jsonlPath:L};return(0,a.jsxs)("div",{className:(0,ew.cn)("flex min-h-0 w-full flex-1 flex-col",s),children:[er?(0,a.jsx)(e7,{meta:er.meta,sessionName:t,sessionId:er.sessionId,jsonlPath:er.jsonlPath}):(0,a.jsx)(e6,{}),(0,a.jsx)("div",{className:"min-h-0 flex-1",children:(0,a.jsx)(eQ.default,{entries:z,tasks:R,sessionId:I,sessionName:t,tabId:e,initMeta:D,sessionStats:M,cliState:y,compactingSince:w,wsStatus:F,isLoading:$,error:B,onRetry:G,onLoadMore:O,hasMore:W,scrollToBottomRef:d})})]})};var e9=e.i(413646),te=e.i(224050),tt=e.i(695813),tn=e.i(672432),ta=e.i(326287);let tr=({tabId:e,sessionName:t,cwd:n,className:i,onClose:s,onNewSession:u,onRestart:d,updatePrompt:c,onUpdatePromptResponse:f,scrollToBottomRef:p,addPendingMessageRef:m,removePendingMessageRef:h})=>{let g=(0,l.useTranslations)("terminal"),[x,b]=(0,r.useState)(null),v=(0,eN.default)(t=>t.tabs[e]?.agentProcess??null),y=(0,eN.default)(t=>t.tabs[e]?.agentInstalled??!0),w=(0,eN.default)(t=>t.tabs[e]?.cliState??"inactive"),S=(0,eN.default)(t=>t.tabs[e]?.compactingSince??null),C=(0,eN.default)(t=>(0,eN.selectSessionView)(t.tabs,e)),j=(0,eN.default)(t=>t.tabs[e]?.agentSessionId??null),k=(0,eN.default)(t=>t.tabs[e]?.sessionMetaCache??null),N=(0,eN.default)(t=>t.tabs[e]?.agentSummary??null),T=(0,eN.default)(t=>t.tabs[e]?.lastUserMessage??null),P=(0,r.useCallback)(()=>{u?.()},[u]),z=(0,r.useCallback)(()=>{b(null)},[]),R=(0,r.useCallback)(e=>{b(null),ev.toast.warning(g("resumeBlocked"),{description:e.processName?g("resumeBlockedProcess",{name:e.processName}):void 0})},[g]),I=(0,r.useCallback)(()=>{b(null),ev.toast.error(g("codexResumeFailed"))},[g]),{entries:L,tasks:E,sessionId:D,jsonlPath:M,sessionSummary:A,initMeta:F,sessionStats:$,agentProcess:B,wsStatus:O,isLoading:W,error:G,loadMore:U,hasMore:V,retrySession:q,sendResume:_,addPendingUserMessage:H,removePendingUserMessage:X}=(0,eU.default)({sessionName:t,agentSessionId:j,panelType:"codex-cli",enabled:!!t,resumeCallbacks:{onResumeStarted:z,onResumeBlocked:R,onResumeError:I},onSync:t=>{let n=Date.now();null!==t.agentProcess&&eN.default.getState().setAgentProcess(e,t.agentProcess,n),t.agentInstalled||eN.default.getState().setAgentInstalled(e,!1),eN.default.getState().setTimelineLoading(e,t.isLoading)},getCliState:()=>eN.default.getState().tabs[e]?.cliState}),{sessions:K,isLoading:Y,error:J,refresh:Q}=(0,te.useCodexSessions)(n,!!n&&"session-list"===C&&!0!==v);(0,r.useEffect)(()=>(m&&(m.current=H),h&&(h.current=X),()=>{m&&(m.current=void 0),h&&(h.current=void 0)}),[m,h,H,X]);let Z=(0,r.useRef)(v);(0,r.useEffect)(()=>{let e=Z.current;Z.current=v,!0!==e&&!0===v&&!0!==B&&q()},[v,B,q]),(0,r.useEffect)(()=>{if("unknown"!==w)return;let t=new AbortController;return fetch("/api/tmux/recover-unknown",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tabId:e}),signal:t.signal}).catch(()=>{}),()=>t.abort()},[e,w]),(0,r.useEffect)(()=>{if("check"!==C)return;if("inactive"!==w&&"unknown"!==w&&"cancelled"!==w)return void eN.default.getState().setSessionView(e,"timeline");if(!0===v||!0===B)return void eN.default.getState().setAgentProcess(e,!0,Date.now());let n=!1,a=async()=>{try{let a=await fetch(`/api/check-agent?session=${t}`);if(!a.ok)return;let r=await a.json();if(n||!0!==r.running||"codex-cli"!==r.providerPanelType)return;eN.default.getState().setAgentProcess(e,!0,"number"==typeof r.checkedAt?r.checkedAt:Date.now())}catch{}};a();let r=window.setInterval(a,800);return()=>{n=!0,window.clearInterval(r)}},[v,B,w,t,e,C]);let ee=null===v||0===L.length&&W,et=(0,e_.useSessionMetaCompute)(L,A,F,$,N,T);(0,r.useEffect)(()=>{ee||eN.default.getState().setSessionMetaCache(e,{meta:et,sessionId:D,jsonlPath:M})},[ee,et,D,M,e]);let en=(0,r.useCallback)(e=>{x||(b(e.sessionId),_(e.sessionId,t))},[x,_,t]);if(!y)return(0,a.jsxs)("div",{className:(0,ew.cn)("flex h-full w-full flex-col items-center justify-center gap-3 px-6 text-center text-muted-foreground",i),role:"status",children:[(0,a.jsx)(e9.default,{size:32,className:"text-muted-foreground/60"}),(0,a.jsx)("span",{className:"text-sm font-medium text-foreground",children:g("codexNotInstalled")})]});if(c&&f)return(0,a.jsx)("div",{className:(0,ew.cn)("animate-delayed-fade-in flex h-full w-full flex-col items-center justify-center gap-3 px-6",i),children:(0,a.jsx)(tn.default,{prompt:c,onRespond:f})});if("check"===C)return(0,a.jsx)("div",{className:(0,ew.cn)("animate-delayed-fade-in flex h-full w-full flex-col items-center justify-center gap-3 px-6",i),children:(0,a.jsx)(tt.default,{onRestart:d})});if("session-list"===C)return null!==v&&n?(0,a.jsx)("div",{className:(0,ew.cn)("h-full w-full",i),children:(0,a.jsx)(ta.default,{sessions:K,isLoading:Y,error:J?g("codexSessionsLoadFailed"):null,resumingSessionId:x,onSelectSession:en,onRefresh:Q,onNewSession:u})}):(0,a.jsx)("div",{className:(0,ew.cn)("flex h-full w-full flex-col items-center justify-center animate-delayed-fade-in",i),children:(0,a.jsx)(eb.default,{className:"h-4 w-4 text-muted-foreground"})});if("inactive"===w&&!1===v&&!j&&!W)return(0,a.jsxs)("div",{className:(0,ew.cn)("flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center",i),role:"status",children:[(0,a.jsx)(e9.default,{size:32,className:"text-muted-foreground/60"}),(0,a.jsx)("p",{className:"text-sm font-medium text-foreground",children:g("codexInactiveMessage")}),u&&(0,a.jsxs)(ey.Button,{size:"sm",onClick:P,children:[(0,a.jsx)(o.Plus,{className:"size-3.5"}),g("codexStartSession")]})]});let ea=ee?k:{meta:et,sessionId:D,jsonlPath:M};return(0,a.jsxs)("div",{className:(0,ew.cn)("flex min-h-0 w-full flex-1 flex-col",i),children:[ea?(0,a.jsx)(e7,{meta:ea.meta,sessionName:t,sessionId:ea.sessionId,jsonlPath:ea.jsonlPath}):(0,a.jsx)(e6,{}),(0,a.jsx)("div",{className:"min-h-0 flex-1",children:(0,a.jsx)(eQ.default,{entries:L,tasks:E,sessionId:D,sessionName:t,tabId:e,initMeta:F,sessionStats:$,cliState:w,compactingSince:S,wsStatus:O,isLoading:W,error:G,onRetry:q,onLoadMore:U,hasMore:V,scrollToBottomRef:p})})]})};var tl=e.i(204360),ti=e.i(148141),ts=e.i(624306),to=e.i(391046),tu=e.i(40830),td=e.i(236495),tc=e.i(125687);let tf=({cwd:e,lastCommand:t,onRestartWithCommand:n,onRestartNew:r})=>{let i=(0,l.useTranslations)("terminal");return(0,a.jsxs)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:[(0,a.jsx)(tc.WifiOff,{className:"h-5 w-5 text-muted-foreground"}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:i("disconnectedSessionNotFound")}),(0,a.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[e&&(0,a.jsx)("span",{className:"max-w-72 truncate text-xs text-muted-foreground/60",children:e.replace(/^\/Users\/[^/]+/,"~")}),t&&(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,a.jsx)("code",{className:"max-w-64 truncate rounded bg-muted px-2 py-1 text-xs",children:t}),(0,a.jsx)(ey.Button,{variant:"outline",size:"sm",onClick:()=>n(t),children:i("restartWithCommand")})]}),t&&(0,a.jsxs)("div",{className:"flex w-40 items-center gap-2 text-muted-foreground/40",children:[(0,a.jsx)("div",{className:"h-px flex-1 bg-current"}),(0,a.jsx)("span",{className:"text-[11px]",children:i("or")}),(0,a.jsx)("div",{className:"h-px flex-1 bg-current"})]}),(0,a.jsx)(ey.Button,{variant:"outline",size:"sm",onClick:r,children:i("restartNewTerminal")})]})]})};var tp=e.i(196755),tm=e.i(868462);let th=({hint:e,onSubmit:t,onDismiss:n})=>{let i=(0,l.useTranslations)("terminal"),s=(0,l.useTranslations)("common"),o=(0,r.useRef)(null);return(0,r.useEffect)(()=>{o.current?.focus()},[]),(0,a.jsxs)("div",{className:"absolute bottom-3 left-3 right-3 z-30 rounded-lg border border-border bg-card shadow-lg animate-[fadeIn_150ms_ease-out]",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 pt-2.5",children:[(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:i("dragDropNotSupported")}),(0,a.jsx)("button",{className:"ml-auto flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:text-foreground",onClick:n,"aria-label":s("close"),children:(0,a.jsx)(tm.X,{className:"h-3.5 w-3.5"})})]}),(0,a.jsx)("div",{className:"px-3 pt-1 pb-2.5",children:(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded border border-border bg-background px-2 py-1.5",children:[(0,a.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground/60",children:e}),(0,a.jsx)("input",{ref:o,className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground/40",placeholder:i("fullPathPlaceholder"),onKeyDown:e=>{"Enter"===e.key?t(e.currentTarget.value):"Escape"===e.key&&n()}})]})})]})};var tg=e.i(750147),tx=e.i(732859),tb=e.i(639530),tv=e.i(29803),ty=e.i(483241);let tw=e=>e.replace(/[ \t\\'"(){}[\]!#$&;`|*?<>~^%]/g,"\\$&");var tS=e.i(1398);let tC=(0,e.i(369547).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var tj=e.i(721614),tk=e.i(569479),tN=e.i(240614),tT=e.i(570513),tP=e.i(721070),tz=e.i(714233),tR=e.i(320183),tI=e.i(883590);let tL=({tab:e,isActive:t,isDragging:n,dropSide:i,displayTitle:s,currentProcess:o,modeSwitcher:u,onSwitch:d,onDelete:c,onRename:f,onFocusPane:p,onDragStart:m,onDragEnd:h,onDragOver:g,onDragLeave:x})=>{let b=(0,l.useTranslations)("terminal"),[v,y]=(0,r.useState)(!1),[w,S]=(0,r.useState)(""),C=(0,r.useRef)(null);(0,r.useEffect)(()=>{v&&requestAnimationFrame(()=>C.current?.select())},[v]);let j=()=>{let t=w.trim();y(!1),t!==e.name&&f(t)},k="agent-sessions"===e.panelType?b("sessionList"):"",N=e.name||k||s||"";return(0,a.jsxs)("div",{"data-tab-id":e.id,role:"tab","aria-selected":t,tabIndex:t?0:-1,className:(0,ew.cn)("group relative flex min-w-[104px] max-w-[170px] cursor-pointer items-center gap-1 border-b-2 px-2 text-xs select-none",t&&u&&"min-w-[136px] max-w-[210px] pr-1",t?"border-b-accent-color bg-secondary text-foreground":"border-b-transparent text-muted-foreground hover:bg-accent hover:text-foreground",n&&"opacity-30"),onClick:()=>{v||t||d(),p()},onDoubleClick:()=>{y(!0),S(e.name)},draggable:!v,onDragStart:m,onDragEnd:h,onDragOver:g,onDragLeave:x,children:["left"===i&&(0,a.jsx)("div",{className:"absolute top-1 bottom-1 left-0 w-0.5 bg-ui-blue"}),v?(0,a.jsx)("input",{ref:C,className:"w-full min-w-0 border-b border-accent-color bg-transparent text-xs text-foreground outline-none",value:w,onChange:e=>S(e.target.value),onKeyDown:e=>{"Enter"===e.key&&j(),"Escape"===e.key&&y(!1)},onBlur:j,onClick:e=>e.stopPropagation()}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(tI.default,{tabId:e.id,panelType:e.panelType}),"claude-code"===e.panelType?(0,a.jsx)(tz.default,{className:"mx-0.5 h-3 w-3 shrink-0"}):"codex-cli"===e.panelType?(0,a.jsx)(e9.default,{className:"mx-0.5 h-3 w-3 shrink-0 text-foreground","aria-label":"Codex"}):"web-browser"===e.panelType?(0,a.jsx)(tN.Globe,{className:"mx-0.5 h-3 w-3 shrink-0 text-muted-foreground"}):"diff"===e.panelType?(0,a.jsx)(tT.GitCompareArrows,{className:"mx-0.5 h-3 w-3 shrink-0 text-muted-foreground"}):"agent-sessions"===e.panelType?(0,a.jsx)(tP.History,{className:"mx-0.5 h-3 w-3 shrink-0 text-muted-foreground"}):(0,a.jsx)(tR.default,{process:o??s,className:"mx-0.5 h-3 w-3 shrink-0 text-muted-foreground"}),(0,a.jsx)("span",{className:(0,ew.cn)("mr-1 min-w-0 truncate",N?"opacity-100":"opacity-0"),children:N}),t&&u]}),(0,a.jsx)("button",{className:(0,ew.cn)("-mr-0.5 flex h-6 w-6 shrink-0 items-center justify-center text-muted-foreground hover:text-foreground",t?"visible":"invisible group-hover:visible"),onClick:e=>{e.stopPropagation(),c()},"aria-label":b("closeTabLabel"),children:(0,a.jsx)(tm.X,{className:"h-3 w-3"})}),"right"===i&&(0,a.jsx)("div",{className:"absolute top-1 right-0 bottom-1 w-0.5 bg-ui-blue"})]})};var tE=e.i(348370),tD=e.i(266231),tM=e.i(924233);e.i(13628);let tA=({paneId:e,isCreating:t,activePanelType:n,onCreateTab:i})=>{let s,u=(0,l.useTranslations)("terminal"),d=(0,tM.default)(),[c,f]=(0,r.useState)(!1),p=(0,tD.default)(),m=(0,eS.useLayoutStore)(e=>e.workspaceId),h={notInstalled:(s=(0,l.useTranslations)("terminal"))("codexNotInstalled"),copyCommand:s("codexCopyCommand"),copied:s("codexCopied"),copyConfigPath:s("codexCopyConfigPath"),configParseFailed:s("codexConfigParseFailed"),launchFailed:s("codexLaunchFailed"),resumeFailed:s("codexResumeFailed"),approvalSendFailed:s("codexApprovalSendFailed"),approvalNotApplied:s("codexApprovalNotApplied"),retry:s("codexRetry")},{ensureAgentInstalled:g,installDialogs:x}=(0,tS.useAgentInstallCheck)(),b=(0,r.useMemo)(()=>{let e=[{key:"claude",type:"claude-code",icon:(0,a.jsx)(tz.default,{className:"h-3.5 w-3.5"}),label:u("claudeNewConversation"),startAgent:"claude"},{key:"codex",type:"codex-cli",icon:(0,a.jsx)(e9.default,{className:"h-3.5 w-3.5"}),label:u("codexNewConversation"),startAgent:"codex"},{key:"agent-sessions",type:"agent-sessions",icon:(0,a.jsx)(tP.History,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:u("sessionList")},{key:"terminal",type:"terminal",icon:(0,a.jsx)(tR.default,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:"Terminal"},{key:"web-browser",type:"web-browser",icon:(0,a.jsx)(tN.Globe,{className:"h-3.5 w-3.5 text-muted-foreground"}),label:"Web Browser"}];return p?e.filter(e=>"web-browser"!==e.key):e},[p,u]),[v,y]=(0,r.useState)(0),w=(0,r.useRef)([]),S=(0,r.useCallback)(()=>{let e=(e=>{switch(e){case"terminal":return"terminal";case"web-browser":return"web-browser";case"codex-cli":return"codex";case"agent-sessions":return"agent-sessions";default:return"claude"}})(n),t=b.findIndex(t=>t.key===e);y(t>=0?t:0),f(!0)},[n,b]);(0,r.useEffect)(()=>{let t=t=>{let n=t.detail;n?.paneId===e&&S()};return window.addEventListener("open-new-tab-menu",t),()=>window.removeEventListener("open-new-tab-menu",t)},[e,S]),(0,r.useEffect)(()=>{c&&w.current[v]?.focus()},[c,v]);let C=(0,r.useCallback)(async()=>{if(await g("codex"))try{let e=await (0,eO.fetchCodexLaunchCommand)(m);i("codex-cli",{command:e})}catch{ev.toast.error(h.launchFailed,{id:"codex-launch-failed",duration:6e3,action:void 0})}},[h,g,i,m]),j=(0,r.useCallback)(async e=>{if(f(!1),"claude"===e){if(!await g("claude"))return;i("claude-code",{command:(0,eB.buildClaudeLaunchCommand)({workspaceId:m,dangerouslySkipPermissions:eF.default.getState().dangerouslySkipPermissions})});return}C()},[g,C,i,m]),k=e=>{"startAgent"in e&&e.startAgent?j(e.startAgent):(f(!1),i(e.type))};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"flex items-center border-l border-r border-border px-0.5",children:(0,a.jsxs)(tE.Popover,{open:c,onOpenChange:e=>{e?S():f(!1)},children:[(0,a.jsxs)(tk.Tooltip,{children:[(0,a.jsx)(tk.TooltipTrigger,{render:(0,a.jsx)(tE.PopoverTrigger,{className:(0,ew.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground hover:text-foreground",t&&"pointer-events-none opacity-50"),disabled:t,"aria-label":u("openNewTab")}),children:t?(0,a.jsx)(eb.default,{className:"h-3 w-3"}):(0,a.jsx)(o.Plus,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(tk.TooltipContent,{side:"bottom",children:u("newTabTooltip",{shortcut:`${d?"⌘":"Ctrl+"}T`})})]}),(0,a.jsx)(tE.PopoverContent,{side:"bottom",align:"start",className:"w-max min-w-52 max-w-[calc(100vw-1rem)] gap-0 p-0.5",onKeyDown:e=>{if("ArrowDown"===e.key)e.preventDefault(),y(e=>(e+1)%b.length);else if("ArrowUp"===e.key)e.preventDefault(),y(e=>(e-1+b.length)%b.length);else if("Enter"===e.key){e.preventDefault();let t=b[v];t&&k(t)}},children:b.map((e,t)=>(0,a.jsx)("div",{className:(0,ew.cn)("flex rounded-sm",v===t&&"bg-accent"),onMouseEnter:()=>y(t),children:(0,a.jsxs)("button",{ref:e=>{w.current[t]=e},className:"flex min-w-0 flex-1 items-center gap-2 rounded-sm px-2.5 py-2 text-xs text-foreground hover:bg-accent focus:outline-none",onClick:()=>void k(e),children:[e.icon,(0,a.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",children:e.label})]})},e.key))})]})}),x]})};var tF=e.i(824075);let t$=e=>e.startAction?`Start ${e.label}`:e.label,tB=e=>"claude-code"===e||"codex-cli"===e?"Chat":"Terminal",tO=({tabId:e,paneId:t,sessionName:n,panelType:l,onSwitchPanelType:i})=>{let[s,o]=(0,r.useState)(!1),u=(0,eN.default)(t=>t.tabs[e]),d=(0,eT.getAgentPanelTypeFromProvider)(u?.agentProviderId),c=!!d&&(u?.agentProcess===!0||(0,eT.isAgentRunning)(u?.cliState)||((e,t)=>{if(!t)return!1;let n=t.toLowerCase();return"claude-code"===e?"claude"===n:"codex-cli"===e&&"codex"===n})(d,u?.currentProcess)),f=(0,eT.isAgentPanel)(l)?l:c?d:void 0,p="claude-code"===l||"codex-cli"===l?{type:l,label:tB(l)}:{type:"terminal",label:"Terminal"},m=[{type:"terminal",label:"Terminal"},...f?[{type:f,label:tB(f)}]:[{type:"claude-code",label:"Claude",startAction:!0},{type:"codex-cli",label:"Codex",startAction:!0}]],h=async()=>{try{let t=await fetch(`/api/check-agent?session=${encodeURIComponent(n)}`);if(!t.ok)return;let a=await t.json();(0,tF.applyAgentCheckResult)(e,a)}catch{}};return(0,a.jsxs)(tE.Popover,{open:s,onOpenChange:e=>{e?h().finally(()=>o(!0)):o(!1)},children:[(0,a.jsx)(tE.PopoverTrigger,{className:"flex h-5 shrink-0 items-center rounded border border-border/70 bg-background/70 px-1.5 text-[10px] leading-none text-foreground hover:bg-accent focus:outline-none focus:ring-1 focus:ring-ring","aria-label":"Select tab mode",title:"Select tab mode",onClick:e=>e.stopPropagation(),children:(0,a.jsx)("span",{children:p.label})}),(0,a.jsx)(tE.PopoverContent,{side:"bottom",align:"end",className:"w-max min-w-[var(--anchor-width)] max-w-[calc(100vw-1rem)] gap-0 p-0.5",onClick:e=>e.stopPropagation(),children:m.map(n=>{let r=l===n.type;return(0,a.jsx)("button",{type:"button",className:(0,ew.cn)("flex w-full items-center rounded-sm px-2 py-1 text-left text-[11px] leading-4 text-foreground whitespace-nowrap hover:bg-accent",r&&"bg-accent font-medium"),"aria-pressed":r,"aria-label":t$(n),onClick:a=>{a.stopPropagation(),(n=>{if(l===n.type)return o(!1);if((0,eT.tryAgentSwitch)({current:l,target:n.type,cliState:u?.cliState,agentProcess:u?.agentProcess,runningAgentPanelType:d})){if(o(!1),"terminal"===n.type&&(0,eT.isAgentPanel)(l)&&eN.default.getState().setDetectedAgent(e,{running:!0,providerId:"claude-code"===l?"claude":"codex-cli"===l?"codex":void 0,panelType:l}),n.startAction&&("claude-code"===n.type||"codex-cli"===n.type))return window.dispatchEvent(new CustomEvent("purplemux-start-agent",{detail:{paneId:t,tabId:e,provider:"codex-cli"===n.type?"codex":"claude"}}));i(n.type)}})(n)},children:(0,a.jsx)("span",{children:t$(n)})},n.type)})})]})},tW=({paneId:e,tabs:t,activeTabId:n,tabTitles:s,tabProcesses:o,isLoading:u,error:d,isCreating:c,paneCount:f,isSplitting:p,onSwitchTab:m,onCreateTab:h,onDeleteTab:g,onRenameTab:x,onSwitchPanelType:b,onReorderTabs:v,onClosePane:y,onMoveTab:w,onFocusPane:S,onRetry:C})=>{let j=(0,l.useTranslations)("terminal"),k=(0,l.useTranslations)("common"),N=(0,r.useRef)(null),T=(0,r.useMemo)(()=>[...t].sort((e,t)=>e.order-t.order),[t]),{draggedTabId:P,dropTarget:z,isDragOverFromOther:R,handleDragOver:I,handleDrop:L,handleTabBarDragEnter:E,handleTabBarDragLeave:D,startDrag:M,endDrag:A,clearDropTarget:F}=(({paneId:e,sortedTabs:t,onReorderTabs:n,onMoveTab:a})=>{let[l,i]=(0,r.useState)(null),[s,o]=(0,r.useState)(null),[u,d]=(0,r.useState)(!1),c=(0,r.useRef)(0),f=(0,r.useCallback)((e,t)=>{e.preventDefault(),e.dataTransfer.dropEffect="move";let n=e.currentTarget.getBoundingClientRect();o({id:t,side:e.clientX<n.left+n.width/2?"left":"right"})},[]),p=(0,r.useCallback)(r=>{r.preventDefault(),c.current=0,d(!1);let l=r.dataTransfer.getData("text/tab-id"),u=r.dataTransfer.getData("text/pane-id");if(!l){i(null),o(null);return}if(u&&u!==e){let e;a(l,u,s?(e=t.findIndex(e=>e.id===s.id),"right"===s.side?e+1:e):t.length),i(null),o(null);return}if(!s||l===s.id){i(null),o(null);return}let f=t.filter(e=>e.id!==l),p=f.findIndex(e=>e.id===s.id),m="right"===s.side?p+1:p,h=t.find(e=>e.id===l);h&&f.splice(m,0,h),n(f.map(e=>e.id)),i(null),o(null)},[e,t,s,a,n]),m=(0,r.useCallback)(t=>{t.preventDefault(),c.current++;let n=Array.from(t.dataTransfer.types).find(e=>e.startsWith("application/x-pane/")),a=n?.replace("application/x-pane/","")??null;null!==a&&a!==e&&d(!0)},[e]),h=(0,r.useCallback)(()=>{c.current--,c.current<=0&&(c.current=0,d(!1),o(null))},[]),g=(0,r.useCallback)((t,n)=>{t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/tab-id",n),t.dataTransfer.setData("text/pane-id",e),t.dataTransfer.setData(`application/x-pane/${e}`,"");let a=t.currentTarget.cloneNode(!0);a.querySelector('[aria-label="탭 닫기"]')?.remove(),a.querySelectorAll(".sr-only").forEach(e=>e.remove()),a.style.cssText="position:fixed;left:-9999px;display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--card);color:var(--foreground);border:none;border-radius:4px;font-size:12px;opacity:0.6;transform:scale(0.9);white-space:nowrap;",document.body.appendChild(a),t.dataTransfer.setDragImage(a,0,0),requestAnimationFrame(()=>a.remove()),i(n)},[e]);return{draggedTabId:l,dropTarget:s,isDragOverFromOther:u,handleDragOver:f,handleDrop:p,handleTabBarDragEnter:m,handleTabBarDragLeave:h,startDrag:g,endDrag:(0,r.useCallback)(()=>{i(null),o(null)},[]),clearDropTarget:(0,r.useCallback)(()=>{o(null)},[])}})({paneId:e,sortedTabs:T,onReorderTabs:v,onMoveTab:w}),[$,B]=(0,r.useState)(!1),[O,W]=(0,r.useState)(!1),G=$||O,U=(0,r.useCallback)(()=>{let e=N.current;e&&(B(e.scrollLeft>0),W(e.scrollLeft+e.clientWidth<e.scrollWidth-1))},[]);(0,r.useEffect)(()=>{U();let e=N.current;if(!e)return;let t=new ResizeObserver(U);return t.observe(e),()=>t.disconnect()},[U,t]),(0,r.useEffect)(()=>{if(!n||!N.current)return;let e=N.current.querySelector(`[data-tab-id="${n}"]`);e?.scrollIntoView({behavior:"instant",inline:"nearest",block:"nearest"})},[n]),(0,r.useEffect)(()=>{let e=N.current;if(!e)return;let t=t=>{let n=t.deltaX+t.deltaY;0!==n&&(t.preventDefault(),e.scrollLeft+=n,U())};return e.addEventListener("wheel",t,{passive:!1}),()=>e.removeEventListener("wheel",t)},[U]);let V=e=>{let t=N.current;t&&t.scrollBy({left:e,behavior:"smooth"})};return d?(0,a.jsxs)("div",{className:"flex h-[36px] shrink-0 items-center gap-2 bg-background px-3",children:[(0,a.jsx)(i.AlertTriangle,{className:"h-3.5 w-3.5 text-ui-amber"}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:d}),(0,a.jsx)(ey.Button,{variant:"ghost",size:"xs",className:"h-5 px-2 text-xs text-foreground hover:text-foreground",onClick:C,children:k("retry")})]}):u?(0,a.jsx)("div",{className:"flex h-[36px] shrink-0 items-center gap-1.5 bg-background px-2",children:[1,2,3].map(e=>(0,a.jsx)("div",{className:"h-4 w-16 animate-pulse rounded bg-muted"},e))}):(0,a.jsxs)("div",{className:(0,ew.cn)("flex h-[36px] shrink-0 items-stretch border-b border-border transition-colors",R?"bg-accent-color/10":"bg-background"),onDragEnter:E,onDragLeave:D,onDragOver:e=>e.preventDefault(),onDrop:L,children:[G&&(0,a.jsx)("button",{className:(0,ew.cn)("flex w-5 shrink-0 items-center justify-center text-muted-foreground transition-opacity hover:text-foreground",$?"opacity-100":"pointer-events-none opacity-0"),onClick:()=>V(-200),tabIndex:$?0:-1,children:(0,a.jsx)(tC,{className:"h-3.5 w-3.5"})}),(0,a.jsx)("div",{ref:N,role:"tablist",className:"flex flex-1 items-stretch overflow-x-auto",style:{scrollbarWidth:"none"},onScroll:U,children:T.map(t=>{let r;return(0,a.jsx)(tL,{tab:t,isActive:t.id===n,isDragging:t.id===P,dropSide:z?.id===t.id?z.side:null,displayTitle:s?.[t.id],currentProcess:o?.[t.id],modeSwitcher:t.id!==n||(r=t.panelType)&&"terminal"!==r&&"claude-code"!==r&&"codex-cli"!==r?void 0:(0,a.jsx)(tO,{tabId:t.id,paneId:e,sessionName:t.sessionName,panelType:t.panelType??"terminal",onSwitchPanelType:b}),onSwitch:()=>m(t.id),onDelete:()=>g(t.id),onRename:e=>{x(t.id,e)},onFocusPane:S,onDragStart:e=>M(e,t.id),onDragEnd:A,onDragOver:e=>I(e,t.id),onDragLeave:F},t.id)})}),G&&(0,a.jsx)("button",{className:(0,ew.cn)("flex w-5 shrink-0 items-center justify-center text-muted-foreground transition-opacity hover:text-foreground",O?"opacity-100":"pointer-events-none opacity-0"),onClick:()=>V(200),tabIndex:O?0:-1,children:(0,a.jsx)(tj.ChevronRight,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(tk.TooltipProvider,{children:(0,a.jsxs)("div",{className:"flex shrink-0 items-stretch",children:[(0,a.jsx)(tA,{paneId:e,isCreating:c,activePanelType:T.find(e=>e.id===n)?.panelType,onCreateTab:h}),f>=2&&(0,a.jsx)("div",{className:"flex items-center px-0.5",children:(0,a.jsxs)(tk.Tooltip,{children:[(0,a.jsx)(tk.TooltipTrigger,{className:(0,ew.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",p?"pointer-events-none opacity-30":"hover:text-foreground"),disabled:p,onClick:e=>{e.stopPropagation(),y()},"aria-label":j("closeAllTabs"),children:(0,a.jsx)(tm.X,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(tk.TooltipContent,{side:"bottom",children:j("closeAllTabs")})]})})]})})]})};var tG=e.i(251748),tU=e.i(610782),tV=e.i(117369);let tq={write:()=>{},reset:()=>{},fit:()=>({cols:80,rows:24}),focus:()=>{},getBufferText:()=>""},t_={sendStdin:()=>{},sendResize:()=>{}},tH={normal:{normal:12,claudeCode:10},large:{normal:14,claudeCode:12},"x-large":{normal:16,claudeCode:14}},tX=[],tK=(0,r.memo)(({paneId:e,paneNumber:t})=>{let n,i=(0,l.useTranslations)("terminal"),s=(0,eS.useLayoutStore)(t=>t.layout?(0,eC.findPane)(t.layout.root,e):null),u=s?.tabs??tX,d=s?.activeTabId??null,c=(0,eS.useLayoutStore)(t=>t.layout?.activePaneId===e),f=(0,eS.useLayoutStore)(e=>e.paneCount),p=(0,eS.useLayoutStore)(e=>e.isSplitting),m=(0,eS.useLayoutStore)(e=>e.switchTabInPane),h=(0,eS.useLayoutStore)(e=>e.createTabInPane),g=(0,eS.useLayoutStore)(e=>e.deleteTabInPane),x=(0,eS.useLayoutStore)(e=>e.closePane),b=(0,eS.useLayoutStore)(e=>e.focusPane),v=(0,eS.useLayoutStore)(e=>e.moveTab),y=(0,eS.useLayoutStore)(e=>e.renameTabInPane),w=(0,eS.useLayoutStore)(e=>e.reorderTabsInPane),S=(0,eS.useLayoutStore)(e=>e.updateTabPanelType),C=(0,eS.useLayoutStore)(e=>e.updateTabTerminalLayout),j=(0,eS.useLayoutStore)(e=>e.layout?.diffSettings),k=(0,eS.useLayoutStore)(e=>e.updateDiffSettings),N=u.find(e=>e.id===d),T=N?.panelType??"terminal",P="claude-code"===T,z="codex-cli"===T,R="agent-sessions"===T,I=P||z,L="web-browser"===T,E="diff"===T,{ensureAgentInstalled:D,installDialogs:M}=(0,tS.useAgentInstallCheck)(),{theme:A}=(0,tV.default)(),F=(0,eF.default)(e=>e.fontSize),$=(0,eF.default)(e=>e.claudeShowTerminal),B=N?.terminalCollapsed??!$,[O,W]=(0,r.useState)(!1),[G,U]=(0,r.useState)(!1),V=(0,r.useRef)(0),[q,_]=(0,r.useState)(!1),[H,X]=(0,r.useState)(!1),[K,Y]=(0,r.useState)(!1),J=(0,r.useMemo)(()=>u.map(e=>e.id),[u]),Q=(0,ez.default)((0,e$.useShallow)(e=>{let t={};for(let n of u){if("agent-sessions"===n.panelType)continue;let a=e.metadata[n.id]?.title;a&&(t[n.id]=a)}return t})),Z=(0,eN.default)((0,e$.useShallow)(e=>{let t={};for(let n of J){let a=e.tabs[n]?.currentProcess;a&&(t[n]=a)}return t})),ee=(0,ez.default)(e=>d?e.metadata[d]?.cwd:void 0),et=(0,eS.useLayoutStore)(e=>e.workspaceId);(0,r.useEffect)(()=>{let e=requestAnimationFrame(()=>X(!0));return()=>{cancelAnimationFrame(e)}},[]);let en=(0,r.useRef)(tq),ea=(0,r.useRef)(t_),er=(0,r.useRef)(null),el=(0,r.useRef)(null),ei=(0,r.useRef)(null),es=(0,r.useRef)(u),eo=(0,r.useRef)(d),eu=(0,r.useRef)(f),ed=(0,r.useRef)(c);(0,r.useEffect)(()=>{es.current=u,eo.current=d,eu.current=f,ed.current=c});let ec=(0,r.useCallback)(async()=>{let e=eo.current,t=e?es.current.find(t=>t.id===e):null;if(t)try{let e=await fetch(`/api/layout/cwd?session=${t.sessionName}`);if(!e.ok)return;let{cwd:n,lastCommand:a}=await e.json();n&&ez.default.getState().setCwd(t.id,n),ez.default.getState().setLastCommand(t.id,a??null)}catch{}},[]),ef=(0,r.useRef)(()=>{}),em=(0,r.useRef)(void 0),eg=(0,r.useRef)(void 0),ej=(0,r.useRef)(null),ek=(0,r.useRef)(()=>{}),eT=(0,r.useRef)(!1),eP=(0,r.useRef)(null),eI=(0,r.useRef)(null),eU=(0,r.useRef)(!1),eV=(0,r.useRef)(void 0),eq=(0,r.useRef)(void 0),e_=(0,r.useRef)(void 0),eH=(0,r.useRef)(void 0),eX=(0,r.useRef)(null),eK=(0,r.useRef)(""),eY=(0,eN.default)(e=>d?e.tabs[d]?.cliState??"inactive":"inactive"),eJ=(0,eN.default)(e=>d?e.tabs[d]?.agentProcess??null:null),eQ=(0,eN.default)(e=>d?e.tabs[d]?.agentSessionId??null:null),eZ="timeline"===(0,eN.default)(e=>d?(0,eN.selectSessionView)(e.tabs,d):"session-list"),e0=(0,r.useCallback)(e=>{eU.current||(eP.current?eI.current=e:e())},[]),e1=(0,r.useCallback)(e=>{eP.current={x:e.clientX,y:e.clientY},eI.current=null,eU.current=!1},[]),e3=(0,r.useCallback)(e=>{let t=eP.current;eP.current=null;let n=!!t&&(e.clientX-t.x)**2+(e.clientY-t.y)**2>=25;n&&(eU.current=!0,requestAnimationFrame(()=>{eU.current=!1})),eI.current&&!n&&eI.current(),eI.current=null},[]),{prompts:e5}=(0,tb.default)(),e2=(0,r.useRef)(new Set),[e4,e6]=(0,r.useState)(null),e7=(0,r.useCallback)((e,t)=>{if(!0!==t.running||!(0,tF.isAgentPanelType)(t.providerPanelType))return void e6(t=>t?.tabId===e?null:t);let n="string"==typeof t.providerId&&t.providerId?t.providerId:t.providerPanelType,a=`${e}:${n}`;if(e2.current.has(a))return;e2.current.add(a);let r="string"==typeof t.providerDisplayName&&t.providerDisplayName?t.providerDisplayName:n;e6({tabId:e,providerId:n,displayName:r,panelType:t.providerPanelType,sessionId:"string"==typeof t.sessionId&&t.sessionId?t.sessionId:null,resumable:!0===t.resumable})},[]),{trustPrompt:e9,onTerminalData:te,onTrustResponse:tt}=(0,tg.default)({enabled:P&&"inactive"===eY,getBufferText:()=>en.current.getBufferText(),sendStdin:e=>ea.current.sendStdin(e)}),{updatePrompt:tn,onTerminalData:ta,onRespond:tc}=(0,tx.default)({enabled:z&&"inactive"===eY,scopeKey:d,getBufferText:()=>en.current.getBufferText(),sendStdin:e=>ea.current.sendStdin(e),onUpdated:()=>{ek.current()}});(0,r.useEffect)(()=>{d&&P&&c&&(0,eN.isCliIdle)(eY)&&(0,eR.dismissTab)(d)},[d,eY,P,c]),(0,r.useEffect)(()=>{d&&c&&(0,eR.dismissTab)(d)},[d,c]);let tm=(0,r.useCallback)(()=>{"idle"===eY&&eV.current?.()},[eY]),tC=(0,r.useCallback)(e=>{eq.current?.(e)},[]),tj=(0,r.useCallback)((e,t)=>eq.current?.(e,t)??"",[]),tk=(0,r.useCallback)(e=>{e_.current?.(e)},[]),tN=(0,r.useCallback)(e=>{e.dataTransfer.types.includes("Files")&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy")},[]),tT=(0,r.useCallback)(e=>{!e.dataTransfer.files||0===e.dataTransfer.files.length||eH.current&&(e.preventDefault(),e.stopPropagation(),eH.current(Array.from(e.dataTransfer.files)))},[]),tP=(0,r.useCallback)(e=>{eg.current?.(e),em.current?.()},[]),tz=(0,r.useCallback)(e=>(0,tU.isAppShortcut)(e)?(e.preventDefault(),(0,tU.isClearShortcut)(e)&&ef.current(),(0,tU.isFocusInputShortcut)(e)&&em.current?.(),!1):!(0,tU.isShiftEnter)(e)||(e.preventDefault(),ea.current.sendStdin("\n"),!1),[]),{terminalRef:tR,write:tI,clear:tL,reset:tE,fit:tD,focus:tM,isReady:tA,getBufferText:t$}=(0,eM.default)({theme:A.colors,fontSize:(tH[F]??tH.normal)[I?"claudeCode":"normal"],onInput:e=>{ea.current.sendStdin(e)},onResize:(e,t)=>ea.current.sendResize(e,t),onTitleChange:e=>{let t=eo.current;if(!t)return;let n=es.current.find(e=>e.id===t);if(!n||n?.panelType==="web-browser"||n?.panelType==="agent-sessions"||e===eK.current)return;eK.current=e;let a=(0,tG.formatTabTitle)(e,n?.panelType),r=(0,tG.parseCurrentCommand)(e);if(ez.default.getState().setTitle(t,a),eN.default.getState().setCurrentProcess(t,r),(0,tG.isShellProcess)(e)&&eX.current){let e=eX.current;eX.current=null,ea.current.sendStdin(`${e}\r`)}let l=es.current.find(e=>e.id===t);if(l){let e=eN.default.getState().tabs[t]?.agentProcessCheckedAt??0;fetch(`/api/check-agent?session=${l.sessionName}`).then(e=>e.json()).then(a=>{n?.panelType==="terminal"&&e7(t,a);let{running:r}=!0===a.running&&(0,tF.isAgentPanelType)(a.providerPanelType)?{running:!0}:{running:!1},i=eN.default.getState().tabs[t];if(i&&i.agentProcessCheckedAt!==e){i.agentProcess!==r&&setTimeout(()=>{fetch(`/api/check-agent?session=${l.sessionName}`).then(e=>e.json()).then(e=>{n?.panelType==="terminal"&&e7(t,e),(0,tF.applyAgentCheckResult)(t,e)}).catch(()=>{})},500);return}(0,tF.applyAgentCheckResult)(t,a)}).catch(()=>{})}ec()},customKeyEventHandler:tz});(0,r.useEffect)(()=>{ef.current=tL}),(0,r.useEffect)(()=>{let e=e=>{(0,tU.isFocusInputShortcut)(e)&&c&&(e.preventDefault(),em.current?.())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[c]);let tB=(0,r.useCallback)(async()=>{if(ei.current)return;let t=es.current,n=eo.current,a=eu.current;if(!n)return;if(1===t.length&&a>1)return void x(e);let r=[...t].sort((e,t)=>e.order-t.order),l=r.findIndex(e=>e.id===n),i=r[l+1]||r[l-1];i&&m(e,i.id),ei.current=n;try{await g(e,n)}finally{ei.current=null}},[e,m,g,x]),{status:tO,retryCount:tK,disconnectReason:tY,connect:tJ,reconnect:tQ,sendStdin:tZ,sendWebStdin:t0,sendResize:t1}=(0,eA.default)({onData:e=>{en.current.write(e),te(),ta()},onConnected:()=>{W(!0),el.current=eo.current;let e=eo.current;e&&eN.default.getState().setTerminalConnected(e,!0);let{cols:t,rows:n}=en.current.fit();ea.current.sendResize(t,n),ed.current&&en.current.focus(),ec(),clearTimeout(V.current),V.current=window.setTimeout(()=>U(!1),50)},onSessionEnded:tB});(0,r.useEffect)(()=>{en.current={write:tI,reset:tE,fit:tD,focus:tM,getBufferText:t$},ea.current={sendStdin:tZ,sendResize:t1}}),(0,r.useEffect)(()=>{tA||(er.current=null)},[tA]),(0,r.useEffect)(()=>{if(!tA||!d)return;let e=u.find(e=>e.id===d);if(!e)return;if("web-browser"===e.panelType){eK.current="";return}if(er.current===e.sessionName)return;null!==er.current&&(U(!0),tE(),eK.current="");let t=eN.default.getState(),n=t.tabs[d];t.initTab(d,{terminalConnected:!1,panelType:e.panelType,...!n?(0,eN.getInitialTabStateFromLayoutTab)(e):{}}),er.current=e.sessionName;let{cols:a,rows:r}=tD();tJ(e.sessionName,a,r)},[tA,d]),(0,r.useEffect)(()=>{let e=eo.current;e&&eN.default.getState().setTerminalConnected(e,"connected"===tO)},[tO]),(0,r.useEffect)(()=>{"disconnected"===tO&&O&&el.current&&el.current!==d&&u.some(e=>e.id===el.current)&&(er.current=null,m(e,el.current))},[tO]),(0,r.useEffect)(()=>{if(!tA||"connected"!==tO)return;let e=setTimeout(()=>{let{cols:e,rows:t}=tD();ea.current.sendResize(e,t)},150);return()=>clearTimeout(e)},[f]),(0,r.useEffect)(()=>{if(!tA||"connected"!==tO)return;let e=setTimeout(()=>{let{cols:e,rows:t}=tD();ea.current.sendResize(e,t)},300);return()=>clearTimeout(e)},[tO]),(0,r.useEffect)(()=>{if(c&&tA&&"connected"===tO){let{cols:e,rows:t}=tD();ea.current.sendResize(e,t);let n=eT.current;eT.current=!1,!n&&I&&eZ?e0(()=>em.current?.()):tM()}},[c]);let t3=(0,r.useCallback)(t=>{t!==d&&((0,eR.dismissTab)(t),m(e,t))},[e,d,m]),t5=(0,r.useCallback)(async(t,n)=>{_(!0);let a=await h(e,t,n?.command,n?.resumeSessionId);if(a){eN.default.getState().initTab(a.id,{panelType:t,workspaceId:et??""}),(n?.command||n?.resumeSessionId)&&eN.default.getState().setSessionView(a.id,"check");let e=eo.current,r=e?ez.default.getState().metadata[e]?.title:null;r&&"web-browser"!==t&&"agent-sessions"!==t&&ez.default.getState().setTitle(a.id,r)}_(!1)},[e,h,et]),t2=(0,r.useCallback)(async t=>{if(!ei.current){if(1===u.length&&f>1)return void x(e);ei.current=t;try{await g(e,t)}finally{ei.current=null}}},[e,u,f,g,x]),t4=(0,r.useCallback)(async(t,n)=>{await eS.useLayoutStore.getState().restartTabInPane(e,t,n)&&tQ()},[e,tQ]),t6=(0,r.useRef)(new Set);(0,r.useEffect)(()=>{"disconnected"!==tO||"session-not-found"!==tY||!d||!N||"terminal"!==(N.panelType??"terminal")||N.lastCommand||t6.current.has(d)||(t6.current.add(d),t4(d))},[tO,tY,d,N,t4]);let t7=(0,r.useCallback)((t,n)=>{y(e,t,n)},[e,y]),t8=(0,r.useCallback)(t=>{w(e,t)},[e,w]),t9=(0,r.useCallback)((t,n,a)=>{v(t,n,e,a)},[e,v]),ne=(0,r.useCallback)(()=>{b(e)},[e,b]),nt=(0,r.useCallback)(t=>{d&&(Y(!0),S(e,d,t))},[e,d,S]),nn=(0,r.useCallback)(async(e,t)=>{await D(t)&&(ej.current={text:e,provider:t},nt("codex"===t?"codex-cli":"claude-code"))},[D,nt]);(0,r.useEffect)(()=>{let t=t=>{let n=t.detail;n?.paneId===e&&n.text&&n.provider&&nn(n.text,n.provider)};return window.addEventListener("purplemux-send-to-agent",t),()=>window.removeEventListener("purplemux-send-to-agent",t)},[e,nn]),(0,r.useEffect)(()=>{let e=ej.current;if(!e||T!==("codex"===e.provider?"codex-cli":"claude-code"))return;ej.current=null;let t=window.setTimeout(()=>{eg.current?.(e.text),em.current?.()},100);return()=>window.clearTimeout(t)},[T]);let na=(0,r.useCallback)(t=>{d&&et&&fetch(`/api/layout/pane/${e}/tabs/${d}?workspace=${et}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({webUrl:t})}).catch(()=>{})},[d,e,et]);(0,r.useEffect)(()=>{if(!d||!0!==eJ||"terminal"!==T)return void e6(null);if(e4?.tabId!==d)return},[d,eJ,T,e4]),(0,r.useEffect)(()=>{if(!d||!0!==eJ||"terminal"!==T||e4?.tabId===d)return;let e=N?.sessionName;if(!e)return;let t=!1;return fetch(`/api/check-agent?session=${e}`).then(e=>e.json()).then(e=>{t||e7(d,e)}).catch(()=>{}),()=>{t=!0}},[d,T,N?.sessionName,eJ,e4?.tabId,e7]);let{showPathInput:nr,droppedFileHint:nl,handleDragOver:ni,handleDrop:ns,handlePathInputSubmit:no,handlePathInputDismiss:nu}=(({sendStdin:e,focus:t,wsId:n,tabId:a})=>{let[l,i]=(0,r.useState)(!1),[s,o]=(0,r.useState)(""),u=(0,r.useCallback)(e=>{e.dataTransfer.types.includes("Files")&&(e.preventDefault(),e.dataTransfer.dropEffect="copy")},[]),d=(0,r.useCallback)(n=>{0!==n.length&&(e(`\x1b[200~${n.join(" ")}\x1b[201~`),t())},[e,t]),c=(0,r.useCallback)(async e=>{let t=e.filter(ty.isImageFile);if(0===t.length)return!1;try{let e=await Promise.all(t.map(e=>(0,ty.uploadImage)(e,{wsId:n,tabId:a})));return d(e.map(e=>tw(e.path))),!0}catch(e){return ev.toast.error(e instanceof Error?e.message:"Upload failed"),!0}},[n,a,d]),f=(0,r.useCallback)(e=>{e.preventDefault();let{files:t}=e.dataTransfer;if(0===t.length)return;let n=tv.default?window.electronAPI:null,a=[],r=Array.from(t);for(let e of r){let t=n?.getPathForFile(e);t&&a.push(tw(t))}a.length>0?d(a):r.some(ty.isImageFile)?c(r):(o(r.map(e=>e.name).join(", ")),i(!0))},[d,c]);return{showPathInput:l,droppedFileHint:s,handleDragOver:u,handleDrop:f,handlePathInputSubmit:(0,r.useCallback)(n=>{if(i(!1),o(""),n.trim()){let a=tw(n.trim());e(`\x1b[200~${a}\x1b[201~`),t()}},[e,t]),handlePathInputDismiss:(0,r.useCallback)(()=>{i(!1),o(""),t()},[t])}})({sendStdin:e=>ea.current.sendStdin(e),focus:tM,wsId:et??void 0,tabId:d??void 0}),nd=(0,r.useCallback)(e=>(0,eB.buildClaudeLaunchCommand)({workspaceId:et,dangerouslySkipPermissions:eF.default.getState().dangerouslySkipPermissions,resumeSessionId:e}),[et]),nc=(0,r.useCallback)(async()=>{"connected"!==tO||!d||await D("claude")&&(eN.default.getState().setSessionView(d,"check"),tZ(`${nd(null)}\r`))},[tO,tZ,d,nd,D]),nf=(0,r.useCallback)(async()=>{"connected"!==tO||!d||await D("claude")&&(eX.current=nd(null),eN.default.getState().setSessionView(d,"check"),tZ("/exit\r"))},[tO,tZ,d,nd,D]),np=(0,r.useCallback)(()=>(0,eO.fetchCodexLaunchCommand)(et),[et]),nm=(0,r.useCallback)((e,t)=>{fetch("/api/status/agent-launch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tabId:e,resetAgentSession:t?.resetAgentSession===!0})}).catch(()=>{})},[]),nh=(0,r.useCallback)(async()=>{let e;if("connected"===tO&&d&&await D("codex")){try{e=await np()}catch{ev.toast.error(i("codexLaunchFailed"));return}nm(d,{resetAgentSession:!0}),eN.default.getState().setSessionView(d,"check"),tZ(`${e}\r`)}},[tO,tZ,d,np,D,nm,i]),ng=(0,r.useCallback)(async()=>{await D("claude")&&(nt("claude-code"),nc())},[D,nc,nt]),nx=(0,r.useCallback)(async()=>{await D("codex")&&(nt("codex-cli"),nh())},[D,nh,nt]),nb=(0,r.useCallback)(async e=>{if("connected"!==tO||!d)return;let t="codex"===e.provider?"codex-cli":"claude-code";if(await D(e.provider)){if(nt(t),eN.default.getState().setSessionView(d,"check"),"codex"===e.provider){let t;try{t=await (0,eO.fetchCodexLaunchCommand)(et,e.sessionId)}catch{ev.toast.error(i("codexLaunchFailed"));return}nm(d,{resetAgentSession:!1}),tZ(`${t}\r`);return}tZ(`${nd(e.sessionId)}\r`)}},[d,nd,D,nt,et,nm,tZ,tO,i]),nv=(0,r.useCallback)(async()=>{let e;if("connected"===tO&&d&&await D("codex")){try{e=await np()}catch{ev.toast.error(i("codexLaunchFailed"));return}nm(d,{resetAgentSession:!0}),eN.default.getState().setSessionView(d,"check"),tZ(`${e}\r`)}},[tO,tZ,d,np,D,nm,i]);(0,r.useEffect)(()=>{ek.current=nv},[nv]);let ny=(0,r.useCallback)(async()=>{let e;if("connected"===tO&&d&&await D("codex")){try{e=await np()}catch{ev.toast.error(i("codexLaunchFailed"));return}eX.current=e,nm(d,{resetAgentSession:!0}),eN.default.getState().setSessionView(d,"check"),(0,eW.sendCodexQuitCommand)(tZ)}},[tO,tZ,d,np,D,nm,i]);(0,r.useEffect)(()=>{let t=t=>{let n=t.detail;if(n?.paneId!==e||n.tabId!==d||"claude"!==n.provider&&"codex"!==n.provider)return;let a=n.provider;(async()=>{if(!await D(a))return;let e="codex"===a?"codex-cli":"claude-code";if(eN.default.getState().setDetectedAgent(d,{running:!0,checkedAt:Date.now(),providerId:a,panelType:e}),nt(e),"codex"===a)return nh();nc()})()};return window.addEventListener("purplemux-start-agent",t),()=>window.removeEventListener("purplemux-start-agent",t)},[d,D,nc,nh,nt,e]);let nw=(0,r.useCallback)(async()=>{if(!d||!e4||e4.tabId!==d||(e6(null),nt(e4.panelType),"connected"!==tO))return;let e=e4.resumable?e4.sessionId:null;if("codex-cli"===e4.panelType){let t;if(!await D("codex"))return;try{t=await (0,eO.fetchCodexLaunchCommand)(et,e)}catch{ev.toast.error(i("codexLaunchFailed"));return}eX.current=t,nm(d,{resetAgentSession:!e}),eN.default.getState().setSessionView(d,"check"),(0,eW.sendCodexQuitCommand)(tZ);return}await D("claude")&&(eX.current=nd(e),eN.default.getState().setSessionView(d,"check"),tZ("\x03"),setTimeout(()=>tZ("\x03"),300))},[d,e4,tO,D,nt,et,nm,tZ,i,nd]);(0,r.useEffect)(()=>{if(!eX.current||!0===eJ||"connected"!==tO||!(0,tG.isShellProcess)(eK.current))return;let e=eX.current;eX.current=null;let t=eo.current;t&&nm(t),tZ(`${e}\r`)},[eJ,tO,tZ,nm]);let nS=(0,r.useRef)(null),[nC,nj]=(0,r.useState)(!1),nk=(0,r.useRef)(!1),nN=(0,r.useCallback)(()=>{if(!nS.current)return;Y(!0);let t=!nC,n=N?.terminalRatio??30;nj(t),nk.current=!0,nS.current.setLayout(t?{timeline:100,"terminal-area":0}:{timeline:100-n,"terminal-area":n}),I&&d&&C(e,d,{terminalCollapsed:t}),setTimeout(()=>{if(Y(!1),nk.current=!1,!tA||"connected"!==tO)return;let{cols:e,rows:t}=tD();ea.current.sendResize(e,t)},150)},[nC,tA,tO,tD,I,d,e,N?.terminalRatio,C]);(0,r.useEffect)(()=>{if(!nS.current)return;if(nk.current=!0,I){let e=N?.terminalRatio??30;nj(B),nS.current.setLayout(B?{timeline:100,"terminal-area":0}:{timeline:100-e,"terminal-area":e}),ec()}else nS.current.setLayout({timeline:0,"terminal-area":100});let e=setTimeout(()=>{if(Y(!1),nk.current=!1,!tA||"connected"!==tO)return;let{cols:e,rows:t}=tD();ea.current.sendResize(e,t),c&&(I?eZ&&e0(()=>em.current?.()):tM())},150);return()=>clearTimeout(e)},[I,d]),(0,r.useEffect)(()=>{c&&I&&eZ&&e0(()=>em.current?.())},[eZ]);let nT=0===u.length,nP=tA&&("connected"===tO||O)&&!nT&&!G,nz=!nT&&(!tA||!O);return(0,a.jsxs)("div",{className:(0,ew.cn)("flex h-full flex-col overflow-hidden",f>1&&"border",f>1&&c?"border-focus-indicator":"border-transparent"),style:{opacity:H?void 0:0,transition:"opacity 200ms ease-out, border-color 150ms"},role:"region","aria-label":`Pane ${t}`,"aria-current":c?"true":void 0,onClick:ne,onPointerDown:e1,onPointerUp:e3,children:[(0,a.jsx)(tW,{paneId:e,tabs:u,activeTabId:d,tabTitles:Q,tabProcesses:Z,isLoading:!1,error:null,isCreating:q,paneCount:f,isSplitting:p,onSwitchTab:t3,onCreateTab:t5,onDeleteTab:t2,onRenameTab:t7,onSwitchPanelType:nt,onReorderTabs:t8,onClosePane:()=>x(e),onMoveTab:t9,onFocusPane:ne,onRetry:()=>{}}),(0,a.jsxs)("div",{role:"tabpanel",className:"relative min-h-0 flex-1 flex flex-col",style:L||E||R?void 0:{backgroundColor:A.colors.background},onDragOver:L||E||R?void 0:ni,onDrop:L||E||R?void 0:ns,children:[L&&d&&(0,a.jsx)(tu.default,{tabId:d,initialUrl:N?.webUrl,onUrlChange:na},d),E&&N&&(0,a.jsx)(td.default,{sessionName:N.sessionName,onSendToAgent:nn,settings:j,onSettingsChange:k},N.sessionName),R&&N&&!nz&&(0,a.jsx)(tl.default,{sessionName:N.sessionName,cwd:ee||N.cwd,onSelectSession:nb,onNewClaudeSession:ng,onNewCodexSession:nx},N.sessionName),(0,a.jsxs)(ep,{groupRef:nS,orientation:"vertical",defaultLayout:I?(n=N?.terminalRatio??30,B?{timeline:100,"terminal-area":0}:{timeline:100-n,"terminal-area":n}):{timeline:0,"terminal-area":100},onLayoutChanged:t=>{if(nk.current||!I||!d)return;let n=t["terminal-area"];if(void 0===n)return;let a=n<=0,r={};if(a!==B&&(r.terminalCollapsed=a,nj(a)),!a){let e=Math.round(n);e!==(N?.terminalRatio??30)&&(r.terminalRatio=e)}(void 0!==r.terminalRatio||void 0!==r.terminalCollapsed)&&C(e,d,r)},className:(0,ew.cn)("min-h-0 flex-1",(L||E||R)&&"invisible absolute inset-0 pointer-events-none",K&&"[&>[data-panel]]:[transition:flex-grow_150ms_ease-out]"),children:[(0,a.jsx)(eh,{id:"timeline",minSize:0,collapsible:!0,collapsedSize:0,disabled:!I,children:(0,a.jsxs)("div",{className:(0,ew.cn)("flex h-full flex-col bg-card",nC&&"pb-3"),onDragOver:I?tN:void 0,onDrop:I?tT:void 0,children:[P&&N&&!nz&&d&&(0,a.jsx)(e8,{tabId:d,sessionName:N.sessionName,claudeSessionId:eQ,cwd:ee||N.cwd,onClose:()=>nt("terminal"),onNewSession:nc,scrollToBottomRef:eV,addPendingMessageRef:eq,removePendingMessageRef:e_,trustPrompt:e9,onTrustResponse:tt},N.sessionName),z&&N&&!nz&&d&&(0,a.jsx)(tr,{tabId:d,sessionName:N.sessionName,cwd:ee||N.cwd,onClose:()=>nt("terminal"),onNewSession:nh,onRestart:ny,updatePrompt:tn,onUpdatePromptResponse:tc,scrollToBottomRef:eV,addPendingMessageRef:eq,removePendingMessageRef:e_},N.sessionName),I&&!nz&&eZ&&(0,a.jsx)(ti.default,{tabId:d??void 0,wsId:et??void 0,sessionName:N?.sessionName,agentSessionId:eQ,provider:z?"codex":"claude",cliState:eY,sendStdin:t0,terminalWsConnected:"connected"===tO,visible:!0,focusTerminal:tM,focusInputRef:em,setInputValueRef:eg,onRestartSession:z?ny:nf,onSend:tm,onOptimisticSend:tC,onAddPendingMessage:tj,onRemovePendingMessage:tk,attachFilesRef:eH},d),I&&!nz&&eZ&&d&&(0,a.jsx)(ts.default,{prompts:e5,visible:!0,onSelect:tP})]})}),(0,a.jsx)(ex,{className:(0,ew.cn)("group flex items-center justify-center overflow-hidden bg-card",I&&!nC?"h-3":"h-0"),disabled:!I||nC,children:(0,a.jsx)("div",{className:"h-px w-16 rounded-full bg-border transition-colors group-hover:bg-muted-foreground group-data-[resize-handle-active]:bg-muted-foreground"})}),I&&(0,a.jsxs)("button",{className:"flex h-6 w-full shrink-0 cursor-pointer items-center gap-1.5 border-t border-border bg-black/3 px-2 text-muted-foreground transition-colors hover:bg-black/5 dark:bg-white/3 dark:hover:bg-white/5",onClick:nN,children:[(0,a.jsx)(eD.TerminalSquare,{className:"h-3 w-3"}),(0,a.jsx)("span",{className:"text-[11px] font-medium",children:"Terminal"}),ee&&(0,a.jsx)("span",{className:"min-w-0 truncate text-[11px] opacity-60",children:ee.replace(/^\/Users\/[^/]+/,"~")}),(0,a.jsx)("span",{className:"ml-auto flex h-4 w-4 shrink-0 items-center justify-center",children:nC?(0,a.jsx)(eE.default,{className:"h-3 w-3"}):(0,a.jsx)(eL.ChevronDown,{className:"h-3 w-3"})})]}),(0,a.jsx)(eh,{id:"terminal-area",minSize:0,collapsible:!0,collapsedSize:0,children:(0,a.jsx)("div",{className:"flex h-full flex-col",onMouseDown:()=>{eT.current=!0},children:(0,a.jsx)(eG.default,{ref:tR,minHeight:I?256:void 0,className:(0,ew.cn)("min-h-0 flex-1",nP?"opacity-100":"opacity-0",I&&"py-0 pl-2 pr-0.5")})})})]}),nT&&(0,a.jsx)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:(0,a.jsxs)(ey.Button,{className:"gap-1.5",onClick:()=>t5(),disabled:q,children:[q?(0,a.jsx)(eb.default,{className:"h-3 w-3"}):(0,a.jsx)(o.Plus,{className:"h-3.5 w-3.5"}),i("openNewTab")]})}),!nT&&"terminal"===T&&"disconnected"===tO&&"session-not-found"===tY&&d&&(0,a.jsx)(tf,{cwd:N?.cwd,lastCommand:N?.lastCommand,onRestartWithCommand:e=>t4(d,e),onRestartNew:()=>t4(d)}),e4&&e4.tabId===d&&"terminal"===T&&(0,a.jsx)(tp.default,{modeName:e4.displayName,onSwitch:nw,onDismiss:()=>e6(null)}),nr&&(0,a.jsx)(th,{hint:nl,onSubmit:no,onDismiss:nu}),!nT&&!L&&!E&&(0,a.jsx)(to.default,{status:tO,retryCount:tK,disconnectReason:tY,onReconnect:tQ}),M]})]})});tK.displayName="PaneContainer";let tY=e=>"pane"===e.type?`pane:${e.id}`:["split",e.orientation,e.ratio,tY(e.children[0]),tY(e.children[1])].join("|"),tJ=(0,r.memo)(e=>{let{root:t,onUpdateRatio:n,onEqualizeRatios:l,equalizeRef:i}=e,s=(0,r.useRef)(null),o=(0,r.useRef)(new Map),u=(0,r.useRef)(""),d=(0,r.useRef)(new Map),c=(0,r.useCallback)(()=>{let e=(0,eC.equalizeNode)(t),n=(e,t)=>{if("pane"===e.type)return;let a=t.join("-")||"root",r=d.current.get(a);r?.current&&r.current.setLayout({left:e.ratio,right:100-e.ratio}),n(e.children[0],[...t,0]),n(e.children[1],[...t,1])};n(e,[]),l()},[t,l]);(0,r.useEffect)(()=>{i&&(i.current=c)});let f=(0,eC.collectPanes)(t),p=new Map;f.forEach((e,t)=>{p.set(e.id,t+1)});let m=e=>{let t=o.current.get(e);return t||((t=document.createElement("div")).style.height="100%",t.style.width="100%",o.current.set(e,t)),t},h=(e,t)=>{let r;if("pane"===e.type)return(0,a.jsx)("div",{"data-pane-slot":e.id,style:{height:"100%",width:"100%"}},`slot-${e.id}`);let l=(0,eC.getFirstPaneId)(e.children[0]),i=(0,eC.getFirstPaneId)(e.children[1]),s="horizontal"===e.orientation,o=t.join("-")||"root";return(0,a.jsxs)(ep,{groupRef:((r=d.current.get(o))||(r={current:null},d.current.set(o,r)),r),orientation:e.orientation,defaultLayout:{left:e.ratio,right:100-e.ratio},onLayoutChanged:a=>{let r=a.left;void 0!==r&&Math.abs(r-e.ratio)>.1&&n(t,Math.round(100*r)/100)},children:[(0,a.jsx)(eh,{id:"left",minSize:s?200:120,defaultSize:`${e.ratio}%`,children:h(e.children[0],[...t,0])}),(0,a.jsx)(ex,{className:"relative flex shrink-0 items-center justify-center bg-border transition-colors duration-100 hover:bg-muted-foreground/50 active:bg-muted-foreground",style:{width:s?"1px":void 0,height:s?void 0:"1px"}}),(0,a.jsx)(eh,{id:"right",minSize:s?200:120,defaultSize:`${100-e.ratio}%`,children:h(e.children[1],[...t,1])})]},`group-${l}-${i}`)};return(0,r.useLayoutEffect)(()=>{if(!s.current)return;let e=new Set(f.map(e=>e.id));for(let[t,n]of o.current)e.has(t)||(n.remove(),o.current.delete(t));f.forEach(e=>{let t=s.current.querySelector(`[data-pane-slot="${e.id}"]`),n=m(e.id);t&&n.parentElement!==t&&t.appendChild(n)})},[f.map(e=>e.id).join(",")]),(0,r.useLayoutEffect)(()=>{let e=f.map(e=>e.id).join(",");if(u.current&&u.current!==e){let e=(t,n)=>{if("pane"===t.type)return;let a=n.join("-")||"root",r=d.current.get(a);r?.current?.setLayout({left:t.ratio,right:100-t.ratio}),e(t.children[0],[...n,0]),e(t.children[1],[...n,1])};e(t,[])}u.current=e},[f.map(e=>e.id).join(",")]),(0,a.jsxs)("div",{ref:s,className:"h-full w-full bg-terminal-bg",children:[h(t,[]),f.map(e=>(0,eI.createPortal)((0,a.jsx)(tK,{paneId:e.id,paneNumber:p.get(e.id)??1}),m(e.id)))]})},(e,t)=>tY(e.root)===tY(t.root)&&e.onUpdateRatio===t.onUpdateRatio&&e.onEqualizeRatios===t.onEqualizeRatios&&e.equalizeRef===t.equalizeRef);var tQ=e.i(660255),tZ=e.i(615627),t0=e.i(69948);let t1=()=>{let e=((e=3e3)=>{let[t,n]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let t=tv.default?window.electronAPI:null;if(!t)return;let a=!0,r=async()=>{try{let[e,r]=await Promise.all([t.getSystemResources(),fetch("/api/system/tmux-sessions").then(e=>e.json())]);a&&n({cpu:e.cpu,memory:e.memory,tmuxSessions:r.count})}catch{}};r();let l=setInterval(r,e);return()=>{a=!1,clearInterval(l)}},[e]),t})();return(0,eF.default)(e=>e.systemResourcesEnabled)&&e?(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[9px] text-muted-foreground/60",children:[(0,a.jsxs)("span",{className:"tabular-nums",children:["CPU ",e.cpu.toFixed(1),"%"]}),(0,a.jsxs)("span",{className:"tabular-nums",children:["MEM ",Math.round(e.memory.used/1048576),"MB"]}),(0,a.jsxs)("span",{className:"tabular-nums",children:["TMUX ",e.tmuxSessions]})]}):null};var t3=e.i(998234),t5=e.i(700599),t2=e.i(237022);let t4=new Set(["localhost","127.0.0.1","::1"]).has(window.location.hostname),t6=({className:e})=>(0,a.jsxs)("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("line",{x1:"8",y1:"4",x2:"8",y2:"20"}),(0,a.jsx)("line",{x1:"16",y1:"4",x2:"16",y2:"20"})]}),t7=({className:e})=>(0,a.jsxs)("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,a.jsx)("line",{x1:"12",y1:"3",x2:"12",y2:"21"})]}),t8=({className:e})=>(0,a.jsxs)("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,a.jsx)("line",{x1:"3",y1:"12",x2:"21",y2:"12"})]}),t9={dirty:"text-muted-foreground/75",sync:"text-muted-foreground/75",stash:"text-muted-foreground/65"},ne=({activePaneId:e,root:t,paneCount:n,canSplit:i,isSplitting:s,onSplitPane:o,onEqualizeRatios:u,isGitPanelOpen:d,onToggleGitPanel:c})=>{let f=(0,l.useTranslations)("terminal"),p=(0,tM.default)()?"⌘":"Ctrl+",m=(0,tZ.default)(),h=(0,eC.collectPanes)(t),g=h.find(t=>t.id===e)??h[0],x=g?.tabs.find(e=>e.id===g.activeTabId),b=(0,ez.default)(e=>x?.id?e.metadata[x.id]?.cwd:void 0),v=(0,t2.default)(e=>e.phase),y=(0,t2.default)(e=>e.status),w=(0,t2.default)(e=>e.branch),S=(0,t2.default)(e=>e.resetForTarget),C=(0,t2.default)(e=>e.fetchForTarget),j=b||x?.cwd||x?.sessionName||null,k=x?.sessionName??null,N=`${p}⇧F`,T=(0,t2.getGitStatusIndicators)(y),P=`${(0,t2.formatGitStatusSummary)(v,w,y,"Git panel")} (${N})`,z=T.length>0||"error"===v;(0,r.useEffect)(()=>{let e={cwdKey:j,tmuxSession:k};if(S(e),C(e),!j||!k)return;let t=window.setInterval(()=>{C(e)},15e3);return()=>window.clearInterval(t)},[C,j,k,S]);let R=(0,eF.default)(e=>e.editorUrl),I=(0,eF.default)(e=>e.editorPreset),L=(0,r.useMemo)(()=>(0,t3.buildEditorUrl)(I,R,b||"/"),[I,R,b]),E=!!L&&(0,t3.isSafeEditorTarget)(L),D=!!L&&(0,t3.isWebEditorUrl)(L),M=E&&!D&&!t4,A=M?f("editorRemoteNotSupported"):f("openEditor"),F=g?.id;return(0,a.jsx)("div",{className:"shrink-0 bg-background",children:(0,a.jsxs)("div",{className:"relative z-40 flex h-12 shrink-0 items-center border-b border-border px-3",...tv.default?{style:{WebkitAppRegion:"drag"}}:{},children:[(0,a.jsx)("div",{className:"mr-auto",...tv.default?{style:{WebkitAppRegion:"no-drag"}}:{},children:(0,a.jsx)(t1,{})}),(0,a.jsx)(tk.TooltipProvider,{children:(0,a.jsxs)("div",{className:"flex items-center gap-1",...tv.default?{style:{WebkitAppRegion:"no-drag"}}:{},children:["off"!==I&&(0,a.jsxs)(tk.Tooltip,{children:[(0,a.jsx)(tk.TooltipTrigger,{className:(0,ew.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",M?"cursor-not-allowed opacity-30":"hover:text-foreground"),"aria-disabled":M||void 0,onClick:()=>{if(M)return;if(!L)return void ev.toast.info(f("editorUrlNotSet"));if(!E)return void ev.toast.error(f("editorUrlNotSet"));if(D)return void window.open(L,"_blank","noopener,noreferrer");let e=window.electronAPI;if(e?.openExternal)return void e.openExternal(L);let t=document.createElement("iframe");t.style.display="none",t.src=L,document.body.appendChild(t),setTimeout(()=>t.remove(),1e3)},"aria-label":f("openEditor"),children:L?(0,a.jsx)(t5.EditorIcon,{preset:I,className:"h-3.5 w-3.5"}):(0,a.jsx)(tQ.FolderCode,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(tk.TooltipContent,{side:"bottom",children:A})]}),"off"!==I&&(0,a.jsx)("div",{className:"h-5 w-px bg-border"}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)(tk.Tooltip,{children:[(0,a.jsx)(tk.TooltipTrigger,{className:(0,ew.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",i?"hover:text-foreground":"cursor-not-allowed opacity-30"),onClick:i&&F?()=>o(F,"horizontal"):void 0,disabled:!i,"aria-label":f("splitVertical"),children:s?(0,a.jsx)(eb.default,{className:"h-3 w-3"}):(0,a.jsx)(t7,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(tk.TooltipContent,{side:"bottom",children:f("splitVerticalShortcut",{shortcut:`${p}D`})})]}),(0,a.jsx)(t0.default,{mac:"⌘D",other:"^D",className:(0,ew.cn)("absolute -right-0.5 -top-1.5 rounded bg-muted px-1 py-0.5 text-[10px] font-medium leading-none text-muted-foreground transition-opacity duration-200 pointer-events-none",m?"opacity-100":"opacity-0")})]}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)(tk.Tooltip,{children:[(0,a.jsx)(tk.TooltipTrigger,{className:(0,ew.cn)("flex h-7 w-7 items-center justify-center text-muted-foreground",i?"hover:text-foreground":"cursor-not-allowed opacity-30"),onClick:i&&F?()=>o(F,"vertical"):void 0,disabled:!i,"aria-label":f("splitHorizontal"),children:s?(0,a.jsx)(eb.default,{className:"h-3 w-3"}):(0,a.jsx)(t8,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(tk.TooltipContent,{side:"bottom",children:f("splitHorizontalShortcut",{shortcut:`${p}⇧D`})})]}),(0,a.jsx)(t0.default,{mac:"⌘⇧D",other:"^⇧D",className:(0,ew.cn)("absolute -right-0.5 -top-1.5 rounded bg-muted px-1 py-0.5 text-[10px] font-medium leading-none text-muted-foreground transition-opacity duration-200 pointer-events-none",m?"opacity-100":"opacity-0")})]}),n>=2&&(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)(tk.Tooltip,{children:[(0,a.jsx)(tk.TooltipTrigger,{className:"flex h-7 w-7 items-center justify-center text-muted-foreground hover:text-foreground",onClick:u,"aria-label":f("equalSplit"),children:(0,a.jsx)(t6,{className:"h-3.5 w-3.5"})}),(0,a.jsx)(tk.TooltipContent,{side:"bottom",children:f("equalSplit")})]}),(0,a.jsx)(t0.default,{mac:"⌘⌥=",other:"^⌥=",className:(0,ew.cn)("absolute -right-0.5 -top-1.5 rounded bg-muted px-1 py-0.5 text-[10px] font-medium leading-none text-muted-foreground transition-opacity duration-200 pointer-events-none",m?"opacity-100":"opacity-0")})]}),(0,a.jsx)("div",{className:"mx-1 h-5 w-px bg-border"}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)(tk.Tooltip,{children:[(0,a.jsxs)(tk.TooltipTrigger,{className:(0,ew.cn)("flex h-7 min-w-7 items-center justify-center rounded text-muted-foreground transition-colors",z&&"gap-1 px-1.5",d?"bg-accent text-foreground":"hover:bg-accent hover:text-foreground"),onClick:c,"aria-pressed":d,"aria-label":"Toggle Git panel",children:[(0,a.jsx)(tT.GitCompareArrows,{className:"h-3.5 w-3.5"}),"error"===v&&(0,a.jsx)("span",{className:"text-[10px] font-semibold leading-none text-negative/70","aria-hidden":"true",children:"!"}),T.map(e=>(0,a.jsx)("span",{className:(0,ew.cn)("flex h-4 min-w-0 items-center justify-center text-[10px] font-medium leading-none",t9[e.tone]),"aria-hidden":"true",children:e.label},e.key))]}),(0,a.jsx)(tk.TooltipContent,{side:"bottom",children:P})]}),(0,a.jsx)(t0.default,{mac:"⌘⇧F",other:"^⇧F",className:(0,ew.cn)("absolute -right-0.5 -top-1.5 rounded bg-muted px-1 py-0.5 text-[10px] font-medium leading-none text-muted-foreground transition-opacity duration-200 pointer-events-none",m&&!d?"opacity-100":"opacity-0")})]})]})})]})})},nt=({sessionName:e,onClose:t,onSendToAgent:n,settings:r,onSettingsChange:l})=>(0,a.jsx)("aside",{className:"flex h-full min-w-0 flex-col bg-card",children:(0,a.jsx)("div",{className:"min-h-0 flex-1",children:e?(0,a.jsx)(td.default,{sessionName:e,onSendToAgent:n,onClose:t,settings:r,onSettingsChange:l}):(0,a.jsx)("div",{className:"flex h-full items-center justify-center px-6 text-center text-sm text-muted-foreground",children:"Open a terminal or agent tab first."})})});var nn=e.i(199685),na=e.i(566736);let nr=()=>!1,nl=()=>(Number.isFinite(36),36);e.s(["default",0,()=>{let e=(0,l.useTranslations)("terminal"),t=(0,ej.default)(e=>e.isLoading),n=(0,ej.default)(e=>e.error),u=(0,ej.default)(e=>e.activeWorkspaceId),d=(0,ej.default)(e=>e.workspaces.length),c=(0,r.useRef)(null),f=(0,r.useRef)(null),p=(0,r.useRef)(null),m=(0,r.useRef)(null),[h,g]=(0,r.useState)(nr),[x,b]=(0,r.useState)(nl),[v,y]=(0,r.useState)(null),w=(0,r.useCallback)(()=>{let t=c.current;t&&(ej.default.getState().switchWorkspace(t),ev.toast.error(e("cannotSwitch")))},[e]),S=(0,eS.default)({workspaceId:u,onFetchError:w}),C=!!(S.layout&&!S.isLoading&&(0,eC.collectPanes)(S.layout.root).every(e=>0===e.tabs.length)),j=!!(S.layout&&!S.isLoading&&!C),k=(0,r.useMemo)(()=>S.layout?.activePaneId?(0,eC.collectPanes)(S.layout.root).find(e=>e.id===S.layout?.activePaneId)??null:null,[S.layout]),N=(0,r.useMemo)(()=>k?.activeTabId?k.tabs.find(e=>e.id===k.activeTabId)??null:null,[k]),T=(0,ez.default)(e=>N?.id?e.metadata[N.id]?.cwd:void 0),P=(0,r.useMemo)(()=>S.layout?new Set((0,eC.collectPanes)(S.layout.root).flatMap(e=>e.tabs.map(e=>e.sessionName))):new Set,[S.layout]);(0,r.useEffect)(()=>{if(S.layout){let e;g(S.layout.diffSettings?.panelOpen??!1),b(Number.isFinite(e=Number(S.layout.diffSettings?.panelSize))?Math.min(60,Math.max(20,e)):36)}},[u,S.layout]);let z=(0,r.useCallback)(e=>{g(e),S.updateDiffSettings({panelOpen:e})},[S]),R=(0,r.useCallback)(e=>{b(e),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{S.updateDiffSettings({panelSize:e}),m.current=null},200)},[S]);(0,r.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]),(0,r.useEffect)(()=>{m.current&&(clearTimeout(m.current),m.current=null)},[u]);let I=(0,r.useCallback)((e,t)=>{k?.id&&window.dispatchEvent(new CustomEvent("purplemux-send-to-agent",{detail:{paneId:k.id,text:e,provider:t}}))},[k?.id]);(0,r.useEffect)(()=>{let e=()=>z(!h);return window.addEventListener("purplemux-toggle-git-panel",e),()=>window.removeEventListener("purplemux-toggle-git-panel",e)},[h,z]),(0,r.useEffect)(()=>{let e=N?.sessionName;if(!e)return;let t=T||N.cwd||e;y(n=>n?.cwdKey===t&&P.has(n.sessionName)?n:{sessionName:e,cwdKey:t})},[P,N?.sessionName,N?.cwd,T]),(0,r.useEffect)(()=>{j&&p.current?.setLayout(h?{main:100-x,git:x}:{main:100,git:0})},[u,h,x,j]);let L=S.layout?.updatedAt,E=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(!S.layout||!L||E.current===L)return;E.current=L;let e={};for(let t of(0,eC.collectPanes)(S.layout.root))for(let n of t.tabs)"agent-sessions"!==n.panelType&&(n.title||n.cwd)&&(e[n.id]={title:n.title,cwd:n.cwd});ez.default.getState().hydrate(e),(0,eR.requestSync)()},[L]),(0,r.useEffect)(()=>{if(!S.layout)return;let e=new Set((0,eC.collectPanes)(S.layout.root).flatMap(e=>e.tabs.map(e=>e.id)));ez.default.getState().retainOnly(e)},[S.layout]),(0,na.useAutoDeleteEmptyWorkspace)(C,S.clearLayout);let D=(0,r.useCallback)(e=>{let{activeWorkspaceId:t}=ej.default.getState();e!==t&&(c.current=t,ez.default.getState().reset(),S.clearLayout(),ej.default.getState().switchWorkspace(e))},[S]);if((0,r.useEffect)(()=>(nn.default.getState().register(D),()=>nn.default.getState().unregister()),[D]),(({layout:e})=>{let t=(0,r.useRef)(e),n=(0,ej.default)(e=>e.isSettingsDialogOpen),a=(0,ej.default)(e=>e.isCheatSheetOpen),l=!n&&!a;(0,r.useEffect)(()=>{t.current=e},[e]),(0,ek.default)("pane.split_right",()=>{let e=t.current;e.layout?.activePaneId&&e.canSplit&&e.splitPane(e.layout.activePaneId,"horizontal")},l),(0,ek.default)("pane.split_down",()=>{let e=t.current;e.layout?.activePaneId&&e.canSplit&&e.splitPane(e.layout.activePaneId,"vertical")},l);let i=(0,r.useCallback)(e=>{let n=t.current;if(!n.layout?.activePaneId)return;let a=(0,eC.findAdjacentPaneInDirection)(n.layout.root,n.layout.activePaneId,e);a&&n.focusPane(a)},[]);(0,ek.default)("pane.focus_left",()=>i("left"),l),(0,ek.default)("pane.focus_right",()=>i("right"),l),(0,ek.default)("pane.focus_up",()=>i("up"),l),(0,ek.default)("pane.focus_down",()=>i("down"),l);let s=(0,r.useCallback)(e=>{let n=t.current;if(!n.layout?.activePaneId)return;let a=(0,eC.findResizeTarget)(n.layout.root,n.layout.activePaneId,e);if(!a)return;let r=a.increase?5:-5,l=Math.min(95,Math.max(5,a.currentRatio+r));l!==a.currentRatio&&eS.useLayoutStore.getState().updateRatio(a.path,l)},[]);(0,ek.default)("pane.resize_left",()=>s("left"),l),(0,ek.default)("pane.resize_right",()=>s("right"),l),(0,ek.default)("pane.resize_up",()=>s("up"),l),(0,ek.default)("pane.resize_down",()=>s("down"),l),(0,ek.default)("pane.equalize",()=>eS.useLayoutStore.getState().equalizeRatios(),l),(0,ek.default)("tab.new",()=>{let e=t.current;e.layout?.activePaneId&&window.dispatchEvent(new CustomEvent("open-new-tab-menu",{detail:{paneId:e.layout.activePaneId}}))},l),(0,ek.default)("tab.close",()=>{let e=t.current;if(!e.layout?.activePaneId)return;let n=eP(e.layout);n?.activeTabId&&(1===n.tabs.length&&e.paneCount>1?e.closePane(n.id):e.deleteTabInPane(n.id,n.activeTabId))},l),(0,ek.default)("tab.prev",()=>eS.useLayoutStore.getState().focusPrevTab(),l),(0,ek.default)("tab.next",()=>eS.useLayoutStore.getState().focusNextTab(),l),(0,ek.default)("pane.clear_screen",()=>{},l),(0,ek.default)("tab.goto",e=>{let t=parseInt(e.code.replace("Digit",""),10);isNaN(t)||t<1||t>9||eS.useLayoutStore.getState().focusTabByIndex(9===t?1/0:t-1)},l);let o=(0,r.useCallback)(e=>{let n=eP(t.current.layout);if(!n?.activeTabId)return;let a=n.tabs.find(e=>e.id===n.activeTabId);if(!a)return;let r=a.panelType??"terminal";if(r===e)return;let l=eN.default.getState().tabs[n.activeTabId];(0,eT.tryAgentSwitch)({current:r,target:e,cliState:l?.cliState,agentProcess:l?.agentProcess,runningAgentPanelType:(0,eT.getAgentPanelTypeFromProvider)(l?.agentProviderId)})&&eS.useLayoutStore.getState().updateTabPanelType(n.id,n.activeTabId,e)},[]);(0,ek.default)("view.mode_terminal",()=>o("terminal"),l),(0,ek.default)("view.mode_claude",()=>o("claude-code"),l),(0,ek.default)("view.mode_codex",()=>o("codex-cli"),l),(0,ek.default)("view.mode_diff",()=>{window.dispatchEvent(new CustomEvent("purplemux-toggle-git-panel"))},l)})({layout:S}),t)return(0,a.jsxs)("div",{className:"flex h-full w-full flex-col overflow-hidden bg-background animate-delayed-fade-in",children:[(0,a.jsx)("div",{className:"flex h-12 shrink-0 items-center gap-1.5 border-b border-border bg-background px-2",children:[1,2,3].map(e=>(0,a.jsx)("div",{className:"h-4 w-16 animate-pulse rounded bg-muted"},e))}),(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,a.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,a.jsx)(eb.default,{className:"h-4 w-4 text-muted-foreground"}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:e("connecting")})]})})]});if(n&&!d)return(0,a.jsxs)("div",{className:"flex h-full w-full flex-col items-center justify-center gap-3 overflow-hidden bg-background",children:[(0,a.jsx)(i.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:n}),(0,a.jsxs)(ey.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:ej.default.getState().fetchWorkspaces,children:[(0,a.jsx)(s.RefreshCw,{className:"h-3.5 w-3.5"}),e("retryAction")]})]});let M=!S.layout&&S.isLoading&&u;return(0,a.jsxs)("div",{className:"relative flex h-full w-full flex-col overflow-hidden bg-background",children:[S.layout&&!S.isLoading&&!C&&(0,a.jsx)(ne,{activePaneId:S.layout.activePaneId,root:S.layout.root,paneCount:S.paneCount,canSplit:S.canSplit,isSplitting:S.isSplitting,onSplitPane:S.splitPane,onEqualizeRatios:()=>f.current?.(),isGitPanelOpen:h,onToggleGitPanel:()=>z(!h)}),(0,a.jsxs)("div",{className:"relative min-h-0 flex-1",children:[M&&(0,a.jsx)("div",{className:"absolute inset-0 z-30 flex items-center justify-center bg-background animate-delayed-fade-in",children:(0,a.jsx)(eb.default,{className:"h-4 w-4 text-muted-foreground"})}),S.error&&!S.isLoading&&(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-3",children:[(0,a.jsx)(i.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:S.error}),(0,a.jsxs)(ey.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>S.fetchLayout(),children:[(0,a.jsx)(s.RefreshCw,{className:"h-3.5 w-3.5"}),e("retryAction")]})]}),S.layout&&!S.isLoading&&!C&&(0,a.jsx)("div",{className:"h-full",children:(0,a.jsxs)(ep,{groupRef:p,className:"h-full w-full min-w-0",orientation:"horizontal",resizeTargetMinimumSize:{fine:8,coarse:32},defaultLayout:h?{main:100-x,git:x}:{main:100,git:0},onLayoutChanged:e=>{if(!h)return;let t=e.git;if(void 0===t||t<=1)return;let n=Math.min(60,Math.max(20,Math.round(t)));n!==x&&R(n)},children:[(0,a.jsx)(eh,{id:"main",minSize:"320px",className:"h-full min-w-0",children:(0,a.jsx)(tJ,{root:S.layout.root,onUpdateRatio:S.updateRatio,onEqualizeRatios:S.equalizeRatios,equalizeRef:f})}),(0,a.jsx)(ex,{disabled:!h,className:(0,ew.cn)("shrink-0 cursor-col-resize bg-border transition-colors duration-100 hover:bg-muted-foreground/50 data-[resize-handle-active]:bg-muted-foreground",h?"w-px":"w-0")}),(0,a.jsx)(eh,{id:"git",collapsible:!0,collapsedSize:"0px",minSize:"320px",maxSize:"760px",groupResizeBehavior:"preserve-pixel-size",className:"h-full min-w-0 overflow-hidden",children:h&&(0,a.jsx)(nt,{sessionName:v?.sessionName,onClose:()=>z(!1),onSendToAgent:I,settings:S.layout.diffSettings,onSettingsChange:S.updateDiffSettings})})]})},u),!u&&!t&&!n&&(0,a.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,a.jsxs)(ey.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:async()=>{let e=await ej.default.getState().createWorkspace("");e&&ej.default.getState().switchWorkspace(e.id)},children:[(0,a.jsx)(o.Plus,{className:"h-3.5 w-3.5"}),e("newWorkspace")]})})]})]})}],51372)},277184,e=>{e.n(e.i(51372))}]);
|