purplemux 0.2.4 → 0.2.6
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 +70 -70
- 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]__0-qfa-x._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__00nrs0h._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__03x8rds._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__04cr_m8._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06j59n1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__07gfnob._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__07xijrd._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__08tdlcm._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__09_6_.~._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__09gkm_6._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_uldiw._.js +15 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a4t.z5._.js +52 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bo-su1._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c-bb5d._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dvelfj._.js +52 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e.7isl._.js +5 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gcec.8._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ihlt6s._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qvunc5._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0r77-u1._.js +52 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vi8p6v._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w3m-oz._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zh8xur._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~iu3jq._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__12nr~pb._.js +1 -1
- package/.next/standalone/.next/server/chunks/{_0v81st0._.js → _0.pa6m1._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_05ib7yu._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_0ll-5~7._.js → _09y8.gr._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_0.5a4bu._.js → _0mwq11h._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_0y4b49w._.js +3 -0
- package/.next/standalone/.next/server/chunks/_0zcb2f0._.js +3 -0
- package/.next/standalone/.next/server/chunks/{node_modules_ws_124xx2_._.js → _106a~ya._.js} +2 -2
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_pages-api_00-t8sq.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_00fhuqb._.js +3 -0
- package/.next/standalone/.next/server/chunks/src_lib_0dvlmi4._.js +15 -0
- package/.next/standalone/.next/server/chunks/src_lib_0ojl2hg._.js +52 -0
- package/.next/standalone/.next/server/chunks/src_lib_layout-store_ts_0fanx7c._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_status-manager_ts_003hlhy._.js +1 -13
- package/.next/standalone/.next/server/chunks/src_lib_workspace-store_ts_0vqt073._.js +1 -40
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t9ru13._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0o8h1fd._.js → _0-kyl7i._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_017c8be._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0c1yivm._.js → _070zc_o._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_07jud1p._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0_uqm-4._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0ftinmo._.js → _0ed.wmt._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0lpqhot._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0pg-q18._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0pp3e5j._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0ttiybw._.js +18 -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/_0xp3-y6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_11v_6.6._.js → _0y7o.rg._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0ytb_c0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_02jzd5g._.js → _13gee5r._.js} +2 -2
- 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/{src_components_0_aiven._.js → src_components_0_nzv1r._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_components_0geizrr._.js → src_components_0bqqfju._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_components_11_1i~k._.js → src_components_0rqxlj-._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_components_12mrirb._.js → src_components_0s~.n3e._.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/chunks/ssr/src_lib_workspace-store_ts_00x-rec._.js +10 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +70 -70
- package/.next/standalone/.next/server/pages/_app/build-manifest.json +3 -3
- package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/api/auth/login.js +2 -2
- package/.next/standalone/.next/server/pages/api/auth/login.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/auth/preflight.js +2 -2
- package/.next/standalone/.next/server/pages/api/auth/preflight.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/auth/setup.js +2 -2
- package/.next/standalone/.next/server/pages/api/auth/setup.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/check-claude.js +5 -1
- package/.next/standalone/.next/server/pages/api/check-claude.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js +2 -2
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js +2 -2
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js +2 -2
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js +2 -2
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js +2 -2
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js +2 -2
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js +2 -2
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js +2 -2
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js +2 -2
- package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/cli/tabs.js +2 -2
- package/.next/standalone/.next/server/pages/api/cli/tabs.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/cli/workspaces.js +2 -2
- package/.next/standalone/.next/server/pages/api/cli/workspaces.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/config.js +2 -2
- package/.next/standalone/.next/server/pages/api/config.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/layout/diff.js +1 -1
- package/.next/standalone/.next/server/pages/api/layout/diff.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js +2 -2
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js +5 -5
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js +2 -2
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +5 -5
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js +2 -2
- package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/layout/pane.js +2 -2
- package/.next/standalone/.next/server/pages/api/layout/pane.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/layout.js +2 -2
- package/.next/standalone/.next/server/pages/api/layout.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/message-history.js +2 -2
- package/.next/standalone/.next/server/pages/api/message-history.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/preflight/runtime.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/stats/projects.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/stats/sessions.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/stats/uptime.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/status/hook.js +6 -6
- package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/status/statusline.js +6 -6
- package/.next/standalone/.next/server/pages/api/status/statusline.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/timeline/sessions.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/permission-options.js +3 -2
- package/.next/standalone/.next/server/pages/api/tmux/permission-options.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/plan-options.js +3 -2
- package/.next/standalone/.next/server/pages/api/tmux/plan-options.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +5 -5
- package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/reset.js +5 -5
- package/.next/standalone/.next/server/pages/api/tmux/reset.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js +2 -2
- package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/workspace/active.js +2 -2
- package/.next/standalone/.next/server/pages/api/workspace/active.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js +2 -2
- package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js +2 -2
- package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/workspace/group.js +2 -2
- package/.next/standalone/.next/server/pages/api/workspace/group.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/workspace/reorder.js +2 -2
- package/.next/standalone/.next/server/pages/api/workspace/reorder.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/workspace/validate.js +2 -2
- package/.next/standalone/.next/server/pages/api/workspace/validate.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/workspace.js +5 -5
- package/.next/standalone/.next/server/pages/api/workspace.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/de/404.html +1 -1
- package/.next/standalone/.next/server/pages/de/500.html +1 -1
- package/.next/standalone/.next/server/pages/en/404.html +1 -1
- package/.next/standalone/.next/server/pages/en/500.html +1 -1
- package/.next/standalone/.next/server/pages/es/404.html +1 -1
- package/.next/standalone/.next/server/pages/es/500.html +1 -1
- package/.next/standalone/.next/server/pages/fr/404.html +1 -1
- package/.next/standalone/.next/server/pages/fr/500.html +1 -1
- package/.next/standalone/.next/server/pages/index/build-manifest.json +15 -15
- package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +6 -6
- package/.next/standalone/.next/server/pages/index.js +8 -8
- 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 +6 -6
- 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 +14 -14
- package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/reports.js +9 -9
- package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
- 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 +12 -12
- package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/stats.js +9 -9
- 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 +4 -4
- 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 +13 -13
- package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/webview.js +6 -6
- 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/{CjJlqsAWYyyu76AJtHaqt → X30D5nlXld8jLdlpsowJj}/_buildManifest.js +6 -6
- package/.next/standalone/.next/static/chunks/{11tnyk0iystp1.js → 0--r5y9cw3.0z.js} +1 -1
- package/.next/standalone/.next/static/chunks/{08.6.1cg_x8r-.js → 00gxls80r--_0.js} +6 -6
- package/.next/standalone/.next/static/chunks/{0w0qmu364g~xt.js → 01rmp.m_ls7z_.js} +1 -1
- package/.next/standalone/.next/static/chunks/03y_zdpu9ete~.js +16 -0
- package/.next/standalone/.next/static/chunks/{0zmym5gg0bnkg.js → 06ak74s111wx-.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0g-71jn3elu8f.js → 08d6vee5l~1wn.js} +1 -1
- package/.next/standalone/.next/static/chunks/{16.twr9cx.kle.js → 08gfz_nte45du.js} +1 -1
- package/.next/standalone/.next/static/chunks/{00s78xqkxglkv.js → 0a1xt.enr50l5.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0p~_~afvrxx99.js → 0am7rh7xdv5lw.js} +3 -3
- package/.next/standalone/.next/static/chunks/{0cmg_jvd.7c43.js → 0awrd.oo446gi.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0._2l5v1hwkfn.js → 0cuy2cz7-e4u3.js} +12 -12
- package/.next/standalone/.next/static/chunks/{09lb6md956bhb.js → 0eu25r354hciy.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0thg_6bh34-xa.js → 0f3q6qhpk.i_r.js} +1 -1
- package/.next/standalone/.next/static/chunks/0gfhd.gsbt9qg.js +1 -0
- package/.next/standalone/.next/static/chunks/0ic.mcu6-9din.js +1 -0
- package/.next/standalone/.next/static/chunks/0k4b.~5c4nvtm.js +1 -0
- package/.next/standalone/.next/static/chunks/{0q9y8zysz~put.js → 0ox.7nphcgp6k.js} +15 -15
- package/.next/standalone/.next/static/chunks/{13j5zp717ie6d.js → 0px6~g-besoaa.js} +13 -13
- package/.next/standalone/.next/static/chunks/{0batq-3sj.qi1.js → 0qbonuf--0q6w.js} +14 -14
- package/.next/standalone/.next/static/chunks/0qqsez8ir1.fs.js +1 -0
- package/.next/standalone/.next/static/chunks/{0pxbg4s8a4y54.js → 0rb41e1r1urhx.js} +1 -1
- package/.next/standalone/.next/static/chunks/0uii4rziiew3_.js +1 -0
- package/.next/standalone/.next/static/chunks/0vtkq~yk_1~gv.js +1 -0
- package/.next/standalone/.next/static/chunks/0vx2hhzc46h_7.js +1 -0
- package/.next/standalone/.next/static/chunks/0xpr6vw-p8oxk.js +1 -0
- package/.next/standalone/.next/static/chunks/{0s7sv9xe3e1c9.js → 0zn1jt__-t51p.js} +1 -1
- package/.next/standalone/.next/static/chunks/0zrhxc96zwjuv.js +1 -0
- package/.next/standalone/.next/static/chunks/0z~yy1lqrvp_a.js +1 -0
- package/.next/standalone/.next/static/chunks/0~cgr_3dpx0vl.js +1 -0
- package/.next/standalone/.next/static/chunks/{0b.a4_8picceu.js → 0~g0t2q6o3r-7.js} +4 -4
- package/.next/standalone/.next/static/chunks/0~u-xp3xwzx8m.js +1 -0
- package/.next/standalone/.next/static/chunks/14if5vtky.3sn.js +1 -0
- package/.next/standalone/.next/static/chunks/15i_n03eg5uyp.js +1 -0
- package/.next/standalone/.next/static/chunks/{0r69~xx12-zsq.js → 167xy7alpfxbv.js} +1 -1
- package/.next/standalone/.next/static/chunks/1756nfyulu.9h.css +1 -0
- package/.next/standalone/.next/static/chunks/{turbopack-0vv2_r1br0hyc.js → turbopack-092b2t67-z3ds.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-06o7eaf8n1nth.js → turbopack-0edd0f8i0vas2.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0-ooli-pimh-6.js → turbopack-0ser1ty-sh2jk.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0sa282u154fdk.js → turbopack-0thw2b7slv80v.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0duv.5cir9jm5.js → turbopack-0zouy.~ram.7g.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0f2cool0ub~vp.js → turbopack-10_7kfeyza-k-.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0q6z-bk-atg2w.js → turbopack-189zx7uuxfxm6.js} +1 -1
- package/.next/standalone/messages/de/terminal.json +4 -0
- package/.next/standalone/messages/en/terminal.json +4 -0
- package/.next/standalone/messages/es/terminal.json +4 -0
- package/.next/standalone/messages/fr/terminal.json +4 -0
- package/.next/standalone/messages/ja/terminal.json +4 -0
- package/.next/standalone/messages/ko/terminal.json +4 -0
- package/.next/standalone/messages/pt-BR/terminal.json +4 -0
- package/.next/standalone/messages/ru/terminal.json +4 -0
- package/.next/standalone/messages/tr/terminal.json +4 -0
- package/.next/standalone/messages/zh-CN/terminal.json +4 -0
- package/.next/standalone/messages/zh-TW/terminal.json +4 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/config/tmux.conf +17 -7
- package/.next/standalone/src/lib/providers/claude/index.ts +44 -0
- package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/index.ts +13 -6
- package/README.de.md +1 -1
- package/README.es.md +1 -1
- package/README.fr.md +1 -1
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +1 -1
- package/README.pt-BR.md +1 -1
- package/README.ru.md +1 -1
- package/README.tr.md +1 -1
- package/README.zh-CN.md +1 -1
- package/README.zh-TW.md +1 -1
- package/dist/server.js +970 -851
- package/package.json +1 -1
- package/src/config/tmux.conf +17 -7
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__01.~37j._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__016s4a9._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__03l15.f._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05ij_ys._.js +0 -42
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06h3gzy._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0auutl5._.js +0 -5
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d-inw8._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0i-jyh3._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l~_wd0._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ovn6yp._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0un_g-o._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__12ksl6n._.js +0 -42
- package/.next/standalone/.next/server/chunks/_03-duro._.js +0 -3
- package/.next/standalone/.next/server/chunks/_07097f~._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0z7d6.z._.js +0 -3
- package/.next/standalone/.next/server/chunks/src_lib_0p.xsqi._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_016o9_-._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0a64og5._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0ccg0_z._.js +0 -18
- package/.next/standalone/.next/server/chunks/ssr/_0fnzfs-._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0hat6~g._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0hp8_ck._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0hq29bt._.js +0 -3
- package/.next/standalone/.next/static/chunks/02ncyh-v8g~cs.css +0 -1
- package/.next/standalone/.next/static/chunks/08d4u-qlylmde.js +0 -1
- package/.next/standalone/.next/static/chunks/08f708~_7uy_i.js +0 -1
- package/.next/standalone/.next/static/chunks/08ojbbzi2ergt.js +0 -16
- package/.next/standalone/.next/static/chunks/0cvx059r5hgj1.js +0 -1
- package/.next/standalone/.next/static/chunks/0gn-f6_m696k0.js +0 -1
- package/.next/standalone/.next/static/chunks/0u.snf3d~5nvq.js +0 -1
- package/.next/standalone/.next/static/chunks/0v.l~.~v98c2c.js +0 -1
- package/.next/standalone/.next/static/chunks/0wu~4k-l8otuy.js +0 -1
- package/.next/standalone/.next/static/chunks/0y441gn709g7u.js +0 -1
- package/.next/standalone/.next/static/chunks/0yb~gw6ukzdmo.js +0 -1
- package/.next/standalone/.next/static/chunks/0yg3hj1g~k1ip.js +0 -1
- package/.next/standalone/.next/static/chunks/0~c6h8j7ut2ca.js +0 -1
- package/.next/standalone/.next/static/chunks/13i76gpwz2k5a.js +0 -1
- package/.next/standalone/.next/static/chunks/15m4y6otktj8z.js +0 -1
- package/.next/standalone/.next/static/chunks/17ebdp-_o5o30.js +0 -1
- /package/.next/standalone/.next/static/{CjJlqsAWYyyu76AJtHaqt → X30D5nlXld8jLdlpsowJj}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{CjJlqsAWYyyu76AJtHaqt → X30D5nlXld8jLdlpsowJj}/_ssgManifest.js +0 -0
|
@@ -1,42 +1,3 @@
|
|
|
1
|
-
module.exports=[322429,
|
|
2
|
-
|
|
3
|
-
You are running inside a purplemux workspace tab.
|
|
4
|
-
|
|
5
|
-
- **Workspace ID**: \`${e.id}\`
|
|
6
|
-
|
|
7
|
-
Use \`purplemux workspaces\` if you need the workspace name or directories.
|
|
8
|
-
|
|
9
|
-
## purplemux CLI
|
|
10
|
-
|
|
11
|
-
The \`purplemux\` CLI lets you inspect and control other tabs in this workspace.
|
|
12
|
-
It reads port and token from \`~/.purplemux/{port,cli-token}\` automatically,
|
|
13
|
-
so no environment setup is needed.
|
|
14
|
-
|
|
15
|
-
### Commands
|
|
16
|
-
|
|
17
|
-
\`\`\`bash
|
|
18
|
-
purplemux workspaces # list all workspaces
|
|
19
|
-
purplemux tab list -w ${e.id} # list tabs in this workspace
|
|
20
|
-
purplemux tab create -w ${e.id} [-n NAME] [-t TYPE] # create a tab (type: terminal | claude-code | web-browser | diff)
|
|
21
|
-
purplemux tab send -w ${e.id} TAB_ID CONTENT... # send input to a tab
|
|
22
|
-
purplemux tab status -w ${e.id} TAB_ID # tab status
|
|
23
|
-
purplemux tab result -w ${e.id} TAB_ID # capture current pane content
|
|
24
|
-
purplemux tab close -w ${e.id} TAB_ID # close a tab
|
|
25
|
-
\`\`\`
|
|
26
|
-
|
|
27
|
-
For the full HTTP API reference (including endpoint paths and payloads),
|
|
28
|
-
run:
|
|
29
|
-
|
|
30
|
-
\`\`\`bash
|
|
31
|
-
purplemux api-guide
|
|
32
|
-
\`\`\`
|
|
33
|
-
|
|
34
|
-
### When to use
|
|
35
|
-
|
|
36
|
-
- Delegate work to another tab when a task benefits from isolation
|
|
37
|
-
(long-running builds, different project context, parallel exploration).
|
|
38
|
-
- Poll \`status\` and read \`result\` to verify delegated work.
|
|
39
|
-
- Prefer small, scoped tabs over cramming everything into one session.
|
|
40
|
-
`;try{if(await a.default.readFile(r,"utf-8")===i)return r}catch{}return await a.default.writeFile(r,i,"utf-8"),r};e.s(["getClaudePromptPath",0,d,"writeClaudePromptFile",0,c],160874);let p=(0,o.createLogger)("workspace"),w="Workspace ",f=t.default.join(r.default.homedir(),".purplemux"),y=t.default.join(f,"workspaces.json"),m=t.default.join(f,"layout.json"),k=t.default.join(f,"tabs.json"),g=globalThis;g.__purplemuxWorkspaceLock||(g.__purplemuxWorkspaceLock=Promise.resolve());let h=async e=>{let a,t=new Promise(e=>{a=e}),r=g.__purplemuxWorkspaceLock;g.__purplemuxWorkspaceLock=t,await r;try{return await e()}finally{a()}},b=()=>({workspaces:[],groups:[],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:new Date().toISOString()}),I=e=>(e.groups||(e.groups=[]),e.groups),W=async()=>{let e;try{e=await a.default.readFile(y,"utf-8")}catch{return null}try{let a=JSON.parse(e);for(let e of a.workspaces)!e.directories&&e.directory&&(e.directories=[e.directory],delete e.directory),delete e.order;for(let e of(Array.isArray(a.groups)||(a.groups=[]),a.groups))delete e.order;let t=new Set(a.groups.map(e=>e.id));for(let e of a.workspaces)e.groupId&&!t.has(e.groupId)&&(e.groupId=null);return a}catch{p.warn("Failed to parse workspaces.json, starting empty");try{await a.default.copyFile(y,y.replace(/\.json$/,".json.bak"))}catch{}return null}},v=async e=>{let t;t=I(e),e.workspaces=((e,a)=>{let t=new Set(a.map(e=>e.id)),r=new Map,i=[];for(let a of e){let e=a.groupId??null;if(e&&t.has(e)){let t=r.get(e)??[];t.push(a),r.set(e,t)}else i.push(a)}let s=[];for(let e of a){let a=r.get(e.id);a&&s.push(...a)}return s.push(...i),s})(e.workspaces,t);let{workspaces:r,groups:i,activeWorkspaceId:s,sidebarCollapsed:o,sidebarWidth:n}=e,u=JSON.stringify({workspaces:r,groups:i??[],activeWorkspaceId:s,sidebarCollapsed:o,sidebarWidth:n});if(g.__purplemuxWorkspacesContentCache===u)return;e.updatedAt=new Date().toISOString();let d=y+".tmp";try{await a.default.writeFile(d,JSON.stringify(e,null,2),{mode:384}),await a.default.rename(d,y)}catch(e){throw await a.default.unlink(d).catch(()=>{}),e}g.__purplemuxWorkspacesContentCache=u,(0,l.broadcastSync)({type:"workspace"})},x=async()=>{let e=await (0,n.readLayoutFile)(m);if(!e)return null;let t="ws-default";await a.default.mkdir((0,n.resolveLayoutDir)(t),{recursive:!0}),await (0,n.writeLayoutFile)(e,(0,n.resolveLayoutFile)(t));let i={workspaces:[{id:t,name:"default",directories:[r.default.homedir()]}],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:e.updatedAt||new Date().toISOString()};return await v(i),p.info("Phase 4 layout.json → Workspace 'default' migration complete"),i},$=async()=>{try{let e=await a.default.readFile(k,"utf-8"),t=JSON.parse(e);if(!Array.isArray(t.tabs)||0===t.tabs.length)return null;let r=`pane-${(0,i.nanoid)(6)}`,s={root:{type:"pane",id:r,tabs:t.tabs,activeTabId:t.activeTabId??null},activePaneId:r,updatedAt:new Date().toISOString()},o=m+".tmp";try{await a.default.writeFile(o,JSON.stringify(s,null,2),{mode:384}),await a.default.rename(o,m)}catch(e){throw await a.default.unlink(o).catch(()=>{}),e}return p.info("tabs.json → layout.json migration complete"),await x()}catch{return null}},L=async()=>{await a.default.mkdir(t.default.join(f,"workspaces"),{recursive:!0});let e=await W();if(!e&&(await a.default.access(m).then(()=>!0).catch(()=>!1)?e=await x():await a.default.access(k).then(()=>!0).catch(()=>!1)&&(e=await $())),!e){let a=b();await v(a),e=a,p.info("Initial workspaces.json created")}if(0===e.workspaces.length)return;let r=await (0,s.listSessions)();for(let a of e.workspaces){let e=(0,n.resolveLayoutFile)(a.id),t=await (0,n.readLayoutFile)(e);if(!t){p.warn(`Workspace '${a.name}': layout.json corrupted, reset to default pane`),t=await (0,n.createDefaultLayout)(a.id,a.directories[0]),await (0,n.writeLayoutFile)(t,e);continue}let i=(0,u.collectAllTabs)(t.root).map(e=>e.sessionName),s=`pt-${a.id}-`,o=r.filter(e=>i.includes(e)||e.startsWith(s));try{await (0,n.crossCheckLayout)(t,o,a.id,a.directories[0])&&await (0,n.writeLayoutFile)(t,e)}catch(e){p.error(`Workspace '${a.name}': tmux consistency check failed: ${e instanceof Error?e.message:e}`)}}},S=async()=>{let e=await W();return e?{workspaces:e.workspaces,groups:e.groups??[],activeWorkspaceId:e.activeWorkspaceId,sidebarCollapsed:e.sidebarCollapsed,sidebarWidth:e.sidebarWidth}:{workspaces:[],groups:[],sidebarCollapsed:!1,sidebarWidth:220}},D=async()=>{let e=await W();return e?.activeWorkspaceId&&e.workspaces.some(a=>a.id===e.activeWorkspaceId)?e.activeWorkspaceId:e?.workspaces[0]?.id??null},F=async e=>{let a=await W();return a?.workspaces.find(a=>a.id===e)},C=async(e,t,r)=>h(async()=>{let s;try{s=await a.default.stat(e)}catch{throw Error("Directory does not exist")}if(!s.isDirectory())throw Error("Please enter a directory path, not a file");let o=await W()??b(),l=`ws-${(0,i.nanoid)(6)}`,u=t?.trim()||(e=>{let a=0;for(let t of e)if(t.name.startsWith(w)){let e=parseInt(t.name.slice(w.length),10);e>a&&(a=e)}return`${w}${a+1}`})(o.workspaces),d=await (0,n.createDefaultLayout)(l,e,r);await a.default.mkdir((0,n.resolveLayoutDir)(l),{recursive:!0}),await (0,n.writeLayoutFile)(d,(0,n.resolveLayoutFile)(l));let f={id:l,name:u,directories:[e]};return o.workspaces.push(f),await v(o),await c(f),p.debug(`Created: ${l} (${u}, ${e})`),f}),A=async e=>h(async()=>{let a=await W()??b(),t=a.workspaces.findIndex(a=>a.id===e);if(-1===t)return!1;let r=a.workspaces[t],i=await (0,n.readLayoutFile)((0,n.resolveLayoutFile)(e));if(i)for(let e of(0,u.collectAllTabs)(i.root))try{await (0,s.killSession)(e.sessionName)}catch{}try{await (0,n.removeLayoutFile)(e)}catch{}return a.workspaces.splice(t,1),await v(a),p.info(`Deleted: ${e} (${r.name})`),!0}),j=async(e,a)=>h(async()=>{let t=await W();if(!t)return null;let r=t.workspaces.find(a=>a.id===e);return r?(r.name=a,await v(t),await c(r),p.debug(`Renamed: ${e} → "${a}"`),{...r}):null}),_=async e=>h(async()=>{let a=await W()??b();void 0!==e.activeWorkspaceId&&(a.activeWorkspaceId=e.activeWorkspaceId),void 0!==e.sidebarCollapsed&&(a.sidebarCollapsed=e.sidebarCollapsed),void 0!==e.sidebarWidth&&(a.sidebarWidth=e.sidebarWidth),await v(a)}),T=async(e,a)=>h(async()=>{let t=await W();if(!t)return;let r=t.workspaces.find(a=>a.id===e);r&&JSON.stringify(r.directories)!==JSON.stringify(a)&&(r.directories=a,await v(t),await c(r))}),P=async e=>h(async()=>{let a=await W()??b(),t=new Map(a.workspaces.map(e=>[e.id,e])),r=new Set((a.groups??[]).map(e=>e.id)),i=[];for(let a of e){let e=t.get(a.id);if(!e)return!1;void 0!==a.groupId&&(e.groupId=a.groupId&&r.has(a.groupId)?a.groupId:null),i.push(e)}return i.length===a.workspaces.length&&(a.workspaces=i,await v(a),!0)}),N=async e=>h(async()=>{let a=await W()??b(),t=I(a),r=e.trim()||`Group ${t.length+1}`,s={id:`grp-${(0,i.nanoid)(6)}`,name:r,collapsed:!1};return t.push(s),await v(a),p.debug(`Group created: ${s.id} (${s.name})`),s}),O=async(e,a)=>h(async()=>{let t=await W();if(!t)return null;let r=(t.groups??[]).find(a=>a.id===e);if(!r)return null;let i=a.trim();return i?(r.name=i,await v(t),{...r}):r}),G=async(e,a)=>h(async()=>{let t=await W();if(!t)return!1;let r=(t.groups??[]).find(a=>a.id===e);return!!r&&(r.collapsed===a||(r.collapsed=a,await v(t),!0))}),J=async e=>h(async()=>{let a=await W();if(!a)return!1;let t=I(a),r=t.findIndex(a=>a.id===e);if(-1===r)return!1;for(let t of a.workspaces)t.groupId===e&&(t.groupId=null);return t.splice(r,1),await v(a),p.info(`Group ungrouped: ${e}`),!0}),E=async e=>h(async()=>{let a=await W();if(!a)return!1;let t=I(a),r=new Map(t.map(e=>[e.id,e])),i=[];for(let a of e){let e=r.get(a);if(!e)return!1;i.push(e)}return i.length===t.length&&(a.groups=i,await v(a),!0)}),B=async(e,a)=>h(async()=>{let t=await W();if(!t)return!1;let r=t.workspaces.find(a=>a.id===e);if(!r)return!1;let i=new Set((t.groups??[]).map(e=>e.id)),s=a&&i.has(a)?a:null;return(r.groupId??null)===s||(r.groupId=s,await v(t),!0)}),M=async e=>{try{if(!(await a.default.stat(e)).isDirectory())return{valid:!1,error:"Please enter a directory path, not a file"}}catch{return{valid:!1,error:"Directory does not exist"}}return{valid:!0,suggestedName:t.default.basename(e)}};e.s(["createGroup",0,N,"createWorkspace",0,C,"deleteWorkspace",0,A,"getActiveWorkspaceId",0,D,"getWorkspaceById",0,F,"getWorkspaces",0,S,"initWorkspaceStore",0,L,"renameGroup",0,O,"renameWorkspace",0,j,"reorderGroups",0,E,"reorderWorkspaces",0,P,"setGroupCollapsed",0,G,"setWorkspaceGroup",0,B,"ungroupGroup",0,J,"updateActive",0,_,"updateWorkspaceDirectories",0,T,"validateDirectory",0,M],322429)}];
|
|
1
|
+
module.exports=[322429,e=>{"use strict";var a=e.i(924868),t=e.i(814747),r=e.i(446786),i=e.i(44014),s=e.i(459015),o=e.i(25146),l=e.i(666126),n=e.i(825265),d=e.i(804767),u=e.i(160874);let c=(0,o.createLogger)("workspace"),p="Workspace ",w=t.default.join(r.default.homedir(),".purplemux"),f=t.default.join(w,"workspaces.json"),y=t.default.join(w,"layout.json"),k=t.default.join(w,"tabs.json"),g=globalThis;g.__purplemuxWorkspaceLock||(g.__purplemuxWorkspaceLock=Promise.resolve());let h=async e=>{let a,t=new Promise(e=>{a=e}),r=g.__purplemuxWorkspaceLock;g.__purplemuxWorkspaceLock=t,await r;try{return await e()}finally{a()}},m=()=>({workspaces:[],groups:[],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:new Date().toISOString()}),W=e=>(e.groups||(e.groups=[]),e.groups),I=async()=>{let e;try{e=await a.default.readFile(f,"utf-8")}catch{return null}try{let a=JSON.parse(e);for(let e of a.workspaces)!e.directories&&e.directory&&(e.directories=[e.directory],delete e.directory),delete e.order;for(let e of(Array.isArray(a.groups)||(a.groups=[]),a.groups))delete e.order;let t=new Set(a.groups.map(e=>e.id));for(let e of a.workspaces)e.groupId&&!t.has(e.groupId)&&(e.groupId=null);return a}catch{c.warn("Failed to parse workspaces.json, starting empty");try{await a.default.copyFile(f,f.replace(/\.json$/,".json.bak"))}catch{}return null}},b=async e=>{let t;t=W(e),e.workspaces=((e,a)=>{let t=new Set(a.map(e=>e.id)),r=new Map,i=[];for(let a of e){let e=a.groupId??null;if(e&&t.has(e)){let t=r.get(e)??[];t.push(a),r.set(e,t)}else i.push(a)}let s=[];for(let e of a){let a=r.get(e.id);a&&s.push(...a)}return s.push(...i),s})(e.workspaces,t);let{workspaces:r,groups:i,activeWorkspaceId:s,sidebarCollapsed:o,sidebarWidth:n}=e,d=JSON.stringify({workspaces:r,groups:i??[],activeWorkspaceId:s,sidebarCollapsed:o,sidebarWidth:n});if(g.__purplemuxWorkspacesContentCache===d)return;e.updatedAt=new Date().toISOString();let u=f+".tmp";try{await a.default.writeFile(u,JSON.stringify(e,null,2),{mode:384}),await a.default.rename(u,f)}catch(e){throw await a.default.unlink(u).catch(()=>{}),e}g.__purplemuxWorkspacesContentCache=d,(0,l.broadcastSync)({type:"workspace"})},v=async()=>{let e=await (0,n.readLayoutFile)(y);if(!e)return null;let t="ws-default";await a.default.mkdir((0,n.resolveLayoutDir)(t),{recursive:!0}),await (0,n.writeLayoutFile)(e,(0,n.resolveLayoutFile)(t));let i={workspaces:[{id:t,name:"default",directories:[r.default.homedir()]}],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:e.updatedAt||new Date().toISOString()};return await b(i),c.info("Phase 4 layout.json → Workspace 'default' migration complete"),i},S=async()=>{try{let e=await a.default.readFile(k,"utf-8"),t=JSON.parse(e);if(!Array.isArray(t.tabs)||0===t.tabs.length)return null;let r=`pane-${(0,i.nanoid)(6)}`,s={root:{type:"pane",id:r,tabs:t.tabs,activeTabId:t.activeTabId??null},activePaneId:r,updatedAt:new Date().toISOString()},o=y+".tmp";try{await a.default.writeFile(o,JSON.stringify(s,null,2),{mode:384}),await a.default.rename(o,y)}catch(e){throw await a.default.unlink(o).catch(()=>{}),e}return c.info("tabs.json → layout.json migration complete"),await v()}catch{return null}},L=async()=>{await a.default.mkdir(t.default.join(w,"workspaces"),{recursive:!0});let e=await I();if(!e&&(await a.default.access(y).then(()=>!0).catch(()=>!1)?e=await v():await a.default.access(k).then(()=>!0).catch(()=>!1)&&(e=await S())),!e){let a=m();await b(a),e=a,c.info("Initial workspaces.json created")}if(0===e.workspaces.length)return;let r=await (0,s.listSessions)();for(let a of e.workspaces){let e=(0,n.resolveLayoutFile)(a.id),t=await (0,n.readLayoutFile)(e);if(!t){c.warn(`Workspace '${a.name}': layout.json corrupted, reset to default pane`),t=await (0,n.createDefaultLayout)(a.id,a.directories[0]),await (0,n.writeLayoutFile)(t,e);continue}let i=(0,d.collectAllTabs)(t.root).map(e=>e.sessionName),s=`pt-${a.id}-`,o=r.filter(e=>i.includes(e)||e.startsWith(s));try{await (0,n.crossCheckLayout)(t,o,a.id,a.directories[0])&&await (0,n.writeLayoutFile)(t,e)}catch(e){c.error(`Workspace '${a.name}': tmux consistency check failed: ${e instanceof Error?e.message:e}`)}}},F=async()=>{let e=await I();return e?{workspaces:e.workspaces,groups:e.groups??[],activeWorkspaceId:e.activeWorkspaceId,sidebarCollapsed:e.sidebarCollapsed,sidebarWidth:e.sidebarWidth}:{workspaces:[],groups:[],sidebarCollapsed:!1,sidebarWidth:220}},$=async()=>{let e=await I();return e?.activeWorkspaceId&&e.workspaces.some(a=>a.id===e.activeWorkspaceId)?e.activeWorkspaceId:e?.workspaces[0]?.id??null},C=async e=>{let a=await I();return a?.workspaces.find(a=>a.id===e)},j=async(e,t,r)=>h(async()=>{let s;try{s=await a.default.stat(e)}catch{throw Error("Directory does not exist")}if(!s.isDirectory())throw Error("Please enter a directory path, not a file");let o=await I()??m(),l=`ws-${(0,i.nanoid)(6)}`,d=t?.trim()||(e=>{let a=0;for(let t of e)if(t.name.startsWith(p)){let e=parseInt(t.name.slice(p.length),10);e>a&&(a=e)}return`${p}${a+1}`})(o.workspaces),w=await (0,n.createDefaultLayout)(l,e,r);await a.default.mkdir((0,n.resolveLayoutDir)(l),{recursive:!0}),await (0,n.writeLayoutFile)(w,(0,n.resolveLayoutFile)(l));let f={id:l,name:d,directories:[e]};return o.workspaces.push(f),await b(o),await (0,u.writeClaudePromptFile)(f),c.debug(`Created: ${l} (${d}, ${e})`),f}),D=async e=>h(async()=>{let a=await I()??m(),t=a.workspaces.findIndex(a=>a.id===e);if(-1===t)return!1;let r=a.workspaces[t],i=await (0,n.readLayoutFile)((0,n.resolveLayoutFile)(e));if(i)for(let e of(0,d.collectAllTabs)(i.root))try{await (0,s.killSession)(e.sessionName)}catch{}try{await (0,n.removeLayoutFile)(e)}catch{}return a.workspaces.splice(t,1),await b(a),c.info(`Deleted: ${e} (${r.name})`),!0}),x=async(e,a)=>h(async()=>{let t=await I();if(!t)return null;let r=t.workspaces.find(a=>a.id===e);return r?(r.name=a,await b(t),await (0,u.writeClaudePromptFile)(r),c.debug(`Renamed: ${e} → "${a}"`),{...r}):null}),A=async e=>h(async()=>{let a=await I()??m();void 0!==e.activeWorkspaceId&&(a.activeWorkspaceId=e.activeWorkspaceId),void 0!==e.sidebarCollapsed&&(a.sidebarCollapsed=e.sidebarCollapsed),void 0!==e.sidebarWidth&&(a.sidebarWidth=e.sidebarWidth),await b(a)}),_=async(e,a)=>h(async()=>{let t=await I();if(!t)return;let r=t.workspaces.find(a=>a.id===e);r&&JSON.stringify(r.directories)!==JSON.stringify(a)&&(r.directories=a,await b(t),await (0,u.writeClaudePromptFile)(r))}),O=async e=>h(async()=>{let a=await I()??m(),t=new Map(a.workspaces.map(e=>[e.id,e])),r=new Set((a.groups??[]).map(e=>e.id)),i=[];for(let a of e){let e=t.get(a.id);if(!e)return!1;void 0!==a.groupId&&(e.groupId=a.groupId&&r.has(a.groupId)?a.groupId:null),i.push(e)}return i.length===a.workspaces.length&&(a.workspaces=i,await b(a),!0)}),N=async e=>h(async()=>{let a=await I()??m(),t=W(a),r=e.trim()||`Group ${t.length+1}`,s={id:`grp-${(0,i.nanoid)(6)}`,name:r,collapsed:!1};return t.push(s),await b(a),c.debug(`Group created: ${s.id} (${s.name})`),s}),G=async(e,a)=>h(async()=>{let t=await I();if(!t)return null;let r=(t.groups??[]).find(a=>a.id===e);if(!r)return null;let i=a.trim();return i?(r.name=i,await b(t),{...r}):r}),P=async(e,a)=>h(async()=>{let t=await I();if(!t)return!1;let r=(t.groups??[]).find(a=>a.id===e);return!!r&&(r.collapsed===a||(r.collapsed=a,await b(t),!0))}),J=async e=>h(async()=>{let a=await I();if(!a)return!1;let t=W(a),r=t.findIndex(a=>a.id===e);if(-1===r)return!1;for(let t of a.workspaces)t.groupId===e&&(t.groupId=null);return t.splice(r,1),await b(a),c.info(`Group ungrouped: ${e}`),!0}),T=async e=>h(async()=>{let a=await I();if(!a)return!1;let t=W(a),r=new Map(t.map(e=>[e.id,e])),i=[];for(let a of e){let e=r.get(a);if(!e)return!1;i.push(e)}return i.length===t.length&&(a.groups=i,await b(a),!0)}),E=async(e,a)=>h(async()=>{let t=await I();if(!t)return!1;let r=t.workspaces.find(a=>a.id===e);if(!r)return!1;let i=new Set((t.groups??[]).map(e=>e.id)),s=a&&i.has(a)?a:null;return(r.groupId??null)===s||(r.groupId=s,await b(t),!0)}),M=async e=>{try{if(!(await a.default.stat(e)).isDirectory())return{valid:!1,error:"Please enter a directory path, not a file"}}catch{return{valid:!1,error:"Directory does not exist"}}return{valid:!0,suggestedName:t.default.basename(e)}};e.s(["createGroup",0,N,"createWorkspace",0,j,"deleteWorkspace",0,D,"getActiveWorkspaceId",0,$,"getWorkspaceById",0,C,"getWorkspaces",0,F,"initWorkspaceStore",0,L,"renameGroup",0,G,"renameWorkspace",0,x,"reorderGroups",0,T,"reorderWorkspaces",0,O,"setGroupCollapsed",0,P,"setWorkspaceGroup",0,E,"ungroupGroup",0,J,"updateActive",0,A,"updateWorkspaceDirectories",0,_,"validateDirectory",0,M],322429)}];
|
|
41
2
|
|
|
42
3
|
//# sourceMappingURL=src_lib_workspace-store_ts_0vqt073._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[508171,(a,b,c)=>{b.exports=a.x("react/jsx-runtime",()=>require("react/jsx-runtime"))},127669,(a,b,c)=>{b.exports=a.x("react",()=>require("react"))},908597,a=>{"use strict";a.s(["getVisuallyOrderedWorkspaces",0,(a,b)=>{let c=new Set(b.map(a=>a.id)),d=new Map,e=[];for(let b of a){let a=b.groupId??null;if(a&&c.has(a)){let c=d.get(a)??[];c.push(b),d.set(a,c)}else e.push(b)}let f=[];for(let a of b){let b=d.get(a.id);b&&f.push(...b)}return f.push(...e),f}])},986013,a=>{"use strict";let b,c;var d=a.i(666680);a.s(["nanoid",0,function(a=21){var e;e=a|=0,!b||b.length<e?(b=Buffer.allocUnsafe(128*e),d.webcrypto.getRandomValues(b),c=0):c+e>b.length&&(d.webcrypto.getRandomValues(b),c=0),c+=e;let f="";for(let d=c-a;d<c;d++)f+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&b[d]];return f}],986013)},144784,a=>{"use strict";let b=a=>"pane"===a.type?[a]:[...b(a.children[0]),...b(a.children[1])],c=(a,b)=>"pane"===a.type?a.id===b?a:null:c(a.children[0],b)||c(a.children[1],b),d=a=>"pane"===a.type?a.id:d(a.children[0]),e=a=>"pane"===a.type?a.id:e(a.children[1]),f=(a,b,c)=>"pane"===a.type?a.id===b?c:a:{...a,children:[f(a.children[0],b,c),f(a.children[1],b,c)]},g=(a,b)=>{if("pane"===a.type)return null;let[c,d]=a.children;if("pane"===c.type&&c.id===b)return d;if("pane"===d.type&&d.id===b)return c;let e=g(c,b);if(e)return{...a,children:[e,d]};let f=g(d,b);return f?{...a,children:[c,f]}:null},h=(a,b)=>{if("pane"===a.type)return null;let[c,f]=a.children;return"pane"===c.type&&c.id===b?d(f):"pane"===f.type&&f.id===b?e(c):h(c,b)||h(f,b)},i=(a,b,c)=>{if("split"!==a.type)return a;if(0===b.length)return{...a,ratio:c};let[d,...e]=b,f=[a.children[0],a.children[1]];return f[d]=i(a.children[d],e,c),{...a,children:f}},j=(a,b)=>"pane"===a.type||a.orientation!==b?1:j(a.children[0],b)+j(a.children[1],b),k=a=>{if("pane"===a.type)return!0;let b=j(a.children[0],a.orientation),c=j(a.children[1],a.orientation);return!(Math.abs(a.ratio-b/(b+c)*100)>1)&&k(a.children[0])&&k(a.children[1])},l=a=>{if("pane"===a.type)return a;let b=j(a.children[0],a.orientation),c=Math.round(b/(b+j(a.children[1],a.orientation))*1e4)/100;return{...a,ratio:c,children:[l(a.children[0]),l(a.children[1])]}},m=(a,b,c)=>{if("pane"===a.type)return a.id===b?c(a):a;let d=m(a.children[0],b,c);if(d!==a.children[0])return{...a,children:[d,a.children[1]]};let e=m(a.children[1],b,c);return e!==a.children[1]?{...a,children:[a.children[0],e]}:a};a.s(["collectAllTabs",0,a=>b(a).flatMap(a=>a.tabs),"collectPanes",0,b,"equalizeNode",0,l,"findAdjacentPaneInDirection",0,(a,b,c)=>{let f=[],g=a=>{if("pane"===a.type)return a.id===b;for(let b=0;b<2;b++){if(f.push({node:a,childIndex:b}),g(a.children[b]))return!0;f.pop()}return!1};if(!g(a))return null;let h="left"===c||"right"===c?"horizontal":"vertical",i=+("left"===c||"up"===c);for(let a=f.length-1;a>=0;a--){let{node:b,childIndex:g}=f[a];if("split"===b.type&&b.orientation===h&&g===i){let a=b.children[1-i];return"left"===c||"up"===c?e(a):d(a)}}return null},"findPane",0,c,"findResizeTarget",0,(a,b,c)=>{let d=[],e=a=>{if("pane"===a.type)return a.id===b;for(let b=0;b<2;b++){if(d.push({node:a,childIndex:b}),e(a.children[b]))return!0;d.pop()}return!1};if(!e(a))return null;let f="left"===c||"right"===c?"horizontal":"vertical",g=+("right"!==c&&"down"!==c),h="right"===c||"down"===c;for(let a=d.length-1;a>=0;a--){let{node:b,childIndex:c}=d[a];if("split"===b.type&&b.orientation===f&&c===g)return{path:d.slice(0,a).map(a=>a.childIndex),currentRatio:b.ratio,increase:h}}return null},"getFirstPaneId",0,d,"isEqualized",0,k,"removePaneWithFocus",0,(a,c)=>{let d=h(a.root,c),e=g(a.root,c);e&&(a.root=e),a.activePaneId===c&&(a.activePaneId=d??b(a.root)[0]?.id??null)},"replacePane",0,f,"updatePaneInTree",0,m,"updateRatioAtPath",0,i])},926026,a=>{"use strict";var b=a.i(130146),c=a.i(814747),d=a.i(446786);let e=c.default.join(d.default.homedir(),".purplemux","logs"),f=process.env.LOG_LEVEL||"info",g=(a=>{if(!a)return{};let b={};for(let c of a.split(",")){let[a,d]=c.split("=").map(a=>a.trim());a&&d&&(b[a]=d)}return b})(process.env.LOG_LEVELS),h=["trace","debug","info","warn","error","fatal"],i=globalThis;if(!i.__ptRootLogger){let a=[f,...Object.values(g)].reduce((a,b)=>h.indexOf(b)<h.indexOf(a)?b:a,"fatal");i.__ptRootLogger=(0,b.default)({level:a,transport:{targets:[{target:"pino-roll",level:a,options:{file:c.default.join(e,"purplemux"),frequency:"daily",dateFormat:"yyyy-MM-dd",limit:{count:7},mkdir:!0}},{target:"pino-pretty",level:a,options:{colorize:!0,ignore:"pid,hostname,module",translateTime:"HH:MM:ss",messageFormat:"[{module}] {msg}"}}]}})}let j=i.__ptRootLogger;a.s(["createLogger",0,a=>{let b=j.child({module:a});return b.level=g[a]??f,b}])},861504,357570,a=>{"use strict";let b=process.env.__PMUX_PRISTINE_ENV,c=Object.freeze(b?JSON.parse(b):{...process.env});b||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(c)),a.s(["PRISTINE_ENV",0,c],357570);let d=new Set(["HOME","USER","LOGNAME","SHELL","PATH","TERM","COLORTERM","LANG","TMPDIR","SSH_AUTH_SOCK","SSH_CONNECTION","SSH_TTY","DISPLAY","WAYLAND_DISPLAY","XDG_RUNTIME_DIR","TZ"]),e=["LC_"],f=a=>d.has(a)||e.some(b=>a.startsWith(b)),g={TERM:"xterm-256color",COLORTERM:"truecolor"},h=()=>{let a={};for(let[b,d]of Object.entries(c))void 0!==d&&f(b)&&(a[b]=d);return{...a,...g}},i=a=>`'${a.replace(/'/g,"'\\''")}'`,j=()=>c.SHELL||"/bin/bash";a.s(["buildShellEnv",0,()=>h(),"buildShellLaunchCommand",0,()=>{let a=Object.entries(h()).map(([a,b])=>`${a}=${i(b)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${a} ${i(j())} -l`},"defaultShell",0,j],861504)},859379,a=>{"use strict";var b=a.i(233405),c=a.i(924868),d=a.i(224361),e=a.i(814747);a.i(986013);var f=a.i(357570),g=a.i(861504),h=a.i(926026);process.platform;let i="linux"===process.platform,j=(0,h.createLogger)("terminal"),k=(0,d.promisify)(b.execFile),l="purple",m=e.default.join(process.env.__PMUX_APP_DIR_UNPACKED||process.env.__PMUX_APP_DIR||process.cwd(),"src","config","tmux.conf"),n=async()=>{try{let{stdout:a}=await k("tmux",["-L",l,"ls","-F","#{session_name}"],{timeout:5e3});return a.trim().split("\n").map(a=>a.trim()).filter(a=>a.startsWith("pt-"))}catch{return[]}},o=async(a,b,c,d)=>{let e=(0,g.buildShellLaunchCommand)();await k("tmux",["-u","-L",l,"-f",m,"new-session","-d","-s",a,"-x",String(b),"-y",String(c),e],{timeout:5e3,cwd:d||f.PRISTINE_ENV.HOME||"/"}),await
|
|
1
|
+
module.exports=[508171,(a,b,c)=>{b.exports=a.x("react/jsx-runtime",()=>require("react/jsx-runtime"))},127669,(a,b,c)=>{b.exports=a.x("react",()=>require("react"))},908597,a=>{"use strict";a.s(["getVisuallyOrderedWorkspaces",0,(a,b)=>{let c=new Set(b.map(a=>a.id)),d=new Map,e=[];for(let b of a){let a=b.groupId??null;if(a&&c.has(a)){let c=d.get(a)??[];c.push(b),d.set(a,c)}else e.push(b)}let f=[];for(let a of b){let b=d.get(a.id);b&&f.push(...b)}return f.push(...e),f}])},986013,a=>{"use strict";let b,c;var d=a.i(666680);a.s(["nanoid",0,function(a=21){var e;e=a|=0,!b||b.length<e?(b=Buffer.allocUnsafe(128*e),d.webcrypto.getRandomValues(b),c=0):c+e>b.length&&(d.webcrypto.getRandomValues(b),c=0),c+=e;let f="";for(let d=c-a;d<c;d++)f+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&b[d]];return f}],986013)},144784,a=>{"use strict";let b=a=>"pane"===a.type?[a]:[...b(a.children[0]),...b(a.children[1])],c=(a,b)=>"pane"===a.type?a.id===b?a:null:c(a.children[0],b)||c(a.children[1],b),d=a=>"pane"===a.type?a.id:d(a.children[0]),e=a=>"pane"===a.type?a.id:e(a.children[1]),f=(a,b,c)=>"pane"===a.type?a.id===b?c:a:{...a,children:[f(a.children[0],b,c),f(a.children[1],b,c)]},g=(a,b)=>{if("pane"===a.type)return null;let[c,d]=a.children;if("pane"===c.type&&c.id===b)return d;if("pane"===d.type&&d.id===b)return c;let e=g(c,b);if(e)return{...a,children:[e,d]};let f=g(d,b);return f?{...a,children:[c,f]}:null},h=(a,b)=>{if("pane"===a.type)return null;let[c,f]=a.children;return"pane"===c.type&&c.id===b?d(f):"pane"===f.type&&f.id===b?e(c):h(c,b)||h(f,b)},i=(a,b,c)=>{if("split"!==a.type)return a;if(0===b.length)return{...a,ratio:c};let[d,...e]=b,f=[a.children[0],a.children[1]];return f[d]=i(a.children[d],e,c),{...a,children:f}},j=(a,b)=>"pane"===a.type||a.orientation!==b?1:j(a.children[0],b)+j(a.children[1],b),k=a=>{if("pane"===a.type)return!0;let b=j(a.children[0],a.orientation),c=j(a.children[1],a.orientation);return!(Math.abs(a.ratio-b/(b+c)*100)>1)&&k(a.children[0])&&k(a.children[1])},l=a=>{if("pane"===a.type)return a;let b=j(a.children[0],a.orientation),c=Math.round(b/(b+j(a.children[1],a.orientation))*1e4)/100;return{...a,ratio:c,children:[l(a.children[0]),l(a.children[1])]}},m=(a,b,c)=>{if("pane"===a.type)return a.id===b?c(a):a;let d=m(a.children[0],b,c);if(d!==a.children[0])return{...a,children:[d,a.children[1]]};let e=m(a.children[1],b,c);return e!==a.children[1]?{...a,children:[a.children[0],e]}:a};a.s(["collectAllTabs",0,a=>b(a).flatMap(a=>a.tabs),"collectPanes",0,b,"equalizeNode",0,l,"findAdjacentPaneInDirection",0,(a,b,c)=>{let f=[],g=a=>{if("pane"===a.type)return a.id===b;for(let b=0;b<2;b++){if(f.push({node:a,childIndex:b}),g(a.children[b]))return!0;f.pop()}return!1};if(!g(a))return null;let h="left"===c||"right"===c?"horizontal":"vertical",i=+("left"===c||"up"===c);for(let a=f.length-1;a>=0;a--){let{node:b,childIndex:g}=f[a];if("split"===b.type&&b.orientation===h&&g===i){let a=b.children[1-i];return"left"===c||"up"===c?e(a):d(a)}}return null},"findPane",0,c,"findResizeTarget",0,(a,b,c)=>{let d=[],e=a=>{if("pane"===a.type)return a.id===b;for(let b=0;b<2;b++){if(d.push({node:a,childIndex:b}),e(a.children[b]))return!0;d.pop()}return!1};if(!e(a))return null;let f="left"===c||"right"===c?"horizontal":"vertical",g=+("right"!==c&&"down"!==c),h="right"===c||"down"===c;for(let a=d.length-1;a>=0;a--){let{node:b,childIndex:c}=d[a];if("split"===b.type&&b.orientation===f&&c===g)return{path:d.slice(0,a).map(a=>a.childIndex),currentRatio:b.ratio,increase:h}}return null},"getFirstPaneId",0,d,"isEqualized",0,k,"removePaneWithFocus",0,(a,c)=>{let d=h(a.root,c),e=g(a.root,c);e&&(a.root=e),a.activePaneId===c&&(a.activePaneId=d??b(a.root)[0]?.id??null)},"replacePane",0,f,"updatePaneInTree",0,m,"updateRatioAtPath",0,i])},926026,a=>{"use strict";var b=a.i(130146),c=a.i(814747),d=a.i(446786);let e=c.default.join(d.default.homedir(),".purplemux","logs"),f=process.env.LOG_LEVEL||"info",g=(a=>{if(!a)return{};let b={};for(let c of a.split(",")){let[a,d]=c.split("=").map(a=>a.trim());a&&d&&(b[a]=d)}return b})(process.env.LOG_LEVELS),h=["trace","debug","info","warn","error","fatal"],i=globalThis;if(!i.__ptRootLogger){let a=[f,...Object.values(g)].reduce((a,b)=>h.indexOf(b)<h.indexOf(a)?b:a,"fatal");i.__ptRootLogger=(0,b.default)({level:a,transport:{targets:[{target:"pino-roll",level:a,options:{file:c.default.join(e,"purplemux"),frequency:"daily",dateFormat:"yyyy-MM-dd",limit:{count:7},mkdir:!0}},{target:"pino-pretty",level:a,options:{colorize:!0,ignore:"pid,hostname,module",translateTime:"HH:MM:ss",messageFormat:"[{module}] {msg}"}}]}})}let j=i.__ptRootLogger;a.s(["createLogger",0,a=>{let b=j.child({module:a});return b.level=g[a]??f,b}])},861504,357570,a=>{"use strict";let b=process.env.__PMUX_PRISTINE_ENV,c=Object.freeze(b?JSON.parse(b):{...process.env});b||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(c)),a.s(["PRISTINE_ENV",0,c],357570);let d=new Set(["HOME","USER","LOGNAME","SHELL","PATH","TERM","COLORTERM","LANG","TMPDIR","SSH_AUTH_SOCK","SSH_CONNECTION","SSH_TTY","DISPLAY","WAYLAND_DISPLAY","XDG_RUNTIME_DIR","TZ"]),e=["LC_"],f=a=>d.has(a)||e.some(b=>a.startsWith(b)),g={TERM:"xterm-256color",COLORTERM:"truecolor"},h=()=>{let a={};for(let[b,d]of Object.entries(c))void 0!==d&&f(b)&&(a[b]=d);return{...a,...g}},i=a=>`'${a.replace(/'/g,"'\\''")}'`,j=()=>c.SHELL||"/bin/bash";a.s(["buildShellEnv",0,()=>h(),"buildShellLaunchCommand",0,()=>{let a=Object.entries(h()).map(([a,b])=>`${a}=${i(b)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${a} ${i(j())} -l`},"defaultShell",0,j],861504)},859379,a=>{"use strict";var b=a.i(233405),c=a.i(924868),d=a.i(224361),e=a.i(814747);a.i(986013);var f=a.i(357570),g=a.i(861504),h=a.i(926026);process.platform;let i="linux"===process.platform,j=(0,h.createLogger)("terminal"),k=(0,d.promisify)(b.execFile),l="purple",m=e.default.join(process.env.__PMUX_APP_DIR_UNPACKED||process.env.__PMUX_APP_DIR||process.cwd(),"src","config","tmux.conf"),n=async()=>{try{let{stdout:a}=await k("tmux",["-L",l,"ls","-F","#{session_name}"],{timeout:5e3});return a.trim().split("\n").map(a=>a.trim()).filter(a=>a.startsWith("pt-"))}catch{return[]}},o=async(a,b,c,d)=>{let e=(0,g.buildShellLaunchCommand)();await k("tmux",["-u","-L",l,"-f",m,"new-session","-d","-s",a,"-x",String(b),"-y",String(c),e],{timeout:5e3,cwd:d||f.PRISTINE_ENV.HOME||"/"}),await w(),j.debug(`tmux session created: ${a} (cols: ${b}, rows: ${c})`)},p=a=>new Promise(b=>setTimeout(b,a)),q=async a=>{if(!await s(a))return;j.debug(`killSession start: ${a}`);let b=await v(a);if(b)try{j.debug(`SIGTERM → process group ${b}: ${a}`),process.kill(-b,"SIGTERM")}catch{}try{await k("tmux",["-L",l,"kill-session","-t",a],{timeout:5e3})}catch{}for(let b=0;b<5;b++){if(!await s(a))return void j.debug(`killSession done (SIGTERM): ${a}`);await p(200)}if(j.warn(`session survived SIGTERM, escalating to SIGKILL: ${a}`),b)try{j.debug(`SIGKILL → process group ${b}: ${a}`),process.kill(-b,"SIGKILL")}catch{}try{await k("tmux",["-L",l,"kill-session","-t",a],{timeout:5e3})}catch{}for(let b=0;b<3;b++){if(!await s(a))return void j.debug(`killSession done (SIGKILL): ${a}`);await p(200)}j.warn(`tmux session still alive after kill: ${a}`)},r=async a=>{let b=f.PRISTINE_ENV.HOME||"/";if(!a)return b;let d=a;for(;;){try{if((await c.default.stat(d)).isDirectory())return d}catch{}let a=e.default.dirname(d);if(a===d)return b;d=a}},s=async a=>{try{return await k("tmux",["-L",l,"has-session","-t",a],{timeout:5e3}),!0}catch{return!1}},t=async a=>{if(i)try{return await c.default.readlink(`/proc/${a}/cwd`)}catch{return null}try{let{stdout:b}=await k("lsof",["-a","-p",String(a),"-d","cwd","-Fn"],{timeout:5e3}),c=b.split("\n").find(a=>a.startsWith("n/"));return c?c.slice(1):null}catch{return null}},u=async a=>{let b=await v(a);if(b){let a=await t(b);if(a)return a}try{let{stdout:b}=await k("tmux",["-L",l,"display-message","-p","-t",a,"#{pane_current_path}"],{timeout:5e3});return b.trim()||null}catch{return null}},v=async a=>{try{let{stdout:b}=await k("tmux",["-L",l,"display-message","-p","-t",a,"#{pane_pid}"],{timeout:5e3}),c=parseInt(b.trim(),10);return Number.isNaN(c)?null:c}catch{return null}},w=async()=>{try{await k("tmux",["-L",l,"source-file",m],{timeout:5e3})}catch{}},x=async a=>{try{let{stdout:b}=await k("tmux",["-L",l,"list-panes","-t",a,"-F","#{pane_current_command}"],{timeout:5e3});return b.trim()||null}catch{return null}},y=async a=>{await k("tmux",["-L",l,"copy-mode","-q","-t",a],{timeout:5e3}).catch(()=>{})},z=async(a,b)=>{await y(a),await k("tmux",["-L",l,"send-keys","-t",a,b,"Enter"],{timeout:5e3})};a.s(["createSession",0,o,"getPaneCurrentCommand",0,x,"getSessionCwd",0,u,"hasSession",0,s,"killSession",0,q,"listSessions",0,n,"resolveExistingDir",0,r,"sendKeys",0,z,"workspaceSessionName",0,(a,b,c)=>`pt-${a}-${b}-${c}`],859379)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0t9ru13._.js.map
|