purplemux 0.2.1 → 0.2.3
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 +90 -90
- 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 +51 -7
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0t1c-6w._.js → [root-of-the-server]__016s4a9._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05ij_ys._.js +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0cjfc~l._.js → [root-of-the-server]__06h3gzy._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__08tdlcm._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0qda0wx._.js → [root-of-the-server]__0_fu3k.._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0pv48rv._.js → [root-of-the-server]__0_imm_0._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ef59mr._.js → [root-of-the-server]__0abp0lo._.js} +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0auutl5._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bo-su1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bocpgx._.js +30 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c-bb5d._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dt2efu._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0zjping._.js → [root-of-the-server]__0g8mjyh._.js} +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ihlt6s._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__045g9-a._.js → [root-of-the-server]__0lk7ru8._.js} +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l~_wd0._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__04o.cbq._.js → [root-of-the-server]__0m99ffd._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0hzysmw._.js → [root-of-the-server]__0q8lffz._.js} +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vjtjtc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0x_e0yw._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0t7wqt6._.js → [root-of-the-server]__10h2vlr._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__11iyaqz._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__11j9~6h._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__00yjayf._.js → [root-of-the-server]__121-6-e._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__12ksl6n._.js +2 -2
- package/.next/standalone/.next/server/chunks/{_0out7wm._.js → _0-mgr1c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_0.5a4bu._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_06vitke._.js → _03-duro._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_05-8rnc._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_0d415er._.js → _07097f~._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_0st-_d~._.js → _0jzxge9._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_0xmsr59._.js → _0ll-5~7._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_0mhomq~._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_0.hbe-v._.js → _0pk0hms._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_0qm27ix._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_0_1vqqb._.js → _0v81st0._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_0vgpyhz._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_1368r9s._.js → _0w0qjyh._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_0wok5xu._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_0tumyht._.js → _0wu6uxd._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_05otee~._.js → _0z7d6.z._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_0c63jma._.js → _0zf5mig._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{_0mnwbyo._.js → _0~~9-pj._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{src_lib_136edwc._.js → src_lib_0p.xsqi._.js} +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_layout-store_ts_0fanx7c._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_session-parser_ts_0~rhicw._.js +3 -3
- package/.next/standalone/.next/server/chunks/src_lib_workspace-store_ts_0vqt073._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0da5cj~._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0glt298._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0hwcydd._.js → [root-of-the-server]__0grkevn._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t9ru13._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12b2-y_._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0-ug5tr._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_00rrt71._.js → _016o9_-._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0y5jzd3._.js → _020f2r.._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0_c~3id._.js → _02jzd5g._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_04iqb-o._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0sfctwm._.js → _04q3_kj._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_08h9ynz._.js → _058y~nz._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0_soefg._.js → _0a_u5qm._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_00ehnd~._.js → _0c1yivm._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0kno-5w._.js → _0d58w1~._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0rxhzwm._.js → _0ftinmo._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0h4kenr._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0z61aq-._.js → _0ihbr8k._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0js4l3t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0nib_x8._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0nuztht._.js +18 -0
- package/.next/standalone/.next/server/chunks/ssr/_0nvs1~o._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0oca87b._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0ovjjn5._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0lnui2f._.js → _0ozy~xe._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0pg-q18._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0svke5s._.js → _0pk4~_0._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0qt-m3l._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0w.1ts8._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0w1phzp._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0w6jc9p._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_101yu0w._.js +18 -0
- package/.next/standalone/.next/server/chunks/ssr/_13c-b~p._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_13lrp9_._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{messages_046iw4z._.js → messages_02eoowy._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{messages_0zr0cc7._.js → messages_0hmq5dp._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_de_diff_json_[json]_cjs_0w6blyy._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_de_settings_json_[json]_cjs_0ksu4_w._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_de_sidebar_json_[json]_cjs_0loc-1-._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_de_workspace_json_[json]_cjs_0g7nkdq._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_en_diff_json_[json]_cjs_0z34_dc._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_en_settings_json_[json]_cjs_0qwl-zt._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_en_sidebar_json_[json]_cjs_0un0e3f._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_en_workspace_json_[json]_cjs_0m9rzyy._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_es_diff_json_[json]_cjs_0kheix4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_es_settings_json_[json]_cjs_0ce_kv6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_es_sidebar_json_[json]_cjs_080u46~._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_es_workspace_json_[json]_cjs_0xf0_50._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_fr_diff_json_[json]_cjs_11vxoy5._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_fr_settings_json_[json]_cjs_0h_6lba._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_fr_sidebar_json_[json]_cjs_05y8v8h._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_fr_workspace_json_[json]_cjs_0h88f-g._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ja_diff_json_[json]_cjs_0t~9dro._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ja_settings_json_[json]_cjs_0pg~fls._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ja_sidebar_json_[json]_cjs_0i0x8w9._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ja_workspace_json_[json]_cjs_03dlzmi._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ko_diff_json_[json]_cjs_0cw7xj1._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ko_settings_json_[json]_cjs_07xpfc8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ko_sidebar_json_[json]_cjs_0mql5dv._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ko_workspace_json_[json]_cjs_0frxg.r._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_diff_json_[json]_cjs_0vc-p7n._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_settings_json_[json]_cjs_0frspzp._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_sidebar_json_[json]_cjs_07h4b1q._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_workspace_json_[json]_cjs_0lahru2._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ru_diff_json_[json]_cjs_07na~n8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ru_settings_json_[json]_cjs_08ex00.._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ru_sidebar_json_[json]_cjs_0aksrjo._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_ru_workspace_json_[json]_cjs_0wm5nhc._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_tr_diff_json_[json]_cjs_0a00gr_._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_tr_settings_json_[json]_cjs_0piu0da._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_tr_sidebar_json_[json]_cjs_0yj47nu._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_tr_workspace_json_[json]_cjs_0wygfyf._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_diff_json_[json]_cjs_0b01x_1._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_settings_json_[json]_cjs_0uazwgy._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_sidebar_json_[json]_cjs_0yzmolg._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_workspace_json_[json]_cjs_0h3v0-e._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_diff_json_[json]_cjs_088r89k._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_settings_json_[json]_cjs_09u0c5l._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_sidebar_json_[json]_cjs_0pnu~0h._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_workspace_json_[json]_cjs_0ymw5wz._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_02oar3h._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0_2gaq0._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0bbmd88._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0ydhwnx._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_1294wzs._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_components_0rs9yzr._.js → src_components_0_aiven._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_components_0cflin8._.js → src_components_0geizrr._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_components_0g.s~e7._.js → src_components_11_1i~k._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_components_0jrj_vu._.js → src_components_12mrirb._.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_components_ui_input_tsx_0pgha5u._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_use-browser-title_ts_0bw6.cb._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_use-workspace-store_ts_0h40e5c._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_lib_workspace-store_ts_00x-rec._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +90 -90
- package/.next/standalone/.next/server/pages/_app/build-manifest.json +9 -8
- package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/_app.js +6 -6
- 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.js +6 -6
- package/.next/standalone/.next/server/pages/_error.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 +1 -1
- package/.next/standalone/.next/server/pages/api/cli/workspaces.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/git/sync/pages-manifest.json +3 -0
- package/.next/standalone/.next/server/pages/api/git/sync.js +5 -0
- package/.next/standalone/.next/server/pages/api/git/sync.js.map +5 -0
- package/.next/standalone/.next/server/pages/api/git/sync.js.nft.json +1 -0
- package/.next/standalone/.next/server/pages/api/layout/commit-diff/pages-manifest.json +3 -0
- package/.next/standalone/.next/server/pages/api/layout/commit-diff.js +5 -0
- package/.next/standalone/.next/server/pages/api/layout/commit-diff.js.map +5 -0
- package/.next/standalone/.next/server/pages/api/layout/commit-diff.js.nft.json +1 -0
- package/.next/standalone/.next/server/pages/api/layout/file-content/pages-manifest.json +3 -0
- package/.next/standalone/.next/server/pages/api/layout/file-content.js +5 -0
- package/.next/standalone/.next/server/pages/api/layout/file-content.js.map +5 -0
- package/.next/standalone/.next/server/pages/api/layout/file-content.js.nft.json +1 -0
- package/.next/standalone/.next/server/pages/api/layout/git-log/pages-manifest.json +3 -0
- package/.next/standalone/.next/server/pages/api/layout/git-log.js +5 -0
- package/.next/standalone/.next/server/pages/api/layout/git-log.js.map +5 -0
- package/.next/standalone/.next/server/pages/api/layout/git-log.js.nft.json +1 -0
- 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 +3 -3
- 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 +3 -3
- 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 +1 -1
- package/.next/standalone/.next/server/pages/api/message-history.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/push/vapid-key.js +1 -1
- package/.next/standalone/.next/server/pages/api/push/vapid-key.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js +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 +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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/pages/api/stats/projects.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/stats/sessions.js +2 -2
- package/.next/standalone/.next/server/pages/api/stats/sessions.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/stats/uptime.js +2 -2
- package/.next/standalone/.next/server/pages/api/stats/uptime.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/status/hook.js +3 -3
- package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/status/statusline.js +5 -5
- package/.next/standalone/.next/server/pages/api/status/statusline.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/permission-options.js +1 -1
- package/.next/standalone/.next/server/pages/api/tmux/permission-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 +3 -3
- 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]/pages-manifest.json +3 -0
- package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js +8 -0
- package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js.map +5 -0
- package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js.nft.json +1 -0
- package/.next/standalone/.next/server/pages/api/workspace/group/pages-manifest.json +3 -0
- package/.next/standalone/.next/server/pages/api/workspace/group/reorder/pages-manifest.json +3 -0
- package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js +8 -0
- package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js.map +5 -0
- package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js.nft.json +1 -0
- package/.next/standalone/.next/server/pages/api/workspace/group.js +8 -0
- package/.next/standalone/.next/server/pages/api/workspace/group.js.map +5 -0
- package/.next/standalone/.next/server/pages/api/workspace/group.js.nft.json +1 -0
- 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 +4 -4
- 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 +17 -17
- package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +8 -10
- package/.next/standalone/.next/server/pages/index.js +18 -18
- 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 +9 -10
- package/.next/standalone/.next/server/pages/login/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/login.js +12 -12
- 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 +17 -17
- package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/reports.js +18 -18
- package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/reset.js +7 -7
- 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 +16 -16
- package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/stats.js +19 -19
- package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
- package/.next/standalone/.next/server/pages/tools-required/build-manifest.json +3 -3
- package/.next/standalone/.next/server/pages/tools-required/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/tools-required.js +8 -8
- 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 +16 -16
- package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/webview.js +20 -20
- 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/server/pages-manifest.json +7 -0
- package/.next/standalone/.next/static/{gVdGG0_U0ysjrgmO5yh0M → X7BRO7ORR4bKFt1LXzGU8}/_buildManifest.js +13 -6
- package/.next/standalone/.next/static/chunks/0-7en.d6a3jki.js +1 -0
- package/.next/standalone/.next/static/chunks/0-p.9vdmq-_co.js +13 -0
- package/.next/standalone/.next/static/chunks/0-pm5wxsyxs3e.js +1 -0
- package/.next/standalone/.next/static/chunks/00ljvc.i_9p~6.js +1 -0
- package/.next/standalone/.next/static/chunks/01raz3nv-e~~d.js +1 -0
- package/.next/standalone/.next/static/chunks/01ul8lmr04ls3.js +1 -0
- package/.next/standalone/.next/static/chunks/024gkwka6p59k.js +1 -0
- package/.next/standalone/.next/static/chunks/{0.ecwkadp7-hq.js → 034_utxy1sujb.js} +1 -1
- package/.next/standalone/.next/static/chunks/038h8wl_~fi3u.js +1 -0
- package/.next/standalone/.next/static/chunks/038s7u_er9zkt.js +1 -0
- package/.next/standalone/.next/static/chunks/03ljx9csfmrpn.js +1 -0
- package/.next/standalone/.next/static/chunks/03sj62c3p8g11.js +1 -0
- package/.next/standalone/.next/static/chunks/{17l496oycdhjx.js → 03vck__37a5cl.js} +1 -1
- package/.next/standalone/.next/static/chunks/05b7zy0n0vhms.js +1 -0
- package/.next/standalone/.next/static/chunks/05kshd9vdrl4o.js +1 -0
- package/.next/standalone/.next/static/chunks/{0w_03xk_xkc5a.js → 05kyduw8swd_h.js} +1 -1
- package/.next/standalone/.next/static/chunks/05w~qu2zpvh2f.js +1 -0
- package/.next/standalone/.next/static/chunks/05zne4hn1v65k.js +24 -0
- package/.next/standalone/.next/static/chunks/06vobum5720oa.js +1 -0
- package/.next/standalone/.next/static/chunks/06vxx-4w.uvj0.js +23 -0
- package/.next/standalone/.next/static/chunks/06zq-2isv5vn6.js +1 -0
- package/.next/standalone/.next/static/chunks/{0fotmrplo6yc7.js → 07.5h~7~q9~1e.js} +1 -1
- package/.next/standalone/.next/static/chunks/071hdd91oy~.7.js +1 -0
- package/.next/standalone/.next/static/chunks/08e5.t4gotxaw.js +1 -0
- package/.next/standalone/.next/static/chunks/{0v6__.cfcitpl.js → 08qhrobub25u0.js} +1 -1
- package/.next/standalone/.next/static/chunks/08ttt2~ok56v6.js +1 -0
- package/.next/standalone/.next/static/chunks/{11wdicoufd516.js → 094_-.5.ue3p4.js} +1 -1
- package/.next/standalone/.next/static/chunks/09qd4fo1rz3it.js +1 -0
- package/.next/standalone/.next/static/chunks/09sf~1tyznv2b.js +1 -0
- package/.next/standalone/.next/static/chunks/09x4be2pfe6z0.js +1 -0
- package/.next/standalone/.next/static/chunks/0a7eicps6hbl6.js +1 -0
- package/.next/standalone/.next/static/chunks/{0i2uqmry6cyl_.js → 0c2_tqkbyti3h.js} +1 -1
- package/.next/standalone/.next/static/chunks/0di4o-khzv2gt.js +1 -0
- package/.next/standalone/.next/static/chunks/0e20ujygcf3hc.js +1 -0
- package/.next/standalone/.next/static/chunks/0e5t3kx~_brfk.js +1 -0
- package/.next/standalone/.next/static/chunks/0ebjicjua7yl-.js +1 -0
- package/.next/standalone/.next/static/chunks/0evu-825nnqef.js +1 -0
- package/.next/standalone/.next/static/chunks/0f.5lthmbt~yc.js +1 -0
- package/.next/standalone/.next/static/chunks/0gr4lznv-6qml.js +1 -0
- package/.next/standalone/.next/static/chunks/0hl3ccityypgx.js +1 -0
- package/.next/standalone/.next/static/chunks/0hzis~e79cnwi.js +1 -0
- package/.next/standalone/.next/static/chunks/0j.sfmmqj2xel.js +23 -0
- package/.next/standalone/.next/static/chunks/0jkvb4hgqlgxk.js +1 -0
- package/.next/standalone/.next/static/chunks/0k2_zze3o98ow.js +1 -0
- package/.next/standalone/.next/static/chunks/0kaufevqdhsld.js +1 -0
- package/.next/standalone/.next/static/chunks/0mvvym~9uf429.js +1 -0
- package/.next/standalone/.next/static/chunks/0n2k1al4sr_qq.css +1 -0
- package/.next/standalone/.next/static/chunks/0n4fv8.loh_0x.js +1 -0
- package/.next/standalone/.next/static/chunks/0nn618je7_7ec.js +16 -0
- package/.next/standalone/.next/static/chunks/{0pb15t~lqcp4y.js → 0oh5xnzizgxt1.js} +1 -1
- package/.next/standalone/.next/static/chunks/0po8l-8pns0vb.js +1 -0
- package/.next/standalone/.next/static/chunks/0pv9~yath4mjh.js +1 -0
- package/.next/standalone/.next/static/chunks/0q0yh17_ncipj.js +1 -0
- package/.next/standalone/.next/static/chunks/0q9nn4yuva4jl.js +1 -0
- package/.next/standalone/.next/static/chunks/0qkrdmhiv-0d3.js +1 -0
- package/.next/standalone/.next/static/chunks/{14xlpbx6dj_4i.js → 0r9z55-r31en8.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0efkrks2gm27v.js → 0ra09kjja5rf..js} +1 -1
- package/.next/standalone/.next/static/chunks/0reai1zdu.khx.js +1 -0
- package/.next/standalone/.next/static/chunks/0sc7tkg1gojr..js +1 -0
- package/.next/standalone/.next/static/chunks/0szl_dovu0hgw.js +1 -0
- package/.next/standalone/.next/static/chunks/{0axhnd2vw3m5e.js → 0t-o-jwf0~-b5.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0ml5~2ty-rbv_.js → 0t5w4x7owhfbe.js} +1 -1
- package/.next/standalone/.next/static/chunks/{02mfn213kze9c.js → 0te1jnz5.rt.r.js} +3 -3
- package/.next/standalone/.next/static/chunks/{0jxk8j~j30thp.js → 0u9yrtrs1bktp.js} +1 -1
- package/.next/standalone/.next/static/chunks/0uhkmh73bi.8w.js +1 -0
- package/.next/standalone/.next/static/chunks/0v6zafwjb5kk6.js +1 -0
- package/.next/standalone/.next/static/chunks/0vvqh.pfm9jum.js +1 -0
- package/.next/standalone/.next/static/chunks/0w6_q_4rzxy6l.js +1 -0
- package/.next/standalone/.next/static/chunks/0wjrfyntnywn5.js +1 -0
- package/.next/standalone/.next/static/chunks/0wvu-lowt9uem.js +1 -0
- package/.next/standalone/.next/static/chunks/0x.dxrfqc.ix9.js +16 -0
- package/.next/standalone/.next/static/chunks/0xvbx6ob2wnco.js +1 -0
- package/.next/standalone/.next/static/chunks/0yd3l8p2m9-c_.js +1 -0
- package/.next/standalone/.next/static/chunks/0ynitrrzdxcnh.js +15 -0
- package/.next/standalone/.next/static/chunks/0z_~g~mb.kjs1.js +1 -0
- package/.next/standalone/.next/static/chunks/0~nexgc77r_hk.js +23 -0
- package/.next/standalone/.next/static/chunks/{0afll97o4hu39.js → 0~ts_4hi7.u_0.js} +1 -1
- package/.next/standalone/.next/static/chunks/105sb_yg7fcpu.js +1 -0
- package/.next/standalone/.next/static/chunks/107edt81z_gzy.css +3 -0
- package/.next/standalone/.next/static/chunks/{0a0wcelktujjt.js → 119t_hwpxj_ko.js} +1 -1
- package/.next/standalone/.next/static/chunks/{128d.rbx4e4rt.js → 121i8u8byuotx.js} +1 -1
- package/.next/standalone/.next/static/chunks/13_l03e3sab-g.js +1 -0
- package/.next/standalone/.next/static/chunks/13~.y-z7wud.h.js +1 -0
- package/.next/standalone/.next/static/chunks/140j4evqxtxmn.js +1 -0
- package/.next/standalone/.next/static/chunks/142km8a40ar5o.js +1 -0
- package/.next/standalone/.next/static/chunks/149sb_-h03mxq.js +1 -0
- package/.next/standalone/.next/static/chunks/156~ejmpjxu8e.js +1 -0
- package/.next/standalone/.next/static/chunks/169ui~u~dpalg.js +1 -0
- package/.next/standalone/.next/static/chunks/16bag6z7n~ffw.js +1 -0
- package/.next/standalone/.next/static/chunks/171_ek.xwzobw.js +1 -0
- package/.next/standalone/.next/static/chunks/179zldqdb4pm2.js +1 -0
- package/.next/standalone/.next/static/chunks/{turbopack-0hwi_g-tegs_u.js → turbopack-0d-xk62f1t05v.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-0yi-pm9y8p4fu.js → turbopack-0nn9kx.dkgwqs.js} +1 -1
- package/.next/standalone/.next/static/chunks/turbopack-0rb3q18bhb2hu.js +1 -0
- package/.next/standalone/.next/static/chunks/turbopack-0zcblahe.hdqd.js +1 -0
- package/.next/standalone/.next/static/chunks/{turbopack-06kgnfn.-xny..js → turbopack-0~wmco6ifn20m.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-104j33xbofdmk.js → turbopack-1469mxaruw82d.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-08ayk-1mt1q-w.js → turbopack-15bv~a4hbvh29.js} +1 -1
- package/.next/standalone/messages/de/diff.json +26 -1
- package/.next/standalone/messages/de/settings.json +3 -1
- package/.next/standalone/messages/de/sidebar.json +10 -1
- package/.next/standalone/messages/de/workspace.json +2 -0
- package/.next/standalone/messages/en/diff.json +26 -1
- package/.next/standalone/messages/en/settings.json +3 -1
- package/.next/standalone/messages/en/sidebar.json +10 -1
- package/.next/standalone/messages/en/workspace.json +2 -0
- package/.next/standalone/messages/es/diff.json +26 -1
- package/.next/standalone/messages/es/settings.json +3 -1
- package/.next/standalone/messages/es/sidebar.json +10 -1
- package/.next/standalone/messages/es/workspace.json +2 -0
- package/.next/standalone/messages/fr/diff.json +26 -1
- package/.next/standalone/messages/fr/settings.json +3 -1
- package/.next/standalone/messages/fr/sidebar.json +10 -1
- package/.next/standalone/messages/fr/workspace.json +2 -0
- package/.next/standalone/messages/ja/diff.json +26 -1
- package/.next/standalone/messages/ja/settings.json +3 -1
- package/.next/standalone/messages/ja/sidebar.json +10 -1
- package/.next/standalone/messages/ja/workspace.json +2 -0
- package/.next/standalone/messages/ko/diff.json +26 -1
- package/.next/standalone/messages/ko/settings.json +3 -1
- package/.next/standalone/messages/ko/sidebar.json +10 -1
- package/.next/standalone/messages/ko/workspace.json +2 -0
- package/.next/standalone/messages/pt-BR/diff.json +26 -1
- package/.next/standalone/messages/pt-BR/settings.json +3 -1
- package/.next/standalone/messages/pt-BR/sidebar.json +10 -1
- package/.next/standalone/messages/pt-BR/workspace.json +2 -0
- package/.next/standalone/messages/ru/diff.json +26 -1
- package/.next/standalone/messages/ru/settings.json +3 -1
- package/.next/standalone/messages/ru/sidebar.json +10 -1
- package/.next/standalone/messages/ru/workspace.json +2 -0
- package/.next/standalone/messages/tr/diff.json +26 -1
- package/.next/standalone/messages/tr/settings.json +3 -1
- package/.next/standalone/messages/tr/sidebar.json +10 -1
- package/.next/standalone/messages/tr/workspace.json +2 -0
- package/.next/standalone/messages/zh-CN/diff.json +26 -1
- package/.next/standalone/messages/zh-CN/settings.json +3 -1
- package/.next/standalone/messages/zh-CN/sidebar.json +10 -1
- package/.next/standalone/messages/zh-CN/workspace.json +2 -0
- package/.next/standalone/messages/zh-TW/diff.json +26 -1
- package/.next/standalone/messages/zh-TW/settings.json +3 -1
- package/.next/standalone/messages/zh-TW/sidebar.json +10 -1
- package/.next/standalone/messages/zh-TW/workspace.json +2 -0
- package/.next/standalone/package.json +4 -3
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/pages/api/layout/commit-diff.ts +94 -0
- package/.next/standalone/src/pages/api/layout/cwd.ts +38 -0
- package/.next/standalone/src/pages/api/layout/diff.ts +196 -0
- package/.next/standalone/src/pages/api/layout/file-content.ts +130 -0
- package/.next/standalone/src/pages/api/layout/git-log.ts +55 -0
- package/.next/standalone/src/pages/api/layout/index.ts +38 -0
- package/.next/standalone/src/pages/api/layout/pane/[paneId]/index.ts +38 -0
- package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/[tabId]/index.ts +94 -0
- package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.ts +31 -0
- package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/index.ts +66 -0
- package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/order.ts +30 -0
- package/.next/standalone/src/pages/api/layout/pane/index.ts +38 -0
- package/dist/server.js +326 -12
- package/package.json +4 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0n61.a8._.js +0 -30
- package/.next/standalone/.next/server/chunks/_04pfden._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0e8e4zn._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0isokfh._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0j2u-od._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0t8j4qd._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0uxocm.._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0xd1ivw._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07i-oza._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0au.ssp._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0c0bz7t._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0-67bvb._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_02nf4d7._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_05dcjwi._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_06yggfn._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0_owbnq._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0al4.z9._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0dg4_bi._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0gp1meg._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0hqzsa8._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0iy5a-w._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/_0nkeoiw._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0ob2rr-._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0qbbxeq._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/_0ulmx3c._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0wlh.pc._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0~.theb._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_11rnj4l._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_124p60s._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0kc8lix._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_react_esm_03v8q-a._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_react_esm_0wddb~n._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_highlight_js_lib_core_0h1yngz.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_message-namespaces_ts_0wjpvu5._.js +0 -3
- package/.next/standalone/.next/static/chunks/0-8-cf3vuob~..js +0 -1
- package/.next/standalone/.next/static/chunks/0-97ruc25d2lz.js +0 -1
- package/.next/standalone/.next/static/chunks/0-xrsiia9hc.c.js +0 -1
- package/.next/standalone/.next/static/chunks/00g7isu_5s43..js +0 -1
- package/.next/standalone/.next/static/chunks/00nx1s6rpu537.js +0 -1
- package/.next/standalone/.next/static/chunks/00s-0sui~_24w.js +0 -1
- package/.next/standalone/.next/static/chunks/01-fb9rb-21.a.js +0 -1
- package/.next/standalone/.next/static/chunks/02dumv8n.ewiw.js +0 -1
- package/.next/standalone/.next/static/chunks/02r-a1_lz7fuk.js +0 -1
- package/.next/standalone/.next/static/chunks/03eaekq6omt65.js +0 -1
- package/.next/standalone/.next/static/chunks/04~p~.qz9diil.js +0 -1
- package/.next/standalone/.next/static/chunks/05_e09pgcymkh.js +0 -1
- package/.next/standalone/.next/static/chunks/05i5jeaz~7tg6.js +0 -1
- package/.next/standalone/.next/static/chunks/05y90.zbqijkv.js +0 -1
- package/.next/standalone/.next/static/chunks/06e51nokt~dtt.js +0 -1
- package/.next/standalone/.next/static/chunks/07-xm--o034du.js +0 -1
- package/.next/standalone/.next/static/chunks/072ccw0gkueqq.js +0 -1
- package/.next/standalone/.next/static/chunks/07i6~xrmgspp8.js +0 -1
- package/.next/standalone/.next/static/chunks/07rq~qv9ldwo~.js +0 -1
- package/.next/standalone/.next/static/chunks/08ip~fc41h84_.js +0 -24
- package/.next/standalone/.next/static/chunks/08vvx8xtxwt5o.js +0 -1
- package/.next/standalone/.next/static/chunks/09agwg~-xbxbs.js +0 -1
- package/.next/standalone/.next/static/chunks/0a1hi9y0lwv3j.js +0 -1
- package/.next/standalone/.next/static/chunks/0aizxgkga9-f..js +0 -5
- package/.next/standalone/.next/static/chunks/0ajkjqq1xc_.a.js +0 -1
- package/.next/standalone/.next/static/chunks/0chjvj73yfmoj.js +0 -1
- package/.next/standalone/.next/static/chunks/0d4vi6-ju6lha.js +0 -1
- package/.next/standalone/.next/static/chunks/0daflfjkvkh-d.js +0 -1
- package/.next/standalone/.next/static/chunks/0dl23f6c62aoa.js +0 -23
- package/.next/standalone/.next/static/chunks/0dqb3atw-kpb2.js +0 -1
- package/.next/standalone/.next/static/chunks/0fuay9akccsr9.js +0 -1
- package/.next/standalone/.next/static/chunks/0fwnzw~qq_abm.js +0 -1
- package/.next/standalone/.next/static/chunks/0h-7ntqpip4oi.js +0 -1
- package/.next/standalone/.next/static/chunks/0idah_uu8ylro.js +0 -1
- package/.next/standalone/.next/static/chunks/0ilhql60o6txw.js +0 -23
- package/.next/standalone/.next/static/chunks/0iw7xjsfo1v-u.js +0 -16
- package/.next/standalone/.next/static/chunks/0jj7ska-q4zmb.js +0 -1
- package/.next/standalone/.next/static/chunks/0k50-hp08.xtp.js +0 -1
- package/.next/standalone/.next/static/chunks/0n1xl_9xb64~a.js +0 -1
- package/.next/standalone/.next/static/chunks/0nh~2y4pr-6b-.js +0 -1
- package/.next/standalone/.next/static/chunks/0nyar-7g9rya6.js +0 -1
- package/.next/standalone/.next/static/chunks/0o_yi7-4-ckig.js +0 -1
- package/.next/standalone/.next/static/chunks/0otoymu09sgml.js +0 -1
- package/.next/standalone/.next/static/chunks/0oxlivdn8c89b.js +0 -1
- package/.next/standalone/.next/static/chunks/0plurywt71.qj.js +0 -1
- package/.next/standalone/.next/static/chunks/0r7uk81oh650e.js +0 -1
- package/.next/standalone/.next/static/chunks/0ro78lxc~ndn_.js +0 -1
- package/.next/standalone/.next/static/chunks/0t_38o03_pjwq.js +0 -1
- package/.next/standalone/.next/static/chunks/0tq53zgriddtp.js +0 -1
- package/.next/standalone/.next/static/chunks/0u9~wuf2zbs5z.js +0 -1
- package/.next/standalone/.next/static/chunks/0vmc7tq7ze-wk.js +0 -1
- package/.next/standalone/.next/static/chunks/0wlz6--vu7adu.js +0 -1
- package/.next/standalone/.next/static/chunks/0wp13r5su.j3e.js +0 -1
- package/.next/standalone/.next/static/chunks/0wx.aq674yk~q.js +0 -1
- package/.next/standalone/.next/static/chunks/0xas4ca5n6mzi.js +0 -1
- package/.next/standalone/.next/static/chunks/0xmalbon9eqvg.js +0 -1
- package/.next/standalone/.next/static/chunks/0y1_gk64rkp0g.js +0 -1
- package/.next/standalone/.next/static/chunks/0z3gpm0o.mwwy.css +0 -3
- package/.next/standalone/.next/static/chunks/0zz.9uk42mbks.js +0 -1
- package/.next/standalone/.next/static/chunks/0~ku-hjx17-lg.js +0 -5
- package/.next/standalone/.next/static/chunks/0~nlz9.lltzrz.js +0 -1
- package/.next/standalone/.next/static/chunks/10bvbbw1062os.js +0 -1
- package/.next/standalone/.next/static/chunks/10r8rypk5fanv.js +0 -1
- package/.next/standalone/.next/static/chunks/10wa7lt~l.b6d.js +0 -1
- package/.next/standalone/.next/static/chunks/11gch78bg_qsn.js +0 -1
- package/.next/standalone/.next/static/chunks/11nk1lwom62oe.js +0 -1
- package/.next/standalone/.next/static/chunks/131tx--pi8.tm.js +0 -1
- package/.next/standalone/.next/static/chunks/13nitezuv6q6x.js +0 -1
- package/.next/standalone/.next/static/chunks/13zzmkwag6vsm.css +0 -1
- package/.next/standalone/.next/static/chunks/13~7v30_nnqks.js +0 -1
- package/.next/standalone/.next/static/chunks/14bh~6-ggh.16.js +0 -23
- package/.next/standalone/.next/static/chunks/15hinpm-o8x5a.js +0 -12
- package/.next/standalone/.next/static/chunks/16dbi-ty-ptnr.js +0 -1
- package/.next/standalone/.next/static/chunks/17jcucuef_33-.js +0 -1
- package/.next/standalone/.next/static/chunks/186b1th1fl440.js +0 -1
- package/.next/standalone/.next/static/chunks/18d9u7jni2vco.js +0 -1
- package/.next/standalone/.next/static/chunks/turbopack-0950wwl2vzfu8.js +0 -1
- package/.next/standalone/.next/static/chunks/turbopack-0np.oib7-.1fp.js +0 -1
- /package/.next/standalone/.next/static/{gVdGG0_U0ysjrgmO5yh0M → X7BRO7ORR4bKFt1LXzGU8}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{gVdGG0_U0ysjrgmO5yh0M → X7BRO7ORR4bKFt1LXzGU8}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
X7BRO7ORR4bKFt1LXzGU8
|
|
@@ -1,39 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"pages": {
|
|
3
3
|
"/": [
|
|
4
|
-
"static/chunks/
|
|
5
|
-
"static/chunks/
|
|
6
|
-
"static/chunks/
|
|
4
|
+
"static/chunks/0z_~g~mb.kjs1.js",
|
|
5
|
+
"static/chunks/07.5h~7~q9~1e.js",
|
|
6
|
+
"static/chunks/0kaufevqdhsld.js",
|
|
7
|
+
"static/chunks/0sc7tkg1gojr..js",
|
|
7
8
|
"static/chunks/0.znxwgo-re2m.js",
|
|
8
|
-
"static/chunks/
|
|
9
|
-
"static/chunks/
|
|
10
|
-
"static/chunks/
|
|
9
|
+
"static/chunks/149sb_-h03mxq.js",
|
|
10
|
+
"static/chunks/034_utxy1sujb.js",
|
|
11
|
+
"static/chunks/0n4fv8.loh_0x.js",
|
|
12
|
+
"static/chunks/14_wa..vd6~2y.js",
|
|
11
13
|
"static/chunks/15aj3kd.p7zw6.js",
|
|
12
|
-
"static/chunks/
|
|
13
|
-
"static/chunks/
|
|
14
|
+
"static/chunks/0t5w4x7owhfbe.js",
|
|
15
|
+
"static/chunks/0t2val7bf4~s7.js",
|
|
14
16
|
"static/chunks/0ea-k_kbq5gi1.js",
|
|
15
|
-
"static/chunks/
|
|
17
|
+
"static/chunks/0c2_tqkbyti3h.js",
|
|
18
|
+
"static/chunks/0szl_dovu0hgw.js",
|
|
19
|
+
"static/chunks/169ui~u~dpalg.js",
|
|
20
|
+
"static/chunks/0ra09kjja5rf..js",
|
|
16
21
|
"static/chunks/00yfl7agnve...js",
|
|
17
|
-
"static/chunks/
|
|
18
|
-
"static/chunks/
|
|
19
|
-
"static/chunks/
|
|
20
|
-
"static/chunks/14_wa..vd6~2y.js",
|
|
21
|
-
"static/chunks/0wlz6--vu7adu.js",
|
|
22
|
-
"static/chunks/0~nlz9.lltzrz.js",
|
|
23
|
-
"static/chunks/0i2uqmry6cyl_.js",
|
|
24
|
-
"static/chunks/turbopack-0yi-pm9y8p4fu.js"
|
|
22
|
+
"static/chunks/16bag6z7n~ffw.js",
|
|
23
|
+
"static/chunks/13_l03e3sab-g.js",
|
|
24
|
+
"static/chunks/turbopack-1469mxaruw82d.js"
|
|
25
25
|
],
|
|
26
26
|
"/_app": [
|
|
27
|
-
"static/chunks/
|
|
28
|
-
"static/chunks/
|
|
29
|
-
"static/chunks/
|
|
27
|
+
"static/chunks/121i8u8byuotx.js",
|
|
28
|
+
"static/chunks/0q0yh17_ncipj.js",
|
|
29
|
+
"static/chunks/034_utxy1sujb.js",
|
|
30
|
+
"static/chunks/06zq-2isv5vn6.js",
|
|
30
31
|
"static/chunks/0ea-k_kbq5gi1.js",
|
|
31
|
-
"static/chunks/00yfl7agnve...js",
|
|
32
|
-
"static/chunks/09agwg~-xbxbs.js",
|
|
33
32
|
"static/chunks/14_wa..vd6~2y.js",
|
|
34
|
-
"static/chunks/
|
|
35
|
-
"static/chunks/
|
|
36
|
-
"static/chunks/
|
|
33
|
+
"static/chunks/06vobum5720oa.js",
|
|
34
|
+
"static/chunks/00yfl7agnve...js",
|
|
35
|
+
"static/chunks/0n2k1al4sr_qq.css",
|
|
36
|
+
"static/chunks/107edt81z_gzy.css",
|
|
37
|
+
"static/chunks/turbopack-0rb3q18bhb2hu.js"
|
|
37
38
|
],
|
|
38
39
|
"/_error": [
|
|
39
40
|
"static/chunks/0~o730huopa91.js",
|
|
@@ -42,44 +43,43 @@
|
|
|
42
43
|
"static/chunks/turbopack-11utvoktq4lmr.js"
|
|
43
44
|
],
|
|
44
45
|
"/login": [
|
|
45
|
-
"static/chunks/
|
|
46
|
-
"static/chunks/0.ecwkadp7-hq.js",
|
|
46
|
+
"static/chunks/034_utxy1sujb.js",
|
|
47
47
|
"static/chunks/14_wa..vd6~2y.js",
|
|
48
|
-
"static/chunks/
|
|
48
|
+
"static/chunks/140j4evqxtxmn.js",
|
|
49
|
+
"static/chunks/038s7u_er9zkt.js",
|
|
49
50
|
"static/chunks/15aj3kd.p7zw6.js",
|
|
50
|
-
"static/chunks/
|
|
51
|
-
"static/chunks/
|
|
52
|
-
"static/chunks/0ea-k_kbq5gi1.js",
|
|
51
|
+
"static/chunks/08ukqrup7vvqb.js",
|
|
52
|
+
"static/chunks/0oh5xnzizgxt1.js",
|
|
53
53
|
"static/chunks/0pxbg4s8a4y54.js",
|
|
54
|
+
"static/chunks/0ea-k_kbq5gi1.js",
|
|
55
|
+
"static/chunks/0r9z55-r31en8.js",
|
|
56
|
+
"static/chunks/05w~qu2zpvh2f.js",
|
|
54
57
|
"static/chunks/00yfl7agnve...js",
|
|
55
|
-
"static/chunks/
|
|
56
|
-
"static/chunks/0jj7ska-q4zmb.js",
|
|
57
|
-
"static/chunks/08ukqrup7vvqb.js",
|
|
58
|
-
"static/chunks/turbopack-0np.oib7-.1fp.js"
|
|
58
|
+
"static/chunks/turbopack-0zcblahe.hdqd.js"
|
|
59
59
|
],
|
|
60
60
|
"/reports": [
|
|
61
61
|
"static/chunks/0_67ozmvnvz16.js",
|
|
62
|
-
"static/chunks/
|
|
63
|
-
"static/chunks/
|
|
64
|
-
"static/chunks/
|
|
65
|
-
"static/chunks/
|
|
62
|
+
"static/chunks/05kshd9vdrl4o.js",
|
|
63
|
+
"static/chunks/14_wa..vd6~2y.js",
|
|
64
|
+
"static/chunks/034_utxy1sujb.js",
|
|
65
|
+
"static/chunks/156~ejmpjxu8e.js",
|
|
66
66
|
"static/chunks/00yfl7agnve...js",
|
|
67
|
-
"static/chunks/
|
|
68
|
-
"static/chunks/05y90.zbqijkv.js",
|
|
67
|
+
"static/chunks/149sb_-h03mxq.js",
|
|
69
68
|
"static/chunks/0.znxwgo-re2m.js",
|
|
70
|
-
"static/chunks/
|
|
71
|
-
"static/chunks/
|
|
72
|
-
"static/chunks/0t2val7bf4~s7.js",
|
|
69
|
+
"static/chunks/0sc7tkg1gojr..js",
|
|
70
|
+
"static/chunks/0ebjicjua7yl-.js",
|
|
73
71
|
"static/chunks/0ea-k_kbq5gi1.js",
|
|
72
|
+
"static/chunks/169ui~u~dpalg.js",
|
|
73
|
+
"static/chunks/0c2_tqkbyti3h.js",
|
|
74
|
+
"static/chunks/0szl_dovu0hgw.js",
|
|
75
|
+
"static/chunks/0t2val7bf4~s7.js",
|
|
76
|
+
"static/chunks/0ra09kjja5rf..js",
|
|
77
|
+
"static/chunks/15aj3kd.p7zw6.js",
|
|
78
|
+
"static/chunks/0t5w4x7owhfbe.js",
|
|
79
|
+
"static/chunks/0n4fv8.loh_0x.js",
|
|
80
|
+
"static/chunks/01ul8lmr04ls3.js",
|
|
74
81
|
"static/chunks/031unywm42_xs.js",
|
|
75
|
-
"static/chunks/
|
|
76
|
-
"static/chunks/0plurywt71.qj.js",
|
|
77
|
-
"static/chunks/0efkrks2gm27v.js",
|
|
78
|
-
"static/chunks/0wlz6--vu7adu.js",
|
|
79
|
-
"static/chunks/11gch78bg_qsn.js",
|
|
80
|
-
"static/chunks/131tx--pi8.tm.js",
|
|
81
|
-
"static/chunks/07rq~qv9ldwo~.js",
|
|
82
|
-
"static/chunks/turbopack-08ayk-1mt1q-w.js"
|
|
82
|
+
"static/chunks/turbopack-15bv~a4hbvh29.js"
|
|
83
83
|
],
|
|
84
84
|
"/reset": [
|
|
85
85
|
"static/chunks/0_sdw~kzk-at0.js",
|
|
@@ -91,69 +91,69 @@
|
|
|
91
91
|
],
|
|
92
92
|
"/stats": [
|
|
93
93
|
"static/chunks/0~lnp45fxxtgz.js",
|
|
94
|
-
"static/chunks/
|
|
95
|
-
"static/chunks/
|
|
94
|
+
"static/chunks/0-7en.d6a3jki.js",
|
|
95
|
+
"static/chunks/156~ejmpjxu8e.js",
|
|
96
|
+
"static/chunks/0sc7tkg1gojr..js",
|
|
96
97
|
"static/chunks/0.znxwgo-re2m.js",
|
|
97
|
-
"static/chunks/
|
|
98
|
-
"static/chunks/
|
|
99
|
-
"static/chunks/
|
|
98
|
+
"static/chunks/0ra09kjja5rf..js",
|
|
99
|
+
"static/chunks/034_utxy1sujb.js",
|
|
100
|
+
"static/chunks/149sb_-h03mxq.js",
|
|
100
101
|
"static/chunks/14_wa..vd6~2y.js",
|
|
101
|
-
"static/chunks/11gch78bg_qsn.js",
|
|
102
|
-
"static/chunks/0efkrks2gm27v.js",
|
|
103
|
-
"static/chunks/0tq53zgriddtp.js",
|
|
104
|
-
"static/chunks/0t2val7bf4~s7.js",
|
|
105
|
-
"static/chunks/0ml5~2ty-rbv_.js",
|
|
106
|
-
"static/chunks/0wlz6--vu7adu.js",
|
|
107
|
-
"static/chunks/15aj3kd.p7zw6.js",
|
|
108
|
-
"static/chunks/0i2uqmry6cyl_.js",
|
|
109
102
|
"static/chunks/00yfl7agnve...js",
|
|
110
|
-
"static/chunks/
|
|
111
|
-
"static/chunks/
|
|
103
|
+
"static/chunks/169ui~u~dpalg.js",
|
|
104
|
+
"static/chunks/0c2_tqkbyti3h.js",
|
|
112
105
|
"static/chunks/0ea-k_kbq5gi1.js",
|
|
113
|
-
"static/chunks/
|
|
106
|
+
"static/chunks/0t5w4x7owhfbe.js",
|
|
107
|
+
"static/chunks/15aj3kd.p7zw6.js",
|
|
108
|
+
"static/chunks/0szl_dovu0hgw.js",
|
|
109
|
+
"static/chunks/0n4fv8.loh_0x.js",
|
|
110
|
+
"static/chunks/0qkrdmhiv-0d3.js",
|
|
111
|
+
"static/chunks/05b7zy0n0vhms.js",
|
|
112
|
+
"static/chunks/0t2val7bf4~s7.js",
|
|
113
|
+
"static/chunks/turbopack-0nn9kx.dkgwqs.js"
|
|
114
114
|
],
|
|
115
115
|
"/tools-required": [
|
|
116
116
|
"static/chunks/0dp178b-0_ltl.js",
|
|
117
117
|
"static/chunks/15aj3kd.p7zw6.js",
|
|
118
118
|
"static/chunks/00yfl7agnve...js",
|
|
119
119
|
"static/chunks/14_wa..vd6~2y.js",
|
|
120
|
-
"static/chunks/
|
|
120
|
+
"static/chunks/0~ts_4hi7.u_0.js",
|
|
121
121
|
"static/chunks/0ea-k_kbq5gi1.js",
|
|
122
122
|
"static/chunks/0pxbg4s8a4y54.js",
|
|
123
|
-
"static/chunks/
|
|
123
|
+
"static/chunks/094_-.5.ue3p4.js",
|
|
124
124
|
"static/chunks/0af.3khnmptnl.js",
|
|
125
|
-
"static/chunks/turbopack-
|
|
125
|
+
"static/chunks/turbopack-0d-xk62f1t05v.js"
|
|
126
126
|
],
|
|
127
127
|
"/webview": [
|
|
128
128
|
"static/chunks/0h7n~i8gk~-a2.js",
|
|
129
|
-
"static/chunks/
|
|
130
|
-
"static/chunks/
|
|
131
|
-
"static/chunks/
|
|
132
|
-
"static/chunks/0h-7ntqpip4oi.js",
|
|
133
|
-
"static/chunks/07rq~qv9ldwo~.js",
|
|
134
|
-
"static/chunks/14_wa..vd6~2y.js",
|
|
129
|
+
"static/chunks/0-pm5wxsyxs3e.js",
|
|
130
|
+
"static/chunks/156~ejmpjxu8e.js",
|
|
131
|
+
"static/chunks/0sc7tkg1gojr..js",
|
|
135
132
|
"static/chunks/0.znxwgo-re2m.js",
|
|
136
|
-
"static/chunks/
|
|
133
|
+
"static/chunks/149sb_-h03mxq.js",
|
|
134
|
+
"static/chunks/034_utxy1sujb.js",
|
|
135
|
+
"static/chunks/14_wa..vd6~2y.js",
|
|
137
136
|
"static/chunks/15aj3kd.p7zw6.js",
|
|
138
|
-
"static/chunks/
|
|
137
|
+
"static/chunks/0t5w4x7owhfbe.js",
|
|
138
|
+
"static/chunks/0t2val7bf4~s7.js",
|
|
139
|
+
"static/chunks/0c2_tqkbyti3h.js",
|
|
140
|
+
"static/chunks/0szl_dovu0hgw.js",
|
|
141
|
+
"static/chunks/169ui~u~dpalg.js",
|
|
142
|
+
"static/chunks/0ra09kjja5rf..js",
|
|
139
143
|
"static/chunks/00yfl7agnve...js",
|
|
140
|
-
"static/chunks/
|
|
141
|
-
"static/chunks/05i5jeaz~7tg6.js",
|
|
142
|
-
"static/chunks/0ml5~2ty-rbv_.js",
|
|
144
|
+
"static/chunks/0n4fv8.loh_0x.js",
|
|
143
145
|
"static/chunks/0ea-k_kbq5gi1.js",
|
|
144
|
-
"static/chunks/
|
|
145
|
-
"static/chunks/
|
|
146
|
-
"static/chunks/
|
|
147
|
-
"static/chunks/0t2val7bf4~s7.js",
|
|
148
|
-
"static/chunks/turbopack-104j33xbofdmk.js"
|
|
146
|
+
"static/chunks/16bag6z7n~ffw.js",
|
|
147
|
+
"static/chunks/13_l03e3sab-g.js",
|
|
148
|
+
"static/chunks/turbopack-0~wmco6ifn20m.js"
|
|
149
149
|
]
|
|
150
150
|
},
|
|
151
151
|
"devFiles": [],
|
|
152
152
|
"polyfillFiles": [],
|
|
153
153
|
"lowPriorityFiles": [
|
|
154
|
-
"static/
|
|
155
|
-
"static/
|
|
156
|
-
"static/
|
|
154
|
+
"static/X7BRO7ORR4bKFt1LXzGU8/_buildManifest.js",
|
|
155
|
+
"static/X7BRO7ORR4bKFt1LXzGU8/_ssgManifest.js",
|
|
156
|
+
"static/X7BRO7ORR4bKFt1LXzGU8/_clientMiddlewareManifest.js"
|
|
157
157
|
],
|
|
158
158
|
"rootMainFiles": []
|
|
159
159
|
}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"routes": {},
|
|
4
4
|
"dynamicRoutes": {},
|
|
5
5
|
"preview": {
|
|
6
|
-
"previewModeId": "
|
|
7
|
-
"previewModeSigningKey": "
|
|
8
|
-
"previewModeEncryptionKey": "
|
|
6
|
+
"previewModeId": "40fc470b99989a7cc70e5130d1cad7a0",
|
|
7
|
+
"previewModeSigningKey": "4e378cbaa22d2c1a3c42909cb98613e49c6a0a89fb0225c8a90d8acc592b7344",
|
|
8
|
+
"previewModeEncryptionKey": "ba0e15bc36f4f6689e2ab5d61cc8882b8c7bd076a1061ff28db53227cf89b633"
|
|
9
9
|
},
|
|
10
10
|
"notFoundRoutes": []
|
|
11
11
|
}
|
|
@@ -108,6 +108,14 @@
|
|
|
108
108
|
},
|
|
109
109
|
"namedRegex": "^/api/layout/pane/(?<nxtPpaneId>[^/]+?)/tabs/(?<nxtPtabId>[^/]+?)/move(?:/)?$"
|
|
110
110
|
},
|
|
111
|
+
{
|
|
112
|
+
"page": "/api/workspace/group/[groupId]",
|
|
113
|
+
"regex": "^/api/workspace/group/([^/]+?)(?:/)?$",
|
|
114
|
+
"routeKeys": {
|
|
115
|
+
"nxtPgroupId": "nxtPgroupId"
|
|
116
|
+
},
|
|
117
|
+
"namedRegex": "^/api/workspace/group/(?<nxtPgroupId>[^/]+?)(?:/)?$"
|
|
118
|
+
},
|
|
111
119
|
{
|
|
112
120
|
"page": "/api/workspace/[workspaceId]",
|
|
113
121
|
"regex": "^/api/workspace/([^/]+?)(?:/)?$",
|
|
@@ -190,6 +198,12 @@
|
|
|
190
198
|
"routeKeys": {},
|
|
191
199
|
"namedRegex": "^/api/git/status(?:/)?$"
|
|
192
200
|
},
|
|
201
|
+
{
|
|
202
|
+
"page": "/api/git/sync",
|
|
203
|
+
"regex": "^/api/git/sync(?:/)?$",
|
|
204
|
+
"routeKeys": {},
|
|
205
|
+
"namedRegex": "^/api/git/sync(?:/)?$"
|
|
206
|
+
},
|
|
193
207
|
{
|
|
194
208
|
"page": "/api/health",
|
|
195
209
|
"regex": "^/api/health(?:/)?$",
|
|
@@ -208,6 +222,12 @@
|
|
|
208
222
|
"routeKeys": {},
|
|
209
223
|
"namedRegex": "^/api/layout(?:/)?$"
|
|
210
224
|
},
|
|
225
|
+
{
|
|
226
|
+
"page": "/api/layout/commit-diff",
|
|
227
|
+
"regex": "^/api/layout/commit\\-diff(?:/)?$",
|
|
228
|
+
"routeKeys": {},
|
|
229
|
+
"namedRegex": "^/api/layout/commit\\-diff(?:/)?$"
|
|
230
|
+
},
|
|
211
231
|
{
|
|
212
232
|
"page": "/api/layout/cwd",
|
|
213
233
|
"regex": "^/api/layout/cwd(?:/)?$",
|
|
@@ -220,6 +240,18 @@
|
|
|
220
240
|
"routeKeys": {},
|
|
221
241
|
"namedRegex": "^/api/layout/diff(?:/)?$"
|
|
222
242
|
},
|
|
243
|
+
{
|
|
244
|
+
"page": "/api/layout/file-content",
|
|
245
|
+
"regex": "^/api/layout/file\\-content(?:/)?$",
|
|
246
|
+
"routeKeys": {},
|
|
247
|
+
"namedRegex": "^/api/layout/file\\-content(?:/)?$"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"page": "/api/layout/git-log",
|
|
251
|
+
"regex": "^/api/layout/git\\-log(?:/)?$",
|
|
252
|
+
"routeKeys": {},
|
|
253
|
+
"namedRegex": "^/api/layout/git\\-log(?:/)?$"
|
|
254
|
+
},
|
|
223
255
|
{
|
|
224
256
|
"page": "/api/layout/pane",
|
|
225
257
|
"regex": "^/api/layout/pane(?:/)?$",
|
|
@@ -460,6 +492,18 @@
|
|
|
460
492
|
"routeKeys": {},
|
|
461
493
|
"namedRegex": "^/api/workspace/active(?:/)?$"
|
|
462
494
|
},
|
|
495
|
+
{
|
|
496
|
+
"page": "/api/workspace/group",
|
|
497
|
+
"regex": "^/api/workspace/group(?:/)?$",
|
|
498
|
+
"routeKeys": {},
|
|
499
|
+
"namedRegex": "^/api/workspace/group(?:/)?$"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"page": "/api/workspace/group/reorder",
|
|
503
|
+
"regex": "^/api/workspace/group/reorder(?:/)?$",
|
|
504
|
+
"routeKeys": {},
|
|
505
|
+
"namedRegex": "^/api/workspace/group/reorder(?:/)?$"
|
|
506
|
+
},
|
|
463
507
|
{
|
|
464
508
|
"page": "/api/workspace/reorder",
|
|
465
509
|
"regex": "^/api/workspace/reorder(?:/)?$",
|
|
@@ -512,31 +556,31 @@
|
|
|
512
556
|
"dataRoutes": [
|
|
513
557
|
{
|
|
514
558
|
"page": "/",
|
|
515
|
-
"dataRouteRegex": "^/_next/data/
|
|
559
|
+
"dataRouteRegex": "^/_next/data/X7BRO7ORR4bKFt1LXzGU8/index\\.json$"
|
|
516
560
|
},
|
|
517
561
|
{
|
|
518
562
|
"page": "/login",
|
|
519
|
-
"dataRouteRegex": "^/_next/data/
|
|
563
|
+
"dataRouteRegex": "^/_next/data/X7BRO7ORR4bKFt1LXzGU8/login\\.json$"
|
|
520
564
|
},
|
|
521
565
|
{
|
|
522
566
|
"page": "/reports",
|
|
523
|
-
"dataRouteRegex": "^/_next/data/
|
|
567
|
+
"dataRouteRegex": "^/_next/data/X7BRO7ORR4bKFt1LXzGU8/reports\\.json$"
|
|
524
568
|
},
|
|
525
569
|
{
|
|
526
570
|
"page": "/reset",
|
|
527
|
-
"dataRouteRegex": "^/_next/data/
|
|
571
|
+
"dataRouteRegex": "^/_next/data/X7BRO7ORR4bKFt1LXzGU8/reset\\.json$"
|
|
528
572
|
},
|
|
529
573
|
{
|
|
530
574
|
"page": "/stats",
|
|
531
|
-
"dataRouteRegex": "^/_next/data/
|
|
575
|
+
"dataRouteRegex": "^/_next/data/X7BRO7ORR4bKFt1LXzGU8/stats\\.json$"
|
|
532
576
|
},
|
|
533
577
|
{
|
|
534
578
|
"page": "/tools-required",
|
|
535
|
-
"dataRouteRegex": "^/_next/data/
|
|
579
|
+
"dataRouteRegex": "^/_next/data/X7BRO7ORR4bKFt1LXzGU8/tools-required\\.json$"
|
|
536
580
|
},
|
|
537
581
|
{
|
|
538
582
|
"page": "/webview",
|
|
539
|
-
"dataRouteRegex": "^/_next/data/
|
|
583
|
+
"dataRouteRegex": "^/_next/data/X7BRO7ORR4bKFt1LXzGU8/webview\\.json$"
|
|
540
584
|
}
|
|
541
585
|
],
|
|
542
586
|
"i18n": {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},406461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},524836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},921517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},755004,(e,t,r)=>{t.exports=e.x("tls",()=>require("tls"))},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},130146,(e,t,r)=>{t.exports=e.x("pino-28069d5257187539",()=>require("pino-28069d5257187539"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},25146,e=>{"use strict";var t=e.i(130146),r=e.i(814747),s=e.i(446786);let n=r.default.join(s.default.homedir(),".purplemux","logs"),i=process.env.LOG_LEVEL||"info",a=(e=>{if(!e)return{};let t={};for(let r of e.split(",")){let[e,s]=r.split("=").map(e=>e.trim());e&&s&&(t[e]=s)}return t})(process.env.LOG_LEVELS),o=["trace","debug","info","warn","error","fatal"],l=globalThis;if(!l.__ptRootLogger){let e=[i,...Object.values(a)].reduce((e,t)=>o.indexOf(t)<o.indexOf(e)?t:e,"fatal");l.__ptRootLogger=(0,t.default)({level:e,transport:{targets:[{target:"pino-roll",level:e,options:{file:r.default.join(n,"purplemux"),frequency:"daily",dateFormat:"yyyy-MM-dd",limit:{count:7},mkdir:!0}},{target:"pino-pretty",level:e,options:{colorize:!0,ignore:"pid,hostname,module",translateTime:"HH:MM:ss",messageFormat:"[{module}] {msg}"}}]}})}let u=l.__ptRootLogger;e.s(["createLogger",0,e=>{let t=u.child({module:e});return t.level=a[e]??i,t}])},597789,965898,e=>{"use strict";let t=process.env.__PMUX_PRISTINE_ENV,r=Object.freeze(t?JSON.parse(t):{...process.env});t||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(r)),e.s(["PRISTINE_ENV",0,r],965898);let s=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"]),n=["LC_"],i=e=>s.has(e)||n.some(t=>e.startsWith(t)),a={TERM:"xterm-256color",COLORTERM:"truecolor"},o=()=>{let e={};for(let[t,s]of Object.entries(r))void 0!==s&&i(t)&&(e[t]=s);return{...e,...a}},l=e=>`'${e.replace(/'/g,"'\\''")}'`,u=()=>r.SHELL||"/bin/bash";e.s(["buildShellEnv",0,()=>o(),"buildShellLaunchCommand",0,()=>{let e=Object.entries(o()).map(([e,t])=>`${e}=${l(t)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${e} ${l(u())} -l`},"defaultShell",0,u],597789)},44014,e=>{"use strict";let t,r;var s=e.i(666680);e.s(["nanoid",0,function(e=21){var n;n=e|=0,!t||t.length<n?(t=Buffer.allocUnsafe(128*n),s.webcrypto.getRandomValues(t),r=0):r+n>t.length&&(s.webcrypto.getRandomValues(t),r=0),r+=n;let i="";for(let s=r-e;s<r;s++)i+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&t[s]];return i}],44014)},459015,544538,e=>{"use strict";var t=e.i(233405),r=e.i(924868),s=e.i(224361),n=e.i(814747),i=e.i(44014),a=e.i(965898),o=e.i(597789),l=e.i(25146);process.platform;let u="linux"===process.platform;e.s(["isLinux",0,u],544538);let p=(0,l.createLogger)("terminal"),c=(0,s.promisify)(t.execFile),m="purple",d=n.default.join(process.env.__PMUX_APP_DIR_UNPACKED||process.env.__PMUX_APP_DIR||process.cwd(),"src","config","tmux.conf"),f=async()=>{try{let{stdout:e}=await c("tmux",["-L",m,"ls","-F","#{session_name}"],{timeout:5e3});return e.trim().split("\n").map(e=>e.trim()).filter(e=>e.startsWith("pt-"))}catch{return[]}},h=async(e,t,r,s)=>{let n=(0,o.buildShellLaunchCommand)();await c("tmux",["-u","-L",m,"-f",d,"new-session","-d","-s",e,"-x",String(t),"-y",String(r),n],{timeout:5e3,cwd:s||a.PRISTINE_ENV.HOME||"/"}),await P(),p.debug(`tmux session created: ${e} (cols: ${t}, rows: ${r})`)},w=e=>new Promise(t=>setTimeout(t,e)),y=async e=>{if(!await g(e))return;p.debug(`killSession start: ${e}`);let t=await L(e);if(t)try{p.debug(`SIGTERM → process group ${t}: ${e}`),process.kill(-t,"SIGTERM")}catch{}try{await c("tmux",["-L",m,"kill-session","-t",e],{timeout:5e3})}catch{}for(let t=0;t<5;t++){if(!await g(e))return void p.debug(`killSession done (SIGTERM): ${e}`);await w(200)}if(p.warn(`session survived SIGTERM, escalating to SIGKILL: ${e}`),t)try{p.debug(`SIGKILL → process group ${t}: ${e}`),process.kill(-t,"SIGKILL")}catch{}try{await c("tmux",["-L",m,"kill-session","-t",e],{timeout:5e3})}catch{}for(let t=0;t<3;t++){if(!await g(e))return void p.debug(`killSession done (SIGKILL): ${e}`);await w(200)}p.warn(`tmux session still alive after kill: ${e}`)},g=async e=>{try{return await c("tmux",["-L",m,"has-session","-t",e],{timeout:5e3}),!0}catch{return!1}},x=async()=>{},S=async()=>{await x();let e=await f();e.length>0&&e.forEach(e=>{p.debug(`existing tmux session found: ${e}`)})},_=async e=>{if(u)try{return await r.default.readlink(`/proc/${e}/cwd`)}catch{return null}try{let{stdout:t}=await c("lsof",["-a","-p",String(e),"-d","cwd","-Fn"],{timeout:5e3}),r=t.split("\n").find(e=>e.startsWith("n/"));return r?r.slice(1):null}catch{return null}},v=async e=>{let t=await L(e);if(t){let e=await _(t);if(e)return e}try{let{stdout:t}=await c("tmux",["-L",m,"display-message","-p","-t",e,"#{pane_current_path}"],{timeout:5e3});return t.trim()||null}catch{return null}},L=async e=>{try{let{stdout:t}=await c("tmux",["-L",m,"display-message","-p","-t",e,"#{pane_pid}"],{timeout:5e3}),r=parseInt(t.trim(),10);return Number.isNaN(r)?null:r}catch{return null}},P=async()=>{try{await c("tmux",["-L",m,"source-file",d],{timeout:5e3})}catch{}},N=async e=>{try{let{stdout:t}=await c("tmux",["-L",m,"list-panes","-t",e,"-F","#{pane_current_command}"],{timeout:5e3});return t.trim()||null}catch{return null}},E=async()=>{try{let{stdout:e}=await c("tmux",["-L",m,"list-panes","-a","-F","#{session_name} #{pane_current_command} #{pane_current_path} #{pane_pid} #{window_activity}"],{timeout:5e3}),t=new Map;for(let r of e.trim().split("\n")){if(!r)continue;let[e,s,n,i,a]=r.split(" ");if(e&&s){let r=parseInt(i,10),o=parseInt(a,10);t.set(e,{command:s,path:n||"",pid:Number.isNaN(r)?0:r,windowActivity:Number.isNaN(o)?0:o})}}return t}catch{return new Map}},b=new Set(["bash","zsh","fish","sh","dash"]),I=async e=>{let t=await N(e);return t?{isSafe:b.has(t),processName:t}:{isSafe:!1,processName:"unknown"}},$=async e=>{try{let{stdout:t}=await c("tmux",["-L",m,"display-message","-p","-t",e,"#{pane_title}"],{timeout:5e3});return t.trim()||null}catch{return null}},R=async e=>{await c("tmux",["-L",m,"copy-mode","-q","-t",e],{timeout:5e3}).catch(()=>{})},T=async(e,t)=>{await R(e),await c("tmux",["-L",m,"send-keys","-t",e,t,"Enter"],{timeout:5e3})},M=async(e,t)=>{await R(e),await c("tmux",["-L",m,"send-keys","-t",e,t],{timeout:5e3})},q=async(e,t)=>{await R(e),await c("tmux",["-L",m,"send-keys","-t",e,"-l",`\x1b[200~${t}\x1b[201~`],{timeout:5e3}),await c("tmux",["-L",m,"send-keys","-t",e,"Enter"],{timeout:5e3}),await new Promise(e=>setTimeout(e,600)),await c("tmux",["-L",m,"send-keys","-t",e,"Enter"],{timeout:5e3})},C=async e=>{try{let{stdout:t}=await c("tmux",["-L",m,"display-message","-p","-t",e,"#{pane_current_path} #{pane_current_command} #{pane_pid} #{pane_width} #{pane_height} #{session_created}"],{timeout:5e3}),[r,s,n,i,a,o]=t.trim().split(" ");return{cwd:r||null,command:s||null,pid:n&&parseInt(n,10)||null,width:i&&parseInt(i,10)||null,height:a&&parseInt(a,10)||null,sessionCreated:o&&parseInt(o,10)||null}}catch{return{cwd:null,command:null,pid:null,width:null,height:null,sessionCreated:null}}},k=new Set(["node","python","python3","ruby","perl","deno","bun"]),A=async()=>{try{await c("tmux",["-L",m,"kill-server"],{timeout:5e3}),p.debug("tmux server killed")}catch{}},O=async e=>{try{let{stdout:t}=await c("tmux",["-L",m,"capture-pane","-p","-t",e],{timeout:5e3});return t}catch{return null}},j=async(e,t)=>{try{let{stdout:r}=await c("tmux",["-L",m,"capture-pane","-p","-S",`-${t}`,"-t",e],{timeout:5e3});return r}catch{return null}},D=async e=>{if(u){let t=[];return await Promise.all(e.map(async e=>{try{for(let s of(await r.default.readFile(`/proc/${e}/task/${e}/children`,"utf-8")).trim().split(/\s+/)){let e=parseInt(s,10);Number.isNaN(e)||t.push(e)}}catch{}})),t}try{let{stdout:t}=await c("pgrep",["-P",e.join(",")],{timeout:5e3});return t.trim().split("\n").map(e=>parseInt(e,10)).filter(e=>!Number.isNaN(e))}catch{return[]}},U=async e=>{let t=[],r=[e];for(;r.length>0;){let e=await D(r);if(0===e.length)break;t.push(...e),r=e}return t},H=async e=>{try{let t=new Set(e),{stdout:r}=await c("ss",["-tlnp"],{timeout:5e3}),s=new Set;for(let e of r.split("\n")){let r=e.match(/pid=(\d+)/g);if(!r||!r.some(e=>t.has(parseInt(e.replace("pid=",""),10))))continue;let n=e.match(/:(\d+)\s/);n&&s.add(parseInt(n[1],10))}return[...s].sort((e,t)=>e-t)}catch{return[]}},G=async e=>{let t=await U(e);if(0===t.length)return[];if(u)return H(t);try{let{stdout:e}=await c("lsof",["-a","-p",t.join(","),"-i","-sTCP:LISTEN","-P","-Fn"],{timeout:5e3}),r=new Set;for(let t of e.split("\n"))if(t.startsWith("n")){let e=t.match(/:(\d+)$/);e&&r.add(parseInt(e[1],10))}return[...r].sort((e,t)=>e-t)}catch{return[]}},W=async e=>{let t=await L(e);if(!t)return null;try{let{stdout:e}=await c("pgrep",["-n","-P",String(t)],{timeout:5e3}),r=e.trim();if(!r)return null;let{stdout:s}=await c("ps",["-o","args=","-p",r],{timeout:5e3}),i=s.trim();if(!i)return null;let a=i.split(/\s+/);if(0===a.length)return i;if(a[0]=n.default.basename(a[0]),k.has(a[0])&&a.length>1){let e=n.default.basename(a[1]).replace(/\.(c|m)?js$/,"");a.splice(0,2,e)}return a.join(" ")}catch{return null}};e.s(["SAFE_SHELLS",0,b,"applyConfig",0,P,"capturePaneContent",0,O,"capturePaneContentWithHistory",0,j,"checkTerminalProcess",0,I,"createSession",0,h,"defaultSessionName",0,()=>`pt-${(0,i.nanoid)(6)}-${(0,i.nanoid)(6)}-${(0,i.nanoid)(6)}`,"exitCopyMode",0,R,"getAllPanesInfo",0,E,"getLastCommand",0,W,"getListeningPorts",0,G,"getPaneCurrentCommand",0,N,"getPaneDetailInfo",0,C,"getPaneTitle",0,$,"getSessionCwd",0,v,"getSessionPanePid",0,L,"hasSession",0,g,"killServer",0,A,"killSession",0,y,"listSessions",0,f,"scanSessions",0,S,"sendBracketedPaste",0,q,"sendKeys",0,T,"sendRawKeys",0,M,"workspaceSessionName",0,(e,t,r)=>`pt-${e}-${t}-${r}`],459015)},175609,(e,t,r)=>{t.exports=e.x("node-pty-592e8dc6192cfd06",()=>require("node-pty-592e8dc6192cfd06"))},971780,e=>{"use strict";var t=e.i(459015);e.i(478319),e.i(220951),e.i(175609),e.i(597789),e.i(965898),new TextEncoder,new TextDecoder,(0,e.i(25146).createLogger)("terminal"),new TextDecoder;let r=globalThis,s=r.__purplemux_terminal_connections??=new Map;r.__purplemux_terminal_output_ts??=new Map;let n=(e,t,r)=>{for(let n of s.values())if(n.sessionName===e&&!n.cleaned)return void n.pty.resize(t,r)},i=e=>new Promise(t=>setTimeout(t,e)),a=async(e,r,a)=>{let o=(e=>{for(let t of s.values())if(t.sessionName===e&&!t.cleaned)return{cols:t.currentCols,rows:t.currentRows};return null})(e);if(o&&o.cols>50)return(0,t.capturePaneContentWithHistory)(e,50);let l=(e=>{for(let t of s.values())if(t.sessionName===e&&!t.cleaned){if(t.capturePaused)return null;return t.capturePaused=!0,{cols:t.currentCols,rows:t.currentRows}}return null})(e);if(!l)return(0,t.capturePaneContent)(e);try{n(e,r,a),await i(300);let s=await (0,t.capturePaneContent)(e);return n(e,l.cols,l.rows),await i(300),s}finally{(e=>{for(let t of s.values())if(t.sessionName===e&&!t.cleaned){if(!t.capturePaused)return;t.capturePaused=!1;return}})(e)}};e.s(["capturePaneAtWidth",0,a],971780)},443571,e=>{"use strict";let t=["Yes","Yes,","No","Accept","Decline","Open System Settings","Try again","Use this","Continue without","Resume from summary","Resume full session","Continue this conversation","Send message as","Don't ask me again"],r=/^\s*(?:[❯›>]\s+)?(.+)$/,s=/^\s*[❯›>]\s+/,n=/^\d+\.\s+/,i=/^\s*([❯›>])?\s*(\d+)\.?\s*(\S.*)$/,a=e=>e.replace(n,""),o=(e,t)=>e.some(e=>a(e).startsWith(t)),l=e=>e.match(/^\s*/)?.[0].length??0,u=/^(Yes,\s*and\s+don[\u2019']?t\s+ask)\s*:\s*(.+)$/,p=e=>!(e.length<2)&&(o(e,"Yes")&&o(e,"No")||o(e,"Accept")&&o(e,"Decline")||o(e,"Open System Settings")||o(e,"Use this")&&o(e,"Continue without")||o(e,"Resume from summary")&&o(e,"Resume full session")||o(e,"Continue this conversation")&&o(e,"Send message as"));e.s(["parsePermissionOptions",0,e=>{let n=e.split("\n"),o=(e=>{let t=[],r=[],s=0,n=1,a=0,o=()=>{r.length>=2&&t.push({rawOptions:r.slice(),focusedIndex:s}),r=[],s=0,n=1,a=0};for(let t of e){if(!t.trim())continue;let e=t.match(i);if(e){let i=e[1],u=Number(e[2]),p=e[3].trim();if(p.length>0){if(1===u){o(),r.push(p),i&&(s=0),a=l(t),n=2;continue}if(u===n){i&&(s=r.length),r.push(p),a=l(t),n+=1;continue}}}if(r.length>0){if(l(t)>a){r[r.length-1]+=t.trimStart();continue}if(/^\s+\S/.test(t))continue;o()}}o();let p=t[t.length-1];return p?{options:p.rawOptions.map((e,t)=>{let r;return`${t+1}. ${(r=e.match(u))?`${r[1]} again for: ${r[2].trim()}`:/^Yes(?![,\s]|$)/.test(e)?"Yes":/^No(?![,\s]|$)/.test(e)?"No":e}`}),focusedIndex:p.focusedIndex}:{options:[],focusedIndex:0}})(n);if(o.options.length>=2&&p(o.options))return o;let c=(e=>{let n=[],i=0,o=!1;for(let l of e){if(!l.trim()){if(o)break;continue}let e=s.test(l),u=/^\s+\S/.test(l);if(!e&&!u){if(o)break;continue}let p=l.match(r);if(!p)continue;let c=p[1].trim(),m=a(c);t.some(e=>m.startsWith(e))&&(e&&(i=n.length),n.push(c),o=!0)}return{options:n,focusedIndex:i}})(n);return p(c.options)?c:{options:[],focusedIndex:0}}])},454549,e=>{"use strict";var t=e.i(926747),r=e.i(190406),s=e.i(244898),n=e.i(262950),i=e.i(459015),a=e.i(971780),o=e.i(25146),l=e.i(443571);let u=(0,o.createLogger)("tmux"),p=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"Method not allowed"});let r=e.query.session;if(!r)return t.status(400).json({error:"session parameter required"});if(!await (0,i.hasSession)(r))return t.status(404).json({error:"Session not found"});try{let e=await (0,a.capturePaneAtWidth)(r,120,50);if(!e)return t.status(200).json({options:[]});let{options:s}=(0,l.parsePermissionOptions)(e),n=e.includes("Bypass Permissions");return t.status(200).json({options:s,...n&&{isBypassPrompt:!0}})}catch(e){return u.error(`permission-options query failed: ${e instanceof Error?e.message:e}`),t.status(500).json({error:"Terminal capture failed"})}};e.s(["default",0,p],96110);var c=e.i(96110),m=e.i(7031),d=e.i(181927),f=e.i(846432);let h=(0,n.hoist)(c,"default"),w=(0,n.hoist)(c,"config"),y=new s.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/tmux/permission-options",pathname:"/api/tmux/permission-options",bundlePath:"",filename:""},userland:c,distDir:".next",relativeProjectDir:""});async function g(e,r,s){s.requestMeta&&(0,f.setRequestMeta)(e,s.requestMeta),y.isDev&&(0,f.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/tmux/permission-options";n=n.replace(/\/index$/,"")||"/";let i=await y.prepare(e,r,{srcPage:n});if(!i){r.statusCode=400,r.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve());return}let{query:a,params:o,prerenderManifest:l,routerServerContext:u}=i;try{let t,s=e.method||"GET",i=(0,m.getTracer)(),p=i.getActiveScopeSpan(),c=!!(null==u?void 0:u.isWrappedByNextServer),f=y.instrumentationOnRequestError.bind(y),h=async p=>y.render(e,r,{query:{...a,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:y.isDev,page:"/api/tmux/permission-options",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>f(e,...t)}).finally(()=>{if(!p)return;p.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=e.get("next.route");if(a){let e=`${s} ${a}`;p.setAttributes({"next.route":a,"http.route":a,"next.span_name":e}),p.updateName(e),t&&t!==p&&(t.setAttribute("http.route",a),t.updateName(e))}else p.updateName(`${s} ${n}`)});c&&p?await h(p):(t=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(d.BaseServerSpan.handleRequest,{spanName:`${s} ${n}`,kind:m.SpanKind.SERVER,attributes:{"http.method":s,"http.target":e.url}},h),void 0,!c))}catch(e){if(y.isDev)throw e;(0,t.sendError)(r,500,"Internal Server Error")}finally{null==s.waitUntil||s.waitUntil.call(s,Promise.resolve())}}e.s(["config",0,w,"default",0,h,"handler",0,g],454549)}];
|
|
1
|
+
module.exports=[688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},406461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},524836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},921517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},755004,(e,t,r)=>{t.exports=e.x("tls",()=>require("tls"))},792509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},130146,(e,t,r)=>{t.exports=e.x("pino-28069d5257187539",()=>require("pino-28069d5257187539"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},597789,965898,e=>{"use strict";let t=process.env.__PMUX_PRISTINE_ENV,r=Object.freeze(t?JSON.parse(t):{...process.env});t||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(r)),e.s(["PRISTINE_ENV",0,r],965898);let s=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"]),n=["LC_"],i=e=>s.has(e)||n.some(t=>e.startsWith(t)),a={TERM:"xterm-256color",COLORTERM:"truecolor"},o=()=>{let e={};for(let[t,s]of Object.entries(r))void 0!==s&&i(t)&&(e[t]=s);return{...e,...a}},l=e=>`'${e.replace(/'/g,"'\\''")}'`,u=()=>r.SHELL||"/bin/bash";e.s(["buildShellEnv",0,()=>o(),"buildShellLaunchCommand",0,()=>{let e=Object.entries(o()).map(([e,t])=>`${e}=${l(t)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${e} ${l(u())} -l`},"defaultShell",0,u],597789)},25146,e=>{"use strict";var t=e.i(130146),r=e.i(814747),s=e.i(446786);let n=r.default.join(s.default.homedir(),".purplemux","logs"),i=process.env.LOG_LEVEL||"info",a=(e=>{if(!e)return{};let t={};for(let r of e.split(",")){let[e,s]=r.split("=").map(e=>e.trim());e&&s&&(t[e]=s)}return t})(process.env.LOG_LEVELS),o=["trace","debug","info","warn","error","fatal"],l=globalThis;if(!l.__ptRootLogger){let e=[i,...Object.values(a)].reduce((e,t)=>o.indexOf(t)<o.indexOf(e)?t:e,"fatal");l.__ptRootLogger=(0,t.default)({level:e,transport:{targets:[{target:"pino-roll",level:e,options:{file:r.default.join(n,"purplemux"),frequency:"daily",dateFormat:"yyyy-MM-dd",limit:{count:7},mkdir:!0}},{target:"pino-pretty",level:e,options:{colorize:!0,ignore:"pid,hostname,module",translateTime:"HH:MM:ss",messageFormat:"[{module}] {msg}"}}]}})}let u=l.__ptRootLogger;e.s(["createLogger",0,e=>{let t=u.child({module:e});return t.level=a[e]??i,t}])},44014,e=>{"use strict";let t,r;var s=e.i(666680);e.s(["nanoid",0,function(e=21){var n;n=e|=0,!t||t.length<n?(t=Buffer.allocUnsafe(128*n),s.webcrypto.getRandomValues(t),r=0):r+n>t.length&&(s.webcrypto.getRandomValues(t),r=0),r+=n;let i="";for(let s=r-e;s<r;s++)i+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&t[s]];return i}],44014)},459015,544538,e=>{"use strict";var t=e.i(233405),r=e.i(924868),s=e.i(224361),n=e.i(814747),i=e.i(44014),a=e.i(965898),o=e.i(597789),l=e.i(25146);process.platform;let u="linux"===process.platform;e.s(["isLinux",0,u],544538);let p=(0,l.createLogger)("terminal"),c=(0,s.promisify)(t.execFile),m="purple",d=n.default.join(process.env.__PMUX_APP_DIR_UNPACKED||process.env.__PMUX_APP_DIR||process.cwd(),"src","config","tmux.conf"),f=async()=>{try{let{stdout:e}=await c("tmux",["-L",m,"ls","-F","#{session_name}"],{timeout:5e3});return e.trim().split("\n").map(e=>e.trim()).filter(e=>e.startsWith("pt-"))}catch{return[]}},h=async(e,t,r,s)=>{let n=(0,o.buildShellLaunchCommand)();await c("tmux",["-u","-L",m,"-f",d,"new-session","-d","-s",e,"-x",String(t),"-y",String(r),n],{timeout:5e3,cwd:s||a.PRISTINE_ENV.HOME||"/"}),await P(),p.debug(`tmux session created: ${e} (cols: ${t}, rows: ${r})`)},w=e=>new Promise(t=>setTimeout(t,e)),y=async e=>{if(!await g(e))return;p.debug(`killSession start: ${e}`);let t=await L(e);if(t)try{p.debug(`SIGTERM → process group ${t}: ${e}`),process.kill(-t,"SIGTERM")}catch{}try{await c("tmux",["-L",m,"kill-session","-t",e],{timeout:5e3})}catch{}for(let t=0;t<5;t++){if(!await g(e))return void p.debug(`killSession done (SIGTERM): ${e}`);await w(200)}if(p.warn(`session survived SIGTERM, escalating to SIGKILL: ${e}`),t)try{p.debug(`SIGKILL → process group ${t}: ${e}`),process.kill(-t,"SIGKILL")}catch{}try{await c("tmux",["-L",m,"kill-session","-t",e],{timeout:5e3})}catch{}for(let t=0;t<3;t++){if(!await g(e))return void p.debug(`killSession done (SIGKILL): ${e}`);await w(200)}p.warn(`tmux session still alive after kill: ${e}`)},g=async e=>{try{return await c("tmux",["-L",m,"has-session","-t",e],{timeout:5e3}),!0}catch{return!1}},x=async()=>{},S=async()=>{await x();let e=await f();e.length>0&&e.forEach(e=>{p.debug(`existing tmux session found: ${e}`)})},_=async e=>{if(u)try{return await r.default.readlink(`/proc/${e}/cwd`)}catch{return null}try{let{stdout:t}=await c("lsof",["-a","-p",String(e),"-d","cwd","-Fn"],{timeout:5e3}),r=t.split("\n").find(e=>e.startsWith("n/"));return r?r.slice(1):null}catch{return null}},v=async e=>{let t=await L(e);if(t){let e=await _(t);if(e)return e}try{let{stdout:t}=await c("tmux",["-L",m,"display-message","-p","-t",e,"#{pane_current_path}"],{timeout:5e3});return t.trim()||null}catch{return null}},L=async e=>{try{let{stdout:t}=await c("tmux",["-L",m,"display-message","-p","-t",e,"#{pane_pid}"],{timeout:5e3}),r=parseInt(t.trim(),10);return Number.isNaN(r)?null:r}catch{return null}},P=async()=>{try{await c("tmux",["-L",m,"source-file",d],{timeout:5e3})}catch{}},N=async e=>{try{let{stdout:t}=await c("tmux",["-L",m,"list-panes","-t",e,"-F","#{pane_current_command}"],{timeout:5e3});return t.trim()||null}catch{return null}},E=async()=>{try{let{stdout:e}=await c("tmux",["-L",m,"list-panes","-a","-F","#{session_name} #{pane_current_command} #{pane_current_path} #{pane_pid} #{window_activity}"],{timeout:5e3}),t=new Map;for(let r of e.trim().split("\n")){if(!r)continue;let[e,s,n,i,a]=r.split(" ");if(e&&s){let r=parseInt(i,10),o=parseInt(a,10);t.set(e,{command:s,path:n||"",pid:Number.isNaN(r)?0:r,windowActivity:Number.isNaN(o)?0:o})}}return t}catch{return new Map}},b=new Set(["bash","zsh","fish","sh","dash"]),I=async e=>{let t=await N(e);return t?{isSafe:b.has(t),processName:t}:{isSafe:!1,processName:"unknown"}},$=async e=>{try{let{stdout:t}=await c("tmux",["-L",m,"display-message","-p","-t",e,"#{pane_title}"],{timeout:5e3});return t.trim()||null}catch{return null}},R=async e=>{await c("tmux",["-L",m,"copy-mode","-q","-t",e],{timeout:5e3}).catch(()=>{})},T=async(e,t)=>{await R(e),await c("tmux",["-L",m,"send-keys","-t",e,t,"Enter"],{timeout:5e3})},M=async(e,t)=>{await R(e),await c("tmux",["-L",m,"send-keys","-t",e,t],{timeout:5e3})},q=async(e,t)=>{await R(e),await c("tmux",["-L",m,"send-keys","-t",e,"-l",`\x1b[200~${t}\x1b[201~`],{timeout:5e3}),await c("tmux",["-L",m,"send-keys","-t",e,"Enter"],{timeout:5e3}),await new Promise(e=>setTimeout(e,600)),await c("tmux",["-L",m,"send-keys","-t",e,"Enter"],{timeout:5e3})},C=async e=>{try{let{stdout:t}=await c("tmux",["-L",m,"display-message","-p","-t",e,"#{pane_current_path} #{pane_current_command} #{pane_pid} #{pane_width} #{pane_height} #{session_created}"],{timeout:5e3}),[r,s,n,i,a,o]=t.trim().split(" ");return{cwd:r||null,command:s||null,pid:n&&parseInt(n,10)||null,width:i&&parseInt(i,10)||null,height:a&&parseInt(a,10)||null,sessionCreated:o&&parseInt(o,10)||null}}catch{return{cwd:null,command:null,pid:null,width:null,height:null,sessionCreated:null}}},k=new Set(["node","python","python3","ruby","perl","deno","bun"]),A=async()=>{try{await c("tmux",["-L",m,"kill-server"],{timeout:5e3}),p.debug("tmux server killed")}catch{}},O=async e=>{try{let{stdout:t}=await c("tmux",["-L",m,"capture-pane","-p","-t",e],{timeout:5e3});return t}catch{return null}},j=async(e,t)=>{try{let{stdout:r}=await c("tmux",["-L",m,"capture-pane","-p","-S",`-${t}`,"-t",e],{timeout:5e3});return r}catch{return null}},D=async e=>{if(u){let t=[];return await Promise.all(e.map(async e=>{try{for(let s of(await r.default.readFile(`/proc/${e}/task/${e}/children`,"utf-8")).trim().split(/\s+/)){let e=parseInt(s,10);Number.isNaN(e)||t.push(e)}}catch{}})),t}try{let{stdout:t}=await c("pgrep",["-P",e.join(",")],{timeout:5e3});return t.trim().split("\n").map(e=>parseInt(e,10)).filter(e=>!Number.isNaN(e))}catch{return[]}},U=async e=>{let t=[],r=[e];for(;r.length>0;){let e=await D(r);if(0===e.length)break;t.push(...e),r=e}return t},H=async e=>{try{let t=new Set(e),{stdout:r}=await c("ss",["-tlnp"],{timeout:5e3}),s=new Set;for(let e of r.split("\n")){let r=e.match(/pid=(\d+)/g);if(!r||!r.some(e=>t.has(parseInt(e.replace("pid=",""),10))))continue;let n=e.match(/:(\d+)\s/);n&&s.add(parseInt(n[1],10))}return[...s].sort((e,t)=>e-t)}catch{return[]}},G=async e=>{let t=await U(e);if(0===t.length)return[];if(u)return H(t);try{let{stdout:e}=await c("lsof",["-a","-p",t.join(","),"-i","-sTCP:LISTEN","-P","-Fn"],{timeout:5e3}),r=new Set;for(let t of e.split("\n"))if(t.startsWith("n")){let e=t.match(/:(\d+)$/);e&&r.add(parseInt(e[1],10))}return[...r].sort((e,t)=>e-t)}catch{return[]}},W=async e=>{let t=await L(e);if(!t)return null;try{let{stdout:e}=await c("pgrep",["-n","-P",String(t)],{timeout:5e3}),r=e.trim();if(!r)return null;let{stdout:s}=await c("ps",["-o","args=","-p",r],{timeout:5e3}),i=s.trim();if(!i)return null;let a=i.split(/\s+/);if(0===a.length)return i;if(a[0]=n.default.basename(a[0]),k.has(a[0])&&a.length>1){let e=n.default.basename(a[1]).replace(/\.(c|m)?js$/,"");a.splice(0,2,e)}return a.join(" ")}catch{return null}};e.s(["SAFE_SHELLS",0,b,"applyConfig",0,P,"capturePaneContent",0,O,"capturePaneContentWithHistory",0,j,"checkTerminalProcess",0,I,"createSession",0,h,"defaultSessionName",0,()=>`pt-${(0,i.nanoid)(6)}-${(0,i.nanoid)(6)}-${(0,i.nanoid)(6)}`,"exitCopyMode",0,R,"getAllPanesInfo",0,E,"getLastCommand",0,W,"getListeningPorts",0,G,"getPaneCurrentCommand",0,N,"getPaneDetailInfo",0,C,"getPaneTitle",0,$,"getSessionCwd",0,v,"getSessionPanePid",0,L,"hasSession",0,g,"killServer",0,A,"killSession",0,y,"listSessions",0,f,"scanSessions",0,S,"sendBracketedPaste",0,q,"sendKeys",0,T,"sendRawKeys",0,M,"workspaceSessionName",0,(e,t,r)=>`pt-${e}-${t}-${r}`],459015)},175609,(e,t,r)=>{t.exports=e.x("node-pty-592e8dc6192cfd06",()=>require("node-pty-592e8dc6192cfd06"))},971780,e=>{"use strict";var t=e.i(459015);e.i(478319),e.i(220951),e.i(175609),e.i(597789),e.i(965898),new TextEncoder,new TextDecoder,(0,e.i(25146).createLogger)("terminal"),new TextDecoder;let r=globalThis,s=r.__purplemux_terminal_connections??=new Map;r.__purplemux_terminal_output_ts??=new Map;let n=(e,t,r)=>{for(let n of s.values())if(n.sessionName===e&&!n.cleaned)return void n.pty.resize(t,r)},i=e=>new Promise(t=>setTimeout(t,e)),a=async(e,r,a)=>{let o=(e=>{for(let t of s.values())if(t.sessionName===e&&!t.cleaned)return{cols:t.currentCols,rows:t.currentRows};return null})(e);if(o&&o.cols>50)return(0,t.capturePaneContentWithHistory)(e,50);let l=(e=>{for(let t of s.values())if(t.sessionName===e&&!t.cleaned){if(t.capturePaused)return null;return t.capturePaused=!0,{cols:t.currentCols,rows:t.currentRows}}return null})(e);if(!l)return(0,t.capturePaneContent)(e);try{n(e,r,a),await i(300);let s=await (0,t.capturePaneContent)(e);return n(e,l.cols,l.rows),await i(300),s}finally{(e=>{for(let t of s.values())if(t.sessionName===e&&!t.cleaned){if(!t.capturePaused)return;t.capturePaused=!1;return}})(e)}};e.s(["capturePaneAtWidth",0,a],971780)},443571,e=>{"use strict";let t=["Yes","Yes,","No","Accept","Decline","Open System Settings","Try again","Use this","Continue without","Resume from summary","Resume full session","Continue this conversation","Send message as","Don't ask me again"],r=/^\s*(?:[❯›>]\s+)?(.+)$/,s=/^\s*[❯›>]\s+/,n=/^\d+\.\s+/,i=/^\s*([❯›>])?\s*(\d+)\.?\s*(\S.*)$/,a=e=>e.replace(n,""),o=(e,t)=>e.some(e=>a(e).startsWith(t)),l=e=>e.match(/^\s*/)?.[0].length??0,u=/^(Yes,\s*and\s+don[\u2019']?t\s+ask)\s*:\s*(.+)$/,p=e=>!(e.length<2)&&(o(e,"Yes")&&o(e,"No")||o(e,"Accept")&&o(e,"Decline")||o(e,"Open System Settings")||o(e,"Use this")&&o(e,"Continue without")||o(e,"Resume from summary")&&o(e,"Resume full session")||o(e,"Continue this conversation")&&o(e,"Send message as"));e.s(["parsePermissionOptions",0,e=>{let n=e.split("\n"),o=(e=>{let t=[],r=[],s=0,n=1,a=0,o=()=>{r.length>=2&&t.push({rawOptions:r.slice(),focusedIndex:s}),r=[],s=0,n=1,a=0};for(let t of e){if(!t.trim())continue;let e=t.match(i);if(e){let i=e[1],u=Number(e[2]),p=e[3].trim();if(p.length>0){if(1===u){o(),r.push(p),i&&(s=0),a=l(t),n=2;continue}if(u===n){i&&(s=r.length),r.push(p),a=l(t),n+=1;continue}}}if(r.length>0){if(l(t)>a){r[r.length-1]+=t.trimStart();continue}if(/^\s+\S/.test(t))continue;o()}}o();let p=t[t.length-1];return p?{options:p.rawOptions.map((e,t)=>{let r;return`${t+1}. ${(r=e.match(u))?`${r[1]} again for: ${r[2].trim()}`:/^Yes(?![,\s]|$)/.test(e)?"Yes":/^No(?![,\s]|$)/.test(e)?"No":e}`}),focusedIndex:p.focusedIndex}:{options:[],focusedIndex:0}})(n);if(o.options.length>=2&&p(o.options))return o;let c=(e=>{let n=[],i=0,o=!1;for(let l of e){if(!l.trim()){if(o)break;continue}let e=s.test(l),u=/^\s+\S/.test(l);if(!e&&!u){if(o)break;continue}let p=l.match(r);if(!p)continue;let c=p[1].trim(),m=a(c);t.some(e=>m.startsWith(e))&&(e&&(i=n.length),n.push(c),o=!0)}return{options:n,focusedIndex:i}})(n);return p(c.options)?c:{options:[],focusedIndex:0}}])},454549,e=>{"use strict";var t=e.i(926747),r=e.i(190406),s=e.i(244898),n=e.i(262950),i=e.i(459015),a=e.i(971780),o=e.i(25146),l=e.i(443571);let u=(0,o.createLogger)("tmux"),p=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"Method not allowed"});let r=e.query.session;if(!r)return t.status(400).json({error:"session parameter required"});if(!await (0,i.hasSession)(r))return t.status(404).json({error:"Session not found"});try{let e=await (0,a.capturePaneAtWidth)(r,120,50);if(!e)return t.status(200).json({options:[]});let{options:s}=(0,l.parsePermissionOptions)(e),n=e.includes("Bypass Permissions");return t.status(200).json({options:s,...n&&{isBypassPrompt:!0}})}catch(e){return u.error(`permission-options query failed: ${e instanceof Error?e.message:e}`),t.status(500).json({error:"Terminal capture failed"})}};e.s(["default",0,p],96110);var c=e.i(96110),m=e.i(7031),d=e.i(181927),f=e.i(846432);let h=(0,n.hoist)(c,"default"),w=(0,n.hoist)(c,"config"),y=new s.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/tmux/permission-options",pathname:"/api/tmux/permission-options",bundlePath:"",filename:""},userland:c,distDir:".next",relativeProjectDir:""});async function g(e,r,s){s.requestMeta&&(0,f.setRequestMeta)(e,s.requestMeta),y.isDev&&(0,f.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/tmux/permission-options";n=n.replace(/\/index$/,"")||"/";let i=await y.prepare(e,r,{srcPage:n});if(!i){r.statusCode=400,r.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve());return}let{query:a,params:o,prerenderManifest:l,routerServerContext:u}=i;try{let t,s=e.method||"GET",i=(0,m.getTracer)(),p=i.getActiveScopeSpan(),c=!!(null==u?void 0:u.isWrappedByNextServer),f=y.instrumentationOnRequestError.bind(y),h=async p=>y.render(e,r,{query:{...a,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:y.isDev,page:"/api/tmux/permission-options",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>f(e,...t)}).finally(()=>{if(!p)return;p.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=e.get("next.route");if(a){let e=`${s} ${a}`;p.setAttributes({"next.route":a,"http.route":a,"next.span_name":e}),p.updateName(e),t&&t!==p&&(t.setAttribute("http.route",a),t.updateName(e))}else p.updateName(`${s} ${n}`)});c&&p?await h(p):(t=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(d.BaseServerSpan.handleRequest,{spanName:`${s} ${n}`,kind:m.SpanKind.SERVER,attributes:{"http.method":s,"http.target":e.url}},h),void 0,!c))}catch(e){if(y.isDev)throw e;(0,t.sendError)(r,500,"Internal Server Error")}finally{null==s.waitUntil||s.waitUntil.call(s,Promise.resolve())}}e.s(["config",0,w,"default",0,h,"handler",0,g],454549)}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__016s4a9._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[270406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},130146,(e,t,a)=>{t.exports=e.x("pino-28069d5257187539",()=>require("pino-28069d5257187539"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},233405,(e,t,a)=>{t.exports=e.x("child_process",()=>require("child_process"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},597789,965898,e=>{"use strict";let t=process.env.__PMUX_PRISTINE_ENV,a=Object.freeze(t?JSON.parse(t):{...process.env});t||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(a)),e.s(["PRISTINE_ENV",0,a],965898);let r=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"]),i=["LC_"],s=e=>r.has(e)||i.some(t=>e.startsWith(t)),n={TERM:"xterm-256color",COLORTERM:"truecolor"},l=()=>{let e={};for(let[t,r]of Object.entries(a))void 0!==r&&s(t)&&(e[t]=r);return{...e,...n}},o=e=>`'${e.replace(/'/g,"'\\''")}'`,u=()=>a.SHELL||"/bin/bash";e.s(["buildShellEnv",0,()=>l(),"buildShellLaunchCommand",0,()=>{let e=Object.entries(l()).map(([e,t])=>`${e}=${o(t)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${e} ${o(u())} -l`},"defaultShell",0,u],597789)},25146,e=>{"use strict";var t=e.i(130146),a=e.i(814747),r=e.i(446786);let i=a.default.join(r.default.homedir(),".purplemux","logs"),s=process.env.LOG_LEVEL||"info",n=(e=>{if(!e)return{};let t={};for(let a of e.split(",")){let[e,r]=a.split("=").map(e=>e.trim());e&&r&&(t[e]=r)}return t})(process.env.LOG_LEVELS),l=["trace","debug","info","warn","error","fatal"],o=globalThis;if(!o.__ptRootLogger){let e=[s,...Object.values(n)].reduce((e,t)=>l.indexOf(t)<l.indexOf(e)?t:e,"fatal");o.__ptRootLogger=(0,t.default)({level:e,transport:{targets:[{target:"pino-roll",level:e,options:{file:a.default.join(i,"purplemux"),frequency:"daily",dateFormat:"yyyy-MM-dd",limit:{count:7},mkdir:!0}},{target:"pino-pretty",level:e,options:{colorize:!0,ignore:"pid,hostname,module",translateTime:"HH:MM:ss",messageFormat:"[{module}] {msg}"}}]}})}let u=o.__ptRootLogger;e.s(["createLogger",0,e=>{let t=u.child({module:e});return t.level=n[e]??s,t}])},44014,e=>{"use strict";let t,a;var r=e.i(666680);e.s(["nanoid",0,function(e=21){var i;i=e|=0,!t||t.length<i?(t=Buffer.allocUnsafe(128*i),r.webcrypto.getRandomValues(t),a=0):a+i>t.length&&(r.webcrypto.getRandomValues(t),a=0),a+=i;let s="";for(let r=a-e;r<a;r++)s+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&t[r]];return s}],44014)},459015,544538,e=>{"use strict";var t=e.i(233405),a=e.i(924868),r=e.i(224361),i=e.i(814747),s=e.i(44014),n=e.i(965898),l=e.i(597789),o=e.i(25146);process.platform;let u="linux"===process.platform;e.s(["isLinux",0,u],544538);let c=(0,o.createLogger)("terminal"),p=(0,r.promisify)(t.execFile),d="purple",m=i.default.join(process.env.__PMUX_APP_DIR_UNPACKED||process.env.__PMUX_APP_DIR||process.cwd(),"src","config","tmux.conf"),w=async()=>{try{let{stdout:e}=await p("tmux",["-L",d,"ls","-F","#{session_name}"],{timeout:5e3});return e.trim().split("\n").map(e=>e.trim()).filter(e=>e.startsWith("pt-"))}catch{return[]}},f=async(e,t,a,r)=>{let i=(0,l.buildShellLaunchCommand)();await p("tmux",["-u","-L",d,"-f",m,"new-session","-d","-s",e,"-x",String(t),"-y",String(a),i],{timeout:5e3,cwd:r||n.PRISTINE_ENV.HOME||"/"}),await _(),c.debug(`tmux session created: ${e} (cols: ${t}, rows: ${a})`)},y=e=>new Promise(t=>setTimeout(t,e)),h=async e=>{if(!await g(e))return;c.debug(`killSession start: ${e}`);let t=await L(e);if(t)try{c.debug(`SIGTERM → process group ${t}: ${e}`),process.kill(-t,"SIGTERM")}catch{}try{await p("tmux",["-L",d,"kill-session","-t",e],{timeout:5e3})}catch{}for(let t=0;t<5;t++){if(!await g(e))return void c.debug(`killSession done (SIGTERM): ${e}`);await y(200)}if(c.warn(`session survived SIGTERM, escalating to SIGKILL: ${e}`),t)try{c.debug(`SIGKILL → process group ${t}: ${e}`),process.kill(-t,"SIGKILL")}catch{}try{await p("tmux",["-L",d,"kill-session","-t",e],{timeout:5e3})}catch{}for(let t=0;t<3;t++){if(!await g(e))return void c.debug(`killSession done (SIGKILL): ${e}`);await y(200)}c.warn(`tmux session still alive after kill: ${e}`)},g=async e=>{try{return await p("tmux",["-L",d,"has-session","-t",e],{timeout:5e3}),!0}catch{return!1}},k=async()=>{},x=async()=>{await k();let e=await w();e.length>0&&e.forEach(e=>{c.debug(`existing tmux session found: ${e}`)})},b=async e=>{if(u)try{return await a.default.readlink(`/proc/${e}/cwd`)}catch{return null}try{let{stdout:t}=await p("lsof",["-a","-p",String(e),"-d","cwd","-Fn"],{timeout:5e3}),a=t.split("\n").find(e=>e.startsWith("n/"));return a?a.slice(1):null}catch{return null}},S=async e=>{let t=await L(e);if(t){let e=await b(t);if(e)return e}try{let{stdout:t}=await p("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_current_path}"],{timeout:5e3});return t.trim()||null}catch{return null}},L=async e=>{try{let{stdout:t}=await p("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_pid}"],{timeout:5e3}),a=parseInt(t.trim(),10);return Number.isNaN(a)?null:a}catch{return null}},_=async()=>{try{await p("tmux",["-L",d,"source-file",m],{timeout:5e3})}catch{}},I=async e=>{try{let{stdout:t}=await p("tmux",["-L",d,"list-panes","-t",e,"-F","#{pane_current_command}"],{timeout:5e3});return t.trim()||null}catch{return null}},v=async()=>{try{let{stdout:e}=await p("tmux",["-L",d,"list-panes","-a","-F","#{session_name} #{pane_current_command} #{pane_current_path} #{pane_pid} #{window_activity}"],{timeout:5e3}),t=new Map;for(let a of e.trim().split("\n")){if(!a)continue;let[e,r,i,s,n]=a.split(" ");if(e&&r){let a=parseInt(s,10),l=parseInt(n,10);t.set(e,{command:r,path:i||"",pid:Number.isNaN(a)?0:a,windowActivity:Number.isNaN(l)?0:l})}}return t}catch{return new Map}},N=new Set(["bash","zsh","fish","sh","dash"]),$=async e=>{let t=await I(e);return t?{isSafe:N.has(t),processName:t}:{isSafe:!1,processName:"unknown"}},P=async e=>{try{let{stdout:t}=await p("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_title}"],{timeout:5e3});return t.trim()||null}catch{return null}},E=async e=>{await p("tmux",["-L",d,"copy-mode","-q","-t",e],{timeout:5e3}).catch(()=>{})},T=async(e,t)=>{await E(e),await p("tmux",["-L",d,"send-keys","-t",e,t,"Enter"],{timeout:5e3})},W=async(e,t)=>{await E(e),await p("tmux",["-L",d,"send-keys","-t",e,t],{timeout:5e3})},C=async(e,t)=>{await E(e),await p("tmux",["-L",d,"send-keys","-t",e,"-l",`\x1b[200~${t}\x1b[201~`],{timeout:5e3}),await p("tmux",["-L",d,"send-keys","-t",e,"Enter"],{timeout:5e3}),await new Promise(e=>setTimeout(e,600)),await p("tmux",["-L",d,"send-keys","-t",e,"Enter"],{timeout:5e3})},A=async e=>{try{let{stdout:t}=await p("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_current_path} #{pane_current_command} #{pane_pid} #{pane_width} #{pane_height} #{session_created}"],{timeout:5e3}),[a,r,i,s,n,l]=t.trim().split(" ");return{cwd:a||null,command:r||null,pid:i&&parseInt(i,10)||null,width:s&&parseInt(s,10)||null,height:n&&parseInt(n,10)||null,sessionCreated:l&&parseInt(l,10)||null}}catch{return{cwd:null,command:null,pid:null,width:null,height:null,sessionCreated:null}}},O=new Set(["node","python","python3","ruby","perl","deno","bun"]),D=async()=>{try{await p("tmux",["-L",d,"kill-server"],{timeout:5e3}),c.debug("tmux server killed")}catch{}},F=async e=>{try{let{stdout:t}=await p("tmux",["-L",d,"capture-pane","-p","-t",e],{timeout:5e3});return t}catch{return null}},j=async(e,t)=>{try{let{stdout:a}=await p("tmux",["-L",d,"capture-pane","-p","-S",`-${t}`,"-t",e],{timeout:5e3});return a}catch{return null}},M=async e=>{if(u){let t=[];return await Promise.all(e.map(async e=>{try{for(let r of(await a.default.readFile(`/proc/${e}/task/${e}/children`,"utf-8")).trim().split(/\s+/)){let e=parseInt(r,10);Number.isNaN(e)||t.push(e)}}catch{}})),t}try{let{stdout:t}=await p("pgrep",["-P",e.join(",")],{timeout:5e3});return t.trim().split("\n").map(e=>parseInt(e,10)).filter(e=>!Number.isNaN(e))}catch{return[]}},R=async e=>{let t=[],a=[e];for(;a.length>0;){let e=await M(a);if(0===e.length)break;t.push(...e),a=e}return t},q=async e=>{try{let t=new Set(e),{stdout:a}=await p("ss",["-tlnp"],{timeout:5e3}),r=new Set;for(let e of a.split("\n")){let a=e.match(/pid=(\d+)/g);if(!a||!a.some(e=>t.has(parseInt(e.replace("pid=",""),10))))continue;let i=e.match(/:(\d+)\s/);i&&r.add(parseInt(i[1],10))}return[...r].sort((e,t)=>e-t)}catch{return[]}},H=async e=>{let t=await R(e);if(0===t.length)return[];if(u)return q(t);try{let{stdout:e}=await p("lsof",["-a","-p",t.join(","),"-i","-sTCP:LISTEN","-P","-Fn"],{timeout:5e3}),a=new Set;for(let t of e.split("\n"))if(t.startsWith("n")){let e=t.match(/:(\d+)$/);e&&a.add(parseInt(e[1],10))}return[...a].sort((e,t)=>e-t)}catch{return[]}},U=async e=>{let t=await L(e);if(!t)return null;try{let{stdout:e}=await p("pgrep",["-n","-P",String(t)],{timeout:5e3}),a=e.trim();if(!a)return null;let{stdout:r}=await p("ps",["-o","args=","-p",a],{timeout:5e3}),s=r.trim();if(!s)return null;let n=s.split(/\s+/);if(0===n.length)return s;if(n[0]=i.default.basename(n[0]),O.has(n[0])&&n.length>1){let e=i.default.basename(n[1]).replace(/\.(c|m)?js$/,"");n.splice(0,2,e)}return n.join(" ")}catch{return null}};e.s(["SAFE_SHELLS",0,N,"applyConfig",0,_,"capturePaneContent",0,F,"capturePaneContentWithHistory",0,j,"checkTerminalProcess",0,$,"createSession",0,f,"defaultSessionName",0,()=>`pt-${(0,s.nanoid)(6)}-${(0,s.nanoid)(6)}-${(0,s.nanoid)(6)}`,"exitCopyMode",0,E,"getAllPanesInfo",0,v,"getLastCommand",0,U,"getListeningPorts",0,H,"getPaneCurrentCommand",0,I,"getPaneDetailInfo",0,A,"getPaneTitle",0,P,"getSessionCwd",0,S,"getSessionPanePid",0,L,"hasSession",0,g,"killServer",0,D,"killSession",0,h,"listSessions",0,w,"scanSessions",0,x,"sendBracketedPaste",0,C,"sendKeys",0,T,"sendRawKeys",0,W,"workspaceSessionName",0,(e,t,a)=>`pt-${e}-${t}-${a}`],459015)},688947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},406461,(e,t,a)=>{t.exports=e.x("zlib",()=>require("zlib"))},254799,(e,t,a)=>{t.exports=e.x("crypto",()=>require("crypto"))},524836,(e,t,a)=>{t.exports=e.x("https",()=>require("https"))},921517,(e,t,a)=>{t.exports=e.x("http",()=>require("http"))},504446,(e,t,a)=>{t.exports=e.x("net",()=>require("net"))},755004,(e,t,a)=>{t.exports=e.x("tls",()=>require("tls"))},792509,(e,t,a)=>{t.exports=e.x("url",()=>require("url"))},500874,(e,t,a)=>{t.exports=e.x("buffer",()=>require("buffer"))},427699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},666126,e=>{"use strict";e.i(478319);var t=e.i(220951);(0,e.i(25146).createLogger)("sync");let a=globalThis;a.__ptSyncClients||(a.__ptSyncClients=new Set);let r=a.__ptSyncClients;e.s(["broadcastSync",0,e=>{let a=JSON.stringify(e);for(let e of r)e.readyState===t.WebSocket.OPEN&&e.bufferedAmount<1048576&&e.send(a)}])},322429,160874,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),i=e.i(44014),s=e.i(459015),n=e.i(25146),l=e.i(666126),o=e.i(825265),u=e.i(804767);(0,n.createLogger)("claude-prompt");let c=e=>a.default.join((0,o.resolveLayoutDir)(e),"claude-prompt.md"),p=async e=>{let r=c(e.id);await t.default.mkdir(a.default.dirname(r),{recursive:!0});let i=`# purplemux context
|
|
1
|
+
module.exports=[270406,(e,t,a)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,a)=>{t.exports=e.x("os",()=>require("os"))},814747,(e,t,a)=>{t.exports=e.x("path",()=>require("path"))},924868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},130146,(e,t,a)=>{t.exports=e.x("pino-28069d5257187539",()=>require("pino-28069d5257187539"))},224361,(e,t,a)=>{t.exports=e.x("util",()=>require("util"))},233405,(e,t,a)=>{t.exports=e.x("child_process",()=>require("child_process"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},597789,965898,e=>{"use strict";let t=process.env.__PMUX_PRISTINE_ENV,a=Object.freeze(t?JSON.parse(t):{...process.env});t||(process.env.__PMUX_PRISTINE_ENV=JSON.stringify(a)),e.s(["PRISTINE_ENV",0,a],965898);let r=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"]),i=["LC_"],s=e=>r.has(e)||i.some(t=>e.startsWith(t)),n={TERM:"xterm-256color",COLORTERM:"truecolor"},o=()=>{let e={};for(let[t,r]of Object.entries(a))void 0!==r&&s(t)&&(e[t]=r);return{...e,...n}},l=e=>`'${e.replace(/'/g,"'\\''")}'`,u=()=>a.SHELL||"/bin/bash";e.s(["buildShellEnv",0,()=>o(),"buildShellLaunchCommand",0,()=>{let e=Object.entries(o()).map(([e,t])=>`${e}=${l(t)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${e} ${l(u())} -l`},"defaultShell",0,u],597789)},25146,e=>{"use strict";var t=e.i(130146),a=e.i(814747),r=e.i(446786);let i=a.default.join(r.default.homedir(),".purplemux","logs"),s=process.env.LOG_LEVEL||"info",n=(e=>{if(!e)return{};let t={};for(let a of e.split(",")){let[e,r]=a.split("=").map(e=>e.trim());e&&r&&(t[e]=r)}return t})(process.env.LOG_LEVELS),o=["trace","debug","info","warn","error","fatal"],l=globalThis;if(!l.__ptRootLogger){let e=[s,...Object.values(n)].reduce((e,t)=>o.indexOf(t)<o.indexOf(e)?t:e,"fatal");l.__ptRootLogger=(0,t.default)({level:e,transport:{targets:[{target:"pino-roll",level:e,options:{file:a.default.join(i,"purplemux"),frequency:"daily",dateFormat:"yyyy-MM-dd",limit:{count:7},mkdir:!0}},{target:"pino-pretty",level:e,options:{colorize:!0,ignore:"pid,hostname,module",translateTime:"HH:MM:ss",messageFormat:"[{module}] {msg}"}}]}})}let u=l.__ptRootLogger;e.s(["createLogger",0,e=>{let t=u.child({module:e});return t.level=n[e]??s,t}])},44014,e=>{"use strict";let t,a;var r=e.i(666680);e.s(["nanoid",0,function(e=21){var i;i=e|=0,!t||t.length<i?(t=Buffer.allocUnsafe(128*i),r.webcrypto.getRandomValues(t),a=0):a+i>t.length&&(r.webcrypto.getRandomValues(t),a=0),a+=i;let s="";for(let r=a-e;r<a;r++)s+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&t[r]];return s}],44014)},459015,544538,e=>{"use strict";var t=e.i(233405),a=e.i(924868),r=e.i(224361),i=e.i(814747),s=e.i(44014),n=e.i(965898),o=e.i(597789),l=e.i(25146);process.platform;let u="linux"===process.platform;e.s(["isLinux",0,u],544538);let c=(0,l.createLogger)("terminal"),p=(0,r.promisify)(t.execFile),d="purple",m=i.default.join(process.env.__PMUX_APP_DIR_UNPACKED||process.env.__PMUX_APP_DIR||process.cwd(),"src","config","tmux.conf"),w=async()=>{try{let{stdout:e}=await p("tmux",["-L",d,"ls","-F","#{session_name}"],{timeout:5e3});return e.trim().split("\n").map(e=>e.trim()).filter(e=>e.startsWith("pt-"))}catch{return[]}},f=async(e,t,a,r)=>{let i=(0,o.buildShellLaunchCommand)();await p("tmux",["-u","-L",d,"-f",m,"new-session","-d","-s",e,"-x",String(t),"-y",String(a),i],{timeout:5e3,cwd:r||n.PRISTINE_ENV.HOME||"/"}),await I(),c.debug(`tmux session created: ${e} (cols: ${t}, rows: ${a})`)},y=e=>new Promise(t=>setTimeout(t,e)),h=async e=>{if(!await g(e))return;c.debug(`killSession start: ${e}`);let t=await L(e);if(t)try{c.debug(`SIGTERM → process group ${t}: ${e}`),process.kill(-t,"SIGTERM")}catch{}try{await p("tmux",["-L",d,"kill-session","-t",e],{timeout:5e3})}catch{}for(let t=0;t<5;t++){if(!await g(e))return void c.debug(`killSession done (SIGTERM): ${e}`);await y(200)}if(c.warn(`session survived SIGTERM, escalating to SIGKILL: ${e}`),t)try{c.debug(`SIGKILL → process group ${t}: ${e}`),process.kill(-t,"SIGKILL")}catch{}try{await p("tmux",["-L",d,"kill-session","-t",e],{timeout:5e3})}catch{}for(let t=0;t<3;t++){if(!await g(e))return void c.debug(`killSession done (SIGKILL): ${e}`);await y(200)}c.warn(`tmux session still alive after kill: ${e}`)},g=async e=>{try{return await p("tmux",["-L",d,"has-session","-t",e],{timeout:5e3}),!0}catch{return!1}},k=async()=>{},x=async()=>{await k();let e=await w();e.length>0&&e.forEach(e=>{c.debug(`existing tmux session found: ${e}`)})},b=async e=>{if(u)try{return await a.default.readlink(`/proc/${e}/cwd`)}catch{return null}try{let{stdout:t}=await p("lsof",["-a","-p",String(e),"-d","cwd","-Fn"],{timeout:5e3}),a=t.split("\n").find(e=>e.startsWith("n/"));return a?a.slice(1):null}catch{return null}},S=async e=>{let t=await L(e);if(t){let e=await b(t);if(e)return e}try{let{stdout:t}=await p("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_current_path}"],{timeout:5e3});return t.trim()||null}catch{return null}},L=async e=>{try{let{stdout:t}=await p("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_pid}"],{timeout:5e3}),a=parseInt(t.trim(),10);return Number.isNaN(a)?null:a}catch{return null}},I=async()=>{try{await p("tmux",["-L",d,"source-file",m],{timeout:5e3})}catch{}},_=async e=>{try{let{stdout:t}=await p("tmux",["-L",d,"list-panes","-t",e,"-F","#{pane_current_command}"],{timeout:5e3});return t.trim()||null}catch{return null}},v=async()=>{try{let{stdout:e}=await p("tmux",["-L",d,"list-panes","-a","-F","#{session_name} #{pane_current_command} #{pane_current_path} #{pane_pid} #{window_activity}"],{timeout:5e3}),t=new Map;for(let a of e.trim().split("\n")){if(!a)continue;let[e,r,i,s,n]=a.split(" ");if(e&&r){let a=parseInt(s,10),o=parseInt(n,10);t.set(e,{command:r,path:i||"",pid:Number.isNaN(a)?0:a,windowActivity:Number.isNaN(o)?0:o})}}return t}catch{return new Map}},$=new Set(["bash","zsh","fish","sh","dash"]),N=async e=>{let t=await _(e);return t?{isSafe:$.has(t),processName:t}:{isSafe:!1,processName:"unknown"}},P=async e=>{try{let{stdout:t}=await p("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_title}"],{timeout:5e3});return t.trim()||null}catch{return null}},T=async e=>{await p("tmux",["-L",d,"copy-mode","-q","-t",e],{timeout:5e3}).catch(()=>{})},W=async(e,t)=>{await T(e),await p("tmux",["-L",d,"send-keys","-t",e,t,"Enter"],{timeout:5e3})},E=async(e,t)=>{await T(e),await p("tmux",["-L",d,"send-keys","-t",e,t],{timeout:5e3})},C=async(e,t)=>{await T(e),await p("tmux",["-L",d,"send-keys","-t",e,"-l",`\x1b[200~${t}\x1b[201~`],{timeout:5e3}),await p("tmux",["-L",d,"send-keys","-t",e,"Enter"],{timeout:5e3}),await new Promise(e=>setTimeout(e,600)),await p("tmux",["-L",d,"send-keys","-t",e,"Enter"],{timeout:5e3})},A=async e=>{try{let{stdout:t}=await p("tmux",["-L",d,"display-message","-p","-t",e,"#{pane_current_path} #{pane_current_command} #{pane_pid} #{pane_width} #{pane_height} #{session_created}"],{timeout:5e3}),[a,r,i,s,n,o]=t.trim().split(" ");return{cwd:a||null,command:r||null,pid:i&&parseInt(i,10)||null,width:s&&parseInt(s,10)||null,height:n&&parseInt(n,10)||null,sessionCreated:o&&parseInt(o,10)||null}}catch{return{cwd:null,command:null,pid:null,width:null,height:null,sessionCreated:null}}},O=new Set(["node","python","python3","ruby","perl","deno","bun"]),D=async()=>{try{await p("tmux",["-L",d,"kill-server"],{timeout:5e3}),c.debug("tmux server killed")}catch{}},F=async e=>{try{let{stdout:t}=await p("tmux",["-L",d,"capture-pane","-p","-t",e],{timeout:5e3});return t}catch{return null}},M=async(e,t)=>{try{let{stdout:a}=await p("tmux",["-L",d,"capture-pane","-p","-S",`-${t}`,"-t",e],{timeout:5e3});return a}catch{return null}},j=async e=>{if(u){let t=[];return await Promise.all(e.map(async e=>{try{for(let r of(await a.default.readFile(`/proc/${e}/task/${e}/children`,"utf-8")).trim().split(/\s+/)){let e=parseInt(r,10);Number.isNaN(e)||t.push(e)}}catch{}})),t}try{let{stdout:t}=await p("pgrep",["-P",e.join(",")],{timeout:5e3});return t.trim().split("\n").map(e=>parseInt(e,10)).filter(e=>!Number.isNaN(e))}catch{return[]}},R=async e=>{let t=[],a=[e];for(;a.length>0;){let e=await j(a);if(0===e.length)break;t.push(...e),a=e}return t},G=async e=>{try{let t=new Set(e),{stdout:a}=await p("ss",["-tlnp"],{timeout:5e3}),r=new Set;for(let e of a.split("\n")){let a=e.match(/pid=(\d+)/g);if(!a||!a.some(e=>t.has(parseInt(e.replace("pid=",""),10))))continue;let i=e.match(/:(\d+)\s/);i&&r.add(parseInt(i[1],10))}return[...r].sort((e,t)=>e-t)}catch{return[]}},q=async e=>{let t=await R(e);if(0===t.length)return[];if(u)return G(t);try{let{stdout:e}=await p("lsof",["-a","-p",t.join(","),"-i","-sTCP:LISTEN","-P","-Fn"],{timeout:5e3}),a=new Set;for(let t of e.split("\n"))if(t.startsWith("n")){let e=t.match(/:(\d+)$/);e&&a.add(parseInt(e[1],10))}return[...a].sort((e,t)=>e-t)}catch{return[]}},H=async e=>{let t=await L(e);if(!t)return null;try{let{stdout:e}=await p("pgrep",["-n","-P",String(t)],{timeout:5e3}),a=e.trim();if(!a)return null;let{stdout:r}=await p("ps",["-o","args=","-p",a],{timeout:5e3}),s=r.trim();if(!s)return null;let n=s.split(/\s+/);if(0===n.length)return s;if(n[0]=i.default.basename(n[0]),O.has(n[0])&&n.length>1){let e=i.default.basename(n[1]).replace(/\.(c|m)?js$/,"");n.splice(0,2,e)}return n.join(" ")}catch{return null}};e.s(["SAFE_SHELLS",0,$,"applyConfig",0,I,"capturePaneContent",0,F,"capturePaneContentWithHistory",0,M,"checkTerminalProcess",0,N,"createSession",0,f,"defaultSessionName",0,()=>`pt-${(0,s.nanoid)(6)}-${(0,s.nanoid)(6)}-${(0,s.nanoid)(6)}`,"exitCopyMode",0,T,"getAllPanesInfo",0,v,"getLastCommand",0,H,"getListeningPorts",0,q,"getPaneCurrentCommand",0,_,"getPaneDetailInfo",0,A,"getPaneTitle",0,P,"getSessionCwd",0,S,"getSessionPanePid",0,L,"hasSession",0,g,"killServer",0,D,"killSession",0,h,"listSessions",0,w,"scanSessions",0,x,"sendBracketedPaste",0,C,"sendKeys",0,W,"sendRawKeys",0,E,"workspaceSessionName",0,(e,t,a)=>`pt-${e}-${t}-${a}`],459015)},688947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},406461,(e,t,a)=>{t.exports=e.x("zlib",()=>require("zlib"))},254799,(e,t,a)=>{t.exports=e.x("crypto",()=>require("crypto"))},524836,(e,t,a)=>{t.exports=e.x("https",()=>require("https"))},921517,(e,t,a)=>{t.exports=e.x("http",()=>require("http"))},504446,(e,t,a)=>{t.exports=e.x("net",()=>require("net"))},755004,(e,t,a)=>{t.exports=e.x("tls",()=>require("tls"))},792509,(e,t,a)=>{t.exports=e.x("url",()=>require("url"))},500874,(e,t,a)=>{t.exports=e.x("buffer",()=>require("buffer"))},427699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},666126,e=>{"use strict";e.i(478319);var t=e.i(220951);(0,e.i(25146).createLogger)("sync");let a=globalThis;a.__ptSyncClients||(a.__ptSyncClients=new Set);let r=a.__ptSyncClients;e.s(["broadcastSync",0,e=>{let a=JSON.stringify(e);for(let e of r)e.readyState===t.WebSocket.OPEN&&e.bufferedAmount<1048576&&e.send(a)}])},322429,160874,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),i=e.i(44014),s=e.i(459015),n=e.i(25146),o=e.i(666126),l=e.i(825265),u=e.i(804767);(0,n.createLogger)("claude-prompt");let c=e=>a.default.join((0,l.resolveLayoutDir)(e),"claude-prompt.md"),p=async e=>{let r=c(e.id);await t.default.mkdir(a.default.dirname(r),{recursive:!0});let i=`# purplemux context
|
|
2
2
|
|
|
3
3
|
You are running inside a purplemux workspace tab.
|
|
4
4
|
|
|
@@ -37,6 +37,6 @@ purplemux api-guide
|
|
|
37
37
|
(long-running builds, different project context, parallel exploration).
|
|
38
38
|
- Poll \`status\` and read \`result\` to verify delegated work.
|
|
39
39
|
- Prefer small, scoped tabs over cramming everything into one session.
|
|
40
|
-
`;try{if(await t.default.readFile(r,"utf-8")===i)return r}catch{}return await t.default.writeFile(r,i,"utf-8"),r};e.s(["getClaudePromptPath",0,c,"writeClaudePromptFile",0,p],160874);let d=(0,n.createLogger)("workspace"),m="Workspace ",w=a.default.join(r.default.homedir(),".purplemux"),f=a.default.join(w,"workspaces.json"),y=a.default.join(w,"layout.json"),h=a.default.join(w,"tabs.json"),g=globalThis;g.__purplemuxWorkspaceLock||(g.__purplemuxWorkspaceLock=Promise.resolve());let k=async e=>{let t,a=new Promise(e=>{t=e}),r=g.__purplemuxWorkspaceLock;g.__purplemuxWorkspaceLock=a,await r;try{return await e()}finally{t()}},x=()=>({workspaces:[],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:new Date().toISOString()}),b=async()=>{let e;try{e=await t.default.readFile(f,"utf-8")}catch{return null}try{let t=JSON.parse(e);for(let e of t.workspaces)!e.directories&&e.directory&&(e.directories=[e.directory],delete e.directory);return t}catch{d.warn("Failed to parse workspaces.json, starting empty");try{await t.default.copyFile(f,f.replace(/\.json$/,".json.bak"))}catch{}return null}},
|
|
40
|
+
`;try{if(await t.default.readFile(r,"utf-8")===i)return r}catch{}return await t.default.writeFile(r,i,"utf-8"),r};e.s(["getClaudePromptPath",0,c,"writeClaudePromptFile",0,p],160874);let d=(0,n.createLogger)("workspace"),m="Workspace ",w=a.default.join(r.default.homedir(),".purplemux"),f=a.default.join(w,"workspaces.json"),y=a.default.join(w,"layout.json"),h=a.default.join(w,"tabs.json"),g=globalThis;g.__purplemuxWorkspaceLock||(g.__purplemuxWorkspaceLock=Promise.resolve());let k=async e=>{let t,a=new Promise(e=>{t=e}),r=g.__purplemuxWorkspaceLock;g.__purplemuxWorkspaceLock=a,await r;try{return await e()}finally{t()}},x=()=>({workspaces:[],groups:[],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:new Date().toISOString()}),b=e=>(e.groups||(e.groups=[]),e.groups),S=async()=>{let e;try{e=await t.default.readFile(f,"utf-8")}catch{return null}try{let t=JSON.parse(e);for(let e of t.workspaces)!e.directories&&e.directory&&(e.directories=[e.directory],delete e.directory),delete e.order;for(let e of(Array.isArray(t.groups)||(t.groups=[]),t.groups))delete e.order;let a=new Set(t.groups.map(e=>e.id));for(let e of t.workspaces)e.groupId&&!a.has(e.groupId)&&(e.groupId=null);return t}catch{d.warn("Failed to parse workspaces.json, starting empty");try{await t.default.copyFile(f,f.replace(/\.json$/,".json.bak"))}catch{}return null}},L=async e=>{let a;a=b(e),e.workspaces=((e,t)=>{let a=new Set(t.map(e=>e.id)),r=new Map,i=[];for(let t of e){let e=t.groupId??null;if(e&&a.has(e)){let a=r.get(e)??[];a.push(t),r.set(e,a)}else i.push(t)}let s=[];for(let e of t){let t=r.get(e.id);t&&s.push(...t)}return s.push(...i),s})(e.workspaces,a);let{workspaces:r,groups:i,activeWorkspaceId:s,sidebarCollapsed:n,sidebarWidth:l}=e,u=JSON.stringify({workspaces:r,groups:i??[],activeWorkspaceId:s,sidebarCollapsed:n,sidebarWidth:l});if(g.__purplemuxWorkspacesContentCache===u)return;e.updatedAt=new Date().toISOString();let c=f+".tmp";try{await t.default.writeFile(c,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(c,f)}catch(e){throw await t.default.unlink(c).catch(()=>{}),e}g.__purplemuxWorkspacesContentCache=u,(0,o.broadcastSync)({type:"workspace"})},I=async()=>{let e=await (0,l.readLayoutFile)(y);if(!e)return null;let a="ws-default";await t.default.mkdir((0,l.resolveLayoutDir)(a),{recursive:!0}),await (0,l.writeLayoutFile)(e,(0,l.resolveLayoutFile)(a));let i={workspaces:[{id:a,name:"default",directories:[r.default.homedir()]}],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:e.updatedAt||new Date().toISOString()};return await L(i),d.info("Phase 4 layout.json → Workspace 'default' migration complete"),i},_=async()=>{try{let e=await t.default.readFile(h,"utf-8"),a=JSON.parse(e);if(!Array.isArray(a.tabs)||0===a.tabs.length)return null;let r=`pane-${(0,i.nanoid)(6)}`,s={root:{type:"pane",id:r,tabs:a.tabs,activeTabId:a.activeTabId??null},activePaneId:r,updatedAt:new Date().toISOString()},n=y+".tmp";try{await t.default.writeFile(n,JSON.stringify(s,null,2),{mode:384}),await t.default.rename(n,y)}catch(e){throw await t.default.unlink(n).catch(()=>{}),e}return d.info("tabs.json → layout.json migration complete"),await I()}catch{return null}},v=async()=>{await t.default.mkdir(a.default.join(w,"workspaces"),{recursive:!0});let e=await S();if(!e&&(await t.default.access(y).then(()=>!0).catch(()=>!1)?e=await I():await t.default.access(h).then(()=>!0).catch(()=>!1)&&(e=await _())),!e){let t=x();await L(t),e=t,d.info("Initial workspaces.json created")}if(0===e.workspaces.length)return;let r=await (0,s.listSessions)();for(let t of e.workspaces){let e=(0,l.resolveLayoutFile)(t.id),a=await (0,l.readLayoutFile)(e);if(!a){d.warn(`Workspace '${t.name}': layout.json corrupted, reset to default pane`),a=await (0,l.createDefaultLayout)(t.id,t.directories[0]),await (0,l.writeLayoutFile)(a,e);continue}let i=(0,u.collectAllTabs)(a.root).map(e=>e.sessionName),s=`pt-${t.id}-`,n=r.filter(e=>i.includes(e)||e.startsWith(s));try{await (0,l.crossCheckLayout)(a,n,t.id,t.directories[0])&&await (0,l.writeLayoutFile)(a,e)}catch(e){d.error(`Workspace '${t.name}': tmux consistency check failed: ${e instanceof Error?e.message:e}`)}}},$=async()=>{let e=await S();return e?{workspaces:e.workspaces,groups:e.groups??[],activeWorkspaceId:e.activeWorkspaceId,sidebarCollapsed:e.sidebarCollapsed,sidebarWidth:e.sidebarWidth}:{workspaces:[],groups:[],sidebarCollapsed:!1,sidebarWidth:220}},N=async()=>{let e=await S();return e?.activeWorkspaceId&&e.workspaces.some(t=>t.id===e.activeWorkspaceId)?e.activeWorkspaceId:e?.workspaces[0]?.id??null},P=async e=>{let t=await S();return t?.workspaces.find(t=>t.id===e)},T=async(e,a,r)=>k(async()=>{let s;try{s=await t.default.stat(e)}catch{throw Error("Directory does not exist")}if(!s.isDirectory())throw Error("Please enter a directory path, not a file");let n=await S()??x(),o=`ws-${(0,i.nanoid)(6)}`,u=a?.trim()||(e=>{let t=0;for(let a of e)if(a.name.startsWith(m)){let e=parseInt(a.name.slice(m.length),10);e>t&&(t=e)}return`${m}${t+1}`})(n.workspaces),c=await (0,l.createDefaultLayout)(o,e,r);await t.default.mkdir((0,l.resolveLayoutDir)(o),{recursive:!0}),await (0,l.writeLayoutFile)(c,(0,l.resolveLayoutFile)(o));let w={id:o,name:u,directories:[e]};return n.workspaces.push(w),await L(n),await p(w),d.debug(`Created: ${o} (${u}, ${e})`),w}),W=async e=>k(async()=>{let t=await S()??x(),a=t.workspaces.findIndex(t=>t.id===e);if(-1===a)return!1;let r=t.workspaces[a],i=await (0,l.readLayoutFile)((0,l.resolveLayoutFile)(e));if(i)for(let e of(0,u.collectAllTabs)(i.root))try{await (0,s.killSession)(e.sessionName)}catch{}try{await (0,l.removeLayoutFile)(e)}catch{}return t.workspaces.splice(a,1),await L(t),d.info(`Deleted: ${e} (${r.name})`),!0}),E=async(e,t)=>k(async()=>{let a=await S();if(!a)return null;let r=a.workspaces.find(t=>t.id===e);return r?(r.name=t,await L(a),await p(r),d.debug(`Renamed: ${e} → "${t}"`),{...r}):null}),C=async e=>k(async()=>{let t=await S()??x();void 0!==e.activeWorkspaceId&&(t.activeWorkspaceId=e.activeWorkspaceId),void 0!==e.sidebarCollapsed&&(t.sidebarCollapsed=e.sidebarCollapsed),void 0!==e.sidebarWidth&&(t.sidebarWidth=e.sidebarWidth),await L(t)}),A=async(e,t)=>k(async()=>{let a=await S();if(!a)return;let r=a.workspaces.find(t=>t.id===e);r&&JSON.stringify(r.directories)!==JSON.stringify(t)&&(r.directories=t,await L(a),await p(r))}),O=async e=>k(async()=>{let t=await S()??x(),a=new Map(t.workspaces.map(e=>[e.id,e])),r=new Set((t.groups??[]).map(e=>e.id)),i=[];for(let t of e){let e=a.get(t.id);if(!e)return!1;void 0!==t.groupId&&(e.groupId=t.groupId&&r.has(t.groupId)?t.groupId:null),i.push(e)}return i.length===t.workspaces.length&&(t.workspaces=i,await L(t),!0)}),D=async e=>k(async()=>{let t=await S()??x(),a=b(t),r=e.trim()||`Group ${a.length+1}`,s={id:`grp-${(0,i.nanoid)(6)}`,name:r,collapsed:!1};return a.push(s),await L(t),d.debug(`Group created: ${s.id} (${s.name})`),s}),F=async(e,t)=>k(async()=>{let a=await S();if(!a)return null;let r=(a.groups??[]).find(t=>t.id===e);if(!r)return null;let i=t.trim();return i?(r.name=i,await L(a),{...r}):r}),M=async(e,t)=>k(async()=>{let a=await S();if(!a)return!1;let r=(a.groups??[]).find(t=>t.id===e);return!!r&&(r.collapsed===t||(r.collapsed=t,await L(a),!0))}),j=async e=>k(async()=>{let t=await S();if(!t)return!1;let a=b(t),r=a.findIndex(t=>t.id===e);if(-1===r)return!1;for(let a of t.workspaces)a.groupId===e&&(a.groupId=null);return a.splice(r,1),await L(t),d.info(`Group ungrouped: ${e}`),!0}),R=async e=>k(async()=>{let t=await S();if(!t)return!1;let a=b(t),r=new Map(a.map(e=>[e.id,e])),i=[];for(let t of e){let e=r.get(t);if(!e)return!1;i.push(e)}return i.length===a.length&&(t.groups=i,await L(t),!0)}),G=async(e,t)=>k(async()=>{let a=await S();if(!a)return!1;let r=a.workspaces.find(t=>t.id===e);if(!r)return!1;let i=new Set((a.groups??[]).map(e=>e.id)),s=t&&i.has(t)?t:null;return(r.groupId??null)===s||(r.groupId=s,await L(a),!0)}),q=async e=>{try{if(!(await t.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:a.default.basename(e)}};e.s(["createGroup",0,D,"createWorkspace",0,T,"deleteWorkspace",0,W,"getActiveWorkspaceId",0,N,"getWorkspaceById",0,P,"getWorkspaces",0,$,"initWorkspaceStore",0,v,"renameGroup",0,F,"renameWorkspace",0,E,"reorderGroups",0,R,"reorderWorkspaces",0,O,"setGroupCollapsed",0,M,"setWorkspaceGroup",0,G,"ungroupGroup",0,j,"updateActive",0,C,"updateWorkspaceDirectories",0,A,"validateDirectory",0,q],322429)}];
|
|
41
41
|
|
|
42
42
|
//# sourceMappingURL=%5Broot-of-the-server%5D__05ij_ys._.js.map
|