purplemux 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (551) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +88 -88
  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 +51 -7
  6. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0t1c-6w._.js → [root-of-the-server]__016s4a9._.js} +2 -2
  7. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05ij_ys._.js +2 -2
  8. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0cjfc~l._.js → [root-of-the-server]__06h3gzy._.js} +2 -2
  9. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08tdlcm._.js +3 -0
  10. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0qda0wx._.js → [root-of-the-server]__0_fu3k.._.js} +1 -1
  11. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0pv48rv._.js → [root-of-the-server]__0_imm_0._.js} +1 -1
  12. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ef59mr._.js → [root-of-the-server]__0abp0lo._.js} +1 -1
  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]__0zjping._.js → [root-of-the-server]__0g8mjyh._.js} +1 -1
  19. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ihlt6s._.js +3 -0
  20. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__045g9-a._.js → [root-of-the-server]__0lk7ru8._.js} +1 -1
  21. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l~_wd0._.js +1 -1
  22. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__04o.cbq._.js → [root-of-the-server]__0m99ffd._.js} +2 -2
  23. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0hzysmw._.js → [root-of-the-server]__0q8lffz._.js} +1 -1
  24. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vjtjtc._.js +3 -0
  25. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0x_e0yw._.js +3 -0
  26. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0t7wqt6._.js → [root-of-the-server]__10h2vlr._.js} +2 -2
  27. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11iyaqz._.js +3 -0
  28. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__00yjayf._.js → [root-of-the-server]__121-6-e._.js} +2 -2
  29. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12ksl6n._.js +2 -2
  30. package/.next/standalone/.next/server/chunks/{_0out7wm._.js → _0-mgr1c._.js} +1 -1
  31. package/.next/standalone/.next/server/chunks/_0.5a4bu._.js +3 -0
  32. package/.next/standalone/.next/server/chunks/{_134uyu_._.js → _03-duro._.js} +1 -1
  33. package/.next/standalone/.next/server/chunks/_05-8rnc._.js +3 -0
  34. package/.next/standalone/.next/server/chunks/{_0ap4fy.._.js → _07097f~._.js} +1 -1
  35. package/.next/standalone/.next/server/chunks/{_0st-_d~._.js → _0jzxge9._.js} +1 -1
  36. package/.next/standalone/.next/server/chunks/{_0uo_gs5._.js → _0ll-5~7._.js} +1 -1
  37. package/.next/standalone/.next/server/chunks/_0mhomq~._.js +3 -0
  38. package/.next/standalone/.next/server/chunks/{_0.hbe-v._.js → _0pk0hms._.js} +1 -1
  39. package/.next/standalone/.next/server/chunks/_0qm27ix._.js +3 -0
  40. package/.next/standalone/.next/server/chunks/{_0su2osz._.js → _0v81st0._.js} +1 -1
  41. package/.next/standalone/.next/server/chunks/_0vgpyhz._.js +3 -0
  42. package/.next/standalone/.next/server/chunks/{_1368r9s._.js → _0w0qjyh._.js} +1 -1
  43. package/.next/standalone/.next/server/chunks/_0wok5xu._.js +3 -0
  44. package/.next/standalone/.next/server/chunks/{_0tumyht._.js → _0wu6uxd._.js} +1 -1
  45. package/.next/standalone/.next/server/chunks/{_04dq3gt._.js → _0z7d6.z._.js} +1 -1
  46. package/.next/standalone/.next/server/chunks/{_0c63jma._.js → _0zf5mig._.js} +1 -1
  47. package/.next/standalone/.next/server/chunks/{_0mnwbyo._.js → _0~~9-pj._.js} +1 -1
  48. package/.next/standalone/.next/server/chunks/{src_lib_0vs5asg._.js → src_lib_0p.xsqi._.js} +1 -1
  49. package/.next/standalone/.next/server/chunks/src_lib_layout-store_ts_0fanx7c._.js +1 -1
  50. package/.next/standalone/.next/server/chunks/src_lib_workspace-store_ts_0vqt073._.js +2 -2
  51. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0da5cj~._.js +3 -0
  52. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0hwcydd._.js → [root-of-the-server]__0grkevn._.js} +1 -1
  53. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t9ru13._.js +3 -0
  54. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12b2-y_._.js +3 -0
  55. package/.next/standalone/.next/server/chunks/ssr/_0-ug5tr._.js +3 -0
  56. package/.next/standalone/.next/server/chunks/ssr/{_00rrt71._.js → _016o9_-._.js} +1 -1
  57. package/.next/standalone/.next/server/chunks/ssr/{_0y5jzd3._.js → _020f2r.._.js} +1 -1
  58. package/.next/standalone/.next/server/chunks/ssr/{_0_c~3id._.js → _02jzd5g._.js} +2 -2
  59. package/.next/standalone/.next/server/chunks/ssr/_04iqb-o._.js +3 -0
  60. package/.next/standalone/.next/server/chunks/ssr/{_0sfctwm._.js → _04q3_kj._.js} +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/{_08h9ynz._.js → _058y~nz._.js} +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/{_0_soefg._.js → _0a_u5qm._.js} +2 -2
  63. package/.next/standalone/.next/server/chunks/ssr/{_00ehnd~._.js → _0c1yivm._.js} +2 -2
  64. package/.next/standalone/.next/server/chunks/ssr/{_0kno-5w._.js → _0d58w1~._.js} +2 -2
  65. package/.next/standalone/.next/server/chunks/ssr/{_0rxhzwm._.js → _0ftinmo._.js} +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/_0h4kenr._.js +1 -1
  67. package/.next/standalone/.next/server/chunks/ssr/_0nib_x8._.js +3 -0
  68. package/.next/standalone/.next/server/chunks/ssr/_0nuztht._.js +18 -0
  69. package/.next/standalone/.next/server/chunks/ssr/_0nvs1~o._.js +3 -0
  70. package/.next/standalone/.next/server/chunks/ssr/_0oca87b._.js +3 -0
  71. package/.next/standalone/.next/server/chunks/ssr/_0ovjjn5._.js +3 -0
  72. package/.next/standalone/.next/server/chunks/ssr/{_0lnui2f._.js → _0ozy~xe._.js} +2 -2
  73. package/.next/standalone/.next/server/chunks/ssr/_0pg-q18._.js +3 -0
  74. package/.next/standalone/.next/server/chunks/ssr/{_0svke5s._.js → _0pk4~_0._.js} +2 -2
  75. package/.next/standalone/.next/server/chunks/ssr/_0qt-m3l._.js +3 -0
  76. package/.next/standalone/.next/server/chunks/ssr/_0w.1ts8._.js +3 -0
  77. package/.next/standalone/.next/server/chunks/ssr/_0w1phzp._.js +3 -0
  78. package/.next/standalone/.next/server/chunks/ssr/_0w6jc9p._.js +3 -0
  79. package/.next/standalone/.next/server/chunks/ssr/_101yu0w._.js +18 -0
  80. package/.next/standalone/.next/server/chunks/ssr/_13c-b~p._.js +3 -0
  81. package/.next/standalone/.next/server/chunks/ssr/_13lrp9_._.js +3 -0
  82. package/.next/standalone/.next/server/chunks/ssr/{messages_046iw4z._.js → messages_02eoowy._.js} +1 -1
  83. package/.next/standalone/.next/server/chunks/ssr/{messages_0zr0cc7._.js → messages_0hmq5dp._.js} +1 -1
  84. package/.next/standalone/.next/server/chunks/ssr/messages_de_diff_json_[json]_cjs_0w6blyy._.js +1 -1
  85. package/.next/standalone/.next/server/chunks/ssr/messages_de_settings_json_[json]_cjs_0ksu4_w._.js +1 -1
  86. package/.next/standalone/.next/server/chunks/ssr/messages_de_sidebar_json_[json]_cjs_0loc-1-._.js +1 -1
  87. package/.next/standalone/.next/server/chunks/ssr/messages_de_workspace_json_[json]_cjs_0g7nkdq._.js +1 -1
  88. package/.next/standalone/.next/server/chunks/ssr/messages_en_diff_json_[json]_cjs_0z34_dc._.js +1 -1
  89. package/.next/standalone/.next/server/chunks/ssr/messages_en_settings_json_[json]_cjs_0qwl-zt._.js +1 -1
  90. package/.next/standalone/.next/server/chunks/ssr/messages_en_sidebar_json_[json]_cjs_0un0e3f._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/ssr/messages_en_workspace_json_[json]_cjs_0m9rzyy._.js +1 -1
  92. package/.next/standalone/.next/server/chunks/ssr/messages_es_diff_json_[json]_cjs_0kheix4._.js +1 -1
  93. package/.next/standalone/.next/server/chunks/ssr/messages_es_settings_json_[json]_cjs_0ce_kv6._.js +1 -1
  94. package/.next/standalone/.next/server/chunks/ssr/messages_es_sidebar_json_[json]_cjs_080u46~._.js +1 -1
  95. package/.next/standalone/.next/server/chunks/ssr/messages_es_workspace_json_[json]_cjs_0xf0_50._.js +1 -1
  96. package/.next/standalone/.next/server/chunks/ssr/messages_fr_diff_json_[json]_cjs_11vxoy5._.js +1 -1
  97. package/.next/standalone/.next/server/chunks/ssr/messages_fr_settings_json_[json]_cjs_0h_6lba._.js +1 -1
  98. package/.next/standalone/.next/server/chunks/ssr/messages_fr_sidebar_json_[json]_cjs_05y8v8h._.js +1 -1
  99. package/.next/standalone/.next/server/chunks/ssr/messages_fr_workspace_json_[json]_cjs_0h88f-g._.js +1 -1
  100. package/.next/standalone/.next/server/chunks/ssr/messages_ja_diff_json_[json]_cjs_0t~9dro._.js +1 -1
  101. package/.next/standalone/.next/server/chunks/ssr/messages_ja_settings_json_[json]_cjs_0pg~fls._.js +1 -1
  102. package/.next/standalone/.next/server/chunks/ssr/messages_ja_sidebar_json_[json]_cjs_0i0x8w9._.js +1 -1
  103. package/.next/standalone/.next/server/chunks/ssr/messages_ja_workspace_json_[json]_cjs_03dlzmi._.js +1 -1
  104. package/.next/standalone/.next/server/chunks/ssr/messages_ko_diff_json_[json]_cjs_0cw7xj1._.js +1 -1
  105. package/.next/standalone/.next/server/chunks/ssr/messages_ko_settings_json_[json]_cjs_07xpfc8._.js +1 -1
  106. package/.next/standalone/.next/server/chunks/ssr/messages_ko_sidebar_json_[json]_cjs_0mql5dv._.js +1 -1
  107. package/.next/standalone/.next/server/chunks/ssr/messages_ko_workspace_json_[json]_cjs_0frxg.r._.js +1 -1
  108. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_diff_json_[json]_cjs_0vc-p7n._.js +1 -1
  109. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_settings_json_[json]_cjs_0frspzp._.js +1 -1
  110. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_sidebar_json_[json]_cjs_07h4b1q._.js +1 -1
  111. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_workspace_json_[json]_cjs_0lahru2._.js +1 -1
  112. package/.next/standalone/.next/server/chunks/ssr/messages_ru_diff_json_[json]_cjs_07na~n8._.js +1 -1
  113. package/.next/standalone/.next/server/chunks/ssr/messages_ru_settings_json_[json]_cjs_08ex00.._.js +1 -1
  114. package/.next/standalone/.next/server/chunks/ssr/messages_ru_sidebar_json_[json]_cjs_0aksrjo._.js +1 -1
  115. package/.next/standalone/.next/server/chunks/ssr/messages_ru_workspace_json_[json]_cjs_0wm5nhc._.js +1 -1
  116. package/.next/standalone/.next/server/chunks/ssr/messages_tr_diff_json_[json]_cjs_0a00gr_._.js +1 -1
  117. package/.next/standalone/.next/server/chunks/ssr/messages_tr_settings_json_[json]_cjs_0piu0da._.js +1 -1
  118. package/.next/standalone/.next/server/chunks/ssr/messages_tr_sidebar_json_[json]_cjs_0yj47nu._.js +1 -1
  119. package/.next/standalone/.next/server/chunks/ssr/messages_tr_workspace_json_[json]_cjs_0wygfyf._.js +1 -1
  120. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_diff_json_[json]_cjs_0b01x_1._.js +1 -1
  121. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_settings_json_[json]_cjs_0uazwgy._.js +1 -1
  122. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_sidebar_json_[json]_cjs_0yzmolg._.js +1 -1
  123. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_workspace_json_[json]_cjs_0h3v0-e._.js +1 -1
  124. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_diff_json_[json]_cjs_088r89k._.js +1 -1
  125. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_settings_json_[json]_cjs_09u0c5l._.js +1 -1
  126. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_sidebar_json_[json]_cjs_0pnu~0h._.js +1 -1
  127. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_workspace_json_[json]_cjs_0ymw5wz._.js +1 -1
  128. package/.next/standalone/.next/server/chunks/ssr/node_modules_02oar3h._.js +3 -0
  129. package/.next/standalone/.next/server/chunks/ssr/node_modules_0_2gaq0._.js +1 -1
  130. package/.next/standalone/.next/server/chunks/ssr/node_modules_0bbmd88._.js +3 -0
  131. package/.next/standalone/.next/server/chunks/ssr/node_modules_0ydhwnx._.js +1 -1
  132. package/.next/standalone/.next/server/chunks/ssr/node_modules_1294wzs._.js +1 -1
  133. package/.next/standalone/.next/server/chunks/ssr/{src_components_0rs9yzr._.js → src_components_0_aiven._.js} +1 -1
  134. package/.next/standalone/.next/server/chunks/ssr/{src_components_0cflin8._.js → src_components_0geizrr._.js} +1 -1
  135. package/.next/standalone/.next/server/chunks/ssr/{src_components_0g.s~e7._.js → src_components_11_1i~k._.js} +1 -1
  136. package/.next/standalone/.next/server/chunks/ssr/{src_components_0jrj_vu._.js → src_components_12mrirb._.js} +1 -1
  137. package/.next/standalone/.next/server/chunks/ssr/src_components_features_mobile_mobile-terminal-page_tsx_02chzch._.js +1 -1
  138. package/.next/standalone/.next/server/chunks/ssr/src_components_features_workspace_terminal-page_tsx_0wuq-jl._.js +1 -1
  139. package/.next/standalone/.next/server/chunks/ssr/src_components_ui_input_tsx_0pgha5u._.js +3 -0
  140. package/.next/standalone/.next/server/chunks/ssr/src_hooks_use-browser-title_ts_0bw6.cb._.js +1 -1
  141. package/.next/standalone/.next/server/chunks/ssr/src_hooks_use-workspace-store_ts_0h40e5c._.js +1 -1
  142. package/.next/standalone/.next/server/chunks/ssr/src_lib_workspace-store_ts_00x-rec._.js +1 -1
  143. package/.next/standalone/.next/server/middleware-build-manifest.js +88 -88
  144. package/.next/standalone/.next/server/pages/_app/build-manifest.json +7 -6
  145. package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
  146. package/.next/standalone/.next/server/pages/_app.js +5 -5
  147. package/.next/standalone/.next/server/pages/_app.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/pages/_document.js +3 -3
  149. package/.next/standalone/.next/server/pages/_document.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/pages/_error.js +4 -4
  151. package/.next/standalone/.next/server/pages/_error.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js +2 -2
  153. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/result.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js +2 -2
  155. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/send.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js +2 -2
  157. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId]/status.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js +2 -2
  159. package/.next/standalone/.next/server/pages/api/cli/tabs/[tabId].js.nft.json +1 -1
  160. package/.next/standalone/.next/server/pages/api/cli/tabs.js +2 -2
  161. package/.next/standalone/.next/server/pages/api/cli/tabs.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/pages/api/cli/workspaces.js +1 -1
  163. package/.next/standalone/.next/server/pages/api/cli/workspaces.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/pages/api/git/sync/pages-manifest.json +3 -0
  165. package/.next/standalone/.next/server/pages/api/git/sync.js +5 -0
  166. package/.next/standalone/.next/server/pages/api/git/sync.js.map +5 -0
  167. package/.next/standalone/.next/server/pages/api/git/sync.js.nft.json +1 -0
  168. package/.next/standalone/.next/server/pages/api/layout/commit-diff/pages-manifest.json +3 -0
  169. package/.next/standalone/.next/server/pages/api/layout/commit-diff.js +5 -0
  170. package/.next/standalone/.next/server/pages/api/layout/commit-diff.js.map +5 -0
  171. package/.next/standalone/.next/server/pages/api/layout/commit-diff.js.nft.json +1 -0
  172. package/.next/standalone/.next/server/pages/api/layout/file-content/pages-manifest.json +3 -0
  173. package/.next/standalone/.next/server/pages/api/layout/file-content.js +5 -0
  174. package/.next/standalone/.next/server/pages/api/layout/file-content.js.map +5 -0
  175. package/.next/standalone/.next/server/pages/api/layout/file-content.js.nft.json +1 -0
  176. package/.next/standalone/.next/server/pages/api/layout/git-log/pages-manifest.json +3 -0
  177. package/.next/standalone/.next/server/pages/api/layout/git-log.js +5 -0
  178. package/.next/standalone/.next/server/pages/api/layout/git-log.js.map +5 -0
  179. package/.next/standalone/.next/server/pages/api/layout/git-log.js.nft.json +1 -0
  180. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js +2 -2
  181. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js +3 -3
  183. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.nft.json +1 -1
  184. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js +2 -2
  185. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +3 -3
  187. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js +2 -2
  189. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js.nft.json +1 -1
  190. package/.next/standalone/.next/server/pages/api/layout/pane.js +2 -2
  191. package/.next/standalone/.next/server/pages/api/layout/pane.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/pages/api/layout.js +2 -2
  193. package/.next/standalone/.next/server/pages/api/layout.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/pages/api/message-history.js +1 -1
  195. package/.next/standalone/.next/server/pages/api/message-history.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/pages/api/push/vapid-key.js +1 -1
  197. package/.next/standalone/.next/server/pages/api/push/vapid-key.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js +1 -1
  199. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js.nft.json +1 -1
  200. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js +1 -1
  201. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js +2 -2
  203. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/pages/api/stats/projects.js +2 -2
  205. package/.next/standalone/.next/server/pages/api/stats/projects.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/pages/api/stats/sessions.js +2 -2
  207. package/.next/standalone/.next/server/pages/api/stats/sessions.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/pages/api/stats/uptime.js +2 -2
  209. package/.next/standalone/.next/server/pages/api/stats/uptime.js.nft.json +1 -1
  210. package/.next/standalone/.next/server/pages/api/status/hook.js +3 -3
  211. package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -1
  212. package/.next/standalone/.next/server/pages/api/status/statusline.js +5 -5
  213. package/.next/standalone/.next/server/pages/api/status/statusline.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js +1 -1
  215. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js.nft.json +1 -1
  216. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +5 -5
  217. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.nft.json +1 -1
  218. package/.next/standalone/.next/server/pages/api/tmux/reset.js +3 -3
  219. package/.next/standalone/.next/server/pages/api/tmux/reset.js.nft.json +1 -1
  220. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js +2 -2
  221. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js.nft.json +1 -1
  222. package/.next/standalone/.next/server/pages/api/workspace/active.js +2 -2
  223. package/.next/standalone/.next/server/pages/api/workspace/active.js.nft.json +1 -1
  224. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId]/pages-manifest.json +3 -0
  225. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js +8 -0
  226. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js.map +5 -0
  227. package/.next/standalone/.next/server/pages/api/workspace/group/[groupId].js.nft.json +1 -0
  228. package/.next/standalone/.next/server/pages/api/workspace/group/pages-manifest.json +3 -0
  229. package/.next/standalone/.next/server/pages/api/workspace/group/reorder/pages-manifest.json +3 -0
  230. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js +8 -0
  231. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js.map +5 -0
  232. package/.next/standalone/.next/server/pages/api/workspace/group/reorder.js.nft.json +1 -0
  233. package/.next/standalone/.next/server/pages/api/workspace/group.js +8 -0
  234. package/.next/standalone/.next/server/pages/api/workspace/group.js.map +5 -0
  235. package/.next/standalone/.next/server/pages/api/workspace/group.js.nft.json +1 -0
  236. package/.next/standalone/.next/server/pages/api/workspace/reorder.js +2 -2
  237. package/.next/standalone/.next/server/pages/api/workspace/reorder.js.nft.json +1 -1
  238. package/.next/standalone/.next/server/pages/api/workspace/validate.js +2 -2
  239. package/.next/standalone/.next/server/pages/api/workspace/validate.js.nft.json +1 -1
  240. package/.next/standalone/.next/server/pages/api/workspace.js +4 -4
  241. package/.next/standalone/.next/server/pages/api/workspace.js.nft.json +1 -1
  242. package/.next/standalone/.next/server/pages/de/404.html +1 -1
  243. package/.next/standalone/.next/server/pages/de/500.html +1 -1
  244. package/.next/standalone/.next/server/pages/en/404.html +1 -1
  245. package/.next/standalone/.next/server/pages/en/500.html +1 -1
  246. package/.next/standalone/.next/server/pages/es/404.html +1 -1
  247. package/.next/standalone/.next/server/pages/es/500.html +1 -1
  248. package/.next/standalone/.next/server/pages/fr/404.html +1 -1
  249. package/.next/standalone/.next/server/pages/fr/500.html +1 -1
  250. package/.next/standalone/.next/server/pages/index/build-manifest.json +17 -17
  251. package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
  252. package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +4 -4
  253. package/.next/standalone/.next/server/pages/index.js +16 -16
  254. package/.next/standalone/.next/server/pages/index.js.nft.json +1 -1
  255. package/.next/standalone/.next/server/pages/ja/404.html +1 -1
  256. package/.next/standalone/.next/server/pages/ja/500.html +1 -1
  257. package/.next/standalone/.next/server/pages/ko/404.html +1 -1
  258. package/.next/standalone/.next/server/pages/ko/500.html +1 -1
  259. package/.next/standalone/.next/server/pages/login/build-manifest.json +9 -10
  260. package/.next/standalone/.next/server/pages/login/client-build-manifest.json +1 -1
  261. package/.next/standalone/.next/server/pages/login.js +10 -10
  262. package/.next/standalone/.next/server/pages/login.js.nft.json +1 -1
  263. package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
  264. package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
  265. package/.next/standalone/.next/server/pages/reports/build-manifest.json +17 -17
  266. package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
  267. package/.next/standalone/.next/server/pages/reports.js +16 -16
  268. package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -1
  269. package/.next/standalone/.next/server/pages/reset.js +5 -5
  270. package/.next/standalone/.next/server/pages/reset.js.nft.json +1 -1
  271. package/.next/standalone/.next/server/pages/ru/404.html +1 -1
  272. package/.next/standalone/.next/server/pages/ru/500.html +1 -1
  273. package/.next/standalone/.next/server/pages/stats/build-manifest.json +16 -16
  274. package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
  275. package/.next/standalone/.next/server/pages/stats.js +17 -17
  276. package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -1
  277. package/.next/standalone/.next/server/pages/tools-required/build-manifest.json +3 -3
  278. package/.next/standalone/.next/server/pages/tools-required/client-build-manifest.json +1 -1
  279. package/.next/standalone/.next/server/pages/tools-required.js +6 -6
  280. package/.next/standalone/.next/server/pages/tools-required.js.nft.json +1 -1
  281. package/.next/standalone/.next/server/pages/tr/404.html +1 -1
  282. package/.next/standalone/.next/server/pages/tr/500.html +1 -1
  283. package/.next/standalone/.next/server/pages/webview/build-manifest.json +16 -16
  284. package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
  285. package/.next/standalone/.next/server/pages/webview.js +18 -18
  286. package/.next/standalone/.next/server/pages/webview.js.nft.json +1 -1
  287. package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
  288. package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
  289. package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
  290. package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
  291. package/.next/standalone/.next/server/pages-manifest.json +7 -0
  292. package/.next/standalone/.next/static/{5mb_D_gy6E3wsT_BhuXDS → X7BRO7ORR4bKFt1LXzGU8}/_buildManifest.js +13 -6
  293. package/.next/standalone/.next/static/chunks/0-7en.d6a3jki.js +1 -0
  294. package/.next/standalone/.next/static/chunks/{0qr~rkd5sq-yp.js → 0-p.9vdmq-_co.js} +7 -6
  295. package/.next/standalone/.next/static/chunks/0-pm5wxsyxs3e.js +1 -0
  296. package/.next/standalone/.next/static/chunks/00ljvc.i_9p~6.js +1 -0
  297. package/.next/standalone/.next/static/chunks/01raz3nv-e~~d.js +1 -0
  298. package/.next/standalone/.next/static/chunks/01ul8lmr04ls3.js +1 -0
  299. package/.next/standalone/.next/static/chunks/024gkwka6p59k.js +1 -0
  300. package/.next/standalone/.next/static/chunks/{0.ecwkadp7-hq.js → 034_utxy1sujb.js} +1 -1
  301. package/.next/standalone/.next/static/chunks/038h8wl_~fi3u.js +1 -0
  302. package/.next/standalone/.next/static/chunks/038s7u_er9zkt.js +1 -0
  303. package/.next/standalone/.next/static/chunks/03ljx9csfmrpn.js +1 -0
  304. package/.next/standalone/.next/static/chunks/03sj62c3p8g11.js +1 -0
  305. package/.next/standalone/.next/static/chunks/{17l496oycdhjx.js → 03vck__37a5cl.js} +1 -1
  306. package/.next/standalone/.next/static/chunks/05b7zy0n0vhms.js +1 -0
  307. package/.next/standalone/.next/static/chunks/05kshd9vdrl4o.js +1 -0
  308. package/.next/standalone/.next/static/chunks/{0w_03xk_xkc5a.js → 05kyduw8swd_h.js} +1 -1
  309. package/.next/standalone/.next/static/chunks/05w~qu2zpvh2f.js +1 -0
  310. package/.next/standalone/.next/static/chunks/05zne4hn1v65k.js +24 -0
  311. package/.next/standalone/.next/static/chunks/06vobum5720oa.js +1 -0
  312. package/.next/standalone/.next/static/chunks/06vxx-4w.uvj0.js +23 -0
  313. package/.next/standalone/.next/static/chunks/{0fotmrplo6yc7.js → 07.5h~7~q9~1e.js} +1 -1
  314. package/.next/standalone/.next/static/chunks/071hdd91oy~.7.js +1 -0
  315. package/.next/standalone/.next/static/chunks/08e5.t4gotxaw.js +1 -0
  316. package/.next/standalone/.next/static/chunks/{0v6__.cfcitpl.js → 08qhrobub25u0.js} +1 -1
  317. package/.next/standalone/.next/static/chunks/08ttt2~ok56v6.js +1 -0
  318. package/.next/standalone/.next/static/chunks/{11wdicoufd516.js → 094_-.5.ue3p4.js} +1 -1
  319. package/.next/standalone/.next/static/chunks/09qd4fo1rz3it.js +1 -0
  320. package/.next/standalone/.next/static/chunks/09sf~1tyznv2b.js +1 -0
  321. package/.next/standalone/.next/static/chunks/09x4be2pfe6z0.js +1 -0
  322. package/.next/standalone/.next/static/chunks/0a7eicps6hbl6.js +1 -0
  323. package/.next/standalone/.next/static/chunks/{0i2uqmry6cyl_.js → 0c2_tqkbyti3h.js} +1 -1
  324. package/.next/standalone/.next/static/chunks/0di4o-khzv2gt.js +1 -0
  325. package/.next/standalone/.next/static/chunks/0e20ujygcf3hc.js +1 -0
  326. package/.next/standalone/.next/static/chunks/0e5t3kx~_brfk.js +1 -0
  327. package/.next/standalone/.next/static/chunks/0ebjicjua7yl-.js +1 -0
  328. package/.next/standalone/.next/static/chunks/0evu-825nnqef.js +1 -0
  329. package/.next/standalone/.next/static/chunks/0f.5lthmbt~yc.js +1 -0
  330. package/.next/standalone/.next/static/chunks/0gr4lznv-6qml.js +1 -0
  331. package/.next/standalone/.next/static/chunks/0hl3ccityypgx.js +1 -0
  332. package/.next/standalone/.next/static/chunks/0hzis~e79cnwi.js +1 -0
  333. package/.next/standalone/.next/static/chunks/0j.sfmmqj2xel.js +23 -0
  334. package/.next/standalone/.next/static/chunks/0jkvb4hgqlgxk.js +1 -0
  335. package/.next/standalone/.next/static/chunks/0k2_zze3o98ow.js +1 -0
  336. package/.next/standalone/.next/static/chunks/0kaufevqdhsld.js +1 -0
  337. package/.next/standalone/.next/static/chunks/0mvvym~9uf429.js +1 -0
  338. package/.next/standalone/.next/static/chunks/0n2k1al4sr_qq.css +1 -0
  339. package/.next/standalone/.next/static/chunks/0n4fv8.loh_0x.js +1 -0
  340. package/.next/standalone/.next/static/chunks/0nn618je7_7ec.js +16 -0
  341. package/.next/standalone/.next/static/chunks/{0pb15t~lqcp4y.js → 0oh5xnzizgxt1.js} +1 -1
  342. package/.next/standalone/.next/static/chunks/0po8l-8pns0vb.js +1 -0
  343. package/.next/standalone/.next/static/chunks/0pv9~yath4mjh.js +1 -0
  344. package/.next/standalone/.next/static/chunks/0q0yh17_ncipj.js +1 -0
  345. package/.next/standalone/.next/static/chunks/0q9nn4yuva4jl.js +1 -0
  346. package/.next/standalone/.next/static/chunks/0qkrdmhiv-0d3.js +1 -0
  347. package/.next/standalone/.next/static/chunks/{14xlpbx6dj_4i.js → 0r9z55-r31en8.js} +1 -1
  348. package/.next/standalone/.next/static/chunks/{0efkrks2gm27v.js → 0ra09kjja5rf..js} +1 -1
  349. package/.next/standalone/.next/static/chunks/0reai1zdu.khx.js +1 -0
  350. package/.next/standalone/.next/static/chunks/0sc7tkg1gojr..js +1 -0
  351. package/.next/standalone/.next/static/chunks/0szl_dovu0hgw.js +1 -0
  352. package/.next/standalone/.next/static/chunks/{0axhnd2vw3m5e.js → 0t-o-jwf0~-b5.js} +1 -1
  353. package/.next/standalone/.next/static/chunks/{0ml5~2ty-rbv_.js → 0t5w4x7owhfbe.js} +1 -1
  354. package/.next/standalone/.next/static/chunks/{02mfn213kze9c.js → 0te1jnz5.rt.r.js} +3 -3
  355. package/.next/standalone/.next/static/chunks/0uhkmh73bi.8w.js +1 -0
  356. package/.next/standalone/.next/static/chunks/0v6zafwjb5kk6.js +1 -0
  357. package/.next/standalone/.next/static/chunks/0vvqh.pfm9jum.js +1 -0
  358. package/.next/standalone/.next/static/chunks/0w6_q_4rzxy6l.js +1 -0
  359. package/.next/standalone/.next/static/chunks/0wjrfyntnywn5.js +1 -0
  360. package/.next/standalone/.next/static/chunks/0wvu-lowt9uem.js +1 -0
  361. package/.next/standalone/.next/static/chunks/0x.dxrfqc.ix9.js +16 -0
  362. package/.next/standalone/.next/static/chunks/0xvbx6ob2wnco.js +1 -0
  363. package/.next/standalone/.next/static/chunks/0yd3l8p2m9-c_.js +1 -0
  364. package/.next/standalone/.next/static/chunks/0ynitrrzdxcnh.js +15 -0
  365. package/.next/standalone/.next/static/chunks/{0se1ra8f1bor~.js → 0z_~g~mb.kjs1.js} +1 -1
  366. package/.next/standalone/.next/static/chunks/0~nexgc77r_hk.js +23 -0
  367. package/.next/standalone/.next/static/chunks/{0afll97o4hu39.js → 0~ts_4hi7.u_0.js} +1 -1
  368. package/.next/standalone/.next/static/chunks/105sb_yg7fcpu.js +1 -0
  369. package/.next/standalone/.next/static/chunks/{0a0wcelktujjt.js → 119t_hwpxj_ko.js} +1 -1
  370. package/.next/standalone/.next/static/chunks/{128d.rbx4e4rt.js → 121i8u8byuotx.js} +1 -1
  371. package/.next/standalone/.next/static/chunks/13_l03e3sab-g.js +1 -0
  372. package/.next/standalone/.next/static/chunks/13~.y-z7wud.h.js +1 -0
  373. package/.next/standalone/.next/static/chunks/140j4evqxtxmn.js +1 -0
  374. package/.next/standalone/.next/static/chunks/142km8a40ar5o.js +1 -0
  375. package/.next/standalone/.next/static/chunks/149sb_-h03mxq.js +1 -0
  376. package/.next/standalone/.next/static/chunks/156~ejmpjxu8e.js +1 -0
  377. package/.next/standalone/.next/static/chunks/169ui~u~dpalg.js +1 -0
  378. package/.next/standalone/.next/static/chunks/16bag6z7n~ffw.js +1 -0
  379. package/.next/standalone/.next/static/chunks/171_ek.xwzobw.js +1 -0
  380. package/.next/standalone/.next/static/chunks/179zldqdb4pm2.js +1 -0
  381. package/.next/standalone/.next/static/chunks/{turbopack-0hwi_g-tegs_u.js → turbopack-0d-xk62f1t05v.js} +1 -1
  382. package/.next/standalone/.next/static/chunks/{turbopack-11tk4snp~dxd4.js → turbopack-0nn9kx.dkgwqs.js} +1 -1
  383. package/.next/standalone/.next/static/chunks/turbopack-0rb3q18bhb2hu.js +1 -0
  384. package/.next/standalone/.next/static/chunks/turbopack-0zcblahe.hdqd.js +1 -0
  385. package/.next/standalone/.next/static/chunks/{turbopack-17.piokhhz77b.js → turbopack-0~wmco6ifn20m.js} +1 -1
  386. package/.next/standalone/.next/static/chunks/{turbopack-0sisjg~-koq5w.js → turbopack-1469mxaruw82d.js} +1 -1
  387. package/.next/standalone/.next/static/chunks/{turbopack-066o21-32lo7n.js → turbopack-15bv~a4hbvh29.js} +1 -1
  388. package/.next/standalone/messages/de/diff.json +26 -1
  389. package/.next/standalone/messages/de/settings.json +3 -1
  390. package/.next/standalone/messages/de/sidebar.json +10 -1
  391. package/.next/standalone/messages/de/workspace.json +2 -0
  392. package/.next/standalone/messages/en/diff.json +26 -1
  393. package/.next/standalone/messages/en/settings.json +3 -1
  394. package/.next/standalone/messages/en/sidebar.json +10 -1
  395. package/.next/standalone/messages/en/workspace.json +2 -0
  396. package/.next/standalone/messages/es/diff.json +26 -1
  397. package/.next/standalone/messages/es/settings.json +3 -1
  398. package/.next/standalone/messages/es/sidebar.json +10 -1
  399. package/.next/standalone/messages/es/workspace.json +2 -0
  400. package/.next/standalone/messages/fr/diff.json +26 -1
  401. package/.next/standalone/messages/fr/settings.json +3 -1
  402. package/.next/standalone/messages/fr/sidebar.json +10 -1
  403. package/.next/standalone/messages/fr/workspace.json +2 -0
  404. package/.next/standalone/messages/ja/diff.json +26 -1
  405. package/.next/standalone/messages/ja/settings.json +3 -1
  406. package/.next/standalone/messages/ja/sidebar.json +10 -1
  407. package/.next/standalone/messages/ja/workspace.json +2 -0
  408. package/.next/standalone/messages/ko/diff.json +26 -1
  409. package/.next/standalone/messages/ko/settings.json +3 -1
  410. package/.next/standalone/messages/ko/sidebar.json +10 -1
  411. package/.next/standalone/messages/ko/workspace.json +2 -0
  412. package/.next/standalone/messages/pt-BR/diff.json +26 -1
  413. package/.next/standalone/messages/pt-BR/settings.json +3 -1
  414. package/.next/standalone/messages/pt-BR/sidebar.json +10 -1
  415. package/.next/standalone/messages/pt-BR/workspace.json +2 -0
  416. package/.next/standalone/messages/ru/diff.json +26 -1
  417. package/.next/standalone/messages/ru/settings.json +3 -1
  418. package/.next/standalone/messages/ru/sidebar.json +10 -1
  419. package/.next/standalone/messages/ru/workspace.json +2 -0
  420. package/.next/standalone/messages/tr/diff.json +26 -1
  421. package/.next/standalone/messages/tr/settings.json +3 -1
  422. package/.next/standalone/messages/tr/sidebar.json +10 -1
  423. package/.next/standalone/messages/tr/workspace.json +2 -0
  424. package/.next/standalone/messages/zh-CN/diff.json +26 -1
  425. package/.next/standalone/messages/zh-CN/settings.json +3 -1
  426. package/.next/standalone/messages/zh-CN/sidebar.json +10 -1
  427. package/.next/standalone/messages/zh-CN/workspace.json +2 -0
  428. package/.next/standalone/messages/zh-TW/diff.json +26 -1
  429. package/.next/standalone/messages/zh-TW/settings.json +3 -1
  430. package/.next/standalone/messages/zh-TW/sidebar.json +10 -1
  431. package/.next/standalone/messages/zh-TW/workspace.json +2 -0
  432. package/.next/standalone/package.json +1 -1
  433. package/.next/standalone/server.js +1 -1
  434. package/.next/standalone/src/pages/api/layout/commit-diff.ts +94 -0
  435. package/.next/standalone/src/pages/api/layout/cwd.ts +38 -0
  436. package/.next/standalone/src/pages/api/layout/diff.ts +196 -0
  437. package/.next/standalone/src/pages/api/layout/file-content.ts +130 -0
  438. package/.next/standalone/src/pages/api/layout/git-log.ts +55 -0
  439. package/.next/standalone/src/pages/api/layout/index.ts +38 -0
  440. package/.next/standalone/src/pages/api/layout/pane/[paneId]/index.ts +38 -0
  441. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/[tabId]/index.ts +94 -0
  442. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.ts +31 -0
  443. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/index.ts +66 -0
  444. package/.next/standalone/src/pages/api/layout/pane/[paneId]/tabs/order.ts +30 -0
  445. package/.next/standalone/src/pages/api/layout/pane/index.ts +38 -0
  446. package/dist/server.js +59 -7
  447. package/package.json +1 -1
  448. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0n61.a8._.js +0 -30
  449. package/.next/standalone/.next/server/chunks/_04pfden._.js +0 -3
  450. package/.next/standalone/.next/server/chunks/_09vws3v._.js +0 -3
  451. package/.next/standalone/.next/server/chunks/_0e8e4zn._.js +0 -3
  452. package/.next/standalone/.next/server/chunks/_0isokfh._.js +0 -3
  453. package/.next/standalone/.next/server/chunks/_0j2u-od._.js +0 -3
  454. package/.next/standalone/.next/server/chunks/_0t8j4qd._.js +0 -3
  455. package/.next/standalone/.next/server/chunks/_0xd1ivw._.js +0 -3
  456. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0c0bz7t._.js +0 -3
  457. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0nkl4wz._.js +0 -3
  458. package/.next/standalone/.next/server/chunks/ssr/_0-67bvb._.js +0 -3
  459. package/.next/standalone/.next/server/chunks/ssr/_02nf4d7._.js +0 -3
  460. package/.next/standalone/.next/server/chunks/ssr/_05dcjwi._.js +0 -3
  461. package/.next/standalone/.next/server/chunks/ssr/_06yggfn._.js +0 -3
  462. package/.next/standalone/.next/server/chunks/ssr/_0al4.z9._.js +0 -3
  463. package/.next/standalone/.next/server/chunks/ssr/_0dg4_bi._.js +0 -3
  464. package/.next/standalone/.next/server/chunks/ssr/_0f8k39w._.js +0 -14
  465. package/.next/standalone/.next/server/chunks/ssr/_0gp1meg._.js +0 -3
  466. package/.next/standalone/.next/server/chunks/ssr/_0hqzsa8._.js +0 -3
  467. package/.next/standalone/.next/server/chunks/ssr/_0nkeoiw._.js +0 -3
  468. package/.next/standalone/.next/server/chunks/ssr/_0ob2rr-._.js +0 -3
  469. package/.next/standalone/.next/server/chunks/ssr/_0ulmx3c._.js +0 -3
  470. package/.next/standalone/.next/server/chunks/ssr/_0wlh.pc._.js +0 -3
  471. package/.next/standalone/.next/server/chunks/ssr/_0y31tie._.js +0 -14
  472. package/.next/standalone/.next/server/chunks/ssr/_0~.theb._.js +0 -3
  473. package/.next/standalone/.next/server/chunks/ssr/_11rnj4l._.js +0 -3
  474. package/.next/standalone/.next/server/chunks/ssr/_124p60s._.js +0 -3
  475. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_react_esm_03v8q-a._.js +0 -3
  476. package/.next/standalone/.next/server/chunks/ssr/node_modules_@base-ui_react_esm_0wddb~n._.js +0 -3
  477. package/.next/standalone/.next/server/chunks/ssr/src_lib_message-namespaces_ts_0wjpvu5._.js +0 -3
  478. package/.next/standalone/.next/static/chunks/0-8-cf3vuob~..js +0 -1
  479. package/.next/standalone/.next/static/chunks/0-97ruc25d2lz.js +0 -1
  480. package/.next/standalone/.next/static/chunks/0-ku865ak6iur.js +0 -1
  481. package/.next/standalone/.next/static/chunks/00g7isu_5s43..js +0 -1
  482. package/.next/standalone/.next/static/chunks/00nx1s6rpu537.js +0 -1
  483. package/.next/standalone/.next/static/chunks/00s-0sui~_24w.js +0 -1
  484. package/.next/standalone/.next/static/chunks/01-fb9rb-21.a.js +0 -1
  485. package/.next/standalone/.next/static/chunks/02dumv8n.ewiw.js +0 -1
  486. package/.next/standalone/.next/static/chunks/02r-a1_lz7fuk.js +0 -1
  487. package/.next/standalone/.next/static/chunks/03eaekq6omt65.js +0 -1
  488. package/.next/standalone/.next/static/chunks/04~p~.qz9diil.js +0 -1
  489. package/.next/standalone/.next/static/chunks/05_e09pgcymkh.js +0 -1
  490. package/.next/standalone/.next/static/chunks/05y90.zbqijkv.js +0 -1
  491. package/.next/standalone/.next/static/chunks/07-xm--o034du.js +0 -1
  492. package/.next/standalone/.next/static/chunks/072ccw0gkueqq.js +0 -1
  493. package/.next/standalone/.next/static/chunks/07i6~xrmgspp8.js +0 -1
  494. package/.next/standalone/.next/static/chunks/07rq~qv9ldwo~.js +0 -1
  495. package/.next/standalone/.next/static/chunks/08vvx8xtxwt5o.js +0 -1
  496. package/.next/standalone/.next/static/chunks/08zfbuugw_i52.js +0 -23
  497. package/.next/standalone/.next/static/chunks/09agwg~-xbxbs.js +0 -1
  498. package/.next/standalone/.next/static/chunks/0a1hi9y0lwv3j.js +0 -1
  499. package/.next/standalone/.next/static/chunks/0ajkjqq1xc_.a.js +0 -1
  500. package/.next/standalone/.next/static/chunks/0chjvj73yfmoj.js +0 -1
  501. package/.next/standalone/.next/static/chunks/0d4vi6-ju6lha.js +0 -1
  502. package/.next/standalone/.next/static/chunks/0daflfjkvkh-d.js +0 -1
  503. package/.next/standalone/.next/static/chunks/0dh2cf_c4gz65.js +0 -1
  504. package/.next/standalone/.next/static/chunks/0dqb3atw-kpb2.js +0 -1
  505. package/.next/standalone/.next/static/chunks/0fuay9akccsr9.js +0 -1
  506. package/.next/standalone/.next/static/chunks/0fwnzw~qq_abm.js +0 -1
  507. package/.next/standalone/.next/static/chunks/0gjtphww9wtey.js +0 -12
  508. package/.next/standalone/.next/static/chunks/0h-7ntqpip4oi.js +0 -1
  509. package/.next/standalone/.next/static/chunks/0idah_uu8ylro.js +0 -1
  510. package/.next/standalone/.next/static/chunks/0iw7xjsfo1v-u.js +0 -16
  511. package/.next/standalone/.next/static/chunks/0jj7ska-q4zmb.js +0 -1
  512. package/.next/standalone/.next/static/chunks/0k50-hp08.xtp.js +0 -1
  513. package/.next/standalone/.next/static/chunks/0n1xl_9xb64~a.js +0 -1
  514. package/.next/standalone/.next/static/chunks/0nh~2y4pr-6b-.js +0 -1
  515. package/.next/standalone/.next/static/chunks/0nyar-7g9rya6.js +0 -1
  516. package/.next/standalone/.next/static/chunks/0o_yi7-4-ckig.js +0 -1
  517. package/.next/standalone/.next/static/chunks/0om8~g_7-c-x5.js +0 -12
  518. package/.next/standalone/.next/static/chunks/0otoymu09sgml.js +0 -1
  519. package/.next/standalone/.next/static/chunks/0oxlivdn8c89b.js +0 -1
  520. package/.next/standalone/.next/static/chunks/0qwvk-uq944-d.js +0 -23
  521. package/.next/standalone/.next/static/chunks/0r7uk81oh650e.js +0 -1
  522. package/.next/standalone/.next/static/chunks/0r_ynb..7ongv.js +0 -23
  523. package/.next/standalone/.next/static/chunks/0ro78lxc~ndn_.js +0 -1
  524. package/.next/standalone/.next/static/chunks/0ryghnq7iy47v.js +0 -24
  525. package/.next/standalone/.next/static/chunks/0t_38o03_pjwq.js +0 -1
  526. package/.next/standalone/.next/static/chunks/0u9~wuf2zbs5z.js +0 -1
  527. package/.next/standalone/.next/static/chunks/0vmc7tq7ze-wk.js +0 -1
  528. package/.next/standalone/.next/static/chunks/0wlz6--vu7adu.js +0 -1
  529. package/.next/standalone/.next/static/chunks/0wp13r5su.j3e.js +0 -1
  530. package/.next/standalone/.next/static/chunks/0wx.aq674yk~q.js +0 -1
  531. package/.next/standalone/.next/static/chunks/0xas4ca5n6mzi.js +0 -1
  532. package/.next/standalone/.next/static/chunks/0xmalbon9eqvg.js +0 -1
  533. package/.next/standalone/.next/static/chunks/0y1_gk64rkp0g.js +0 -1
  534. package/.next/standalone/.next/static/chunks/0zz.9uk42mbks.js +0 -1
  535. package/.next/standalone/.next/static/chunks/0~nlz9.lltzrz.js +0 -1
  536. package/.next/standalone/.next/static/chunks/10bvbbw1062os.js +0 -1
  537. package/.next/standalone/.next/static/chunks/11gch78bg_qsn.js +0 -1
  538. package/.next/standalone/.next/static/chunks/11nk1lwom62oe.js +0 -1
  539. package/.next/standalone/.next/static/chunks/131tx--pi8.tm.js +0 -1
  540. package/.next/standalone/.next/static/chunks/132lgf3mld2ax.js +0 -1
  541. package/.next/standalone/.next/static/chunks/13nitezuv6q6x.js +0 -1
  542. package/.next/standalone/.next/static/chunks/13~7v30_nnqks.js +0 -1
  543. package/.next/standalone/.next/static/chunks/16dbi-ty-ptnr.js +0 -1
  544. package/.next/standalone/.next/static/chunks/17jcucuef_33-.js +0 -1
  545. package/.next/standalone/.next/static/chunks/184~yri~m3wao.css +0 -1
  546. package/.next/standalone/.next/static/chunks/186b1th1fl440.js +0 -1
  547. package/.next/standalone/.next/static/chunks/18d9u7jni2vco.js +0 -1
  548. package/.next/standalone/.next/static/chunks/turbopack-0abq2d._xmt7y.js +0 -1
  549. package/.next/standalone/.next/static/chunks/turbopack-0np.oib7-.1fp.js +0 -1
  550. /package/.next/standalone/.next/static/{5mb_D_gy6E3wsT_BhuXDS → X7BRO7ORR4bKFt1LXzGU8}/_clientMiddlewareManifest.js +0 -0
  551. /package/.next/standalone/.next/static/{5mb_D_gy6E3wsT_BhuXDS → X7BRO7ORR4bKFt1LXzGU8}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,432270,e=>{"use strict";var t=e.i(391398),s=e.i(191788),a=e.i(432237),n=e.i(398957),l=e.i(482192),r=e.i(972733),o=e.i(352819),i=e.i(199648),c=e.i(679935),u=e.i(939310),d=e.i(335288),f=e.i(806185),m=e.i(490034),x=e.i(453783),h=e.i(868462),p=e.i(570513),b=e.i(876208),g=e.i(714233),j=e.i(883590),C=e.i(57098);let y=({open:e,onOpenChange:a,sessionName:n})=>{let l=(0,o.useTranslations)("terminal"),[r,i]=(0,s.useState)(""),[d,f]=(0,s.useState)(!1),[m,x]=(0,s.useState)(null),[h,p]=(0,s.useState)(null),g=e&&n?n:null;g!==h&&(p(g),i(""),x(null),f(null!==g)),(0,s.useEffect)(()=>{if(!h)return;let e=!1;return fetch(`/api/tmux/capture?session=${encodeURIComponent(h)}`).then(e=>{if(!e.ok)throw Error("capture failed");return e.json()}).then(t=>{e||(i((t.content??"").replace(/\s+$/g,"")),f(!1))}).catch(()=>{e||(x(l("copyPaneCaptureFailed")),f(!1))}),()=>{e=!0}},[h,l]);let j=(0,s.useCallback)(async()=>{if(r)try{await navigator.clipboard.writeText(r),c.toast.success(l("copyPaneSuccess"),{duration:1500}),a(!1)}catch{c.toast.error(l("copyPaneCopyFailed"))}},[r,a,l]);return(0,t.jsx)(C.Drawer,{open:e,onOpenChange:a,children:(0,t.jsxs)(C.DrawerContent,{className:"h-[80dvh] data-[vaul-drawer-direction=bottom]:max-h-[80dvh]",children:[(0,t.jsxs)(C.DrawerHeader,{className:"pb-2",children:[(0,t.jsx)(C.DrawerTitle,{children:l("copyPaneDrawerTitle")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:l("copyPaneDrawerHint")})]}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 px-4 pb-4",children:[d?(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center py-8 text-sm text-muted-foreground",children:l("copyPaneLoading")}):m?(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center py-8 text-sm text-ui-red",children:m}):(0,t.jsx)("textarea",{value:r,onChange:e=>i(e.target.value),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",className:"min-h-0 flex-1 w-full resize-none rounded border border-border bg-muted/30 p-3 font-mono text-xs text-foreground outline-none focus:ring-1 focus:ring-ring"}),(0,t.jsxs)(u.Button,{onClick:j,disabled:d||!!m||!r,className:"w-full",children:[(0,t.jsx)(b.Copy,{className:"mr-2 h-4 w-4"}),l("copyPaneCopyAll")]})]})]})})};var S=e.i(399267),k=e.i(320183),w=e.i(353533),v=e.i(212283);let N=[{type:"terminal",label:"TERMINAL"},{type:"claude-code",label:"CLAUDE"},{type:"diff",label:"DIFF"}],T=({tabId:e,tabName:a,sessionName:n,panelType:l,onSwitchPanelType:i,onCreateTab:c,onClose:u})=>{let d=(0,o.useTranslations)("mobile"),f=(0,o.useTranslations)("common"),m=(0,o.useTranslations)("terminal"),[x,C]=(0,s.useState)(!1),T=(0,S.default)(t=>t.tabs[e]),P=T?.terminalStatus==="server"?"text-ui-green":T?.terminalStatus==="running"?"text-ui-blue":"text-muted-foreground/50";return(0,t.jsxs)("div",{className:"flex h-10 shrink-0 items-center border-b border-border/50 bg-background",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2 px-3",children:[(0,t.jsx)(j.default,{tabId:e,panelType:l}),"claude-code"===l?(0,t.jsx)(g.default,{size:16}):"diff"===l?(0,t.jsx)(p.GitCompareArrows,{className:"h-4 w-4 shrink-0 text-muted-foreground"}):(0,t.jsx)(k.default,{process:T?.currentProcess,className:(0,w.cn)("h-3.5 w-3.5 shrink-0",P)}),(0,t.jsx)("span",{className:"truncate text-xs text-foreground",children:a})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5 pr-0.5",children:[(0,t.jsx)("div",{className:"flex items-center gap-px",children:N.map(e=>(0,t.jsx)("button",{className:(0,w.cn)("rounded px-1.5 py-0.5 text-[10px] font-medium tracking-wide transition-colors",l===e.type?"bg-accent text-foreground":"text-muted-foreground/60 hover:text-muted-foreground"),onClick:()=>i(e.type),children:e.label},e.type))}),"terminal"===l&&!!n&&(0,t.jsx)("button",{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors",onClick:()=>C(!0),"aria-label":m("copyPaneLabel"),children:(0,t.jsx)(b.Copy,{size:16})}),(0,t.jsx)("button",{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors",onClick:c,"aria-label":d("newTab"),children:(0,t.jsx)(r.Plus,{size:16})}),(0,t.jsxs)(v.AlertDialog,{children:[(0,t.jsx)(v.AlertDialogTrigger,{className:"flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors","aria-label":d("closeTab"),children:(0,t.jsx)(h.X,{size:16})}),(0,t.jsxs)(v.AlertDialogContent,{children:[(0,t.jsxs)(v.AlertDialogHeader,{children:[(0,t.jsx)(v.AlertDialogTitle,{children:d("closeTab")}),(0,t.jsx)(v.AlertDialogDescription,{children:d("closeTabConfirm",{name:a})})]}),(0,t.jsxs)(v.AlertDialogFooter,{children:[(0,t.jsx)(v.AlertDialogCancel,{children:f("cancel")}),(0,t.jsx)(v.AlertDialogAction,{className:"bg-ui-red hover:bg-ui-red/80",onClick:u,children:f("close")})]})]})]})]}),(0,t.jsx)(y,{open:x,onOpenChange:C,sessionName:n})]})};var P=e.i(125687),R=e.i(40830),I=e.i(236495),D=e.i(244046),L=e.i(355327),E=e.i(756494),z=e.i(391046),A=e.i(918324),B=e.i(231382),M=e.i(377181),$=e.i(418760),W=e.i(815435),O=e.i(967086),F=e.i(541301),H=e.i(767708),U=e.i(650001),V=e.i(441693),_=e.i(17122),K=e.i(273062),q=e.i(87093),G=e.i(148141),J=e.i(624306),X=e.i(706140),Y=e.i(529511);let Z=({open:e,onOpenChange:s,meta:a,toolCount:n,toolBreakdown:l,branch:r,isBranchLoading:o,sessionId:i,gitStatus:c,tmuxInfo:u})=>(0,t.jsx)(Y.Sheet,{open:e,onOpenChange:s,children:(0,t.jsxs)(Y.SheetContent,{side:"bottom",showCloseButton:!1,className:"rounded-t-xl",children:[(0,t.jsx)("div",{className:"mx-auto mt-2 h-1.5 w-12 rounded-full bg-muted-foreground/20"}),(0,t.jsx)("div",{className:"px-4 pt-4 pb-6",children:(0,t.jsx)(X.MetaDetail,{title:a.title,sessionId:i,createdAt:a.createdAt,updatedAt:a.updatedAt,fileSize:a.fileSize,userCount:a.userCount,assistantCount:a.assistantCount,toolCount:n,toolBreakdown:l,inputTokens:a.inputTokens,outputTokens:a.outputTokens,totalCost:a.totalCost,currentContextTokens:a.currentContextTokens,contextWindowSize:a.contextWindowSize,usedPercentage:a.usedPercentage,model:a.model,branch:r,isBranchLoading:o,gitStatus:c,tmuxInfo:u})})]})});var Q=e.i(639530);let ee=({tabId:e,wsId:a,sessionName:n,claudeSessionId:l,cwd:r,sendStdin:u,terminalWsConnected:d,focusTerminal:f,focusInputRef:m,setInputValueRef:x,onCliStateChange:h,onInputVisibleChange:p,onRestartSession:b,onNewSession:g})=>{let j=(0,o.useTranslations)("terminal"),{prompts:C}=(0,Q.default)(),[y,k]=(0,s.useState)(null),[w,v]=(0,s.useState)(!1),N=(0,s.useRef)(void 0),T=(0,S.default)(t=>e?t.tabs[e]?.claudeProcess??null:null),P=(0,S.default)(t=>!e||(t.tabs[e]?.claudeInstalled??!0)),R=(0,S.default)(t=>e?t.tabs[e]?.cliState??"inactive":"inactive"),I=(0,S.default)(t=>e?t.tabs[e]?.compactingSince??null:null),D=(0,s.useCallback)(()=>{k(null)},[]),L=(0,s.useCallback)(e=>{k(null),c.toast.warning(j("resumeBlocked"),{description:e.processName?j("resumeBlockedProcess",{name:e.processName}):void 0})},[j]),E=(0,s.useCallback)(()=>{k(null),c.toast.error(j("resumeFailed"))},[j]),{entries:z,tasks:Y,sessionId:ee,jsonlPath:et,sessionSummary:es,initMeta:ea,sessionStats:en,claudeProcess:el,wsStatus:er,isLoading:eo,error:ei,loadMore:ec,hasMore:eu,retrySession:ed,sendResume:ef,addPendingUserMessage:em,removePendingUserMessage:ex}=(0,B.default)({sessionName:n,claudeSessionId:l,enabled:!!n,resumeCallbacks:{onResumeStarted:D,onResumeBlocked:L,onResumeError:E},onSync:e?t=>{let s=Date.now();null!==t.claudeProcess&&S.default.getState().setClaudeProcess(e,t.claudeProcess,s),t.claudeInstalled||S.default.getState().setClaudeInstalled(e,!1),S.default.getState().setTimelineLoading(e,t.isLoading)}:void 0,getCliState:e?()=>S.default.getState().tabs[e]?.cliState:void 0}),eh=e?T:el,{sessions:ep,hasMore:eb,isLoading:eg,isLoadingMore:ej,error:eC,refetch:ey,loadMore:eS}=(0,$.default)({tmuxSession:n,enabled:!!n&&!0!==eh,cwd:r}),ek=(0,s.useRef)(T);(0,s.useEffect)(()=>{let e=ek.current;ek.current=T,!0!==e&&!0===T&&!0!==el&&ed()},[T,el,ed]);let ew=(0,S.default)(t=>e?(0,S.selectSessionView)(t.tabs,e):"session-list"),{meta:ev}=(0,W.default)(z,es,ea,en),{branch:eN,isLoading:eT}=(0,O.default)(n),{status:eP}=(0,F.default)(n,w),eR=(0,H.default)(n,w),eI=(0,U.default)(et,w),eD=eI?{...ev,userCount:eI.userCount,assistantCount:eI.assistantCount}:ev,eL="timeline"===ew,eE=(0,M.default)("check"===ew,n);(0,s.useEffect)(()=>{h(R)},[R,h]),(0,s.useEffect)(()=>{p(eL)},[eL,p]);let ez=(0,s.useCallback)(()=>{N.current?.()},[]),eA=(0,s.useCallback)(e=>{x.current?.(e),m.current?.()},[x,m]),eB=(0,s.useCallback)(e=>{y||(k(e),ef(e,n))},[y,ef,n]);return P?null===T&&"check"!==ew?(0,t.jsx)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:(0,t.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"})}):"check"===ew?(0,t.jsxs)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:[(0,t.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"mt-2 text-sm text-muted-foreground",children:l||ee?j("resumingSession"):j("creatingConversation")}),eE&&(eE.isBypassPrompt&&eE.options.length>0?(0,t.jsx)(K.default,{sessionName:n,options:eE.options,fallback:(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:j("checkTerminal")})}):(0,t.jsx)("span",{className:"mt-3 text-xs text-muted-foreground",children:j("checkTerminal")}))]}):"session-list"===ew?eg&&0===ep.length?(0,t.jsx)("div",{className:"animate-delayed-fade-in flex min-h-0 flex-1 flex-col items-center justify-center bg-muted",children:(0,t.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"})}):0!==ep.length||eC?(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:(0,t.jsx)(V.default,{sessions:ep,isLoading:eg,isLoadingMore:ej,hasMore:eb,error:eC,resumingSessionId:y,onSelectSession:eB,onRefresh:ey,onLoadMore:eS,onNewSession:g})}):(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:(0,t.jsx)(_.default,{onNewSession:g})}):(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col bg-muted",children:[(0,t.jsxs)("div",{className:"flex shrink-0 cursor-pointer items-center justify-between border-b px-4 py-1.5 hover:bg-muted/30",role:"button",tabIndex:0,onClick:()=>v(!0),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),v(!0))},children:[(0,t.jsx)(X.MetaCompact,{title:ev.title,totalCost:ev.totalCost,branch:eN,usedPercentage:ev.usedPercentage,currentContextTokens:ev.currentContextTokens,contextWindowSize:ev.contextWindowSize}),(0,t.jsx)(A.ChevronDown,{size:14,className:"shrink-0 text-muted-foreground"})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1",children:(0,t.jsx)(q.default,{entries:z,tasks:Y,sessionId:ee,sessionName:n,tabId:e,initMeta:ea,sessionStats:en,cliState:R,compactingSince:I,wsStatus:er,isLoading:eo,error:ei,onRetry:ed,onLoadMore:ec,hasMore:eu,scrollToBottomRef:N})}),(0,t.jsxs)("div",{className:"shrink-0 pb-3",children:[(0,t.jsx)(G.default,{tabId:e,wsId:a,sessionName:n,claudeSessionId:l,cliState:R,sendStdin:u,terminalWsConnected:d,visible:eL,focusTerminal:f,focusInputRef:m,setInputValueRef:x,maxRows:3,onRestartSession:b,onSend:ez,onOptimisticSend:em,onAddPendingMessage:em,onRemovePendingMessage:ex}),(0,t.jsx)(J.default,{prompts:C,visible:eL,onSelect:eA})]}),(0,t.jsx)(Z,{open:w,onOpenChange:v,meta:eD,toolCount:eI?.toolCount??null,toolBreakdown:eI?.toolBreakdown??null,branch:eN,isBranchLoading:eT,sessionId:ee,gitStatus:eP,tmuxInfo:eR})]}):(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col items-center justify-center gap-3 bg-muted text-muted-foreground",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:j("installClaude")}),(0,t.jsx)("span",{className:"text-xs",children:j("installClaudeHint")})]})};var et=e.i(166229);let es="__CTRL__",ea="__SHIFT__",en={fontFamily:"MesloLGLDZ, monospace"},el=[{label:"Tab",value:" "},{label:"Esc",value:"\x1b"},{label:"Ctrl",value:es},{label:"Shift",value:ea},{label:"󱞥",value:"\r",nerd:!0},{label:"󰁝",value:"\x1b[A",nerd:!0},{label:"󰁅",value:"\x1b[B",nerd:!0},{label:"󰁍",value:"\x1b[D",nerd:!0},{label:"󰁔",value:"\x1b[C",nerd:!0},{label:"󰍴",value:"|",nerd:!0,rotate:!0},{label:"󰜥",value:"~",nerd:!0}],er=({sendStdin:e,terminalConnected:a})=>{let n=(0,o.useTranslations)("mobile"),[l,r]=(0,s.useState)(""),[i,c]=(0,s.useState)(!1),[d,f]=(0,s.useState)(!1),m=(0,s.useRef)(null),x=(0,s.useCallback)(()=>{let e=m.current;e&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,76)}px`)},[]);(0,s.useEffect)(()=>{x()},[l,x]);let h=(0,s.useCallback)(()=>{a&&(l&&e(l),e("\r"),r(""))},[l,e,a]),p=(0,s.useCallback)(t=>{let s=t.target.value;if(i&&s.length===l.length+1){let t=s[s.length-1].toLowerCase().charCodeAt(0);if(t>=97&&t<=122){e(String.fromCharCode(t-96)),c(!1);return}}if(d&&s.length===l.length+1){let e=s[s.length-1],t=e.toUpperCase();if(t!==e){r(l+t),f(!1);return}}r(s)},[i,d,l,e]),b=(0,s.useCallback)(t=>{t.value===es?c(e=>!e):t.value===ea?f(e=>!e):(e(t.value),i&&c(!1),d&&f(!1))},[i,d,e]);return(0,t.jsxs)("div",{className:"shrink-0 border-t border-border bg-background",children:[(0,t.jsxs)("div",{className:"flex items-end gap-2 px-3 py-2",children:[(0,t.jsx)("textarea",{ref:m,value:l,onChange:p,placeholder:i?"Ctrl + ...":d?"Shift + ...":n("commandPlaceholder"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,rows:1,className:(0,w.cn)("flex-1 resize-none rounded-md border px-3 py-1.5 text-sm text-foreground outline-none placeholder:text-muted-foreground",i||d?"border-claude-active bg-claude-active/10":"border-border bg-black/5 focus:border-ring dark:bg-white/5"),style:{lineHeight:"20px",maxHeight:"76px",overflowY:"auto"}}),(0,t.jsx)(u.Button,{variant:"ghost",size:"sm",className:(0,w.cn)("h-8 w-8 shrink-0 p-0 text-muted-foreground hover:text-foreground",l.trim()&&"text-claude-active"),onClick:h,"aria-label":n("send"),children:(0,t.jsx)(et.SendHorizontal,{size:16})})]}),(0,t.jsx)("div",{className:"flex items-center gap-1 overflow-x-auto px-3 pb-2",style:{scrollbarWidth:"none",WebkitOverflowScrolling:"touch"},children:el.map(e=>(0,t.jsx)("button",{className:(0,w.cn)("shrink-0 rounded-md border px-2.5 py-1 text-xs font-medium transition-colors",e.value===es&&i||e.value===ea&&d?"border-claude-active bg-claude-active/20 text-claude-active":"border-border bg-muted/50 text-muted-foreground active:bg-muted"),onClick:()=>b(e),children:(0,t.jsx)("span",{className:(0,w.cn)("inline-block",e.rotate&&"rotate-90"),style:e.nerd?en:void 0,children:e.label})},e.label))})]})};var eo=e.i(251748),ei=e.i(610782),ec=e.i(117369),eu=e.i(31050);let ed={write:()=>{},reset:()=>{},fit:()=>({cols:40,rows:24}),focus:()=>{}},ef={sendStdin:()=>{},sendResize:()=>{}},em=({paneId:e,tabs:a,activeTabId:n,panelType:l,onCreateTab:c,onDeleteTab:f,onSwitchTab:m,onRemoveTabLocally:h,onCliStateChange:p,onOpenNewTabDialog:b})=>{let g=(0,o.useTranslations)("mobile"),j=(0,o.useTranslations)("terminal"),C=a.find(e=>e.id===n),y="claude-code"===l,k="web-browser"===l,v="diff"===l,N=(0,x.default)(e=>n?e.metadata[n]?.cwd:void 0),T=(0,d.useLayoutStore)(e=>e.workspaceId),{theme:A}=(0,ec.default)(),[B,M]=(0,s.useState)(!1),[$,W]=(0,s.useState)(!1),[O,F]=(0,s.useState)(!0),H=(0,s.useRef)(ed),U=(0,s.useRef)(ef),V=(0,s.useRef)(null),_=(0,s.useRef)(null),K=(0,s.useRef)(null),[q,G]=(0,s.useState)(null),J=(0,s.useRef)(null),X=(0,s.useRef)(!1),Y=(0,s.useRef)(a),Z=(0,s.useRef)(n);(0,s.useEffect)(()=>{Y.current=a,Z.current=n});let Q=(0,s.useCallback)(async()=>{let e=Z.current,t=e?Y.current.find(t=>t.id===e):null;if(t)try{let e=await fetch(`/api/layout/cwd?session=${t.sessionName}`);if(!e.ok)return;let{cwd:s}=await e.json();s&&x.default.getState().setCwd(t.id,s)}catch{}},[]),et=(0,s.useRef)(()=>{}),es=(0,s.useRef)(void 0),ea=(0,s.useRef)(void 0),en=(0,s.useRef)(null),el=(0,s.useRef)(""),em=(0,S.default)(e=>n?e.tabs[n]?.claudeProcess??null:null),ex=(0,S.default)(e=>n?(0,S.selectSessionView)(e.tabs,n):null),eh=(0,s.useCallback)(e=>{p?.(e)},[p]),ep=(0,s.useCallback)(e=>{},[]),eb=(0,s.useCallback)(e=>(0,ei.isAppShortcut)(e)?(e.preventDefault(),(0,ei.isClearShortcut)(e)&&et.current(),(0,ei.isFocusInputShortcut)(e)&&es.current?.(),!1):!(0,ei.isShiftEnter)(e)||(e.preventDefault(),U.current.sendStdin("\n"),!1),[]),{terminalRef:eg,write:ej,clear:eC,reset:ey,fit:eS,focus:ek,isReady:ew}=(0,D.default)({theme:A.colors,fontSize:y?void 0:11,onInput:e=>U.current.sendStdin(e),onResize:(e,t)=>{U.current.sendResize(e,t),X.current&&(J.current&&clearTimeout(J.current),J.current=setTimeout(()=>{X.current=!1,F(!0)},200))},onTitleChange:e=>{let t=Z.current;if(!t||e===el.current)return;el.current=e;let s=(0,eo.formatTabTitle)(e);if(x.default.getState().setTitle(t,s),(0,eo.isShellProcess)(e)&&en.current){let e=en.current;en.current=null,U.current.sendStdin(`${e}\r`)}let a=Y.current.find(e=>e.id===t);if(a){let e=S.default.getState().tabs[t]?.claudeProcessCheckedAt??0;fetch(`/api/check-claude?session=${a.sessionName}`).then(e=>e.json()).then(({running:s,checkedAt:n})=>{let l=S.default.getState().tabs[t];if(l&&l.claudeProcessCheckedAt!==e){l.claudeProcess!==s&&setTimeout(()=>{fetch(`/api/check-claude?session=${a.sessionName}`).then(e=>e.json()).then(({running:e,checkedAt:s})=>{S.default.getState().setClaudeProcess(t,e,s)}).catch(()=>{})},500);return}S.default.getState().setClaudeProcess(t,s,n)}).catch(()=>{})}Q()},customKeyEventHandler:eb});(0,s.useEffect)(()=>{et.current=eC});let ev=(0,s.useCallback)(async()=>{if(K.current)return;let t=Y.current,s=Z.current;if(!s)return;K.current=s;let a=[...t].sort((e,t)=>e.order-t.order),n=a.findIndex(e=>e.id===s),l=a[n+1]||a[n-1];l&&m(e,l.id);try{await f(e,s)}finally{K.current=null}},[e,m,f]),{status:eN,retryCount:eT,disconnectReason:eP,connect:eR,reconnect:eI,sendStdin:eD,sendWebStdin:eL,sendResize:eE}=(0,L.default)({onData:e=>H.current.write(e),onConnected:()=>{M(!0),G(Z.current),_.current=Z.current;let e=Z.current;e&&S.default.getState().setTerminalConnected(e,!0);let{cols:t,rows:s}=H.current.fit();U.current.sendResize(t,s),Q()},onSessionEnded:ev});(0,s.useEffect)(()=>{H.current={write:ej,reset:ey,fit:eS,focus:ek},U.current={sendStdin:eD,sendResize:eE}}),(0,s.useEffect)(()=>{ew||(V.current=null)},[ew]),(0,s.useEffect)(()=>{if(!ew||!n)return;let e=a.find(e=>e.id===n);if(e){if("web-browser"===e.panelType){V.current=null,el.current="";return}V.current!==e.sessionName&&(null!==V.current&&ey(),S.default.getState().initTab(n,{terminalConnected:!1,panelType:e.panelType}),V.current=e.sessionName,eR(e.sessionName))}},[ew,n]),(0,s.useEffect)(()=>{let e=Z.current;e&&S.default.getState().setTerminalConnected(e,"connected"===eN)},[eN]),(0,s.useEffect)(()=>{"disconnected"===eN&&B&&G(Z.current)},[eN,B]),(0,s.useEffect)(()=>{"disconnected"===eN&&B&&_.current&&_.current!==n&&a.some(e=>e.id===_.current)&&(V.current=null,m(e,_.current))},[eN]),(0,s.useEffect)(()=>{if(!ew||"connected"!==eN)return;let e=setTimeout(()=>{let{cols:e,rows:t}=eS();U.current.sendResize(e,t)},300);return()=>clearTimeout(e)},[eN]),(0,s.useEffect)(()=>{if(y){X.current=!1,J.current&&clearTimeout(J.current),Q();return}if(ew&&"connected"===eN)return X.current=!0,queueMicrotask(()=>F(!1)),J.current=setTimeout(()=>{X.current=!1,F(!0)},200),()=>{J.current&&clearTimeout(J.current),X.current=!1};queueMicrotask(()=>F(!0))},[y]);let ez=(0,s.useCallback)(async()=>{W(!0),await c(e),W(!1)},[e,c]),eA=(0,s.useCallback)(()=>{let e=eu.default.getState().dangerouslySkipPermissions,t=["--settings ~/.purplemux/hooks.json",T?`--append-system-prompt-file ~/.purplemux/workspaces/${T}/claude-prompt.md`:""].filter(Boolean).join(" "),s=`claude ${t}`;return e?`${s} --dangerously-skip-permissions`:s},[T]),eB=(0,s.useCallback)(()=>{"connected"===eN&&n&&(S.default.getState().setSessionView(n,"check"),eD(`${eA()}\r`))},[eN,eD,n,eA]),eM=(0,s.useCallback)(()=>{"connected"===eN&&n&&(en.current=eA(),S.default.getState().setSessionView(n,"check"),eD("/exit\r"))},[eN,eD,n,eA]);(0,s.useEffect)(()=>{if(!en.current||!0===em||"connected"!==eN||!(0,eo.isShellProcess)(el.current))return;let e=en.current;en.current=null,eD(`${e}\r`)},[em,eN,eD]);let e$=(0,s.useCallback)(t=>{n&&T&&fetch(`/api/layout/pane/${e}/tabs/${n}?workspace=${T}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({webUrl:t})}).catch(()=>{})},[n,e,T]),eW=0===a.length,eO=k||v||ew&&"connected"===eN&&!eW,eF=null!==n&&q!==n,eH=(0,s.useRef)(new Set);return(0,s.useEffect)(()=>{"disconnected"!==eN||"session-not-found"!==eP||eF||!n||!C||"terminal"!==(C.panelType??"terminal")||C.lastCommand||eH.current.has(n)||(eH.current.add(n),(async()=>{await d.useLayoutStore.getState().restartTabInPane(e,n)&&eI()})())},[eN,eP,n,C,eF,e,eI]),(0,t.jsxs)("div",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden",style:{backgroundColor:A.colors.background,overscrollBehavior:"none"},children:[k&&n&&(0,t.jsx)(R.default,{initialUrl:C?.webUrl,onUrlChange:e$},n),v&&C&&(0,t.jsx)(I.default,{sessionName:C.sessionName},C.sessionName),y&&C&&(0,t.jsx)(ee,{tabId:n??void 0,wsId:T??void 0,sessionName:C.sessionName,claudeSessionId:C.claudeSessionId,cwd:N,sendStdin:eL,terminalWsConnected:"connected"===eN,focusTerminal:ek,focusInputRef:es,setInputValueRef:ea,onCliStateChange:eh,onInputVisibleChange:ep,onRestartSession:eM,onNewSession:eB}),!k&&!v&&(0,t.jsx)(E.default,{ref:eg,className:(0,w.cn)(!y&&"transition-opacity duration-150",y?"absolute inset-0 pointer-events-none opacity-0":"min-h-0 flex-1",!y&&eO&&O?"opacity-100":"",y||eO&&O?"":"opacity-0")}),!y&&!k&&!v&&"connected"===eN&&(0,t.jsx)(er,{sendStdin:eL,terminalConnected:"connected"===eN}),eW&&(0,t.jsx)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:(0,t.jsxs)(u.Button,{className:"gap-1.5",onClick:b??ez,disabled:$,children:[$?(0,t.jsx)(i.default,{className:"h-3 w-3"}):(0,t.jsx)(r.Plus,{className:"h-3.5 w-3.5"}),j("openNewTab")]})}),!eW&&!k&&"disconnected"===eN&&!eF&&(0,t.jsxs)("div",{className:"absolute inset-0 z-20 flex flex-col items-center justify-center gap-3",children:[(0,t.jsx)(P.WifiOff,{className:"h-5 w-5 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"max-connections"===eP?g("disconnectedMaxConnections"):"pty-error"===eP?g("disconnectedPtyError"):"session-not-found"===eP?j("disconnectedSessionNotFound"):g("cannotConnectServer")}),"session-not-found"===eP&&n?(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(u.Button,{variant:"outline",size:"sm",onClick:async()=>{await d.useLayoutStore.getState().restartTabInPane(e,n)&&eI()},children:g("restart")}),(0,t.jsx)(u.Button,{variant:"ghost",size:"sm",onClick:()=>f(e,n),children:j("closeTabLabel")})]}):(0,t.jsx)(u.Button,{variant:"outline",size:"sm",onClick:eI,children:g("reconnect")})]}),!eW&&!k&&!v&&!(y&&"check"===ex)&&(0,t.jsx)(z.default,{status:eN,retryCount:eT,disconnectReason:eP,onReconnect:eI})]})};var ex=e.i(875284),eh=e.i(296202);let ep=({open:e,onOpenChange:a,onCreateTab:n})=>{let l=(0,o.useTranslations)("terminal"),r=(0,o.useTranslations)("mobile"),[c,u]=(0,s.useState)(null),d=[{key:"claude-new",type:"claude-code",icon:(0,t.jsx)(g.default,{className:"h-5 w-5"}),label:l("claudeNewConversation"),startClaude:!0},{key:"claude",type:"claude-code",icon:(0,t.jsx)(g.default,{className:"h-5 w-5"}),label:l("claudeSessionList")},{key:"terminal",type:"terminal",icon:(0,t.jsx)(ex.Terminal,{className:"h-5 w-5 text-muted-foreground"}),label:"Terminal"},{key:"diff",type:"diff",icon:(0,t.jsx)(p.GitCompareArrows,{className:"h-5 w-5 text-muted-foreground"}),label:"Diff"}],f=async e=>{u(e.key),"startClaude"in e&&e.startClaude?await n(e.type,{command:"claude-new"}):await n(e.type),u(null),a(!1)};return(0,t.jsx)(eh.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(eh.DialogContent,{className:"w-[calc(100%-2rem)] max-w-xs gap-2 rounded-xl p-4",children:[(0,t.jsx)(eh.DialogHeader,{children:(0,t.jsx)(eh.DialogTitle,{className:"text-sm font-medium",children:r("newTab")})}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-2",children:d.map(e=>(0,t.jsxs)("button",{className:"flex aspect-square flex-col items-center justify-center gap-2 rounded-lg border border-border bg-background text-foreground transition-colors active:bg-accent disabled:pointer-events-none disabled:opacity-50",disabled:null!==c,onClick:()=>f(e),children:[c===e.key?(0,t.jsx)(i.default,{className:"h-4 w-4"}):e.icon,(0,t.jsx)("span",{className:"text-xs",children:e.label})]},e.key))})]})})};var eb=e.i(982960),eg=e.i(157016),ej=e.i(566736);e.s(["default",0,()=>{let e=(0,o.useTranslations)("terminal"),h=(0,o.useTranslations)("mobile"),p=(0,o.useTranslations)("common"),b=(0,m.default)(e=>e.isLoading),g=(0,m.default)(e=>e.error),j=(0,m.default)(e=>e.activeWorkspaceId),C=(0,m.default)(e=>e.workspaces).length,y=(0,s.useRef)(null),k=(0,s.useCallback)(()=>{let t=y.current;t&&(m.default.getState().switchWorkspace(t),c.toast.error(e("cannotSwitch")))},[e]),w=(0,d.default)({workspaceId:j,onFetchError:k}),v=(0,s.useMemo)(()=>w.layout?(0,f.collectPanes)(w.layout.root):[],[w.layout]),N=!!(w.layout&&!w.isLoading&&v.every(e=>0===e.tabs.length)),P=w.layout?.updatedAt,R=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!w.layout||!P||R.current===P)return;R.current=P;let e={};for(let t of(0,f.collectPanes)(w.layout.root))for(let s of t.tabs)(s.title||s.cwd)&&(e[s.id]={title:s.title,cwd:s.cwd});x.default.getState().hydrate(e)},[P]),(0,s.useEffect)(()=>{if(!w.layout)return;let e=new Set((0,f.collectPanes)(w.layout.root).flatMap(e=>e.tabs.map(e=>e.id)));x.default.getState().retainOnly(e)},[w.layout]),(0,ej.useAutoDeleteEmptyWorkspace)(N,w.clearLayout);let I=w.layout?.activePaneId??null,D=(I?v.find(e=>e.id===I):null)??v[0]??null,L=D?.id??null,E=D?.activeTabId??null,z=D?.tabs.find(e=>e.id===E)??null,A=z?.panelType??"terminal",B=(0,s.useCallback)(e=>{let{activeWorkspaceId:t}=m.default.getState();e!==t&&(y.current=t,x.default.getState().reset(),w.clearLayout(),m.default.getState().switchWorkspace(e))},[w]);(0,s.useEffect)(()=>(eg.default.getState().register({onSelectWorkspace:B}),()=>eg.default.getState().unregister()),[B]);let[M,$]=(0,s.useState)(!1),[W,O]=(0,s.useState)("inactive"),F=(0,s.useCallback)(e=>{O(e)},[]);(0,s.useEffect)(()=>{E&&(0,eb.dismissTab)(E)},[E]),(0,s.useEffect)(()=>{E&&"claude-code"===A&&"inactive"!==W&&"idle"===W&&(0,eb.dismissTab)(E)},[E,W,A]);let H=(0,S.default)(e=>{if(!E)return!1;let t=e.tabs[E];return t?.cliState==="ready-for-review"||t?.cliState==="needs-input"});(0,s.useEffect)(()=>{H&&E&&(0,eb.dismissTab)(E)},[H,E]);let U=(0,x.default)(e=>E?e.metadata[E]:void 0),V=(0,s.useMemo)(()=>{if(!z)return"";if(z.name)return z.name;let e=U?.title||z.title,t=e?(0,eo.formatTabTitle)(e):"";return t||`Tab ${z.order+1}`},[z,U]),_=(0,s.useCallback)(e=>{D&&E&&w.updateTabPanelType(D.id,E,e)},[D,E,w]),K=(0,s.useCallback)(()=>{$(!0)},[]),q=(0,s.useCallback)(async(e,t)=>{let s;if(!D)return;if(t?.command==="claude-new"){let e=eu.default.getState().dangerouslySkipPermissions,t=["--settings ~/.purplemux/hooks.json",j?`--append-system-prompt-file ~/.purplemux/workspaces/${j}/claude-prompt.md`:""].filter(Boolean).join(" ");s=e?`claude ${t} --dangerously-skip-permissions`:`claude ${t}`}let a=await w.createTabInPane(D.id,e,s);a&&(S.default.getState().initTab(a.id,{panelType:e,workspaceId:j??""}),t?.command==="claude-new"&&S.default.getState().setSessionView(a.id,"check"))},[D,w,j]),G=(0,s.useCallback)(()=>{D&&E&&w.deleteTabInPane(D.id,E)},[D,E,w]);return b?(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center",children:[(0,t.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"mt-3 text-sm text-muted-foreground",children:e("connecting")})]}):g&&!C?(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3",children:[(0,t.jsx)(a.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:g}),(0,t.jsxs)(u.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:m.default.getState().fetchWorkspaces,children:[(0,t.jsx)(n.RefreshCw,{className:"h-3.5 w-3.5"}),p("retry")]})]}):j||b||g?!w.layout||w.isLoading?(0,t.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center",children:(0,t.jsx)(i.default,{className:"h-4 w-4 text-muted-foreground"})}):w.error&&!w.isLoading?(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3",children:[(0,t.jsx)(a.AlertTriangle,{className:"h-5 w-5 text-ui-amber"}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:w.error}),(0,t.jsxs)(u.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>w.fetchLayout(),children:[(0,t.jsx)(n.RefreshCw,{className:"h-3.5 w-3.5"}),p("retry")]})]}):(0,t.jsxs)(t.Fragment,{children:[D&&E&&(0,t.jsx)(T,{tabId:E,tabName:V,sessionName:z?.sessionName??null,panelType:A,onSwitchPanelType:_,onCreateTab:K,onClose:G},E),D&&E&&(0,t.jsx)(em,{paneId:D.id,tabs:D.tabs,activeTabId:E,panelType:A,onCreateTab:w.createTabInPane,onDeleteTab:w.deleteTabInPane,onSwitchTab:w.switchTabInPane,onRemoveTabLocally:w.removeTabLocally,onUpdateTabPanelType:w.updateTabPanelType,onCliStateChange:F,onOpenNewTabDialog:K},`${L}-${E}`),(0,t.jsx)(ep,{open:M,onOpenChange:$,onCreateTab:q})]}):(0,t.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 px-6 text-center",children:[(0,t.jsx)(l.Monitor,{className:"h-8 w-8 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-sm font-medium text-muted-foreground",children:h("noWorkspace")}),(0,t.jsxs)(u.Button,{variant:"outline",size:"sm",className:"gap-1.5",onClick:async()=>{let e=await m.default.getState().createWorkspace("");e&&m.default.getState().switchWorkspace(e.id)},children:[(0,t.jsx)(r.Plus,{className:"h-3.5 w-3.5"}),e("newWorkspace")]})]})}],432270)},938280,e=>{e.n(e.i(432270))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,176955,e=>{"use strict";var t=e.i(191788);e.s(["useControlled",0,function({controlled:e,default:r,name:a,state:i="value"}){let{current:l}=t.useRef(void 0!==e),[s,n]=t.useState(r),o=t.useCallback(e=>{l||n(e)},[]);return[l?e:s,o]}])},548067,963934,663735,935942,508430,630260,746076,96649,628e3,518655,709389,969445,e=>{"use strict";e.s([],548067),e.i(350461);var t,r=e.i(191788),a=e.i(25104),i=e.i(579907),l=e.i(562912);let s=((t={}).disabled="data-disabled",t.valid="data-valid",t.invalid="data-invalid",t.touched="data-touched",t.dirty="data-dirty",t.filled="data-filled",t.focused="data-focused",t),n={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},o={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},d={disabled:!1,...o},u={valid:e=>null===e?null:e?{[s.valid]:""}:{[s.invalid]:""}};e.s(["DEFAULT_FIELD_ROOT_STATE",0,d,"DEFAULT_FIELD_STATE_ATTRIBUTES",0,o,"DEFAULT_VALIDITY_STATE",0,n,"fieldValidityMapping",0,u],963934);let c=r.createContext({invalid:void 0,name:void 0,validityData:{state:n,errors:[],error:"",value:"",initialValue:null},setValidityData:l.NOOP,disabled:void 0,touched:o.touched,setTouched:l.NOOP,dirty:o.dirty,setDirty:l.NOOP,filled:o.filled,setFilled:l.NOOP,focused:o.focused,setFocused:l.NOOP,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:d,markedDirtyRef:{current:!1},registerFieldControl:l.NOOP,validation:{getValidationProps:(e=l.EMPTY_OBJECT)=>e,getInputValidationProps:(e=l.EMPTY_OBJECT)=>e,inputRef:{current:null},commit:async()=>{}}});function f(e=!0){let t=r.useContext(c);if(t.setValidityData===l.NOOP&&!e)throw Error((0,i.default)(28));return t}e.s(["FieldRootContext",0,c,"useFieldRootContext",0,f],663735);let p=r.createContext({legendId:void 0,setLegendId:()=>{},disabled:void 0});function v(e=!1){let t=r.useContext(p);if(!t&&!e)throw Error((0,i.default)(86));return t}e.s(["useFieldsetRootContext",0,v],935942);let b=r.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:l.NOOP,validationMode:"onSubmit",submitAttemptedRef:{current:!1}});function g(){return r.useContext(b)}e.s(["useFormContext",0,g],508430);var m=e.i(713579),h=e.i(977848),y=e.i(147652);let w=r.createContext({controlId:void 0,registerControlId:l.NOOP,labelId:void 0,setLabelId:l.NOOP,messageIds:[],setMessageIds:l.NOOP,getDescriptionProps:e=>e});function C(){return r.useContext(w)}e.s(["LabelableContext",0,w,"useLabelableContext",0,C],630260);var k=e.i(391398);let S=function(e){let t=(0,y.useBaseUiId)(),i=void 0===e.controlId?t:e.controlId,[l,s]=r.useState(i),[n,o]=r.useState(e.labelId),[d,u]=r.useState([]),c=(0,m.useRefWithInit)(()=>new Map),{messageIds:f}=C(),p=(0,a.useStableCallback)((e,t)=>{let r=c.current;void 0===t?r.delete(e):(r.set(e,t),s(e=>{let t;if(0!==r.size){for(let a of r.values()){if(void 0!==e&&a===e)return e;void 0===t&&(t=a)}return t}}))}),v=r.useCallback(e=>(0,h.mergeProps)({"aria-describedby":f.concat(d).join(" ")||void 0},e),[f,d]),b=r.useMemo(()=>({controlId:l,registerControlId:p,labelId:n,setLabelId:o,messageIds:d,setMessageIds:u,getDescriptionProps:v}),[l,p,n,o,d,u,v]);return(0,k.jsx)(w.Provider,{value:b,children:e.children})};e.s(["LabelableProvider",0,S],746076);var I=e.i(950438),E=e.i(242608);function R(e,t){return{...e,state:{...e.state,valid:!t&&e.state.valid}}}e.s(["getCombinedFieldValidityData",0,R],96649);let O=Object.keys(n);var T=e.i(730943),x=e.i(95349);let M=r.forwardRef(function(e,t){let{errors:i,validationMode:s,submitAttemptedRef:o}=g(),{render:d,className:f,validate:p,validationDebounceTime:b=0,validationMode:m=s,name:y,disabled:w=!1,invalid:S,dirty:M,touched:D,actionsRef:P,style:F,...L}=e,{disabled:V}=v(),j=(0,a.useStableCallback)(p||(()=>null)),W=V||w,[A,N]=r.useState(!1),[_,B]=r.useState(!1),[U,J]=r.useState(!1),[H,$]=r.useState(!1),Y=M??_,K=D??A,z=r.useRef(!1),q=(0,a.useStableCallback)(e=>{void 0===M&&(e&&(z.current=!0),B(e))}),G=(0,a.useStableCallback)(e=>{void 0===D&&N(e)}),Q=(0,a.useStableCallback)(()=>"onChange"===m||"onSubmit"===m&&o.current),X=!!y&&Object.hasOwn(i,y)&&void 0!==i[y],Z=!0===S||X,[ee,et]=r.useState({state:n,error:"",errors:[],value:null,initialValue:null}),er=!Z&&ee.state.valid,ea=r.useMemo(()=>({disabled:W,touched:K,dirty:Y,valid:er,filled:U,focused:H}),[W,K,Y,er,U,H]),ei=function(e){let{formRef:t,clearErrors:i}=g(),{setValidityData:s,validate:o,validityData:d,validationDebounceTime:u,invalid:c,markedDirtyRef:f,state:p,name:v,shouldValidateOnChange:b}=e,{controlId:m,getDescriptionProps:y}=C(),w=(0,E.useTimeout)(),k=r.useRef(null),S=(0,a.useStableCallback)(async(e,r=!1)=>{let a,i=k.current;if(!i)return;if(r){if(!1!==p.valid)return;let r=i.validity;if(!r.valueMissing){let r={value:e,state:{...n,valid:!0},error:"",errors:[],initialValue:d.initialValue};if(i.setCustomValidity(""),m){let e=t.current.fields.get(m);e&&t.current.fields.set(m,{...e,...R(r,!1)})}s(r);return}let a=O.reduce((e,t)=>(e[t]=r[t],e),{});if(!a.valid&&!function(e){if(!e||e.valid||!e.valueMissing)return!1;let t=!1;for(let r of O)"valid"!==r&&("valueMissing"===r&&(t=e[r]),e[r]&&(t=!1));return t}(a))return}w.clear();let l=null,u=[],v=function(e){let t=O.reduce((t,r)=>(t[r]=e.validity[r],t),{}),r=!1;for(let e of O)if("valid"!==e){if("valueMissing"===e&&t[e])r=!0;else if(t[e])return t}return r&&!f.current&&(t.valid=!0,t.valueMissing=!1),t}(i),g=b();if(i.validationMessage&&!g)a=i.validationMessage,u=[i.validationMessage];else{let r=o(e,Array.from(t.current.fields.values()).reduce((e,t)=>(t.name&&(e[t.name]=t.getValue()),e),{}));null!==(l="object"==typeof r&&null!==r&&"then"in r?await r:r)?(v.valid=!1,v.customError=!0,Array.isArray(l)?(u=l,i.setCustomValidity(l.join("\n"))):l&&(u=[l],i.setCustomValidity(l))):g&&(i.setCustomValidity(""),v.customError=!1,i.validationMessage?(a=i.validationMessage,u=[i.validationMessage]):i.validity.valid&&!v.valid&&(v.valid=!0))}let h={value:e,state:v,error:a??(Array.isArray(l)?l[0]:l??""),errors:u,initialValue:d.initialValue};if(m){let e=t.current.fields.get(m);e&&t.current.fields.set(m,{...e,...R(h,c)})}s(h)}),I=r.useCallback((e={})=>(0,h.mergeProps)(y,!1===p.valid?{"aria-invalid":!0}:l.EMPTY_OBJECT,e),[y,p.valid]),T=r.useCallback((e={})=>(0,h.mergeProps)({onChange(e){if(e.nativeEvent.defaultPrevented)return;if(i(v),!b())return void S(e.currentTarget.value,!0);let t=e.currentTarget;""===t.value?S(t.value):(w.clear(),u?w.start(u,()=>{S(t.value)}):S(t.value))}},I(e)),[I,i,v,w,S,u,b]);return r.useMemo(()=>({getValidationProps:I,getInputValidationProps:T,inputRef:k,commit:S}),[I,T,S])}({setValidityData:et,validate:j,validityData:ee,validationDebounceTime:b,invalid:Z,markedDirtyRef:z,state:ea,name:y,shouldValidateOnChange:Q}),el=r.useCallback(()=>{z.current=!0,ei.commit(ee.value)},[ei,ee]),es=function(e){let{commit:t,invalid:i,markedDirtyRef:l,name:s,setValidityData:n,validityData:o}=e,{formRef:d}=g(),u=r.useRef(null),c=r.useRef(null),f=r.useRef(null),p=(0,a.useStableCallback)(()=>{let e=c.current;if(e)return e.getValue?e.getValue():e.value}),v=(0,a.useStableCallback)((e=!0)=>{let r=c.current;if(!r)return;let a=r.value;void 0===a&&(a=p()),l.current=!0,e?T.flushSync(()=>t(a)):t(a)});function b(e=c.current?.id){e&&d.current.fields.delete(e)}return(0,x.useIsoLayoutEffect)(()=>{let e=c.current;e&&e.id&&d.current.fields.set(e.id,{getValue:p,name:s,controlRef:e.controlRef??f,validityData:R(o,i),validate:v})},[d,p,i,s,v,o]),(0,x.useIsoLayoutEffect)(()=>{let e=d.current.fields;return()=>{let t=c.current?.id;t&&e.delete(t)}},[d]),(0,a.useStableCallback)((e,t)=>{let r;if(!t){u.current===e&&(u.current=null,b(),c.current=null);return}let a=c.current?.id;u.current=e,c.current=t,a&&a!==t.id&&b(a),function(){let e=c.current;if(!e)return;let t=e.value;void 0===t&&(t=p()),null===o.initialValue&&null!==t&&n(e=>({...e,initialValue:t}))}(),(r=c.current)&&r.id&&d.current.fields.set(r.id,{getValue:p,name:s,controlRef:r.controlRef??f,validityData:R(o,i),validate:v})})}({commit:ei.commit,invalid:Z,markedDirtyRef:z,name:y,setValidityData:et,validityData:ee});r.useImperativeHandle(P,()=>({validate:el}),[el]);let en=r.useMemo(()=>({invalid:Z,name:y,validityData:ee,setValidityData:et,disabled:W,touched:K,setTouched:G,dirty:Y,setDirty:q,filled:U,setFilled:J,focused:H,setFocused:$,validate:j,validationMode:m,validationDebounceTime:b,shouldValidateOnChange:Q,state:ea,markedDirtyRef:z,registerFieldControl:es,validation:ei}),[Z,y,ee,W,K,G,Y,q,U,J,H,$,j,m,b,Q,ea,es,ei]),eo=(0,I.useRenderElement)("div",e,{ref:t,state:ea,props:L,stateAttributesMapping:u});return(0,k.jsx)(c.Provider,{value:en,children:eo})}),D=r.forwardRef(function(e,t){return(0,k.jsx)(S,{children:(0,k.jsx)(M,{...e,ref:t})})});e.s(["FieldRoot",0,D],628e3);var P=e.i(536394),F=e.i(232897),L=e.i(772610);let V=r.forwardRef(function(e,t){let{render:i,className:l,style:s,id:n,nativeLabel:o=!0,...d}=e,c=f(!1),{labelId:p}=C(),v=r.useRef(null),b=function(e={}){let t,{id:r,fallbackControlId:i,native:l=!1,setLabelId:s,focusControl:n}=e,{controlId:o,setLabelId:d}=C(),u=(0,a.useStableCallback)(e=>{d(e),s?.(e)}),c=(t=(0,y.useBaseUiId)(r),(0,x.useIsoLayoutEffect)(()=>(u(t),()=>{u(void 0)}),[t,u]),t),f=o??i;function p(e){let t=(0,L.getTarget)(e.nativeEvent);t?.closest("button,input,select,textarea")||(!e.defaultPrevented&&e.detail>1&&e.preventDefault(),l||function(e){if(n)return n(e,f);if(!f)return;let t=(0,F.ownerDocument)(e.currentTarget).getElementById(f);(0,P.isHTMLElement)(t)&&t.focus({focusVisible:!0})}(e))}return l?{id:c,htmlFor:f??void 0,onMouseDown:p}:{id:c,onClick:p,onPointerDown(e){e.preventDefault()}}}({id:p??n,native:o});return(0,I.useRenderElement)("label",e,{ref:[t,v],state:c.state,props:[b,d],stateAttributesMapping:u})});e.s(["FieldLabel",0,V],518655);var j=e.i(118303),W=e.i(810377),A=e.i(994142);let N={...u,...W.transitionStatusMapping},_=r.forwardRef(function(e,t){let{render:a,id:i,className:l,match:s,style:n,...o}=e,d=(0,y.useBaseUiId)(i),{validityData:u,state:c,name:p}=f(!1),{setMessageIds:v}=C(),{errors:b}=g(),m=p?b[p]:null,h="string"==typeof s,w=!1;w=!0===s||(h?!!u.state[s]:!!m||!1===u.state.valid);let{mounted:S,transitionStatus:E,setMounted:R}=(0,A.useTransitionStatus)(w);(0,x.useIsoLayoutEffect)(()=>{if(w&&d)return v(e=>e.concat(d)),()=>{v(e=>e.filter(e=>e!==d))}},[w,d,v]);let O=r.useRef(null),[T,M]=r.useState(null),[D,P]=r.useState(null),F=u.errors.length>1?(0,k.jsx)("ul",{children:u.errors.map(e=>(0,k.jsx)("li",{children:e},e))}):u.error,L=h?F:m||F,V=u.error;null!=m?V=Array.isArray(m)?JSON.stringify(m):m:u.errors.length>1&&(V=JSON.stringify(u.errors)),w&&V!==D&&(P(V),M(L)),(0,j.useOpenChangeComplete)({open:w,ref:O,onComplete(){w||R(!1)}});let W={...c,transitionStatus:E},_=(0,I.useRenderElement)("div",e,{ref:[t,O],state:W,props:[{id:d,children:w?L:T},o],stateAttributesMapping:N,enabled:S});return S?_:null});e.s(["FieldError",0,_],709389);let B=r.forwardRef(function(e,t){let{render:r,id:a,className:i,style:l,...s}=e,n=(0,y.useBaseUiId)(a),o=f(!1),{setMessageIds:d}=C();return(0,x.useIsoLayoutEffect)(()=>{if(n)return d(e=>e.concat(n)),()=>{d(e=>e.filter(e=>e!==n))}},[n,d]),(0,I.useRenderElement)("p",e,{ref:t,state:o.state,props:[{id:n},s],stateAttributesMapping:u})});e.s(["FieldDescription",0,B],969445)},45124,560023,112572,699140,e=>{"use strict";var t=e.i(391398);e.i(350461);var r=e.i(191788);e.i(548067);var a=e.i(628e3),i=e.i(518655),l=e.i(709389),s=e.i(969445),n=e.i(176955),o=e.i(95349),d=e.i(232897),u=e.i(25104),c=e.i(663735);function f(e,t){let{enabled:a=!0,getValue:i,id:l,value:s}=t,{registerFieldControl:n}=(0,c.useFieldRootContext)(),d=r.useRef(null);d.current||(d.current=Symbol()),(0,o.useIsoLayoutEffect)(()=>{let t=d.current;if(t&&a)return n(t,{controlRef:e,getValue:i,id:l,value:s}),()=>{n(t,void 0)}},[e,a,i,l,n,s])}e.s(["useRegisterFieldControl",0,f],560023);var p=e.i(630260),v=e.i(713579),b=e.i(536394),g=e.i(562912),m=e.i(147652);function h(e={}){let{id:t,implicit:a=!1,controlRef:i}=e,{controlId:l,registerControlId:s}=(0,p.useLabelableContext)(),n=(0,m.useBaseUiId)(t),d=a?l:void 0,c=(0,v.useRefWithInit)(()=>Symbol("labelable-control")),f=r.useRef(!1),y=r.useRef(null!=t),w=(0,u.useStableCallback)(()=>{f.current&&s!==g.NOOP&&(f.current=!1,s(c.current,void 0))});return(0,o.useIsoLayoutEffect)(()=>{let e;if(s!==g.NOOP){if(a){let r=i?.current;e=(0,b.isElement)(r)&&null!=r.closest("label")?t??null:d??n}else if(null!=t)y.current=!0,e=t;else{if(!y.current)return void w();e=n}if(void 0===e)return void w();f.current=!0,s(c.current,e)}},[t,i,d,s,a,n,c,w]),r.useEffect(()=>w,[w]),l??n}e.s(["useLabelableId",0,h],112572);var y=e.i(963934),w=e.i(950438),C=e.i(967529),k=e.i(475048),S=e.i(772610);let I=r.forwardRef(function(e,t){let{render:a,className:i,id:l,name:s,value:v,disabled:b=!1,onValueChange:g,defaultValue:m,autoFocus:I=!1,style:E,...R}=e,{state:O,name:T,disabled:x,setTouched:M,setDirty:D,validityData:P,setFocused:F,setFilled:L,validationMode:V,validation:j}=(0,c.useFieldRootContext)(),W=x||b,A={...O,disabled:W},{labelId:N}=(0,p.useLabelableContext)(),_=h({id:l});(0,o.useIsoLayoutEffect)(()=>{let e=null!=v;j.inputRef.current?.value||e&&""!==v?L(!0):e&&""===v&&L(!1)},[j.inputRef,L,v]);let B=r.useRef(null);(0,o.useIsoLayoutEffect)(()=>{I&&B.current===(0,S.activeElement)((0,d.ownerDocument)(B.current))&&F(!0)},[I,F]);let[U]=(0,n.useControlled)({controlled:v,default:m,name:"FieldControl",state:"value"}),J=void 0!==v,H=J?U:void 0,$=(0,u.useStableCallback)(()=>j.inputRef.current?.value);return f(j.inputRef,{id:_,value:H,getValue:$}),(0,w.useRenderElement)("input",e,{ref:[t,B],state:A,props:[{id:_,disabled:W,name:T??s,ref:j.inputRef,"aria-labelledby":N,autoFocus:I,...J?{value:H}:{defaultValue:m},onChange(e){let t=e.currentTarget.value;g?.(t,(0,C.createChangeEventDetails)(k.REASONS.none,e.nativeEvent)),D(t!==P.initialValue),L(""!==t)},onFocus(){F(!0)},onBlur(e){M(!0),F(!1),"onBlur"===V&&j.commit(e.currentTarget.value)},onKeyDown(e){"INPUT"===e.currentTarget.tagName&&"Enter"===e.key&&(M(!0),j.commit(e.currentTarget.value))}},j.getInputValidationProps(),R],stateAttributesMapping:y.fieldValidityMapping})});var E=e.i(96649),R=e.i(994142);let O=r.createContext({disabled:!1});e.s(["FieldItemContext",0,O,"useFieldItemContext",0,function(){return r.useContext(O)}],699140);var T=e.i(746076),x=e.i(579907);let M=r.createContext(void 0),D=r.forwardRef(function(e,a){let{render:i,className:l,style:s,disabled:n=!1,...o}=e,{state:d,disabled:u}=(0,c.useFieldRootContext)(!1),f=u||n,p=function(e=!0){let t=r.useContext(M);if(void 0===t&&!e)throw Error((0,x.default)(3));return t}(),v=p?.parent.id,b=p?.allValues!==void 0,g=r.useMemo(()=>({disabled:f}),[f]),m=(0,w.useRenderElement)("div",e,{ref:a,state:d,props:o,stateAttributesMapping:y.fieldValidityMapping});return(0,t.jsx)(T.LabelableProvider,{controlId:b?v:void 0,children:(0,t.jsx)(O.Provider,{value:g,children:m})})});e.s(["Control",0,I,"Description",()=>s.FieldDescription,"Error",()=>l.FieldError,"Item",0,D,"Label",()=>i.FieldLabel,"Root",()=>a.FieldRoot,"Validity",0,function(e){let{children:a}=e,{validityData:i,invalid:l}=(0,c.useFieldRootContext)(!1),s=r.useMemo(()=>(0,E.getCombinedFieldValidityData)(i,l),[i,l]),n=!1===s.state.valid,{transitionStatus:o}=(0,R.useTransitionStatus)(n),d=r.useMemo(()=>({...s,validity:s.state,transitionStatus:o}),[s,o]);return(0,t.jsx)(r.Fragment,{children:a(d)})}],249159);var P=e.i(249159),P=P;let F=r.forwardRef(function(e,r){return(0,t.jsx)(P.Control,{ref:r,...e})});var L=e.i(353533);e.s(["Input",0,function({className:e,type:r,...a}){return(0,t.jsx)(F,{type:r,"data-slot":"input",className:(0,L.cn)("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",e),...a})}],45124)},490034,844044,e=>{"use strict";var t=e.i(505888),r=e.i(679935),a=e.i(31050);let i=null,l=(e,t)=>{if(!i)return t;let r=a.default.getState().locale,l=i[r]?.[e]??i.en?.[e];return l?.[t]??t};e.s(["setMessages",0,e=>{i=e},"t",0,l],844044);let s=(()=>{{let e=window.__SB__;if(e)return{sidebarWidth:e.w,sidebarCollapsed:e.c,sidebarTab:"sessions"===e.t?"sessions":"workspace"}}return{sidebarWidth:240,sidebarCollapsed:!1,sidebarTab:"workspace"}})(),n=[],o=!0,d=e=>{try{e?sessionStorage.setItem("active-ws",e):sessionStorage.removeItem("active-ws")}catch{}},u=e=>{fetch("/api/workspace/active",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({activeWorkspaceId:e})}).catch(()=>{})},c=(e,t)=>{let r,a=(r=window.__SB__,r?.a??null);return a&&e.some(e=>e.id===a)?a:t&&e.some(e=>e.id===t)?t:e[0]?.id??null},f=e=>{fetch("/api/workspace/active",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).catch(e=>{console.log(`[workspace-store] active update failed: ${e instanceof Error?e.message:e}`)})},p=0,v=0,b=0,g=()=>{b=p},m=(0,t.create)((e,t)=>({workspaces:n,activeWorkspaceId:n.length>0?c(n):null,sidebarCollapsed:s.sidebarCollapsed,sidebarWidth:s.sidebarWidth,sidebarTab:s.sidebarTab,isSettingsDialogOpen:!1,isCheatSheetOpen:!1,isLoading:o,error:null,pendingDeleteIds:new Set,hydrate:t=>{let r=c(t.workspaces,t.activeWorkspaceId);d(r),r&&u(r),e({workspaces:t.workspaces,activeWorkspaceId:r,sidebarCollapsed:t.sidebarCollapsed,sidebarWidth:t.sidebarWidth,isLoading:!1,error:null})},fetchWorkspaces:async()=>{e({isLoading:!0,error:null});try{let t=await fetch("/api/workspace");if(!t.ok)throw Error();let r=await t.json(),a=c(r.workspaces,r.activeWorkspaceId);d(a),e({workspaces:r.workspaces,activeWorkspaceId:a,sidebarCollapsed:r.sidebarCollapsed??!1,sidebarWidth:r.sidebarWidth??240,isLoading:!1})}catch{e({error:l("workspace","fetchError"),isLoading:!1})}},syncWorkspaces:async()=>{let r=++p;try{let a=await fetch("/api/workspace");if(!a.ok)return;let i=await a.json();if(r<v||r<=b)return;v=r;let l=t().workspaces,s=t().pendingDeleteIds,n=i.workspaces,o=new Map(n.map(e=>[e.id,e])),d=[],u=new Set;for(let e of l){let t=o.get(e.id);t?(d.push(t),u.add(e.id)):s.has(e.id)&&(d.push(e),u.add(e.id))}for(let e of n)!u.has(e.id)&&(s.has(e.id)||d.push(e));if(JSON.stringify(l)===JSON.stringify(d))return;e({workspaces:d})}catch(e){console.log(`[workspace-store] sync error: ${e instanceof Error?e.message:e}`)}},createWorkspace:async(t,a,i)=>{try{let r=await fetch("/api/workspace",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:t,name:a,resumeSessionId:i})});if(!r.ok){let e=await r.json();throw Error(e.error||l("workspace","createFailed"))}let s=await r.json();return g(),e(e=>({workspaces:e.workspaces.some(e=>e.id===s.id)?e.workspaces:[...e.workspaces,s]})),s}catch(t){let e=t instanceof Error?t.message:l("workspace","createFailed");return r.toast.error(e),null}},deleteWorkspace:async e=>{try{let t=await fetch(`/api/workspace/${e}`,{method:"DELETE"});if(!t.ok&&404!==t.status)throw Error();return g(),!0}catch{return r.toast.error(l("workspace","deleteFailed")),!1}},removeWorkspace:t=>{e(e=>{let r=e.workspaces.filter(e=>e.id!==t),a=e.activeWorkspaceId===t,i=a?r[0]?.id??null:e.activeWorkspaceId;return a&&(d(i),i&&u(i)),{workspaces:r,activeWorkspaceId:i}})},markPendingDelete:t=>{e(e=>{if(e.pendingDeleteIds.has(t))return e;let r=new Set(e.pendingDeleteIds);return r.add(t),{pendingDeleteIds:r}})},unmarkPendingDelete:t=>{e(e=>{if(!e.pendingDeleteIds.has(t))return e;let r=new Set(e.pendingDeleteIds);return r.delete(t),{pendingDeleteIds:r}})},switchWorkspace:t=>{e({activeWorkspaceId:t}),d(t),u(t)},renameWorkspace:async(a,i)=>{let s=t().workspaces.find(e=>e.id===a),n=s?.name??"";e(e=>({workspaces:e.workspaces.map(e=>e.id===a?{...e,name:i}:e)}));try{if(!(await fetch(`/api/workspace/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:i})})).ok)throw Error();return!0}catch{return e(e=>({workspaces:e.workspaces.map(e=>e.id===a?{...e,name:n}:e)})),r.toast.error(l("workspace","renameFailed")),!1}},reorderWorkspaces:(a,i)=>{let s=[...t().workspaces],[n]=s.splice(a,1);s.splice(i,0,n),e({workspaces:s}),fetch("/api/workspace/reorder",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspaceIds:s.map(e=>e.id)})}).catch(()=>{r.toast.error(l("workspace","reorderFailed")),t().fetchWorkspaces()})},toggleSidebar:()=>{e(e=>{let t=!e.sidebarCollapsed;return f({sidebarCollapsed:t}),{sidebarCollapsed:t}})},setSidebarWidth:t=>{e({sidebarWidth:t})},saveSidebarWidth:e=>{f({sidebarWidth:e})},setSidebarTab:t=>{e({sidebarTab:t});try{localStorage.setItem("sidebar-tab",t)}catch{}},setSettingsDialogOpen:t=>{e({isSettingsDialogOpen:t})},setCheatSheetOpen:t=>{e({isCheatSheetOpen:t})},validateDirectory:async e=>{try{let t=await fetch(`/api/workspace/validate?directory=${encodeURIComponent(e)}`);if(!t.ok)throw Error();return await t.json()}catch{return{valid:!1,error:l("workspace","validateFailed")}}}}));e.s(["default",0,m],490034)},533538,338951,e=>{"use strict";let t=(0,e.i(369547).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["default",0,t],338951),e.s(["Search",0,t],533538)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,182936,(e,t,r)=>{t.exports=JSON.parse('{"title":"Paramètres","tabs":{"general":"Général","appearance":"Apparence","terminal":"Terminal","editor":"Éditeur","claude":"Claude","auth":"Authentification","tailscale":"Tailscale","quickPrompts":"Prompts rapides","sidebarItems":"Barre latérale","agent":"Agent","notification":"Notification","system":"Système"},"general":{"theme":"Thème","themeDescription":"Sélectionnez le thème d\'affichage.","language":"Langue","languageDescription":"Sélectionnez la langue de l\'interface.","fontSize":"Taille de police","fontSizeDescription":"Ajustez la taille de police de l\'interface et du terminal.","fontSizeNormal":"Normal","fontSizeLarge":"Grand","fontSizeXLarge":"Très grand","keyboardShortcuts":"Raccourcis clavier","keyboardShortcutsDescription":"Afficher et personnaliser tous les raccourcis clavier.","openShortcuts":"Ouvrir"},"appearance":{"customCSS":"CSS personnalisé","customCSSDescription":"Remplacez les variables CSS pour personnaliser les couleurs et les styles.","apply":"Appliquer","reset":"Réinitialiser","resetConfirm":"Réinitialiser tout le CSS personnalisé ?","applied":"CSS personnalisé appliqué.","availableVariables":"Variables disponibles","placeholder":":root {\\n --background: oklch(0.98 0 0);\\n --sidebar: oklch(0.95 0.01 220);\\n}\\n.dark {\\n --background: oklch(0.08 0 0);\\n}"},"terminal":{"theme":"Thème du terminal","themeDescription":"Sélectionnez les thèmes de couleurs du terminal pour chaque mode."},"editor":{"preset":"Éditeur","presetDescription":"Choisissez l\'éditeur à ouvrir lorsque vous cliquez sur le bouton EDITOR dans l\'en-tête.","presets":{"code-server":"Code Server (Web)","vscode":"VS Code","vscode-insiders":"VS Code Insiders","cursor":"Cursor","windsurf":"Windsurf","zed":"Zed","custom":"URL personnalisée","off":"Désactivé"},"url":"URL de l\'éditeur","urlDescription":"Saisissez l\'URL web de votre instance Code Server.","urlHelp":"Installez et lancez <link>code-server</link> pour utiliser VS Code dans le navigateur. Le paramètre <code>?folder=</code> est automatiquement ajouté à l\'URL.","customTemplate":"Modèle d\'URL","customTemplateDescription":"Saisissez un modèle d\'URL qui sera ouvert avec le dossier actuel.","customHelp":"Utilisez <folder></folder> pour le chemin absolu ou <folderEncoded></folderEncoded> pour le chemin encodé en URL.","localIdeHint":"Ouvre l\'IDE sélectionné localement. L\'IDE doit être installé sur la machine exécutant le navigateur ou l\'application de bureau.","offHint":"Le bouton éditeur sera masqué de l\'en-tête.","preview":"Aperçu (avec dossier d\'exemple)","errorHttpRequired":"L\'URL doit commencer par http:// ou https://","errorCustomTemplate":"Le modèle doit contenir {folder} ou {folderEncoded}"},"claude":{"skipPermissions":"Ignorer les vérifications de permissions","skipPermissionsDescription":"Ajoute l\'option --dangerously-skip-permissions lors de l\'exécution de Claude CLI."},"auth":{"changePassword":"Changer le mot de passe","changePasswordDescription":"Les nouveaux mots de passe sont hachés en SHA-512 avant enregistrement.","newPasswordPlaceholder":"Saisissez un nouveau mot de passe (4 car. min.)","passwordPlaceholder":"Saisissez un mot de passe (4 car. min.)","resetHint":"Pour réinitialiser, supprimez ~/.purplemux/config.json et {action}.","restartServer":"redémarrez le serveur","restartApp":"quittez et redémarrez l\'application","savedRestart":"Enregistré. Les modifications prendront effet après le {action}.","restartServerAction":"redémarrage du serveur","restartAppAction":"redémarrage de l\'application"},"notification":{"enable":"Activer les notifications","enableDescription":"Affiche des notifications système lorsque les tâches Claude sont terminées. Fonctionne uniquement dans l\'application Electron.","permissionDenied":"Autorisation des notifications du navigateur refusée. Veuillez l\'autoriser dans les paramètres du navigateur.","notSupported":"Web Push n\'est pas pris en charge par ce navigateur.","toastSection":"Toast dans l\'application","toastSectionDescription":"S\'affiche uniquement lorsque la fenêtre est au premier plan. Les notifications système gèrent l\'arrière-plan.","toastEnable":"Afficher un toast à la fin d\'une tâche","toastEnableDescription":"Un toast éphémère s\'affiche en plus du compteur de la barre latérale.","toastDuration":"Durée","toastDurationDescription":"Durée d\'affichage du toast avant sa fermeture automatique.","toastDurationUnit":"secondes","toastPositionDesktop":"Position sur ordinateur","toastPositionDesktopDescription":"Où les toasts apparaissent sur les écrans larges.","toastPositionMobile":"Position sur mobile","toastPositionMobileDescription":"Où les toasts apparaissent sur les écrans étroits.","positions":{"top-left":"En haut à gauche","top-center":"En haut au centre","top-right":"En haut à droite","bottom-left":"En bas à gauche","bottom-center":"En bas au centre","bottom-right":"En bas à droite"}},"agent":{"enableMenu":"Activer le menu Agent","enableMenuDescription":"Affiche le menu Agent dans la barre latérale. Cette fonctionnalité est actuellement en bêta."},"system":{"networkAccess":"Accès réseau","networkAccessDescription":"Contrôle quels réseaux peuvent accéder à purplemux. Prend effet après redémarrage du serveur.","networkAccessLocked":"Contrôlé par la variable d\'environnement HOST.","restartRequired":"Les modifications prennent effet après redémarrage du serveur.","networkAccessOptions":{"localhost":{"label":"Localhost uniquement","description":"Uniquement cette machine. Le plus sûr ; le port est fermé aux autres appareils."},"tailscale":{"label":"Localhost + Tailscale","description":"Cette machine et les pairs Tailscale. Le LAN et Internet public sont bloqués."},"all":{"label":"Toutes les interfaces","description":"Autorise les connexions depuis tout réseau accessible, y compris le LAN et Internet public."}},"showResources":"Afficher les ressources système","showResourcesDescription":"Affiche l\'utilisation du CPU, de la mémoire et des sessions tmux dans l\'en-tête.","attachedImages":"Images jointes","attachedImagesDescription":"Les images jointes dans la barre de saisie sont stockées dans ~/.purplemux/uploads/. Les fichiers de plus de 24 heures sont supprimés automatiquement au démarrage du serveur.","cleanAttachedImages":"Nettoyer maintenant","attachedImagesCleaned":"{count} fichiers supprimés","attachedImagesNothing":"Aucune image à supprimer","tmuxReset":"Réinitialiser tmux","tmuxResetDescription":"Termine toutes les sessions tmux et {action}. Utilisez cette option lorsque des modifications de paramètres doivent être appliquées.","tmuxResetConfirm":"Tous les processus en cours dans le terminal seront arrêtés. Continuer ?","restartServer":"redémarre le serveur","restartApp":"redémarre l\'application"},"tailscale":{"notInstalled":"Tailscale CLI n\'est pas installé","notInstalledDescription":"Installez Tailscale pour accéder à votre réseau en toute sécurité depuis l\'extérieur.","commentMac":"# macOS","commentMacAppStore":"# ou installer depuis le Mac App Store","commentLinux":"# Linux (Ubuntu/Debian)","commentAfterInstall":"# Après l\'installation, connectez-vous","installGuide":"Pour des instructions d\'installation détaillées, visitez le <link>site officiel de Tailscale</link>.","notRunning":"Tailscale n\'est pas en cours d\'exécution","notRunningDescription":"Veuillez démarrer Tailscale.","deviceInfo":"Informations sur l\'appareil","host":"Hôte","dns":"DNS","ip":"IP","version":"Version","nonDefaultPortTitle":"Le serveur fonctionne actuellement sur le port {port}","nonDefaultPortDescription":"Le port par défaut ({defaultPort}) était occupé, un port différent a donc été attribué automatiquement. Le port attribué automatiquement peut changer après le {restartAction}. Il est donc recommandé de définir le port local sur {defaultPort} au lieu de {currentPort} dans les paramètres Tailscale Serve.","appRestart":"redémarrage de l\'application","serverRestart":"redémarrage du serveur","commentFixedPort":"# Pour utiliser un port fixe ({port})","commentOrTerminate":"# ou arrêtez le processus occupant le port {port} et redémarrez","serveStatus":"État du Serve","noActiveServe":"Aucune entrée Serve active.","httpsPort":"Port HTTPS","proxyTarget":"Cible du proxy","url":"URL","addServe":"Ajouter un Serve","setupGuide":"Guide de configuration","commentStep1Install":"# 1. Installer la CLI","commentStep2Activate":"# 2. Connect","commentStep3Add":"# 3. Ajouter Serve","localPort":"Port local","add":"Ajouter","enterPort":"Veuillez saisir un port","addedToast":"HTTPS :{httpsPort} → localhost:{localPort} ajouté","removedToast":"HTTPS :{httpsPort} supprimé"},"quickPrompts":{"title":"Prompts rapides","description":"Gérez les boutons de prompts affichés au-dessus du champ de saisie.","builtinSection":"Prompts intégrés","customSection":"Prompts personnalisés","itemsSection":"Prompts","addPrompt":"Ajouter un prompt","editPrompt":"Modifier le prompt","nameLabel":"Nom","namePlaceholder":"ex. Revue de code","promptLabel":"Prompt","promptPlaceholder":"ex. Veuillez vérifier les modifications en cours.","save":"Enregistrer","cancel":"Annuler","addButton":"Ajouter un prompt","resetToDefault":"Réinitialiser par défaut","resetTitle":"Réinitialiser par défaut","resetDescription":"Tous les prompts personnalisés seront supprimés et les prompts intégrés seront réactivés.","resetCancel":"Annuler","resetConfirm":"Réinitialiser","deleteTitle":"Supprimer le prompt","deleteDescription":"Voulez-vous vraiment supprimer ce prompt ?","deleteCancel":"Annuler","deleteConfirm":"Supprimer"},"sidebarItems":{"title":"Éléments de la barre latérale","description":"Gérez les raccourcis affichés en bas de la barre latérale.","itemsSection":"Éléments","addItem":"Ajouter un élément","editItem":"Modifier l\'élément","nameLabel":"Nom","namePlaceholder":"ex. Grafana","iconLabel":"Icône","iconSearch":"Rechercher des icônes...","iconNotFound":"Aucune icône trouvée","urlLabel":"URL","urlPlaceholder":"ex. https://grafana.example.com","save":"Enregistrer","cancel":"Annuler","addButton":"Ajouter un élément","resetToDefault":"Réinitialiser par défaut","resetTitle":"Réinitialiser par défaut","resetDescription":"Tous les éléments personnalisés seront supprimés et les éléments intégrés seront réactivés.","resetCancel":"Annuler","resetConfirm":"Réinitialiser","deleteTitle":"Supprimer l\'élément","deleteDescription":"Voulez-vous vraiment supprimer cet élément ?","deleteCancel":"Annuler","deleteConfirm":"Supprimer"},"saveFailed":"Impossible de sauvegarder les paramètres"}')}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,844759,(e,i,s)=>{i.exports={notGitRepo:"Not a Git repository",noChanges:"No changes",hasChanges:"Changes detected",refresh:"Refresh",sideBySide:"Side by side",lineByLine:"Line by line",fileList:"Files"}}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,438079,(e,t,o)=>{t.exports=JSON.parse('{"title":"설정","tabs":{"general":"일반","appearance":"외관","terminal":"터미널","editor":"에디터","claude":"Claude","auth":"인증","tailscale":"Tailscale","quickPrompts":"빠른 프롬프트","sidebarItems":"사이드바","agent":"에이전트","notification":"알림","system":"시스템"},"general":{"theme":"테마","themeDescription":"화면 테마를 선택합니다.","language":"언어","languageDescription":"인터페이스 언어를 선택합니다.","fontSize":"글꼴 크기","fontSizeDescription":"화면과 터미널의 글꼴 크기를 조절합니다.","fontSizeNormal":"보통","fontSizeLarge":"크게","fontSizeXLarge":"더크게","keyboardShortcuts":"키보드 단축키","keyboardShortcutsDescription":"단축키 전체 보기 및 커스터마이즈.","openShortcuts":"열기"},"appearance":{"customCSS":"Custom CSS","customCSSDescription":"CSS 변수를 오버라이드하여 색상과 스타일을 커스터마이징합니다.","apply":"적용","reset":"초기화","resetConfirm":"커스텀 CSS를 모두 초기화할까요?","applied":"커스텀 CSS가 적용되었습니다.","availableVariables":"사용 가능한 변수","placeholder":":root {\\n --background: oklch(0.98 0 0);\\n --sidebar: oklch(0.95 0.01 220);\\n}\\n.dark {\\n --background: oklch(0.08 0 0);\\n}"},"terminal":{"theme":"터미널 테마","themeDescription":"모드별 터미널 색상 테마를 선택합니다."},"editor":{"preset":"에디터","presetDescription":"헤더의 EDITOR 버튼을 클릭했을 때 실행할 에디터를 선택합니다.","presets":{"code-server":"Code Server (웹)","vscode":"VS Code","vscode-insiders":"VS Code Insiders","cursor":"Cursor","windsurf":"Windsurf","zed":"Zed","custom":"커스텀 URL","off":"사용 안 함"},"url":"에디터 URL","urlDescription":"Code Server 인스턴스의 웹 주소를 입력합니다.","urlHelp":"<link>code-server</link>를 설치하고 실행하면 브라우저에서 VS Code를 사용할 수 있습니다. URL에 <code>?folder=</code> 파라미터가 자동으로 추가됩니다.","customTemplate":"URL 템플릿","customTemplateDescription":"현재 폴더 경로로 열 URL 템플릿을 입력합니다.","customHelp":"절대 경로는 <folder></folder>, URL 인코딩된 경로는 <folderEncoded></folderEncoded>로 표기합니다.","localIdeHint":"선택한 IDE를 로컬에서 실행합니다. 브라우저 또는 데스크톱 앱을 실행 중인 컴퓨터에 해당 IDE가 설치되어 있어야 합니다.","offHint":"헤더에서 에디터 버튼을 숨깁니다.","preview":"미리보기 (샘플 폴더 기준)","errorHttpRequired":"URL은 http:// 또는 https:// 로 시작해야 합니다.","errorCustomTemplate":"템플릿에는 {folder} 또는 {folderEncoded}가 포함되어야 합니다."},"claude":{"skipPermissions":"권한 확인 건너뛰기","skipPermissionsDescription":"Claude CLI 실행 시 --dangerously-skip-permissions 옵션을 추가합니다."},"auth":{"changePassword":"비밀번호 변경","changePasswordDescription":"새 비밀번호를 입력하면 SHA-512로 해싱되어 저장됩니다.","newPasswordPlaceholder":"새 비밀번호 입력 (4자 이상)","passwordPlaceholder":"비밀번호 입력 (4자 이상)","resetHint":"초기화하려면 ~/.purplemux/config.json 파일을 삭제하고 {action}하세요.","restartServer":"서버를 재시작","restartApp":"앱을 종료 후 재시작","savedRestart":"저장되었습니다. {action} 후 적용됩니다.","restartServerAction":"서버 재시작","restartAppAction":"앱 종료 후 재시작"},"notification":{"enable":"알림 활성화","enableDescription":"Claude 작업 완료 시 시스템 알림을 표시합니다.","permissionDenied":"브라우저 알림 권한이 거부되었습니다. 브라우저 설정에서 허용해주세요.","notSupported":"이 브라우저에서는 Web Push를 지원하지 않습니다.","toastSection":"앱 내 토스트","toastSectionDescription":"창이 활성화된 상태에서만 표시됩니다. 백그라운드는 시스템 알림이 담당합니다.","toastEnable":"작업 완료 시 토스트 표시","toastEnableDescription":"사이드바 카운트 외에 일시적인 토스트를 추가로 띄웁니다.","toastDuration":"표시 시간","toastDurationDescription":"토스트가 자동으로 사라지기까지의 시간입니다.","toastDurationUnit":"초","toastPositionDesktop":"데스크탑 위치","toastPositionDesktopDescription":"큰 화면에서 토스트가 나타날 위치입니다.","toastPositionMobile":"모바일 위치","toastPositionMobileDescription":"좁은 화면에서 토스트가 나타날 위치입니다.","positions":{"top-left":"좌상단","top-center":"상단 중앙","top-right":"우상단","bottom-left":"좌하단","bottom-center":"하단 중앙","bottom-right":"우하단"}},"agent":{"enableMenu":"에이전트 메뉴 활성화","enableMenuDescription":"사이드바에 에이전트 메뉴를 표시합니다. 이 기능은 현재 beta 테스트 중입니다."},"system":{"networkAccess":"네트워크 접근","networkAccessDescription":"어느 네트워크에서 purplemux에 접근할 수 있는지 설정합니다. 서버 재시작 후 적용됩니다.","networkAccessLocked":"HOST 환경 변수로 제어 중입니다.","restartRequired":"변경 사항은 서버 재시작 후 적용됩니다.","networkAccessOptions":{"localhost":{"label":"Localhost만","description":"이 PC에서만 접근 가능합니다. 가장 안전하며 포트가 외부에 노출되지 않습니다."},"tailscale":{"label":"Localhost + Tailscale","description":"이 PC와 Tailscale 피어에서 접근 가능합니다. LAN 및 공인 인터넷은 차단됩니다."},"all":{"label":"모든 인터페이스","description":"접근 가능한 모든 네트워크를 허용합니다. LAN과 공인 인터넷도 포함됩니다."}},"showResources":"시스템 리소스 표시","showResourcesDescription":"헤더에 CPU, 메모리, tmux 세션 사용량을 표시합니다.","attachedImages":"첨부 이미지","attachedImagesDescription":"입력창에 첨부한 이미지는 ~/.purplemux/uploads/ 에 저장됩니다. 24시간이 지난 파일은 서버 시작 시 자동으로 정리됩니다.","cleanAttachedImages":"지금 정리","attachedImagesCleaned":"{count}개의 파일을 삭제했습니다","attachedImagesNothing":"삭제할 이미지가 없습니다","tmuxReset":"tmux 초기화","tmuxResetDescription":"tmux 세션을 모두 종료하고 {action}합니다. 설정 변경 후 적용이 필요할 때 사용합니다.","tmuxResetConfirm":"실행 중인 모든 터미널 프로세스가 종료됩니다. 계속하시겠습니까?","restartServer":"서버를 재시작","restartApp":"앱을 재시작"},"tailscale":{"notInstalled":"Tailscale CLI가 설치되어 있지 않습니다","notInstalledDescription":"Tailscale을 설치하면 외부에서 안전하게 접속할 수 있습니다.","commentMac":"# macOS","commentMacAppStore":"# 또는 Mac App Store에서 설치","commentLinux":"# Linux (Ubuntu/Debian)","commentAfterInstall":"# 설치 후 로그인","installGuide":"자세한 설치 방법은 <link>Tailscale 공식 사이트</link>를 참고하세요.","notRunning":"Tailscale이 실행 중이 아닙니다","notRunningDescription":"Tailscale을 시작해 주세요.","deviceInfo":"디바이스 정보","host":"호스트","dns":"DNS","ip":"IP","version":"버전","nonDefaultPortTitle":"현재 서버가 포트 {port}에서 실행 중입니다","nonDefaultPortDescription":"기본 포트({defaultPort})가 사용 중이어서 자동으로 다른 포트가 할당되었습니다. 자동 할당된 포트는 {restartAction} 시 변경될 수 있으므로, Tailscale Serve 설정 시 로컬 포트를 {currentPort} 대신 {defaultPort}로 설정하는 것을 권장합니다.","appRestart":"앱 재시작","serverRestart":"서버 재시작","commentFixedPort":"# 고정 포트({port})를 사용하려면","commentOrTerminate":"# 또는 기존 {port} 포트를 점유한 프로세스를 종료 후 재시작","serveStatus":"Serve 상태","noActiveServe":"활성화된 serve 항목이 없습니다.","httpsPort":"HTTPS 포트","proxyTarget":"프록시 대상","url":"URL","addServe":"Serve 추가","setupGuide":"설정 가이드","commentStep1Install":"# 1. CLI 설치","commentStep2Activate":"# 2. Connect","commentStep3Add":"# 3. Serve 추가","localPort":"로컬 포트","add":"추가","enterPort":"포트를 입력하세요","addedToast":"HTTPS :{httpsPort} → localhost:{localPort} 추가됨","removedToast":"HTTPS :{httpsPort} 제거됨"},"quickPrompts":{"title":"빠른 프롬프트","description":"입력창 위에 표시할 프롬프트 버튼을 관리합니다.","builtinSection":"기본 프롬프트","customSection":"사용자 프롬프트","itemsSection":"프롬프트","addPrompt":"프롬프트 추가","editPrompt":"프롬프트 수정","nameLabel":"이름","namePlaceholder":"예: 코드 리뷰","promptLabel":"프롬프트","promptPlaceholder":"예: 현재 변경사항을 리뷰해주세요.","save":"저장","cancel":"취소","addButton":"프롬프트 추가","resetToDefault":"기본값으로 초기화","resetTitle":"기본값으로 초기화","resetDescription":"모든 사용자 프롬프트가 삭제되고, 기본 프롬프트가 활성화됩니다.","resetCancel":"취소","resetConfirm":"초기화","deleteTitle":"프롬프트 삭제","deleteDescription":"이 프롬프트를 삭제하시겠습니까?","deleteCancel":"취소","deleteConfirm":"삭제"},"sidebarItems":{"title":"사이드바 항목","description":"사이드바 하단에 표시할 바로가기 항목을 관리합니다.","itemsSection":"항목","addItem":"항목 추가","editItem":"항목 수정","nameLabel":"이름","namePlaceholder":"예: Grafana","iconLabel":"아이콘","iconSearch":"아이콘 검색...","iconNotFound":"아이콘을 찾을 수 없습니다","urlLabel":"URL","urlPlaceholder":"예: https://grafana.example.com","save":"저장","cancel":"취소","addButton":"항목 추가","resetToDefault":"기본값으로 초기화","resetTitle":"기본값으로 초기화","resetDescription":"모든 사용자 항목이 삭제되고, 기본 항목이 활성화됩니다.","resetCancel":"취소","resetConfirm":"초기화","deleteTitle":"항목 삭제","deleteDescription":"이 항목을 삭제하시겠습니까?","deleteCancel":"취소","deleteConfirm":"삭제"},"saveFailed":"설정을 저장할 수 없습니다"}')}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,835707,e=>{"use strict";let t=(0,e.i(369547).default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);e.s(["Lock",0,t],835707)},639131,e=>{"use strict";let t=(0,e.i(369547).default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",0,t],639131)},283303,e=>{"use strict";let t=(0,e.i(369547).default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);e.s(["Moon",0,t],283303)},970597,e=>{"use strict";let t=(0,e.i(369547).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",0,t],970597)},198816,e=>{"use strict";e.s([])},299541,e=>{"use strict";var t=e.i(191788);let i=t.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});e.s(["CompositeListContext",0,i,"useCompositeListContext",0,function(){return t.useContext(i)}])},751778,e=>{"use strict";var t=e.i(191788),i=e.i(713579),a=e.i(25104),n=e.i(95349),r=e.i(299541),o=e.i(391398);function s(){return new Map}function l(){return new Set}function u(e,t){let i=e.compareDocumentPosition(t);return i&Node.DOCUMENT_POSITION_FOLLOWING||i&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:i&Node.DOCUMENT_POSITION_PRECEDING||i&Node.DOCUMENT_POSITION_CONTAINS?1:0}e.s(["CompositeList",0,function(e){let{children:d,elementsRef:c,labelsRef:f,onMapChange:b}=e,h=(0,a.useStableCallback)(b),p=t.useRef(0),v=(0,i.useRefWithInit)(l).current,g=(0,i.useRefWithInit)(s).current,[m,x]=t.useState(0),C=t.useRef(m),R=(0,a.useStableCallback)((e,t)=>{g.set(e,t??null),C.current+=1,x(C.current)}),y=(0,a.useStableCallback)(e=>{g.delete(e),C.current+=1,x(C.current)}),E=t.useMemo(()=>{let e=new Map;return Array.from(g.keys()).filter(e=>e.isConnected).sort(u).forEach((t,i)=>{let a=g.get(t)??{};e.set(t,{...a,index:i})}),e},[g,m]);(0,n.useIsoLayoutEffect)(()=>{if("function"!=typeof MutationObserver||0===E.size)return;let e=new MutationObserver(e=>{let t=new Set,i=e=>t.has(e)?t.delete(e):t.add(e);e.forEach(e=>{e.removedNodes.forEach(i),e.addedNodes.forEach(i)}),0===t.size&&(C.current+=1,x(C.current))});return E.forEach((t,i)=>{i.parentElement&&e.observe(i.parentElement,{childList:!0})}),()=>{e.disconnect()}},[E]),(0,n.useIsoLayoutEffect)(()=>{C.current===m&&(c.current.length!==E.size&&(c.current.length=E.size),f&&f.current.length!==E.size&&(f.current.length=E.size),p.current=E.size),h(E)},[h,E,c,f,m]),(0,n.useIsoLayoutEffect)(()=>()=>{c.current=[]},[c]),(0,n.useIsoLayoutEffect)(()=>()=>{f&&(f.current=[])},[f]);let k=(0,a.useStableCallback)(e=>(v.add(e),()=>{v.delete(e)}));(0,n.useIsoLayoutEffect)(()=>{v.forEach(e=>e(E))},[v,E]);let T=t.useMemo(()=>({register:R,unregister:y,subscribeMapChange:k,elementsRef:c,labelsRef:f,nextIndexRef:p}),[R,y,k,c,f,p]);return(0,o.jsx)(r.CompositeListContext.Provider,{value:T,children:d})}])},496532,513058,115582,e=>{"use strict";e.i(350461);var t,i=e.i(191788),a=e.i(176955),n=e.i(95349),r=e.i(25104),o=e.i(950438),s=e.i(751778),l=e.i(579907);let u=i.createContext(void 0);e.s(["TabsRootContext",0,u,"useTabsRootContext",0,function(){let e=i.useContext(u);if(void 0===e)throw Error((0,l.default)(64));return e}],513058);let d=((t={}).activationDirection="data-activation-direction",t.orientation="data-orientation",t),c={tabActivationDirection:e=>({[d.activationDirection]:e})};e.s(["tabsStateAttributesMapping",0,c],115582);var f=e.i(391398);let b=i.forwardRef(function(e,t){let{className:l,defaultValue:d=0,onValueChange:b,orientation:p="horizontal",render:v,value:g,style:m,...x}=e,C=Object.hasOwn(e,"defaultValue"),R=i.useRef([]),[y,E]=i.useState(()=>new Map),[k,T]=(0,a.useControlled)({controlled:g,default:d,name:"Tabs",state:"value"}),I=void 0!==g,[M,S]=i.useState(()=>new Map),w=i.useCallback(e=>{if(void 0===e)return null;for(let[t,i]of M.entries())if(null!=i&&e===(i.value??i.index))return t;return null},[M]),[O,L]=i.useState(()=>({previousValue:k,tabActivationDirection:"none"})),{previousValue:A,tabActivationDirection:N}=O,_=N,D=!1;A!==k&&(_=h(A,k,p,M),D=null!=A&&null!=k&&null==w(k));let z=D?A:k,P=A!==z||N!==_;(0,n.useIsoLayoutEffect)(()=>{P&&L({previousValue:z,tabActivationDirection:_})},[z,P,_]);let W=(0,r.useStableCallback)((e,t)=>{t.activationDirection=h(k,e,p,M),b?.(e,t),t.isCanceled||T(e)}),j=(0,r.useStableCallback)((e,t)=>{E(i=>{if(i.get(e)===t)return i;let a=new Map(i);return a.set(e,t),a})}),H=(0,r.useStableCallback)((e,t)=>{E(i=>{if(!i.has(e)||i.get(e)!==t)return i;let a=new Map(i);return a.delete(e),a})}),B=i.useCallback(e=>y.get(e),[y]),K=i.useCallback(e=>{for(let t of M.values())if(e===t?.value)return t?.id},[M]),F=i.useMemo(()=>({getTabElementBySelectedValue:w,getTabIdByPanelValue:K,getTabPanelIdByValue:B,onValueChange:W,orientation:p,registerMountedTabPanel:j,setTabMap:S,unregisterMountedTabPanel:H,tabActivationDirection:_,value:k}),[w,K,B,W,p,j,S,H,_,k]),V=i.useMemo(()=>{for(let e of M.values())if(null!=e&&e.value===k)return e},[M,k]),Y=i.useMemo(()=>{for(let e of M.values())if(null!=e&&!e.disabled)return e.value},[M]);(0,n.useIsoLayoutEffect)(()=>{if(I||0===M.size)return;let e=V?.disabled,t=null==V&&null!==k;if(C&&e&&k===d||!e&&!t)return;let i=Y??null;k!==i&&(T(i),L(e=>"none"===e.tabActivationDirection?e:{...e,tabActivationDirection:"none"}))},[d,Y,C,I,V,T,M,k]);let U={orientation:p,tabActivationDirection:_},G=(0,o.useRenderElement)("div",e,{state:U,ref:t,props:x,stateAttributesMapping:c});return(0,f.jsx)(u.Provider,{value:F,children:(0,f.jsx)(s.CompositeList,{elementsRef:R,children:G})})});function h(e,t,i,a){if(null==e||null==t)return"none";let n=null,r=null;for(let[i,o]of a.entries()){if(null==o)continue;let a=o.value??o.index;if(e===a&&(n=i),t===a&&(r=i),null!=n&&null!=r)break}if(null==n||null==r)return n!==r&&("number"==typeof e||"string"==typeof e)&&typeof e==typeof t?"horizontal"===i?t>e?"right":"left":t>e?"down":"up":"none";let o=n.getBoundingClientRect(),s=r.getBoundingClientRect();if("horizontal"===i){if(s.left<o.left)return"left";if(s.left>o.left)return"right"}else{if(s.top<o.top)return"up";if(s.top>o.top)return"down"}return"none"}e.s(["TabsRoot",0,b],496532)},405979,e=>{"use strict";e.s(["ACTIVE_COMPOSITE_ITEM",0,"data-composite-item-active"])},874519,898052,e=>{"use strict";var t,i=e.i(191788),a=e.i(978054),n=e.i(386969),r=e.i(95349),o=e.i(299541);let s=((t={})[t.None=0]="None",t[t.GuessFromOrder=1]="GuessFromOrder",t);function l(e={}){let{label:t,metadata:a,textRef:n,indexGuessBehavior:u,index:d}=e,{register:c,unregister:f,subscribeMapChange:b,elementsRef:h,labelsRef:p,nextIndexRef:v}=(0,o.useCompositeListContext)(),g=i.useRef(-1),[m,x]=i.useState(d??(u===s.GuessFromOrder?()=>{if(-1===g.current){let e=v.current;v.current+=1,g.current=e}return g.current}:-1)),C=i.useRef(null),R=i.useCallback(e=>{if(C.current=e,-1!==m&&null!==e&&(h.current[m]=e,p)){let i=void 0!==t;p.current[m]=i?t:n?.current?.textContent??e.textContent}},[m,h,p,t,n]);return(0,r.useIsoLayoutEffect)(()=>{if(null!=d)return;let e=C.current;if(e)return c(e,a),()=>{f(e)}},[d,c,f,a]),(0,r.useIsoLayoutEffect)(()=>{if(null==d)return b(e=>{let t=C.current?e.get(C.current)?.index:null;null!=t&&x(t)})},[d,b,x]),i.useMemo(()=>({ref:R,index:m}),[m,R])}e.s(["useCompositeListItem",0,l],898052),e.s(["useCompositeItem",0,function(e={}){let{highlightItemOnHover:t,highlightedIndex:r,onHighlightedIndexChange:o}=(0,n.useCompositeRootContext)(),{ref:s,index:u}=l(e),d=r===u,c=i.useRef(null),f=(0,a.useMergedRefs)(s,c);return{compositeProps:i.useMemo(()=>({tabIndex:d?0:-1,onFocus(){o(u)},onMouseMove(){let e=c.current;if(!t||!e)return;let i=e.hasAttribute("disabled")||"true"===e.ariaDisabled;d||i||e.focus()}}),[d,o,u,t]),compositeRef:f,index:u}}],874519)},309907,724471,599100,909859,e=>{"use strict";e.i(350461);var t,i,a=e.i(191788),n=e.i(232897),r=e.i(95349),o=e.i(147652),s=e.i(950438),l=e.i(768802),u=e.i(405979),d=e.i(874519),c=e.i(513058),f=e.i(579907);let b=a.createContext(void 0);function h(){let e=a.useContext(b);if(void 0===e)throw Error((0,f.default)(65));return e}e.s(["TabsListContext",0,b,"useTabsListContext",0,h],724471);var p=e.i(967529),v=e.i(475048),g=e.i(772610);let m=a.forwardRef(function(e,t){let{className:i,disabled:f=!1,render:b,value:m,id:x,nativeButton:C=!0,style:R,...y}=e,{value:E,getTabPanelIdByValue:k,orientation:T}=(0,c.useTabsRootContext)(),{activateOnFocus:I,highlightedTabIndex:M,onTabActivation:S,registerTabResizeObserverElement:w,setHighlightedTabIndex:O,tabsListElement:L}=h(),A=(0,o.useBaseUiId)(x),N=a.useMemo(()=>({disabled:f,id:A,value:m}),[f,A,m]),{compositeProps:_,compositeRef:D,index:z}=(0,d.useCompositeItem)({metadata:N}),P=m===E,W=a.useRef(!1),j=a.useRef(null);a.useEffect(()=>{let e=j.current;if(e)return w(e)},[w]),(0,r.useIsoLayoutEffect)(()=>{if(W.current){W.current=!1;return}if(P&&z>-1&&M!==z){if(null!=L){let e=(0,g.activeElement)((0,n.ownerDocument)(L));if(e&&(0,g.contains)(L,e))return}f||O(z)}},[P,z,M,O,f,L]);let{getButtonProps:H,buttonRef:B}=(0,l.useButton)({disabled:f,native:C,focusableWhenDisabled:!0}),K=k(m),F=a.useRef(!1),V=a.useRef(!1);return(0,s.useRenderElement)("button",e,{state:{disabled:f,active:P,orientation:T},ref:[t,B,D,j],props:[_,{role:"tab","aria-controls":K,"aria-selected":P,id:A,onClick:function(e){P||f||S(m,(0,p.createChangeEventDetails)(v.REASONS.none,e.nativeEvent,void 0,{activationDirection:"none"}))},onFocus:function(e){P||(z>-1&&!f&&O(z),!f&&I&&(!F.current||F.current&&V.current)&&S(m,(0,p.createChangeEventDetails)(v.REASONS.none,e.nativeEvent,void 0,{activationDirection:"none"})))},onPointerDown:function(e){P||f||(F.current=!0,e.button&&0!==e.button||(V.current=!0,(0,n.ownerDocument)(e.currentTarget).addEventListener("pointerup",function(){F.current=!1,V.current=!1},{once:!0})))},[u.ACTIVE_COMPOSITE_ITEM]:P?"":void 0,onKeyDownCapture(){W.current=!0}},y,H]})});e.s(["TabsTab",0,m],309907);var x=e.i(982684),C=e.i(890979),R=e.i(562912);function y(){return R.NOOP}function E(){return!1}function k(){return!0}var T=e.i(115582);let I=((t={}).activeTabLeft="--active-tab-left",t.activeTabRight="--active-tab-right",t.activeTabTop="--active-tab-top",t.activeTabBottom="--active-tab-bottom",t.activeTabWidth="--active-tab-width",t.activeTabHeight="--active-tab-height",t),M=a.createContext(void 0),S={disableStyleElements:!1};var w=e.i(391398);let O={...T.tabsStateAttributesMapping,activeTabPosition:()=>null,activeTabSize:()=>null},L=a.forwardRef(function(e,t){let{className:i,render:n,renderBeforeHydration:r=!1,style:o,...l}=e,{nonce:u}=a.useContext(M)??S,{getTabElementBySelectedValue:d,orientation:f,tabActivationDirection:b,value:p}=(0,c.useTabsRootContext)(),{tabsListElement:v,registerIndicatorUpdateListener:g}=h(),m=(0,C.useSyncExternalStore)(y,E,k),R=function(){let[,e]=a.useState({});return a.useCallback(()=>{e({})},[])}();a.useEffect(()=>g(R),[g,R]);let T=0,L=0,A=0,N=0,_=0,D=0,z=!1;if(null!=p&&null!=v){let e=d(p);if(z=!0,null!=e){let{width:t,height:i}=(0,x.getCssDimensions)(e),{width:a,height:n}=(0,x.getCssDimensions)(v),r=e.getBoundingClientRect(),o=v.getBoundingClientRect(),s=a>0?o.width/a:1,l=n>0?o.height/n:1;if(Math.abs(s)>Number.EPSILON&&Math.abs(l)>Number.EPSILON){let e=r.left-o.left,t=r.top-o.top;T=e/s+v.scrollLeft-v.clientLeft,A=t/l+v.scrollTop-v.clientTop}else T=e.offsetLeft,A=e.offsetTop;_=t,D=i,L=v.scrollWidth-T-_,N=v.scrollHeight-A-D}}let P=a.useMemo(()=>z?{left:T,right:L,top:A,bottom:N}:null,[T,L,A,N,z]),W=a.useMemo(()=>z?{width:_,height:D}:null,[_,D,z]),j=a.useMemo(()=>{if(z)return{[I.activeTabLeft]:`${T}px`,[I.activeTabRight]:`${L}px`,[I.activeTabTop]:`${A}px`,[I.activeTabBottom]:`${N}px`,[I.activeTabWidth]:`${_}px`,[I.activeTabHeight]:`${D}px`}},[T,L,A,N,_,D,z]),H=z&&_>0&&D>0,B=(0,s.useRenderElement)("span",e,{state:{orientation:f,activeTabPosition:P,activeTabSize:W,tabActivationDirection:b},ref:t,props:[{role:"presentation",style:j,hidden:!H},l,{suppressHydrationWarning:!0}],stateAttributesMapping:O});return null==p?null:(0,w.jsxs)(a.Fragment,{children:[B,m&&r&&(0,w.jsx)("script",{nonce:u,dangerouslySetInnerHTML:{__html:'!function(){const t=document.currentScript.previousElementSibling;if(!t)return;const e=t.closest(\'[role="tablist"]\');if(!e)return;const i=e.querySelector("[data-active]");if(!i)return;if(0===i.offsetWidth||0===e.offsetWidth)return;let o=0,n=0,h=0,l=0,r=0,f=0;function s(t){const e=getComputedStyle(t);let i=parseFloat(e.width)||0,o=parseFloat(e.height)||0;return(Math.round(i)!==t.offsetWidth||Math.round(o)!==t.offsetHeight)&&(i=t.offsetWidth,o=t.offsetHeight),{width:i,height:o}}if(null!=i&&null!=e){const{width:t,height:c}=s(i),{width:u,height:d}=s(e),a=i.getBoundingClientRect(),g=e.getBoundingClientRect(),p=u>0?g.width/u:1,b=d>0?g.height/d:1;if(Math.abs(p)>Number.EPSILON&&Math.abs(b)>Number.EPSILON){const t=a.left-g.left,i=a.top-g.top;o=t/p+e.scrollLeft-e.clientLeft,h=i/b+e.scrollTop-e.clientTop}else o=i.offsetLeft,h=i.offsetTop;r=t,f=c,n=e.scrollWidth-o-r,l=e.scrollHeight-h-f}function c(e,i){t.style.setProperty(`--active-tab-${e}`,`${i}px`)}c("left",o),c("right",n),c("top",h),c("bottom",l),c("width",r),c("height",f),r>0&&f>0&&t.removeAttribute("hidden")}();'},suppressHydrationWarning:!0})]})});e.s(["TabsIndicator",0,L],599100);var A=e.i(455577),N=e.i(810377),_=e.i(118303),D=e.i(994142),z=e.i(898052);let P=((i={}).index="data-index",i.activationDirection="data-activation-direction",i.orientation="data-orientation",i.hidden="data-hidden",i[i.startingStyle=N.TransitionStatusDataAttributes.startingStyle]="startingStyle",i[i.endingStyle=N.TransitionStatusDataAttributes.endingStyle]="endingStyle",i),W={...T.tabsStateAttributesMapping,...N.transitionStatusMapping},j=a.forwardRef(function(e,t){let{className:i,value:n,render:l,keepMounted:u=!1,style:d,...f}=e,{value:b,getTabIdByPanelValue:h,orientation:p,tabActivationDirection:v,registerMountedTabPanel:g,unregisterMountedTabPanel:m}=(0,c.useTabsRootContext)(),x=(0,o.useBaseUiId)(),C=a.useMemo(()=>({id:x,value:n}),[x,n]),{ref:R,index:y}=(0,z.useCompositeListItem)({metadata:C}),E=n===b,{mounted:k,transitionStatus:T,setMounted:I}=(0,D.useTransitionStatus)(E),M=!k,S=h(n),w=a.useRef(null),O=(0,s.useRenderElement)("div",e,{state:{hidden:M,orientation:p,tabActivationDirection:v,transitionStatus:T},ref:[t,R,w],props:[{"aria-labelledby":S,hidden:M,id:x,role:"tabpanel",tabIndex:E?0:-1,inert:(0,A.inertValue)(!E),[P.index]:y},f],stateAttributesMapping:W});return((0,_.useOpenChangeComplete)({open:E,ref:w,onComplete(){E||I(!1)}}),(0,r.useIsoLayoutEffect)(()=>{if((!M||u)&&null!=x)return g(n,x),()=>{m(n,x)}},[M,u,n,x,g,m]),u||k)?O:null});e.s(["TabsPanel",0,j],909859)},66149,e=>{"use strict";var t=e.i(191788),i=e.i(751778),a=e.i(25104),n=e.i(978054),r=e.i(317575),o=e.i(848328),s=e.i(405979),l=e.i(772610);let u=[];var d=e.i(386969),c=e.i(950438),f=e.i(498800),b=e.i(562912),h=e.i(391398);e.s(["CompositeRoot",0,function(e){let{render:p,className:v,style:g,refs:m=b.EMPTY_ARRAY,props:x=b.EMPTY_ARRAY,state:C=b.EMPTY_OBJECT,stateAttributesMapping:R,highlightedIndex:y,onHighlightedIndexChange:E,orientation:k,dense:T,itemSizes:I,loopFocus:M,onLoop:S,cols:w,enableHomeAndEndKeys:O,onMapChange:L,stopEventPropagation:A=!0,rootRef:N,disabledIndices:_,modifierKeys:D,highlightItemOnHover:z=!1,tag:P="div",...W}=e,{props:j,highlightedIndex:H,onHighlightedIndexChange:B,elementsRef:K,onMapChange:F,relayKeyboardEvent:V}=function(e){let{itemSizes:i,cols:d=1,loopFocus:c=!0,onLoop:f,dense:b=!1,orientation:h="both",direction:p,highlightedIndex:v,onHighlightedIndexChange:g,rootRef:m,enableHomeAndEndKeys:x=!1,stopEventPropagation:C=!1,disabledIndices:R,modifierKeys:y=u}=e,[E,k]=t.useState(0),T=d>1,I=t.useRef(null),M=(0,n.useMergedRefs)(I,m),S=t.useRef([]),w=t.useRef(!1),O=v??E,L=(0,a.useStableCallback)((e,t=!1)=>{if((g??k)(e),t){let t=S.current[e];(0,r.scrollIntoViewIfNeeded)(I.current,t,p,h)}}),A=(0,a.useStableCallback)(e=>{if(0===e.size||w.current)return;w.current=!0;let t=Array.from(e.keys()),i=t.find(e=>e?.hasAttribute(s.ACTIVE_COMPOSITE_ITEM))??null,a=i?t.indexOf(i):-1;-1!==a&&L(a),(0,r.scrollIntoViewIfNeeded)(I.current,i,p,h)}),N=(0,a.useStableCallback)((e,t,i)=>f?f?.(e,t,i,S):i),_=t.useMemo(()=>({"aria-orientation":"both"===h?void 0:h,ref:M,onFocus(e){let t=I.current,i=(0,l.getTarget)(e.nativeEvent);t&&null!=i&&(0,r.isNativeInput)(i)&&i.setSelectionRange(0,i.value.length??0)},onKeyDown(e){let t=x?r.ALL_KEYS:r.ARROW_KEYS;if(!t.has(e.key)||function(e,t){for(let i of r.MODIFIER_KEYS.values())if(!t.includes(i)&&e.getModifierState(i))return!0;return!1}(e,y)||!I.current)return;let a="rtl"===p,n=a?r.ARROW_LEFT:r.ARROW_RIGHT,s={horizontal:n,vertical:r.ARROW_DOWN,both:n}[h],u=a?r.ARROW_RIGHT:r.ARROW_LEFT,v={horizontal:u,vertical:r.ARROW_UP,both:u}[h],g=(0,l.getTarget)(e.nativeEvent);if(null!=g&&(0,r.isNativeInput)(g)&&!(null==g||g.hasAttribute("disabled")||"true"===g.getAttribute("aria-disabled"))){let t=g.selectionStart,i=g.selectionEnd,a=g.value??"";if(null==t||e.shiftKey||t!==i||e.key!==v&&t<a.length||e.key!==s&&t>0)return}let m=O,E=(0,o.getMinListIndex)(S,R),k=(0,o.getMaxListIndex)(S,R);if(T){let t=i||Array.from({length:S.current.length},()=>({width:1,height:1})),n=(0,o.createGridCellMap)(t,d,b),s=n.findIndex(e=>null!=e&&!(0,o.isListIndexDisabled)(S.current,e,R)),l=n.reduce((e,t,i)=>null==t||(0,o.isListIndexDisabled)(S.current,t,R)?e:i,-1);m=n[(0,o.getGridNavigatedIndex)(n.map(e=>null!=e?S.current[e]:null),{event:e,orientation:h,loopFocus:c,onLoop:N,cols:d,disabledIndices:(0,o.getGridCellIndices)([...R||S.current.map((e,t)=>(0,o.isListIndexDisabled)(S.current,t)?t:void 0),void 0],n),minIndex:s,maxIndex:l,prevIndex:(0,o.getGridCellIndexOfCorner)(O>k?E:O,t,n,d,e.key===r.ARROW_DOWN?"bl":e.key===r.ARROW_RIGHT?"tr":"tl"),rtl:a})]}let M={horizontal:[n],vertical:[r.ARROW_DOWN],both:[n,r.ARROW_DOWN]}[h],w={horizontal:[u],vertical:[r.ARROW_UP],both:[u,r.ARROW_UP]}[h],A=T?t:({horizontal:x?r.HORIZONTAL_KEYS_WITH_EXTRA_KEYS:r.HORIZONTAL_KEYS,vertical:x?r.VERTICAL_KEYS_WITH_EXTRA_KEYS:r.VERTICAL_KEYS,both:t})[h];x&&(e.key===r.HOME?m=E:e.key===r.END&&(m=k)),m===O&&(M.includes(e.key)||w.includes(e.key))&&(c&&m===k&&M.includes(e.key)?(m=E,f&&(m=f(e,O,m,S))):c&&m===E&&w.includes(e.key)?(m=k,f&&(m=f(e,O,m,S))):m=(0,o.findNonDisabledListIndex)(S.current,{startingIndex:m,decrement:w.includes(e.key),disabledIndices:R})),m===O||(0,o.isIndexOutOfListBounds)(S.current,m)||(C&&e.stopPropagation(),A.has(e.key)&&e.preventDefault(),L(m,!0),queueMicrotask(()=>{S.current[m]?.focus()}))}}),[d,b,p,R,S,x,O,T,i,c,f,N,M,y,L,h,C]);return t.useMemo(()=>({props:_,highlightedIndex:O,onHighlightedIndexChange:L,elementsRef:S,disabledIndices:R,onMapChange:A,relayKeyboardEvent:_.onKeyDown}),[_,O,L,S,R,A])}({itemSizes:I,cols:w,loopFocus:M,onLoop:S,dense:T,orientation:k,highlightedIndex:y,onHighlightedIndexChange:E,rootRef:N,stopEventPropagation:A,enableHomeAndEndKeys:O,direction:(0,f.useDirection)(),disabledIndices:_,modifierKeys:D}),Y=(0,c.useRenderElement)(P,e,{state:C,ref:m,props:[j,...x,W],stateAttributesMapping:R}),U=t.useMemo(()=>({highlightedIndex:H,onHighlightedIndexChange:B,highlightItemOnHover:z,relayKeyboardEvent:V}),[H,B,z,V]);return(0,h.jsx)(d.CompositeRootContext.Provider,{value:U,children:(0,h.jsx)(i.CompositeList,{elementsRef:K,onMapChange:e=>{L?.(e),F(e)},children:Y})})}],66149)},550292,e=>{"use strict";var t=e.i(391398);e.i(198816);var i=e.i(496532),a=e.i(309907),n=e.i(599100),r=e.i(909859);e.i(350461);var o=e.i(191788),s=e.i(25104),l=e.i(66149),u=e.i(115582),d=e.i(513058),c=e.i(724471),f=e.i(562912);let b=o.forwardRef(function(e,i){let{activateOnFocus:a=!1,className:n,loopFocus:r=!0,render:b,style:h,...p}=e,{onValueChange:v,orientation:g,value:m,setTabMap:x,tabActivationDirection:C}=(0,d.useTabsRootContext)(),[R,y]=o.useState(0),[E,k]=o.useState(null),T=o.useRef(new Set),I=o.useRef(new Set),M=o.useRef(null),S=(0,s.useStableCallback)(()=>{T.current.forEach(e=>{e()})});o.useEffect(()=>{if("u"<typeof ResizeObserver)return;let e=new ResizeObserver(()=>{T.current.size&&S()});return M.current=e,E&&e.observe(E),I.current.forEach(t=>{e.observe(t)}),()=>{e.disconnect(),M.current=null}},[E,S]);let w=(0,s.useStableCallback)(e=>(T.current.add(e),()=>{T.current.delete(e)})),O=(0,s.useStableCallback)(e=>(I.current.add(e),M.current?.observe(e),()=>{I.current.delete(e),M.current?.unobserve(e)})),L=(0,s.useStableCallback)((e,t)=>{e!==m&&v(e,t)}),A=o.useMemo(()=>({activateOnFocus:a,highlightedTabIndex:R,registerIndicatorUpdateListener:w,registerTabResizeObserverElement:O,onTabActivation:L,setHighlightedTabIndex:y,tabsListElement:E}),[a,R,w,O,L,y,E]);return(0,t.jsx)(c.TabsListContext.Provider,{value:A,children:(0,t.jsx)(l.CompositeRoot,{render:b,className:n,style:h,state:{orientation:g,tabActivationDirection:C},refs:[i,k],props:[{"aria-orientation":"vertical"===g?"vertical":void 0,role:"tablist"},p],stateAttributesMapping:u.tabsStateAttributesMapping,highlightedIndex:R,enableHomeAndEndKeys:!0,loopFocus:r,orientation:g,onHighlightedIndexChange:y,onMapChange:x,disabledIndices:f.EMPTY_ARRAY})})});e.s(["Indicator",()=>n.TabsIndicator,"List",0,b,"Panel",()=>r.TabsPanel,"Root",()=>i.TabsRoot,"Tab",()=>a.TabsTab],977504);var h=e.i(977504),h=h,p=e.i(648684),v=e.i(353533);let g=(0,p.cva)("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});e.s(["Tabs",0,function({className:e,orientation:i="horizontal",...a}){return(0,t.jsx)(h.Root,{"data-slot":"tabs","data-orientation":i,className:(0,v.cn)("group/tabs flex gap-2 data-horizontal:flex-col",e),...a})},"TabsContent",0,function({className:e,...i}){return(0,t.jsx)(h.Panel,{"data-slot":"tabs-content",className:(0,v.cn)("flex-1 text-sm outline-none",e),...i})},"TabsList",0,function({className:e,variant:i="default",...a}){return(0,t.jsx)(h.List,{"data-slot":"tabs-list","data-variant":i,className:(0,v.cn)(g({variant:i}),e),...a})},"TabsTrigger",0,function({className:e,...i}){return(0,t.jsx)(h.Tab,{"data-slot":"tabs-trigger",className:(0,v.cn)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent","data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",e),...i})}],550292)},130027,540574,e=>{"use strict";var t,i=e.i(391398);e.s([],409653),e.i(409653),e.i(350461);var a=e.i(191788),n=e.i(176955),r=e.i(25104),o=e.i(978054),s=e.i(95349),l=e.i(931497),u=e.i(562912),d=e.i(950438),c=e.i(977848),f=e.i(147652),b=e.i(768802),h=e.i(579907);let p=a.createContext(void 0);var v=e.i(963934);let g=((t={}).checked="data-checked",t.unchecked="data-unchecked",t.disabled="data-disabled",t.readonly="data-readonly",t.required="data-required",t.valid="data-valid",t.invalid="data-invalid",t.touched="data-touched",t.dirty="data-dirty",t.filled="data-filled",t.focused="data-focused",t),m={...v.fieldValidityMapping,checked:e=>e?{[g.checked]:""}:{[g.unchecked]:""}};var x=e.i(663735),C=e.i(560023),R=e.i(508430),y=e.i(630260);function E(e,t,i,n=!0,r){let[o,l]=a.useState(),u=(0,f.useBaseUiId)(r?`${r}-label`:void 0),d=e??t??o;return(0,s.useIsoLayoutEffect)(()=>{let a=e||t||!n?void 0:function(e,t){let i=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let i=e.id;if(i){let t=e.nextElementSibling;if(t&&t.htmlFor===i)return t}let a=e.labels;return a&&a[0]}(e);if(i)return!i.id&&t&&(i.id=t),i.id||void 0}(i.current,u);o!==a&&l(a)}),d}e.s(["useAriaLabelledBy",0,E],540574);var k=e.i(112572),T=e.i(967529),I=e.i(475048),M=e.i(138252);let S=a.forwardRef(function(e,t){let{checked:h,className:v,defaultChecked:g,"aria-labelledby":S,form:w,id:O,inputRef:L,name:A,nativeButton:N=!1,onCheckedChange:_,readOnly:D=!1,required:z=!1,disabled:P=!1,render:W,uncheckedValue:j,value:H,style:B,...K}=e,{clearErrors:F}=(0,R.useFormContext)(),{state:V,setTouched:Y,setDirty:U,validityData:G,setFilled:$,setFocused:q,shouldValidateOnChange:J,validationMode:X,disabled:Z,name:Q,validation:ee}=(0,x.useFieldRootContext)(),{labelId:et}=(0,y.useLabelableContext)(),ei=Z||P,ea=Q??A,en=(0,r.useStableCallback)(_),er=a.useRef(null),eo=(0,o.useMergedRefs)(er,L,ee.inputRef),es=a.useRef(null),el=(0,f.useBaseUiId)(),eu=(0,k.useLabelableId)({id:O,implicit:!1,controlRef:es}),ed=N?void 0:eu,[ec,ef]=(0,n.useControlled)({controlled:h,default:!!g,name:"Switch",state:"checked"});(0,C.useRegisterFieldControl)(es,{id:el,value:ec}),(0,s.useIsoLayoutEffect)(()=>{er.current&&$(er.current.checked)},[er,$]),(0,M.useValueChanged)(ec,()=>{F(ea),U(ec!==G.initialValue),$(ec),J()?ee.commit(ec):ee.commit(ec,!0)});let{getButtonProps:eb,buttonRef:eh}=(0,b.useButton)({disabled:ei,native:N}),ep=E(S,et,er,!N,ed),ev=a.useMemo(()=>(0,c.mergeProps)({checked:ec,disabled:ei,form:w,id:ed,name:ea,required:z,style:ea?l.visuallyHiddenInput:l.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:eo,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(D)return void e.preventDefault();let t=e.currentTarget.checked,i=(0,T.createChangeEventDetails)(I.REASONS.none,e.nativeEvent);en?.(t,i),i.isCanceled||ef(t)},onFocus(){es.current?.focus()}},ee.getInputValidationProps,void 0!==H?{value:H}:u.EMPTY_OBJECT),[ec,ei,w,eo,ed,ea,en,D,z,ef,ee,H]),eg=a.useMemo(()=>({...V,checked:ec,disabled:ei,readOnly:D,required:z}),[V,ec,ei,D,z]),em=(0,d.useRenderElement)("span",e,{state:eg,ref:[t,es,eh],props:[{id:N?eu:el,role:"switch","aria-checked":ec,"aria-readonly":D||void 0,"aria-required":z||void 0,"aria-labelledby":ep,onFocus(){ei||q(!0)},onBlur(){let e=er.current;e&&!ei&&(Y(!0),q(!1),"onBlur"===X&&ee.commit(e.checked))},onClick(e){D||ei||(e.preventDefault(),er.current?.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},ee.getValidationProps,K,eb],stateAttributesMapping:m});return(0,i.jsxs)(p.Provider,{value:eg,children:[em,!ec&&ea&&void 0!==j&&(0,i.jsx)("input",{type:"hidden",form:w,name:ea,value:j}),(0,i.jsx)("input",{...ev,suppressHydrationWarning:!0})]})}),w=a.forwardRef(function(e,t){let{render:i,className:n,style:r,...o}=e,{state:s}=(0,x.useFieldRootContext)(),l=function(){let e=a.useContext(p);if(void 0===e)throw Error((0,h.default)(63));return e}(),u={...s,...l};return(0,d.useRenderElement)("span",e,{state:u,ref:t,stateAttributesMapping:m,props:o})});e.s(["Root",0,S,"Thumb",0,w],190428);var O=e.i(190428),O=O,L=e.i(353533);e.s(["Switch",0,function({className:e,size:t="default",...a}){return(0,i.jsx)(O.Root,{"data-slot":"switch","data-size":t,className:(0,L.cn)("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",e),...a,children:(0,i.jsx)(O.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})})}],130027)},91762,e=>{"use strict";var t=e.i(391398),i=e.i(353533);e.s(["Label",0,function({className:e,...a}){return(0,t.jsx)("label",{"data-slot":"label",className:(0,i.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...a})}])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,86536,(e,o,s)=>{o.exports={workspaceList:"工作区列表",addWorkspace:"添加工作区",noWorkspaces:"没有工作区",deleteWorkspace:"删除工作区",deleteWorkspaceConfirm:"关闭工作区「{name}」?",notes:"笔记",stats:"使用统计",collapseSidebar:"收起侧边栏",expandSidebar:"展开侧边栏"}}]);
@@ -1,23 +0,0 @@
1
- __turbopack_load_page_chunks__("/webview", [
2
- "static/chunks/0h7n~i8gk~-a2.js",
3
- "static/chunks/0ro78lxc~ndn_.js",
4
- "static/chunks/0.ecwkadp7-hq.js",
5
- "static/chunks/05y90.zbqijkv.js",
6
- "static/chunks/0h-7ntqpip4oi.js",
7
- "static/chunks/07rq~qv9ldwo~.js",
8
- "static/chunks/14_wa..vd6~2y.js",
9
- "static/chunks/0.znxwgo-re2m.js",
10
- "static/chunks/11gch78bg_qsn.js",
11
- "static/chunks/15aj3kd.p7zw6.js",
12
- "static/chunks/0i2uqmry6cyl_.js",
13
- "static/chunks/00yfl7agnve...js",
14
- "static/chunks/0wlz6--vu7adu.js",
15
- "static/chunks/0-ku865ak6iur.js",
16
- "static/chunks/0ml5~2ty-rbv_.js",
17
- "static/chunks/0ea-k_kbq5gi1.js",
18
- "static/chunks/0efkrks2gm27v.js",
19
- "static/chunks/0wp13r5su.j3e.js",
20
- "static/chunks/11nk1lwom62oe.js",
21
- "static/chunks/0t2val7bf4~s7.js",
22
- "static/chunks/turbopack-17.piokhhz77b.js"
23
- ])
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,920955,(e,t,r)=>{var a={229:function(e){var t,r,a,n=e.exports={};function i(){throw Error("setTimeout has not been defined")}function s(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}function o(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var c=[],l=!1,u=-1;function d(){l&&a&&(l=!1,a.length?c=a.concat(c):u=-1,c.length&&f())}function f(){if(!l){var e=o(d);l=!0;for(var t=c.length;t;){for(a=c,c=[];++u<t;)a&&a[u].run();u=-1,t=c.length}a=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function h(){}n.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new p(e,t)),1!==c.length||l||o(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=h,n.addListener=h,n.once=h,n.off=h,n.removeListener=h,n.removeAllListeners=h,n.emit=h,n.prependListener=h,n.prependOnceListener=h,n.listeners=function(e){return[]},n.binding=function(e){throw Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw Error("process.chdir is not supported")},n.umask=function(){return 0}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={exports:{}},s=!0;try{a[e](r,r.exports,i),s=!1}finally{s&&delete n[e]}return r.exports}i.ab="/ROOT/node_modules/next/dist/compiled/process/",t.exports=i(229)},350461,(e,t,r)=>{"use strict";var a,n;t.exports=(null==(a=e.g.process)?void 0:a.env)&&"object"==typeof(null==(n=e.g.process)?void 0:n.env)?e.g.process:e.r(920955)},708481,(e,t,r)=>{"use strict";var a=Symbol.for("react.transitional.element");function n(e,t,r){var n=null;if(void 0!==r&&(n=""+r),void 0!==t.key&&(n=""+t.key),"key"in t)for(var i in r={},t)"key"!==i&&(r[i]=t[i]);else r=t;return{$$typeof:a,type:e,key:n,ref:void 0!==(t=r.ref)?t:null,props:r}}r.Fragment=Symbol.for("react.fragment"),r.jsx=n,r.jsxs=n},391398,(e,t,r)=>{"use strict";t.exports=e.r(708481)},361556,(e,t,r)=>{"use strict";var a=e.i(350461),n=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),u=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),y=Symbol.iterator,g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,S={};function v(e,t,r){this.props=e,this.context=t,this.refs=S,this.updater=r||g}function w(){}function T(e,t,r){this.props=e,this.context=t,this.refs=S,this.updater=r||g}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=v.prototype;var k=T.prototype=new w;k.constructor=T,m(k,v.prototype),k.isPureReactComponent=!0;var I=Array.isArray;function P(){}var E={H:null,A:null,T:null,S:null},C=Object.prototype.hasOwnProperty;function O(e,t,r){var a=r.ref;return{$$typeof:n,type:e,key:t,ref:void 0!==a?a:null,props:r}}function $(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var A=/\/+/g;function _(e,t){var r,a;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,a={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return a[e]})):t.toString(36)}function M(e,t,r){if(null==e)return e;var a=[],s=0;return!function e(t,r,a,s,o){var c,l,u,d=typeof t;("undefined"===d||"boolean"===d)&&(t=null);var f=!1;if(null===t)f=!0;else switch(d){case"bigint":case"string":case"number":f=!0;break;case"object":switch(t.$$typeof){case n:case i:f=!0;break;case h:return e((f=t._init)(t._payload),r,a,s,o)}}if(f)return o=o(t),f=""===s?"."+_(t,0):s,I(o)?(a="",null!=f&&(a=f.replace(A,"$&/")+"/"),e(o,r,a,"",function(e){return e})):null!=o&&($(o)&&(c=o,l=a+(null==o.key||t&&t.key===o.key?"":(""+o.key).replace(A,"$&/")+"/")+f,o=O(c.type,l,c.props)),r.push(o)),1;f=0;var p=""===s?".":s+":";if(I(t))for(var b=0;b<t.length;b++)d=p+_(s=t[b],b),f+=e(s,r,a,d,o);else if("function"==typeof(b=null===(u=t)||"object"!=typeof u?null:"function"==typeof(u=y&&u[y]||u["@@iterator"])?u:null))for(t=b.call(t),b=0;!(s=t.next()).done;)d=p+_(s=s.value,b++),f+=e(s,r,a,d,o);else if("object"===d){if("function"==typeof t.then)return e(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(P,P):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(t),r,a,s,o);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(r=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.")}return f}(e,a,"","",function(e){return t.call(r,e,s++)}),a}function D(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var L="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof a.default&&"function"==typeof a.default.emit)return void a.default.emit("uncaughtException",e);console.error(e)};r.Activity=b,r.Children={map:M,forEach:function(e,t,r){M(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return M(e,function(){t++}),t},toArray:function(e){return M(e,function(e){return e})||[]},only:function(e){if(!$(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},r.Component=v,r.Fragment=s,r.Profiler=c,r.PureComponent=T,r.StrictMode=o,r.Suspense=f,r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=E,r.__COMPILER_RUNTIME={__proto__:null,c:function(e){return E.H.useMemoCache(e)}},r.cache=function(e){return function(){return e.apply(null,arguments)}},r.cacheSignal=function(){return null},r.cloneElement=function(e,t,r){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var a=m({},e.props),n=e.key;if(null!=t)for(i in void 0!==t.key&&(n=""+t.key),t)C.call(t,i)&&"key"!==i&&"__self"!==i&&"__source"!==i&&("ref"!==i||void 0!==t.ref)&&(a[i]=t[i]);var i=arguments.length-2;if(1===i)a.children=r;else if(1<i){for(var s=Array(i),o=0;o<i;o++)s[o]=arguments[o+2];a.children=s}return O(e.type,n,a)},r.createContext=function(e){return(e={$$typeof:u,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:l,_context:e},e},r.createElement=function(e,t,r){var a,n={},i=null;if(null!=t)for(a in void 0!==t.key&&(i=""+t.key),t)C.call(t,a)&&"key"!==a&&"__self"!==a&&"__source"!==a&&(n[a]=t[a]);var s=arguments.length-2;if(1===s)n.children=r;else if(1<s){for(var o=Array(s),c=0;c<s;c++)o[c]=arguments[c+2];n.children=o}if(e&&e.defaultProps)for(a in s=e.defaultProps)void 0===n[a]&&(n[a]=s[a]);return O(e,i,n)},r.createRef=function(){return{current:null}},r.forwardRef=function(e){return{$$typeof:d,render:e}},r.isValidElement=$,r.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:D}},r.memo=function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},r.startTransition=function(e){var t=E.T,r={};E.T=r;try{var a=e(),n=E.S;null!==n&&n(r,a),"object"==typeof a&&null!==a&&"function"==typeof a.then&&a.then(P,L)}catch(e){L(e)}finally{null!==t&&null!==r.types&&(t.types=r.types),E.T=t}},r.unstable_useCacheRefresh=function(){return E.H.useCacheRefresh()},r.use=function(e){return E.H.use(e)},r.useActionState=function(e,t,r){return E.H.useActionState(e,t,r)},r.useCallback=function(e,t){return E.H.useCallback(e,t)},r.useContext=function(e){return E.H.useContext(e)},r.useDebugValue=function(){},r.useDeferredValue=function(e,t){return E.H.useDeferredValue(e,t)},r.useEffect=function(e,t){return E.H.useEffect(e,t)},r.useEffectEvent=function(e){return E.H.useEffectEvent(e)},r.useId=function(){return E.H.useId()},r.useImperativeHandle=function(e,t,r){return E.H.useImperativeHandle(e,t,r)},r.useInsertionEffect=function(e,t){return E.H.useInsertionEffect(e,t)},r.useLayoutEffect=function(e,t){return E.H.useLayoutEffect(e,t)},r.useMemo=function(e,t){return E.H.useMemo(e,t)},r.useOptimistic=function(e,t){return E.H.useOptimistic(e,t)},r.useReducer=function(e,t,r){return E.H.useReducer(e,t,r)},r.useRef=function(e){return E.H.useRef(e)},r.useState=function(e){return E.H.useState(e)},r.useSyncExternalStore=function(e,t,r){return E.H.useSyncExternalStore(e,t,r)},r.useTransition=function(){return E.H.useTransition()},r.version="19.2.5"},191788,(e,t,r)=>{"use strict";t.exports=e.r(361556)},17431,(e,t,r)=>{"use strict";var a=e.r(191788);function n(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(){}var s={d:{f:i,r:function(){throw Error(n(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},o=Symbol.for("react.portal"),c=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(e,t){return"font"===e?"":"string"==typeof t?"use-credentials"===t?t:"":void 0}r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=s,r.createPortal=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!t||1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType)throw Error(n(299));return function(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:o,key:null==a?null:""+a,children:e,containerInfo:t,implementation:r}}(e,t,null,r)},r.flushSync=function(e){var t=c.T,r=s.p;try{if(c.T=null,s.p=2,e)return e()}finally{c.T=t,s.p=r,s.d.f()}},r.preconnect=function(e,t){"string"==typeof e&&(t=t?"string"==typeof(t=t.crossOrigin)?"use-credentials"===t?t:"":void 0:null,s.d.C(e,t))},r.prefetchDNS=function(e){"string"==typeof e&&s.d.D(e)},r.preinit=function(e,t){if("string"==typeof e&&t&&"string"==typeof t.as){var r=t.as,a=l(r,t.crossOrigin),n="string"==typeof t.integrity?t.integrity:void 0,i="string"==typeof t.fetchPriority?t.fetchPriority:void 0;"style"===r?s.d.S(e,"string"==typeof t.precedence?t.precedence:void 0,{crossOrigin:a,integrity:n,fetchPriority:i}):"script"===r&&s.d.X(e,{crossOrigin:a,integrity:n,fetchPriority:i,nonce:"string"==typeof t.nonce?t.nonce:void 0})}},r.preinitModule=function(e,t){if("string"==typeof e)if("object"==typeof t&&null!==t){if(null==t.as||"script"===t.as){var r=l(t.as,t.crossOrigin);s.d.M(e,{crossOrigin:r,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0})}}else null==t&&s.d.M(e)},r.preload=function(e,t){if("string"==typeof e&&"object"==typeof t&&null!==t&&"string"==typeof t.as){var r=t.as,a=l(r,t.crossOrigin);s.d.L(e,r,{crossOrigin:a,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,type:"string"==typeof t.type?t.type:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0,referrerPolicy:"string"==typeof t.referrerPolicy?t.referrerPolicy:void 0,imageSrcSet:"string"==typeof t.imageSrcSet?t.imageSrcSet:void 0,imageSizes:"string"==typeof t.imageSizes?t.imageSizes:void 0,media:"string"==typeof t.media?t.media:void 0})}},r.preloadModule=function(e,t){if("string"==typeof e)if(t){var r=l(t.as,t.crossOrigin);s.d.m(e,{as:"string"==typeof t.as&&"script"!==t.as?t.as:void 0,crossOrigin:r,integrity:"string"==typeof t.integrity?t.integrity:void 0})}else s.d.m(e)},r.requestFormReset=function(e){s.d.r(e)},r.unstable_batchedUpdates=function(e,t){return e(t)},r.useFormState=function(e,t,r){return c.H.useFormState(e,t,r)},r.useFormStatus=function(){return c.H.useHostTransitionStatus()},r.version="19.2.5"},730943,(e,t,r)=>{"use strict";!function e(){if("u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),t.exports=e.r(17431)},494834,(e,t,r)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",r="minute",a="hour",n="week",i="month",s="quarter",o="year",c="date",l="Invalid Date",u=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|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,f=function(e,t,r){var a=String(e);return!a||a.length>=t?e:""+Array(t+1-a.length).join(r)+e},p="en",h={};h[p]={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(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}};var b="$isDayjsObject",y=function(e){return e instanceof v||!(!e||!e[b])},g=function e(t,r,a){var n;if(!t)return p;if("string"==typeof t){var i=t.toLowerCase();h[i]&&(n=i),r&&(h[i]=r,n=i);var s=t.split("-");if(!n&&s.length>1)return e(s[0])}else{var o=t.name;h[o]=t,n=o}return!a&&n&&(p=n),n||!a&&p},m=function(e,t){if(y(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new v(r)},S={s:f,z:function(e){var t=-e.utcOffset(),r=Math.abs(t);return(t<=0?"+":"-")+f(Math.floor(r/60),2,"0")+":"+f(r%60,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var a=12*(r.year()-t.year())+(r.month()-t.month()),n=t.clone().add(a,i),s=r-n<0,o=t.clone().add(a+(s?-1:1),i);return+(-(a+(r-n)/(s?n-o:o-n))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(l){return({M:i,y:o,w:n,d:"day",D:c,h:a,m:r,s:t,ms:e,Q:s})[l]||String(l||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};S.l=g,S.i=y,S.w=function(e,t){return m(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var v=function(){function f(e){this.$L=g(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[b]=!0}var p=f.prototype;return p.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(S.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var a=t.match(u);if(a){var n=a[2]-1||0,i=(a[7]||"0").substring(0,3);return r?new Date(Date.UTC(a[1],n,a[3]||1,a[4]||0,a[5]||0,a[6]||0,i)):new Date(a[1],n,a[3]||1,a[4]||0,a[5]||0,a[6]||0,i)}}return new Date(t)}(e),this.init()},p.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},p.$utils=function(){return S},p.isValid=function(){return this.$d.toString()!==l},p.isSame=function(e,t){var r=m(e);return this.startOf(t)<=r&&r<=this.endOf(t)},p.isAfter=function(e,t){return m(e)<this.startOf(t)},p.isBefore=function(e,t){return this.endOf(t)<m(e)},p.$g=function(e,t,r){return S.u(e)?this[t]:this.set(r,e)},p.unix=function(){return Math.floor(this.valueOf()/1e3)},p.valueOf=function(){return this.$d.getTime()},p.startOf=function(e,s){var l=this,u=!!S.u(s)||s,d=S.p(e),f=function(e,t){var r=S.w(l.$u?Date.UTC(l.$y,t,e):new Date(l.$y,t,e),l);return u?r:r.endOf("day")},p=function(e,t){return S.w(l.toDate()[e].apply(l.toDate("s"),(u?[0,0,0,0]:[23,59,59,999]).slice(t)),l)},h=this.$W,b=this.$M,y=this.$D,g="set"+(this.$u?"UTC":"");switch(d){case o:return u?f(1,0):f(31,11);case i:return u?f(1,b):f(0,b+1);case n:var m=this.$locale().weekStart||0,v=(h<m?h+7:h)-m;return f(u?y-v:y+(6-v),b);case"day":case c:return p(g+"Hours",0);case a:return p(g+"Minutes",1);case r:return p(g+"Seconds",2);case t:return p(g+"Milliseconds",3);default:return this.clone()}},p.endOf=function(e){return this.startOf(e,!1)},p.$set=function(n,s){var l,u=S.p(n),d="set"+(this.$u?"UTC":""),f=((l={}).day=d+"Date",l[c]=d+"Date",l[i]=d+"Month",l[o]=d+"FullYear",l[a]=d+"Hours",l[r]=d+"Minutes",l[t]=d+"Seconds",l[e]=d+"Milliseconds",l)[u],p="day"===u?this.$D+(s-this.$W):s;if(u===i||u===o){var h=this.clone().set(c,1);h.$d[f](p),h.init(),this.$d=h.set(c,Math.min(this.$D,h.daysInMonth())).$d}else f&&this.$d[f](p);return this.init(),this},p.set=function(e,t){return this.clone().$set(e,t)},p.get=function(e){return this[S.p(e)]()},p.add=function(e,s){var c,l=this;e=Number(e);var u=S.p(s),d=function(t){var r=m(l);return S.w(r.date(r.date()+Math.round(t*e)),l)};if(u===i)return this.set(i,this.$M+e);if(u===o)return this.set(o,this.$y+e);if("day"===u)return d(1);if(u===n)return d(7);var f=((c={})[r]=6e4,c[a]=36e5,c[t]=1e3,c)[u]||1,p=this.$d.getTime()+e*f;return S.w(p,this)},p.subtract=function(e,t){return this.add(-1*e,t)},p.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||l;var a=e||"YYYY-MM-DDTHH:mm:ssZ",n=S.z(this),i=this.$H,s=this.$m,o=this.$M,c=r.weekdays,u=r.months,f=r.meridiem,p=function(e,r,n,i){return e&&(e[r]||e(t,a))||n[r].slice(0,i)},h=function(e){return S.s(i%12||12,e,"0")},b=f||function(e,t,r){var a=e<12?"AM":"PM";return r?a.toLowerCase():a};return a.replace(d,function(e,a){return a||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return S.s(t.$y,4,"0");case"M":return o+1;case"MM":return S.s(o+1,2,"0");case"MMM":return p(r.monthsShort,o,u,3);case"MMMM":return p(u,o);case"D":return t.$D;case"DD":return S.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return p(r.weekdaysMin,t.$W,c,2);case"ddd":return p(r.weekdaysShort,t.$W,c,3);case"dddd":return c[t.$W];case"H":return String(i);case"HH":return S.s(i,2,"0");case"h":return h(1);case"hh":return h(2);case"a":return b(i,s,!0);case"A":return b(i,s,!1);case"m":return String(s);case"mm":return S.s(s,2,"0");case"s":return String(t.$s);case"ss":return S.s(t.$s,2,"0");case"SSS":return S.s(t.$ms,3,"0");case"Z":return n}return null}(e)||n.replace(":","")})},p.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},p.diff=function(e,c,l){var u,d=this,f=S.p(c),p=m(e),h=(p.utcOffset()-this.utcOffset())*6e4,b=this-p,y=function(){return S.m(d,p)};switch(f){case o:u=y()/12;break;case i:u=y();break;case s:u=y()/3;break;case n:u=(b-h)/6048e5;break;case"day":u=(b-h)/864e5;break;case a:u=b/36e5;break;case r:u=b/6e4;break;case t:u=b/1e3;break;default:u=b}return l?u:S.a(u)},p.daysInMonth=function(){return this.endOf(i).$D},p.$locale=function(){return h[this.$L]},p.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),a=g(e,t,!0);return a&&(r.$L=a),r},p.clone=function(){return S.w(this.$d,this)},p.toDate=function(){return new Date(this.valueOf())},p.toJSON=function(){return this.isValid()?this.toISOString():null},p.toISOString=function(){return this.$d.toISOString()},p.toString=function(){return this.$d.toUTCString()},f}(),w=v.prototype;return m.prototype=w,[["$ms",e],["$s",t],["$m",r],["$H",a],["$W","day"],["$M",i],["$y",o],["$D",c]].forEach(function(e){w[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),m.extend=function(e,t){return e.$i||(e(t,v,m),e.$i=!0),m},m.locale=g,m.isDayjs=y,m.unix=function(e){return m(1e3*e)},m.en=h[p],m.Ls=h,m.p={},m}()},889129,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return v},NormalizeError:function(){return m},PageNotFoundError:function(){return S},SP:function(){return b},ST:function(){return y},WEB_VITALS:function(){return i},execOnce:function(){return s},getDisplayName:function(){return d},getLocationOrigin:function(){return l},getURL:function(){return u},isAbsoluteUrl:function(){return c},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return T}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,r=!1;return(...a)=>(r||(r=!0,t=e(...a)),t)}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,c=e=>o.test(e);function l(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=l();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let a=await e.getInitialProps(t);if(r&&f(r))return a;if(!a)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${a}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return a}let b="u">typeof performance,y=b&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class m extends Error{}class S extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function T(e){return JSON.stringify({message:e.message,stack:e.stack})}},203828,(e,t,r)=>{t.exports=e.r(926990)},29803,e=>{"use strict";let t=!!window.electronAPI;e.s(["default",0,t])},603331,728350,e=>{"use strict";var t=e.i(191788),r=(e,t,r,a,n,i,s,o)=>{let c=document.documentElement,l=["light","dark"];function u(t){var r;(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,a=r&&i?n.map(e=>i[e]||e):n;r?(c.classList.remove(...a),c.classList.add(i&&i[t]?i[t]:t)):c.setAttribute(e,t)}),r=t,o&&l.includes(r)&&(c.style.colorScheme=r)}if(a)u(a);else try{let e=localStorage.getItem(t)||r,a=s&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;u(a)}catch(e){}},a=["light","dark"],n="(prefers-color-scheme: dark)",i="u"<typeof window,s=t.createContext(void 0),o={setTheme:e=>{},themes:[]},c=["light","dark"],l=({forcedTheme:e,disableTransitionOnChange:r=!1,enableSystem:i=!0,enableColorScheme:o=!0,storageKey:l="theme",themes:h=c,defaultTheme:b=i?"system":"light",attribute:y="data-theme",value:g,children:m,nonce:S,scriptProps:v})=>{let[w,T]=t.useState(()=>d(l,b)),[k,I]=t.useState(()=>"system"===w?p():w),P=g?Object.values(g):h,E=t.useCallback(e=>{let t=e;if(!t)return;"system"===e&&i&&(t=p());let n=g?g[t]:t,s=r?f(S):null,c=document.documentElement,l=e=>{"class"===e?(c.classList.remove(...P),n&&c.classList.add(n)):e.startsWith("data-")&&(n?c.setAttribute(e,n):c.removeAttribute(e))};if(Array.isArray(y)?y.forEach(l):l(y),o){let e=a.includes(b)?b:null,r=a.includes(t)?t:e;c.style.colorScheme=r}null==s||s()},[S]),C=t.useCallback(e=>{let t="function"==typeof e?e(w):e;T(t);try{localStorage.setItem(l,t)}catch(e){}},[w]),O=t.useCallback(t=>{I(p(t)),"system"===w&&i&&!e&&E("system")},[w,e]);t.useEffect(()=>{let e=window.matchMedia(n);return e.addListener(O),O(e),()=>e.removeListener(O)},[O]),t.useEffect(()=>{let e=e=>{e.key===l&&(e.newValue?T(e.newValue):C(b))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[C]),t.useEffect(()=>{E(null!=e?e:w)},[e,w]);let $=t.useMemo(()=>({theme:w,setTheme:C,forcedTheme:e,resolvedTheme:"system"===w?k:w,themes:i?[...h,"system"]:h,systemTheme:i?k:void 0}),[w,C,e,k,i,h]);return t.createElement(s.Provider,{value:$},t.createElement(u,{forcedTheme:e,storageKey:l,attribute:y,enableSystem:i,enableColorScheme:o,defaultTheme:b,value:g,themes:h,nonce:S,scriptProps:v}),m)},u=t.memo(({forcedTheme:e,storageKey:a,attribute:n,enableSystem:i,enableColorScheme:s,defaultTheme:o,value:c,themes:l,nonce:u,scriptProps:d})=>{let f=JSON.stringify([n,a,o,e,l,c,i,s]).slice(1,-1);return t.createElement("script",{...d,suppressHydrationWarning:!0,nonce:"u"<typeof window?u:"",dangerouslySetInnerHTML:{__html:`(${r.toString()})(${f})`}})}),d=(e,t)=>{let r;if(!i){try{r=localStorage.getItem(e)||void 0}catch(e){}return r||t}},f=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.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(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},p=e=>(e||(e=window.matchMedia(n)),e.matches?"dark":"light");e.s(["ThemeProvider",0,e=>t.useContext(s)?t.createElement(t.Fragment,null,e.children):t.createElement(l,{...e}),"useTheme",0,()=>{var e;return null!=(e=t.useContext(s))?e:o}],603331);let h=[{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"}}];e.s(["DEFAULT_THEME_IDS",0,{light:"catppuccin-latte",dark:"snazzy"},"TERMINAL_THEMES",0,h,"getTerminalTheme",0,e=>h.find(t=>t.id===e)??h[0]],728350)},490034,844044,e=>{"use strict";var t=e.i(505888),r=e.i(679935),a=e.i(31050);let n=null,i=(e,t)=>{if(!n)return t;let r=a.default.getState().locale,i=n[r]?.[e]??n.en?.[e];return i?.[t]??t};e.s(["setMessages",0,e=>{n=e},"t",0,i],844044);let s=(()=>{{let e=window.__SB__;if(e)return{sidebarWidth:e.w,sidebarCollapsed:e.c,sidebarTab:"sessions"===e.t?"sessions":"workspace"}}return{sidebarWidth:240,sidebarCollapsed:!1,sidebarTab:"workspace"}})(),o=[],c=!0,l=e=>{try{e?sessionStorage.setItem("active-ws",e):sessionStorage.removeItem("active-ws")}catch{}},u=e=>{fetch("/api/workspace/active",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({activeWorkspaceId:e})}).catch(()=>{})},d=(e,t)=>{let r,a=(r=window.__SB__,r?.a??null);return a&&e.some(e=>e.id===a)?a:t&&e.some(e=>e.id===t)?t:e[0]?.id??null},f=e=>{fetch("/api/workspace/active",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).catch(e=>{console.log(`[workspace-store] active update failed: ${e instanceof Error?e.message:e}`)})},p=0,h=0,b=0,y=()=>{b=p},g=(0,t.create)((e,t)=>({workspaces:o,activeWorkspaceId:o.length>0?d(o):null,sidebarCollapsed:s.sidebarCollapsed,sidebarWidth:s.sidebarWidth,sidebarTab:s.sidebarTab,isSettingsDialogOpen:!1,isCheatSheetOpen:!1,isLoading:c,error:null,pendingDeleteIds:new Set,hydrate:t=>{let r=d(t.workspaces,t.activeWorkspaceId);l(r),r&&u(r),e({workspaces:t.workspaces,activeWorkspaceId:r,sidebarCollapsed:t.sidebarCollapsed,sidebarWidth:t.sidebarWidth,isLoading:!1,error:null})},fetchWorkspaces:async()=>{e({isLoading:!0,error:null});try{let t=await fetch("/api/workspace");if(!t.ok)throw Error();let r=await t.json(),a=d(r.workspaces,r.activeWorkspaceId);l(a),e({workspaces:r.workspaces,activeWorkspaceId:a,sidebarCollapsed:r.sidebarCollapsed??!1,sidebarWidth:r.sidebarWidth??240,isLoading:!1})}catch{e({error:i("workspace","fetchError"),isLoading:!1})}},syncWorkspaces:async()=>{let r=++p;try{let a=await fetch("/api/workspace");if(!a.ok)return;let n=await a.json();if(r<h||r<=b)return;h=r;let i=t().workspaces,s=t().pendingDeleteIds,o=n.workspaces,c=new Map(o.map(e=>[e.id,e])),l=[],u=new Set;for(let e of i){let t=c.get(e.id);t?(l.push(t),u.add(e.id)):s.has(e.id)&&(l.push(e),u.add(e.id))}for(let e of o)!u.has(e.id)&&(s.has(e.id)||l.push(e));if(JSON.stringify(i)===JSON.stringify(l))return;e({workspaces:l})}catch(e){console.log(`[workspace-store] sync error: ${e instanceof Error?e.message:e}`)}},createWorkspace:async(t,a,n)=>{try{let r=await fetch("/api/workspace",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:t,name:a,resumeSessionId:n})});if(!r.ok){let e=await r.json();throw Error(e.error||i("workspace","createFailed"))}let s=await r.json();return y(),e(e=>({workspaces:e.workspaces.some(e=>e.id===s.id)?e.workspaces:[...e.workspaces,s]})),s}catch(t){let e=t instanceof Error?t.message:i("workspace","createFailed");return r.toast.error(e),null}},deleteWorkspace:async e=>{try{let t=await fetch(`/api/workspace/${e}`,{method:"DELETE"});if(!t.ok&&404!==t.status)throw Error();return y(),!0}catch{return r.toast.error(i("workspace","deleteFailed")),!1}},removeWorkspace:t=>{e(e=>{let r=e.workspaces.filter(e=>e.id!==t),a=e.activeWorkspaceId===t,n=a?r[0]?.id??null:e.activeWorkspaceId;return a&&(l(n),n&&u(n)),{workspaces:r,activeWorkspaceId:n}})},markPendingDelete:t=>{e(e=>{if(e.pendingDeleteIds.has(t))return e;let r=new Set(e.pendingDeleteIds);return r.add(t),{pendingDeleteIds:r}})},unmarkPendingDelete:t=>{e(e=>{if(!e.pendingDeleteIds.has(t))return e;let r=new Set(e.pendingDeleteIds);return r.delete(t),{pendingDeleteIds:r}})},switchWorkspace:t=>{e({activeWorkspaceId:t}),l(t),u(t)},renameWorkspace:async(a,n)=>{let s=t().workspaces.find(e=>e.id===a),o=s?.name??"";e(e=>({workspaces:e.workspaces.map(e=>e.id===a?{...e,name:n}:e)}));try{if(!(await fetch(`/api/workspace/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:n})})).ok)throw Error();return!0}catch{return e(e=>({workspaces:e.workspaces.map(e=>e.id===a?{...e,name:o}:e)})),r.toast.error(i("workspace","renameFailed")),!1}},reorderWorkspaces:(a,n)=>{let s=[...t().workspaces],[o]=s.splice(a,1);s.splice(n,0,o),e({workspaces:s}),fetch("/api/workspace/reorder",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspaceIds:s.map(e=>e.id)})}).catch(()=>{r.toast.error(i("workspace","reorderFailed")),t().fetchWorkspaces()})},toggleSidebar:()=>{e(e=>{let t=!e.sidebarCollapsed;return f({sidebarCollapsed:t}),{sidebarCollapsed:t}})},setSidebarWidth:t=>{e({sidebarWidth:t})},saveSidebarWidth:e=>{f({sidebarWidth:e})},setSidebarTab:t=>{e({sidebarTab:t});try{localStorage.setItem("sidebar-tab",t)}catch{}},setSettingsDialogOpen:t=>{e({isSettingsDialogOpen:t})},setCheatSheetOpen:t=>{e({isCheatSheetOpen:t})},validateDirectory:async e=>{try{let t=await fetch(`/api/workspace/validate?directory=${encodeURIComponent(e)}`);if(!t.ok)throw Error();return await t.json()}catch{return{valid:!1,error:i("workspace","validateFailed")}}}}));e.s(["default",0,g],490034)},117369,e=>{"use strict";var t=e.i(505888),r=e.i(603331),a=e.i(728350);let n=(0,t.create)(e=>({themeIds:{...a.DEFAULT_THEME_IDS},setTheme:(t,r)=>{e(e=>{let a={...e.themeIds,[t]:r};return fetch("/api/config",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({terminalTheme:a})}).catch(()=>{}),{themeIds:a}})},hydrate:t=>{e({themeIds:{...a.DEFAULT_THEME_IDS,...t}})}}));e.s(["default",0,()=>{let{resolvedTheme:e}=(0,r.useTheme)(),t="light"===e?"light":"dark",{themeIds:i,setTheme:s}=n(),o=(0,a.getTerminalTheme)(i[t]);return{mode:t,themeIds:i,theme:o,setTerminalTheme:s,themes:a.TERMINAL_THEMES}},"initTerminalTheme",0,e=>{e&&n.getState().hydrate(e)}])},745725,e=>{"use strict";e.s(["nanoid",0,(e=21)=>{let t="",r=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&r[e]];return t}],745725)},399267,e=>{"use strict";var t=e.i(505888);let r={terminalConnected:!1,claudeProcess:null,claudeProcessCheckedAt:0,claudeInstalled:!0,sessionView:"session-list",cliState:"inactive",isTimelineLoading:!0,workspaceId:""},a=(e,t,r)=>{let a=e[t];return a?{...e,[t]:{...a,...r}}:e},n=(0,t.create)(e=>({tabs:{},tabOrders:{},statusWsConnected:!1,initTab:(t,a)=>e(e=>{let n=e.tabs[t],i={...r,...n,...a};return n?.cliState==="ready-for-review"&&"ready-for-review"!==i.cliState&&(i.cliState="ready-for-review",i.readyForReviewAt=n.readyForReviewAt),{tabs:{...e.tabs,[t]:i}}}),removeTab:t=>e(e=>{let{[t]:r,...a}=e.tabs;return{tabs:a}}),setTerminalConnected:(t,r)=>e(e=>{let n=e.tabs[t];return n&&n.terminalConnected!==r?{tabs:a(e.tabs,t,{terminalConnected:r})}:e}),setClaudeProcess:(t,r,n)=>e(e=>{let i=e.tabs[t];if(!i||i.claudeProcessCheckedAt>n||i.claudeProcess===r)return e;let s={claudeProcess:r,claudeProcessCheckedAt:n};return!0===r&&("check"===i.sessionView||"session-list"===i.sessionView)&&(s.sessionView="timeline"),!1===r&&!0===i.claudeProcess&&"timeline"===i.sessionView&&(s.sessionView="session-list"),{tabs:a(e.tabs,t,s)}}),setClaudeInstalled:(t,r)=>e(e=>{let n=e.tabs[t];return n&&n.claudeInstalled!==r?{tabs:a(e.tabs,t,{claudeInstalled:r})}:e}),setSessionView:(t,r)=>e(e=>{let n=e.tabs[t];return n&&n.sessionView!==r?{tabs:a(e.tabs,t,{sessionView:r})}:e}),setTimelineLoading:(t,r)=>e(e=>{let n=e.tabs[t];return n&&n.isTimelineLoading!==r?{tabs:a(e.tabs,t,{isTimelineLoading:r})}:e}),cancelTab:t=>e(e=>{let r=e.tabs[t];return r&&"cancelled"!==r.cliState?{tabs:a(e.tabs,t,{cliState:"cancelled",localUpdatedAt:Date.now()})}:e}),dismissTab:t=>e(e=>{let r=e.tabs[t];return r&&"ready-for-review"===r.cliState?{tabs:a(e.tabs,t,{cliState:"idle",dismissedAt:Date.now()})}:e}),setWorkspaceId:(t,r)=>e(e=>{let n=e.tabs[t];return n&&n.workspaceId!==r?{tabs:a(e.tabs,t,{workspaceId:r})}:e}),setPanelType:(t,r)=>e(e=>{let n=e.tabs[t];return n&&n.panelType!==r?{tabs:a(e.tabs,t,{panelType:r})}:e}),setCurrentProcess:(t,r)=>e(e=>{let n=e.tabs[t];if(!n)return e;let i=r??void 0;return n.currentProcess===i?e:{tabs:a(e.tabs,t,{currentProcess:i,localUpdatedAt:Date.now()})}}),setTabOrder:(t,r)=>e(e=>{let a=e.tabOrders[t];return a&&a.length===r.length&&a.every((e,t)=>e===r[t])?e:{tabOrders:{...e.tabOrders,[t]:r}}}),setStatusWsConnected:t=>e({statusWsConnected:t}),syncAllFromServer:t=>e(e=>{let a=Date.now(),n={};for(let[i,s]of Object.entries(t)){let t=e.tabs[i];if(t?.cliState==="cancelled"){n[i]=t;continue}t?.localUpdatedAt&&a-t.localUpdatedAt<3e4?n[i]={...t,cliState:s.cliState,workspaceId:s.workspaceId,tabName:s.tabName,terminalStatus:s.terminalStatus,listeningPorts:s.listeningPorts,claudeSummary:s.claudeSummary,lastUserMessage:s.lastUserMessage,lastAssistantMessage:s.lastAssistantMessage,currentAction:s.currentAction,readyForReviewAt:s.readyForReviewAt,busySince:s.busySince,dismissedAt:s.dismissedAt,claudeSessionId:s.claudeSessionId,compactingSince:s.compactingSince,lastEvent:s.lastEvent,eventSeq:s.eventSeq}:t?n[i]={...t,cliState:s.cliState,workspaceId:s.workspaceId,tabName:s.tabName,panelType:s.panelType??t.panelType,terminalStatus:s.terminalStatus,listeningPorts:s.listeningPorts,currentProcess:s.currentProcess,claudeSummary:s.claudeSummary,lastUserMessage:s.lastUserMessage,lastAssistantMessage:s.lastAssistantMessage,currentAction:s.currentAction,readyForReviewAt:s.readyForReviewAt,busySince:s.busySince,dismissedAt:s.dismissedAt,claudeSessionId:s.claudeSessionId,compactingSince:s.compactingSince,lastEvent:s.lastEvent,eventSeq:s.eventSeq}:n[i]={...r,cliState:s.cliState,workspaceId:s.workspaceId,tabName:s.tabName,panelType:s.panelType,terminalStatus:s.terminalStatus,listeningPorts:s.listeningPorts,currentProcess:s.currentProcess,claudeSummary:s.claudeSummary,lastUserMessage:s.lastUserMessage,lastAssistantMessage:s.lastAssistantMessage,currentAction:s.currentAction,readyForReviewAt:s.readyForReviewAt,busySince:s.busySince,dismissedAt:s.dismissedAt,claudeSessionId:s.claudeSessionId,compactingSince:s.compactingSince,lastEvent:s.lastEvent,eventSeq:s.eventSeq,...s.claudeSessionId?{sessionView:"timeline"}:{}}}for(let[t,r]of Object.entries(e.tabs))n[t]||(n[t]=r);return{tabs:n}}),updateFromServer:(t,n)=>e(e=>{if(null===n.cliState){let{[t]:r,...a}=e.tabs;return{tabs:a}}let i=e.tabs[t];if(i){if("cancelled"===i.cliState)return e;let r=void 0!==n.eventSeq&&void 0!==i.eventSeq&&n.eventSeq<i.eventSeq,s=void 0!==n.eventSeq&&(void 0===i.eventSeq||n.eventSeq>=i.eventSeq)?{lastEvent:n.lastEvent,eventSeq:n.eventSeq}:{},o=r?{cliState:i.cliState,readyForReviewAt:i.readyForReviewAt,busySince:i.busySince,dismissedAt:i.dismissedAt}:{cliState:n.cliState,readyForReviewAt:n.readyForReviewAt,busySince:n.busySince,dismissedAt:n.dismissedAt};return{tabs:a(e.tabs,t,{...o,workspaceId:n.workspaceId,tabName:n.tabName,panelType:n.panelType??i.panelType,terminalStatus:n.terminalStatus,listeningPorts:n.listeningPorts,currentProcess:n.currentProcess,claudeSummary:n.claudeSummary,lastUserMessage:n.lastUserMessage,lastAssistantMessage:n.lastAssistantMessage,currentAction:n.currentAction,claudeSessionId:n.claudeSessionId,compactingSince:n.compactingSince,...s})}}return{tabs:{...e.tabs,[t]:{...r,cliState:n.cliState,workspaceId:n.workspaceId,tabName:n.tabName,panelType:n.panelType,terminalStatus:n.terminalStatus,listeningPorts:n.listeningPorts,currentProcess:n.currentProcess,claudeSummary:n.claudeSummary,lastUserMessage:n.lastUserMessage,lastAssistantMessage:n.lastAssistantMessage,readyForReviewAt:n.readyForReviewAt,busySince:n.busySince,dismissedAt:n.dismissedAt,claudeSessionId:n.claudeSessionId,compactingSince:n.compactingSince,lastEvent:n.lastEvent,eventSeq:n.eventSeq,...n.claudeSessionId?{sessionView:"timeline"}:{}}}}}),applyHookEvent:(t,r)=>e(e=>{let n=e.tabs[t];return!n||void 0!==n.eventSeq&&r.seq<=n.eventSeq?e:{tabs:a(e.tabs,t,{lastEvent:r,eventSeq:r.seq})}})}));e.s(["default",0,n,"isCliIdle",0,e=>"idle"===e||"ready-for-review"===e,"selectGlobalStatus",0,e=>{let t=0,r=0;for(let a of Object.values(e))"busy"===a.cliState?t++:("ready-for-review"===a.cliState||"needs-input"===a.cliState)&&r++;return{busyCount:t,attentionCount:r}},"selectSessionView",0,(e,t)=>{let r=e[t];return r?r.sessionView:"session-list"},"selectTabDisplayStatus",0,(e,t)=>{let r=e[t];return r&&"inactive"!==r.cliState?"busy"===r.cliState?"busy":"ready-for-review"===r.cliState?"ready-for-review":"needs-input"===r.cliState?"needs-input":"unknown"===r.cliState?"unknown":"idle":"idle"},"selectWorkspacePortsLabel",0,(e,t)=>{let r=new Set;for(let a of Object.values(e))if(a.workspaceId===t&&a.listeningPorts)for(let e of a.listeningPorts)r.add(e);return 0===r.size?"":":"+[...r].sort((e,t)=>e-t).join(", :")}])},117653,e=>{"use strict";var t=e.i(191788);let r=(e,t)=>{let r=e instanceof Map?e:new Map(e.entries()),a=t instanceof Map?t:new Map(t.entries());if(r.size!==a.size)return!1;for(let[e,t]of r)if(!a.has(e)||!Object.is(t,a.get(e)))return!1;return!0};e.s(["useShallow",0,function(e){let a=t.default.useRef(void 0);return t=>{let n=e(t);return!function(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;if(Symbol.iterator in e&&Symbol.iterator in t){if("entries"in e&&"entries"in t)return r(e,t);let a=e[Symbol.iterator](),n=t[Symbol.iterator](),i=a.next(),s=n.next();for(;!i.done&&!s.done;){if(!Object.is(i.value,s.value))return!1;i=a.next(),s=n.next()}return!!i.done&&!!s.done}return r({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}(a.current,n)?a.current=n:a.current}}],117653)},358915,806185,e=>{"use strict";var t=e.i(191788),r=e.i(679935),a=e.i(844044),n=e.i(399267);let i=new Set(["/new","/clear"]),s=e=>`pt-input-draft:${e}`,o=e=>{try{localStorage.removeItem(s(e))}catch{}};e.s(["clearInputDraft",0,o,"default",0,(e,c,l,u)=>{let d=u?.tabId,[f,p]=(0,t.useState)(()=>d?(e=>{try{return localStorage.getItem(s(e))??""}catch{return""}})(d):""),h=(0,t.useRef)(null),b=(0,t.useMemo)(()=>(0,n.isCliIdle)(e)||"unknown"===e?"input":"busy"===e||"needs-input"===e?"interrupt":"disabled",[e]),y=u?.onRestartSession,g=u?.onMessageSent,m=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(d)return m.current&&clearTimeout(m.current),m.current=setTimeout(()=>((e,t)=>{try{t?localStorage.setItem(s(e),t):localStorage.removeItem(s(e))}catch{}})(d,f),300),()=>{m.current&&clearTimeout(m.current)}},[d,f]);let S=(0,t.useCallback)(()=>{if("disabled"===b)return void r.toast.error("Claude Code가 실행 중이 아닙니다");if(!l)return void r.toast.error((0,a.t)("connection","terminalDisconnected"));if(""!==f.trim()){if(i.has(f.trim().toLowerCase())){y?.(),p(""),d&&o(d);return}f.includes("\n")?(c(`\x1b[200~${f}\x1b[201~\r`),setTimeout(()=>c("\r"),500)):(c(f),setTimeout(()=>c("\r"),50)),f.trim().startsWith("/")||g?.(f.trim()),p(""),d&&o(d)}},[b,f,c,l,y,g,d]),v=(0,t.useCallback)(()=>{l?c("\x1b\x1b"):r.toast.error((0,a.t)("connection","terminalDisconnected"))},[c,l]),w=(0,t.useCallback)(()=>{let e=h.current;if(!e)return;e.focus();let t=e.value.length;e.setSelectionRange(t,t)},[]),T="disabled"!==b&&l;return{value:f,setValue:p,mode:b,canSend:T,send:S,interrupt:v,textareaRef:h,focusInput:w}}],358915);let c=e=>"pane"===e.type?[e]:[...c(e.children[0]),...c(e.children[1])],l=(e,t)=>"pane"===e.type?e.id===t?e:null:l(e.children[0],t)||l(e.children[1],t),u=e=>"pane"===e.type?e.id:u(e.children[0]),d=e=>"pane"===e.type?e.id:d(e.children[1]),f=(e,t)=>{if("pane"===e.type)return null;let[r,a]=e.children;if("pane"===r.type&&r.id===t)return a;if("pane"===a.type&&a.id===t)return r;let n=f(r,t);if(n)return{...e,children:[n,a]};let i=f(a,t);return i?{...e,children:[r,i]}:null},p=(e,t)=>{if("pane"===e.type)return null;let[r,a]=e.children;return"pane"===r.type&&r.id===t?u(a):"pane"===a.type&&a.id===t?d(r):p(r,t)||p(a,t)},h=(e,t,r)=>{if("split"!==e.type)return e;if(0===t.length)return{...e,ratio:r};let[a,...n]=t,i=[e.children[0],e.children[1]];return i[a]=h(e.children[a],n,r),{...e,children:i}},b=(e,t)=>"pane"===e.type||e.orientation!==t?1:b(e.children[0],t)+b(e.children[1],t),y=e=>{if("pane"===e.type)return e;let t=b(e.children[0],e.orientation),r=Math.round(t/(t+b(e.children[1],e.orientation))*1e4)/100;return{...e,ratio:r,children:[y(e.children[0]),y(e.children[1])]}},g=(e,t,r)=>{if("pane"===e.type)return e.id===t?r(e):e;let a=g(e.children[0],t,r);if(a!==e.children[0])return{...e,children:[a,e.children[1]]};let n=g(e.children[1],t,r);return n!==e.children[1]?{...e,children:[e.children[0],n]}:e};e.s(["collectAllTabs",0,e=>c(e).flatMap(e=>e.tabs),"collectPanes",0,c,"equalizeNode",0,y,"findAdjacentPaneInDirection",0,(e,t,r)=>{let a=[],n=e=>{if("pane"===e.type)return e.id===t;for(let t=0;t<2;t++){if(a.push({node:e,childIndex:t}),n(e.children[t]))return!0;a.pop()}return!1};if(!n(e))return null;let i="left"===r||"right"===r?"horizontal":"vertical",s=+("left"===r||"up"===r);for(let e=a.length-1;e>=0;e--){let{node:t,childIndex:n}=a[e];if("split"===t.type&&t.orientation===i&&n===s){let e=t.children[1-s];return"left"===r||"up"===r?d(e):u(e)}}return null},"findPane",0,l,"findResizeTarget",0,(e,t,r)=>{let a=[],n=e=>{if("pane"===e.type)return e.id===t;for(let t=0;t<2;t++){if(a.push({node:e,childIndex:t}),n(e.children[t]))return!0;a.pop()}return!1};if(!n(e))return null;let i="left"===r||"right"===r?"horizontal":"vertical",s=+("right"!==r&&"down"!==r),o="right"===r||"down"===r;for(let e=a.length-1;e>=0;e--){let{node:t,childIndex:r}=a[e];if("split"===t.type&&t.orientation===i&&r===s)return{path:a.slice(0,e).map(e=>e.childIndex),currentRatio:t.ratio,increase:o}}return null},"getFirstPaneId",0,u,"removePaneWithFocus",0,(e,t)=>{let r=p(e.root,t),a=f(e.root,t);a&&(e.root=a),e.activePaneId===t&&(e.activePaneId=r??c(e.root)[0]?.id??null)},"updatePaneInTree",0,g,"updateRatioAtPath",0,h],806185)},335288,e=>{"use strict";e.s(["default",()=>O,"navigateToTab",()=>E,"navigateToTabOrCreate",()=>C,"useLayoutStore",()=>P]);var t=e.i(191788),r=e.i(203828),a=e.i(505888),n=e.i(117653),i=e.i(679935),s=e.i(844044),o=e.i(358915),c=e.i(399267),l=e.i(490034),u=e.i(453783),d=e.i(806185);let f="pt-active-pane-",p="pt-active-tab-",h=e=>{try{return sessionStorage.getItem(`${p}${e}`)}catch{return null}},b=null,y=null,g=null,m=!1,S=(e,t)=>{if(!t)return e;let r=e.includes("?")?"&":"?";return`${e}${r}workspace=${t}`},v=(e,t)=>{let r=e?(0,d.collectPanes)(e.root).length:0;return{paneCount:r,canSplit:r<10&&!t}},w=(e,t,r)=>{e({layout:r,...v(r,t().isSplitting)})},T=(e,t,r)=>{let a=t().layout;if(a){let e=(0,d.collectPanes)(r.root);for(let t of(a.activePaneId&&e.some(e=>e.id===a.activePaneId)&&(r.activePaneId=a.activePaneId),e)){let e=(0,d.findPane)(a.root,t.id);e?.activeTabId&&t.tabs.some(t=>t.id===e.activeTabId)&&(t.activeTabId=e.activeTabId)}}e({layout:r,...v(r,t().isSplitting)})},k=(e,t,r,a)=>{let{layout:n}=t();if(!n)return;let i=(0,d.updatePaneInTree)(n.root,r,a);i!==n.root&&w(e,t,{...n,root:i})},I=async(e,t)=>{try{let r=await fetch(e,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok)return null;return await r.json()}catch{return null}},P=(0,a.create)((e,t)=>({layout:null,isLoading:!0,error:null,isSplitting:!1,workspaceId:null,retryCount:0,paneCount:0,canSplit:!1,pendingFocusTabId:null,setWorkspaceId:t=>{m=!1,e({workspaceId:t})},setLayout:r=>{w(e,t,r)},fetchLayout:async(r,a)=>{if(m)return;let n=r??t().workspaceId;if(!n)return;b?.abort();let o=new AbortController;b=o,t().layout||e({isLoading:!0,error:null});try{let r=await fetch(S("/api/layout",n),{signal:o.signal});if(!r.ok)throw Error();let i=await r.json();if(o.signal.aborted)return;let s=t().layout;if(!1!==a){let e=(0,d.collectPanes)(i.root);if(s)for(let t of(s.activePaneId&&e.some(e=>e.id===s.activePaneId)&&(i.activePaneId=s.activePaneId),e)){let e=(0,d.findPane)(s.root,t.id);e?.activeTabId&&t.tabs.some(t=>t.id===e.activeTabId)&&(t.activeTabId=e.activeTabId)}else{let t=(e=>{try{return sessionStorage.getItem(`${f}${e}`)}catch{return null}})(n);for(let r of(t&&e.some(e=>e.id===t)&&(i.activePaneId=t),e)){let e=h(r.id);e&&r.tabs.some(t=>t.id===e)&&(r.activeTabId=e)}}}if(s){let r={root:s.root,activePaneId:s.activePaneId},a={root:i.root,activePaneId:i.activePaneId};if(JSON.stringify(r)===JSON.stringify(a)){let r=t().pendingFocusTabId;r&&(e({pendingFocusTabId:null}),t().focusTab(r));return}}let c=t().pendingFocusTabId,l=null;if(c){for(let t of(e({pendingFocusTabId:null}),(0,d.collectPanes)(i.root)))if(t.tabs.some(e=>e.id===c)){i.activePaneId=t.id,t.activeTabId=c,l=t.id;break}}e({layout:i,retryCount:0,...v(i,t().isSplitting)}),l&&(I(S("/api/layout",n),{activePaneId:l}),I(S(`/api/layout/pane/${l}`,n),{activeTabId:c}))}catch(a){if(a instanceof DOMException&&"AbortError"===a.name)return;let r=t().retryCount+1;if(e({retryCount:r}),r>=3)try{let r=await fetch(S("/api/layout/pane",n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(r.ok){let{paneId:a,tab:n}=await r.json(),o={root:{type:"pane",id:a,tabs:[n],activeTabId:n.id},activePaneId:a,updatedAt:new Date().toISOString()};e({layout:o,...v(o,t().isSplitting)}),i.toast.info((0,s.t)("terminal","fallbackLayout")),e({retryCount:0});return}}catch{}e({error:(0,s.t)("terminal","layoutFetchError")}),y?.()}finally{o.signal.aborted||e({isLoading:!1})}},splitPane:async(r,a)=>{let{layout:n,isSplitting:o,workspaceId:c}=t();if(n&&!o&&!((0,d.collectPanes)(n.root).length>=10)){e({isSplitting:!0,canSplit:!1});try{let i,s,o=(0,d.findPane)(n.root,r),l=o?.tabs.find(e=>e.id===o.activeTabId);if(l){s=l.panelType;try{let e=await fetch(S(`/api/layout/cwd?session=${l.sessionName}`,c));e.ok&&(i=(await e.json()).cwd)}catch{}}let u=await fetch(S("/api/layout/pane",c),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourcePaneId:r,orientation:a,cwd:i,panelType:s})});if(!u.ok)throw Error();let f=await u.json();w(e,t,f)}catch{i.toast.error((0,s.t)("terminal","splitFailed"))}finally{e(e=>({isSplitting:!1,canSplit:e.paneCount<10}))}}},closePane:async r=>{let{layout:a,workspaceId:n}=t();if(a&&!((0,d.collectPanes)(a.root).length<=1))try{let a=await fetch(S(`/api/layout/pane/${r}`,n),{method:"DELETE"});if(!a.ok)throw Error();let i=await a.json();w(e,t,i)}catch{i.toast.error("Pane을 닫을 수 없습니다")}},focusPane:r=>{let{layout:a,workspaceId:n}=t();a&&a.activePaneId!==r&&(e({layout:{...a,activePaneId:r}}),I(S("/api/layout",n),{activePaneId:r}).then(r=>{r&&T(e,t,r)}))},updateRatio:(r,a)=>{let{layout:n,workspaceId:i}=t();n&&(e({layout:{...n,root:(0,d.updateRatioAtPath)(n.root,r,a)}}),g&&clearTimeout(g),g=setTimeout(()=>{g=null,I(S("/api/layout",i),{ratioUpdate:{path:r,ratio:a}}).then(r=>{r&&T(e,t,r)})},300))},moveTab:(r,a,n,i)=>{if(a===n)return;let{layout:s,workspaceId:o}=t();if(!s)return;let c=JSON.parse(JSON.stringify(s)),l=(0,d.findPane)(c.root,a),u=(0,d.findPane)(c.root,n);if(l&&u){let s=l.tabs.findIndex(e=>e.id===r);if(-1!==s){let[o]=l.tabs.splice(s,1);l.activeTabId===r&&(l.activeTabId=l.tabs[0]?.id??null),l.tabs.forEach((e,t)=>{e.order=t}),u.tabs.splice(i,0,o),u.tabs.forEach((e,t)=>{e.order=t}),u.activeTabId=r,0===l.tabs.length&&(0,d.collectPanes)(c.root).length>1&&(0,d.removePaneWithFocus)(c,a),c.activePaneId=n,w(e,t,c)}}fetch(S(`/api/layout/pane/${a}/tabs/${r}/move`,o),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({toPaneId:n,toIndex:i})}).then(async r=>{r.ok?T(e,t,await r.json()):await t().fetchLayout(void 0,!1)}).catch(()=>t().fetchLayout(void 0,!1))},createTabInPane:async(r,a,n)=>{let{layout:o,workspaceId:l}=t();try{let i,s=a,f=o?(0,d.findPane)(o.root,r):void 0,p=f?.tabs.find(e=>e.id===f.activeTabId);!s&&p&&(s=p.panelType),"web-browser"!==s&&p&&(i=u.default.getState().metadata[p.id]?.cwd);let h=await fetch(S(`/api/layout/pane/${r}/tabs`,l),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:i,panelType:s,command:n})});if(!h.ok)throw Error();let b=await h.json();return n&&c.default.getState().initTab(b.id,{panelType:s,sessionView:"check"}),k(e,t,r,e=>({...e,tabs:[...e.tabs,b],activeTabId:b.id})),t().fetchLayout(),b}catch{return i.toast.error((0,s.t)("terminal","tabCreateFailed")),null}},deleteTabInPane:async(r,a)=>{(0,o.clearInputDraft)(a),c.default.getState().cancelTab(a),k(e,t,r,e=>{let t=[...e.tabs].sort((e,t)=>e.order-t.order),r=t.findIndex(e=>e.id===a),n=t.filter(e=>e.id!==a);n.forEach((e,t)=>{e.order=t});let i=e.activeTabId;if(e.activeTabId===a){let e=t[r+1]||t[r-1];i=e?.id??null}return{...e,tabs:n,activeTabId:i}});let{workspaceId:n}=t();try{let e=await fetch(S(`/api/layout/pane/${r}/tabs/${a}`,n),{method:"DELETE"});e.ok||404===e.status||(i.toast.error((0,s.t)("terminal","tabDeleteError")),await t().fetchLayout())}catch{i.toast.error((0,s.t)("terminal","tabDeleteError")),await t().fetchLayout()}},restartTabInPane:async(e,r,a)=>{let{workspaceId:n}=t();try{return(await fetch(S(`/api/layout/pane/${e}/tabs/${r}`,n),{method:"POST",headers:a?{"Content-Type":"application/json"}:void 0,body:a?JSON.stringify({command:a}):void 0})).ok}catch{return i.toast.error((0,s.t)("terminal","sessionRestartFailed")),!1}},switchTabInPane:(r,a)=>{k(e,t,r,e=>({...e,activeTabId:a}));let{workspaceId:n}=t();I(S(`/api/layout/pane/${r}`,n),{activeTabId:a}).then(r=>{r&&T(e,t,r)})},renameTabInPane:async(r,a,n)=>{k(e,t,r,e=>({...e,tabs:e.tabs.map(e=>e.id===a?{...e,name:n}:e)}));let{workspaceId:o}=t(),c=await I(S(`/api/layout/pane/${r}/tabs/${a}`,o),{name:n});c?T(e,t,c):i.toast.error((0,s.t)("terminal","tabRenameFailed"))},reorderTabsInPane:(r,a)=>{k(e,t,r,e=>{let t=new Map(e.tabs.map(e=>[e.id,e])),r=a.map((e,r)=>{let a=t.get(e);return a?{...a,order:r}:null}).filter(e=>null!==e);return{...e,tabs:r}});let{workspaceId:n}=t();I(S(`/api/layout/pane/${r}/tabs/order`,n),{tabIds:a}).then(r=>{r&&T(e,t,r)})},removeTabLocally:(e,r)=>{(0,o.clearInputDraft)(r);let{workspaceId:a}=t();fetch(S(`/api/layout/pane/${e}/tabs/${r}`,a),{method:"DELETE"}).then(()=>t().fetchLayout()).catch(()=>{console.log("[layout] removeTabLocally failed")})},equalizeRatios:()=>{let{workspaceId:r}=t();I(S("/api/layout",r),{equalize:!0}).then(r=>{r&&T(e,t,r)})},updateTabPanelType:(r,a,n)=>{k(e,t,r,e=>({...e,tabs:e.tabs.map(e=>{if(e.id!==a)return e;let t={...e,panelType:n};return"terminal"===n&&(t.claudeSessionId=null),t})})),c.default.getState().setPanelType(a,n);let{workspaceId:i}=t();I(S(`/api/layout/pane/${r}/tabs/${a}`,i),{panelType:n}).then(r=>{r&&T(e,t,r)})},clearLayout:()=>{m=!0,b?.abort(),e({layout:null,paneCount:0,canSplit:!1})},focusTab:e=>{let{layout:r}=t();if(!r)return!1;for(let a of(0,d.collectPanes)(r.root))if(a.tabs.some(t=>t.id===e))return t().focusPane(a.id),t().switchTabInPane(a.id,e),!0;return!1},focusPrevTab:()=>{let{layout:e}=t();if(!e)return;let r=(0,d.collectPanes)(e.root),a=r.find(t=>t.id===e.activePaneId);if(!a)return;let n=[...a.tabs].sort((e,t)=>e.order-t.order),i=n.findIndex(e=>e.id===a.activeTabId);if(i>0)t().switchTabInPane(a.id,n[i-1].id);else{let e=r.indexOf(a);if(e>0){let a=r[e-1],n=[...a.tabs].sort((e,t)=>e.order-t.order);t().focusPane(a.id),t().switchTabInPane(a.id,n[n.length-1].id)}}},focusNextTab:()=>{let{layout:e}=t();if(!e)return;let r=(0,d.collectPanes)(e.root),a=r.find(t=>t.id===e.activePaneId);if(!a)return;let n=[...a.tabs].sort((e,t)=>e.order-t.order),i=n.findIndex(e=>e.id===a.activeTabId);if(i<n.length-1)t().switchTabInPane(a.id,n[i+1].id);else{let e=r.indexOf(a);if(e<r.length-1){let a=r[e+1],n=[...a.tabs].sort((e,t)=>e.order-t.order);t().focusPane(a.id),t().switchTabInPane(a.id,n[0].id)}}},focusTabByIndex:e=>{let{layout:r}=t();if(!r?.activePaneId)return;let a=(0,d.collectPanes)(r.root).find(e=>e.id===r.activePaneId);if(!a)return;let n=[...a.tabs].sort((e,t)=>e.order-t.order),i=e>=n.length?n[n.length-1]:n[e];i&&i.id!==a.activeTabId&&t().switchTabInPane(a.id,i.id)}}));P.subscribe((e,t)=>{if(e.layout&&e.workspaceId&&e.layout!==t.layout){var r=e.workspaceId,a=e.layout;try{for(let e of(a.activePaneId&&sessionStorage.setItem(`${f}${r}`,a.activePaneId),(0,d.collectPanes)(a.root)))e.activeTabId&&sessionStorage.setItem(`${p}${e.id}`,e.activeTabId)}catch{}}});let E=(e,t)=>{let a=P.getState();if("/"!==r.default.pathname){P.setState({pendingFocusTabId:t}),l.default.getState().switchWorkspace(e),r.default.push("/");return}e===a.workspaceId?a.focusTab(t):(a.clearLayout(),P.setState({pendingFocusTabId:t}),l.default.getState().switchWorkspace(e))},C=async(e,t,r,a,n)=>{let i=l.default.getState(),s=e,o=i.workspaces.find(t=>t.id===e);if(!o){if(!n)return;let e=await i.createWorkspace(n,a,r??void 0);if(!e)return;s=e.id;let t=await fetch(S("/api/layout",s));if(!t.ok)return;let o=await t.json(),l=(0,d.collectAllTabs)(o.root)[0];if(!l)return;r&&c.default.getState().initTab(l.id,{panelType:"claude-code",sessionView:"check"}),E(s,l.id);return}let u=await fetch(S("/api/layout",s));if(!u.ok)return;let f=await u.json();if(r){let e=(0,d.collectAllTabs)(f.root).find(e=>e.claudeSessionId===r);if(e){c.default.getState().setSessionView(e.id,"timeline"),E(s,e.id);return}}else if((0,d.collectAllTabs)(f.root).find(e=>e.id===t))return void E(s,t);let p=f.activePaneId??(0,d.getFirstPaneId)(f.root),h={panelType:"claude-code",cwd:o.directories[0]};r&&(h.resumeSessionId=r);let b=await fetch(S(`/api/layout/pane/${p}/tabs`,s),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(h)});if(!b.ok)return;let y=await b.json();r&&c.default.getState().initTab(y.id,{panelType:"claude-code",sessionView:"check"}),s===P.getState().workspaceId?(P.setState({pendingFocusTabId:y.id}),P.getState().fetchLayout()):E(s,y.id)},O=({workspaceId:e,onFetchError:r})=>((0,t.useEffect)(()=>{y=r??null},[r]),(0,t.useEffect)(()=>{if(e){let t=P.getState();t.setWorkspaceId(e),t.fetchLayout(e)}},[e]),(0,t.useEffect)(()=>P.subscribe(e=>{let t=e.workspaceId;if(!t||!e.layout?.root)return;let r=(0,d.collectPanes)(e.layout.root).flatMap(e=>e.tabs.map(e=>e.id));c.default.getState().setTabOrder(t,r)}),[]),P((0,n.useShallow)(e=>({layout:e.layout,isLoading:e.isLoading,error:e.error,isSplitting:e.isSplitting,paneCount:e.paneCount,canSplit:e.canSplit,splitPane:e.splitPane,closePane:e.closePane,focusPane:e.focusPane,updateRatio:e.updateRatio,moveTab:e.moveTab,createTabInPane:e.createTabInPane,deleteTabInPane:e.deleteTabInPane,restartTabInPane:e.restartTabInPane,switchTabInPane:e.switchTabInPane,renameTabInPane:e.renameTabInPane,reorderTabsInPane:e.reorderTabsInPane,removeTabLocally:e.removeTabLocally,equalizeRatios:e.equalizeRatios,updateTabPanelType:e.updateTabPanelType,clearLayout:e.clearLayout,fetchLayout:e.fetchLayout,focusTab:e.focusTab,focusPrevTab:e.focusPrevTab,focusNextTab:e.focusNextTab,focusTabByIndex:e.focusTabByIndex}))))},453783,e=>{"use strict";e.s(["default",()=>l]);var t=e.i(505888),r=e.i(335288),a=e.i(806185);let n=null,i=new Map,s=new Map,o=()=>{n&&clearTimeout(n),n=setTimeout(()=>{n=null;let{metadata:e}=c.getState(),t=r.useLayoutStore.getState().layout,i=r.useLayoutStore.getState().workspaceId;if(!t||!i)return;let s=`?workspace=${i}`;for(let r of(0,a.collectPanes)(t.root))for(let t of r.tabs){let a=e[t.id];if(!a)continue;let n={};void 0!==a.title&&a.title!==t.title&&(n.title=a.title),void 0!==a.cwd&&a.cwd!==t.cwd&&(n.cwd=a.cwd),void 0!==a.lastCommand&&(a.lastCommand??null)!==(t.lastCommand??null)&&(n.lastCommand=a.lastCommand??null),Object.keys(n).length>0&&fetch(`/api/layout/pane/${r.id}/tabs/${t.id}${s}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}).catch(e=>{console.log(`[tab-metadata] sync failed: ${e instanceof Error?e.message:e}`)})}},100)},c=(0,t.create)(e=>({metadata:{},setTitle:(t,r)=>{e(e=>{let a=e.metadata[t];return a?.title===r?e:(i.set(t,Date.now()),{metadata:{...e.metadata,[t]:{...a,title:r}}})}),o()},setCwd:(t,r)=>{e(e=>{let a=e.metadata[t];return a?.cwd===r?e:(s.set(t,Date.now()),{metadata:{...e.metadata,[t]:{...a,cwd:r}}})}),o()},setLastCommand:(t,r)=>{e(e=>{let a=e.metadata[t];return a?.lastCommand===r?e:{metadata:{...e.metadata,[t]:{...a,lastCommand:r}}}}),o()},removeTab:t=>{e(e=>{let{[t]:r,...a}=e.metadata;return{metadata:a}}),o()},hydrate:t=>{e(e=>{let r={},a=Date.now();for(let[n,o]of Object.entries(t)){let t=e.metadata[n],c=a-(i.get(n)??0)<1e3,l=a-(s.get(n)??0)<1e3;r[n]={...o,...c&&t?.title!==void 0?{title:t.title}:{},...l&&t?.cwd!==void 0?{cwd:t.cwd}:{}}}return{metadata:r}})},retainOnly:t=>{e(e=>{let r={};for(let a of t)e.metadata[a]&&(r[a]=e.metadata[a]);return{metadata:r}})},reset:()=>{n&&clearTimeout(n),n=null,i.clear(),s.clear(),e({metadata:{}})}})),l=c},15623,e=>{"use strict";let t=(0,e.i(505888).create)(e=>({data:null,setData:t=>e({data:t})}));e.s(["default",0,t])},116962,e=>{"use strict";let t=(0,e.i(505888).create)(e=>({entries:[],syncFromServer:t=>e({entries:t}),upsertEntry:t=>e(e=>{let r=e.entries.findIndex(e=>e.id===t.id);if(r>=0){let a=[...e.entries];return a[r]=t,{entries:a}}return{entries:[t,...e.entries]}})}));e.s(["default",0,t])},982960,251748,e=>{"use strict";var t=e.i(191788),r=e.i(399267),a=e.i(453783),n=e.i(15623),i=e.i(116962);let s=new Set(["zsh","bash","fish","sh","-zsh","-bash","-fish","-sh"]),o=e=>{if("~"===e||"/"===e)return e;let t=e.replace(/\/$/,"").split("/");return t[t.length-1]||e},c=e=>{let t=e.trim();if(!t)return null;let r=t.indexOf("|");return r>0?t.slice(0,r):null},l=e=>{let t=e.trim();if(!t)return"";let r=c(e);if(null!==r){let e=t.slice(t.indexOf("|")+1);return s.has(r)?o(e):r}let a=t.match(/@[^:]+:\s*(.*)/);if(a)return o(a[1].trim());if(t.startsWith("/")||t.startsWith("~"))return o(t);let n=t.split(/\s+/)[0];return s.has(n)?"":n||""};e.s(["formatTabTitle",0,l,"isShellProcess",0,e=>{let t=c(e);return null!==t&&s.has(t)},"parseCurrentCommand",0,c],251748);let u=null;e.s(["ackNotificationInput",0,(e,t)=>{u?.readyState===WebSocket.OPEN&&u.send(JSON.stringify({type:"status:ack-notification",tabId:e,seq:t}))},"default",0,()=>{let e=(0,t.useRef)(0),s=(0,t.useRef)(null),o=(0,t.useRef)(!0);(0,t.useEffect)(()=>{o.current=!0;let t=()=>{if(!o.current)return;let c="https:"===location.protocol?"wss:":"ws:",d=new WebSocket(`${c}//${location.host}/api/status`);u=d,d.onopen=()=>{o.current&&(e.current=0,r.default.getState().setStatusWsConnected(!0))},d.onmessage=e=>{if(o.current)try{let t=JSON.parse(e.data);switch(t.type){case"status:sync":for(let[e,n]of(r.default.getState().syncAllFromServer(t.tabs),Object.entries(t.tabs)))n.paneTitle&&!a.default.getState().metadata[e]?.title&&a.default.getState().setTitle(e,l(n.paneTitle));break;case"status:update":r.default.getState().updateFromServer(t.tabId,{cliState:t.cliState,workspaceId:t.workspaceId,tabName:t.tabName,panelType:t.panelType,terminalStatus:t.terminalStatus,listeningPorts:t.listeningPorts,currentProcess:t.currentProcess,claudeSummary:t.claudeSummary,lastUserMessage:t.lastUserMessage,lastAssistantMessage:t.lastAssistantMessage,currentAction:t.currentAction,readyForReviewAt:t.readyForReviewAt,busySince:t.busySince,dismissedAt:t.dismissedAt,claudeSessionId:t.claudeSessionId,compactingSince:t.compactingSince,lastEvent:t.lastEvent,eventSeq:t.eventSeq}),t.paneTitle&&a.default.getState().setTitle(t.tabId,l(t.paneTitle));break;case"status:hook-event":r.default.getState().applyHookEvent(t.tabId,t.event);break;case"rate-limits:update":n.default.getState().setData(t.data);break;case"session-history:sync":i.default.getState().syncFromServer(t.entries);break;case"session-history:update":i.default.getState().upsertEntry(t.entry)}}catch{}},d.onclose=()=>{if(!o.current)return;r.default.getState().setStatusWsConnected(!1),u=null;let a=Math.min(1e3*Math.pow(2,e.current),3e4);e.current++,s.current=setTimeout(t,a)},d.onerror=()=>{}};t();let c=()=>{if("visible"!==document.visibilityState)return;let r=u?.readyState;r!==WebSocket.OPEN&&r!==WebSocket.CONNECTING&&(s.current&&(clearTimeout(s.current),s.current=null),e.current=0,t())};return document.addEventListener("visibilitychange",c),()=>{o.current=!1,s.current&&(clearTimeout(s.current),s.current=null),u&&(u.close(),u=null),document.removeEventListener("visibilitychange",c)}},[])},"dismissTab",0,e=>{r.default.getState().dismissTab(e),u?.readyState===WebSocket.OPEN&&u.send(JSON.stringify({type:"status:tab-dismissed",tabId:e}))},"requestSync",0,()=>{u?.readyState===WebSocket.OPEN&&u.send(JSON.stringify({type:"status:request-sync"}))}],982960)},266231,e=>{"use strict";var t=e.i(191788);let r=768;e.s(["default",0,(e=r)=>{let a=`(max-width: ${e-1}px)`,n=(0,t.useCallback)(e=>{let t=window.matchMedia(a);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},[a]),i=(0,t.useCallback)(()=>window.matchMedia(a).matches,[a]),s=(0,t.useCallback)(()=>!1,[]);return(0,t.useSyncExternalStore)(n,i,s)}])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,319494,(e,a,r)=>{a.exports=JSON.parse('{"title":"Configuración","tabs":{"general":"General","appearance":"Apariencia","terminal":"Terminal","editor":"Editor","claude":"Claude","auth":"Autenticación","tailscale":"Tailscale","quickPrompts":"Prompts rápidos","sidebarItems":"Barra lateral","agent":"Agente","notification":"Notificaciones","system":"Sistema"},"general":{"theme":"Tema","themeDescription":"Selecciona el tema de visualización.","language":"Idioma","languageDescription":"Selecciona el idioma de la interfaz.","fontSize":"Tamaño de fuente","fontSizeDescription":"Ajusta el tamaño de fuente de la interfaz y la terminal.","fontSizeNormal":"Normal","fontSizeLarge":"Grande","fontSizeXLarge":"Muy grande","keyboardShortcuts":"Atajos de teclado","keyboardShortcutsDescription":"Ver y personalizar todos los atajos de teclado.","openShortcuts":"Abrir"},"appearance":{"customCSS":"CSS personalizado","customCSSDescription":"Sobrescribe variables CSS para personalizar colores y estilos.","apply":"Aplicar","reset":"Restablecer","resetConfirm":"¿Restablecer todo el CSS personalizado?","applied":"CSS personalizado aplicado.","availableVariables":"Variables disponibles","placeholder":":root {\\n --background: oklch(0.98 0 0);\\n --sidebar: oklch(0.95 0.01 220);\\n}\\n.dark {\\n --background: oklch(0.08 0 0);\\n}"},"terminal":{"theme":"Tema del terminal","themeDescription":"Selecciona los temas de color del terminal para cada modo."},"editor":{"preset":"Editor","presetDescription":"Elige qué editor abrir al hacer clic en el botón EDITOR del encabezado.","presets":{"code-server":"Code Server (Web)","vscode":"VS Code","vscode-insiders":"VS Code Insiders","cursor":"Cursor","windsurf":"Windsurf","zed":"Zed","custom":"URL personalizada","off":"Desactivado"},"url":"URL del editor","urlDescription":"Introduce la URL web de tu instancia de Code Server.","urlHelp":"Instala y ejecuta <link>code-server</link> para usar VS Code en el navegador. El parámetro <code>?folder=</code> se añade automáticamente a la URL.","customTemplate":"Plantilla de URL","customTemplateDescription":"Introduce una plantilla de URL que se abrirá con la carpeta actual.","customHelp":"Usa <folder></folder> para la ruta absoluta o <folderEncoded></folderEncoded> para la ruta codificada en URL.","localIdeHint":"Abre el IDE seleccionado localmente. El IDE debe estar instalado en el equipo que ejecuta el navegador o la aplicación de escritorio.","offHint":"El botón del editor se ocultará de la cabecera.","preview":"Vista previa (con carpeta de ejemplo)","errorHttpRequired":"La URL debe empezar con http:// o https://","errorCustomTemplate":"La plantilla debe incluir {folder} o {folderEncoded}"},"claude":{"skipPermissions":"Omitir verificación de permisos","skipPermissionsDescription":"Añade la opción --dangerously-skip-permissions al ejecutar Claude CLI."},"auth":{"changePassword":"Cambiar contraseña","changePasswordDescription":"Las nuevas contraseñas se guardan con hash SHA-512.","newPasswordPlaceholder":"Introduce nueva contraseña (mín. 4 caracteres)","passwordPlaceholder":"Introduce contraseña (mín. 4 caracteres)","resetHint":"Para restablecer, elimina ~/.purplemux/config.json y {action}.","restartServer":"reinicia el servidor","restartApp":"cierra y reinicia la aplicación","savedRestart":"Guardado. Se aplicará después de {action}.","restartServerAction":"reiniciar el servidor","restartAppAction":"reiniciar la aplicación"},"notification":{"enable":"Activar notificaciones","enableDescription":"Muestra notificaciones del sistema cuando las tareas de Claude se completan. Solo funciona en la aplicación Electron.","permissionDenied":"Permiso de notificaciones del navegador denegado. Permítelo en la configuración del navegador.","notSupported":"Web Push no es compatible con este navegador.","toastSection":"Toast en la aplicación","toastSectionDescription":"Solo se muestra mientras la ventana está en primer plano. Las notificaciones del sistema se encargan del segundo plano.","toastEnable":"Mostrar toast al completar la tarea","toastEnableDescription":"Aparece un toast temporal además del contador de la barra lateral.","toastDuration":"Duración","toastDurationDescription":"Tiempo que el toast permanece antes de desaparecer automáticamente.","toastDurationUnit":"segundos","toastPositionDesktop":"Posición en escritorio","toastPositionDesktopDescription":"Dónde aparecen los toasts en pantallas anchas.","toastPositionMobile":"Posición en móvil","toastPositionMobileDescription":"Dónde aparecen los toasts en pantallas estrechas.","positions":{"top-left":"Arriba izquierda","top-center":"Arriba centro","top-right":"Arriba derecha","bottom-left":"Abajo izquierda","bottom-center":"Abajo centro","bottom-right":"Abajo derecha"}},"agent":{"enableMenu":"Activar menú de agentes","enableMenuDescription":"Muestra el menú de agentes en la barra lateral. Esta función está actualmente en fase beta."},"system":{"networkAccess":"Acceso a la red","networkAccessDescription":"Controla qué redes pueden acceder a purplemux. Se aplica tras reiniciar el servidor.","networkAccessLocked":"Controlado por la variable de entorno HOST.","restartRequired":"Los cambios requieren reiniciar el servidor.","networkAccessOptions":{"localhost":{"label":"Solo Localhost","description":"Solo esta máquina. Más seguro; el puerto queda cerrado para otros dispositivos."},"tailscale":{"label":"Localhost + Tailscale","description":"Esta máquina y pares de Tailscale. Se bloquean LAN e Internet pública."},"all":{"label":"Todas las interfaces","description":"Permite conexiones desde cualquier red accesible, incluidas LAN e Internet pública."}},"showResources":"Mostrar recursos del sistema","showResourcesDescription":"Muestra el uso de CPU, memoria y sesiones tmux en el encabezado.","attachedImages":"Imágenes adjuntas","attachedImagesDescription":"Las imágenes adjuntas en la barra de entrada se almacenan en ~/.purplemux/uploads/. Los archivos con más de 24 horas se eliminan automáticamente al iniciar el servidor.","cleanAttachedImages":"Limpiar ahora","attachedImagesCleaned":"Se eliminaron {count} archivos","attachedImagesNothing":"No hay imágenes para eliminar","tmuxReset":"Restablecer tmux","tmuxResetDescription":"Termina todas las sesiones de tmux y {action}. Úsalo cuando necesites aplicar cambios de configuración.","tmuxResetConfirm":"Todos los procesos de terminal en ejecución serán terminados. ¿Continuar?","restartServer":"reinicia el servidor","restartApp":"reinicia la aplicación"},"tailscale":{"notInstalled":"Tailscale CLI no está instalado","notInstalledDescription":"Instala Tailscale para acceder de forma segura desde fuera de tu red.","commentMac":"# macOS","commentMacAppStore":"# o instalar desde Mac App Store","commentLinux":"# Linux (Ubuntu/Debian)","commentAfterInstall":"# Después de instalar, inicia sesión","installGuide":"Para instrucciones detalladas de instalación, visita el <link>sitio oficial de Tailscale</link>.","notRunning":"Tailscale no está en ejecución","notRunningDescription":"Por favor, inicia Tailscale.","deviceInfo":"Información del dispositivo","host":"Host","dns":"DNS","ip":"IP","version":"Versión","nonDefaultPortTitle":"El servidor se está ejecutando en el puerto {port}","nonDefaultPortDescription":"El puerto predeterminado ({defaultPort}) estaba en uso, por lo que se asignó automáticamente otro puerto. El puerto asignado puede cambiar tras {restartAction}, por lo que se recomienda configurar el puerto local como {defaultPort} en lugar de {currentPort} en la configuración de Tailscale Serve.","appRestart":"reinicio de la aplicación","serverRestart":"reinicio del servidor","commentFixedPort":"# Para usar un puerto fijo ({port})","commentOrTerminate":"# o terminar el proceso que ocupa el puerto {port} y reiniciar","serveStatus":"Estado de Serve","noActiveServe":"No hay entradas de serve activas.","httpsPort":"Puerto HTTPS","proxyTarget":"Destino del proxy","url":"URL","addServe":"Añadir Serve","setupGuide":"Guía de configuración","commentStep1Install":"# 1. Instalar CLI","commentStep2Activate":"# 2. Connect","commentStep3Add":"# 3. Agregar Serve","localPort":"Puerto local","add":"Añadir","enterPort":"Introduce un puerto","addedToast":"HTTPS :{httpsPort} → localhost:{localPort} añadido","removedToast":"HTTPS :{httpsPort} eliminado"},"quickPrompts":{"title":"Prompts rápidos","description":"Gestiona los botones de prompt que se muestran sobre el campo de entrada.","builtinSection":"Prompts integrados","customSection":"Prompts personalizados","itemsSection":"Prompts","addPrompt":"Añadir prompt","editPrompt":"Editar prompt","nameLabel":"Nombre","namePlaceholder":"Ej.: Revisión de código","promptLabel":"Prompt","promptPlaceholder":"Ej.: Por favor, revisa los cambios actuales.","save":"Guardar","cancel":"Cancelar","addButton":"Añadir prompt","resetToDefault":"Restablecer valores predeterminados","resetTitle":"Restablecer valores predeterminados","resetDescription":"Se eliminarán todos los prompts personalizados y se activarán los integrados.","resetCancel":"Cancelar","resetConfirm":"Restablecer","deleteTitle":"Eliminar prompt","deleteDescription":"¿Estás seguro de que deseas eliminar este prompt?","deleteCancel":"Cancelar","deleteConfirm":"Eliminar"},"sidebarItems":{"title":"Elementos de la barra lateral","description":"Gestiona los atajos que se muestran en la parte inferior de la barra lateral.","itemsSection":"Elementos","addItem":"Añadir elemento","editItem":"Editar elemento","nameLabel":"Nombre","namePlaceholder":"Ej.: Grafana","iconLabel":"Icono","iconSearch":"Buscar iconos...","iconNotFound":"No se encontraron iconos","urlLabel":"URL","urlPlaceholder":"Ej.: https://grafana.example.com","save":"Guardar","cancel":"Cancelar","addButton":"Añadir elemento","resetToDefault":"Restablecer valores predeterminados","resetTitle":"Restablecer valores predeterminados","resetDescription":"Se eliminarán todos los elementos personalizados y se activarán los predeterminados.","resetCancel":"Cancelar","resetConfirm":"Restablecer","deleteTitle":"Eliminar elemento","deleteDescription":"¿Estás seguro de que deseas eliminar este elemento?","deleteCancel":"Cancelar","deleteConfirm":"Eliminar"},"saveFailed":"No se pudieron guardar los ajustes"}')}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,790004,(e,i,s)=>{i.exports={notGitRepo:"Not a Git repository",noChanges:"No changes",hasChanges:"Changes detected",refresh:"Refresh",sideBySide:"Side by side",lineByLine:"Line by line",fileList:"Files"}}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,690965,(e,t,o)=>{t.exports={title:"Settings",tabs:{general:"General",appearance:"Appearance",terminal:"Terminal",editor:"Editor",claude:"Claude",auth:"Auth",tailscale:"Tailscale",quickPrompts:"Quick Prompts",sidebarItems:"Sidebar",agent:"Agent",notification:"Notification",system:"System"},general:{theme:"Theme",themeDescription:"Select the display theme.",language:"Language",languageDescription:"Select the interface language.",fontSize:"Font Size",fontSizeDescription:"Adjust the font size for UI and terminal.",fontSizeNormal:"Normal",fontSizeLarge:"Large",fontSizeXLarge:"X-Large",keyboardShortcuts:"Keyboard shortcuts",keyboardShortcutsDescription:"View and customize all keyboard shortcuts.",openShortcuts:"Open"},appearance:{customCSS:"Custom CSS",customCSSDescription:"Override CSS variables to customize colors and styles.",apply:"Apply",reset:"Reset",resetConfirm:"Reset all custom CSS?",applied:"Custom CSS applied.",availableVariables:"Available Variables",placeholder:":root {\n --background: oklch(0.98 0 0);\n --sidebar: oklch(0.95 0.01 220);\n}\n.dark {\n --background: oklch(0.08 0 0);\n}"},terminal:{theme:"Terminal Theme",themeDescription:"Select terminal color themes for each mode."},editor:{preset:"Editor",presetDescription:"Choose which editor to open when clicking the EDITOR button in the header.",presets:{"code-server":"Code Server (Web)",vscode:"VS Code","vscode-insiders":"VS Code Insiders",cursor:"Cursor",windsurf:"Windsurf",zed:"Zed",custom:"Custom URL",off:"Disabled"},url:"Editor URL",urlDescription:"Enter the web URL of your Code Server instance.",urlHelp:"Install and run <link>code-server</link> to use VS Code in the browser. The <code>?folder=</code> parameter is automatically appended to the URL.",customTemplate:"URL template",customTemplateDescription:"Enter a URL template that will be opened with the current folder.",customHelp:"Use <folder></folder> for the absolute path, or <folderEncoded></folderEncoded> for the URL-encoded path.",localIdeHint:"Opens the selected IDE locally. The IDE must be installed on the machine running the browser / desktop app.",offHint:"The editor button will be hidden from the header.",preview:"Preview (with sample folder)",errorHttpRequired:"URL must start with http:// or https://",errorCustomTemplate:"Template must include {folder} or {folderEncoded}"},claude:{skipPermissions:"Skip Permission Checks",skipPermissionsDescription:"Adds --dangerously-skip-permissions option when running Claude CLI."},auth:{changePassword:"Change Password",changePasswordDescription:"New passwords are hashed with SHA-512 before saving.",newPasswordPlaceholder:"Enter new password (min 4 chars)",passwordPlaceholder:"Enter password (min 4 chars)",resetHint:"To reset, delete ~/.purplemux/config.json and {action}.",restartServer:"restart the server",restartApp:"quit and restart the app",savedRestart:"Saved. Changes will apply after {action}.",restartServerAction:"server restart",restartAppAction:"app restart"},notification:{enable:"Enable Notifications",enableDescription:"Show system notifications when Claude tasks complete.",permissionDenied:"Browser notification permission denied. Please allow in browser settings.",notSupported:"Web Push is not supported in this browser.",toastSection:"In-app Toast",toastSectionDescription:"Shows only while the window is in the foreground. System notifications handle the background.",toastEnable:"Show toast on task complete",toastEnableDescription:"A transient toast appears in addition to the sidebar count.",toastDuration:"Duration",toastDurationDescription:"How long the toast stays before auto-dismiss.",toastDurationUnit:"seconds",toastPositionDesktop:"Desktop position",toastPositionDesktopDescription:"Where toasts appear on wider screens.",toastPositionMobile:"Mobile position",toastPositionMobileDescription:"Where toasts appear on narrow screens.",positions:{"top-left":"Top left","top-center":"Top center","top-right":"Top right","bottom-left":"Bottom left","bottom-center":"Bottom center","bottom-right":"Bottom right"}},agent:{enableMenu:"Enable Agent Menu",enableMenuDescription:"Show the agent menu in the sidebar. This feature is currently in beta."},system:{networkAccess:"Network Access",networkAccessDescription:"Control which networks can reach purplemux. Takes effect after server restart.",networkAccessLocked:"Controlled by the HOST environment variable.",restartRequired:"Requires a server restart to take effect.",networkAccessOptions:{localhost:{label:"Localhost only",description:"Only this machine. Most secure; port is closed to other devices."},tailscale:{label:"Localhost + Tailscale",description:"This machine and Tailscale peers. LAN and the public internet are blocked."},all:{label:"All interfaces",description:"Allow connections from any reachable network, including LAN and the public internet."}},showResources:"Show System Resources",showResourcesDescription:"Display CPU, memory, and tmux session usage in the header.",attachedImages:"Attached Images",attachedImagesDescription:"Images attached to the input bar are stored under ~/.purplemux/uploads/. Files older than 24 hours are removed automatically on server start.",cleanAttachedImages:"Clean now",attachedImagesCleaned:"Removed {count} files",attachedImagesNothing:"No images to remove",tmuxReset:"Reset tmux",tmuxResetDescription:"Terminates all tmux sessions and {action}. Use when settings changes need to be applied.",tmuxResetConfirm:"All running terminal processes will be terminated. Continue?",restartServer:"restarts the server",restartApp:"restarts the app"},tailscale:{notInstalled:"Tailscale CLI is not installed",notInstalledDescription:"Install Tailscale to securely access from outside your network.",commentMac:"# macOS",commentMacAppStore:"# or install from Mac App Store",commentLinux:"# Linux (Ubuntu/Debian)",commentAfterInstall:"# After installation, log in",installGuide:"For detailed installation instructions, visit <link>Tailscale official website</link>.",notRunning:"Tailscale is not running",notRunningDescription:"Please start Tailscale.",deviceInfo:"Device Info",host:"Host",dns:"DNS",ip:"IP",version:"Version",nonDefaultPortTitle:"Server is currently running on port {port}",nonDefaultPortDescription:"The default port ({defaultPort}) was in use, so a different port was automatically assigned. The auto-assigned port may change after {restartAction}, so it is recommended to set the local port to {defaultPort} instead of {currentPort} in Tailscale Serve settings.",appRestart:"app restart",serverRestart:"server restart",commentFixedPort:"# To use fixed port ({port})",commentOrTerminate:"# or terminate the process occupying port {port} and restart",serveStatus:"Serve Status",noActiveServe:"No active serve entries.",httpsPort:"HTTPS Port",proxyTarget:"Proxy Target",url:"URL",addServe:"Add Serve",setupGuide:"Setup Guide",commentStep1Install:"# 1. Install CLI",commentStep2Activate:"# 2. Connect",commentStep3Add:"# 3. Add Serve",localPort:"Local Port",add:"Add",enterPort:"Please enter a port",addedToast:"HTTPS :{httpsPort} → localhost:{localPort} added",removedToast:"HTTPS :{httpsPort} removed"},quickPrompts:{title:"Quick Prompts",description:"Manage prompt buttons displayed above the input field.",builtinSection:"Built-in Prompts",customSection:"Custom Prompts",itemsSection:"Prompts",addPrompt:"Add Prompt",editPrompt:"Edit Prompt",nameLabel:"Name",namePlaceholder:"e.g. Code Review",promptLabel:"Prompt",promptPlaceholder:"e.g. Please review the current changes.",save:"Save",cancel:"Cancel",addButton:"Add Prompt",resetToDefault:"Reset to Default",resetTitle:"Reset to Default",resetDescription:"All custom prompts will be deleted and built-in prompts will be enabled.",resetCancel:"Cancel",resetConfirm:"Reset",deleteTitle:"Delete Prompt",deleteDescription:"Are you sure you want to delete this prompt?",deleteCancel:"Cancel",deleteConfirm:"Delete"},sidebarItems:{title:"Sidebar Items",description:"Manage shortcut items displayed at the bottom of the sidebar.",itemsSection:"Items",addItem:"Add Item",editItem:"Edit Item",nameLabel:"Name",namePlaceholder:"e.g. Grafana",iconLabel:"Icon",iconSearch:"Search icons...",iconNotFound:"No icons found",urlLabel:"URL",urlPlaceholder:"e.g. https://grafana.example.com",save:"Save",cancel:"Cancel",addButton:"Add Item",resetToDefault:"Reset to Default",resetTitle:"Reset to Default",resetDescription:"All custom items will be deleted and built-in items will be enabled.",resetCancel:"Cancel",resetConfirm:"Reset",deleteTitle:"Delete Item",deleteDescription:"Are you sure you want to delete this item?",deleteCancel:"Cancel",deleteConfirm:"Delete"},saveFailed:"Failed to save settings"}}]);