purplemux 0.2.2 → 0.2.4

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 (669) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +99 -94
  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 +91 -7
  6. package/.next/standalone/.next/server/chunks/[root-of-the-server]__014kwh_._.js +3 -0
  7. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0t1c-6w._.js → [root-of-the-server]__016s4a9._.js} +2 -2
  8. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02v.lnb._.js +3 -0
  9. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05ij_ys._.js +2 -2
  10. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0cjfc~l._.js → [root-of-the-server]__06h3gzy._.js} +2 -2
  11. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08tdlcm._.js +3 -0
  12. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ar~lbk._.js +3 -0
  13. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0auutl5._.js +2 -2
  14. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bo-su1._.js +3 -0
  15. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bocpgx._.js +30 -0
  16. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c-bb5d._.js +3 -0
  17. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dt2efu._.js +3 -0
  18. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0i-jyh3._.js +3 -0
  19. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0i1m1v9._.js +3 -0
  20. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ihlt6s._.js +3 -0
  21. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kd7wei._.js +3 -0
  22. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l~_wd0._.js +1 -1
  23. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__04o.cbq._.js → [root-of-the-server]__0m99ffd._.js} +2 -2
  24. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mky_tj._.js +35 -2
  25. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0oiiu_o._.js +3 -0
  26. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0oqgn2h._.js +3 -0
  27. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0hzysmw._.js → [root-of-the-server]__0q8lffz._.js} +1 -1
  28. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rhb4gk._.js +3 -0
  29. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vjtjtc._.js +3 -0
  30. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0w0wz~a._.js +3 -0
  31. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0x_e0yw._.js +3 -0
  32. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0t7wqt6._.js → [root-of-the-server]__10h2vlr._.js} +2 -2
  33. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11iyaqz._.js +3 -0
  34. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11xw16l._.js +3 -0
  35. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__00yjayf._.js → [root-of-the-server]__121-6-e._.js} +2 -2
  36. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12ksl6n._.js +2 -2
  37. package/.next/standalone/.next/server/chunks/{_0out7wm._.js → _0-mgr1c._.js} +1 -1
  38. package/.next/standalone/.next/server/chunks/_0.5a4bu._.js +3 -0
  39. package/.next/standalone/.next/server/chunks/{_134uyu_._.js → _03-duro._.js} +1 -1
  40. package/.next/standalone/.next/server/chunks/_05-8rnc._.js +3 -0
  41. package/.next/standalone/.next/server/chunks/{_0ap4fy.._.js → _07097f~._.js} +1 -1
  42. package/.next/standalone/.next/server/chunks/{_0st-_d~._.js → _0jzxge9._.js} +1 -1
  43. package/.next/standalone/.next/server/chunks/{_0uo_gs5._.js → _0ll-5~7._.js} +1 -1
  44. package/.next/standalone/.next/server/chunks/_0mhomq~._.js +3 -0
  45. package/.next/standalone/.next/server/chunks/{_0.hbe-v._.js → _0pk0hms._.js} +1 -1
  46. package/.next/standalone/.next/server/chunks/_0qm27ix._.js +3 -0
  47. package/.next/standalone/.next/server/chunks/{_0su2osz._.js → _0v81st0._.js} +1 -1
  48. package/.next/standalone/.next/server/chunks/_0vgpyhz._.js +3 -0
  49. package/.next/standalone/.next/server/chunks/{_1368r9s._.js → _0w0qjyh._.js} +1 -1
  50. package/.next/standalone/.next/server/chunks/_0wok5xu._.js +3 -0
  51. package/.next/standalone/.next/server/chunks/{_0tumyht._.js → _0wu6uxd._.js} +1 -1
  52. package/.next/standalone/.next/server/chunks/{_04dq3gt._.js → _0z7d6.z._.js} +1 -1
  53. package/.next/standalone/.next/server/chunks/{_0c63jma._.js → _0zf5mig._.js} +1 -1
  54. package/.next/standalone/.next/server/chunks/{_0mnwbyo._.js → _0~~9-pj._.js} +1 -1
  55. package/.next/standalone/.next/server/chunks/{src_lib_0vs5asg._.js → src_lib_0p.xsqi._.js} +1 -1
  56. package/.next/standalone/.next/server/chunks/src_lib_layout-store_ts_0fanx7c._.js +1 -1
  57. package/.next/standalone/.next/server/chunks/src_lib_workspace-store_ts_0vqt073._.js +2 -2
  58. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ap_bxo._.js +3 -0
  59. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0hwcydd._.js → [root-of-the-server]__0grkevn._.js} +1 -1
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t9ru13._.js +3 -0
  61. package/.next/standalone/.next/server/chunks/ssr/_0-9ezhb._.js +3 -0
  62. package/.next/standalone/.next/server/chunks/ssr/_003~2_g._.js +3 -0
  63. package/.next/standalone/.next/server/chunks/ssr/_00zsk6a._.js +3 -0
  64. package/.next/standalone/.next/server/chunks/ssr/{_00rrt71._.js → _016o9_-._.js} +1 -1
  65. package/.next/standalone/.next/server/chunks/ssr/_01eupc5._.js +3 -0
  66. package/.next/standalone/.next/server/chunks/ssr/{_0y5jzd3._.js → _020f2r.._.js} +1 -1
  67. package/.next/standalone/.next/server/chunks/ssr/{_0_c~3id._.js → _02jzd5g._.js} +2 -2
  68. package/.next/standalone/.next/server/chunks/ssr/{_08h9ynz._.js → _058y~nz._.js} +2 -2
  69. package/.next/standalone/.next/server/chunks/ssr/_05bq96_._.js +1 -1
  70. package/.next/standalone/.next/server/chunks/ssr/_0_sz4y0._.js +3 -0
  71. package/.next/standalone/.next/server/chunks/ssr/_0a64og5._.js +3 -0
  72. package/.next/standalone/.next/server/chunks/ssr/{_00ehnd~._.js → _0c1yivm._.js} +2 -2
  73. package/.next/standalone/.next/server/chunks/ssr/_0ccg0_z._.js +18 -0
  74. package/.next/standalone/.next/server/chunks/ssr/_0egedv6._.js +3 -0
  75. package/.next/standalone/.next/server/chunks/ssr/_0fnzfs-._.js +3 -0
  76. package/.next/standalone/.next/server/chunks/ssr/_0fota2a._.js +3 -0
  77. package/.next/standalone/.next/server/chunks/ssr/{_0rxhzwm._.js → _0ftinmo._.js} +2 -2
  78. package/.next/standalone/.next/server/chunks/ssr/_0h4kenr._.js +1 -1
  79. package/.next/standalone/.next/server/chunks/ssr/_0hat6~g._.js +3 -0
  80. package/.next/standalone/.next/server/chunks/ssr/_0hp8_ck._.js +3 -0
  81. package/.next/standalone/.next/server/chunks/ssr/_0hq29bt._.js +3 -0
  82. package/.next/standalone/.next/server/chunks/ssr/_0ihbr8k._.js +1 -1
  83. package/.next/standalone/.next/server/chunks/ssr/_0mltzed._.js +3 -0
  84. package/.next/standalone/.next/server/chunks/ssr/_0nbe6mv._.js +3 -0
  85. package/.next/standalone/.next/server/chunks/ssr/_0nvs1~o._.js +3 -0
  86. package/.next/standalone/.next/server/chunks/ssr/_0o8h1fd._.js +18 -0
  87. package/.next/standalone/.next/server/chunks/ssr/_0pg-q18._.js +3 -0
  88. package/.next/standalone/.next/server/chunks/ssr/_0w.1ts8._.js +3 -0
  89. package/.next/standalone/.next/server/chunks/ssr/_0w1phzp._.js +3 -0
  90. package/.next/standalone/.next/server/chunks/ssr/_0w6jc9p._.js +3 -0
  91. package/.next/standalone/.next/server/chunks/ssr/{_0lnui2f._.js → _0~hz1fq._.js} +2 -2
  92. package/.next/standalone/.next/server/chunks/ssr/_11v_6.6._.js +3 -0
  93. package/.next/standalone/.next/server/chunks/ssr/_1289s74._.js +3 -0
  94. package/.next/standalone/.next/server/chunks/ssr/{messages_046iw4z._.js → messages_02eoowy._.js} +1 -1
  95. package/.next/standalone/.next/server/chunks/ssr/{messages_0zr0cc7._.js → messages_0hmq5dp._.js} +1 -1
  96. package/.next/standalone/.next/server/chunks/ssr/messages_de_diff_json_[json]_cjs_0w6blyy._.js +1 -1
  97. package/.next/standalone/.next/server/chunks/ssr/messages_de_settings_json_[json]_cjs_0ksu4_w._.js +1 -1
  98. package/.next/standalone/.next/server/chunks/ssr/messages_de_sidebar_json_[json]_cjs_0loc-1-._.js +1 -1
  99. package/.next/standalone/.next/server/chunks/ssr/messages_de_webBrowser_json_[json]_cjs_0wfz-ul._.js +1 -1
  100. package/.next/standalone/.next/server/chunks/ssr/messages_de_workspace_json_[json]_cjs_0g7nkdq._.js +1 -1
  101. package/.next/standalone/.next/server/chunks/ssr/messages_en_diff_json_[json]_cjs_0z34_dc._.js +1 -1
  102. package/.next/standalone/.next/server/chunks/ssr/messages_en_settings_json_[json]_cjs_0qwl-zt._.js +1 -1
  103. package/.next/standalone/.next/server/chunks/ssr/messages_en_sidebar_json_[json]_cjs_0un0e3f._.js +1 -1
  104. package/.next/standalone/.next/server/chunks/ssr/messages_en_webBrowser_json_[json]_cjs_0oirdko._.js +1 -1
  105. package/.next/standalone/.next/server/chunks/ssr/messages_en_workspace_json_[json]_cjs_0m9rzyy._.js +1 -1
  106. package/.next/standalone/.next/server/chunks/ssr/messages_es_diff_json_[json]_cjs_0kheix4._.js +1 -1
  107. package/.next/standalone/.next/server/chunks/ssr/messages_es_settings_json_[json]_cjs_0ce_kv6._.js +1 -1
  108. package/.next/standalone/.next/server/chunks/ssr/messages_es_sidebar_json_[json]_cjs_080u46~._.js +1 -1
  109. package/.next/standalone/.next/server/chunks/ssr/messages_es_webBrowser_json_[json]_cjs_0w_no_c._.js +1 -1
  110. package/.next/standalone/.next/server/chunks/ssr/messages_es_workspace_json_[json]_cjs_0xf0_50._.js +1 -1
  111. package/.next/standalone/.next/server/chunks/ssr/messages_fr_diff_json_[json]_cjs_11vxoy5._.js +1 -1
  112. package/.next/standalone/.next/server/chunks/ssr/messages_fr_settings_json_[json]_cjs_0h_6lba._.js +1 -1
  113. package/.next/standalone/.next/server/chunks/ssr/messages_fr_sidebar_json_[json]_cjs_05y8v8h._.js +1 -1
  114. package/.next/standalone/.next/server/chunks/ssr/messages_fr_webBrowser_json_[json]_cjs_00tbjsf._.js +1 -1
  115. package/.next/standalone/.next/server/chunks/ssr/messages_fr_workspace_json_[json]_cjs_0h88f-g._.js +1 -1
  116. package/.next/standalone/.next/server/chunks/ssr/messages_ja_diff_json_[json]_cjs_0t~9dro._.js +1 -1
  117. package/.next/standalone/.next/server/chunks/ssr/messages_ja_settings_json_[json]_cjs_0pg~fls._.js +1 -1
  118. package/.next/standalone/.next/server/chunks/ssr/messages_ja_sidebar_json_[json]_cjs_0i0x8w9._.js +1 -1
  119. package/.next/standalone/.next/server/chunks/ssr/messages_ja_webBrowser_json_[json]_cjs_0tp7~.s._.js +1 -1
  120. package/.next/standalone/.next/server/chunks/ssr/messages_ja_workspace_json_[json]_cjs_03dlzmi._.js +1 -1
  121. package/.next/standalone/.next/server/chunks/ssr/messages_ko_diff_json_[json]_cjs_0cw7xj1._.js +1 -1
  122. package/.next/standalone/.next/server/chunks/ssr/messages_ko_settings_json_[json]_cjs_07xpfc8._.js +1 -1
  123. package/.next/standalone/.next/server/chunks/ssr/messages_ko_sidebar_json_[json]_cjs_0mql5dv._.js +1 -1
  124. package/.next/standalone/.next/server/chunks/ssr/messages_ko_webBrowser_json_[json]_cjs_0ibtysu._.js +1 -1
  125. package/.next/standalone/.next/server/chunks/ssr/messages_ko_workspace_json_[json]_cjs_0frxg.r._.js +1 -1
  126. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_diff_json_[json]_cjs_0vc-p7n._.js +1 -1
  127. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_settings_json_[json]_cjs_0frspzp._.js +1 -1
  128. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_sidebar_json_[json]_cjs_07h4b1q._.js +1 -1
  129. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_webBrowser_json_[json]_cjs_0eu9fbw._.js +1 -1
  130. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_workspace_json_[json]_cjs_0lahru2._.js +1 -1
  131. package/.next/standalone/.next/server/chunks/ssr/messages_ru_diff_json_[json]_cjs_07na~n8._.js +1 -1
  132. package/.next/standalone/.next/server/chunks/ssr/messages_ru_settings_json_[json]_cjs_08ex00.._.js +1 -1
  133. package/.next/standalone/.next/server/chunks/ssr/messages_ru_sidebar_json_[json]_cjs_0aksrjo._.js +1 -1
  134. package/.next/standalone/.next/server/chunks/ssr/messages_ru_webBrowser_json_[json]_cjs_113-x8n._.js +1 -1
  135. package/.next/standalone/.next/server/chunks/ssr/messages_ru_workspace_json_[json]_cjs_0wm5nhc._.js +1 -1
  136. package/.next/standalone/.next/server/chunks/ssr/messages_tr_diff_json_[json]_cjs_0a00gr_._.js +1 -1
  137. package/.next/standalone/.next/server/chunks/ssr/messages_tr_settings_json_[json]_cjs_0piu0da._.js +1 -1
  138. package/.next/standalone/.next/server/chunks/ssr/messages_tr_sidebar_json_[json]_cjs_0yj47nu._.js +1 -1
  139. package/.next/standalone/.next/server/chunks/ssr/messages_tr_webBrowser_json_[json]_cjs_12ziott._.js +1 -1
  140. package/.next/standalone/.next/server/chunks/ssr/messages_tr_workspace_json_[json]_cjs_0wygfyf._.js +1 -1
  141. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_diff_json_[json]_cjs_0b01x_1._.js +1 -1
  142. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_settings_json_[json]_cjs_0uazwgy._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_sidebar_json_[json]_cjs_0yzmolg._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_webBrowser_json_[json]_cjs_0e5lp-q._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_workspace_json_[json]_cjs_0h3v0-e._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_diff_json_[json]_cjs_088r89k._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_settings_json_[json]_cjs_09u0c5l._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_sidebar_json_[json]_cjs_0pnu~0h._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_webBrowser_json_[json]_cjs_0u_cpuv._.js +1 -1
  150. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_workspace_json_[json]_cjs_0ymw5wz._.js +1 -1
  151. package/.next/standalone/.next/server/chunks/ssr/node_modules_02oar3h._.js +3 -0
  152. package/.next/standalone/.next/server/chunks/ssr/node_modules_0_2gaq0._.js +1 -1
  153. package/.next/standalone/.next/server/chunks/ssr/node_modules_0bbmd88._.js +3 -0
  154. package/.next/standalone/.next/server/chunks/ssr/node_modules_0ydhwnx._.js +1 -1
  155. package/.next/standalone/.next/server/chunks/ssr/node_modules_1294wzs._.js +1 -1
  156. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_030gj7p._.js +3 -0
  157. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_04tdvwp._.js +3 -0
  158. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_0bdox2f._.js +3 -0
  159. package/.next/standalone/.next/server/chunks/ssr/{src_components_0rs9yzr._.js → src_components_0_aiven._.js} +1 -1
  160. package/.next/standalone/.next/server/chunks/ssr/{src_components_0cflin8._.js → src_components_0geizrr._.js} +1 -1
  161. package/.next/standalone/.next/server/chunks/ssr/{src_components_0g.s~e7._.js → src_components_11_1i~k._.js} +1 -1
  162. package/.next/standalone/.next/server/chunks/ssr/{src_components_0jrj_vu._.js → src_components_12mrirb._.js} +1 -1
  163. package/.next/standalone/.next/server/chunks/ssr/src_components_features_mobile_mobile-terminal-page_tsx_02chzch._.js +1 -1
  164. package/.next/standalone/.next/server/chunks/ssr/src_components_features_workspace_terminal-page_tsx_0wuq-jl._.js +1 -1
  165. package/.next/standalone/.next/server/chunks/ssr/src_components_ui_input_tsx_0pgha5u._.js +3 -0
  166. package/.next/standalone/.next/server/chunks/ssr/src_hooks_use-browser-title_ts_0bw6.cb._.js +1 -1
  167. package/.next/standalone/.next/server/chunks/ssr/src_hooks_use-workspace-store_ts_0h40e5c._.js +1 -1
  168. package/.next/standalone/.next/server/chunks/ssr/src_lib_workspace-store_ts_00x-rec._.js +1 -1
  169. package/.next/standalone/.next/server/middleware-build-manifest.js +99 -94
  170. package/.next/standalone/.next/server/pages/_app/build-manifest.json +7 -6
  171. package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
  172. package/.next/standalone/.next/server/pages/_app.js +4 -4
  173. package/.next/standalone/.next/server/pages/_app.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/pages/_document.js +3 -3
  175. package/.next/standalone/.next/server/pages/_document.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/pages/_error.js +4 -4
  177. package/.next/standalone/.next/server/pages/_error.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/pages/api/auth/preflight.js +1 -1
  179. package/.next/standalone/.next/server/pages/api/auth/preflight.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console/pages-manifest.json +3 -0
  181. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js +8 -0
  182. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js.map +5 -0
  183. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/console.js.nft.json +1 -0
  184. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval/pages-manifest.json +3 -0
  185. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js +8 -0
  186. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js.map +5 -0
  187. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/eval.js.nft.json +1 -0
  188. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network/pages-manifest.json +3 -0
  189. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js +8 -0
  190. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js.map +5 -0
  191. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/network.js.nft.json +1 -0
  192. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot/pages-manifest.json +3 -0
  193. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js +8 -0
  194. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js.map +5 -0
  195. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/screenshot.js.nft.json +1 -0
  196. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url/pages-manifest.json +3 -0
  197. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js +8 -0
  198. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js.map +5 -0
  199. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/browser/url.js.nft.json +1 -0
  200. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js +3 -3
  201. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js +3 -3
  203. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js +3 -3
  205. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js +3 -3
  207. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js.nft.json +1 -1
  208. package/.next/standalone/.next/server/pages/api/cli/tabs.js +3 -3
  209. package/.next/standalone/.next/server/pages/api/cli/tabs.js.nft.json +1 -1
  210. package/.next/standalone/.next/server/pages/api/cli/workspaces.js +1 -1
  211. package/.next/standalone/.next/server/pages/api/cli/workspaces.js.nft.json +1 -1
  212. package/.next/standalone/.next/server/pages/api/git/sync/pages-manifest.json +3 -0
  213. package/.next/standalone/.next/server/pages/api/git/sync.js +5 -0
  214. package/.next/standalone/.next/server/pages/api/git/sync.js.map +5 -0
  215. package/.next/standalone/.next/server/pages/api/git/sync.js.nft.json +1 -0
  216. package/.next/standalone/.next/server/pages/api/layout/commit-diff/pages-manifest.json +3 -0
  217. package/.next/standalone/.next/server/pages/api/layout/commit-diff.js +5 -0
  218. package/.next/standalone/.next/server/pages/api/layout/commit-diff.js.map +5 -0
  219. package/.next/standalone/.next/server/pages/api/layout/commit-diff.js.nft.json +1 -0
  220. package/.next/standalone/.next/server/pages/api/layout/file-content/pages-manifest.json +3 -0
  221. package/.next/standalone/.next/server/pages/api/layout/file-content.js +5 -0
  222. package/.next/standalone/.next/server/pages/api/layout/file-content.js.map +5 -0
  223. package/.next/standalone/.next/server/pages/api/layout/file-content.js.nft.json +1 -0
  224. package/.next/standalone/.next/server/pages/api/layout/git-log/pages-manifest.json +3 -0
  225. package/.next/standalone/.next/server/pages/api/layout/git-log.js +5 -0
  226. package/.next/standalone/.next/server/pages/api/layout/git-log.js.map +5 -0
  227. package/.next/standalone/.next/server/pages/api/layout/git-log.js.nft.json +1 -0
  228. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js +2 -2
  229. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js.nft.json +1 -1
  230. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js +3 -3
  231. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.nft.json +1 -1
  232. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js +2 -2
  233. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js.nft.json +1 -1
  234. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +3 -3
  235. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.nft.json +1 -1
  236. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js +2 -2
  237. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js.nft.json +1 -1
  238. package/.next/standalone/.next/server/pages/api/layout/pane.js +2 -2
  239. package/.next/standalone/.next/server/pages/api/layout/pane.js.nft.json +1 -1
  240. package/.next/standalone/.next/server/pages/api/layout.js +2 -2
  241. package/.next/standalone/.next/server/pages/api/layout.js.nft.json +1 -1
  242. package/.next/standalone/.next/server/pages/api/message-history.js +1 -1
  243. package/.next/standalone/.next/server/pages/api/message-history.js.nft.json +1 -1
  244. package/.next/standalone/.next/server/pages/api/push/vapid-key.js +1 -1
  245. package/.next/standalone/.next/server/pages/api/push/vapid-key.js.nft.json +1 -1
  246. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js +1 -1
  247. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js.nft.json +1 -1
  248. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js +1 -1
  249. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js +2 -2
  251. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js.nft.json +1 -1
  252. package/.next/standalone/.next/server/pages/api/stats/projects.js +2 -2
  253. package/.next/standalone/.next/server/pages/api/stats/projects.js.nft.json +1 -1
  254. package/.next/standalone/.next/server/pages/api/stats/sessions.js +2 -2
  255. package/.next/standalone/.next/server/pages/api/stats/sessions.js.nft.json +1 -1
  256. package/.next/standalone/.next/server/pages/api/stats/uptime.js +2 -2
  257. package/.next/standalone/.next/server/pages/api/stats/uptime.js.nft.json +1 -1
  258. package/.next/standalone/.next/server/pages/api/status/hook.js +3 -3
  259. package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -1
  260. package/.next/standalone/.next/server/pages/api/status/statusline.js +5 -5
  261. package/.next/standalone/.next/server/pages/api/status/statusline.js.nft.json +1 -1
  262. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js +1 -1
  263. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js.nft.json +1 -1
  264. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +5 -5
  265. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.nft.json +1 -1
  266. package/.next/standalone/.next/server/pages/api/tmux/reset.js +3 -3
  267. package/.next/standalone/.next/server/pages/api/tmux/reset.js.nft.json +1 -1
  268. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js +2 -2
  269. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js.nft.json +1 -1
  270. package/.next/standalone/.next/server/pages/api/workspace/active.js +2 -2
  271. package/.next/standalone/.next/server/pages/api/workspace/active.js.nft.json +1 -1
  272. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId]/pages-manifest.json +3 -0
  273. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js +8 -0
  274. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js.map +5 -0
  275. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js.nft.json +1 -0
  276. package/.next/standalone/.next/server/pages/api/workspace/group/pages-manifest.json +3 -0
  277. package/.next/standalone/.next/server/pages/api/workspace/group/reorder/pages-manifest.json +3 -0
  278. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js +8 -0
  279. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js.map +5 -0
  280. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js.nft.json +1 -0
  281. package/.next/standalone/.next/server/pages/api/workspace/group.js +8 -0
  282. package/.next/standalone/.next/server/pages/api/workspace/group.js.map +5 -0
  283. package/.next/standalone/.next/server/pages/api/workspace/group.js.nft.json +1 -0
  284. package/.next/standalone/.next/server/pages/api/workspace/reorder.js +2 -2
  285. package/.next/standalone/.next/server/pages/api/workspace/reorder.js.nft.json +1 -1
  286. package/.next/standalone/.next/server/pages/api/workspace/validate.js +2 -2
  287. package/.next/standalone/.next/server/pages/api/workspace/validate.js.nft.json +1 -1
  288. package/.next/standalone/.next/server/pages/api/workspace.js +4 -4
  289. package/.next/standalone/.next/server/pages/api/workspace.js.nft.json +1 -1
  290. package/.next/standalone/.next/server/pages/de/404.html +1 -1
  291. package/.next/standalone/.next/server/pages/de/500.html +1 -1
  292. package/.next/standalone/.next/server/pages/en/404.html +1 -1
  293. package/.next/standalone/.next/server/pages/en/500.html +1 -1
  294. package/.next/standalone/.next/server/pages/es/404.html +1 -1
  295. package/.next/standalone/.next/server/pages/es/500.html +1 -1
  296. package/.next/standalone/.next/server/pages/fr/404.html +1 -1
  297. package/.next/standalone/.next/server/pages/fr/500.html +1 -1
  298. package/.next/standalone/.next/server/pages/index/build-manifest.json +17 -16
  299. package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
  300. package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +7 -7
  301. package/.next/standalone/.next/server/pages/index.js +20 -19
  302. package/.next/standalone/.next/server/pages/index.js.nft.json +1 -1
  303. package/.next/standalone/.next/server/pages/ja/404.html +1 -1
  304. package/.next/standalone/.next/server/pages/ja/500.html +1 -1
  305. package/.next/standalone/.next/server/pages/ko/404.html +1 -1
  306. package/.next/standalone/.next/server/pages/ko/500.html +1 -1
  307. package/.next/standalone/.next/server/pages/login/build-manifest.json +11 -11
  308. package/.next/standalone/.next/server/pages/login/client-build-manifest.json +1 -1
  309. package/.next/standalone/.next/server/pages/login.js +12 -11
  310. package/.next/standalone/.next/server/pages/login.js.nft.json +1 -1
  311. package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
  312. package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
  313. package/.next/standalone/.next/server/pages/reports/build-manifest.json +19 -18
  314. package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
  315. package/.next/standalone/.next/server/pages/reports/react-loadable-manifest.json +1 -1
  316. package/.next/standalone/.next/server/pages/reports.js +18 -17
  317. package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
  318. package/.next/standalone/.next/server/pages/reset.js +5 -5
  319. package/.next/standalone/.next/server/pages/reset.js.nft.json +1 -1
  320. package/.next/standalone/.next/server/pages/ru/404.html +1 -1
  321. package/.next/standalone/.next/server/pages/ru/500.html +1 -1
  322. package/.next/standalone/.next/server/pages/stats/build-manifest.json +17 -16
  323. package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
  324. package/.next/standalone/.next/server/pages/stats/react-loadable-manifest.json +1 -1
  325. package/.next/standalone/.next/server/pages/stats.js +19 -18
  326. package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
  327. package/.next/standalone/.next/server/pages/tools-required/build-manifest.json +7 -7
  328. package/.next/standalone/.next/server/pages/tools-required/client-build-manifest.json +1 -1
  329. package/.next/standalone/.next/server/pages/tools-required.js +8 -7
  330. package/.next/standalone/.next/server/pages/tools-required.js.nft.json +1 -1
  331. package/.next/standalone/.next/server/pages/tr/404.html +1 -1
  332. package/.next/standalone/.next/server/pages/tr/500.html +1 -1
  333. package/.next/standalone/.next/server/pages/webview/build-manifest.json +18 -17
  334. package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
  335. package/.next/standalone/.next/server/pages/webview/react-loadable-manifest.json +1 -1
  336. package/.next/standalone/.next/server/pages/webview.js +19 -18
  337. package/.next/standalone/.next/server/pages/webview.js.nft.json +1 -1
  338. package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
  339. package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
  340. package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
  341. package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
  342. package/.next/standalone/.next/server/pages-manifest.json +12 -0
  343. package/.next/standalone/.next/static/{5mb_D_gy6E3wsT_BhuXDS → CjJlqsAWYyyu76AJtHaqt}/_buildManifest.js +18 -6
  344. package/.next/standalone/.next/static/chunks/{0w1ldes9u.mhe.js → 0-8v00lvs9_s0.js} +1 -1
  345. package/.next/standalone/.next/static/chunks/{0oy5nvsojxb2i.js → 0-rskn1p_p.qb.js} +1 -1
  346. package/.next/standalone/.next/static/chunks/{0h7n~i8gk~-a2.js → 0.4j~sc70rsrv.js} +1 -1
  347. package/.next/standalone/.next/static/chunks/0._2l5v1hwkfn.js +24 -0
  348. package/.next/standalone/.next/static/chunks/{0g0xm7shj062y.js → 001_h.~thz3j3.js} +1 -1
  349. package/.next/standalone/.next/static/chunks/00ljvc.i_9p~6.js +1 -0
  350. package/.next/standalone/.next/static/chunks/00s78xqkxglkv.js +1 -0
  351. package/.next/standalone/.next/static/chunks/01raz3nv-e~~d.js +1 -0
  352. package/.next/standalone/.next/static/chunks/024gkwka6p59k.js +1 -0
  353. package/.next/standalone/.next/static/chunks/02ncyh-v8g~cs.css +1 -0
  354. package/.next/standalone/.next/static/chunks/{0312riii_sl_1.js → 02o84r01jsc.z.js} +1 -1
  355. package/.next/standalone/.next/static/chunks/{0.ecwkadp7-hq.js → 034_utxy1sujb.js} +1 -1
  356. package/.next/standalone/.next/static/chunks/038h8wl_~fi3u.js +1 -0
  357. package/.next/standalone/.next/static/chunks/038s7u_er9zkt.js +1 -0
  358. package/.next/standalone/.next/static/chunks/039-4cgt.dvjg.js +1 -0
  359. package/.next/standalone/.next/static/chunks/03ljx9csfmrpn.js +1 -0
  360. package/.next/standalone/.next/static/chunks/03sj62c3p8g11.js +1 -0
  361. package/.next/standalone/.next/static/chunks/03t01d94eyxh2.js +1 -0
  362. package/.next/standalone/.next/static/chunks/{17l496oycdhjx.js → 03vck__37a5cl.js} +1 -1
  363. package/.next/standalone/.next/static/chunks/04hn532e1vcts.js +1 -0
  364. package/.next/standalone/.next/static/chunks/{0w_03xk_xkc5a.js → 05kyduw8swd_h.js} +1 -1
  365. package/.next/standalone/.next/static/chunks/05o56eq7.f3q2.js +1 -0
  366. package/.next/standalone/.next/static/chunks/06vobum5720oa.js +1 -0
  367. package/.next/standalone/.next/static/chunks/071hdd91oy~.7.js +1 -0
  368. package/.next/standalone/.next/static/chunks/07yop4v9xcwb9.js +1 -0
  369. package/.next/standalone/.next/static/chunks/08.6.1cg_x8r-.js +16 -0
  370. package/.next/standalone/.next/static/chunks/08d4u-qlylmde.js +1 -0
  371. package/.next/standalone/.next/static/chunks/08e5.t4gotxaw.js +1 -0
  372. package/.next/standalone/.next/static/chunks/08ojbbzi2ergt.js +16 -0
  373. package/.next/standalone/.next/static/chunks/{0v6__.cfcitpl.js → 08qhrobub25u0.js} +1 -1
  374. package/.next/standalone/.next/static/chunks/08ttt2~ok56v6.js +1 -0
  375. package/.next/standalone/.next/static/chunks/{11wdicoufd516.js → 094_-.5.ue3p4.js} +1 -1
  376. package/.next/standalone/.next/static/chunks/09lb6md956bhb.js +16 -0
  377. package/.next/standalone/.next/static/chunks/09qd4fo1rz3it.js +1 -0
  378. package/.next/standalone/.next/static/chunks/{0d5b6a8r1tk95.js → 09s7ub8rgh~u-.js} +1 -1
  379. package/.next/standalone/.next/static/chunks/09sf~1tyznv2b.js +1 -0
  380. package/.next/standalone/.next/static/chunks/09x4be2pfe6z0.js +1 -0
  381. package/.next/standalone/.next/static/chunks/{02su2lz3i24nj.js → 09zxrli-btome.js} +1 -1
  382. package/.next/standalone/.next/static/chunks/0_7~rgbkmfo_p.js +1 -0
  383. package/.next/standalone/.next/static/chunks/0a7eicps6hbl6.js +1 -0
  384. package/.next/standalone/.next/static/chunks/{13u3mwvwu3kc..js → 0apqp49tgoz~z.js} +1 -1
  385. package/.next/standalone/.next/static/chunks/{02mfn213kze9c.js → 0b.a4_8picceu.js} +7 -7
  386. package/.next/standalone/.next/static/chunks/0batq-3sj.qi1.js +25 -0
  387. package/.next/standalone/.next/static/chunks/{0_67ozmvnvz16.js → 0bx27stclo8g5.js} +1 -1
  388. package/.next/standalone/.next/static/chunks/{0i2uqmry6cyl_.js → 0c2_tqkbyti3h.js} +1 -1
  389. package/.next/standalone/.next/static/chunks/0cmg_jvd.7c43.js +1 -0
  390. package/.next/standalone/.next/static/chunks/0ddh4qmi2awdq.js +1 -0
  391. package/.next/standalone/.next/static/chunks/0di4o-khzv2gt.js +1 -0
  392. package/.next/standalone/.next/static/chunks/0dwxj97xm70gv.js +1 -0
  393. package/.next/standalone/.next/static/chunks/0e20ujygcf3hc.js +1 -0
  394. package/.next/standalone/.next/static/chunks/0e5t3kx~_brfk.js +1 -0
  395. package/.next/standalone/.next/static/chunks/0evu-825nnqef.js +1 -0
  396. package/.next/standalone/.next/static/chunks/0f.5lthmbt~yc.js +1 -0
  397. package/.next/standalone/.next/static/chunks/{0fotmrplo6yc7.js → 0f_7vuqno92ye.js} +1 -1
  398. package/.next/standalone/.next/static/chunks/0g-71jn3elu8f.js +1 -0
  399. package/.next/standalone/.next/static/chunks/0gr4lznv-6qml.js +1 -0
  400. package/.next/standalone/.next/static/chunks/0hl3ccityypgx.js +1 -0
  401. package/.next/standalone/.next/static/chunks/0hv4~cszgs3im.js +1 -0
  402. package/.next/standalone/.next/static/chunks/0hzis~e79cnwi.js +1 -0
  403. package/.next/standalone/.next/static/chunks/0jkvb4hgqlgxk.js +1 -0
  404. package/.next/standalone/.next/static/chunks/0k2_zze3o98ow.js +1 -0
  405. package/.next/standalone/.next/static/chunks/0kqxfunh4731g.js +1 -0
  406. package/.next/standalone/.next/static/chunks/{0fn24h74ta78c.js → 0k~crb4s4z7gy.js} +1 -1
  407. package/.next/standalone/.next/static/chunks/0lrjdru2bjp.x.js +1 -0
  408. package/.next/standalone/.next/static/chunks/0mvvym~9uf429.js +1 -0
  409. package/.next/standalone/.next/static/chunks/0mwkajcworx_-.js +1 -0
  410. package/.next/standalone/.next/static/chunks/0nqofghl.17w_.js +1 -0
  411. package/.next/standalone/.next/static/chunks/0o1lsz827g-q_.js +1 -0
  412. package/.next/standalone/.next/static/chunks/{0pb15t~lqcp4y.js → 0oh5xnzizgxt1.js} +1 -1
  413. package/.next/standalone/.next/static/chunks/0po8l-8pns0vb.js +1 -0
  414. package/.next/standalone/.next/static/chunks/{0qr~rkd5sq-yp.js → 0p~_~afvrxx99.js} +7 -6
  415. package/.next/standalone/.next/static/chunks/0q9nn4yuva4jl.js +1 -0
  416. package/.next/standalone/.next/static/chunks/0q9y8zysz~put.js +24 -0
  417. package/.next/standalone/.next/static/chunks/{0_htal_j04mkg.js → 0r3lm4_qr3y.a.js} +1 -1
  418. package/.next/standalone/.next/static/chunks/0r69~xx12-zsq.js +1 -0
  419. package/.next/standalone/.next/static/chunks/0reai1zdu.khx.js +1 -0
  420. package/.next/standalone/.next/static/chunks/0s7sv9xe3e1c9.js +1 -0
  421. package/.next/standalone/.next/static/chunks/0szl_dovu0hgw.js +1 -0
  422. package/.next/standalone/.next/static/chunks/{0axhnd2vw3m5e.js → 0t-o-jwf0~-b5.js} +1 -1
  423. package/.next/standalone/.next/static/chunks/{0ml5~2ty-rbv_.js → 0t5w4x7owhfbe.js} +1 -1
  424. package/.next/standalone/.next/static/chunks/0thg_6bh34-xa.js +1 -0
  425. package/.next/standalone/.next/static/chunks/0uhkmh73bi.8w.js +1 -0
  426. package/.next/standalone/.next/static/chunks/0v6zafwjb5kk6.js +1 -0
  427. package/.next/standalone/.next/static/chunks/0vvqh.pfm9jum.js +1 -0
  428. package/.next/standalone/.next/static/chunks/{128d.rbx4e4rt.js → 0w0qmu364g~xt.js} +1 -1
  429. package/.next/standalone/.next/static/chunks/0w6_q_4rzxy6l.js +1 -0
  430. package/.next/standalone/.next/static/chunks/0wjrfyntnywn5.js +1 -0
  431. package/.next/standalone/.next/static/chunks/0xa1.t1vj1mw0.js +1 -0
  432. package/.next/standalone/.next/static/chunks/0xvbx6ob2wnco.js +1 -0
  433. package/.next/standalone/.next/static/chunks/0y441gn709g7u.js +1 -0
  434. package/.next/standalone/.next/static/chunks/0yd3l8p2m9-c_.js +1 -0
  435. package/.next/standalone/.next/static/chunks/{0uzs3jw4-93ly.js → 0zih6-g65txpb.js} +1 -1
  436. package/.next/standalone/.next/static/chunks/0zmym5gg0bnkg.js +1 -0
  437. package/.next/standalone/.next/static/chunks/105sb_yg7fcpu.js +1 -0
  438. package/.next/standalone/.next/static/chunks/109f1pvy3e_vd.js +1 -0
  439. package/.next/standalone/.next/static/chunks/10em078j6cul4.js +1 -0
  440. package/.next/standalone/.next/static/chunks/{0a9t5laucshuf.js → 10todxw2604hk.js} +1 -1
  441. package/.next/standalone/.next/static/chunks/{0a0wcelktujjt.js → 119t_hwpxj_ko.js} +1 -1
  442. package/.next/standalone/.next/static/chunks/13i76gpwz2k5a.js +1 -0
  443. package/.next/standalone/.next/static/chunks/13j5zp717ie6d.js +24 -0
  444. package/.next/standalone/.next/static/chunks/13~.y-z7wud.h.js +1 -0
  445. package/.next/standalone/.next/static/chunks/140j4evqxtxmn.js +1 -0
  446. package/.next/standalone/.next/static/chunks/142km8a40ar5o.js +1 -0
  447. package/.next/standalone/.next/static/chunks/149sb_-h03mxq.js +1 -0
  448. package/.next/standalone/.next/static/chunks/{017n78o_7xb4_.js → 15hd85wggjanq.js} +1 -1
  449. package/.next/standalone/.next/static/chunks/15sblmrroyskk.js +1 -0
  450. package/.next/standalone/.next/static/chunks/16.twr9cx.kle.js +1 -0
  451. package/.next/standalone/.next/static/chunks/169ui~u~dpalg.js +1 -0
  452. package/.next/standalone/.next/static/chunks/171_ek.xwzobw.js +1 -0
  453. package/.next/standalone/.next/static/chunks/179zldqdb4pm2.js +1 -0
  454. package/.next/standalone/.next/static/chunks/{turbopack-0hwi_g-tegs_u.js → turbopack-0-ooli-pimh-6.js} +1 -1
  455. package/.next/standalone/.next/static/chunks/turbopack-06o7eaf8n1nth.js +1 -0
  456. package/.next/standalone/.next/static/chunks/turbopack-0duv.5cir9jm5.js +1 -0
  457. package/.next/standalone/.next/static/chunks/turbopack-0f2cool0ub~vp.js +1 -0
  458. package/.next/standalone/.next/static/chunks/turbopack-0q6z-bk-atg2w.js +1 -0
  459. package/.next/standalone/.next/static/chunks/{turbopack-066o21-32lo7n.js → turbopack-0sa282u154fdk.js} +1 -1
  460. package/.next/standalone/.next/static/chunks/{turbopack-0np.oib7-.1fp.js → turbopack-0vv2_r1br0hyc.js} +1 -1
  461. package/.next/standalone/messages/de/diff.json +26 -1
  462. package/.next/standalone/messages/de/settings.json +3 -1
  463. package/.next/standalone/messages/de/sidebar.json +10 -1
  464. package/.next/standalone/messages/de/webBrowser.json +5 -1
  465. package/.next/standalone/messages/de/workspace.json +2 -0
  466. package/.next/standalone/messages/en/diff.json +26 -1
  467. package/.next/standalone/messages/en/settings.json +3 -1
  468. package/.next/standalone/messages/en/sidebar.json +10 -1
  469. package/.next/standalone/messages/en/webBrowser.json +5 -1
  470. package/.next/standalone/messages/en/workspace.json +2 -0
  471. package/.next/standalone/messages/es/diff.json +26 -1
  472. package/.next/standalone/messages/es/settings.json +3 -1
  473. package/.next/standalone/messages/es/sidebar.json +10 -1
  474. package/.next/standalone/messages/es/webBrowser.json +5 -1
  475. package/.next/standalone/messages/es/workspace.json +2 -0
  476. package/.next/standalone/messages/fr/diff.json +26 -1
  477. package/.next/standalone/messages/fr/settings.json +3 -1
  478. package/.next/standalone/messages/fr/sidebar.json +10 -1
  479. package/.next/standalone/messages/fr/webBrowser.json +5 -1
  480. package/.next/standalone/messages/fr/workspace.json +2 -0
  481. package/.next/standalone/messages/ja/diff.json +26 -1
  482. package/.next/standalone/messages/ja/settings.json +3 -1
  483. package/.next/standalone/messages/ja/sidebar.json +10 -1
  484. package/.next/standalone/messages/ja/webBrowser.json +5 -1
  485. package/.next/standalone/messages/ja/workspace.json +2 -0
  486. package/.next/standalone/messages/ko/diff.json +26 -1
  487. package/.next/standalone/messages/ko/settings.json +3 -1
  488. package/.next/standalone/messages/ko/sidebar.json +10 -1
  489. package/.next/standalone/messages/ko/webBrowser.json +5 -1
  490. package/.next/standalone/messages/ko/workspace.json +2 -0
  491. package/.next/standalone/messages/pt-BR/diff.json +26 -1
  492. package/.next/standalone/messages/pt-BR/settings.json +3 -1
  493. package/.next/standalone/messages/pt-BR/sidebar.json +10 -1
  494. package/.next/standalone/messages/pt-BR/webBrowser.json +5 -1
  495. package/.next/standalone/messages/pt-BR/workspace.json +2 -0
  496. package/.next/standalone/messages/ru/diff.json +26 -1
  497. package/.next/standalone/messages/ru/settings.json +3 -1
  498. package/.next/standalone/messages/ru/sidebar.json +10 -1
  499. package/.next/standalone/messages/ru/webBrowser.json +5 -1
  500. package/.next/standalone/messages/ru/workspace.json +2 -0
  501. package/.next/standalone/messages/tr/diff.json +26 -1
  502. package/.next/standalone/messages/tr/settings.json +3 -1
  503. package/.next/standalone/messages/tr/sidebar.json +10 -1
  504. package/.next/standalone/messages/tr/webBrowser.json +5 -1
  505. package/.next/standalone/messages/tr/workspace.json +2 -0
  506. package/.next/standalone/messages/zh-CN/diff.json +26 -1
  507. package/.next/standalone/messages/zh-CN/settings.json +3 -1
  508. package/.next/standalone/messages/zh-CN/sidebar.json +10 -1
  509. package/.next/standalone/messages/zh-CN/webBrowser.json +5 -1
  510. package/.next/standalone/messages/zh-CN/workspace.json +2 -0
  511. package/.next/standalone/messages/zh-TW/diff.json +26 -1
  512. package/.next/standalone/messages/zh-TW/settings.json +3 -1
  513. package/.next/standalone/messages/zh-TW/sidebar.json +10 -1
  514. package/.next/standalone/messages/zh-TW/webBrowser.json +5 -1
  515. package/.next/standalone/messages/zh-TW/workspace.json +2 -0
  516. package/.next/standalone/package.json +5 -2
  517. package/.next/standalone/server.js +1 -1
  518. package/.next/standalone/src/pages/api/layout/commit-diff.ts +94 -0
  519. package/.next/standalone/src/pages/api/layout/cwd.ts +38 -0
  520. package/.next/standalone/src/pages/api/layout/diff.ts +196 -0
  521. package/.next/standalone/src/pages/api/layout/file-content.ts +130 -0
  522. package/.next/standalone/src/pages/api/layout/git-log.ts +55 -0
  523. package/.next/standalone/src/pages/api/layout/index.ts +38 -0
  524. package/.next/standalone/src/pages/api/layout/pane/[paneId]/index.ts +38 -0
  525. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/[tabId]/index.ts +94 -0
  526. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.ts +31 -0
  527. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/index.ts +66 -0
  528. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/order.ts +30 -0
  529. package/.next/standalone/src/pages/api/layout/pane/index.ts +38 -0
  530. package/README.de.md +4 -3
  531. package/README.es.md +4 -3
  532. package/README.fr.md +4 -3
  533. package/README.ja.md +4 -3
  534. package/README.ko.md +4 -3
  535. package/README.md +4 -3
  536. package/README.pt-BR.md +4 -3
  537. package/README.ru.md +4 -3
  538. package/README.tr.md +4 -3
  539. package/README.zh-CN.md +4 -3
  540. package/README.zh-TW.md +4 -3
  541. package/bin/cli.js +95 -0
  542. package/dist/server.js +63 -8
  543. package/package.json +5 -2
  544. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02.9a5j._.js +0 -3
  545. package/.next/standalone/.next/server/chunks/[root-of-the-server]__045g9-a._.js +0 -3
  546. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ef59mr._.js +0 -3
  547. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0n61.a8._.js +0 -30
  548. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pv48rv._.js +0 -3
  549. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qda0wx._.js +0 -3
  550. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zjping._.js +0 -3
  551. package/.next/standalone/.next/server/chunks/_04pfden._.js +0 -3
  552. package/.next/standalone/.next/server/chunks/_09vws3v._.js +0 -3
  553. package/.next/standalone/.next/server/chunks/_0e8e4zn._.js +0 -3
  554. package/.next/standalone/.next/server/chunks/_0isokfh._.js +0 -3
  555. package/.next/standalone/.next/server/chunks/_0j2u-od._.js +0 -3
  556. package/.next/standalone/.next/server/chunks/_0t8j4qd._.js +0 -3
  557. package/.next/standalone/.next/server/chunks/_0xd1ivw._.js +0 -3
  558. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0c0bz7t._.js +0 -3
  559. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0nkl4wz._.js +0 -3
  560. package/.next/standalone/.next/server/chunks/ssr/_0-67bvb._.js +0 -3
  561. package/.next/standalone/.next/server/chunks/ssr/_02nf4d7._.js +0 -3
  562. package/.next/standalone/.next/server/chunks/ssr/_05dcjwi._.js +0 -3
  563. package/.next/standalone/.next/server/chunks/ssr/_06yggfn._.js +0 -3
  564. package/.next/standalone/.next/server/chunks/ssr/_0_soefg._.js +0 -3
  565. package/.next/standalone/.next/server/chunks/ssr/_0al4.z9._.js +0 -3
  566. package/.next/standalone/.next/server/chunks/ssr/_0dg4_bi._.js +0 -3
  567. package/.next/standalone/.next/server/chunks/ssr/_0f8k39w._.js +0 -14
  568. package/.next/standalone/.next/server/chunks/ssr/_0gp1meg._.js +0 -3
  569. package/.next/standalone/.next/server/chunks/ssr/_0hqzsa8._.js +0 -3
  570. package/.next/standalone/.next/server/chunks/ssr/_0kno-5w._.js +0 -3
  571. package/.next/standalone/.next/server/chunks/ssr/_0nkeoiw._.js +0 -3
  572. package/.next/standalone/.next/server/chunks/ssr/_0ob2rr-._.js +0 -3
  573. package/.next/standalone/.next/server/chunks/ssr/_0sfctwm._.js +0 -3
  574. package/.next/standalone/.next/server/chunks/ssr/_0sm8slq._.js +0 -3
  575. package/.next/standalone/.next/server/chunks/ssr/_0svke5s._.js +0 -3
  576. package/.next/standalone/.next/server/chunks/ssr/_0ulmx3c._.js +0 -3
  577. package/.next/standalone/.next/server/chunks/ssr/_0wlh.pc._.js +0 -3
  578. package/.next/standalone/.next/server/chunks/ssr/_0y31tie._.js +0 -14
  579. package/.next/standalone/.next/server/chunks/ssr/_0~.theb._.js +0 -3
  580. package/.next/standalone/.next/server/chunks/ssr/_10s2f96._.js +0 -3
  581. package/.next/standalone/.next/server/chunks/ssr/_11rnj4l._.js +0 -3
  582. package/.next/standalone/.next/server/chunks/ssr/_124p60s._.js +0 -3
  583. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_react_esm_03v8q-a._.js +0 -3
  584. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_react_esm_0wddb~n._.js +0 -3
  585. package/.next/standalone/.next/static/chunks/0-8-cf3vuob~..js +0 -1
  586. package/.next/standalone/.next/static/chunks/0-97ruc25d2lz.js +0 -1
  587. package/.next/standalone/.next/static/chunks/0-ku865ak6iur.js +0 -1
  588. package/.next/standalone/.next/static/chunks/00g7isu_5s43..js +0 -1
  589. package/.next/standalone/.next/static/chunks/00nx1s6rpu537.js +0 -1
  590. package/.next/standalone/.next/static/chunks/00s-0sui~_24w.js +0 -1
  591. package/.next/standalone/.next/static/chunks/01-fb9rb-21.a.js +0 -1
  592. package/.next/standalone/.next/static/chunks/02dumv8n.ewiw.js +0 -1
  593. package/.next/standalone/.next/static/chunks/02r-a1_lz7fuk.js +0 -1
  594. package/.next/standalone/.next/static/chunks/03eaekq6omt65.js +0 -1
  595. package/.next/standalone/.next/static/chunks/04~p~.qz9diil.js +0 -1
  596. package/.next/standalone/.next/static/chunks/05_e09pgcymkh.js +0 -1
  597. package/.next/standalone/.next/static/chunks/05y90.zbqijkv.js +0 -1
  598. package/.next/standalone/.next/static/chunks/07-xm--o034du.js +0 -1
  599. package/.next/standalone/.next/static/chunks/072ccw0gkueqq.js +0 -1
  600. package/.next/standalone/.next/static/chunks/07i6~xrmgspp8.js +0 -1
  601. package/.next/standalone/.next/static/chunks/07rq~qv9ldwo~.js +0 -1
  602. package/.next/standalone/.next/static/chunks/08vvx8xtxwt5o.js +0 -1
  603. package/.next/standalone/.next/static/chunks/08zfbuugw_i52.js +0 -23
  604. package/.next/standalone/.next/static/chunks/09agwg~-xbxbs.js +0 -1
  605. package/.next/standalone/.next/static/chunks/0a1hi9y0lwv3j.js +0 -1
  606. package/.next/standalone/.next/static/chunks/0af.3khnmptnl.js +0 -1
  607. package/.next/standalone/.next/static/chunks/0afll97o4hu39.js +0 -1
  608. package/.next/standalone/.next/static/chunks/0ajkjqq1xc_.a.js +0 -1
  609. package/.next/standalone/.next/static/chunks/0chjvj73yfmoj.js +0 -1
  610. package/.next/standalone/.next/static/chunks/0d4vi6-ju6lha.js +0 -1
  611. package/.next/standalone/.next/static/chunks/0daflfjkvkh-d.js +0 -1
  612. package/.next/standalone/.next/static/chunks/0dh2cf_c4gz65.js +0 -1
  613. package/.next/standalone/.next/static/chunks/0dp178b-0_ltl.js +0 -1
  614. package/.next/standalone/.next/static/chunks/0dqb3atw-kpb2.js +0 -1
  615. package/.next/standalone/.next/static/chunks/0efkrks2gm27v.js +0 -1
  616. package/.next/standalone/.next/static/chunks/0fuay9akccsr9.js +0 -1
  617. package/.next/standalone/.next/static/chunks/0fwnzw~qq_abm.js +0 -1
  618. package/.next/standalone/.next/static/chunks/0gjtphww9wtey.js +0 -12
  619. package/.next/standalone/.next/static/chunks/0h-7ntqpip4oi.js +0 -1
  620. package/.next/standalone/.next/static/chunks/0idah_uu8ylro.js +0 -1
  621. package/.next/standalone/.next/static/chunks/0iw7xjsfo1v-u.js +0 -16
  622. package/.next/standalone/.next/static/chunks/0jj7ska-q4zmb.js +0 -1
  623. package/.next/standalone/.next/static/chunks/0k50-hp08.xtp.js +0 -1
  624. package/.next/standalone/.next/static/chunks/0n1xl_9xb64~a.js +0 -1
  625. package/.next/standalone/.next/static/chunks/0nh~2y4pr-6b-.js +0 -1
  626. package/.next/standalone/.next/static/chunks/0nyar-7g9rya6.js +0 -1
  627. package/.next/standalone/.next/static/chunks/0o_yi7-4-ckig.js +0 -1
  628. package/.next/standalone/.next/static/chunks/0om8~g_7-c-x5.js +0 -12
  629. package/.next/standalone/.next/static/chunks/0otoymu09sgml.js +0 -1
  630. package/.next/standalone/.next/static/chunks/0oxlivdn8c89b.js +0 -1
  631. package/.next/standalone/.next/static/chunks/0qwvk-uq944-d.js +0 -23
  632. package/.next/standalone/.next/static/chunks/0r7uk81oh650e.js +0 -1
  633. package/.next/standalone/.next/static/chunks/0r_ynb..7ongv.js +0 -23
  634. package/.next/standalone/.next/static/chunks/0ro78lxc~ndn_.js +0 -1
  635. package/.next/standalone/.next/static/chunks/0ryghnq7iy47v.js +0 -24
  636. package/.next/standalone/.next/static/chunks/0se1ra8f1bor~.js +0 -1
  637. package/.next/standalone/.next/static/chunks/0t_38o03_pjwq.js +0 -1
  638. package/.next/standalone/.next/static/chunks/0u9yrtrs1bktp.js +0 -1
  639. package/.next/standalone/.next/static/chunks/0u9~wuf2zbs5z.js +0 -1
  640. package/.next/standalone/.next/static/chunks/0vmc7tq7ze-wk.js +0 -1
  641. package/.next/standalone/.next/static/chunks/0wlz6--vu7adu.js +0 -1
  642. package/.next/standalone/.next/static/chunks/0wp13r5su.j3e.js +0 -1
  643. package/.next/standalone/.next/static/chunks/0wx.aq674yk~q.js +0 -1
  644. package/.next/standalone/.next/static/chunks/0x7cvsf..ezd..js +0 -1
  645. package/.next/standalone/.next/static/chunks/0xas4ca5n6mzi.js +0 -1
  646. package/.next/standalone/.next/static/chunks/0xmalbon9eqvg.js +0 -1
  647. package/.next/standalone/.next/static/chunks/0y1_gk64rkp0g.js +0 -1
  648. package/.next/standalone/.next/static/chunks/0zz.9uk42mbks.js +0 -1
  649. package/.next/standalone/.next/static/chunks/0~lnp45fxxtgz.js +0 -1
  650. package/.next/standalone/.next/static/chunks/0~nlz9.lltzrz.js +0 -1
  651. package/.next/standalone/.next/static/chunks/10bvbbw1062os.js +0 -1
  652. package/.next/standalone/.next/static/chunks/11gch78bg_qsn.js +0 -1
  653. package/.next/standalone/.next/static/chunks/11nk1lwom62oe.js +0 -1
  654. package/.next/standalone/.next/static/chunks/131tx--pi8.tm.js +0 -1
  655. package/.next/standalone/.next/static/chunks/132lgf3mld2ax.js +0 -1
  656. package/.next/standalone/.next/static/chunks/13nitezuv6q6x.js +0 -1
  657. package/.next/standalone/.next/static/chunks/13~7v30_nnqks.js +0 -1
  658. package/.next/standalone/.next/static/chunks/14xlpbx6dj_4i.js +0 -1
  659. package/.next/standalone/.next/static/chunks/16dbi-ty-ptnr.js +0 -1
  660. package/.next/standalone/.next/static/chunks/17jcucuef_33-.js +0 -1
  661. package/.next/standalone/.next/static/chunks/184~yri~m3wao.css +0 -1
  662. package/.next/standalone/.next/static/chunks/186b1th1fl440.js +0 -1
  663. package/.next/standalone/.next/static/chunks/18d9u7jni2vco.js +0 -1
  664. package/.next/standalone/.next/static/chunks/turbopack-0abq2d._xmt7y.js +0 -1
  665. package/.next/standalone/.next/static/chunks/turbopack-0sisjg~-koq5w.js +0 -1
  666. package/.next/standalone/.next/static/chunks/turbopack-11tk4snp~dxd4.js +0 -1
  667. package/.next/standalone/.next/static/chunks/turbopack-17.piokhhz77b.js +0 -1
  668. /package/.next/standalone/.next/static/{5mb_D_gy6E3wsT_BhuXDS → CjJlqsAWYyyu76AJtHaqt}/_clientMiddlewareManifest.js +0 -0
  669. /package/.next/standalone/.next/static/{5mb_D_gy6E3wsT_BhuXDS → CjJlqsAWYyyu76AJtHaqt}/_ssgManifest.js +0 -0
@@ -7,5 +7,14 @@
7
7
  "notes": "Notas",
8
8
  "stats": "Estatisticas de uso",
9
9
  "collapseSidebar": "Recolher barra lateral",
10
- "expandSidebar": "Expandir barra lateral"
10
+ "expandSidebar": "Expandir barra lateral",
11
+ "newWorkspace": "Novo workspace",
12
+ "newGroup": "Novo grupo",
13
+ "renameGroup": "Renomear grupo",
14
+ "ungroup": "Desagrupar",
15
+ "moveToGroup": "Mover para o grupo",
16
+ "removeFromGroup": "Remover do grupo",
17
+ "ungrouped": "Sem grupo",
18
+ "defaultGroupName": "Novo grupo",
19
+ "emptyGroup": "(vazio)"
11
20
  }
@@ -7,5 +7,9 @@
7
7
  "mobileModeTip": "Modo mobile (clique para alternar para desktop)",
8
8
  "desktopModeTip": "Modo desktop (clique para alternar para mobile)",
9
9
  "urlPlaceholder": "Digite uma URL",
10
- "emptyMessage": "Digite uma URL para abrir uma pagina web"
10
+ "emptyMessage": "Digite uma URL para abrir uma pagina web",
11
+ "deviceTip": "Selecionar dispositivo",
12
+ "rotate": "Girar",
13
+ "zoomTip": "Zoom",
14
+ "zoomFit": "Ajustar"
11
15
  }
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "add": "Adicionar Workspace",
3
+ "editTitle": "Editar workspace",
4
+ "namePlaceholder": "Digite o nome do workspace",
3
5
  "projectDirectory": "Diretorio do projeto",
4
6
  "directoryPlaceholder": "Digite o caminho do diretorio",
5
7
  "validating": "Validando...",
@@ -5,5 +5,30 @@
5
5
  "refresh": "Refresh",
6
6
  "sideBySide": "Side by side",
7
7
  "lineByLine": "Line by line",
8
- "fileList": "Files"
8
+ "fileList": "Files",
9
+ "tabChanges": "Changes",
10
+ "tabHistory": "History",
11
+ "noCommits": "No commits",
12
+ "ahead": "Unpushed",
13
+ "back": "Back",
14
+ "commitNotFound": "Commit not found",
15
+ "sync": "Sync",
16
+ "syncing": "Syncing...",
17
+ "syncUpToDate": "Already up to date",
18
+ "syncSuccess": "Synced",
19
+ "syncErrorNoUpstream": "No upstream branch. Set it in terminal",
20
+ "syncErrorAuth": "Authentication failed. Check git credentials",
21
+ "syncErrorDiverged": "Branches diverged. Rebase or merge in terminal",
22
+ "syncErrorRejected": "Push rejected. Try syncing again",
23
+ "syncErrorLocalChanges": "Local changes would be overwritten. Commit or stash first",
24
+ "syncErrorTimeout": "Sync timed out",
25
+ "syncErrorGeneric": "Sync failed",
26
+ "askClaude": "Ask Claude",
27
+ "claudePromptDiverged": "Git sync failed. {branch} has diverged from {upstream}. Please rebase onto the latest origin and resolve any conflicts.",
28
+ "claudePromptRejected": "Git push was rejected. There appear to be new commits on {upstream}. Please pull to merge, then push again.",
29
+ "claudePromptAuth": "Git authentication failed. Please check the credential helper or SSH configuration and try again.",
30
+ "claudePromptNoUpstream": "The {branch} branch has no upstream. Please push to origin and set up the tracking branch.",
31
+ "claudePromptLocalChanges": "Git pull failed because local uncommitted changes would be overwritten by merge. Please stash or commit the changes, pull from {upstream}, and reapply the stash if you stashed.",
32
+ "claudePromptTimeout": "Git sync timed out. Please check the network connection and retry.",
33
+ "claudePromptGeneric": "Git sync failed. Please review the error below and resolve it."
9
34
  }
@@ -69,7 +69,9 @@
69
69
  },
70
70
  "claude": {
71
71
  "skipPermissions": "Пропустить проверку прав доступа",
72
- "skipPermissionsDescription": "Добавляет параметр --dangerously-skip-permissions при запуске Claude CLI."
72
+ "skipPermissionsDescription": "Добавляет параметр --dangerously-skip-permissions при запуске Claude CLI.",
73
+ "showTerminal": "Показывать терминал вместе с Claude",
74
+ "showTerminalDescription": "Отображает область терминала рядом с Claude Code. Если выключено, новые вкладки Claude открываются со свёрнутым терминалом."
73
75
  },
74
76
  "auth": {
75
77
  "changePassword": "Изменить пароль",
@@ -7,5 +7,14 @@
7
7
  "notes": "Заметки",
8
8
  "stats": "Статистика использования",
9
9
  "collapseSidebar": "Свернуть боковую панель",
10
- "expandSidebar": "Развернуть боковую панель"
10
+ "expandSidebar": "Развернуть боковую панель",
11
+ "newWorkspace": "Новое рабочее пространство",
12
+ "newGroup": "Новая группа",
13
+ "renameGroup": "Переименовать группу",
14
+ "ungroup": "Разгруппировать",
15
+ "moveToGroup": "Переместить в группу",
16
+ "removeFromGroup": "Убрать из группы",
17
+ "ungrouped": "Без группы",
18
+ "defaultGroupName": "Новая группа",
19
+ "emptyGroup": "(пусто)"
11
20
  }
@@ -7,5 +7,9 @@
7
7
  "mobileModeTip": "Мобильный режим (нажмите для переключения на десктопный)",
8
8
  "desktopModeTip": "Десктопный режим (нажмите для переключения на мобильный)",
9
9
  "urlPlaceholder": "Введите URL",
10
- "emptyMessage": "Введите URL, чтобы открыть веб-страницу"
10
+ "emptyMessage": "Введите URL, чтобы открыть веб-страницу",
11
+ "deviceTip": "Выбрать устройство",
12
+ "rotate": "Повернуть",
13
+ "zoomTip": "Масштаб",
14
+ "zoomFit": "По размеру"
11
15
  }
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "add": "Добавить рабочее пространство",
3
+ "editTitle": "Изменить рабочее пространство",
4
+ "namePlaceholder": "Введите имя рабочего пространства",
3
5
  "projectDirectory": "Каталог проекта",
4
6
  "directoryPlaceholder": "Введите путь к каталогу",
5
7
  "validating": "Проверка...",
@@ -5,5 +5,30 @@
5
5
  "refresh": "Refresh",
6
6
  "sideBySide": "Side by side",
7
7
  "lineByLine": "Line by line",
8
- "fileList": "Files"
8
+ "fileList": "Files",
9
+ "tabChanges": "Changes",
10
+ "tabHistory": "History",
11
+ "noCommits": "No commits",
12
+ "ahead": "Unpushed",
13
+ "back": "Back",
14
+ "commitNotFound": "Commit not found",
15
+ "sync": "Sync",
16
+ "syncing": "Syncing...",
17
+ "syncUpToDate": "Already up to date",
18
+ "syncSuccess": "Synced",
19
+ "syncErrorNoUpstream": "No upstream branch. Set it in terminal",
20
+ "syncErrorAuth": "Authentication failed. Check git credentials",
21
+ "syncErrorDiverged": "Branches diverged. Rebase or merge in terminal",
22
+ "syncErrorRejected": "Push rejected. Try syncing again",
23
+ "syncErrorLocalChanges": "Local changes would be overwritten. Commit or stash first",
24
+ "syncErrorTimeout": "Sync timed out",
25
+ "syncErrorGeneric": "Sync failed",
26
+ "askClaude": "Ask Claude",
27
+ "claudePromptDiverged": "Git sync failed. {branch} has diverged from {upstream}. Please rebase onto the latest origin and resolve any conflicts.",
28
+ "claudePromptRejected": "Git push was rejected. There appear to be new commits on {upstream}. Please pull to merge, then push again.",
29
+ "claudePromptAuth": "Git authentication failed. Please check the credential helper or SSH configuration and try again.",
30
+ "claudePromptNoUpstream": "The {branch} branch has no upstream. Please push to origin and set up the tracking branch.",
31
+ "claudePromptLocalChanges": "Git pull failed because local uncommitted changes would be overwritten by merge. Please stash or commit the changes, pull from {upstream}, and reapply the stash if you stashed.",
32
+ "claudePromptTimeout": "Git sync timed out. Please check the network connection and retry.",
33
+ "claudePromptGeneric": "Git sync failed. Please review the error below and resolve it."
9
34
  }
@@ -69,7 +69,9 @@
69
69
  },
70
70
  "claude": {
71
71
  "skipPermissions": "İzin Kontrollerini Atla",
72
- "skipPermissionsDescription": "Claude CLI çalıştırılırken --dangerously-skip-permissions seçeneğini ekler."
72
+ "skipPermissionsDescription": "Claude CLI çalıştırılırken --dangerously-skip-permissions seçeneğini ekler.",
73
+ "showTerminal": "Terminali Claude ile Göster",
74
+ "showTerminalDescription": "Terminal alanını Claude Code ile birlikte gösterir. Kapalıyken yeni Claude sekmeleri terminal kapalı olarak açılır."
73
75
  },
74
76
  "auth": {
75
77
  "changePassword": "Şifre Değiştir",
@@ -7,5 +7,14 @@
7
7
  "notes": "Notlar",
8
8
  "stats": "Kullanım istatistikleri",
9
9
  "collapseSidebar": "Kenar çubuğunu daralt",
10
- "expandSidebar": "Kenar çubuğunu genişlet"
10
+ "expandSidebar": "Kenar çubuğunu genişlet",
11
+ "newWorkspace": "Yeni Çalışma Alanı",
12
+ "newGroup": "Yeni Grup",
13
+ "renameGroup": "Grubu yeniden adlandır",
14
+ "ungroup": "Grubu çöz",
15
+ "moveToGroup": "Gruba taşı",
16
+ "removeFromGroup": "Gruptan çıkar",
17
+ "ungrouped": "Gruplanmamış",
18
+ "defaultGroupName": "Yeni Grup",
19
+ "emptyGroup": "(boş)"
11
20
  }
@@ -7,5 +7,9 @@
7
7
  "mobileModeTip": "Mobil mod (masaüstüne geçmek için tıklayın)",
8
8
  "desktopModeTip": "Masaüstü modu (mobile geçmek için tıklayın)",
9
9
  "urlPlaceholder": "Bir URL girin",
10
- "emptyMessage": "Web sayfası açmak için bir URL girin"
10
+ "emptyMessage": "Web sayfası açmak için bir URL girin",
11
+ "deviceTip": "Cihaz seç",
12
+ "rotate": "Döndür",
13
+ "zoomTip": "Yakınlaştırma",
14
+ "zoomFit": "Sığdır"
11
15
  }
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "add": "Çalışma Alanı Ekle",
3
+ "editTitle": "Çalışma Alanını Düzenle",
4
+ "namePlaceholder": "Çalışma alanı adını girin",
3
5
  "projectDirectory": "Proje dizini",
4
6
  "directoryPlaceholder": "Dizin yolunu girin",
5
7
  "validating": "Doğrulanıyor...",
@@ -5,5 +5,30 @@
5
5
  "refresh": "Refresh",
6
6
  "sideBySide": "Side by side",
7
7
  "lineByLine": "Line by line",
8
- "fileList": "Files"
8
+ "fileList": "Files",
9
+ "tabChanges": "Changes",
10
+ "tabHistory": "History",
11
+ "noCommits": "No commits",
12
+ "ahead": "Unpushed",
13
+ "back": "Back",
14
+ "commitNotFound": "Commit not found",
15
+ "sync": "Sync",
16
+ "syncing": "Syncing...",
17
+ "syncUpToDate": "Already up to date",
18
+ "syncSuccess": "Synced",
19
+ "syncErrorNoUpstream": "No upstream branch. Set it in terminal",
20
+ "syncErrorAuth": "Authentication failed. Check git credentials",
21
+ "syncErrorDiverged": "Branches diverged. Rebase or merge in terminal",
22
+ "syncErrorRejected": "Push rejected. Try syncing again",
23
+ "syncErrorLocalChanges": "Local changes would be overwritten. Commit or stash first",
24
+ "syncErrorTimeout": "Sync timed out",
25
+ "syncErrorGeneric": "Sync failed",
26
+ "askClaude": "Ask Claude",
27
+ "claudePromptDiverged": "Git sync failed. {branch} has diverged from {upstream}. Please rebase onto the latest origin and resolve any conflicts.",
28
+ "claudePromptRejected": "Git push was rejected. There appear to be new commits on {upstream}. Please pull to merge, then push again.",
29
+ "claudePromptAuth": "Git authentication failed. Please check the credential helper or SSH configuration and try again.",
30
+ "claudePromptNoUpstream": "The {branch} branch has no upstream. Please push to origin and set up the tracking branch.",
31
+ "claudePromptLocalChanges": "Git pull failed because local uncommitted changes would be overwritten by merge. Please stash or commit the changes, pull from {upstream}, and reapply the stash if you stashed.",
32
+ "claudePromptTimeout": "Git sync timed out. Please check the network connection and retry.",
33
+ "claudePromptGeneric": "Git sync failed. Please review the error below and resolve it."
9
34
  }
@@ -69,7 +69,9 @@
69
69
  },
70
70
  "claude": {
71
71
  "skipPermissions": "跳过权限检查",
72
- "skipPermissionsDescription": "运行Claude CLI时添加--dangerously-skip-permissions选项。"
72
+ "skipPermissionsDescription": "运行Claude CLI时添加--dangerously-skip-permissions选项。",
73
+ "showTerminal": "在 Claude 中一同显示终端",
74
+ "showTerminalDescription": "在 Claude Code 旁显示终端区域。关闭时,新的 Claude 标签页将以折叠的终端打开。"
73
75
  },
74
76
  "auth": {
75
77
  "changePassword": "更改密码",
@@ -7,5 +7,14 @@
7
7
  "notes": "笔记",
8
8
  "stats": "使用统计",
9
9
  "collapseSidebar": "收起侧边栏",
10
- "expandSidebar": "展开侧边栏"
10
+ "expandSidebar": "展开侧边栏",
11
+ "newWorkspace": "新建工作区",
12
+ "newGroup": "新建分组",
13
+ "renameGroup": "重命名分组",
14
+ "ungroup": "取消分组",
15
+ "moveToGroup": "移动到分组",
16
+ "removeFromGroup": "从分组中移除",
17
+ "ungrouped": "未分组",
18
+ "defaultGroupName": "新建分组",
19
+ "emptyGroup": "(空)"
11
20
  }
@@ -7,5 +7,9 @@
7
7
  "mobileModeTip": "移动模式(点击切换到桌面)",
8
8
  "desktopModeTip": "桌面模式(点击切换到移动)",
9
9
  "urlPlaceholder": "输入URL",
10
- "emptyMessage": "输入URL以打开网页"
10
+ "emptyMessage": "输入URL以打开网页",
11
+ "deviceTip": "选择设备",
12
+ "rotate": "旋转",
13
+ "zoomTip": "缩放",
14
+ "zoomFit": "适应"
11
15
  }
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "add": "添加工作区",
3
+ "editTitle": "编辑工作区",
4
+ "namePlaceholder": "输入工作区名称",
3
5
  "projectDirectory": "项目目录",
4
6
  "directoryPlaceholder": "输入目录路径",
5
7
  "validating": "验证中...",
@@ -5,5 +5,30 @@
5
5
  "refresh": "Refresh",
6
6
  "sideBySide": "Side by side",
7
7
  "lineByLine": "Line by line",
8
- "fileList": "Files"
8
+ "fileList": "Files",
9
+ "tabChanges": "Changes",
10
+ "tabHistory": "History",
11
+ "noCommits": "No commits",
12
+ "ahead": "Unpushed",
13
+ "back": "Back",
14
+ "commitNotFound": "Commit not found",
15
+ "sync": "Sync",
16
+ "syncing": "Syncing...",
17
+ "syncUpToDate": "Already up to date",
18
+ "syncSuccess": "Synced",
19
+ "syncErrorNoUpstream": "No upstream branch. Set it in terminal",
20
+ "syncErrorAuth": "Authentication failed. Check git credentials",
21
+ "syncErrorDiverged": "Branches diverged. Rebase or merge in terminal",
22
+ "syncErrorRejected": "Push rejected. Try syncing again",
23
+ "syncErrorLocalChanges": "Local changes would be overwritten. Commit or stash first",
24
+ "syncErrorTimeout": "Sync timed out",
25
+ "syncErrorGeneric": "Sync failed",
26
+ "askClaude": "Ask Claude",
27
+ "claudePromptDiverged": "Git sync failed. {branch} has diverged from {upstream}. Please rebase onto the latest origin and resolve any conflicts.",
28
+ "claudePromptRejected": "Git push was rejected. There appear to be new commits on {upstream}. Please pull to merge, then push again.",
29
+ "claudePromptAuth": "Git authentication failed. Please check the credential helper or SSH configuration and try again.",
30
+ "claudePromptNoUpstream": "The {branch} branch has no upstream. Please push to origin and set up the tracking branch.",
31
+ "claudePromptLocalChanges": "Git pull failed because local uncommitted changes would be overwritten by merge. Please stash or commit the changes, pull from {upstream}, and reapply the stash if you stashed.",
32
+ "claudePromptTimeout": "Git sync timed out. Please check the network connection and retry.",
33
+ "claudePromptGeneric": "Git sync failed. Please review the error below and resolve it."
9
34
  }
@@ -69,7 +69,9 @@
69
69
  },
70
70
  "claude": {
71
71
  "skipPermissions": "跳過權限檢查",
72
- "skipPermissionsDescription": "執行 Claude CLI 時加入 --dangerously-skip-permissions 選項。"
72
+ "skipPermissionsDescription": "執行 Claude CLI 時加入 --dangerously-skip-permissions 選項。",
73
+ "showTerminal": "在 Claude 中一同顯示終端機",
74
+ "showTerminalDescription": "在 Claude Code 旁顯示終端機區域。關閉時,新的 Claude 分頁將以收合的終端機開啟。"
73
75
  },
74
76
  "auth": {
75
77
  "changePassword": "變更密碼",
@@ -7,5 +7,14 @@
7
7
  "notes": "筆記",
8
8
  "stats": "使用統計",
9
9
  "collapseSidebar": "收合側邊欄",
10
- "expandSidebar": "展開側邊欄"
10
+ "expandSidebar": "展開側邊欄",
11
+ "newWorkspace": "新增工作區",
12
+ "newGroup": "新增群組",
13
+ "renameGroup": "重新命名群組",
14
+ "ungroup": "解除群組",
15
+ "moveToGroup": "移至群組",
16
+ "removeFromGroup": "從群組移除",
17
+ "ungrouped": "未分群",
18
+ "defaultGroupName": "新增群組",
19
+ "emptyGroup": "(空)"
11
20
  }
@@ -7,5 +7,9 @@
7
7
  "mobileModeTip": "行動裝置模式(點擊切換到桌面模式)",
8
8
  "desktopModeTip": "桌面模式(點擊切換到行動裝置模式)",
9
9
  "urlPlaceholder": "輸入 URL",
10
- "emptyMessage": "輸入 URL 以開啟網頁"
10
+ "emptyMessage": "輸入 URL 以開啟網頁",
11
+ "deviceTip": "選擇裝置",
12
+ "rotate": "旋轉",
13
+ "zoomTip": "縮放",
14
+ "zoomFit": "適應"
11
15
  }
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "add": "新增工作區",
3
+ "editTitle": "編輯工作區",
4
+ "namePlaceholder": "輸入工作區名稱",
3
5
  "projectDirectory": "專案目錄",
4
6
  "directoryPlaceholder": "輸入目錄路徑",
5
7
  "validating": "驗證中...",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "purplemux",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Manage multiple Claude Code sessions from your browser",
5
5
  "license": "MIT",
6
6
  "author": "subicura",
@@ -37,6 +37,8 @@
37
37
  "scripts": {
38
38
  "dev": "tsx watch server.ts",
39
39
  "build": "next build && node scripts/post-build.js && tsup",
40
+ "build:landing": "eleventy",
41
+ "dev:landing": "eleventy --serve",
40
42
  "build:server": "tsup",
41
43
  "build:electron:main": "tsup --config electron/tsup.config.ts",
42
44
  "build:electron": "next build && node scripts/post-build.js --electron && tsup && pnpm build:electron:main",
@@ -105,6 +107,7 @@
105
107
  "zustand": "^5.0.12"
106
108
  },
107
109
  "devDependencies": {
110
+ "@11ty/eleventy": "^3.1.5",
108
111
  "@electron/rebuild": "^4.0.3",
109
112
  "@tailwindcss/postcss": "^4",
110
113
  "@types/node": "^24.12.0",
@@ -133,7 +136,7 @@
133
136
  "hono": ">=4.12.14",
134
137
  "@hono/node-server": ">=1.19.13",
135
138
  "lodash": ">=4.18.0",
136
- "@xmldom/xmldom": "^0.8.12",
139
+ "@xmldom/xmldom": "^0.8.13",
137
140
  "picomatch@>=2.0.0 <3.0.0": ">=2.3.2",
138
141
  "picomatch@>=4.0.0 <5.0.0": ">=4.0.4"
139
142
  }
@@ -9,7 +9,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
9
9
  const hostname = process.env.HOSTNAME || '0.0.0.0'
10
10
 
11
11
  let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
12
- const nextConfig = {"env":{"NEXT_PUBLIC_COMMIT_HASH":"278437d"},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":false,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":{"locales":["en","ko","ja","zh-CN","es","de","fr","pt-BR","zh-TW","ru","tr"],"defaultLocale":"en","localeDetection":false},"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":true,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/runner/work/purplemux/purplemux","cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":false,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"partialFallbacks":false,"dynamicOnHover":false,"varyParams":false,"prefetchInlining":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","optimizePackageImports":["react-icons","lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":true,"configFileName":"next.config.ts","outputFileTracingExcludes":{"*":["./release/**","./CLAUDE.md","./AGENTS.md","./README*.md","./docs/**","./.specs/**","./.claude/**","./tests/**"]},"turbopack":{"root":"/home/runner/work/purplemux/purplemux"},"distDirRoot":".next"}
12
+ const nextConfig = {"env":{"NEXT_PUBLIC_COMMIT_HASH":"6bfad72"},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":false,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":{"locales":["en","ko","ja","zh-CN","es","de","fr","pt-BR","zh-TW","ru","tr"],"defaultLocale":"en","localeDetection":false},"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":true,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/runner/work/purplemux/purplemux","cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":false,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"partialFallbacks":false,"dynamicOnHover":false,"varyParams":false,"prefetchInlining":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","optimizePackageImports":["react-icons","lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":true,"configFileName":"next.config.ts","outputFileTracingExcludes":{"*":["./release/**","./CLAUDE.md","./AGENTS.md","./README*.md","./docs/**","./.specs/**","./.claude/**","./tests/**"]},"turbopack":{"root":"/home/runner/work/purplemux/purplemux"},"distDirRoot":".next"}
13
13
 
14
14
  process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
15
15
 
@@ -0,0 +1,94 @@
1
+ import type { NextApiRequest, NextApiResponse } from 'next';
2
+ import { execFile as execFileCb } from 'child_process';
3
+ import { promisify } from 'util';
4
+ import { getSessionCwd, hasSession } from '@/lib/tmux';
5
+ import { createLogger } from '@/lib/logger';
6
+
7
+ const execFile = promisify(execFileCb);
8
+ const log = createLogger('commit-diff');
9
+ const CMD_TIMEOUT = 10000;
10
+ const MAX_BUFFER = 10 * 1024 * 1024;
11
+
12
+ const FIELD = '\x1f';
13
+ const HASH_RE = /^[0-9a-f]{4,40}$/i;
14
+
15
+ interface ICommitMeta {
16
+ hash: string;
17
+ shortHash: string;
18
+ subject: string;
19
+ body: string;
20
+ author: string;
21
+ email: string;
22
+ timestamp: number;
23
+ parents: string[];
24
+ }
25
+
26
+ const handler = async (req: NextApiRequest, res: NextApiResponse) => {
27
+ if (req.method !== 'GET') {
28
+ res.setHeader('Allow', 'GET');
29
+ return res.status(405).json({ error: 'Method not allowed' });
30
+ }
31
+
32
+ const session = req.query.session as string | undefined;
33
+ const hash = req.query.hash as string | undefined;
34
+
35
+ if (!session || !hash) {
36
+ return res.status(400).json({ error: 'session and hash parameters required' });
37
+ }
38
+ if (!HASH_RE.test(hash)) {
39
+ return res.status(400).json({ error: 'Invalid hash format' });
40
+ }
41
+
42
+ const exists = await hasSession(session);
43
+ if (!exists) {
44
+ return res.status(404).json({ error: 'Session not found' });
45
+ }
46
+
47
+ const cwd = await getSessionCwd(session);
48
+ if (!cwd) {
49
+ return res.status(500).json({ error: 'Failed to get CWD' });
50
+ }
51
+
52
+ try {
53
+ const metaFormat = `%H${FIELD}%P${FIELD}%an${FIELD}%ae${FIELD}%at${FIELD}%s${FIELD}%b`;
54
+ const { stdout: metaOut } = await execFile(
55
+ 'git',
56
+ ['-C', cwd, 'log', '-1', `--format=${metaFormat}`, hash],
57
+ { timeout: CMD_TIMEOUT },
58
+ );
59
+
60
+ const parts = metaOut.replace(/\n$/, '').split(FIELD);
61
+ if (parts.length < 7) {
62
+ return res.status(404).json({ error: 'Commit not found' });
63
+ }
64
+ const [fullHash, parentsStr, author, email, ts, subject, ...bodyParts] = parts;
65
+ const parents = parentsStr.trim() ? parentsStr.trim().split(/\s+/) : [];
66
+
67
+ const meta: ICommitMeta = {
68
+ hash: fullHash,
69
+ shortHash: fullHash.slice(0, 7),
70
+ subject,
71
+ body: bodyParts.join(FIELD).trim(),
72
+ author,
73
+ email,
74
+ timestamp: parseInt(ts, 10) * 1000,
75
+ parents,
76
+ };
77
+
78
+ const diffArgs = parents.length === 0
79
+ ? ['-C', cwd, 'show', '--format=', fullHash]
80
+ : ['-C', cwd, 'diff', `${fullHash}^..${fullHash}`];
81
+
82
+ const { stdout: diff } = await execFile('git', diffArgs, {
83
+ timeout: CMD_TIMEOUT,
84
+ maxBuffer: MAX_BUFFER,
85
+ });
86
+
87
+ return res.status(200).json({ commit: meta, diff });
88
+ } catch (err) {
89
+ log.error(`commit-diff failed: ${err instanceof Error ? err.message : err}`);
90
+ return res.status(500).json({ error: 'Failed to get commit diff' });
91
+ }
92
+ };
93
+
94
+ export default handler;
@@ -0,0 +1,38 @@
1
+ import type { NextApiRequest, NextApiResponse } from 'next';
2
+ import { getSessionCwd, getLastCommand, hasSession } from '@/lib/tmux';
3
+ import { createLogger } from '@/lib/logger';
4
+
5
+ const log = createLogger('layout');
6
+
7
+ const handler = async (req: NextApiRequest, res: NextApiResponse) => {
8
+ if (req.method !== 'GET') {
9
+ res.setHeader('Allow', 'GET');
10
+ return res.status(405).json({ error: 'Method not allowed' });
11
+ }
12
+
13
+ const session = req.query.session as string | undefined;
14
+ if (!session) {
15
+ return res.status(400).json({ error: 'session parameter required' });
16
+ }
17
+
18
+ const exists = await hasSession(session);
19
+ if (!exists) {
20
+ return res.status(404).json({ error: 'Session not found' });
21
+ }
22
+
23
+ try {
24
+ const [cwd, lastCommand] = await Promise.all([
25
+ getSessionCwd(session),
26
+ getLastCommand(session),
27
+ ]);
28
+ if (!cwd) {
29
+ return res.status(500).json({ error: 'Failed to get CWD' });
30
+ }
31
+ return res.status(200).json({ cwd, lastCommand });
32
+ } catch (err) {
33
+ log.error(`cwd query failed: ${err instanceof Error ? err.message : err}`);
34
+ return res.status(500).json({ error: 'Failed to get CWD' });
35
+ }
36
+ };
37
+
38
+ export default handler;