purplemux 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +84 -79
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/routes-manifest.json +47 -7
  6. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-qfa-x._.js +3 -0
  7. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00nrs0h._.js +3 -0
  8. package/.next/standalone/.next/server/chunks/[root-of-the-server]__014kwh_._.js +3 -0
  9. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02v.lnb._.js +3 -0
  10. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03x8rds._.js +3 -0
  11. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04cr_m8._.js +1 -1
  12. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06j59n1._.js +3 -0
  13. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07gfnob._.js +1 -1
  14. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07xijrd._.js +1 -1
  15. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08tdlcm._.js +1 -1
  16. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09_6_.~._.js +3 -0
  17. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09gkm_6._.js +1 -1
  18. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_uldiw._.js +15 -0
  19. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a4t.z5._.js +52 -0
  20. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ar~lbk._.js +3 -0
  21. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bo-su1._.js +1 -1
  22. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c-bb5d._.js +1 -1
  23. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dvelfj._.js +52 -0
  24. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e.7isl._.js +5 -0
  25. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gcec.8._.js +3 -0
  26. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0i1m1v9._.js +3 -0
  27. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ihlt6s._.js +1 -1
  28. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kd7wei._.js +3 -0
  29. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mky_tj._.js +35 -2
  30. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0oiiu_o._.js +3 -0
  31. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0oqgn2h._.js +3 -0
  32. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qvunc5._.js +1 -1
  33. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0r77-u1._.js +52 -0
  34. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rhb4gk._.js +3 -0
  35. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vi8p6v._.js +1 -1
  36. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w0wz~a._.js +3 -0
  37. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w3m-oz._.js +1 -1
  38. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zh8xur._.js +3 -0
  39. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~iu3jq._.js +3 -0
  40. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11xw16l._.js +3 -0
  41. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12nr~pb._.js +1 -1
  42. package/.next/standalone/.next/server/chunks/{_0v81st0._.js → _0.pa6m1._.js} +1 -1
  43. package/.next/standalone/.next/server/chunks/_05ib7yu._.js +3 -0
  44. package/.next/standalone/.next/server/chunks/{_0ll-5~7._.js → _09y8.gr._.js} +1 -1
  45. package/.next/standalone/.next/server/chunks/{_0.5a4bu._.js → _0mwq11h._.js} +1 -1
  46. package/.next/standalone/.next/server/chunks/_0y4b49w._.js +3 -0
  47. package/.next/standalone/.next/server/chunks/_0zcb2f0._.js +3 -0
  48. package/.next/standalone/.next/server/chunks/{node_modules_ws_124xx2_._.js → _106a~ya._.js} +2 -2
  49. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_pages-api_00-t8sq.js +1 -1
  50. package/.next/standalone/.next/server/chunks/src_lib_00fhuqb._.js +3 -0
  51. package/.next/standalone/.next/server/chunks/src_lib_0dvlmi4._.js +15 -0
  52. package/.next/standalone/.next/server/chunks/src_lib_0ojl2hg._.js +52 -0
  53. package/.next/standalone/.next/server/chunks/src_lib_layout-store_ts_0fanx7c._.js +1 -1
  54. package/.next/standalone/.next/server/chunks/src_lib_status-manager_ts_003hlhy._.js +1 -13
  55. package/.next/standalone/.next/server/chunks/src_lib_workspace-store_ts_0vqt073._.js +1 -40
  56. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ap_bxo._.js +3 -0
  57. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t9ru13._.js +1 -1
  58. package/.next/standalone/.next/server/chunks/ssr/_0-9ezhb._.js +3 -0
  59. package/.next/standalone/.next/server/chunks/ssr/{_101yu0w._.js → _0-kyl7i._.js} +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/_003~2_g._.js +3 -0
  61. package/.next/standalone/.next/server/chunks/ssr/_00zsk6a._.js +3 -0
  62. package/.next/standalone/.next/server/chunks/ssr/_017c8be._.js +3 -0
  63. package/.next/standalone/.next/server/chunks/ssr/_01eupc5._.js +3 -0
  64. package/.next/standalone/.next/server/chunks/ssr/_05bq96_._.js +1 -1
  65. package/.next/standalone/.next/server/chunks/ssr/{_0c1yivm._.js → _070zc_o._.js} +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/_07jud1p._.js +1 -1
  67. package/.next/standalone/.next/server/chunks/ssr/_0_sz4y0._.js +3 -0
  68. package/.next/standalone/.next/server/chunks/ssr/_0_uqm-4._.js +3 -0
  69. package/.next/standalone/.next/server/chunks/ssr/{_0ftinmo._.js → _0ed.wmt._.js} +2 -2
  70. package/.next/standalone/.next/server/chunks/ssr/_0egedv6._.js +3 -0
  71. package/.next/standalone/.next/server/chunks/ssr/{_0-ug5tr._.js → _0fota2a._.js} +2 -2
  72. package/.next/standalone/.next/server/chunks/ssr/_0h4kenr._.js +1 -1
  73. package/.next/standalone/.next/server/chunks/ssr/_0ihbr8k._.js +1 -1
  74. package/.next/standalone/.next/server/chunks/ssr/_0lpqhot._.js +3 -0
  75. package/.next/standalone/.next/server/chunks/ssr/_0mltzed._.js +3 -0
  76. package/.next/standalone/.next/server/chunks/ssr/_0nbe6mv._.js +3 -0
  77. package/.next/standalone/.next/server/chunks/ssr/_0pg-q18._.js +1 -1
  78. package/.next/standalone/.next/server/chunks/ssr/_0pp3e5j._.js +1 -1
  79. package/.next/standalone/.next/server/chunks/ssr/_0ttiybw._.js +18 -0
  80. package/.next/standalone/.next/server/chunks/ssr/_0w.1ts8._.js +1 -1
  81. package/.next/standalone/.next/server/chunks/ssr/_0w6jc9p._.js +1 -1
  82. package/.next/standalone/.next/server/chunks/ssr/_0xp3-y6._.js +3 -0
  83. package/.next/standalone/.next/server/chunks/ssr/_0y7o.rg._.js +3 -0
  84. package/.next/standalone/.next/server/chunks/ssr/_0ytb_c0._.js +3 -0
  85. package/.next/standalone/.next/server/chunks/ssr/{_0ozy~xe._.js → _0~hz1fq._.js} +2 -2
  86. package/.next/standalone/.next/server/chunks/ssr/_1289s74._.js +3 -0
  87. package/.next/standalone/.next/server/chunks/ssr/{_02jzd5g._.js → _13gee5r._.js} +2 -2
  88. package/.next/standalone/.next/server/chunks/ssr/messages_de_terminal_json_[json]_cjs_05jirtw._.js +1 -1
  89. package/.next/standalone/.next/server/chunks/ssr/messages_de_webBrowser_json_[json]_cjs_0wfz-ul._.js +1 -1
  90. package/.next/standalone/.next/server/chunks/ssr/messages_en_terminal_json_[json]_cjs_0~ls3g-._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/ssr/messages_en_webBrowser_json_[json]_cjs_0oirdko._.js +1 -1
  92. package/.next/standalone/.next/server/chunks/ssr/messages_es_terminal_json_[json]_cjs_04g2b1_._.js +1 -1
  93. package/.next/standalone/.next/server/chunks/ssr/messages_es_webBrowser_json_[json]_cjs_0w_no_c._.js +1 -1
  94. package/.next/standalone/.next/server/chunks/ssr/messages_fr_terminal_json_[json]_cjs_0uhakya._.js +1 -1
  95. package/.next/standalone/.next/server/chunks/ssr/messages_fr_webBrowser_json_[json]_cjs_00tbjsf._.js +1 -1
  96. package/.next/standalone/.next/server/chunks/ssr/messages_ja_terminal_json_[json]_cjs_0776z4f._.js +1 -1
  97. package/.next/standalone/.next/server/chunks/ssr/messages_ja_webBrowser_json_[json]_cjs_0tp7~.s._.js +1 -1
  98. package/.next/standalone/.next/server/chunks/ssr/messages_ko_terminal_json_[json]_cjs_06611.3._.js +1 -1
  99. package/.next/standalone/.next/server/chunks/ssr/messages_ko_webBrowser_json_[json]_cjs_0ibtysu._.js +1 -1
  100. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_terminal_json_[json]_cjs_034yyg9._.js +1 -1
  101. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_webBrowser_json_[json]_cjs_0eu9fbw._.js +1 -1
  102. package/.next/standalone/.next/server/chunks/ssr/messages_ru_terminal_json_[json]_cjs_0emk8~n._.js +1 -1
  103. package/.next/standalone/.next/server/chunks/ssr/messages_ru_webBrowser_json_[json]_cjs_113-x8n._.js +1 -1
  104. package/.next/standalone/.next/server/chunks/ssr/messages_tr_terminal_json_[json]_cjs_0xpix8g._.js +1 -1
  105. package/.next/standalone/.next/server/chunks/ssr/messages_tr_webBrowser_json_[json]_cjs_12ziott._.js +1 -1
  106. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_terminal_json_[json]_cjs_12vwl8a._.js +1 -1
  107. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_webBrowser_json_[json]_cjs_0e5lp-q._.js +1 -1
  108. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_terminal_json_[json]_cjs_0spg5z5._.js +1 -1
  109. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_webBrowser_json_[json]_cjs_0u_cpuv._.js +1 -1
  110. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_030gj7p._.js +3 -0
  111. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_04tdvwp._.js +3 -0
  112. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_0bdox2f._.js +3 -0
  113. package/.next/standalone/.next/server/chunks/ssr/{src_components_12mrirb._.js → src_components_0_nzv1r._.js} +1 -1
  114. package/.next/standalone/.next/server/chunks/ssr/{src_components_0_aiven._.js → src_components_0bqqfju._.js} +1 -1
  115. package/.next/standalone/.next/server/chunks/ssr/{src_components_0geizrr._.js → src_components_0rqxlj-._.js} +1 -1
  116. package/.next/standalone/.next/server/chunks/ssr/{src_components_11_1i~k._.js → src_components_0s~.n3e._.js} +1 -1
  117. package/.next/standalone/.next/server/chunks/ssr/src_components_features_mobile_mobile-terminal-page_tsx_02chzch._.js +1 -1
  118. package/.next/standalone/.next/server/chunks/ssr/src_components_features_workspace_terminal-page_tsx_0wuq-jl._.js +1 -1
  119. package/.next/standalone/.next/server/chunks/ssr/src_lib_message-namespaces_ts_0wjpvu5._.js +3 -0
  120. package/.next/standalone/.next/server/chunks/ssr/src_lib_workspace-store_ts_00x-rec._.js +10 -0
  121. package/.next/standalone/.next/server/middleware-build-manifest.js +84 -79
  122. package/.next/standalone/.next/server/pages/_app/build-manifest.json +4 -4
  123. package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
  124. package/.next/standalone/.next/server/pages/_app.js +2 -2
  125. package/.next/standalone/.next/server/pages/_app.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/pages/api/auth/login.js +2 -2
  127. package/.next/standalone/.next/server/pages/api/auth/login.js.nft.json +1 -1
  128. package/.next/standalone/.next/server/pages/api/auth/preflight.js +2 -2
  129. package/.next/standalone/.next/server/pages/api/auth/preflight.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/pages/api/auth/setup.js +2 -2
  131. package/.next/standalone/.next/server/pages/api/auth/setup.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/pages/api/check-claude.js +5 -1
  133. package/.next/standalone/.next/server/pages/api/check-claude.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console/pages-manifest.json +3 -0
  135. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js +8 -0
  136. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js.map +5 -0
  137. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js.nft.json +1 -0
  138. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval/pages-manifest.json +3 -0
  139. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js +8 -0
  140. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js.map +5 -0
  141. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js.nft.json +1 -0
  142. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network/pages-manifest.json +3 -0
  143. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js +8 -0
  144. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js.map +5 -0
  145. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js.nft.json +1 -0
  146. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot/pages-manifest.json +3 -0
  147. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js +8 -0
  148. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js.map +5 -0
  149. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js.nft.json +1 -0
  150. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url/pages-manifest.json +3 -0
  151. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js +8 -0
  152. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js.map +5 -0
  153. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js.nft.json +1 -0
  154. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js +3 -3
  155. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js +3 -3
  157. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js +3 -3
  159. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js +3 -3
  161. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js.nft.json +1 -1
  162. package/.next/standalone/.next/server/pages/api/cli/tabs.js +3 -3
  163. package/.next/standalone/.next/server/pages/api/cli/tabs.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/pages/api/cli/workspaces.js +2 -2
  165. package/.next/standalone/.next/server/pages/api/cli/workspaces.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/pages/api/config.js +2 -2
  167. package/.next/standalone/.next/server/pages/api/config.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/pages/api/layout/diff.js +1 -1
  169. package/.next/standalone/.next/server/pages/api/layout/diff.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js +2 -2
  171. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js +5 -5
  173. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.nft.json +1 -1
  174. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js +2 -2
  175. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +5 -5
  177. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js +2 -2
  179. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js.nft.json +1 -1
  180. package/.next/standalone/.next/server/pages/api/layout/pane.js +2 -2
  181. package/.next/standalone/.next/server/pages/api/layout/pane.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/pages/api/layout.js +2 -2
  183. package/.next/standalone/.next/server/pages/api/layout.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/pages/api/message-history.js +2 -2
  185. package/.next/standalone/.next/server/pages/api/message-history.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/pages/api/preflight/runtime.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js.nft.json +1 -1
  189. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/pages/api/stats/projects.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/pages/api/stats/sessions.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/pages/api/stats/uptime.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/pages/api/status/hook.js +6 -6
  194. package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -1
  195. package/.next/standalone/.next/server/pages/api/status/statusline.js +6 -6
  196. package/.next/standalone/.next/server/pages/api/status/statusline.js.nft.json +1 -1
  197. package/.next/standalone/.next/server/pages/api/timeline/sessions.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js +3 -2
  199. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js.nft.json +1 -1
  200. package/.next/standalone/.next/server/pages/api/tmux/plan-options.js +3 -2
  201. package/.next/standalone/.next/server/pages/api/tmux/plan-options.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +5 -5
  203. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/pages/api/tmux/reset.js +5 -5
  205. package/.next/standalone/.next/server/pages/api/tmux/reset.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js +2 -2
  207. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js.nft.json +1 -1
  208. package/.next/standalone/.next/server/pages/api/workspace/active.js +2 -2
  209. package/.next/standalone/.next/server/pages/api/workspace/active.js.nft.json +1 -1
  210. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js +2 -2
  211. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js.nft.json +1 -1
  212. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js +2 -2
  213. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/pages/api/workspace/group.js +2 -2
  215. package/.next/standalone/.next/server/pages/api/workspace/group.js.nft.json +1 -1
  216. package/.next/standalone/.next/server/pages/api/workspace/reorder.js +2 -2
  217. package/.next/standalone/.next/server/pages/api/workspace/reorder.js.nft.json +1 -1
  218. package/.next/standalone/.next/server/pages/api/workspace/validate.js +2 -2
  219. package/.next/standalone/.next/server/pages/api/workspace/validate.js.nft.json +1 -1
  220. package/.next/standalone/.next/server/pages/api/workspace.js +5 -5
  221. package/.next/standalone/.next/server/pages/api/workspace.js.nft.json +1 -1
  222. package/.next/standalone/.next/server/pages/de/404.html +1 -1
  223. package/.next/standalone/.next/server/pages/de/500.html +1 -1
  224. package/.next/standalone/.next/server/pages/en/404.html +1 -1
  225. package/.next/standalone/.next/server/pages/en/500.html +1 -1
  226. package/.next/standalone/.next/server/pages/es/404.html +1 -1
  227. package/.next/standalone/.next/server/pages/es/500.html +1 -1
  228. package/.next/standalone/.next/server/pages/fr/404.html +1 -1
  229. package/.next/standalone/.next/server/pages/fr/500.html +1 -1
  230. package/.next/standalone/.next/server/pages/index/build-manifest.json +16 -15
  231. package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
  232. package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +9 -9
  233. package/.next/standalone/.next/server/pages/index.js +13 -12
  234. package/.next/standalone/.next/server/pages/index.js.nft.json +1 -1
  235. package/.next/standalone/.next/server/pages/ja/404.html +1 -1
  236. package/.next/standalone/.next/server/pages/ja/500.html +1 -1
  237. package/.next/standalone/.next/server/pages/ko/404.html +1 -1
  238. package/.next/standalone/.next/server/pages/ko/500.html +1 -1
  239. package/.next/standalone/.next/server/pages/login/build-manifest.json +9 -8
  240. package/.next/standalone/.next/server/pages/login/client-build-manifest.json +1 -1
  241. package/.next/standalone/.next/server/pages/login.js +8 -7
  242. package/.next/standalone/.next/server/pages/login.js.nft.json +1 -1
  243. package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
  244. package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
  245. package/.next/standalone/.next/server/pages/reports/build-manifest.json +14 -13
  246. package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
  247. package/.next/standalone/.next/server/pages/reports/react-loadable-manifest.json +1 -1
  248. package/.next/standalone/.next/server/pages/reports.js +15 -14
  249. package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/pages/reset.js.nft.json +1 -1
  251. package/.next/standalone/.next/server/pages/ru/404.html +1 -1
  252. package/.next/standalone/.next/server/pages/ru/500.html +1 -1
  253. package/.next/standalone/.next/server/pages/stats/build-manifest.json +15 -14
  254. package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
  255. package/.next/standalone/.next/server/pages/stats/react-loadable-manifest.json +1 -1
  256. package/.next/standalone/.next/server/pages/stats.js +13 -12
  257. package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
  258. package/.next/standalone/.next/server/pages/tools-required/build-manifest.json +6 -6
  259. package/.next/standalone/.next/server/pages/tools-required/client-build-manifest.json +1 -1
  260. package/.next/standalone/.next/server/pages/tools-required.js +4 -3
  261. package/.next/standalone/.next/server/pages/tools-required.js.nft.json +1 -1
  262. package/.next/standalone/.next/server/pages/tr/404.html +1 -1
  263. package/.next/standalone/.next/server/pages/tr/500.html +1 -1
  264. package/.next/standalone/.next/server/pages/webview/build-manifest.json +17 -16
  265. package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
  266. package/.next/standalone/.next/server/pages/webview/react-loadable-manifest.json +1 -1
  267. package/.next/standalone/.next/server/pages/webview.js +13 -12
  268. package/.next/standalone/.next/server/pages/webview.js.nft.json +1 -1
  269. package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
  270. package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
  271. package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
  272. package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
  273. package/.next/standalone/.next/server/pages-manifest.json +5 -0
  274. package/.next/standalone/.next/static/chunks/{11tnyk0iystp1.js → 0--r5y9cw3.0z.js} +1 -1
  275. package/.next/standalone/.next/static/chunks/{0w1ldes9u.mhe.js → 0-8v00lvs9_s0.js} +1 -1
  276. package/.next/standalone/.next/static/chunks/{0oy5nvsojxb2i.js → 0-rskn1p_p.qb.js} +1 -1
  277. package/.next/standalone/.next/static/chunks/{0h7n~i8gk~-a2.js → 0.4j~sc70rsrv.js} +1 -1
  278. package/.next/standalone/.next/static/chunks/{0g0xm7shj062y.js → 001_h.~thz3j3.js} +1 -1
  279. package/.next/standalone/.next/static/chunks/{0ynitrrzdxcnh.js → 00gxls80r--_0.js} +9 -8
  280. package/.next/standalone/.next/static/chunks/{121i8u8byuotx.js → 01rmp.m_ls7z_.js} +1 -1
  281. package/.next/standalone/.next/static/chunks/{0312riii_sl_1.js → 02o84r01jsc.z.js} +1 -1
  282. package/.next/standalone/.next/static/chunks/039-4cgt.dvjg.js +1 -0
  283. package/.next/standalone/.next/static/chunks/03t01d94eyxh2.js +1 -0
  284. package/.next/standalone/.next/static/chunks/04hn532e1vcts.js +1 -0
  285. package/.next/standalone/.next/static/chunks/05o56eq7.f3q2.js +1 -0
  286. package/.next/standalone/.next/static/chunks/{0x.dxrfqc.ix9.js → 0628quqp4ggh9.js} +1 -1
  287. package/.next/standalone/.next/static/chunks/06ak74s111wx-.js +1 -0
  288. package/.next/standalone/.next/static/chunks/07yop4v9xcwb9.js +1 -0
  289. package/.next/standalone/.next/static/chunks/08d6vee5l~1wn.js +1 -0
  290. package/.next/standalone/.next/static/chunks/09o2m0ingey8v.js +1 -0
  291. package/.next/standalone/.next/static/chunks/{0d5b6a8r1tk95.js → 09s7ub8rgh~u-.js} +1 -1
  292. package/.next/standalone/.next/static/chunks/{02su2lz3i24nj.js → 09zxrli-btome.js} +1 -1
  293. package/.next/standalone/.next/static/chunks/0_7~rgbkmfo_p.js +1 -0
  294. package/.next/standalone/.next/static/chunks/0a1xt.enr50l5.js +1 -0
  295. package/.next/standalone/.next/static/chunks/{0-p.9vdmq-_co.js → 0am7rh7xdv5lw.js} +4 -4
  296. package/.next/standalone/.next/static/chunks/{13u3mwvwu3kc..js → 0apqp49tgoz~z.js} +1 -1
  297. package/.next/standalone/.next/static/chunks/{0_67ozmvnvz16.js → 0bx27stclo8g5.js} +1 -1
  298. package/.next/standalone/.next/static/chunks/0ddh4qmi2awdq.js +1 -0
  299. package/.next/standalone/.next/static/chunks/0dwxj97xm70gv.js +1 -0
  300. package/.next/standalone/.next/static/chunks/0f3q6qhpk.i_r.js +1 -0
  301. package/.next/standalone/.next/static/chunks/{07.5h~7~q9~1e.js → 0f_7vuqno92ye.js} +1 -1
  302. package/.next/standalone/.next/static/chunks/0fsldybjx443~.js +1 -0
  303. package/.next/standalone/.next/static/chunks/0gfhd.gsbt9qg.js +1 -0
  304. package/.next/standalone/.next/static/chunks/0hv4~cszgs3im.js +1 -0
  305. package/.next/standalone/.next/static/chunks/0ic.mcu6-9din.js +1 -0
  306. package/.next/standalone/.next/static/chunks/0k4b.~5c4nvtm.js +1 -0
  307. package/.next/standalone/.next/static/chunks/0kqxfunh4731g.js +1 -0
  308. package/.next/standalone/.next/static/chunks/{0fn24h74ta78c.js → 0k~crb4s4z7gy.js} +1 -1
  309. package/.next/standalone/.next/static/chunks/0lrjdru2bjp.x.js +1 -0
  310. package/.next/standalone/.next/static/chunks/0lujhtd04orw5.js +1 -0
  311. package/.next/standalone/.next/static/chunks/0mwkajcworx_-.js +1 -0
  312. package/.next/standalone/.next/static/chunks/0nqofghl.17w_.js +1 -0
  313. package/.next/standalone/.next/static/chunks/0o1lsz827g-q_.js +1 -0
  314. package/.next/standalone/.next/static/chunks/0qqsez8ir1.fs.js +1 -0
  315. package/.next/standalone/.next/static/chunks/{0_htal_j04mkg.js → 0r3lm4_qr3y.a.js} +1 -1
  316. package/.next/standalone/.next/static/chunks/{06vxx-4w.uvj0.js → 0rahh2v7~f4tj.js} +17 -16
  317. package/.next/standalone/.next/static/chunks/{0pxbg4s8a4y54.js → 0rb41e1r1urhx.js} +1 -1
  318. package/.next/standalone/.next/static/chunks/0uii4rziiew3_.js +1 -0
  319. package/.next/standalone/.next/static/chunks/0vtkq~yk_1~gv.js +1 -0
  320. package/.next/standalone/.next/static/chunks/0vx2hhzc46h_7.js +1 -0
  321. package/.next/standalone/.next/static/chunks/0x_.wshvak6zp.js +1 -0
  322. package/.next/standalone/.next/static/chunks/0xa1.t1vj1mw0.js +1 -0
  323. package/.next/standalone/.next/static/chunks/0xpr6vw-p8oxk.js +1 -0
  324. package/.next/standalone/.next/static/chunks/{0uzs3jw4-93ly.js → 0zih6-g65txpb.js} +1 -1
  325. package/.next/standalone/.next/static/chunks/0zn1jt__-t51p.js +1 -0
  326. package/.next/standalone/.next/static/chunks/0zrhxc96zwjuv.js +1 -0
  327. package/.next/standalone/.next/static/chunks/0z~yy1lqrvp_a.js +1 -0
  328. package/.next/standalone/.next/static/chunks/0~cgr_3dpx0vl.js +1 -0
  329. package/.next/standalone/.next/static/chunks/{0te1jnz5.rt.r.js → 0~g0t2q6o3r-7.js} +6 -6
  330. package/.next/standalone/.next/static/chunks/0~vfb0ylk_9au.js +16 -0
  331. package/.next/standalone/.next/static/chunks/109f1pvy3e_vd.js +1 -0
  332. package/.next/standalone/.next/static/chunks/10em078j6cul4.js +1 -0
  333. package/.next/standalone/.next/static/chunks/{0a9t5laucshuf.js → 10todxw2604hk.js} +1 -1
  334. package/.next/standalone/.next/static/chunks/{05zne4hn1v65k.js → 10uz6x-h~dv0..js} +14 -13
  335. package/.next/standalone/.next/static/chunks/{0~nexgc77r_hk.js → 13q-ol3bkz8ft.js} +16 -15
  336. package/.next/standalone/.next/static/chunks/14if5vtky.3sn.js +1 -0
  337. package/.next/standalone/.next/static/chunks/{017n78o_7xb4_.js → 15hd85wggjanq.js} +1 -1
  338. package/.next/standalone/.next/static/chunks/15i_n03eg5uyp.js +1 -0
  339. package/.next/standalone/.next/static/chunks/15sblmrroyskk.js +1 -0
  340. package/.next/standalone/.next/static/chunks/1756nfyulu.9h.css +1 -0
  341. package/.next/standalone/.next/static/chunks/{0j.sfmmqj2xel.js → 17rh_.7tkk2m0.js} +15 -14
  342. package/.next/standalone/.next/static/chunks/turbopack-02..gqxjw9fev.js +1 -0
  343. package/.next/standalone/.next/static/chunks/turbopack-05luogg2yney~.js +1 -0
  344. package/.next/standalone/.next/static/chunks/turbopack-092b2t67-z3ds.js +1 -0
  345. package/.next/standalone/.next/static/chunks/turbopack-0eue2xixdnbd..js +1 -0
  346. package/.next/standalone/.next/static/chunks/{turbopack-15bv~a4hbvh29.js → turbopack-0i6l53-j6t6zg.js} +1 -1
  347. package/.next/standalone/.next/static/chunks/{turbopack-0d-xk62f1t05v.js → turbopack-0ser1ty-sh2jk.js} +1 -1
  348. package/.next/standalone/.next/static/chunks/{turbopack-0zcblahe.hdqd.js → turbopack-0zouy.~ram.7g.js} +1 -1
  349. package/.next/standalone/.next/static/{X7BRO7ORR4bKFt1LXzGU8 → onsm_2jNZvyggHqM9yibn}/_buildManifest.js +11 -6
  350. package/.next/standalone/messages/de/terminal.json +4 -0
  351. package/.next/standalone/messages/de/webBrowser.json +5 -1
  352. package/.next/standalone/messages/en/terminal.json +4 -0
  353. package/.next/standalone/messages/en/webBrowser.json +5 -1
  354. package/.next/standalone/messages/es/terminal.json +4 -0
  355. package/.next/standalone/messages/es/webBrowser.json +5 -1
  356. package/.next/standalone/messages/fr/terminal.json +4 -0
  357. package/.next/standalone/messages/fr/webBrowser.json +5 -1
  358. package/.next/standalone/messages/ja/terminal.json +4 -0
  359. package/.next/standalone/messages/ja/webBrowser.json +5 -1
  360. package/.next/standalone/messages/ko/terminal.json +4 -0
  361. package/.next/standalone/messages/ko/webBrowser.json +5 -1
  362. package/.next/standalone/messages/pt-BR/terminal.json +4 -0
  363. package/.next/standalone/messages/pt-BR/webBrowser.json +5 -1
  364. package/.next/standalone/messages/ru/terminal.json +4 -0
  365. package/.next/standalone/messages/ru/webBrowser.json +5 -1
  366. package/.next/standalone/messages/tr/terminal.json +4 -0
  367. package/.next/standalone/messages/tr/webBrowser.json +5 -1
  368. package/.next/standalone/messages/zh-CN/terminal.json +4 -0
  369. package/.next/standalone/messages/zh-CN/webBrowser.json +5 -1
  370. package/.next/standalone/messages/zh-TW/terminal.json +4 -0
  371. package/.next/standalone/messages/zh-TW/webBrowser.json +5 -1
  372. package/.next/standalone/package.json +5 -2
  373. package/.next/standalone/server.js +1 -1
  374. package/.next/standalone/src/config/tmux.conf +17 -7
  375. package/.next/standalone/src/lib/providers/claude/index.ts +44 -0
  376. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/index.ts +13 -6
  377. package/README.de.md +5 -4
  378. package/README.es.md +5 -4
  379. package/README.fr.md +5 -4
  380. package/README.ja.md +5 -4
  381. package/README.ko.md +5 -4
  382. package/README.md +5 -4
  383. package/README.pt-BR.md +5 -4
  384. package/README.ru.md +5 -4
  385. package/README.tr.md +5 -4
  386. package/README.zh-CN.md +5 -4
  387. package/README.zh-TW.md +5 -4
  388. package/bin/cli.js +95 -0
  389. package/dist/server.js +974 -852
  390. package/package.json +5 -2
  391. package/src/config/tmux.conf +17 -7
  392. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01.~37j._.js +0 -3
  393. package/.next/standalone/.next/server/chunks/[root-of-the-server]__016s4a9._.js +0 -3
  394. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02.9a5j._.js +0 -3
  395. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03l15.f._.js +0 -3
  396. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05ij_ys._.js +0 -42
  397. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06h3gzy._.js +0 -3
  398. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_fu3k.._.js +0 -3
  399. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_imm_0._.js +0 -3
  400. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0abp0lo._.js +0 -3
  401. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0auutl5._.js +0 -5
  402. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d-inw8._.js +0 -3
  403. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g8mjyh._.js +0 -3
  404. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lk7ru8._.js +0 -3
  405. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l~_wd0._.js +0 -3
  406. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ovn6yp._.js +0 -3
  407. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0un_g-o._.js +0 -3
  408. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12ksl6n._.js +0 -42
  409. package/.next/standalone/.next/server/chunks/_03-duro._.js +0 -3
  410. package/.next/standalone/.next/server/chunks/_07097f~._.js +0 -3
  411. package/.next/standalone/.next/server/chunks/_0z7d6.z._.js +0 -3
  412. package/.next/standalone/.next/server/chunks/src_lib_0p.xsqi._.js +0 -3
  413. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0da5cj~._.js +0 -3
  414. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12b2-y_._.js +0 -3
  415. package/.next/standalone/.next/server/chunks/ssr/_016o9_-._.js +0 -3
  416. package/.next/standalone/.next/server/chunks/ssr/_04iqb-o._.js +0 -3
  417. package/.next/standalone/.next/server/chunks/ssr/_04q3_kj._.js +0 -3
  418. package/.next/standalone/.next/server/chunks/ssr/_0a_u5qm._.js +0 -3
  419. package/.next/standalone/.next/server/chunks/ssr/_0d58w1~._.js +0 -3
  420. package/.next/standalone/.next/server/chunks/ssr/_0nib_x8._.js +0 -3
  421. package/.next/standalone/.next/server/chunks/ssr/_0nuztht._.js +0 -18
  422. package/.next/standalone/.next/server/chunks/ssr/_0oca87b._.js +0 -3
  423. package/.next/standalone/.next/server/chunks/ssr/_0ovjjn5._.js +0 -3
  424. package/.next/standalone/.next/server/chunks/ssr/_0pk4~_0._.js +0 -3
  425. package/.next/standalone/.next/server/chunks/ssr/_0qt-m3l._.js +0 -3
  426. package/.next/standalone/.next/server/chunks/ssr/_0sm8slq._.js +0 -3
  427. package/.next/standalone/.next/server/chunks/ssr/_10s2f96._.js +0 -3
  428. package/.next/standalone/.next/server/chunks/ssr/_13c-b~p._.js +0 -3
  429. package/.next/standalone/.next/server/chunks/ssr/_13lrp9_._.js +0 -3
  430. package/.next/standalone/.next/static/chunks/0-7en.d6a3jki.js +0 -1
  431. package/.next/standalone/.next/static/chunks/0-pm5wxsyxs3e.js +0 -1
  432. package/.next/standalone/.next/static/chunks/01ul8lmr04ls3.js +0 -1
  433. package/.next/standalone/.next/static/chunks/05b7zy0n0vhms.js +0 -1
  434. package/.next/standalone/.next/static/chunks/05kshd9vdrl4o.js +0 -1
  435. package/.next/standalone/.next/static/chunks/05w~qu2zpvh2f.js +0 -1
  436. package/.next/standalone/.next/static/chunks/08f708~_7uy_i.js +0 -1
  437. package/.next/standalone/.next/static/chunks/0af.3khnmptnl.js +0 -1
  438. package/.next/standalone/.next/static/chunks/0cvx059r5hgj1.js +0 -1
  439. package/.next/standalone/.next/static/chunks/0dp178b-0_ltl.js +0 -1
  440. package/.next/standalone/.next/static/chunks/0ebjicjua7yl-.js +0 -1
  441. package/.next/standalone/.next/static/chunks/0gn-f6_m696k0.js +0 -1
  442. package/.next/standalone/.next/static/chunks/0kaufevqdhsld.js +0 -1
  443. package/.next/standalone/.next/static/chunks/0n2k1al4sr_qq.css +0 -1
  444. package/.next/standalone/.next/static/chunks/0n4fv8.loh_0x.js +0 -1
  445. package/.next/standalone/.next/static/chunks/0nn618je7_7ec.js +0 -16
  446. package/.next/standalone/.next/static/chunks/0pv9~yath4mjh.js +0 -1
  447. package/.next/standalone/.next/static/chunks/0q0yh17_ncipj.js +0 -1
  448. package/.next/standalone/.next/static/chunks/0qkrdmhiv-0d3.js +0 -1
  449. package/.next/standalone/.next/static/chunks/0r9z55-r31en8.js +0 -1
  450. package/.next/standalone/.next/static/chunks/0ra09kjja5rf..js +0 -1
  451. package/.next/standalone/.next/static/chunks/0sc7tkg1gojr..js +0 -1
  452. package/.next/standalone/.next/static/chunks/0u.snf3d~5nvq.js +0 -1
  453. package/.next/standalone/.next/static/chunks/0u9yrtrs1bktp.js +0 -1
  454. package/.next/standalone/.next/static/chunks/0v.l~.~v98c2c.js +0 -1
  455. package/.next/standalone/.next/static/chunks/0wu~4k-l8otuy.js +0 -1
  456. package/.next/standalone/.next/static/chunks/0wvu-lowt9uem.js +0 -1
  457. package/.next/standalone/.next/static/chunks/0x7cvsf..ezd..js +0 -1
  458. package/.next/standalone/.next/static/chunks/0yb~gw6ukzdmo.js +0 -1
  459. package/.next/standalone/.next/static/chunks/0yg3hj1g~k1ip.js +0 -1
  460. package/.next/standalone/.next/static/chunks/0z_~g~mb.kjs1.js +0 -1
  461. package/.next/standalone/.next/static/chunks/0~c6h8j7ut2ca.js +0 -1
  462. package/.next/standalone/.next/static/chunks/0~lnp45fxxtgz.js +0 -1
  463. package/.next/standalone/.next/static/chunks/0~ts_4hi7.u_0.js +0 -1
  464. package/.next/standalone/.next/static/chunks/13_l03e3sab-g.js +0 -1
  465. package/.next/standalone/.next/static/chunks/156~ejmpjxu8e.js +0 -1
  466. package/.next/standalone/.next/static/chunks/15m4y6otktj8z.js +0 -1
  467. package/.next/standalone/.next/static/chunks/16bag6z7n~ffw.js +0 -1
  468. package/.next/standalone/.next/static/chunks/17ebdp-_o5o30.js +0 -1
  469. package/.next/standalone/.next/static/chunks/turbopack-0nn9kx.dkgwqs.js +0 -1
  470. package/.next/standalone/.next/static/chunks/turbopack-0rb3q18bhb2hu.js +0 -1
  471. package/.next/standalone/.next/static/chunks/turbopack-0~wmco6ifn20m.js +0 -1
  472. package/.next/standalone/.next/static/chunks/turbopack-1469mxaruw82d.js +0 -1
  473. /package/.next/standalone/.next/static/{X7BRO7ORR4bKFt1LXzGU8 → onsm_2jNZvyggHqM9yibn}/_clientMiddlewareManifest.js +0 -0
  474. /package/.next/standalone/.next/static/{X7BRO7ORR4bKFt1LXzGU8 → onsm_2jNZvyggHqM9yibn}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[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"))},25146,e=>{"use strict";var t=e.i(130146),r=e.i(814747),s=e.i(446786);let o=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),n=["trace","debug","info","warn","error","fatal"],l=globalThis;if(!l.__ptRootLogger){let e=[i,...Object.values(a)].reduce((e,t)=>n.indexOf(t)<n.indexOf(e)?t:e,"fatal");l.__ptRootLogger=(0,t.default)({level:e,transport:{targets:[{target:"pino-roll",level:e,options:{file:r.default.join(o,"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}])},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"))},666126,e=>{"use strict";e.i(478319);var t=e.i(220951);(0,e.i(25146).createLogger)("sync");let r=globalThis;r.__ptSyncClients||(r.__ptSyncClients=new Set);let s=r.__ptSyncClients;e.s(["broadcastSync",0,e=>{let r=JSON.stringify(e);for(let e of s)e.readyState===t.WebSocket.OPEN&&e.bufferedAmount<1048576&&e.send(r)}])},845994,e=>{"use strict";var t=e.i(924868),r=e.i(814747),s=e.i(446786),o=e.i(254799),i=e.i(666126);(0,e.i(25146).createLogger)("config");let a=r.default.join(s.default.homedir(),".purplemux"),n=r.default.join(a,"config.json"),l=globalThis;l.__ptConfigLock||(l.__ptConfigLock=Promise.resolve());let u=async e=>{let t,r=new Promise(e=>{t=e}),s=l.__ptConfigLock;l.__ptConfigLock=r,await s;try{return await e()}finally{t()}},d=()=>({updatedAt:new Date().toISOString()}),p=async()=>{try{let e=await t.default.readFile(n,"utf-8");return JSON.parse(e)}catch{return null}},c=async e=>{let{updatedAt:r,...s}=e,o=JSON.stringify(s);if(l.__ptConfigContentCache===o)return;e.updatedAt=new Date().toISOString();let a=n+".tmp";try{await t.default.writeFile(a,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(a,n)}catch(e){throw await t.default.unlink(a).catch(()=>{}),e}l.__ptConfigContentCache=o,(0,i.broadcastSync)({type:"config"})},f="scrypt:",g=e=>"string"==typeof e&&e.startsWith(f),m=async e=>{let t=o.default.randomBytes(16),r=await new Promise((r,s)=>{o.default.scrypt(e,t,64,(e,t)=>{e?s(e):r(t)})});return`${f}${t.toString("hex")}:${r.toString("hex")}`},h=async(e,t)=>{if(!g(t))return!1;let[,r,s]=t.split(":"),i=Buffer.from(r,"hex"),a=Buffer.from(s,"hex"),n=await new Promise((t,r)=>{o.default.scrypt(e,i,a.length,(e,s)=>{e?r(e):t(s)})});return o.default.timingSafeEqual(n,a)},y=async()=>await p()??d(),w=async e=>u(async()=>{let t=await p()??d();Object.assign(t,e),await c(t)}),x=async()=>{let e=await p();return!g(e?.authPassword)},S=async()=>{let e=await p();return e?.dangerouslySkipPermissions??!1};e.s(["generateSecret",0,()=>o.default.randomBytes(32).toString("hex"),"getConfig",0,y,"getDangerouslySkipPermissions",0,S,"hashPassword",0,m,"needsSetup",0,x,"updateConfig",0,w,"verifyPassword",0,h])},716018,e=>{"use strict";e.i(446786);e.s(["isBoundToLocalhostOnly",0,()=>"127.0.0.1"===(process.env.__PMUX_BOUND_HOST??"0.0.0.0"),"updateAccessFromConfig",0,e=>{process.env.HOST?.trim()||(process.env.__PMUX_NETWORK_ACCESS=e)}],716018)},671207,e=>{"use strict";var t=e.i(926747),r=e.i(190406),s=e.i(244898),o=e.i(262950),i=e.i(845994),a=e.i(716018);let n=["code-server","vscode","vscode-insiders","cursor","windsurf","zed","custom","off"],l=["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"],u=e=>"string"==typeof e&&l.includes(e),d=["appTheme","terminalTheme","customCSS","dangerouslySkipPermissions","claudeShowTerminal","editorUrl","editorPreset","authPassword","notificationsEnabled","toastOnCompleteEnabled","toastDuration","toastPositionDesktop","toastPositionMobile","locale","fontSize","systemResourcesEnabled","networkAccess"],p=["localhost","tailscale","all"],c=async(e,t)=>{if("GET"===e.method){let{authPassword:e,authSecret:r,...s}=await (0,i.getConfig)(),o="string"==typeof process.env.HOST&&process.env.HOST.trim().length>0;return t.status(200).json({...s,hasAuthPassword:!!e,hostEnvLocked:o,bindHostIsLocal:(0,a.isBoundToLocalhostOnly)()})}if("PATCH"===e.method){let r,s,o,l=e.body??{},c={};for(let e of d)e in l&&(c[e]=l[e]);if("editorUrl"in c&&"string"!=typeof c.editorUrl)return t.status(400).json({error:"editorUrl must be a string."});if("editorPreset"in c&&!("string"==typeof(r=c.editorPreset)&&n.includes(r)))return t.status(400).json({error:"editorPreset is invalid."});if("networkAccess"in c&&!("string"==typeof(s=c.networkAccess)&&p.includes(s)))return t.status(400).json({error:"networkAccess must be one of: localhost, tailscale, all."});if("toastPositionDesktop"in c&&!u(c.toastPositionDesktop))return t.status(400).json({error:"toastPositionDesktop is invalid."});if("toastPositionMobile"in c&&!u(c.toastPositionMobile))return t.status(400).json({error:"toastPositionMobile is invalid."});if("toastDuration"in c&&!("number"==typeof(o=c.toastDuration)&&Number.isFinite(o)&&o>=1e3&&o<=6e4))return t.status(400).json({error:"toastDuration must be a number between 1000 and 60000."});if("string"==typeof c.authPassword&&c.authPassword){let e=await (0,i.hashPassword)(c.authPassword),t=(0,i.generateSecret)();c.authPassword=e,c.authSecret=t,await (0,i.updateConfig)(c),process.env.AUTH_PASSWORD=e,process.env.NEXTAUTH_SECRET=t}else delete c.authPassword,await (0,i.updateConfig)(c);return"networkAccess"in c&&(0,a.updateAccessFromConfig)(c.networkAccess),t.status(200).json({ok:!0})}return t.setHeader("Allow","GET, PATCH"),t.status(405).json({error:"Method not allowed"})};e.s(["default",0,c],183329);var f=e.i(183329),g=e.i(7031),m=e.i(181927),h=e.i(846432);let y=(0,o.hoist)(f,"default"),w=(0,o.hoist)(f,"config"),x=new s.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/config",pathname:"/api/config",bundlePath:"",filename:""},userland:f,distDir:".next",relativeProjectDir:""});async function S(e,r,s){s.requestMeta&&(0,h.setRequestMeta)(e,s.requestMeta),x.isDev&&(0,h.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let o="/api/config";o=o.replace(/\/index$/,"")||"/";let i=await x.prepare(e,r,{srcPage:o});if(!i){r.statusCode=400,r.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve());return}let{query:a,params:n,prerenderManifest:l,routerServerContext:u}=i;try{let t,s=e.method||"GET",i=(0,g.getTracer)(),d=i.getActiveScopeSpan(),p=!!(null==u?void 0:u.isWrappedByNextServer),c=x.instrumentationOnRequestError.bind(x),f=async d=>x.render(e,r,{query:{...a,...n},params:n,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:x.isDev,page:"/api/config",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>c(e,...t)}).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==m.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}`;d.setAttributes({"next.route":a,"http.route":a,"next.span_name":e}),d.updateName(e),t&&t!==d&&(t.setAttribute("http.route",a),t.updateName(e))}else d.updateName(`${s} ${o}`)});p&&d?await f(d):(t=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(m.BaseServerSpan.handleRequest,{spanName:`${s} ${o}`,kind:g.SpanKind.SERVER,attributes:{"http.method":s,"http.target":e.url}},f),void 0,!p))}catch(e){if(x.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,y,"handler",0,S],671207)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0l~_wd0._.js.map
@@ -1,3 +0,0 @@
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 n=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_"],r=e=>n.has(e)||i.some(t=>e.startsWith(t)),s={TERM:"xterm-256color",COLORTERM:"truecolor"},l=()=>{let e={};for(let[t,n]of Object.entries(a))void 0!==n&&r(t)&&(e[t]=n);return{...e,...s}},u=e=>`'${e.replace(/'/g,"'\\''")}'`,o=()=>a.SHELL||"/bin/bash";e.s(["buildShellEnv",0,()=>l(),"buildShellLaunchCommand",0,()=>{let e=Object.entries(l()).map(([e,t])=>`${e}=${u(t)}`).join(" ");return`env -i TMUX="$TMUX" TMUX_PANE="$TMUX_PANE" ${e} ${u(o())} -l`},"defaultShell",0,o],597789)},25146,e=>{"use strict";var t=e.i(130146),a=e.i(814747),n=e.i(446786);let i=a.default.join(n.default.homedir(),".purplemux","logs"),r=process.env.LOG_LEVEL||"info",s=(e=>{if(!e)return{};let t={};for(let a of e.split(",")){let[e,n]=a.split("=").map(e=>e.trim());e&&n&&(t[e]=n)}return t})(process.env.LOG_LEVELS),l=["trace","debug","info","warn","error","fatal"],u=globalThis;if(!u.__ptRootLogger){let e=[r,...Object.values(s)].reduce((e,t)=>l.indexOf(t)<l.indexOf(e)?t:e,"fatal");u.__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 o=u.__ptRootLogger;e.s(["createLogger",0,e=>{let t=o.child({module:e});return t.level=s[e]??r,t}])},44014,e=>{"use strict";let t,a;var n=e.i(666680);e.s(["nanoid",0,function(e=21){var i;i=e|=0,!t||t.length<i?(t=Buffer.allocUnsafe(128*i),n.webcrypto.getRandomValues(t),a=0):a+i>t.length&&(n.webcrypto.getRandomValues(t),a=0),a+=i;let r="";for(let n=a-e;n<a;n++)r+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&t[n]];return r}],44014)},459015,544538,e=>{"use strict";var t=e.i(233405),a=e.i(924868),n=e.i(224361),i=e.i(814747),r=e.i(44014),s=e.i(965898),l=e.i(597789),u=e.i(25146);process.platform;let o="linux"===process.platform;e.s(["isLinux",0,o],544538);let c=(0,u.createLogger)("terminal"),d=(0,n.promisify)(t.execFile),p="purple",m=i.default.join(process.env.__PMUX_APP_DIR_UNPACKED||process.env.__PMUX_APP_DIR||process.cwd(),"src","config","tmux.conf"),h=async()=>{try{let{stdout:e}=await d("tmux",["-L",p,"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,n)=>{let i=(0,l.buildShellLaunchCommand)();await d("tmux",["-u","-L",p,"-f",m,"new-session","-d","-s",e,"-x",String(t),"-y",String(a),i],{timeout:5e3,cwd:n||s.PRISTINE_ENV.HOME||"/"}),await _(),c.debug(`tmux session created: ${e} (cols: ${t}, rows: ${a})`)},w=e=>new Promise(t=>setTimeout(t,e)),y=async e=>{if(!await g(e))return;c.debug(`killSession start: ${e}`);let t=await P(e);if(t)try{c.debug(`SIGTERM → process group ${t}: ${e}`),process.kill(-t,"SIGTERM")}catch{}try{await d("tmux",["-L",p,"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 w(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 d("tmux",["-L",p,"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 w(200)}c.warn(`tmux session still alive after kill: ${e}`)},g=async e=>{try{return await d("tmux",["-L",p,"has-session","-t",e],{timeout:5e3}),!0}catch{return!1}},S=async()=>{},x=async()=>{await S();let e=await h();e.length>0&&e.forEach(e=>{c.debug(`existing tmux session found: ${e}`)})},v=async e=>{if(o)try{return await a.default.readlink(`/proc/${e}/cwd`)}catch{return null}try{let{stdout:t}=await d("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}},I=async e=>{let t=await P(e);if(t){let e=await v(t);if(e)return e}try{let{stdout:t}=await d("tmux",["-L",p,"display-message","-p","-t",e,"#{pane_current_path}"],{timeout:5e3});return t.trim()||null}catch{return null}},P=async e=>{try{let{stdout:t}=await d("tmux",["-L",p,"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 d("tmux",["-L",p,"source-file",m],{timeout:5e3})}catch{}},L=async e=>{try{let{stdout:t}=await d("tmux",["-L",p,"list-panes","-t",e,"-F","#{pane_current_command}"],{timeout:5e3});return t.trim()||null}catch{return null}},E=async()=>{try{let{stdout:e}=await d("tmux",["-L",p,"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,n,i,r,s]=a.split(" ");if(e&&n){let a=parseInt(r,10),l=parseInt(s,10);t.set(e,{command:n,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"]),b=async e=>{let t=await L(e);return t?{isSafe:N.has(t),processName:t}:{isSafe:!1,processName:"unknown"}},T=async e=>{try{let{stdout:t}=await d("tmux",["-L",p,"display-message","-p","-t",e,"#{pane_title}"],{timeout:5e3});return t.trim()||null}catch{return null}},A=async e=>{await d("tmux",["-L",p,"copy-mode","-q","-t",e],{timeout:5e3}).catch(()=>{})},R=async(e,t)=>{await A(e),await d("tmux",["-L",p,"send-keys","-t",e,t,"Enter"],{timeout:5e3})},$=async(e,t)=>{await A(e),await d("tmux",["-L",p,"send-keys","-t",e,t],{timeout:5e3})},j=async(e,t)=>{await A(e),await d("tmux",["-L",p,"send-keys","-t",e,"-l",`\x1b[200~${t}\x1b[201~`],{timeout:5e3}),await d("tmux",["-L",p,"send-keys","-t",e,"Enter"],{timeout:5e3}),await new Promise(e=>setTimeout(e,600)),await d("tmux",["-L",p,"send-keys","-t",e,"Enter"],{timeout:5e3})},k=async e=>{try{let{stdout:t}=await d("tmux",["-L",p,"display-message","-p","-t",e,"#{pane_current_path} #{pane_current_command} #{pane_pid} #{pane_width} #{pane_height} #{session_created}"],{timeout:5e3}),[a,n,i,r,s,l]=t.trim().split(" ");return{cwd:a||null,command:n||null,pid:i&&parseInt(i,10)||null,width:r&&parseInt(r,10)||null,height:s&&parseInt(s,10)||null,sessionCreated:l&&parseInt(l,10)||null}}catch{return{cwd:null,command:null,pid:null,width:null,height:null,sessionCreated:null}}},M=new Set(["node","python","python3","ruby","perl","deno","bun"]),C=async()=>{try{await d("tmux",["-L",p,"kill-server"],{timeout:5e3}),c.debug("tmux server killed")}catch{}},D=async e=>{try{let{stdout:t}=await d("tmux",["-L",p,"capture-pane","-p","-t",e],{timeout:5e3});return t}catch{return null}},O=async(e,t)=>{try{let{stdout:a}=await d("tmux",["-L",p,"capture-pane","-p","-S",`-${t}`,"-t",e],{timeout:5e3});return a}catch{return null}},q=async e=>{if(o){let t=[];return await Promise.all(e.map(async e=>{try{for(let n of(await a.default.readFile(`/proc/${e}/task/${e}/children`,"utf-8")).trim().split(/\s+/)){let e=parseInt(n,10);Number.isNaN(e)||t.push(e)}}catch{}})),t}try{let{stdout:t}=await d("pgrep",["-P",e.join(",")],{timeout:5e3});return t.trim().split("\n").map(e=>parseInt(e,10)).filter(e=>!Number.isNaN(e))}catch{return[]}},H=async e=>{let t=[],a=[e];for(;a.length>0;){let e=await q(a);if(0===e.length)break;t.push(...e),a=e}return t},U=async e=>{try{let t=new Set(e),{stdout:a}=await d("ss",["-tlnp"],{timeout:5e3}),n=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&&n.add(parseInt(i[1],10))}return[...n].sort((e,t)=>e-t)}catch{return[]}},G=async e=>{let t=await H(e);if(0===t.length)return[];if(o)return U(t);try{let{stdout:e}=await d("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[]}},F=async e=>{let t=await P(e);if(!t)return null;try{let{stdout:e}=await d("pgrep",["-n","-P",String(t)],{timeout:5e3}),a=e.trim();if(!a)return null;let{stdout:n}=await d("ps",["-o","args=","-p",a],{timeout:5e3}),r=n.trim();if(!r)return null;let s=r.split(/\s+/);if(0===s.length)return r;if(s[0]=i.default.basename(s[0]),M.has(s[0])&&s.length>1){let e=i.default.basename(s[1]).replace(/\.(c|m)?js$/,"");s.splice(0,2,e)}return s.join(" ")}catch{return null}};e.s(["SAFE_SHELLS",0,N,"applyConfig",0,_,"capturePaneContent",0,D,"capturePaneContentWithHistory",0,O,"checkTerminalProcess",0,b,"createSession",0,f,"defaultSessionName",0,()=>`pt-${(0,r.nanoid)(6)}-${(0,r.nanoid)(6)}-${(0,r.nanoid)(6)}`,"exitCopyMode",0,A,"getAllPanesInfo",0,E,"getLastCommand",0,F,"getListeningPorts",0,G,"getPaneCurrentCommand",0,L,"getPaneDetailInfo",0,k,"getPaneTitle",0,T,"getSessionCwd",0,I,"getSessionPanePid",0,P,"hasSession",0,g,"killServer",0,C,"killSession",0,y,"listSessions",0,h,"scanSessions",0,x,"sendBracketedPaste",0,j,"sendKeys",0,R,"sendRawKeys",0,$,"workspaceSessionName",0,(e,t,a)=>`pt-${e}-${t}-${a}`],459015)},522734,(e,t,a)=>{t.exports=e.x("fs",()=>require("fs"))},713915,e=>{"use strict";var t=e.i(233405),a=e.i(924868),n=e.i(446786),i=e.i(814747),r=e.i(224361),s=e.i(597789),l=e.i(965898);let u=(0,r.promisify)(t.execFile),o=null,c=null,d=async()=>{let e=n.default.userInfo().shell||(0,s.defaultShell)();try{let{stdout:t}=await u(e,["-ilc",'echo -n "$PATH"'],{timeout:5e3,env:{...(0,s.buildShellEnv)(),SHELL:e,DISABLE_AUTO_UPDATE:"true",ZSH_TMUX_AUTOSTARTED:"true"}});return t.toString().trim()}catch{return l.PRISTINE_ENV.PATH||""}},p=async()=>o||(c||(c=d().then(e=>(o=e,c=null,e))),c),m=async(e,t,a)=>{try{let n=await p(),{stdout:i}=await u(e,t,{timeout:5e3,env:{...process.env,PATH:n}});return{installed:!0,version:a(i)}}catch{return{installed:!1,version:null}}},h=e=>e.trim().match(/(\d+\.\d+[\d.]*)/)?.[1]??null,f=[i.default.join(n.default.homedir(),".local","bin")],w=async()=>{for(let e of f)try{return await (0,a.access)(i.default.join(e,"claude")),e}catch{}return null},y=e=>e.installed&&null!==e.version&&parseFloat(e.version)>=2.9,g=async()=>{o=await d();let[e,t,r]=await Promise.all([m("tmux",["-V"],h),m("git",["--version"],h),m("claude",["--version"],h)]),s=(y(e)&&t.installed&&r.installed,r.installed?null:await w()),l=!1;if(r.installed||s)try{await (0,a.access)(i.default.join(n.default.homedir(),".claude")),l=!0}catch{}return{tmux:{...e,compatible:y(e)},git:t,claude:{...r,binaryPath:s,loggedIn:l}}},S=null,x=null,v=null,I=null,P=async()=>v&&Date.now()-v.checkedAt<1e3?v.result:I||(I=g().then(e=>(v={result:e,checkedAt:Date.now()},I=null,e)).catch(e=>{throw I=null,e})),_=async()=>{o=await d();let[e,t,a]=await Promise.all([m("tmux",["-V"],h),m("git",["--version"],h),m("claude",["--version"],h)]);return{tmux:{...e,compatible:y(e)},git:t,claude:a}},L=async()=>S&&Date.now()-S.checkedAt<3e4?S.result:x||(x=_().then(e=>(S={result:e,checkedAt:Date.now()},x=null,e)).catch(e=>{throw x=null,e}));e.s(["getCachedPreflightStatus",0,P,"getCachedRuntimePreflight",0,L,"getShellPath",0,p,"invalidateRuntimeCache",0,()=>{S=null,x=null}])},143511,e=>{"use strict";var t=e.i(924868),a=e.i(522734),n=e.i(814747),i=e.i(446786),r=e.i(233405),s=e.i(224361),l=e.i(713915),u=e.i(544538);let o=(0,s.promisify)(r.execFile),c=n.default.join(i.default.homedir(),".claude"),d=n.default.join(c,"sessions"),p=n.default.join(c,"projects"),m=[n.default.join(i.default.homedir(),".local","bin","claude")],h=e=>{let t=e.replace(/[^a-zA-Z0-9]/g,"-");if(t.length<=200)return t;let a=f(e);return`${t.slice(0,200)}-${a}`},f=e=>{let t=0;for(let a=0;a<e.length;a++)t=(t<<5)-t+e.charCodeAt(a)|0;return Math.abs(t).toString(36)},w=async e=>{try{let{stdout:t}=await o("pgrep",["-P",String(e)]);return t.trim().split("\n").map(e=>parseInt(e,10)).filter(e=>!Number.isNaN(e))}catch{return[]}},y=async e=>{if(u.isLinux)try{return await t.default.readlink(`/proc/${e}/cwd`)}catch{return null}try{let{stdout:t}=await o("lsof",["-a","-p",String(e),"-d","cwd","-Fn"]),a=t.split("\n").find(e=>e.startsWith("n/"));return a?a.slice(1):null}catch{return null}},g=async e=>{for(let t of e)try{let{stdout:e}=await o("ps",["-p",String(t),"-o","args="]),a=e.trim().match(/claude\s+--resume\s+([0-9a-f-]{36})/);if(a){let e=await y(t);return{pid:t,sessionId:a[1],cwd:e}}}catch{continue}return null},S=async e=>{try{let a=await t.default.readFile(e,"utf-8"),n=JSON.parse(a);if(!n.pid||!n.sessionId)return null;return n}catch{return null}},x=async(e,a)=>{let i=n.default.join(e,`${a}.jsonl`);try{return await t.default.access(i),i}catch{return null}},v=async()=>{try{return await o("claude",["--version"],{timeout:5e3,env:{...process.env,PATH:await (0,l.getShellPath)()}}),!0}catch{for(let e of m)try{return await t.default.access(e),!0}catch{}return!1}},I=async(e,t)=>{for(let a of t??await w(e))try{let{stdout:e}=await o("ps",["-p",String(a),"-o","args="]);if(e.trim().includes("claude"))return!0}catch{continue}return!1},P=async(e,a)=>{try{await t.default.access(c)}catch{return{status:await v()?"not-initialized":"not-installed",sessionId:null,jsonlPath:null,pid:null,startedAt:null,cwd:null}}let i=a??await w(e);if(0===i.length)return{status:"not-running",sessionId:null,jsonlPath:null,pid:null,startedAt:null,cwd:null};let r=(await Promise.all(i.map(w))).flat(),s=[...i,...r],l=new Set(s);try{for(let e of(await t.default.readdir(d)).filter(e=>e.endsWith(".json"))){let a=await S(n.default.join(d,e));if(!a||!l.has(a.pid))continue;let i="";try{let{stdout:e}=await o("ps",["-p",String(a.pid),"-o","args="]);i=e.trim()}catch{try{await t.default.unlink(n.default.join(d,e))}catch{}continue}if(!i.includes("claude")){try{await t.default.unlink(n.default.join(d,e))}catch{}continue}let r=h(a.cwd),s=n.default.join(p,r),u=await x(s,a.sessionId),c=a.sessionId;if(!u){let e=i.match(/--resume\s+([0-9a-f-]{36})/);if(e){let t=e[1],a=await x(s,t);a&&(u=a,c=t)}}return{status:"running",sessionId:c,jsonlPath:u,pid:a.pid,startedAt:a.startedAt,cwd:a.cwd}}}catch{}let u=await g(s);if(u){let e=u.cwd;if(e){let t=h(e),a=n.default.join(p,t),i=await x(a,u.sessionId);return{status:"running",sessionId:u.sessionId,jsonlPath:i,pid:u.pid,startedAt:null,cwd:e}}}return{status:"not-running",sessionId:null,jsonlPath:null,pid:null,startedAt:null,cwd:null}};e.s(["detectActiveSession",0,P,"getChildPids",0,w,"isClaudeRunning",0,I,"toClaudeProjectName",0,h,"watchSessionsDir",0,(e,n,i)=>{let s=null,l=null,u=null,o=null,c=null,p=!1,m=async()=>{let t;!p&&c&&(await (t=c,new Promise(e=>{(0,r.execFile)("ps",["-p",String(t)],t=>{e(!t)})}))||p||(c=null,n(await P(e))))},h=()=>{p||(u&&clearTimeout(u),u=setTimeout(async()=>{if(p)return;let t=await P(e);t.pid&&(c=t.pid),n(t)},200))},f=()=>{if(!p)try{(s=(0,a.watch)(d,h)).on("error",()=>{}),o&&(clearInterval(o),o=null)}catch{o||(o=setInterval(async()=>{if(!p)try{await t.default.access(d),f();let a=await P(e);a.pid&&(c=a.pid),n(a)}catch{}},6e4))}};return f(),l=setInterval(m,1e4),i?.skipInitial||P(e).then(e=>{p||(e.pid&&(c=e.pid),n(e))}),{stop:()=>{p=!0,s&&s.close(),l&&clearInterval(l),u&&clearTimeout(u),o&&clearInterval(o)}}}])},727130,e=>{"use strict";var t=e.i(926747),a=e.i(190406),n=e.i(244898),i=e.i(262950),r=e.i(459015),s=e.i(143511);let l=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"Method not allowed"});let a=e.query.session;if(!a)return t.status(400).json({error:"session parameter required"});let n=Date.now();if(!await (0,r.hasSession)(a))return t.status(200).json({running:!1,checkedAt:n,sessionId:null});let i=await (0,r.getSessionPanePid)(a);if(!i)return t.status(200).json({running:!1,checkedAt:n,sessionId:null});let l=await (0,s.getChildPids)(i);if(!await (0,s.isClaudeRunning)(i,l))return t.status(200).json({running:!1,checkedAt:n,sessionId:null});let u=await (0,s.detectActiveSession)(i,l);return t.status(200).json({running:!0,checkedAt:n,sessionId:u.sessionId,resumable:!!u.jsonlPath})};e.s(["default",0,l],102649);var u=e.i(102649),o=e.i(7031),c=e.i(181927),d=e.i(846432);let p=(0,i.hoist)(u,"default"),m=(0,i.hoist)(u,"config"),h=new n.PagesAPIRouteModule({definition:{kind:a.RouteKind.PAGES_API,page:"/api/check-claude",pathname:"/api/check-claude",bundlePath:"",filename:""},userland:u,distDir:".next",relativeProjectDir:""});async function f(e,a,n){n.requestMeta&&(0,d.setRequestMeta)(e,n.requestMeta),h.isDev&&(0,d.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/check-claude";i=i.replace(/\/index$/,"")||"/";let r=await h.prepare(e,a,{srcPage:i});if(!r){a.statusCode=400,a.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve());return}let{query:s,params:l,prerenderManifest:u,routerServerContext:p}=r;try{let t,n=e.method||"GET",r=(0,o.getTracer)(),d=r.getActiveScopeSpan(),m=!!(null==p?void 0:p.isWrappedByNextServer),f=h.instrumentationOnRequestError.bind(h),w=async o=>h.render(e,a,{query:{...s,...l},params:l,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:u.preview,propagateError:!1,dev:h.isDev,page:"/api/check-claude",internalRevalidate:null==p?void 0:p.revalidate,onError:(...t)=>f(e,...t)}).finally(()=>{if(!o)return;o.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let e=r.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==c.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 s=e.get("next.route");if(s){let e=`${n} ${s}`;o.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),o.updateName(e),t&&t!==o&&(t.setAttribute("http.route",s),t.updateName(e))}else o.updateName(`${n} ${i}`)});m&&d?await w(d):(t=r.getActiveScopeSpan(),await r.withPropagatedContext(e.headers,()=>r.trace(c.BaseServerSpan.handleRequest,{spanName:`${n} ${i}`,kind:o.SpanKind.SERVER,attributes:{"http.method":n,"http.target":e.url}},w),void 0,!m))}catch(e){if(h.isDev)throw e;(0,t.sendError)(a,500,"Internal Server Error")}finally{null==n.waitUntil||n.waitUntil.call(n,Promise.resolve())}}e.s(["config",0,m,"default",0,p,"handler",0,f],727130)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0ovn6yp._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[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"))},25146,e=>{"use strict";var t=e.i(130146),r=e.i(814747),s=e.i(446786);let a=r.default.join(s.default.homedir(),".purplemux","logs"),i=process.env.LOG_LEVEL||"info",n=(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(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:r.default.join(a,"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]??i,t}])},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"))},666126,e=>{"use strict";e.i(478319);var t=e.i(220951);(0,e.i(25146).createLogger)("sync");let r=globalThis;r.__ptSyncClients||(r.__ptSyncClients=new Set);let s=r.__ptSyncClients;e.s(["broadcastSync",0,e=>{let r=JSON.stringify(e);for(let e of s)e.readyState===t.WebSocket.OPEN&&e.bufferedAmount<1048576&&e.send(r)}])},845994,e=>{"use strict";var t=e.i(924868),r=e.i(814747),s=e.i(446786),a=e.i(254799),i=e.i(666126);(0,e.i(25146).createLogger)("config");let n=r.default.join(s.default.homedir(),".purplemux"),o=r.default.join(n,"config.json"),l=globalThis;l.__ptConfigLock||(l.__ptConfigLock=Promise.resolve());let u=async e=>{let t,r=new Promise(e=>{t=e}),s=l.__ptConfigLock;l.__ptConfigLock=r,await s;try{return await e()}finally{t()}},p=()=>({updatedAt:new Date().toISOString()}),d=async()=>{try{let e=await t.default.readFile(o,"utf-8");return JSON.parse(e)}catch{return null}},c=async e=>{let{updatedAt:r,...s}=e,a=JSON.stringify(s);if(l.__ptConfigContentCache===a)return;e.updatedAt=new Date().toISOString();let n=o+".tmp";try{await t.default.writeFile(n,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(n,o)}catch(e){throw await t.default.unlink(n).catch(()=>{}),e}l.__ptConfigContentCache=a,(0,i.broadcastSync)({type:"config"})},f="scrypt:",g=e=>"string"==typeof e&&e.startsWith(f),h=async e=>{let t=a.default.randomBytes(16),r=await new Promise((r,s)=>{a.default.scrypt(e,t,64,(e,t)=>{e?s(e):r(t)})});return`${f}${t.toString("hex")}:${r.toString("hex")}`},m=async(e,t)=>{if(!g(t))return!1;let[,r,s]=t.split(":"),i=Buffer.from(r,"hex"),n=Buffer.from(s,"hex"),o=await new Promise((t,r)=>{a.default.scrypt(e,i,n.length,(e,s)=>{e?r(e):t(s)})});return a.default.timingSafeEqual(o,n)},y=async()=>await d()??p(),S=async e=>u(async()=>{let t=await d()??p();Object.assign(t,e),await c(t)}),x=async()=>{let e=await d();return!g(e?.authPassword)},v=async()=>{let e=await d();return e?.dangerouslySkipPermissions??!1};e.s(["generateSecret",0,()=>a.default.randomBytes(32).toString("hex"),"getConfig",0,y,"getDangerouslySkipPermissions",0,v,"hashPassword",0,h,"needsSetup",0,x,"updateConfig",0,S,"verifyPassword",0,m])},716018,e=>{"use strict";e.i(446786);e.s(["isBoundToLocalhostOnly",0,()=>"127.0.0.1"===(process.env.__PMUX_BOUND_HOST??"0.0.0.0"),"updateAccessFromConfig",0,e=>{process.env.HOST?.trim()||(process.env.__PMUX_NETWORK_ACCESS=e)}],716018)},127579,e=>{"use strict";var t=e.i(926747),r=e.i(190406),s=e.i(244898),a=e.i(262950),i=e.i(845994),n=e.i(716018),o=e.i(772601);let l=Promise.resolve(),u=async(e,t)=>{if("GET"===e.method){let r=await (0,i.needsSetup)(),s=r&&!!process.env.INIT_PASSWORD&&!await (0,o.verifyRequestSession)(e.headers.cookie),a="string"==typeof process.env.HOST&&process.env.HOST.trim().length>0;return t.status(200).json({needsSetup:r,requiresAuth:s,hostEnvLocked:a})}if("POST"===e.method){let r,{authPassword:s,locale:a,appTheme:u,terminalTheme:p,dangerouslySkipPermissions:d,networkAccess:c}=e.body??{};if(!s||"string"!=typeof s)return t.status(400).json({error:"Password is required."});let f=["localhost","tailscale","all"].includes(c)?c:void 0,g=new Promise(e=>{r=e}),h=l;l=g,await h;try{if(!await (0,i.needsSetup)())return t.status(400).json({error:"Setup already completed."});if(process.env.INIT_PASSWORD&&!await (0,o.verifyRequestSession)(e.headers.cookie))return t.status(401).json({error:"Authentication required."});let r=await (0,i.hashPassword)(s),l=(0,i.generateSecret)();return await (0,i.updateConfig)({authPassword:r,authSecret:l,locale:a||"en",appTheme:u||"dark",terminalTheme:p,dangerouslySkipPermissions:d??!1,...f?{networkAccess:f}:{}}),f&&(0,n.updateAccessFromConfig)(f),process.env.AUTH_PASSWORD=r,process.env.NEXTAUTH_SECRET=l,delete process.env.INIT_PASSWORD,t.status(200).json({ok:!0})}finally{r()}}return t.setHeader("Allow","GET, POST"),t.status(405).json({error:"Method not allowed"})};e.s(["default",0,u],750388);var p=e.i(750388),d=e.i(7031),c=e.i(181927),f=e.i(846432);let g=(0,a.hoist)(p,"default"),h=(0,a.hoist)(p,"config"),m=new s.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/auth/setup",pathname:"/api/auth/setup",bundlePath:"",filename:""},userland:p,distDir:".next",relativeProjectDir:""});async function y(e,r,s){s.requestMeta&&(0,f.setRequestMeta)(e,s.requestMeta),m.isDev&&(0,f.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/auth/setup";a=a.replace(/\/index$/,"")||"/";let i=await m.prepare(e,r,{srcPage:a});if(!i){r.statusCode=400,r.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve());return}let{query:n,params:o,prerenderManifest:l,routerServerContext:u}=i;try{let t,s=e.method||"GET",i=(0,d.getTracer)(),p=i.getActiveScopeSpan(),f=!!(null==u?void 0:u.isWrappedByNextServer),g=m.instrumentationOnRequestError.bind(m),h=async p=>m.render(e,r,{query:{...n,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:m.isDev,page:"/api/auth/setup",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>g(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")!==c.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 n=e.get("next.route");if(n){let e=`${s} ${n}`;p.setAttributes({"next.route":n,"http.route":n,"next.span_name":e}),p.updateName(e),t&&t!==p&&(t.setAttribute("http.route",n),t.updateName(e))}else p.updateName(`${s} ${a}`)});f&&p?await h(p):(t=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(c.BaseServerSpan.handleRequest,{spanName:`${s} ${a}`,kind:d.SpanKind.SERVER,attributes:{"http.method":s,"http.target":e.url}},h),void 0,!f))}catch(e){if(m.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,h,"default",0,g,"handler",0,y],127579)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0un_g-o._.js.map
@@ -1,42 +0,0 @@
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"))},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}])},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)},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
-
3
- You are running inside a purplemux workspace tab.
4
-
5
- - **Workspace ID**: \`${e.id}\`
6
-
7
- Use \`purplemux workspaces\` if you need the workspace name or directories.
8
-
9
- ## purplemux CLI
10
-
11
- The \`purplemux\` CLI lets you inspect and control other tabs in this workspace.
12
- It reads port and token from \`~/.purplemux/{port,cli-token}\` automatically,
13
- so no environment setup is needed.
14
-
15
- ### Commands
16
-
17
- \`\`\`bash
18
- purplemux workspaces # list all workspaces
19
- purplemux tab list -w ${e.id} # list tabs in this workspace
20
- purplemux tab create -w ${e.id} [-n NAME] [-t TYPE] # create a tab (type: terminal | claude-code | web-browser | diff)
21
- purplemux tab send -w ${e.id} TAB_ID CONTENT... # send input to a tab
22
- purplemux tab status -w ${e.id} TAB_ID # tab status
23
- purplemux tab result -w ${e.id} TAB_ID # capture current pane content
24
- purplemux tab close -w ${e.id} TAB_ID # close a tab
25
- \`\`\`
26
-
27
- For the full HTTP API reference (including endpoint paths and payloads),
28
- run:
29
-
30
- \`\`\`bash
31
- purplemux api-guide
32
- \`\`\`
33
-
34
- ### When to use
35
-
36
- - Delegate work to another tab when a task benefits from isolation
37
- (long-running builds, different project context, parallel exploration).
38
- - Poll \`status\` and read \`result\` to verify delegated work.
39
- - Prefer small, scoped tabs over cramming everything into one session.
40
- `;try{if(await 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
-
42
- //# sourceMappingURL=%5Broot-of-the-server%5D__12ksl6n._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[845994,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),i=e.i(254799),s=e.i(666126);(0,e.i(25146).createLogger)("config");let n=a.default.join(r.default.homedir(),".purplemux"),o=a.default.join(n,"config.json"),l=globalThis;l.__ptConfigLock||(l.__ptConfigLock=Promise.resolve());let u=async e=>{let t,a=new Promise(e=>{t=e}),r=l.__ptConfigLock;l.__ptConfigLock=a,await r;try{return await e()}finally{t()}},d=()=>({updatedAt:new Date().toISOString()}),p=async()=>{try{let e=await t.default.readFile(o,"utf-8");return JSON.parse(e)}catch{return null}},c=async e=>{let{updatedAt:a,...r}=e,i=JSON.stringify(r);if(l.__ptConfigContentCache===i)return;e.updatedAt=new Date().toISOString();let n=o+".tmp";try{await t.default.writeFile(n,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(n,o)}catch(e){throw await t.default.unlink(n).catch(()=>{}),e}l.__ptConfigContentCache=i,(0,s.broadcastSync)({type:"config"})},f="scrypt:",g=e=>"string"==typeof e&&e.startsWith(f),m=async e=>{let t=i.default.randomBytes(16),a=await new Promise((a,r)=>{i.default.scrypt(e,t,64,(e,t)=>{e?r(e):a(t)})});return`${f}${t.toString("hex")}:${a.toString("hex")}`},h=async(e,t)=>{if(!g(t))return!1;let[,a,r]=t.split(":"),s=Buffer.from(a,"hex"),n=Buffer.from(r,"hex"),o=await new Promise((t,a)=>{i.default.scrypt(e,s,n.length,(e,r)=>{e?a(e):t(r)})});return i.default.timingSafeEqual(o,n)},w=async()=>await p()??d(),y=async e=>u(async()=>{let t=await p()??d();Object.assign(t,e),await c(t)}),v=async()=>{let e=await p();return!g(e?.authPassword)},S=async()=>{let e=await p();return e?.dangerouslySkipPermissions??!1};e.s(["generateSecret",0,()=>i.default.randomBytes(32).toString("hex"),"getConfig",0,w,"getDangerouslySkipPermissions",0,S,"hashPassword",0,m,"needsSetup",0,v,"updateConfig",0,y,"verifyPassword",0,h])},478490,e=>{"use strict";var t=e.i(845994);e.i(924868);var a=e.i(814747),r=e.i(446786),i=e.i(25146);e.i(796902),(0,i.createLogger)("hooks");let s=a.default.join(r.default.homedir(),".purplemux"),n=a.default.join(s,"hooks.json");a.default.join(s,"port"),a.default.join(s,"status-hook.sh");var o=e.i(160874);let l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,u=e=>"string"==typeof e&&l.test(e),d=async e=>{let a=await (0,t.getDangerouslySkipPermissions)(),r=[`--settings ${n}`];return e&&r.push(`--append-system-prompt-file ${(0,o.getClaudePromptPath)(e)}`),a&&r.push("--dangerously-skip-permissions"),r.join(" ")},p=async(e,t)=>{if(!u(e))throw Error(`Invalid session ID format: ${e}`);let a=await d(t);return`claude --resume ${e} ${a}`};e.s(["buildResumeCommand",0,p,"isValidSessionId",0,u],478490)},997054,e=>{"use strict";var t=e.i(926747),a=e.i(190406),r=e.i(244898),i=e.i(262950),s=e.i(446786),n=e.i(322429),o=e.i(825265),l=e.i(804767),u=e.i(478490),d=e.i(459015),p=e.i(964759);let c=(0,e.i(25146).createLogger)("workspace-api"),f=async(e,t)=>{if("GET"===e.method){let e=await (0,n.getWorkspaces)();return t.status(200).json(e)}if("POST"===e.method){let{directory:a,name:r,resumeSessionId:i}=e.body??{};if(i&&!(0,u.isValidSessionId)(i))return t.status(400).json({error:"Invalid session ID format"});let f=a&&"string"==typeof a?a:s.default.homedir();try{let e=i?{panelType:"claude-code"}:void 0,a=await (0,n.createWorkspace)(f,r,e),s=await (0,o.readLayoutFile)((0,o.resolveLayoutFile)(a.id)),g=s?(0,l.collectAllTabs)(s.root)[0]:null;return g&&"web-browser"!==g.panelType&&(0,p.getStatusManager)().registerTab(g.id,{cliState:"inactive",workspaceId:a.id,tabName:g.name,tmuxSession:g.sessionName,lastEvent:null,eventSeq:0}),i&&g&&setTimeout(async()=>{try{let e=await (0,u.buildResumeCommand)(i,a.id);await (0,d.sendKeys)(g.sessionName,e)}catch(e){c.warn(`resume sendKeys failed: ${e instanceof Error?e.message:e}`)}},500),t.status(200).json(a)}catch(r){let e=r instanceof Error?r.message:"Unknown error",a=["not exist","directory","registered"].some(t=>e.includes(t));return t.status(a?400:500).json({error:e})}}return t.setHeader("Allow","GET, POST"),t.status(405).json({error:"Method not allowed"})};e.s(["default",0,f],401508);var g=e.i(401508),m=e.i(7031),h=e.i(181927),w=e.i(846432);let y=(0,i.hoist)(g,"default"),v=(0,i.hoist)(g,"config"),S=new r.PagesAPIRouteModule({definition:{kind:a.RouteKind.PAGES_API,page:"/api/workspace/index",pathname:"/api/workspace",bundlePath:"",filename:""},userland:g,distDir:".next",relativeProjectDir:""});async function P(e,a,r){r.requestMeta&&(0,w.setRequestMeta)(e,r.requestMeta),S.isDev&&(0,w.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/workspace/index";i=i.replace(/\/index$/,"")||"/";let s=await S.prepare(e,a,{srcPage:i});if(!s){a.statusCode=400,a.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve());return}let{query:n,params:o,prerenderManifest:l,routerServerContext:u}=s;try{let t,r=e.method||"GET",s=(0,m.getTracer)(),d=s.getActiveScopeSpan(),p=!!(null==u?void 0:u.isWrappedByNextServer),c=S.instrumentationOnRequestError.bind(S),f=async d=>S.render(e,a,{query:{...n,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:S.isDev,page:"/api/workspace/index",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>c(e,...t)}).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let e=s.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==h.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 n=e.get("next.route");if(n){let e=`${r} ${n}`;d.setAttributes({"next.route":n,"http.route":n,"next.span_name":e}),d.updateName(e),t&&t!==d&&(t.setAttribute("http.route",n),t.updateName(e))}else d.updateName(`${r} ${i}`)});p&&d?await f(d):(t=s.getActiveScopeSpan(),await s.withPropagatedContext(e.headers,()=>s.trace(h.BaseServerSpan.handleRequest,{spanName:`${r} ${i}`,kind:m.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},f),void 0,!p))}catch(e){if(S.isDev)throw e;(0,t.sendError)(a,500,"Internal Server Error")}finally{null==r.waitUntil||r.waitUntil.call(r,Promise.resolve())}}e.s(["config",0,v,"default",0,y,"handler",0,P],997054)},981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))},322522,e=>{e.v(e=>Promise.resolve().then(()=>e(459015)))},245061,e=>{e.v(e=>Promise.resolve().then(()=>e(785128)))}];
2
-
3
- //# sourceMappingURL=_03-duro._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[845994,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),i=e.i(254799),s=e.i(666126);(0,e.i(25146).createLogger)("config");let n=a.default.join(r.default.homedir(),".purplemux"),o=a.default.join(n,"config.json"),l=globalThis;l.__ptConfigLock||(l.__ptConfigLock=Promise.resolve());let u=async e=>{let t,a=new Promise(e=>{t=e}),r=l.__ptConfigLock;l.__ptConfigLock=a,await r;try{return await e()}finally{t()}},d=()=>({updatedAt:new Date().toISOString()}),p=async()=>{try{let e=await t.default.readFile(o,"utf-8");return JSON.parse(e)}catch{return null}},c=async e=>{let{updatedAt:a,...r}=e,i=JSON.stringify(r);if(l.__ptConfigContentCache===i)return;e.updatedAt=new Date().toISOString();let n=o+".tmp";try{await t.default.writeFile(n,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(n,o)}catch(e){throw await t.default.unlink(n).catch(()=>{}),e}l.__ptConfigContentCache=i,(0,s.broadcastSync)({type:"config"})},f="scrypt:",g=e=>"string"==typeof e&&e.startsWith(f),m=async e=>{let t=i.default.randomBytes(16),a=await new Promise((a,r)=>{i.default.scrypt(e,t,64,(e,t)=>{e?r(e):a(t)})});return`${f}${t.toString("hex")}:${a.toString("hex")}`},y=async(e,t)=>{if(!g(t))return!1;let[,a,r]=t.split(":"),s=Buffer.from(a,"hex"),n=Buffer.from(r,"hex"),o=await new Promise((t,a)=>{i.default.scrypt(e,s,n.length,(e,r)=>{e?a(e):t(r)})});return i.default.timingSafeEqual(o,n)},h=async()=>await p()??d(),w=async e=>u(async()=>{let t=await p()??d();Object.assign(t,e),await c(t)}),v=async()=>{let e=await p();return!g(e?.authPassword)},S=async()=>{let e=await p();return e?.dangerouslySkipPermissions??!1};e.s(["generateSecret",0,()=>i.default.randomBytes(32).toString("hex"),"getConfig",0,h,"getDangerouslySkipPermissions",0,S,"hashPassword",0,m,"needsSetup",0,v,"updateConfig",0,w,"verifyPassword",0,y])},478490,e=>{"use strict";var t=e.i(845994);e.i(924868);var a=e.i(814747),r=e.i(446786),i=e.i(25146);e.i(796902),(0,i.createLogger)("hooks");let s=a.default.join(r.default.homedir(),".purplemux"),n=a.default.join(s,"hooks.json");a.default.join(s,"port"),a.default.join(s,"status-hook.sh");var o=e.i(160874);let l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,u=e=>"string"==typeof e&&l.test(e),d=async e=>{let a=await (0,t.getDangerouslySkipPermissions)(),r=[`--settings ${n}`];return e&&r.push(`--append-system-prompt-file ${(0,o.getClaudePromptPath)(e)}`),a&&r.push("--dangerously-skip-permissions"),r.join(" ")},p=async(e,t)=>{if(!u(e))throw Error(`Invalid session ID format: ${e}`);let a=await d(t);return`claude --resume ${e} ${a}`};e.s(["buildResumeCommand",0,p,"isValidSessionId",0,u],478490)},667250,e=>{"use strict";var t=e.i(926747),a=e.i(190406),r=e.i(244898),i=e.i(262950),s=e.i(825265),n=e.i(322429),o=e.i(964759),l=e.i(478490),u=e.i(459015);let d=(0,e.i(25146).createLogger)("layout"),p=async(e,t)=>{if("POST"!==e.method)return t.setHeader("Allow","POST"),t.status(405).json({error:"Method not allowed"});let a=e.query.workspace||await (0,n.getActiveWorkspaceId)();if(!a)return t.status(400).json({error:"No workspace found"});let r=e.query.paneId,{name:i,cwd:p,panelType:c,command:f,resumeSessionId:g}=e.body??{};if(g&&!(0,l.isValidSessionId)(g))return t.status(400).json({error:"Invalid session ID format"});try{let e=await (0,s.addTabToPane)(a,r,i,p,c,f);if(!e)return t.status(404).json({error:"Pane not found"});return"web-browser"!==e.panelType&&(0,o.getStatusManager)().registerTab(e.id,{cliState:"inactive",workspaceId:a,tabName:e.name,tmuxSession:e.sessionName,lastEvent:null,eventSeq:0}),g&&!f&&(await (0,s.updateTabClaudeSessionId)(e.sessionName,g),e.claudeSessionId=g,setTimeout(async()=>{try{let t=await (0,l.buildResumeCommand)(g,a);await (0,u.sendKeys)(e.sessionName,t)}catch(e){d.warn(`resume sendKeys failed: ${e instanceof Error?e.message:e}`)}},500)),t.status(200).json(e)}catch(e){return d.error(`tab creation failed: ${e instanceof Error?e.message:e}`),t.status(500).json({error:"Failed to create tab"})}};e.s(["default",0,p],170096);var c=e.i(170096),f=e.i(7031),g=e.i(181927),m=e.i(846432);let y=(0,i.hoist)(c,"default"),h=(0,i.hoist)(c,"config"),w=new r.PagesAPIRouteModule({definition:{kind:a.RouteKind.PAGES_API,page:"/api/layout/pane/[paneId]/tabs/index",pathname:"/api/layout/pane/[paneId]/tabs",bundlePath:"",filename:""},userland:c,distDir:".next",relativeProjectDir:""});async function v(e,a,r){r.requestMeta&&(0,m.setRequestMeta)(e,r.requestMeta),w.isDev&&(0,m.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/layout/pane/[paneId]/tabs/index";i=i.replace(/\/index$/,"")||"/";let s=await w.prepare(e,a,{srcPage:i});if(!s){a.statusCode=400,a.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve());return}let{query:n,params:o,prerenderManifest:l,routerServerContext:u}=s;try{let t,r=e.method||"GET",s=(0,f.getTracer)(),d=s.getActiveScopeSpan(),p=!!(null==u?void 0:u.isWrappedByNextServer),c=w.instrumentationOnRequestError.bind(w),m=async d=>w.render(e,a,{query:{...n,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:w.isDev,page:"/api/layout/pane/[paneId]/tabs/index",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>c(e,...t)}).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let e=s.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==g.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 n=e.get("next.route");if(n){let e=`${r} ${n}`;d.setAttributes({"next.route":n,"http.route":n,"next.span_name":e}),d.updateName(e),t&&t!==d&&(t.setAttribute("http.route",n),t.updateName(e))}else d.updateName(`${r} ${i}`)});p&&d?await m(d):(t=s.getActiveScopeSpan(),await s.withPropagatedContext(e.headers,()=>s.trace(g.BaseServerSpan.handleRequest,{spanName:`${r} ${i}`,kind:f.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},m),void 0,!p))}catch(e){if(w.isDev)throw e;(0,t.sendError)(a,500,"Internal Server Error")}finally{null==r.waitUntil||r.waitUntil.call(r,Promise.resolve())}}e.s(["config",0,h,"default",0,y,"handler",0,v],667250)},981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))},322522,e=>{e.v(e=>Promise.resolve().then(()=>e(459015)))},245061,e=>{e.v(e=>Promise.resolve().then(()=>e(785128)))}];
2
-
3
- //# sourceMappingURL=_07097f~._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[845994,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),s=e.i(254799),i=e.i(666126);(0,e.i(25146).createLogger)("config");let n=a.default.join(r.default.homedir(),".purplemux"),o=a.default.join(n,"config.json"),l=globalThis;l.__ptConfigLock||(l.__ptConfigLock=Promise.resolve());let u=async e=>{let t,a=new Promise(e=>{t=e}),r=l.__ptConfigLock;l.__ptConfigLock=a,await r;try{return await e()}finally{t()}},d=()=>({updatedAt:new Date().toISOString()}),c=async()=>{try{let e=await t.default.readFile(o,"utf-8");return JSON.parse(e)}catch{return null}},p=async e=>{let{updatedAt:a,...r}=e,s=JSON.stringify(r);if(l.__ptConfigContentCache===s)return;e.updatedAt=new Date().toISOString();let n=o+".tmp";try{await t.default.writeFile(n,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(n,o)}catch(e){throw await t.default.unlink(n).catch(()=>{}),e}l.__ptConfigContentCache=s,(0,i.broadcastSync)({type:"config"})},f="scrypt:",m=e=>"string"==typeof e&&e.startsWith(f),g=async e=>{let t=s.default.randomBytes(16),a=await new Promise((a,r)=>{s.default.scrypt(e,t,64,(e,t)=>{e?r(e):a(t)})});return`${f}${t.toString("hex")}:${a.toString("hex")}`},h=async(e,t)=>{if(!m(t))return!1;let[,a,r]=t.split(":"),i=Buffer.from(a,"hex"),n=Buffer.from(r,"hex"),o=await new Promise((t,a)=>{s.default.scrypt(e,i,n.length,(e,r)=>{e?a(e):t(r)})});return s.default.timingSafeEqual(o,n)},w=async()=>await c()??d(),S=async e=>u(async()=>{let t=await c()??d();Object.assign(t,e),await p(t)}),y=async()=>{let e=await c();return!m(e?.authPassword)},v=async()=>{let e=await c();return e?.dangerouslySkipPermissions??!1};e.s(["generateSecret",0,()=>s.default.randomBytes(32).toString("hex"),"getConfig",0,w,"getDangerouslySkipPermissions",0,v,"hashPassword",0,g,"needsSetup",0,y,"updateConfig",0,S,"verifyPassword",0,h])},478490,e=>{"use strict";var t=e.i(845994);e.i(924868);var a=e.i(814747),r=e.i(446786),s=e.i(25146);e.i(796902),(0,s.createLogger)("hooks");let i=a.default.join(r.default.homedir(),".purplemux"),n=a.default.join(i,"hooks.json");a.default.join(i,"port"),a.default.join(i,"status-hook.sh");var o=e.i(160874);let l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,u=e=>"string"==typeof e&&l.test(e),d=async e=>{let a=await (0,t.getDangerouslySkipPermissions)(),r=[`--settings ${n}`];return e&&r.push(`--append-system-prompt-file ${(0,o.getClaudePromptPath)(e)}`),a&&r.push("--dangerously-skip-permissions"),r.join(" ")},c=async(e,t)=>{if(!u(e))throw Error(`Invalid session ID format: ${e}`);let a=await d(t);return`claude --resume ${e} ${a}`};e.s(["buildResumeCommand",0,c,"isValidSessionId",0,u],478490)},758518,e=>{"use strict";var t=e.i(926747),a=e.i(190406),r=e.i(244898),s=e.i(262950),i=e.i(459015),n=e.i(322429),o=e.i(825265),l=e.i(804767),u=e.i(478490),d=e.i(25146);let c=(0,d.createLogger)("auto-resume"),p=new Set(["bash","zsh","fish","sh","dash"]),f=async()=>{let{workspaces:e}=await (0,n.getWorkspaces)(),t=[];for(let a of e){let e=await (0,o.readLayoutFile)((0,o.resolveLayoutFile)(a.id));if(e)for(let r of(0,l.collectAllTabs)(e.root))"claude-code"===r.panelType&&r.claudeSessionId&&t.push({workspaceId:a.id,tabId:r.id,tmuxSession:r.sessionName,claudeSessionId:r.claudeSessionId})}return t},m=async e=>{try{let t=await (0,i.getPaneCurrentCommand)(e.tmuxSession);if(!t)return c.warn(`Cannot check process: ${e.tmuxSession}`),!1;if(!p.has(t)){if("claude"===t||"node"===t)return c.debug(`Claude already running, skip: ${e.tmuxSession}`),!0;return c.debug(`Non-shell process running (${t}), skip: ${e.tmuxSession}`),!1}let a=await (0,u.buildResumeCommand)(e.claudeSessionId,e.workspaceId);return c.debug(`Sending resume: ${e.tmuxSession} → ${e.claudeSessionId}`),await (0,i.sendKeys)(e.tmuxSession,a),!0}catch(t){return c.error(`Failed: ${e.tmuxSession} — ${t instanceof Error?t.message:t}`),!1}},g=async e=>{let t=!1;for(let a of e)await (0,i.hasSession)(a.tmuxSession)||(c.debug(`No tmux session, creating new: ${a.tmuxSession}`),await (0,i.createSession)(a.tmuxSession,80,24),t=!0);t&&await new Promise(e=>setTimeout(e,500)),await Promise.allSettled(e.map(e=>m(e)))},h=async()=>{let e=await f();0!==e.length&&(c.debug(`${e.length} surface(s) auto-resume started`),g(e).then(()=>{c.debug("Auto-resume complete")}).catch(e=>{c.error(`Auto-resume error: ${e instanceof Error?e.message:e}`)}))};var w=e.i(964759);let S=(0,d.createLogger)("terminal"),y=async(e,t)=>{if("POST"!==e.method)return t.setHeader("Allow","POST"),t.status(405).json({error:"Method not allowed"});try{let e=await (0,i.listSessions)();return S.info(`tmux reset requested — killing ${e.length} session(s)`),await (0,i.killServer)(),await (0,i.scanSessions)(),await (0,i.applyConfig)(),await (0,n.initWorkspaceStore)(),await h(),await (0,w.getStatusManager)().rescan(),S.info("tmux re-initialized after reset"),t.status(200).json({killed:e.length})}catch(e){return S.error(`tmux reset failed: ${e instanceof Error?e.message:e}`),t.status(500).json({error:"tmux reset failed"})}};e.s(["default",0,y],191170);var v=e.i(191170),x=e.i(7031),P=e.i(181927),$=e.i(846432);let k=(0,s.hoist)(v,"default"),b=(0,s.hoist)(v,"config"),C=new r.PagesAPIRouteModule({definition:{kind:a.RouteKind.PAGES_API,page:"/api/tmux/reset",pathname:"/api/tmux/reset",bundlePath:"",filename:""},userland:v,distDir:".next",relativeProjectDir:""});async function I(e,a,r){r.requestMeta&&(0,$.setRequestMeta)(e,r.requestMeta),C.isDev&&(0,$.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/tmux/reset";s=s.replace(/\/index$/,"")||"/";let i=await C.prepare(e,a,{srcPage:s});if(!i){a.statusCode=400,a.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve());return}let{query:n,params:o,prerenderManifest:l,routerServerContext:u}=i;try{let t,r=e.method||"GET",i=(0,x.getTracer)(),d=i.getActiveScopeSpan(),c=!!(null==u?void 0:u.isWrappedByNextServer),p=C.instrumentationOnRequestError.bind(C),f=async d=>C.render(e,a,{query:{...n,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:C.isDev,page:"/api/tmux/reset",internalRevalidate:null==u?void 0:u.revalidate,onError:(...t)=>p(e,...t)}).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":a.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==P.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 n=e.get("next.route");if(n){let e=`${r} ${n}`;d.setAttributes({"next.route":n,"http.route":n,"next.span_name":e}),d.updateName(e),t&&t!==d&&(t.setAttribute("http.route",n),t.updateName(e))}else d.updateName(`${r} ${s}`)});c&&d?await f(d):(t=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(P.BaseServerSpan.handleRequest,{spanName:`${r} ${s}`,kind:x.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},f),void 0,!c))}catch(e){if(C.isDev)throw e;(0,t.sendError)(a,500,"Internal Server Error")}finally{null==r.waitUntil||r.waitUntil.call(r,Promise.resolve())}}e.s(["config",0,b,"default",0,k,"handler",0,I],758518)},981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))},322522,e=>{e.v(e=>Promise.resolve().then(()=>e(459015)))},245061,e=>{e.v(e=>Promise.resolve().then(()=>e(785128)))}];
2
-
3
- //# sourceMappingURL=_0z7d6.z._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[871911,e=>{"use strict";var t=e.i(254799),r=e.i(522734),i=e.i(814747),a=e.i(446786);let n=i.default.join(a.default.homedir(),".purplemux","cli-token"),s=globalThis;e.s(["verifyCliToken",0,e=>{let a=e.headers["x-pmux-token"];var o="string"==typeof a?a:void 0;if(!o)return!1;let l=(()=>{if(s.__ptCliToken)return s.__ptCliToken;let e=(()=>{try{return r.default.readFileSync(n,"utf-8").trim()||null}catch{return null}})();if(e)return s.__ptCliToken=e,e;let a=(0,t.randomBytes)(32).toString("hex");s.__ptCliToken=a;try{r.default.mkdirSync(i.default.dirname(n),{recursive:!0}),r.default.writeFileSync(n,a,{mode:384})}catch{}return a})();return o.length===l.length&&(0,t.timingSafeEqual)(Buffer.from(o),Buffer.from(l))}])},845994,e=>{"use strict";var t=e.i(924868),r=e.i(814747),i=e.i(446786),a=e.i(254799),n=e.i(666126);(0,e.i(25146).createLogger)("config");let s=r.default.join(i.default.homedir(),".purplemux"),o=r.default.join(s,"config.json"),l=globalThis;l.__ptConfigLock||(l.__ptConfigLock=Promise.resolve());let u=async e=>{let t,r=new Promise(e=>{t=e}),i=l.__ptConfigLock;l.__ptConfigLock=r,await i;try{return await e()}finally{t()}},f=()=>({updatedAt:new Date().toISOString()}),d=async()=>{try{let e=await t.default.readFile(o,"utf-8");return JSON.parse(e)}catch{return null}},c=async e=>{let{updatedAt:r,...i}=e,a=JSON.stringify(i);if(l.__ptConfigContentCache===a)return;e.updatedAt=new Date().toISOString();let s=o+".tmp";try{await t.default.writeFile(s,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(s,o)}catch(e){throw await t.default.unlink(s).catch(()=>{}),e}l.__ptConfigContentCache=a,(0,n.broadcastSync)({type:"config"})},p="scrypt:",g=e=>"string"==typeof e&&e.startsWith(p),m=async e=>{let t=a.default.randomBytes(16),r=await new Promise((r,i)=>{a.default.scrypt(e,t,64,(e,t)=>{e?i(e):r(t)})});return`${p}${t.toString("hex")}:${r.toString("hex")}`},h=async(e,t)=>{if(!g(t))return!1;let[,r,i]=t.split(":"),n=Buffer.from(r,"hex"),s=Buffer.from(i,"hex"),o=await new Promise((t,r)=>{a.default.scrypt(e,n,s.length,(e,i)=>{e?r(e):t(i)})});return a.default.timingSafeEqual(o,s)},y=async()=>await d()??f(),w=async e=>u(async()=>{let t=await d()??f();Object.assign(t,e),await c(t)}),S=async()=>{let e=await d();return!g(e?.authPassword)},k=async()=>{let e=await d();return e?.dangerouslySkipPermissions??!1};e.s(["generateSecret",0,()=>a.default.randomBytes(32).toString("hex"),"getConfig",0,y,"getDangerouslySkipPermissions",0,k,"hashPassword",0,m,"needsSetup",0,S,"updateConfig",0,w,"verifyPassword",0,h])},478490,e=>{"use strict";var t=e.i(845994);e.i(924868);var r=e.i(814747),i=e.i(446786),a=e.i(25146);e.i(796902),(0,a.createLogger)("hooks");let n=r.default.join(i.default.homedir(),".purplemux"),s=r.default.join(n,"hooks.json");r.default.join(n,"port"),r.default.join(n,"status-hook.sh");var o=e.i(160874);let l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,u=e=>"string"==typeof e&&l.test(e),f=async e=>{let r=await (0,t.getDangerouslySkipPermissions)(),i=[`--settings ${s}`];return e&&i.push(`--append-system-prompt-file ${(0,o.getClaudePromptPath)(e)}`),r&&i.push("--dangerously-skip-permissions"),i.join(" ")},d=async(e,t)=>{if(!u(e))throw Error(`Invalid session ID format: ${e}`);let r=await f(t);return`claude --resume ${e} ${r}`};e.s(["buildResumeCommand",0,d,"isValidSessionId",0,u],478490)},133446,e=>{"use strict";var t=e.i(814747),r=e.i(446786);let i=t.default.join(r.default.homedir(),".claude","projects");e.s(["isAllowedJsonlPath",0,e=>{let r=t.default.resolve(e);return r.startsWith(i+t.default.sep)&&r.endsWith(".jsonl")}])},981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))},322522,e=>{e.v(e=>Promise.resolve().then(()=>e(459015)))},245061,e=>{e.v(e=>Promise.resolve().then(()=>e(785128)))}];
2
-
3
- //# sourceMappingURL=src_lib_0p.xsqi._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[508171,(a,b,c)=>{b.exports=a.x("react/jsx-runtime",()=>require("react/jsx-runtime"))},127669,(a,b,c)=>{b.exports=a.x("react",()=>require("react"))},456195,(a,b,c)=>{b.exports=a.x("react-dom",()=>require("react-dom"))},398544,(a,b,c)=>{a.e,b.exports=function(){"use strict";var a="millisecond",b="second",c="minute",d="hour",e="week",f="month",g="quarter",h="year",i="date",j="Invalid Date",k=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m=function(a,b,c){var d=String(a);return!d||d.length>=b?a:""+Array(b+1-d.length).join(c)+a},n="en",o={};o[n]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(a){var b=["th","st","nd","rd"],c=a%100;return"["+a+(b[(c-20)%10]||b[c]||b[0])+"]"}};var p="$isDayjsObject",q=function(a){return a instanceof u||!(!a||!a[p])},r=function a(b,c,d){var e;if(!b)return n;if("string"==typeof b){var f=b.toLowerCase();o[f]&&(e=f),c&&(o[f]=c,e=f);var g=b.split("-");if(!e&&g.length>1)return a(g[0])}else{var h=b.name;o[h]=b,e=h}return!d&&e&&(n=e),e||!d&&n},s=function(a,b){if(q(a))return a.clone();var c="object"==typeof b?b:{};return c.date=a,c.args=arguments,new u(c)},t={s:m,z:function(a){var b=-a.utcOffset(),c=Math.abs(b);return(b<=0?"+":"-")+m(Math.floor(c/60),2,"0")+":"+m(c%60,2,"0")},m:function a(b,c){if(b.date()<c.date())return-a(c,b);var d=12*(c.year()-b.year())+(c.month()-b.month()),e=b.clone().add(d,f),g=c-e<0,h=b.clone().add(d+(g?-1:1),f);return+(-(d+(c-e)/(g?e-h:h-e))||0)},a:function(a){return a<0?Math.ceil(a)||0:Math.floor(a)},p:function(j){return({M:f,y:h,w:e,d:"day",D:i,h:d,m:c,s:b,ms:a,Q:g})[j]||String(j||"").toLowerCase().replace(/s$/,"")},u:function(a){return void 0===a}};t.l=r,t.i=q,t.w=function(a,b){return s(a,{locale:b.$L,utc:b.$u,x:b.$x,$offset:b.$offset})};var u=function(){function m(a){this.$L=r(a.locale,null,!0),this.parse(a),this.$x=this.$x||a.x||{},this[p]=!0}var n=m.prototype;return n.parse=function(a){this.$d=function(a){var b=a.date,c=a.utc;if(null===b)return new Date(NaN);if(t.u(b))return new Date;if(b instanceof Date)return new Date(b);if("string"==typeof b&&!/Z$/i.test(b)){var d=b.match(k);if(d){var e=d[2]-1||0,f=(d[7]||"0").substring(0,3);return c?new Date(Date.UTC(d[1],e,d[3]||1,d[4]||0,d[5]||0,d[6]||0,f)):new Date(d[1],e,d[3]||1,d[4]||0,d[5]||0,d[6]||0,f)}}return new Date(b)}(a),this.init()},n.init=function(){var a=this.$d;this.$y=a.getFullYear(),this.$M=a.getMonth(),this.$D=a.getDate(),this.$W=a.getDay(),this.$H=a.getHours(),this.$m=a.getMinutes(),this.$s=a.getSeconds(),this.$ms=a.getMilliseconds()},n.$utils=function(){return t},n.isValid=function(){return this.$d.toString()!==j},n.isSame=function(a,b){var c=s(a);return this.startOf(b)<=c&&c<=this.endOf(b)},n.isAfter=function(a,b){return s(a)<this.startOf(b)},n.isBefore=function(a,b){return this.endOf(b)<s(a)},n.$g=function(a,b,c){return t.u(a)?this[b]:this.set(c,a)},n.unix=function(){return Math.floor(this.valueOf()/1e3)},n.valueOf=function(){return this.$d.getTime()},n.startOf=function(a,g){var j=this,k=!!t.u(g)||g,l=t.p(a),m=function(a,b){var c=t.w(j.$u?Date.UTC(j.$y,b,a):new Date(j.$y,b,a),j);return k?c:c.endOf("day")},n=function(a,b){return t.w(j.toDate()[a].apply(j.toDate("s"),(k?[0,0,0,0]:[23,59,59,999]).slice(b)),j)},o=this.$W,p=this.$M,q=this.$D,r="set"+(this.$u?"UTC":"");switch(l){case h:return k?m(1,0):m(31,11);case f:return k?m(1,p):m(0,p+1);case e:var s=this.$locale().weekStart||0,u=(o<s?o+7:o)-s;return m(k?q-u:q+(6-u),p);case"day":case i:return n(r+"Hours",0);case d:return n(r+"Minutes",1);case c:return n(r+"Seconds",2);case b:return n(r+"Milliseconds",3);default:return this.clone()}},n.endOf=function(a){return this.startOf(a,!1)},n.$set=function(e,g){var j,k=t.p(e),l="set"+(this.$u?"UTC":""),m=((j={}).day=l+"Date",j[i]=l+"Date",j[f]=l+"Month",j[h]=l+"FullYear",j[d]=l+"Hours",j[c]=l+"Minutes",j[b]=l+"Seconds",j[a]=l+"Milliseconds",j)[k],n="day"===k?this.$D+(g-this.$W):g;if(k===f||k===h){var o=this.clone().set(i,1);o.$d[m](n),o.init(),this.$d=o.set(i,Math.min(this.$D,o.daysInMonth())).$d}else m&&this.$d[m](n);return this.init(),this},n.set=function(a,b){return this.clone().$set(a,b)},n.get=function(a){return this[t.p(a)]()},n.add=function(a,g){var i,j=this;a=Number(a);var k=t.p(g),l=function(b){var c=s(j);return t.w(c.date(c.date()+Math.round(b*a)),j)};if(k===f)return this.set(f,this.$M+a);if(k===h)return this.set(h,this.$y+a);if("day"===k)return l(1);if(k===e)return l(7);var m=((i={})[c]=6e4,i[d]=36e5,i[b]=1e3,i)[k]||1,n=this.$d.getTime()+a*m;return t.w(n,this)},n.subtract=function(a,b){return this.add(-1*a,b)},n.format=function(a){var b=this,c=this.$locale();if(!this.isValid())return c.invalidDate||j;var d=a||"YYYY-MM-DDTHH:mm:ssZ",e=t.z(this),f=this.$H,g=this.$m,h=this.$M,i=c.weekdays,k=c.months,m=c.meridiem,n=function(a,c,e,f){return a&&(a[c]||a(b,d))||e[c].slice(0,f)},o=function(a){return t.s(f%12||12,a,"0")},p=m||function(a,b,c){var d=a<12?"AM":"PM";return c?d.toLowerCase():d};return d.replace(l,function(a,d){return d||function(a){switch(a){case"YY":return String(b.$y).slice(-2);case"YYYY":return t.s(b.$y,4,"0");case"M":return h+1;case"MM":return t.s(h+1,2,"0");case"MMM":return n(c.monthsShort,h,k,3);case"MMMM":return n(k,h);case"D":return b.$D;case"DD":return t.s(b.$D,2,"0");case"d":return String(b.$W);case"dd":return n(c.weekdaysMin,b.$W,i,2);case"ddd":return n(c.weekdaysShort,b.$W,i,3);case"dddd":return i[b.$W];case"H":return String(f);case"HH":return t.s(f,2,"0");case"h":return o(1);case"hh":return o(2);case"a":return p(f,g,!0);case"A":return p(f,g,!1);case"m":return String(g);case"mm":return t.s(g,2,"0");case"s":return String(b.$s);case"ss":return t.s(b.$s,2,"0");case"SSS":return t.s(b.$ms,3,"0");case"Z":return e}return null}(a)||e.replace(":","")})},n.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},n.diff=function(a,i,j){var k,l=this,m=t.p(i),n=s(a),o=(n.utcOffset()-this.utcOffset())*6e4,p=this-n,q=function(){return t.m(l,n)};switch(m){case h:k=q()/12;break;case f:k=q();break;case g:k=q()/3;break;case e:k=(p-o)/6048e5;break;case"day":k=(p-o)/864e5;break;case d:k=p/36e5;break;case c:k=p/6e4;break;case b:k=p/1e3;break;default:k=p}return j?k:t.a(k)},n.daysInMonth=function(){return this.endOf(f).$D},n.$locale=function(){return o[this.$L]},n.locale=function(a,b){if(!a)return this.$L;var c=this.clone(),d=r(a,b,!0);return d&&(c.$L=d),c},n.clone=function(){return t.w(this.$d,this)},n.toDate=function(){return new Date(this.valueOf())},n.toJSON=function(){return this.isValid()?this.toISOString():null},n.toISOString=function(){return this.$d.toISOString()},n.toString=function(){return this.$d.toUTCString()},m}(),v=u.prototype;return s.prototype=v,[["$ms",a],["$s",b],["$m",c],["$H",d],["$W","day"],["$M",f],["$y",h],["$D",i]].forEach(function(a){v[a[1]]=function(b){return this.$g(b,a[0],a[1])}}),s.extend=function(a,b){return a.$i||(a(b,u,s),a.$i=!0),s},s.locale=r,s.isDayjs=q,s.unix=function(a){return s(1e3*a)},s.en=o[n],s.Ls=o,s.p={},s}()},908597,a=>{"use strict";a.s(["getVisuallyOrderedWorkspaces",0,(a,b)=>{let c=new Set(b.map(a=>a.id)),d=new Map,e=[];for(let b of a){let a=b.groupId??null;if(a&&c.has(a)){let c=d.get(a)??[];c.push(b),d.set(a,c)}else e.push(b)}let f=[];for(let a of b){let b=d.get(a.id);b&&f.push(...b)}return f.push(...e),f}])},986013,a=>{"use strict";let b,c;var d=a.i(666680);a.s(["nanoid",0,function(a=21){var e;e=a|=0,!b||b.length<e?(b=Buffer.allocUnsafe(128*e),d.webcrypto.getRandomValues(b),c=0):c+e>b.length&&(d.webcrypto.getRandomValues(b),c=0),c+=e;let f="";for(let d=c-a;d<c;d++)f+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&b[d]];return f}],986013)},144784,a=>{"use strict";let b=a=>"pane"===a.type?[a]:[...b(a.children[0]),...b(a.children[1])],c=(a,b)=>"pane"===a.type?a.id===b?a:null:c(a.children[0],b)||c(a.children[1],b),d=a=>"pane"===a.type?a.id:d(a.children[0]),e=a=>"pane"===a.type?a.id:e(a.children[1]),f=(a,b,c)=>"pane"===a.type?a.id===b?c:a:{...a,children:[f(a.children[0],b,c),f(a.children[1],b,c)]},g=(a,b)=>{if("pane"===a.type)return null;let[c,d]=a.children;if("pane"===c.type&&c.id===b)return d;if("pane"===d.type&&d.id===b)return c;let e=g(c,b);if(e)return{...a,children:[e,d]};let f=g(d,b);return f?{...a,children:[c,f]}:null},h=(a,b)=>{if("pane"===a.type)return null;let[c,f]=a.children;return"pane"===c.type&&c.id===b?d(f):"pane"===f.type&&f.id===b?e(c):h(c,b)||h(f,b)},i=(a,b,c)=>{if("split"!==a.type)return a;if(0===b.length)return{...a,ratio:c};let[d,...e]=b,f=[a.children[0],a.children[1]];return f[d]=i(a.children[d],e,c),{...a,children:f}},j=(a,b)=>"pane"===a.type||a.orientation!==b?1:j(a.children[0],b)+j(a.children[1],b),k=a=>{if("pane"===a.type)return!0;let b=j(a.children[0],a.orientation),c=j(a.children[1],a.orientation);return!(Math.abs(a.ratio-b/(b+c)*100)>1)&&k(a.children[0])&&k(a.children[1])},l=a=>{if("pane"===a.type)return a;let b=j(a.children[0],a.orientation),c=Math.round(b/(b+j(a.children[1],a.orientation))*1e4)/100;return{...a,ratio:c,children:[l(a.children[0]),l(a.children[1])]}},m=(a,b,c)=>{if("pane"===a.type)return a.id===b?c(a):a;let d=m(a.children[0],b,c);if(d!==a.children[0])return{...a,children:[d,a.children[1]]};let e=m(a.children[1],b,c);return e!==a.children[1]?{...a,children:[a.children[0],e]}:a};a.s(["collectAllTabs",0,a=>b(a).flatMap(a=>a.tabs),"collectPanes",0,b,"equalizeNode",0,l,"findAdjacentPaneInDirection",0,(a,b,c)=>{let f=[],g=a=>{if("pane"===a.type)return a.id===b;for(let b=0;b<2;b++){if(f.push({node:a,childIndex:b}),g(a.children[b]))return!0;f.pop()}return!1};if(!g(a))return null;let h="left"===c||"right"===c?"horizontal":"vertical",i=+("left"===c||"up"===c);for(let a=f.length-1;a>=0;a--){let{node:b,childIndex:g}=f[a];if("split"===b.type&&b.orientation===h&&g===i){let a=b.children[1-i];return"left"===c||"up"===c?e(a):d(a)}}return null},"findPane",0,c,"findResizeTarget",0,(a,b,c)=>{let d=[],e=a=>{if("pane"===a.type)return a.id===b;for(let b=0;b<2;b++){if(d.push({node:a,childIndex:b}),e(a.children[b]))return!0;d.pop()}return!1};if(!e(a))return null;let f="left"===c||"right"===c?"horizontal":"vertical",g=+("right"!==c&&"down"!==c),h="right"===c||"down"===c;for(let a=d.length-1;a>=0;a--){let{node:b,childIndex:c}=d[a];if("split"===b.type&&b.orientation===f&&c===g)return{path:d.slice(0,a).map(a=>a.childIndex),currentRatio:b.ratio,increase:h}}return null},"getFirstPaneId",0,d,"isEqualized",0,k,"removePaneWithFocus",0,(a,c)=>{let d=h(a.root,c),e=g(a.root,c);e&&(a.root=e),a.activePaneId===c&&(a.activePaneId=d??b(a.root)[0]?.id??null)},"replacePane",0,f,"updatePaneInTree",0,m,"updateRatioAtPath",0,i])},206456,a=>{"use strict";let b=new Set(["zsh","bash","fish","sh","-zsh","-bash","-fish","-sh"]),c=a=>{if("~"===a||"/"===a)return a;let b=a.replace(/\/$/,"").split("/");return b[b.length-1]||a},d=a=>{let b=a.trim();if(!b)return null;let c=b.indexOf("|");return c>0?b.slice(0,c):null};a.s(["formatTabTitle",0,a=>{let e=a.trim();if(!e)return"";let f=d(a);if(null!==f){let a=e.slice(e.indexOf("|")+1);return b.has(f)?c(a):f}let g=e.match(/@[^:]+:\s*(.*)/);if(g)return c(g[1].trim());if(e.startsWith("/")||e.startsWith("~"))return c(e);let h=e.split(/\s+/)[0];return b.has(h)?"":h||""},"isShellProcess",0,a=>{let c=d(a);return null!==c&&b.has(c)},"parseCurrentCommand",0,d])},4873,a=>{"use strict";var b=a.i(127669);let c=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},d=a=>{let d=a?c(a):c,e=a=>(function(a,c=a=>a){let d=b.default.useSyncExternalStore(a.subscribe,b.default.useCallback(()=>c(a.getState()),[a,c]),b.default.useCallback(()=>c(a.getInitialState()),[a,c]));return b.default.useDebugValue(d),d})(d,a);return Object.assign(e,d),e};a.s(["create",0,a=>a?d(a):d],4873)},721043,a=>{"use strict";a.s(["default",0,!1])},740398,83041,480824,a=>{"use strict";var b=a.i(127669),c=(a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}},d=["light","dark"],e="(prefers-color-scheme: dark)",f=b.createContext(void 0),g={setTheme:a=>{},themes:[]},h=()=>{var a;return null!=(a=b.useContext(f))?a:g},i=["light","dark"],j=({forcedTheme:a,disableTransitionOnChange:c=!1,enableSystem:g=!0,enableColorScheme:h=!0,storageKey:j="theme",themes:o=i,defaultTheme:p=g?"system":"light",attribute:q="data-theme",value:r,children:s,nonce:t,scriptProps:u})=>{let[v,w]=b.useState(()=>l(j,p)),[x,y]=b.useState(()=>"system"===v?n():v),z=r?Object.values(r):o,A=b.useCallback(a=>{let b=a;if(!b)return;"system"===a&&g&&(b=n());let e=r?r[b]:b,f=c?m(t):null,i=document.documentElement,j=a=>{"class"===a?(i.classList.remove(...z),e&&i.classList.add(e)):a.startsWith("data-")&&(e?i.setAttribute(a,e):i.removeAttribute(a))};if(Array.isArray(q)?q.forEach(j):j(q),h){let a=d.includes(p)?p:null,c=d.includes(b)?b:a;i.style.colorScheme=c}null==f||f()},[t]),B=b.useCallback(a=>{let b="function"==typeof a?a(v):a;w(b);try{localStorage.setItem(j,b)}catch(a){}},[v]),C=b.useCallback(b=>{y(n(b)),"system"===v&&g&&!a&&A("system")},[v,a]);b.useEffect(()=>{let a=window.matchMedia(e);return a.addListener(C),C(a),()=>a.removeListener(C)},[C]),b.useEffect(()=>{let a=a=>{a.key===j&&(a.newValue?w(a.newValue):B(p))};return window.addEventListener("storage",a),()=>window.removeEventListener("storage",a)},[B]),b.useEffect(()=>{A(null!=a?a:v)},[a,v]);let D=b.useMemo(()=>({theme:v,setTheme:B,forcedTheme:a,resolvedTheme:"system"===v?x:v,themes:g?[...o,"system"]:o,systemTheme:g?x:void 0}),[v,B,a,x,g,o]);return b.createElement(f.Provider,{value:D},b.createElement(k,{forcedTheme:a,storageKey:j,attribute:q,enableSystem:g,enableColorScheme:h,defaultTheme:p,value:r,themes:o,nonce:t,scriptProps:u}),s)},k=b.memo(({forcedTheme:a,storageKey:d,attribute:e,enableSystem:f,enableColorScheme:g,defaultTheme:h,value:i,themes:j,nonce:k,scriptProps:l})=>{let m=JSON.stringify([e,d,h,a,j,i,f,g]).slice(1,-1);return b.createElement("script",{...l,suppressHydrationWarning:!0,nonce:k,dangerouslySetInnerHTML:{__html:`(${c.toString()})(${m})`}})}),l=(a,b)=>{},m=a=>{let b=document.createElement("style");return a&&b.setAttribute("nonce",a),b.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(b),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(b)},1)}},n=a=>(a||(a=window.matchMedia(e)),a.matches?"dark":"light");a.s(["ThemeProvider",0,a=>b.useContext(f)?b.createElement(b.Fragment,null,a.children):b.createElement(j,{...a}),"useTheme",0,h],740398);var o=a.i(4873);let p=[{id:"snazzy",name:"Snazzy",variant:"dark",colors:{background:"#1e1f29",foreground:"#ebece6",cursor:"#e4e4e4",cursorAccent:"#1e1f29",selectionBackground:"#81aec6",selectionForeground:"#000000",black:"#000000",red:"#fc4346",green:"#50fb7c",yellow:"#f0fb8c",blue:"#49baff",magenta:"#fc4cb4",cyan:"#8be9fe",white:"#ededec",brightBlack:"#555555",brightRed:"#fc4346",brightGreen:"#50fb7c",brightYellow:"#f0fb8c",brightBlue:"#49baff",brightMagenta:"#fc4cb4",brightCyan:"#8be9fe",brightWhite:"#ededec"}},{id:"dracula",name:"Dracula",variant:"dark",colors:{background:"#282a36",foreground:"#f8f8f2",cursor:"#f8f8f2",cursorAccent:"#282a36",selectionBackground:"#44475a",selectionForeground:"#f8f8f2",black:"#21222c",red:"#ff5555",green:"#50fa7b",yellow:"#f1fa8c",blue:"#bd93f9",magenta:"#ff79c6",cyan:"#8be9fd",white:"#f8f8f2",brightBlack:"#6272a4",brightRed:"#ff6e6e",brightGreen:"#69ff94",brightYellow:"#ffffa5",brightBlue:"#d6acff",brightMagenta:"#ff92df",brightCyan:"#a4ffff",brightWhite:"#ffffff"}},{id:"one-dark",name:"One Dark",variant:"dark",colors:{background:"#282c34",foreground:"#abb2bf",cursor:"#528bff",cursorAccent:"#282c34",selectionBackground:"#3e4451",selectionForeground:"#abb2bf",black:"#282c34",red:"#e06c75",green:"#98c379",yellow:"#e5c07b",blue:"#61afef",magenta:"#c678dd",cyan:"#56b6c2",white:"#abb2bf",brightBlack:"#5c6370",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#e5c07b",brightBlue:"#61afef",brightMagenta:"#c678dd",brightCyan:"#56b6c2",brightWhite:"#ffffff"}},{id:"tokyo-night",name:"Tokyo Night",variant:"dark",colors:{background:"#1a1b26",foreground:"#a9b1d6",cursor:"#c0caf5",cursorAccent:"#1a1b26",selectionBackground:"#33467c",selectionForeground:"#a9b1d6",black:"#15161e",red:"#f7768e",green:"#9ece6a",yellow:"#e0af68",blue:"#7aa2f7",magenta:"#bb9af7",cyan:"#7dcfff",white:"#a9b1d6",brightBlack:"#414868",brightRed:"#f7768e",brightGreen:"#9ece6a",brightYellow:"#e0af68",brightBlue:"#7aa2f7",brightMagenta:"#bb9af7",brightCyan:"#7dcfff",brightWhite:"#c0caf5"}},{id:"nord",name:"Nord",variant:"dark",colors:{background:"#2e3440",foreground:"#d8dee9",cursor:"#d8dee9",cursorAccent:"#2e3440",selectionBackground:"#434c5e",selectionForeground:"#d8dee9",black:"#3b4252",red:"#bf616a",green:"#a3be8c",yellow:"#ebcb8b",blue:"#81a1c1",magenta:"#b48ead",cyan:"#88c0d0",white:"#e5e9f0",brightBlack:"#4c566a",brightRed:"#bf616a",brightGreen:"#a3be8c",brightYellow:"#ebcb8b",brightBlue:"#81a1c1",brightMagenta:"#b48ead",brightCyan:"#8fbcbb",brightWhite:"#eceff4"}},{id:"catppuccin-mocha",name:"Catppuccin Mocha",variant:"dark",colors:{background:"#1e1e2e",foreground:"#cdd6f4",cursor:"#f5e0dc",cursorAccent:"#1e1e2e",selectionBackground:"#585b70",selectionForeground:"#cdd6f4",black:"#45475a",red:"#f38ba8",green:"#a6e3a1",yellow:"#f9e2af",blue:"#89b4fa",magenta:"#f5c2e7",cyan:"#94e2d5",white:"#bac2de",brightBlack:"#585b70",brightRed:"#f38ba8",brightGreen:"#a6e3a1",brightYellow:"#f9e2af",brightBlue:"#89b4fa",brightMagenta:"#f5c2e7",brightCyan:"#94e2d5",brightWhite:"#a6adc8"}},{id:"catppuccin-latte",name:"Catppuccin Latte",variant:"light",colors:{background:"#eff1f5",foreground:"#4c4f69",cursor:"#dc8a78",cursorAccent:"#eff1f5",selectionBackground:"#acb0be",selectionForeground:"#4c4f69",black:"#5c5f77",red:"#d20f39",green:"#40a02b",yellow:"#df8e1d",blue:"#1e66f5",magenta:"#ea76cb",cyan:"#179299",white:"#acb0be",brightBlack:"#6c6f85",brightRed:"#d20f39",brightGreen:"#40a02b",brightYellow:"#df8e1d",brightBlue:"#1e66f5",brightMagenta:"#ea76cb",brightCyan:"#179299",brightWhite:"#bcc0cc"}},{id:"github-light",name:"GitHub Light",variant:"light",colors:{background:"#f6f8fa",foreground:"#24292f",cursor:"#044289",cursorAccent:"#f6f8fa",selectionBackground:"#b6d7ff",selectionForeground:"#24292f",black:"#24292f",red:"#cf222e",green:"#116329",yellow:"#9a6700",blue:"#0969da",magenta:"#8250df",cyan:"#1b7c83",white:"#6e7781",brightBlack:"#57606a",brightRed:"#a40e26",brightGreen:"#1a7f37",brightYellow:"#bf8700",brightBlue:"#218bff",brightMagenta:"#a475f9",brightCyan:"#3192aa",brightWhite:"#8c959f"}},{id:"one-light",name:"One Light",variant:"light",colors:{background:"#fafafa",foreground:"#383a42",cursor:"#526eff",cursorAccent:"#fafafa",selectionBackground:"#e5e5e6",selectionForeground:"#383a42",black:"#383a42",red:"#e45649",green:"#50a14f",yellow:"#c18401",blue:"#4078f2",magenta:"#a626a4",cyan:"#0184bc",white:"#a0a1a7",brightBlack:"#696c77",brightRed:"#e45649",brightGreen:"#50a14f",brightYellow:"#c18401",brightBlue:"#4078f2",brightMagenta:"#a626a4",brightCyan:"#0184bc",brightWhite:"#d4d4d4"}},{id:"solarized-light",name:"Solarized Light",variant:"light",colors:{background:"#fdf6e3",foreground:"#657b83",cursor:"#657b83",cursorAccent:"#fdf6e3",selectionBackground:"#eee8d5",selectionForeground:"#657b83",black:"#073642",red:"#dc322f",green:"#859900",yellow:"#b58900",blue:"#268bd2",magenta:"#d33682",cyan:"#2aa198",white:"#eee8d5",brightBlack:"#002b36",brightRed:"#cb4b16",brightGreen:"#586e75",brightYellow:"#657b83",brightBlue:"#839496",brightMagenta:"#6c71c4",brightCyan:"#93a1a1",brightWhite:"#fdf6e3"}},{id:"tokyo-night-light",name:"Tokyo Night Light",variant:"light",colors:{background:"#e1e2e7",foreground:"#3760bf",cursor:"#3760bf",cursorAccent:"#e1e2e7",selectionBackground:"#b6bfe2",selectionForeground:"#3760bf",black:"#e9e9ed",red:"#f52a65",green:"#587539",yellow:"#8c6c3e",blue:"#2e7de9",magenta:"#9854f1",cyan:"#007197",white:"#6172b0",brightBlack:"#a1a6c5",brightRed:"#f52a65",brightGreen:"#587539",brightYellow:"#8c6c3e",brightBlue:"#2e7de9",brightMagenta:"#9854f1",brightCyan:"#007197",brightWhite:"#3760bf"}},{id:"nord-light",name:"Nord Light",variant:"light",colors:{background:"#eceff4",foreground:"#2e3440",cursor:"#2e3440",cursorAccent:"#eceff4",selectionBackground:"#d8dee9",selectionForeground:"#2e3440",black:"#2e3440",red:"#bf616a",green:"#a3be8c",yellow:"#ebcb8b",blue:"#81a1c1",magenta:"#b48ead",cyan:"#88c0d0",white:"#d8dee9",brightBlack:"#4c566a",brightRed:"#bf616a",brightGreen:"#a3be8c",brightYellow:"#ebcb8b",brightBlue:"#81a1c1",brightMagenta:"#b48ead",brightCyan:"#8fbcbb",brightWhite:"#eceff4"}}],q={light:"catppuccin-latte",dark:"snazzy"},r=a=>p.find(b=>b.id===a)??p[0];a.s(["DEFAULT_THEME_IDS",0,q,"TERMINAL_THEMES",0,p,"getTerminalTheme",0,r],83041);let s=(0,o.create)(a=>({themeIds:{...q},setTheme:(b,c)=>{a(a=>{let d={...a.themeIds,[b]:c};return fetch("/api/config",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({terminalTheme:d})}).catch(()=>{}),{themeIds:d}})},hydrate:b=>{a({themeIds:{...q,...b}})}}));a.s(["default",0,()=>{let{resolvedTheme:a}=h(),b="light"===a?"light":"dark",{themeIds:c,setTheme:d}=s(),e=r(c[b]);return{mode:b,themeIds:c,theme:e,setTerminalTheme:d,themes:p}},"initTerminalTheme",0,a=>{a&&s.getState().hydrate(a)}],480824)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0da5cj~._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},688947,(a,b,c)=>{b.exports=a.x("stream",()=>require("stream"))},406461,(a,b,c)=>{b.exports=a.x("zlib",()=>require("zlib"))},522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},111794,a=>{"use strict";a.s(["MESSAGE_NAMESPACES",0,["common","sidebar","header","terminal","connection","workspace","login","onboarding","settings","stats","reset","reports","timeline","notification","session","messageHistory","webBrowser","mobile","toolsRequired","diff","shortcuts"]])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__12b2-y_._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[931528,(a,b,c)=>{"use strict";var d=a.r(127669);d.useState,d.useEffect,d.useLayoutEffect,d.useDebugValue,c.useSyncExternalStore=void 0!==d.useSyncExternalStore?d.useSyncExternalStore:function(a,b){return b()}},152119,(a,b,c)=>{"use strict";b.exports=a.r(931528)},534033,(a,b,c)=>{"use strict";var d=a.r(127669),e=a.r(152119),f="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},g=e.useSyncExternalStore,h=d.useRef,i=d.useEffect,j=d.useMemo,k=d.useDebugValue;c.useSyncExternalStoreWithSelector=function(a,b,c,d,e){var l=h(null);if(null===l.current){var m={hasValue:!1,value:null};l.current=m}else m=l.current;var n=g(a,(l=j(function(){function a(a){if(!i){if(i=!0,g=a,a=d(a),void 0!==e&&m.hasValue){var b=m.value;if(e(b,a))return h=b}return h=a}if(b=h,f(g,a))return b;var c=d(a);return void 0!==e&&e(b,c)?(g=a,b):(g=a,h=c)}var g,h,i=!1,j=void 0===c?null:c;return[function(){return a(b())},null===j?void 0:function(){return a(j())}]},[b,c,d,e]))[0],l[1]);return i(function(){m.hasValue=!0,m.value=n},[n]),k(n),n}},908328,(a,b,c)=>{"use strict";b.exports=a.r(534033)},564375,a=>{"use strict";var b=a.i(127669);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let f=(0,b.createContext)({}),g=(0,b.forwardRef)(({color:a,size:d,strokeWidth:g,absoluteStrokeWidth:h,className:i="",children:j,iconNode:k,...l},m)=>{let{size:n=24,strokeWidth:o=2,absoluteStrokeWidth:p=!1,color:q="currentColor",className:r=""}=(0,b.useContext)(f)??{},s=h??p?24*Number(g??o)/Number(d??n):g??o;return(0,b.createElement)("svg",{ref:m,...e,width:d??n??e.width,height:d??n??e.height,stroke:a??q,strokeWidth:s,className:c("lucide",r,i),...!j&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(l)&&{"aria-hidden":"true"},...l},[...k.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(j)?j:[j]])});a.s(["default",0,(a,e)=>{let f=(0,b.forwardRef)(({className:f,...h},i)=>(0,b.createElement)(g,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,f),...h}));return f.displayName=d(a),f}],564375)},597435,177765,a=>{"use strict";let b=(0,a.i(564375).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",0,b],177765),a.s(["Check",0,b],597435)},975022,a=>{"use strict";let b=(0,a.i(564375).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],975022)},532572,a=>{"use strict";let b=(0,a.i(564375).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",0,b],532572)},841527,a=>{"use strict";var b=a.i(508171),c=a.i(975022),d=a.i(799856);a.s(["default",0,({shimmer:a=!1,size:e="sm",className:f})=>(0,b.jsxs)("div",{className:(0,d.cn)("flex items-center gap-1.5","xl"===e&&"gap-2.5",f),children:[(0,b.jsx)(c.Terminal,{className:(0,d.cn)("xl"===e?"h-6 w-6":"h-4 w-4","shrink-0 text-brand")}),(0,b.jsxs)("span",{className:(0,d.cn)("xl"===e?"text-xl":"text-sm",a?"animate-shimmer":"text-brand"),children:[(0,b.jsx)("span",{className:"font-bold",children:"purple"}),(0,b.jsx)("span",{className:"font-normal",children:"mux"})]})]})])},428496,a=>{"use strict";a.s(["isRuntimeOk",0,a=>a.tmux.installed&&a.tmux.compatible&&a.git.installed&&a.claude.installed])},737098,849612,a=>{"use strict";let b=(0,a.i(564375).default)("refresh-ccw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]]);a.s(["RefreshCcw",0,b],737098);var c=a.i(508171),d=a.i(127669),e=a.i(113952),f=a.i(109254),g=a.i(396465),h=a.i(514385),i=a.i(104877);a.s(["default",0,({open:a,onOpenChange:b,command:j,label:k})=>{let l=(0,e.useTranslations)("common"),m=(0,d.useRef)(!1),n=(0,d.useRef)(()=>{}),{connect:o,disconnect:p,sendStdin:q,sendResize:r}=(a=>{let b=(0,d.useRef)(null),[c,e]=(0,d.useState)("idle"),f=(0,d.useRef)(a);(0,d.useEffect)(()=>{f.current=a},[a]);let g=(0,d.useCallback)(()=>{let a=b.current;a&&(a.close(),b.current=null)},[]);(0,d.useEffect)(()=>()=>{b.current?.close()},[]);let h=(0,d.useCallback)((a,c,d)=>{g();let h="https:"===window.location.protocol?"wss:":"ws:",j=new WebSocket(`${h}//${window.location.host}/api/install?command=${encodeURIComponent(a)}&cols=${c}&rows=${d}`);j.binaryType="arraybuffer",b.current=j,j.onopen=()=>e("connected"),j.onmessage=a=>{let b=(0,i.decodeMessage)(a.data);b.type===i.MSG_STDOUT&&f.current(b.payload)},j.onclose=()=>{b.current=null,e("disconnected")},j.onerror=()=>{b.current=null,e("disconnected")}},[g]);return{status:c,connect:h,disconnect:g,sendStdin:(0,d.useCallback)(a=>{b.current?.send((0,i.encodeStdin)(a))},[]),sendResize:(0,d.useCallback)((a,c)=>{b.current?.send((0,i.encodeResize)(a,c))},[])}})(a=>n.current(a)),{terminalRef:s,write:t,fit:u,isReady:v}=(0,h.default)({fontSize:12,onInput:q,onResize:r});(0,d.useEffect)(()=>{n.current=t},[t]),(0,d.useEffect)(()=>{if(a&&v&&!m.current){m.current=!0;let{cols:a,rows:b}=u();o(j,a,b)}},[a,v,j,o,u]);let w=(0,d.useCallback)(()=>{p(),m.current=!1,b(!1),window.location.reload()},[p,b]);return(0,c.jsx)(f.Dialog,{open:a,onOpenChange:a=>{a||w()},children:(0,c.jsxs)(f.DialogContent,{className:"sm:max-w-2xl",showCloseButton:!1,children:[(0,c.jsx)(f.DialogHeader,{children:(0,c.jsx)(f.DialogTitle,{children:k})}),(0,c.jsx)("div",{ref:s,className:"h-[400px] w-full rounded-md bg-black p-2"}),(0,c.jsx)(f.DialogFooter,{children:(0,c.jsx)(g.Button,{variant:"outline",onClick:w,children:l("close")})})]})})}],849612)},191926,a=>{"use strict";var b=a.i(579168),c=a.i(627068),d=a.i(332759),e=a.i(817359),f=a.i(468695),g=a.i(508171),h=a.i(127669),i=a.i(41910),j=a.i(113952),k=a.i(119059),l=a.i(369773),m=a.i(597435),n=a.i(532572),o=a.i(311988),p=a.i(737098),q=a.i(734637),r=a.i(396465),s=a.i(841527),t=a.i(849612),u=a.i(428496);let v=async b=>{let{requireAuth:c}=await a.A(120441),{loadMessagesServer:d}=await a.A(168414);return c(b,async()=>({props:{messages:await d()}}),{skipPreflight:!0})};a.s(["default",0,()=>{let a=(0,j.useTranslations)("toolsRequired"),b=(0,i.useRouter)().query.from||"/",{status:c,checking:d,recheck:e}=(()=>{let[a,b]=(0,h.useState)(null),[c,d]=(0,h.useState)(!0),e=(0,h.useCallback)(async a=>{d(!0);try{let c=await fetch("/api/preflight/runtime",{method:a}),d=await c.json();b(d)}catch{}finally{d(!1)}},[]);return(0,h.useEffect)(()=>{e("GET")},[e]),{status:a,checking:c,recheck:(0,h.useCallback)(()=>e("POST"),[e])}})(),[f,v]=(0,h.useState)(null);(0,h.useEffect)(()=>{c&&(0,u.isRuntimeOk)(c)&&(window.location.href=b)},[c,b]);let w=c?[{name:"tmux",ok:c.tmux.installed&&c.tmux.compatible,version:c.tmux.version},{name:"Git",ok:c.git.installed,version:c.git.version},{name:"Claude CLI",ok:c.claude.installed,version:c.claude.version}]:[],x=c?((a,b)=>{if(!(a.tmux.installed&&a.tmux.compatible)){let c=a.tmux.installed&&!a.tmux.compatible;return{command:c?"tmux-upgrade":"tmux-install",label:b(c?"upgradeTmux":"installTmux")}}return a.git.installed?a.claude.installed?null:{command:"claude",label:b("installClaude")}:{command:"git",label:b("installGit")}})(c,a):null;return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(k.default,{children:(0,g.jsx)("title",{children:a("pageTitle")})}),(0,g.jsx)("div",{className:"flex min-h-svh items-center justify-center p-6",children:(0,g.jsxs)("div",{className:"w-full max-w-sm flex flex-col gap-6",children:[(0,g.jsx)(s.default,{shimmer:!0,size:"xl",className:"justify-center"}),d&&!c?(0,g.jsxs)("div",{className:"flex items-center justify-center gap-2 py-8 text-muted-foreground",children:[(0,g.jsx)(o.Loader2,{className:"h-5 w-5 animate-spin"}),(0,g.jsx)("span",{className:"text-sm",children:a("checking")})]}):c&&(0,u.isRuntimeOk)(c)?(0,g.jsxs)("div",{className:"flex items-center justify-center gap-2 py-8 text-positive",children:[(0,g.jsx)(m.Check,{className:"h-5 w-5"}),(0,g.jsx)("span",{className:"text-sm font-medium",children:a("allGood")})]}):(0,g.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,g.jsxs)("div",{className:"flex items-center gap-2 text-ui-amber",children:[(0,g.jsx)(l.AlertTriangle,{className:"h-5 w-5 shrink-0"}),(0,g.jsx)("p",{className:"text-sm font-medium",children:a("title")})]}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a("description")}),(0,g.jsx)("div",{className:"space-y-1.5",children:w.map(a=>(0,g.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[a.ok?(0,g.jsx)(m.Check,{className:"h-4 w-4 shrink-0 text-positive"}):(0,g.jsx)(q.X,{className:"h-4 w-4 shrink-0 text-negative"}),(0,g.jsx)("span",{className:a.ok?"text-muted-foreground":"text-foreground font-medium",children:a.name}),a.version&&(0,g.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",a.version,")"]})]},a.name))}),(0,g.jsxs)("div",{className:"flex flex-col gap-2",children:[x&&(0,g.jsxs)(r.Button,{size:"lg",className:"h-12 w-full",onClick:()=>v(x),children:[(0,g.jsx)(n.Download,{className:"mr-1 h-4 w-4"}),x.label]}),(0,g.jsxs)(r.Button,{variant:"outline",size:"lg",className:"h-12 w-full",disabled:d,onClick:e,children:[(0,g.jsx)(p.RefreshCcw,{className:"mr-1 h-4 w-4"}),a("recheck")]})]})]}),f&&(0,g.jsx)(t.default,{open:!0,onOpenChange:()=>v(null),command:f.command,label:f.label})]})})]})},"getServerSideProps",0,v],295832);var w=a.i(295832),x=a.i(509193);let y=(0,d.hoist)(w,"default"),z=(0,d.hoist)(w,"getStaticProps"),A=(0,d.hoist)(w,"getStaticPaths"),B=(0,d.hoist)(w,"getServerSideProps"),C=(0,d.hoist)(w,"config"),D=(0,d.hoist)(w,"reportWebVitals"),E=(0,d.hoist)(w,"unstable_getStaticProps"),F=(0,d.hoist)(w,"unstable_getStaticPaths"),G=(0,d.hoist)(w,"unstable_getStaticParams"),H=(0,d.hoist)(w,"unstable_getServerProps"),I=(0,d.hoist)(w,"unstable_getServerSideProps"),J=new b.PagesRouteModule({definition:{kind:c.RouteKind.PAGES,page:"/tools-required",pathname:"/tools-required",bundlePath:"",filename:""},distDir:".next",relativeProjectDir:"",components:{App:f.default,Document:e.default},userland:w}),K=(0,x.getHandler)({srcPage:"/tools-required",config:C,userland:w,routeModule:J,getStaticPaths:A,getStaticProps:z,getServerSideProps:B});a.s(["config",0,C,"default",0,y,"getServerSideProps",0,B,"getStaticPaths",0,A,"getStaticProps",0,z,"handler",0,K,"reportWebVitals",0,D,"routeModule",0,J,"unstable_getServerProps",0,H,"unstable_getServerSideProps",0,I,"unstable_getStaticParams",0,G,"unstable_getStaticPaths",0,F,"unstable_getStaticProps",0,E],191926)},120441,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_require-auth_ts_0lybmh2._.js"].map(b=>a.l(b))).then(()=>b(56975)))},168414,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_load-messages_ts_11e7h4~._.js"].map(b=>a.l(b))).then(()=>b(387607)))}];
2
-
3
- //# sourceMappingURL=_016o9_-._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[353723,a=>{"use strict";var b=a.i(127669),c=a.i(241196),d=a.i(404694),e=a.i(286255);a.s(["useAnchoredPopupScrollLock",0,function(a,f,g,h){let[i,j]=b.useState(!1);(0,e.useIsoLayoutEffect)(()=>{if(!a||!f||null==g)return void j(!1);let b=(0,c.ownerDocument)(g).documentElement.clientWidth,d=g.offsetWidth;j(b>0&&d>0&&d>=b-20)},[a,f,g]),(0,d.useScrollLock)(a&&(!f||i),h)}])},856626,a=>{"use strict";var b=a.i(179256),c=a.i(127669);let d=c.createContext(void 0);a.s(["useToolbarRootContext",0,function(a){let e=c.useContext(d);if(void 0===e&&!a)throw Error((0,b.default)(69));return e}])},132660,a=>{"use strict";let b=(0,a.i(564375).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],132660)},524256,a=>{"use strict";let b=(0,a.i(564375).default)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);a.s(["Network",0,b],524256)},874193,228561,781528,770280,393230,353076,884892,746248,951762,a=>{"use strict";a.s([],874193);var b=a.i(127669),c=a.i(1415),d=a.i(195433),e=a.i(832668),f=a.i(92856),g=a.i(395344),h=a.i(463880),i=a.i(179256);let j=b.createContext(void 0);function k(a){let c=b.useContext(j);if(void 0===c&&!a)throw Error((0,i.default)(47));return c}a.s(["PopoverRootContext",0,j,"usePopoverRootContext",0,k],228561);var l=a.i(456195),m=a.i(691387),n=a.i(790206),o=a.i(214739),p=a.i(963973),q=a.i(727482),r=a.i(791666),s=a.i(934051),t=a.i(953554),u=a.i(560783);let v={...s.popupStoreSelectors,disabled:(0,n.createSelector)(a=>a.disabled),instantType:(0,n.createSelector)(a=>a.instantType),openMethod:(0,n.createSelector)(a=>a.openMethod),openChangeReason:(0,n.createSelector)(a=>a.openChangeReason),modal:(0,n.createSelector)(a=>a.modal),focusManagerModal:(0,n.createSelector)(a=>a.focusManagerModal),stickIfOpen:(0,n.createSelector)(a=>a.stickIfOpen),titleElementId:(0,n.createSelector)(a=>a.titleElementId),descriptionElementId:(0,n.createSelector)(a=>a.descriptionElementId),openOnHover:(0,n.createSelector)(a=>a.openOnHover),closeDelay:(0,n.createSelector)(a=>a.closeDelay),hasViewport:(0,n.createSelector)(a=>a.hasViewport)};class w extends m.ReactStore{constructor(a){const c={...(0,s.createInitialPopupStoreState)(),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,nested:!1,openOnHover:!1,closeDelay:0,hasViewport:!1,...a};c.open&&a?.mounted===void 0&&(c.mounted=!0),super(c,{popupRef:b.createRef(),backdropRef:b.createRef(),internalBackdropRef:b.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:b.createRef(),beforeContentFocusGuardRef:b.createRef(),stickIfOpenTimeout:new o.Timeout,triggerElements:new t.PopupTriggerMap},v)}setOpen=(a,b)=>{let c=b.reason===r.REASONS.triggerHover,d=b.reason===r.REASONS.triggerPress&&0===b.event.detail,e=!a&&(b.reason===r.REASONS.escapeKey||null==b.reason);if(b.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},this.context.onOpenChange?.(a,b),b.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(a,b);let f=()=>{let c={open:a,openChangeReason:b.reason},d=b.trigger?.id??null;(d||a)&&(c.activeTriggerId=d,c.activeTriggerElement=b.trigger??null),this.update(c)};c?(this.set("stickIfOpen",!0),this.context.stickIfOpenTimeout.start(u.PATIENT_CLICK_THRESHOLD,()=>{this.set("stickIfOpen",!1)}),l.flushSync(f)):f(),d||e?this.set("instantType",d?"click":"dismiss"):b.reason===r.REASONS.focusOut?this.set("instantType","focus"):this.set("instantType",void 0)};static useStore(a,b){let c=(0,p.useRefWithInit)(()=>new w(b)).current,d=a??c;return(0,q.useOnMount)(c.disposeEffect),d}disposeEffect=()=>this.context.stickIfOpenTimeout.disposeEffect()}a.s(["PopoverStore",0,w],781528);var x=a.i(149137),y=a.i(153651),z=a.i(33559),A=a.i(508171);function B({props:a}){let{children:i,open:k,defaultOpen:l=!1,onOpenChange:m,onOpenChangeComplete:n,modal:o=!1,handle:p,triggerId:q,defaultTriggerId:s=null}=a,t=w.useStore(p?.store,{modal:o,open:l,openProp:k,activeTriggerId:s,triggerIdProp:q});(0,c.useOnFirstRender)(()=>{void 0===k&&!1===t.state.open&&!0===l&&t.update({open:!0,activeTriggerId:s})}),t.useControlledProp("openProp",k),t.useControlledProp("triggerIdProp",q);let u=t.useState("open"),v=t.useState("payload");t.useContextCallback("onOpenChange",m),t.useContextCallback("onOpenChangeComplete",n);let{openMethod:C,triggerProps:D}=(0,z.useOpenInteractionType)(u);(0,y.useImplicitActiveTrigger)(t);let{forceUnmount:E}=(0,y.useOpenStateTransitions)(u,t,()=>{t.update({stickIfOpen:!0,openChangeReason:null})});b.useEffect(()=>{u||t.context.stickIfOpenTimeout.clear()},[t,u]);let F=b.useCallback(a=>{let b=(0,x.createChangeEventDetails)(a);return b.preventUnmountOnClose=()=>{t.set("preventUnmountingOnClose",!0)},b},[t]),G=b.useCallback(()=>{t.setOpen(!1,F(r.REASONS.imperativeAction))},[t,F]);b.useImperativeHandle(a.actionsRef,()=>({unmount:E,close:G}),[E,G]);let H=(0,h.useSyncedFloatingRootContext)({popupStore:t,onOpenChange:t.setOpen}),I=(0,d.useDismiss)(H,{outsidePressEvent:{mouse:"trap-focus"===o?"sloppy":"intentional",touch:"sloppy"}}),J=(0,f.useRole)(H),{getReferenceProps:K,getFloatingProps:L,getTriggerProps:M}=(0,e.useInteractions)([I,J]),N=b.useMemo(()=>K(D),[K,D]),O=b.useMemo(()=>M(D),[M,D]),P=b.useMemo(()=>L(),[L]);t.useSyncedValues({modal:o,openMethod:C,activeTriggerProps:N,inactiveTriggerProps:O,popupProps:P,floatingRootContext:H,nested:null!=(0,g.useFloatingParentNodeId)()});let Q=b.useMemo(()=>({store:t}),[t]);return(0,A.jsx)(j.Provider,{value:Q,children:"function"==typeof i?i({payload:v}):i})}a.s(["PopoverRoot",0,function(a){return k(!0)?(0,A.jsx)(B,{props:a}):(0,A.jsx)(g.FloatingTree,{children:(0,A.jsx)(B,{props:a})})}],770280);var C=a.i(20700),D=a.i(567962),E=a.i(716334),F=a.i(910055),G=a.i(57387),H=a.i(709829),I=a.i(743514),J=a.i(592343),K=a.i(611599),L=a.i(281921),M=a.i(407973);function N(a,c){let d=b.useRef(null),e=(0,K.useStableCallback)(b=>{l.flushSync(()=>{a.setOpen(!1,(0,x.createChangeEventDetails)(r.REASONS.focusOut,b.nativeEvent,b.currentTarget))});let c=(0,M.getTabbableBeforeElement)(d.current);c?.focus()});return{preFocusGuardRef:d,handlePreFocusGuardFocus:e,handleFocusTargetFocus:(0,K.useStableCallback)(b=>{let d=a.select("positionerElement");if(d&&(0,M.isOutsideEvent)(b,d))a.context.beforeContentFocusGuardRef.current?.focus();else{l.flushSync(()=>{a.setOpen(!1,(0,x.createChangeEventDetails)(r.REASONS.focusOut,b.nativeEvent,b.currentTarget))});let e=(0,M.getTabbableAfterElement)(a.context.triggerFocusTargetRef.current||c.current);for(;null!==e&&(0,L.contains)(d,e);){let a=e;if((e=(0,M.getNextTabbable)(e))===a)break}e?.focus()}})}}a.s(["useTriggerFocusGuards",0,N],393230);let O=b.forwardRef(function(a,c){let{render:d,className:f,disabled:g=!1,nativeButton:h=!0,handle:j,payload:l,openOnHover:m=!1,delay:n=300,closeDelay:o=0,id:p,style:q,...s}=a,t=k(!0),v=j?.store??t?.store;if(!v)throw Error((0,i.default)(74));let w=(0,I.useBaseUiId)(p),x=v.useState("isTriggerActive",w),z=v.useState("floatingRootContext"),B=v.useState("isOpenedByTrigger",w),K=b.useRef(null),{registerTrigger:L,isMountedByThisTrigger:M}=(0,y.useTriggerDataForwarding)(w,K,v,{payload:l,disabled:g,openOnHover:m,closeDelay:o}),O=v.useState("openChangeReason"),P=v.useState("stickIfOpen"),Q=v.useState("openMethod"),R=v.useState("focusManagerModal"),S=(0,H.useHoverReferenceInteraction)(z,{enabled:null!=z&&m&&("touch"!==Q||O!==r.REASONS.triggerPress),mouseOnly:!0,move:!1,handleClose:(0,F.safePolygon)(),restMs:n,delay:{close:o},triggerElementRef:K,isActiveTrigger:x,isClosing:()=>"ending"===v.select("transitionStatus")}),T=(0,G.useClick)(z,{enabled:null!=z,stickIfOpen:P}),U=(0,e.useInteractions)([T]),V=v.useState("triggerProps",M),{getButtonProps:W,buttonRef:X}=(0,C.useButton)({disabled:g,native:h}),Y=b.useMemo(()=>({open:a=>a&&O===r.REASONS.triggerPress?D.pressableTriggerOpenStateMapping.open(a):D.triggerOpenStateMapping.open(a)}),[O]),Z=(0,E.useRenderElement)("button",a,{state:{disabled:g,open:B},ref:[X,c,L,K],props:[U.getReferenceProps(),S,V,{[u.CLICK_TRIGGER_IDENTIFIER]:"",id:w},s,W],stateAttributesMapping:Y}),{preFocusGuardRef:$,handlePreFocusGuardFocus:_,handleFocusTargetFocus:aa}=N(v,K);return x&&!R?(0,A.jsxs)(b.Fragment,{children:[(0,A.jsx)(J.FocusGuard,{ref:$,onFocus:_}),(0,A.jsx)(b.Fragment,{children:Z},w),(0,A.jsx)(J.FocusGuard,{ref:v.context.triggerFocusTargetRef,onFocus:aa})]}):(0,A.jsx)(b.Fragment,{children:Z},w)});a.s(["PopoverTrigger",0,O],353076);var P=a.i(606359);let Q=b.createContext(void 0);a.s(["PopoverPortalContext",0,Q,"usePopoverPortalContext",0,function(){let a=b.useContext(Q);if(void 0===a)throw Error((0,i.default)(45));return a}],884892);let R=b.forwardRef(function(a,b){let{keepMounted:c=!1,...d}=a,{store:e}=k();return e.useState("mounted")||c?(0,A.jsx)(Q.Provider,{value:c,children:(0,A.jsx)(P.FloatingPortal,{ref:b,...d})}):null});a.s(["PopoverPortal",0,R],746248);let S=b.createContext(void 0);a.s(["PopoverPositionerContext",0,S,"usePopoverPositionerContext",0,function(){let a=b.useContext(S);if(!a)throw Error((0,i.default)(46));return a}],951762)},182659,a=>{"use strict";var b=a.i(127669),c=a.i(7461),d=a.i(286255),e=a.i(395344),f=a.i(228561),g=a.i(951762),h=a.i(847105),i=a.i(884892),j=a.i(623268),k=a.i(791666),l=a.i(560783),m=a.i(897605),n=a.i(511134),o=a.i(980726),p=a.i(353723),q=a.i(508171);let r=b.forwardRef(function(a,r){let{render:s,className:t,anchor:u,positionMethod:v="absolute",side:w="bottom",align:x="center",sideOffset:y=0,alignOffset:z=0,collisionBoundary:A="clipping-ancestors",collisionPadding:B=5,arrowPadding:C=5,sticky:D=!1,disableAnchorTracking:E=!1,collisionAvoidance:F=l.POPUP_COLLISION_AVOIDANCE,style:G,...H}=a,{store:I}=(0,f.usePopoverRootContext)(),J=(0,i.usePopoverPortalContext)(),K=(0,e.useFloatingNodeId)(),L=I.useState("floatingRootContext"),M=I.useState("mounted"),N=I.useState("open"),O=I.useState("openChangeReason"),P=I.useState("activeTriggerElement"),Q=I.useState("modal"),R=I.useState("openMethod"),S=I.useState("positionerElement"),T=I.useState("instantType"),U=I.useState("transitionStatus"),V=I.useState("hasViewport"),W=b.useRef(null),X=(0,m.useAnimationsFinished)(S,!1,!1),Y=(0,h.useAnchorPositioning)({anchor:u,floatingRootContext:L,positionMethod:v,mounted:M,side:w,sideOffset:y,align:x,alignOffset:z,arrowPadding:C,collisionBoundary:A,collisionPadding:B,sticky:D,disableAnchorTracking:E,keepMounted:J,nodeId:K,collisionAvoidance:F,adaptiveOrigin:V?n.adaptiveOrigin:void 0}),Z=L.useState("domReferenceElement");(0,d.useIsoLayoutEffect)(()=>{let a=W.current;if(Z&&(W.current=Z),a&&Z&&Z!==a){I.set("instantType",void 0);let a=new AbortController;return X(()=>{I.set("instantType","trigger-change")},a.signal),()=>{a.abort()}}},[Z,X,I]);let $={open:N,side:Y.side,align:Y.align,anchorHidden:Y.anchorHidden,instant:T};(0,p.useAnchoredPopupScrollLock)(N&&!0===Q&&O!==k.REASONS.triggerHover,"touch"===R,S,P);let _=b.useCallback(a=>{I.set("positionerElement",a)},[I]),aa=(0,o.usePositioner)(a,$,{styles:Y.positionerStyles,transitionStatus:U,props:H,refs:[r,_],hidden:!M,inert:!N});return(0,q.jsxs)(g.PopoverPositionerContext.Provider,{value:Y,children:[M&&!0===Q&&O!==k.REASONS.triggerHover&&(0,q.jsx)(j.InternalBackdrop,{ref:I.context.internalBackdropRef,inert:(0,c.inertValue)(!N),cutout:P}),(0,q.jsx)(e.FloatingNode,{id:K,children:aa})]})});a.s(["PopoverPositioner",0,r])},158799,a=>{"use strict";var b,c=a.i(508171);a.i(874193);var d=a.i(770280),e=a.i(353076),f=a.i(746248),g=a.i(182659),h=a.i(127669),i=a.i(128107),j=a.i(647591),k=a.i(298294),l=a.i(228561),m=a.i(951762),n=a.i(567962),o=a.i(771353),p=a.i(804795),q=a.i(716334),r=a.i(791666),s=a.i(158334),t=a.i(856626),u=a.i(935080),v=a.i(286255),w=a.i(611599);let x=h.createContext(void 0);function y(a){let{value:b,children:d}=a;return(0,c.jsx)(x.Provider,{value:b,children:d})}let z={...n.popupStateMapping,...o.transitionStatusMapping},A=h.forwardRef(function(a,b){let{className:d,render:e,initialFocus:f,finalFocus:g,style:n,...o}=a,{store:v}=(0,l.usePopoverRootContext)(),x=(0,m.usePopoverPositionerContext)(),A=null!=(0,t.useToolbarRootContext)(!0),{context:B,hasClosePart:C}=function(){let[a,b]=h.useState(0),c=(0,w.useStableCallback)(()=>(b(a=>a+1),()=>{b(a=>Math.max(0,a-1))}));return{context:h.useMemo(()=>({register:c}),[c]),hasClosePart:a>0}}(),D=v.useState("open"),E=v.useState("openMethod"),F=v.useState("instantType"),G=v.useState("transitionStatus"),H=v.useState("popupProps"),I=v.useState("titleElementId"),J=v.useState("descriptionElementId"),K=v.useState("modal"),L=v.useState("mounted"),M=v.useState("openChangeReason"),N=v.useState("activeTriggerElement"),O=v.useState("floatingRootContext");(0,p.useOpenChangeComplete)({open:D,ref:v.context.popupRef,onComplete(){D&&v.context.onOpenChangeComplete?.(!0)}});let P=v.useState("disabled"),Q=v.useState("openOnHover"),R=v.useState("closeDelay");(0,k.useHoverFloatingInteraction)(O,{enabled:Q&&!P,closeDelay:R});let S=void 0===f?function(a){return"touch"!==a||v.context.popupRef.current}:f,T={open:D,side:x.side,align:x.align,instant:F,transitionStatus:G},U=!1!==K&&C;v.useSyncedValue("focusManagerModal",U);let V=h.useCallback(a=>{v.set("popupElement",a)},[v]),W=(0,q.useRenderElement)("div",a,{state:T,ref:[b,v.context.popupRef,V],props:[H,{"aria-labelledby":I,"aria-describedby":J,onKeyDown(a){A&&s.COMPOSITE_KEYS.has(a.key)&&a.stopPropagation()}},(0,u.getDisabledMountTransitionStyles)(G),o],stateAttributesMapping:z});return(0,c.jsx)(j.FloatingFocusManager,{context:O,openInteractionType:E,modal:U,disabled:!L||M===r.REASONS.triggerHover,initialFocus:S,returnFocus:g,restoreFocus:"popup",previousFocusableElement:(0,i.isHTMLElement)(N)?N:void 0,nextFocusableElement:v.context.triggerFocusTargetRef,beforeContentFocusGuardRef:v.context.beforeContentFocusGuardRef,children:(0,c.jsx)(y,{value:B,children:W})})}),B=h.forwardRef(function(a,b){let{className:c,render:d,style:e,...f}=a,{store:g}=(0,l.usePopoverRootContext)(),h=g.useState("open"),{arrowRef:i,side:j,align:k,arrowUncentered:o,arrowStyles:p}=(0,m.usePopoverPositionerContext)();return(0,q.useRenderElement)("div",a,{state:{open:h,side:j,align:k,uncentered:o},ref:[b,i],props:[{style:p,"aria-hidden":!0},f],stateAttributesMapping:n.popupStateMapping})}),C={...n.popupStateMapping,...o.transitionStatusMapping},D=h.forwardRef(function(a,b){let{className:c,render:d,style:e,...f}=a,{store:g}=(0,l.usePopoverRootContext)(),h=g.useState("open"),i=g.useState("mounted"),j=g.useState("transitionStatus"),k=g.useState("openChangeReason");return(0,q.useRenderElement)("div",a,{state:{open:h,transitionStatus:j},ref:[g.context.backdropRef,b],props:[{role:"presentation",hidden:!i,style:{pointerEvents:k===r.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},f],stateAttributesMapping:C})});var E=a.i(743514);let F=h.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,{store:g}=(0,l.usePopoverRootContext)(),h=(0,E.useBaseUiId)(f.id);return(0,v.useIsoLayoutEffect)(()=>(g.set("titleElementId",h),()=>{g.set("titleElementId",void 0)}),[g,h]),(0,q.useRenderElement)("h2",a,{ref:b,props:[{id:h},f]})}),G=h.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,{store:g}=(0,l.usePopoverRootContext)(),h=(0,E.useBaseUiId)(f.id);return(0,v.useIsoLayoutEffect)(()=>(g.set("descriptionElementId",h),()=>{g.set("descriptionElementId",void 0)}),[g,h]),(0,q.useRenderElement)("p",a,{ref:b,props:[{id:h},f]})});var H=a.i(20700),I=a.i(149137);let J=h.forwardRef(function(a,b){let c,{render:d,className:e,disabled:f=!1,nativeButton:g=!0,style:i,...j}=a,{buttonRef:k,getButtonProps:m}=(0,H.useButton)({disabled:f,focusableWhenDisabled:!1,native:g}),{store:n}=(0,l.usePopoverRootContext)();return c=h.useContext(x),(0,v.useIsoLayoutEffect)(()=>c?.register(),[c]),(0,q.useRenderElement)("button",a,{ref:[b,k],props:[{onClick(a){n.setOpen(!1,(0,I.createChangeEventDetails)(r.REASONS.closePress,a.nativeEvent,a.currentTarget))}},j,m]})}),K=((b={}).popupWidth="--popup-width",b.popupHeight="--popup-height",b);var L=a.i(358932);let M={activationDirection:a=>a?{"data-activation-direction":a}:null},N=h.forwardRef(function(a,b){let{render:c,className:d,style:e,children:f,...g}=a,{store:h}=(0,l.usePopoverRootContext)(),{side:i}=(0,m.usePopoverPositionerContext)(),j=h.useState("instantType"),{children:k,state:n}=(0,L.usePopupViewport)({store:h,side:i,cssVars:K,children:f}),o={activationDirection:n.activationDirection,transitioning:n.transitioning,instant:j};return(0,q.useRenderElement)("div",a,{state:o,ref:b,props:[g,{children:k}],stateAttributesMapping:M})});var O=a.i(179256),P=a.i(781528);class Q{constructor(){this.store=new P.PopoverStore}open(a){let b=a?this.store.context.triggerElements.getById(a)??void 0:void 0;if(a&&!b)throw Error((0,O.default)(80,a));this.store.setOpen(!0,(0,I.createChangeEventDetails)(r.REASONS.imperativeAction,void 0,b))}close(){this.store.setOpen(!1,(0,I.createChangeEventDetails)(r.REASONS.imperativeAction,void 0,void 0))}get isOpen(){return this.store.state.open}}a.s(["Arrow",0,B,"Backdrop",0,D,"Close",0,J,"Description",0,G,"Handle",0,Q,"Popup",0,A,"Portal",()=>f.PopoverPortal,"Positioner",()=>g.PopoverPositioner,"Root",()=>d.PopoverRoot,"Title",0,F,"Trigger",()=>e.PopoverTrigger,"Viewport",0,N,"createHandle",0,function(){return new Q}],248351);var R=a.i(248351),R=R,S=a.i(799856);a.s(["Popover",0,function({...a}){return(0,c.jsx)(R.Root,{"data-slot":"popover",...a})},"PopoverContent",0,function({className:a,align:b="center",alignOffset:d=0,side:e="bottom",sideOffset:f=4,...g}){return(0,c.jsx)(R.Portal,{children:(0,c.jsx)(R.Positioner,{align:b,alignOffset:d,side:e,sideOffset:f,className:"isolate z-50",children:(0,c.jsx)(R.Popup,{"data-slot":"popover-content",className:(0,S.cn)("z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",a),...g})})})},"PopoverTrigger",0,function({...a}){return(0,c.jsx)(R.Trigger,{"data-slot":"popover-trigger",...a})}],158799)}];
2
-
3
- //# sourceMappingURL=_04iqb-o._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[32887,a=>{"use strict";var b=a.i(508171),c=a.i(799856);function d({className:a,...e}){return(0,b.jsx)("div",{"data-slot":"skeleton",className:(0,c.cn)("animate-pulse rounded-md bg-muted",a),...e})}a.s(["default",0,({cardCount:a=0,hasChart:c=!0})=>(0,b.jsxs)("div",{className:"space-y-4",children:[a>0&&(0,b.jsx)("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-4",children:Array.from({length:a}).map((a,c)=>(0,b.jsxs)("div",{className:"rounded-xl bg-card p-4 ring-1 ring-foreground/10",children:[(0,b.jsx)(d,{className:"mb-2 h-3 w-16"}),(0,b.jsx)(d,{className:"h-7 w-24"})]},c))}),c&&(0,b.jsxs)("div",{className:"rounded-xl bg-card p-4 ring-1 ring-foreground/10",children:[(0,b.jsx)(d,{className:"mb-4 h-4 w-32"}),(0,b.jsx)(d,{className:"h-48 w-full"})]})]})],32887)},776979,436028,a=>{"use strict";var b=a.i(508171),c=a.i(127669),d=a.i(113952);let e=(0,a.i(564375).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,e],436028);var f=a.i(506766),g=a.i(396465);let h=({onRetry:a})=>{let c=(0,d.useTranslations)("stats"),h=(0,d.useTranslations)("common");return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 rounded-xl bg-card py-12 ring-1 ring-foreground/10",children:[(0,b.jsx)(e,{className:"h-5 w-5 text-muted-foreground"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:c("errorLoadFailed")}),(0,b.jsxs)(g.Button,{variant:"outline",size:"sm",onClick:a,children:[(0,b.jsx)(f.RefreshCw,{className:"mr-1.5 h-3 w-3"}),h("retry")]})]})};class i extends c.Component{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(a,b){console.error(`[${this.props.sectionName}] Error:`,a,b)}handleRetry=()=>{this.setState({hasError:!1})};render(){return this.state.hasError?(0,b.jsx)(h,{onRetry:this.handleRetry}):this.props.children}}a.s(["default",0,i],776979)},64078,a=>{"use strict";var b=a.i(579168),c=a.i(627068),d=a.i(332759),e=a.i(817359),f=a.i(468695),g=a.i(508171),h=a.i(119059),i=a.i(584326),j=a.i(113952),k=a.i(125534),l=a.i(436028),m=a.i(506766),n=a.i(581228),o=a.i(396465),p=a.i(356233),q=a.i(266929),r=a.i(127669),s=a.i(41910);let t={overview:null,allOverview:null,projects:null,sessions:null,facets:null,history:null,uptime:null,overviewLoading:!0,allOverviewLoading:!0,projectsLoading:!0,sessionsLoading:!0,facetsLoading:!0,historyLoading:!0,uptimeLoading:!0,overviewError:null,allOverviewError:null,projectsError:null,sessionsError:null,facetsError:null,historyError:null,uptimeError:null},u=(a,b)=>{switch(b.type){case"FETCH_START":return{...a,overviewLoading:!0,allOverviewLoading:!0,projectsLoading:!0,sessionsLoading:!0,facetsLoading:!0,historyLoading:!0,uptimeLoading:!0,overviewError:null,allOverviewError:null,projectsError:null,sessionsError:null,facetsError:null,historyError:null,uptimeError:null};case"OVERVIEW_OK":return{...a,overview:b.data,overviewLoading:!1};case"OVERVIEW_ERR":return{...a,overviewError:b.error,overviewLoading:!1};case"ALL_OVERVIEW_OK":return{...a,allOverview:b.data,allOverviewLoading:!1};case"ALL_OVERVIEW_ERR":return{...a,allOverviewError:b.error,allOverviewLoading:!1};case"PROJECTS_OK":return{...a,projects:b.data,projectsLoading:!1};case"PROJECTS_ERR":return{...a,projectsError:b.error,projectsLoading:!1};case"SESSIONS_OK":return{...a,sessions:b.data,sessionsLoading:!1};case"SESSIONS_ERR":return{...a,sessionsError:b.error,sessionsLoading:!1};case"FACETS_OK":return{...a,facets:b.data,facetsLoading:!1};case"FACETS_ERR":return{...a,facetsError:b.error,facetsLoading:!1};case"HISTORY_OK":return{...a,history:b.data,historyLoading:!1};case"HISTORY_ERR":return{...a,historyError:b.error,historyLoading:!1};case"UPTIME_OK":return{...a,uptime:b.data,uptimeLoading:!1};case"UPTIME_ERR":return{...a,uptimeError:b.error,uptimeLoading:!1}}},v=async(a,b)=>{let c=await fetch(a,{signal:b});if(!c.ok)throw Error(`Failed to fetch ${a}`);return c.json()},w=["today","7d","30d","all"],x=a=>"string"==typeof a&&w.includes(a)?a:"7d",y=["today","7d","30d","all"],z={today:"periodToday","7d":"period7d","30d":"period30d",all:"periodAll"},A=({value:a,onChange:b})=>{let c=(0,j.useTranslations)("stats");return(0,g.jsx)("div",{className:"flex gap-1",children:y.map(d=>(0,g.jsx)(o.Button,{variant:a===d?"default":"ghost",size:"sm",className:"h-7 px-2.5 text-xs",onClick:()=>b(d),children:c(z[d])},d))})};var B=a.i(776979),C=a.i(32887);let D=(0,i.default)(()=>a.A(938187),{loadableGenerated:{modules:[168336]}}),E=(0,i.default)(()=>a.A(400237),{loadableGenerated:{modules:[709081]}}),F=(0,i.default)(()=>a.A(308918),{loadableGenerated:{modules:[555257]}}),G=(0,i.default)(()=>a.A(948629),{loadableGenerated:{modules:[701764]}}),H=(0,i.default)(()=>a.A(496124),{loadableGenerated:{modules:[162434]}}),I=(0,i.default)(()=>a.A(451231),{loadableGenerated:{modules:[963724]}}),J=({onRetry:a,message:b})=>{let c=(0,j.useTranslations)("common");return(0,g.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 rounded-xl bg-card py-12 ring-1 ring-foreground/10",children:[(0,g.jsx)(l.AlertCircle,{className:"h-5 w-5 text-muted-foreground"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:b}),(0,g.jsxs)(o.Button,{variant:"outline",size:"sm",onClick:a,children:[(0,g.jsx)(m.RefreshCw,{className:"mr-1.5 h-3 w-3"}),c("retry")]})]})},K=()=>{let a=(0,j.useTranslations)("stats");(0,p.default)(a("title"));let{period:b,setPeriod:c,overview:d,allOverview:e,projects:f,sessions:i,facets:l,history:m,overviewLoading:o,allOverviewLoading:q,projectsLoading:w,sessionsLoading:y,facetsLoading:z,historyLoading:K,overviewError:L,allOverviewError:M,projectsError:N,sessionsError:O,uptime:P,uptimeLoading:Q,refetch:R,initializing:S,fileCount:T}=(()=>{let a=(0,s.useRouter)(),[b,c]=(0,r.useState)(()=>x(a.query.period)),[d,e]=(0,r.useReducer)(u,t),[f,g]=(0,r.useState)(0),[h,i]=(0,r.useState)(!1),[j,k]=(0,r.useState)(0),[l,m]=(0,r.useState)(void 0),n=a.isReady?String(a.query.period??""):void 0;void 0!==n&&n!==l&&(m(n),c(x(a.query.period)));let o=(0,r.useCallback)(b=>{c(b),a.replace({pathname:a.pathname,query:{period:b}},void 0,{shallow:!0})},[a]);(0,r.useEffect)(()=>{let a=new AbortController,{signal:c}=a,d=`?period=${b}`;return e({type:"FETCH_START"}),fetch("/api/stats/cache-status",{signal:c}).then(a=>a.json()).then(a=>{c.aborted||(i(!a.exists),k(a.fileCount))}).catch(()=>{}),v(`/api/stats/overview${d}`,c).then(a=>{i(!1),e({type:"OVERVIEW_OK",data:a}),"all"===b&&e({type:"ALL_OVERVIEW_OK",data:a})}).catch(a=>{c.aborted||(i(!1),e({type:"OVERVIEW_ERR",error:a.message}))}),"all"!==b&&v("/api/stats/overview?period=all",c).then(a=>e({type:"ALL_OVERVIEW_OK",data:a})).catch(a=>{c.aborted||e({type:"ALL_OVERVIEW_ERR",error:a.message})}),v(`/api/stats/projects${d}`,c).then(a=>e({type:"PROJECTS_OK",data:a})).catch(a=>{c.aborted||e({type:"PROJECTS_ERR",error:a.message})}),v(`/api/stats/sessions${d}`,c).then(a=>e({type:"SESSIONS_OK",data:a})).catch(a=>{c.aborted||e({type:"SESSIONS_ERR",error:a.message})}),v(`/api/stats/facets${d}`,c).then(a=>e({type:"FACETS_OK",data:a})).catch(a=>{c.aborted||e({type:"FACETS_ERR",error:a.message})}),v(`/api/stats/history${d}&limit=10`,c).then(a=>e({type:"HISTORY_OK",data:a})).catch(a=>{c.aborted||e({type:"HISTORY_ERR",error:a.message})}),v("/api/stats/uptime",c).then(a=>e({type:"UPTIME_OK",data:a})).catch(a=>{c.aborted||e({type:"UPTIME_ERR",error:a.message})}),()=>a.abort()},[b,f]);let p=(0,r.useCallback)(()=>{g(a=>a+1)},[]);return{period:b,setPeriod:o,...d,refetch:p,initializing:h,fileCount:j}})(),U=(0,g.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:(0,g.jsxs)("div",{className:"mx-auto max-w-content px-4 py-6",children:[(0,g.jsxs)("div",{className:"mb-6 flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,g.jsxs)("div",{className:"flex items-center gap-2",children:[(0,g.jsx)(k.BarChart3,{className:"h-5 w-5 text-claude-active"}),(0,g.jsx)("h1",{className:"text-base font-semibold",children:a("title")})]}),(0,g.jsx)("div",{className:"overflow-x-auto",style:{scrollbarWidth:"none"},children:(0,g.jsx)(A,{value:b,onChange:c})})]}),o&&T>0&&(0,g.jsxs)("div",{className:"mb-6 flex items-center gap-3 rounded-xl bg-card px-5 py-4 ring-1 ring-foreground/10",children:[(0,g.jsx)(n.default,{className:"h-3 w-3 text-claude-active"}),(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a(S?"collectingInitial":"collectingToday")}),(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:a("analyzingSessions",{count:T.toLocaleString()})})]})]}),(0,g.jsxs)("div",{className:"space-y-8",children:[(0,g.jsxs)("section",{className:"space-y-3",children:[(0,g.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,g.jsx)("h2",{className:"text-sm font-medium text-muted-foreground",children:a("overview")}),d?.computedAt&&(0,g.jsx)("span",{className:"text-xs text-muted-foreground/60",children:a("asOf",{date:new Date(d.computedAt).toLocaleString("ko-KR",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1})})})]}),(0,g.jsx)(B.default,{sectionName:a("overview"),children:o?(0,g.jsx)(C.default,{cardCount:4,hasChart:!0}):L?(0,g.jsx)(J,{onRetry:R,message:a("dataLoadError")}):d?(0,g.jsx)(D,{data:d}):null})]}),(0,g.jsx)(B.default,{sectionName:a("token"),children:o?(0,g.jsx)(C.default,{hasChart:!0}):L?(0,g.jsx)(J,{onRetry:R,message:a("dataLoadError")}):d?(0,g.jsx)(E,{data:d}):null}),(0,g.jsx)(B.default,{sectionName:a("uptime"),children:Q?(0,g.jsx)(C.default,{cardCount:4,hasChart:!0}):P?(0,g.jsx)(I,{data:P}):null}),(0,g.jsx)(B.default,{sectionName:a("activityPattern"),children:q?(0,g.jsx)(C.default,{hasChart:!0}):M?(0,g.jsx)(J,{onRetry:R,message:a("dataLoadError")}):e?(0,g.jsx)(F,{data:e}):null}),(0,g.jsx)(B.default,{sectionName:a("project"),children:w?(0,g.jsx)(C.default,{hasChart:!0}):N?(0,g.jsx)(J,{onRetry:R,message:a("dataLoadError")}):f?(0,g.jsx)(G,{data:f}):null}),(0,g.jsx)(B.default,{sectionName:a("session"),children:y?(0,g.jsx)(C.default,{cardCount:3,hasChart:!0}):O?(0,g.jsx)(J,{onRetry:R,message:a("dataLoadError")}):i?(0,g.jsx)(H,{sessions:i,facets:l,history:m,facetsLoading:z,historyLoading:K,totalToolCalls:d?.totalToolCalls??0}):null})]})]})});return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(h.default,{children:(0,g.jsx)("title",{children:a("pageTitle")})}),U]})};K.getLayout=q.getPageShellWithTitlebarLayout;let L=async b=>{let{requireAuth:c}=await a.A(120441),{loadMessagesServer:d}=await a.A(168414);return c(b,async()=>({props:{messages:await d()}}))};a.s(["default",0,K,"getServerSideProps",0,L],75133);var M=a.i(75133),N=a.i(509193);let O=(0,d.hoist)(M,"default"),P=(0,d.hoist)(M,"getStaticProps"),Q=(0,d.hoist)(M,"getStaticPaths"),R=(0,d.hoist)(M,"getServerSideProps"),S=(0,d.hoist)(M,"config"),T=(0,d.hoist)(M,"reportWebVitals"),U=(0,d.hoist)(M,"unstable_getStaticProps"),V=(0,d.hoist)(M,"unstable_getStaticPaths"),W=(0,d.hoist)(M,"unstable_getStaticParams"),X=(0,d.hoist)(M,"unstable_getServerProps"),Y=(0,d.hoist)(M,"unstable_getServerSideProps"),Z=new b.PagesRouteModule({definition:{kind:c.RouteKind.PAGES,page:"/stats",pathname:"/stats",bundlePath:"",filename:""},distDir:".next",relativeProjectDir:"",components:{App:f.default,Document:e.default},userland:M}),$=(0,N.getHandler)({srcPage:"/stats",config:S,userland:M,routeModule:Z,getStaticPaths:Q,getStaticProps:P,getServerSideProps:R});a.s(["config",0,S,"default",0,O,"getServerSideProps",0,R,"getStaticPaths",0,Q,"getStaticProps",0,P,"handler",0,$,"reportWebVitals",0,T,"routeModule",0,Z,"unstable_getServerProps",0,X,"unstable_getServerSideProps",0,Y,"unstable_getStaticParams",0,W,"unstable_getStaticPaths",0,V,"unstable_getStaticProps",0,U],64078)},876457,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_components_features_workspace_settings-dialog_tsx_05v~y7d._.js"].map(b=>a.l(b))).then(()=>b(563410)))},200022,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_components_features_shortcuts_cheat-sheet-dialog_tsx_0i2pbva._.js"].map(b=>a.l(b))).then(()=>b(469403)))},419326,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_components_11_1i~k._.js"].map(b=>a.l(b))).then(()=>b(9252)))},938187,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_components_11nysou._.js","server/chunks/ssr/_0hu_yja._.js","server/chunks/ssr/node_modules_recharts_es6_cartesian_Area_0ue25xp.js"].map(b=>a.l(b))).then(()=>b(617397)))},400237,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_05g_qd3._.js","server/chunks/ssr/node_modules_recharts_es6_cartesian_Area_0ue25xp.js","server/chunks/ssr/node_modules_0caqwak._.js","server/chunks/ssr/_0jk9j0z._.js"].map(b=>a.l(b))).then(()=>b(249972)))},308918,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_components_11pk6aj._.js","server/chunks/ssr/_12se87g._.js","server/chunks/ssr/node_modules_0caqwak._.js"].map(b=>a.l(b))).then(()=>b(844354)))},948629,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_components_05p_mx3._.js","server/chunks/ssr/_12se87g._.js","server/chunks/ssr/node_modules_0caqwak._.js"].map(b=>a.l(b))).then(()=>b(865760)))},496124,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_components_ui_card_tsx_0s3dk0n._.js","server/chunks/ssr/src_components_features_stats_session-section_tsx_0imh21c._.js","server/chunks/ssr/_12se87g._.js","server/chunks/ssr/node_modules_0caqwak._.js"].map(b=>a.l(b))).then(()=>b(240028)))},451231,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_components_07a_zfh._.js"].map(b=>a.l(b))).then(()=>b(741945)))},120441,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_types_preflight_ts_06_o3k4._.js","server/chunks/ssr/src_lib_require-auth_ts_0lybmh2._.js"].map(b=>a.l(b))).then(()=>b(56975)))},168414,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_load-messages_ts_11e7h4~._.js"].map(b=>a.l(b))).then(()=>b(387607)))}];
2
-
3
- //# sourceMappingURL=_04q3_kj._.js.map