purplemux 0.1.2

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 (1492) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -0
  2. package/.next/standalone/.next/build-manifest.json +240 -0
  3. package/.next/standalone/.next/package.json +1 -0
  4. package/.next/standalone/.next/prerender-manifest.json +11 -0
  5. package/.next/standalone/.next/required-server-files.json +358 -0
  6. package/.next/standalone/.next/routes-manifest.json +700 -0
  7. package/.next/standalone/.next/server/chunks/[externals]__13k.c.~._.js +3 -0
  8. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-1.rnp._.js +3 -0
  9. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-b6_mp._.js +3 -0
  10. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-hs.cq._.js +3 -0
  11. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-mkvww._.js +61 -0
  12. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-qyva4._.js +3 -0
  13. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.0bk0z._.js +30 -0
  14. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00wow2l._.js +3 -0
  15. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0259ny9._.js +3 -0
  16. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03-x6rk._.js +3 -0
  17. package/.next/standalone/.next/server/chunks/[root-of-the-server]__030n6o_._.js +3 -0
  18. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03240x~._.js +3 -0
  19. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03a9it3._.js +30 -0
  20. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03c3m6~._.js +3 -0
  21. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03hwzdm._.js +3 -0
  22. package/.next/standalone/.next/server/chunks/[root-of-the-server]__048ezfh._.js +5 -0
  23. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06an6au._.js +20 -0
  24. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06u9qjn._.js +3 -0
  25. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06w_edj._.js +3 -0
  26. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06wyqp.._.js +3 -0
  27. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07bp--k._.js +3 -0
  28. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07zihhi._.js +3 -0
  29. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08bo0ee._.js +3 -0
  30. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08tvfml._.js +3 -0
  31. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09p6pnz._.js +30 -0
  32. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_f-dh_._.js +3 -0
  33. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cqwldm._.js +3 -0
  34. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e699jd._.js +3 -0
  35. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0f_172y._.js +3 -0
  36. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72ro1._.js +3 -0
  37. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g8tfut._.js +3 -0
  38. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0hji~wn._.js +3 -0
  39. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0i-zf63._.js +3 -0
  40. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ikhn.y._.js +61 -0
  41. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kf5m.r._.js +3 -0
  42. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kfja9b._.js +3 -0
  43. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kf~p_j._.js +3 -0
  44. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kuxt06._.js +3 -0
  45. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l6mk72._.js +3 -0
  46. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l_uj5w._.js +3 -0
  47. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lb-j.k._.js +3 -0
  48. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ln72.i._.js +3 -0
  49. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0n.30_2._.js +3 -0
  50. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0n8wcz4._.js +120 -0
  51. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nq.v27._.js +3 -0
  52. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o4fle_._.js +3 -0
  53. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0p03t8-._.js +3 -0
  54. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0p9_~nf._.js +61 -0
  55. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0p_-6e_._.js +3 -0
  56. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ph65.n._.js +30 -0
  57. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q8r.ui._.js +61 -0
  58. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qzd4-7._.js +3 -0
  59. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0r0ibn7._.js +3 -0
  60. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0r4bv6-._.js +61 -0
  61. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rbc4h3._.js +3 -0
  62. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0sewrik._.js +3 -0
  63. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0sfyh7p._.js +3 -0
  64. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0sumjul._.js +3 -0
  65. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tio684._.js +3 -0
  66. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uxkxri._.js +3 -0
  67. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vjppbp._.js +3 -0
  68. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vk9ge6._.js +61 -0
  69. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wddh2b._.js +3 -0
  70. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0whnfn2._.js +61 -0
  71. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xa1n87._.js +3 -0
  72. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xerj23._.js +3 -0
  73. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zg59.c._.js +3 -0
  74. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zzgcdo._.js +3 -0
  75. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~8qs-x._.js +3 -0
  76. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~chgwm._.js +3 -0
  77. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~c~kbp._.js +3 -0
  78. package/.next/standalone/.next/server/chunks/[root-of-the-server]__131wmd-._.js +3 -0
  79. package/.next/standalone/.next/server/chunks/[root-of-the-server]__137c.~f._.js +3 -0
  80. package/.next/standalone/.next/server/chunks/[turbopack]_runtime.js +903 -0
  81. package/.next/standalone/.next/server/chunks/_004mja-._.js +3 -0
  82. package/.next/standalone/.next/server/chunks/_038t-xf._.js +3 -0
  83. package/.next/standalone/.next/server/chunks/_04x7vdl._.js +3 -0
  84. package/.next/standalone/.next/server/chunks/_05lt31z._.js +3 -0
  85. package/.next/standalone/.next/server/chunks/_09f_r9~._.js +3 -0
  86. package/.next/standalone/.next/server/chunks/_0d21p42._.js +3 -0
  87. package/.next/standalone/.next/server/chunks/_0jremnz._.js +3 -0
  88. package/.next/standalone/.next/server/chunks/_0v3x29v._.js +3 -0
  89. package/.next/standalone/.next/server/chunks/_13b4ogj._.js +3 -0
  90. package/.next/standalone/.next/server/chunks/_13fvm4f._.js +3 -0
  91. package/.next/standalone/.next/server/chunks/src_lib_0bby54m._.js +3 -0
  92. package/.next/standalone/.next/server/chunks/src_lib_1274n~4._.js +3 -0
  93. package/.next/standalone/.next/server/chunks/src_lib_agent-manager_ts_09xmrha._.js +17 -0
  94. package/.next/standalone/.next/server/chunks/src_lib_workspace-store_ts_0vqt073._.js +3 -0
  95. package/.next/standalone/.next/server/chunks/ssr/[externals]_diff2html_lib_ui_js_diff2html-ui-slim_059_ykt.js +3 -0
  96. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00c.gos._.js +3 -0
  97. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01qvn.0._.js +3 -0
  98. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__029rkn6._.js +3 -0
  99. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02wnkc9._.js +3 -0
  100. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04pp5n8._.js +3 -0
  101. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__066_6y4._.js +3 -0
  102. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__06h5mmc._.js +7 -0
  103. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__06rdjfe._.js +3 -0
  104. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__06~dy-s._.js +3 -0
  105. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08nqhad._.js +3 -0
  106. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0aux8v8._.js +3 -0
  107. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ax9d09._.js +3 -0
  108. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b016qw._.js +3 -0
  109. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0chk03e._.js +3 -0
  110. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cyc0_i._.js +3 -0
  111. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cyzk6b._.js +3 -0
  112. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0czb1pa._.js +3 -0
  113. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dvihg0._.js +3 -0
  114. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ehs~i3._.js +3 -0
  115. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0eoedgl._.js +3 -0
  116. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0exdolp._.js +3 -0
  117. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gwo-rp._.js +3 -0
  118. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0iw_61w._.js +3 -0
  119. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jm6~xa._.js +3 -0
  120. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mt_2zq._.js +3 -0
  121. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0q39s2x._.js +3 -0
  122. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0q_iyh_._.js +3 -0
  123. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qcyx.7._.js +3 -0
  124. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tkl2hs._.js +3 -0
  125. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0utfc9s._.js +3 -0
  126. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0x2vr2_._.js +3 -0
  127. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xiuura._.js +3 -0
  128. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y7-o~r._.js +3 -0
  129. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~wu~jd._.js +3 -0
  130. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11-uoki._.js +3 -0
  131. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11uqzxt._.js +3 -0
  132. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12q8v5a._.js +3 -0
  133. package/.next/standalone/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
  134. package/.next/standalone/.next/server/chunks/ssr/_01qfeah._.js +3 -0
  135. package/.next/standalone/.next/server/chunks/ssr/_036m1gb._.js +3 -0
  136. package/.next/standalone/.next/server/chunks/ssr/_079gun7._.js +3 -0
  137. package/.next/standalone/.next/server/chunks/ssr/_07kh56i._.js +7 -0
  138. package/.next/standalone/.next/server/chunks/ssr/_08ytq3p._.js +8 -0
  139. package/.next/standalone/.next/server/chunks/ssr/_09me4kn._.js +3 -0
  140. package/.next/standalone/.next/server/chunks/ssr/_0azf5gm._.js +3 -0
  141. package/.next/standalone/.next/server/chunks/ssr/_0eyq90m._.js +7 -0
  142. package/.next/standalone/.next/server/chunks/ssr/_0hh8-9-._.js +3 -0
  143. package/.next/standalone/.next/server/chunks/ssr/_0j3b10t._.js +3 -0
  144. package/.next/standalone/.next/server/chunks/ssr/_0jww.2e._.js +3 -0
  145. package/.next/standalone/.next/server/chunks/ssr/_0l4743n._.js +3 -0
  146. package/.next/standalone/.next/server/chunks/ssr/_0rxx-hm._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/ssr/_0yb_8rk._.js +7 -0
  148. package/.next/standalone/.next/server/chunks/ssr/_12ih1kx._.js +3 -0
  149. package/.next/standalone/.next/server/chunks/ssr/_139k3s0._.js +3 -0
  150. package/.next/standalone/.next/server/chunks/ssr/messages_03f.sgg._.js +3 -0
  151. package/.next/standalone/.next/server/chunks/ssr/messages_0d8gdk0._.js +3 -0
  152. package/.next/standalone/.next/server/chunks/ssr/messages_de_agent_json_[json]_cjs_0kejm9f._.js +3 -0
  153. package/.next/standalone/.next/server/chunks/ssr/messages_de_agents_json_[json]_cjs_0_u85wb._.js +3 -0
  154. package/.next/standalone/.next/server/chunks/ssr/messages_de_common_json_[json]_cjs_12jrtxw._.js +3 -0
  155. package/.next/standalone/.next/server/chunks/ssr/messages_de_connection_json_[json]_cjs_0m7xwzu._.js +3 -0
  156. package/.next/standalone/.next/server/chunks/ssr/messages_de_diff_json_[json]_cjs_0w6blyy._.js +3 -0
  157. package/.next/standalone/.next/server/chunks/ssr/messages_de_header_json_[json]_cjs_0jum155._.js +3 -0
  158. package/.next/standalone/.next/server/chunks/ssr/messages_de_login_json_[json]_cjs_0yax9yt._.js +3 -0
  159. package/.next/standalone/.next/server/chunks/ssr/messages_de_messageHistory_json_[json]_cjs_0xmp6l1._.js +3 -0
  160. package/.next/standalone/.next/server/chunks/ssr/messages_de_mobile_json_[json]_cjs_05wq1gc._.js +3 -0
  161. package/.next/standalone/.next/server/chunks/ssr/messages_de_notification_json_[json]_cjs_02k70lx._.js +3 -0
  162. package/.next/standalone/.next/server/chunks/ssr/messages_de_onboarding_json_[json]_cjs_11dc-8m._.js +3 -0
  163. package/.next/standalone/.next/server/chunks/ssr/messages_de_reports_json_[json]_cjs_0~094~4._.js +3 -0
  164. package/.next/standalone/.next/server/chunks/ssr/messages_de_reset_json_[json]_cjs_1088j.r._.js +3 -0
  165. package/.next/standalone/.next/server/chunks/ssr/messages_de_session_json_[json]_cjs_0b-1vpl._.js +3 -0
  166. package/.next/standalone/.next/server/chunks/ssr/messages_de_settings_json_[json]_cjs_0ksu4_w._.js +3 -0
  167. package/.next/standalone/.next/server/chunks/ssr/messages_de_sidebar_json_[json]_cjs_0loc-1-._.js +3 -0
  168. package/.next/standalone/.next/server/chunks/ssr/messages_de_stats_json_[json]_cjs_0i2kbml._.js +3 -0
  169. package/.next/standalone/.next/server/chunks/ssr/messages_de_terminal_json_[json]_cjs_05jirtw._.js +3 -0
  170. package/.next/standalone/.next/server/chunks/ssr/messages_de_timeline_json_[json]_cjs_0_i8-gb._.js +3 -0
  171. package/.next/standalone/.next/server/chunks/ssr/messages_de_toolsRequired_json_[json]_cjs_05etigz._.js +3 -0
  172. package/.next/standalone/.next/server/chunks/ssr/messages_de_webBrowser_json_[json]_cjs_0wfz-ul._.js +3 -0
  173. package/.next/standalone/.next/server/chunks/ssr/messages_de_workspace_json_[json]_cjs_0g7nkdq._.js +3 -0
  174. package/.next/standalone/.next/server/chunks/ssr/messages_en_agent_json_[json]_cjs_120_p_k._.js +3 -0
  175. package/.next/standalone/.next/server/chunks/ssr/messages_en_agents_json_[json]_cjs_0ohw1jm._.js +3 -0
  176. package/.next/standalone/.next/server/chunks/ssr/messages_en_common_json_[json]_cjs_0ezdrw9._.js +3 -0
  177. package/.next/standalone/.next/server/chunks/ssr/messages_en_connection_json_[json]_cjs_08x3m1v._.js +3 -0
  178. package/.next/standalone/.next/server/chunks/ssr/messages_en_diff_json_[json]_cjs_0z34_dc._.js +3 -0
  179. package/.next/standalone/.next/server/chunks/ssr/messages_en_header_json_[json]_cjs_13r9l_v._.js +3 -0
  180. package/.next/standalone/.next/server/chunks/ssr/messages_en_login_json_[json]_cjs_0flce4z._.js +3 -0
  181. package/.next/standalone/.next/server/chunks/ssr/messages_en_messageHistory_json_[json]_cjs_09osi-f._.js +3 -0
  182. package/.next/standalone/.next/server/chunks/ssr/messages_en_mobile_json_[json]_cjs_0t9k-s~._.js +3 -0
  183. package/.next/standalone/.next/server/chunks/ssr/messages_en_notification_json_[json]_cjs_0jqq879._.js +3 -0
  184. package/.next/standalone/.next/server/chunks/ssr/messages_en_onboarding_json_[json]_cjs_0pub8h7._.js +3 -0
  185. package/.next/standalone/.next/server/chunks/ssr/messages_en_reports_json_[json]_cjs_0vbun3u._.js +3 -0
  186. package/.next/standalone/.next/server/chunks/ssr/messages_en_reset_json_[json]_cjs_0e4-ox9._.js +3 -0
  187. package/.next/standalone/.next/server/chunks/ssr/messages_en_session_json_[json]_cjs_0jaymfk._.js +3 -0
  188. package/.next/standalone/.next/server/chunks/ssr/messages_en_settings_json_[json]_cjs_0qwl-zt._.js +3 -0
  189. package/.next/standalone/.next/server/chunks/ssr/messages_en_sidebar_json_[json]_cjs_0un0e3f._.js +3 -0
  190. package/.next/standalone/.next/server/chunks/ssr/messages_en_stats_json_[json]_cjs_0~t6tpf._.js +3 -0
  191. package/.next/standalone/.next/server/chunks/ssr/messages_en_terminal_json_[json]_cjs_0~ls3g-._.js +3 -0
  192. package/.next/standalone/.next/server/chunks/ssr/messages_en_timeline_json_[json]_cjs_0a50w3r._.js +3 -0
  193. package/.next/standalone/.next/server/chunks/ssr/messages_en_toolsRequired_json_[json]_cjs_09dhotj._.js +3 -0
  194. package/.next/standalone/.next/server/chunks/ssr/messages_en_webBrowser_json_[json]_cjs_0oirdko._.js +3 -0
  195. package/.next/standalone/.next/server/chunks/ssr/messages_en_workspace_json_[json]_cjs_0m9rzyy._.js +3 -0
  196. package/.next/standalone/.next/server/chunks/ssr/messages_es_agent_json_[json]_cjs_0q90v7u._.js +3 -0
  197. package/.next/standalone/.next/server/chunks/ssr/messages_es_agents_json_[json]_cjs_09.ikh0._.js +3 -0
  198. package/.next/standalone/.next/server/chunks/ssr/messages_es_common_json_[json]_cjs_0hpvn.4._.js +3 -0
  199. package/.next/standalone/.next/server/chunks/ssr/messages_es_connection_json_[json]_cjs_0u2v.s0._.js +3 -0
  200. package/.next/standalone/.next/server/chunks/ssr/messages_es_diff_json_[json]_cjs_0kheix4._.js +3 -0
  201. package/.next/standalone/.next/server/chunks/ssr/messages_es_header_json_[json]_cjs_0cd0wjq._.js +3 -0
  202. package/.next/standalone/.next/server/chunks/ssr/messages_es_login_json_[json]_cjs_04k2wr-._.js +3 -0
  203. package/.next/standalone/.next/server/chunks/ssr/messages_es_messageHistory_json_[json]_cjs_0~a1rdc._.js +3 -0
  204. package/.next/standalone/.next/server/chunks/ssr/messages_es_mobile_json_[json]_cjs_011faey._.js +3 -0
  205. package/.next/standalone/.next/server/chunks/ssr/messages_es_notification_json_[json]_cjs_0q.i2xj._.js +3 -0
  206. package/.next/standalone/.next/server/chunks/ssr/messages_es_onboarding_json_[json]_cjs_09k34__._.js +3 -0
  207. package/.next/standalone/.next/server/chunks/ssr/messages_es_reports_json_[json]_cjs_0bw-oct._.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/messages_es_reset_json_[json]_cjs_04s7zo.._.js +3 -0
  209. package/.next/standalone/.next/server/chunks/ssr/messages_es_session_json_[json]_cjs_0jy1144._.js +3 -0
  210. package/.next/standalone/.next/server/chunks/ssr/messages_es_settings_json_[json]_cjs_0ce_kv6._.js +3 -0
  211. package/.next/standalone/.next/server/chunks/ssr/messages_es_sidebar_json_[json]_cjs_080u46~._.js +3 -0
  212. package/.next/standalone/.next/server/chunks/ssr/messages_es_stats_json_[json]_cjs_03lhc77._.js +3 -0
  213. package/.next/standalone/.next/server/chunks/ssr/messages_es_terminal_json_[json]_cjs_04g2b1_._.js +3 -0
  214. package/.next/standalone/.next/server/chunks/ssr/messages_es_timeline_json_[json]_cjs_07-b7ka._.js +3 -0
  215. package/.next/standalone/.next/server/chunks/ssr/messages_es_toolsRequired_json_[json]_cjs_0ao1ouk._.js +3 -0
  216. package/.next/standalone/.next/server/chunks/ssr/messages_es_webBrowser_json_[json]_cjs_0w_no_c._.js +3 -0
  217. package/.next/standalone/.next/server/chunks/ssr/messages_es_workspace_json_[json]_cjs_0xf0_50._.js +3 -0
  218. package/.next/standalone/.next/server/chunks/ssr/messages_fr_agent_json_[json]_cjs_0k_rf1y._.js +3 -0
  219. package/.next/standalone/.next/server/chunks/ssr/messages_fr_agents_json_[json]_cjs_0c_cq_v._.js +3 -0
  220. package/.next/standalone/.next/server/chunks/ssr/messages_fr_common_json_[json]_cjs_0o-cu0-._.js +3 -0
  221. package/.next/standalone/.next/server/chunks/ssr/messages_fr_connection_json_[json]_cjs_0idmu.7._.js +3 -0
  222. package/.next/standalone/.next/server/chunks/ssr/messages_fr_diff_json_[json]_cjs_11vxoy5._.js +3 -0
  223. package/.next/standalone/.next/server/chunks/ssr/messages_fr_header_json_[json]_cjs_13k~9y.._.js +3 -0
  224. package/.next/standalone/.next/server/chunks/ssr/messages_fr_login_json_[json]_cjs_0sij1hl._.js +3 -0
  225. package/.next/standalone/.next/server/chunks/ssr/messages_fr_messageHistory_json_[json]_cjs_0hn-fau._.js +3 -0
  226. package/.next/standalone/.next/server/chunks/ssr/messages_fr_mobile_json_[json]_cjs_06m8fb-._.js +3 -0
  227. package/.next/standalone/.next/server/chunks/ssr/messages_fr_notification_json_[json]_cjs_0muj65q._.js +3 -0
  228. package/.next/standalone/.next/server/chunks/ssr/messages_fr_onboarding_json_[json]_cjs_0shcrb2._.js +3 -0
  229. package/.next/standalone/.next/server/chunks/ssr/messages_fr_reports_json_[json]_cjs_0r6due4._.js +3 -0
  230. package/.next/standalone/.next/server/chunks/ssr/messages_fr_reset_json_[json]_cjs_0bwygw9._.js +3 -0
  231. package/.next/standalone/.next/server/chunks/ssr/messages_fr_session_json_[json]_cjs_0rz0g.c._.js +3 -0
  232. package/.next/standalone/.next/server/chunks/ssr/messages_fr_settings_json_[json]_cjs_0h_6lba._.js +3 -0
  233. package/.next/standalone/.next/server/chunks/ssr/messages_fr_sidebar_json_[json]_cjs_05y8v8h._.js +3 -0
  234. package/.next/standalone/.next/server/chunks/ssr/messages_fr_stats_json_[json]_cjs_001s--3._.js +3 -0
  235. package/.next/standalone/.next/server/chunks/ssr/messages_fr_terminal_json_[json]_cjs_0uhakya._.js +3 -0
  236. package/.next/standalone/.next/server/chunks/ssr/messages_fr_timeline_json_[json]_cjs_045zga0._.js +3 -0
  237. package/.next/standalone/.next/server/chunks/ssr/messages_fr_toolsRequired_json_[json]_cjs_0aihkhy._.js +3 -0
  238. package/.next/standalone/.next/server/chunks/ssr/messages_fr_webBrowser_json_[json]_cjs_00tbjsf._.js +3 -0
  239. package/.next/standalone/.next/server/chunks/ssr/messages_fr_workspace_json_[json]_cjs_0h88f-g._.js +3 -0
  240. package/.next/standalone/.next/server/chunks/ssr/messages_ja_agent_json_[json]_cjs_0ye_g.m._.js +3 -0
  241. package/.next/standalone/.next/server/chunks/ssr/messages_ja_agents_json_[json]_cjs_0cafcwa._.js +3 -0
  242. package/.next/standalone/.next/server/chunks/ssr/messages_ja_common_json_[json]_cjs_0he4zo2._.js +3 -0
  243. package/.next/standalone/.next/server/chunks/ssr/messages_ja_connection_json_[json]_cjs_046ln8j._.js +3 -0
  244. package/.next/standalone/.next/server/chunks/ssr/messages_ja_diff_json_[json]_cjs_0t~9dro._.js +3 -0
  245. package/.next/standalone/.next/server/chunks/ssr/messages_ja_header_json_[json]_cjs_09o62y6._.js +3 -0
  246. package/.next/standalone/.next/server/chunks/ssr/messages_ja_login_json_[json]_cjs_0169d.r._.js +3 -0
  247. package/.next/standalone/.next/server/chunks/ssr/messages_ja_messageHistory_json_[json]_cjs_0p9yrya._.js +3 -0
  248. package/.next/standalone/.next/server/chunks/ssr/messages_ja_mobile_json_[json]_cjs_0aac2bq._.js +3 -0
  249. package/.next/standalone/.next/server/chunks/ssr/messages_ja_notification_json_[json]_cjs_03v~p7j._.js +3 -0
  250. package/.next/standalone/.next/server/chunks/ssr/messages_ja_onboarding_json_[json]_cjs_09q4eoc._.js +3 -0
  251. package/.next/standalone/.next/server/chunks/ssr/messages_ja_reports_json_[json]_cjs_0sx8tct._.js +3 -0
  252. package/.next/standalone/.next/server/chunks/ssr/messages_ja_reset_json_[json]_cjs_0afo5ao._.js +3 -0
  253. package/.next/standalone/.next/server/chunks/ssr/messages_ja_session_json_[json]_cjs_0cos-uy._.js +3 -0
  254. package/.next/standalone/.next/server/chunks/ssr/messages_ja_settings_json_[json]_cjs_0pg~fls._.js +3 -0
  255. package/.next/standalone/.next/server/chunks/ssr/messages_ja_sidebar_json_[json]_cjs_0i0x8w9._.js +3 -0
  256. package/.next/standalone/.next/server/chunks/ssr/messages_ja_stats_json_[json]_cjs_12cgu69._.js +3 -0
  257. package/.next/standalone/.next/server/chunks/ssr/messages_ja_terminal_json_[json]_cjs_0776z4f._.js +3 -0
  258. package/.next/standalone/.next/server/chunks/ssr/messages_ja_timeline_json_[json]_cjs_0iwksd.._.js +3 -0
  259. package/.next/standalone/.next/server/chunks/ssr/messages_ja_toolsRequired_json_[json]_cjs_0.2aruh._.js +3 -0
  260. package/.next/standalone/.next/server/chunks/ssr/messages_ja_webBrowser_json_[json]_cjs_0tp7~.s._.js +3 -0
  261. package/.next/standalone/.next/server/chunks/ssr/messages_ja_workspace_json_[json]_cjs_03dlzmi._.js +3 -0
  262. package/.next/standalone/.next/server/chunks/ssr/messages_ko_agent_json_[json]_cjs_0y3_o1m._.js +3 -0
  263. package/.next/standalone/.next/server/chunks/ssr/messages_ko_agents_json_[json]_cjs_0gysaz4._.js +3 -0
  264. package/.next/standalone/.next/server/chunks/ssr/messages_ko_common_json_[json]_cjs_0.e_72g._.js +3 -0
  265. package/.next/standalone/.next/server/chunks/ssr/messages_ko_connection_json_[json]_cjs_0kllzm8._.js +3 -0
  266. package/.next/standalone/.next/server/chunks/ssr/messages_ko_diff_json_[json]_cjs_0cw7xj1._.js +3 -0
  267. package/.next/standalone/.next/server/chunks/ssr/messages_ko_header_json_[json]_cjs_065eg8k._.js +3 -0
  268. package/.next/standalone/.next/server/chunks/ssr/messages_ko_login_json_[json]_cjs_0c1621l._.js +3 -0
  269. package/.next/standalone/.next/server/chunks/ssr/messages_ko_messageHistory_json_[json]_cjs_0go0262._.js +3 -0
  270. package/.next/standalone/.next/server/chunks/ssr/messages_ko_mobile_json_[json]_cjs_0s-989f._.js +3 -0
  271. package/.next/standalone/.next/server/chunks/ssr/messages_ko_notification_json_[json]_cjs_0gx~jkl._.js +3 -0
  272. package/.next/standalone/.next/server/chunks/ssr/messages_ko_onboarding_json_[json]_cjs_0dz3pgr._.js +3 -0
  273. package/.next/standalone/.next/server/chunks/ssr/messages_ko_reports_json_[json]_cjs_0q3aajk._.js +3 -0
  274. package/.next/standalone/.next/server/chunks/ssr/messages_ko_reset_json_[json]_cjs_10rkoeq._.js +3 -0
  275. package/.next/standalone/.next/server/chunks/ssr/messages_ko_session_json_[json]_cjs_0x4saic._.js +3 -0
  276. package/.next/standalone/.next/server/chunks/ssr/messages_ko_settings_json_[json]_cjs_07xpfc8._.js +3 -0
  277. package/.next/standalone/.next/server/chunks/ssr/messages_ko_sidebar_json_[json]_cjs_0mql5dv._.js +3 -0
  278. package/.next/standalone/.next/server/chunks/ssr/messages_ko_stats_json_[json]_cjs_0k872pk._.js +3 -0
  279. package/.next/standalone/.next/server/chunks/ssr/messages_ko_terminal_json_[json]_cjs_06611.3._.js +3 -0
  280. package/.next/standalone/.next/server/chunks/ssr/messages_ko_timeline_json_[json]_cjs_03gxaph._.js +3 -0
  281. package/.next/standalone/.next/server/chunks/ssr/messages_ko_toolsRequired_json_[json]_cjs_0bg6ath._.js +3 -0
  282. package/.next/standalone/.next/server/chunks/ssr/messages_ko_webBrowser_json_[json]_cjs_0ibtysu._.js +3 -0
  283. package/.next/standalone/.next/server/chunks/ssr/messages_ko_workspace_json_[json]_cjs_0frxg.r._.js +3 -0
  284. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_agent_json_[json]_cjs_0~fdtak._.js +3 -0
  285. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_agents_json_[json]_cjs_13z59xk._.js +3 -0
  286. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_common_json_[json]_cjs_017k96e._.js +3 -0
  287. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_connection_json_[json]_cjs_11c86g6._.js +3 -0
  288. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_diff_json_[json]_cjs_0vc-p7n._.js +3 -0
  289. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_header_json_[json]_cjs_02~w1e7._.js +3 -0
  290. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_login_json_[json]_cjs_0ntwy37._.js +3 -0
  291. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_messageHistory_json_[json]_cjs_09swm7~._.js +3 -0
  292. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_mobile_json_[json]_cjs_0lc1q4a._.js +3 -0
  293. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_notification_json_[json]_cjs_02mo05m._.js +3 -0
  294. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_onboarding_json_[json]_cjs_0mvcdss._.js +3 -0
  295. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_reports_json_[json]_cjs_0ppspz-._.js +3 -0
  296. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_reset_json_[json]_cjs_0ti0tcl._.js +3 -0
  297. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_session_json_[json]_cjs_0-x8ftl._.js +3 -0
  298. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_settings_json_[json]_cjs_0frspzp._.js +3 -0
  299. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_sidebar_json_[json]_cjs_07h4b1q._.js +3 -0
  300. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_stats_json_[json]_cjs_0qwirop._.js +3 -0
  301. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_terminal_json_[json]_cjs_034yyg9._.js +3 -0
  302. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_timeline_json_[json]_cjs_0mhm8bo._.js +3 -0
  303. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_toolsRequired_json_[json]_cjs_0-as0k7._.js +3 -0
  304. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_webBrowser_json_[json]_cjs_0eu9fbw._.js +3 -0
  305. package/.next/standalone/.next/server/chunks/ssr/messages_pt-BR_workspace_json_[json]_cjs_0lahru2._.js +3 -0
  306. package/.next/standalone/.next/server/chunks/ssr/messages_ru_agent_json_[json]_cjs_0aqxlem._.js +3 -0
  307. package/.next/standalone/.next/server/chunks/ssr/messages_ru_agents_json_[json]_cjs_08~_jra._.js +3 -0
  308. package/.next/standalone/.next/server/chunks/ssr/messages_ru_common_json_[json]_cjs_0pd1ca.._.js +3 -0
  309. package/.next/standalone/.next/server/chunks/ssr/messages_ru_connection_json_[json]_cjs_0cxs03c._.js +3 -0
  310. package/.next/standalone/.next/server/chunks/ssr/messages_ru_diff_json_[json]_cjs_07na~n8._.js +3 -0
  311. package/.next/standalone/.next/server/chunks/ssr/messages_ru_header_json_[json]_cjs_0ntroac._.js +3 -0
  312. package/.next/standalone/.next/server/chunks/ssr/messages_ru_login_json_[json]_cjs_0nvk3j2._.js +3 -0
  313. package/.next/standalone/.next/server/chunks/ssr/messages_ru_messageHistory_json_[json]_cjs_0g06rm8._.js +3 -0
  314. package/.next/standalone/.next/server/chunks/ssr/messages_ru_mobile_json_[json]_cjs_0ya85cv._.js +3 -0
  315. package/.next/standalone/.next/server/chunks/ssr/messages_ru_notification_json_[json]_cjs_03crije._.js +3 -0
  316. package/.next/standalone/.next/server/chunks/ssr/messages_ru_onboarding_json_[json]_cjs_09ktvjn._.js +3 -0
  317. package/.next/standalone/.next/server/chunks/ssr/messages_ru_reports_json_[json]_cjs_0vtvot5._.js +3 -0
  318. package/.next/standalone/.next/server/chunks/ssr/messages_ru_reset_json_[json]_cjs_050i_ie._.js +3 -0
  319. package/.next/standalone/.next/server/chunks/ssr/messages_ru_session_json_[json]_cjs_0~2-kve._.js +3 -0
  320. package/.next/standalone/.next/server/chunks/ssr/messages_ru_settings_json_[json]_cjs_08ex00.._.js +3 -0
  321. package/.next/standalone/.next/server/chunks/ssr/messages_ru_sidebar_json_[json]_cjs_0aksrjo._.js +3 -0
  322. package/.next/standalone/.next/server/chunks/ssr/messages_ru_stats_json_[json]_cjs_13s0~0t._.js +3 -0
  323. package/.next/standalone/.next/server/chunks/ssr/messages_ru_terminal_json_[json]_cjs_0emk8~n._.js +3 -0
  324. package/.next/standalone/.next/server/chunks/ssr/messages_ru_timeline_json_[json]_cjs_104t_vy._.js +3 -0
  325. package/.next/standalone/.next/server/chunks/ssr/messages_ru_toolsRequired_json_[json]_cjs_0.gfbvg._.js +3 -0
  326. package/.next/standalone/.next/server/chunks/ssr/messages_ru_webBrowser_json_[json]_cjs_113-x8n._.js +3 -0
  327. package/.next/standalone/.next/server/chunks/ssr/messages_ru_workspace_json_[json]_cjs_0wm5nhc._.js +3 -0
  328. package/.next/standalone/.next/server/chunks/ssr/messages_tr_agent_json_[json]_cjs_10h-pso._.js +3 -0
  329. package/.next/standalone/.next/server/chunks/ssr/messages_tr_agents_json_[json]_cjs_0doiryv._.js +3 -0
  330. package/.next/standalone/.next/server/chunks/ssr/messages_tr_common_json_[json]_cjs_043p2h.._.js +3 -0
  331. package/.next/standalone/.next/server/chunks/ssr/messages_tr_connection_json_[json]_cjs_0d-xqy9._.js +3 -0
  332. package/.next/standalone/.next/server/chunks/ssr/messages_tr_diff_json_[json]_cjs_0a00gr_._.js +3 -0
  333. package/.next/standalone/.next/server/chunks/ssr/messages_tr_header_json_[json]_cjs_089w_rm._.js +3 -0
  334. package/.next/standalone/.next/server/chunks/ssr/messages_tr_login_json_[json]_cjs_07yaef9._.js +3 -0
  335. package/.next/standalone/.next/server/chunks/ssr/messages_tr_messageHistory_json_[json]_cjs_0fmrrl5._.js +3 -0
  336. package/.next/standalone/.next/server/chunks/ssr/messages_tr_mobile_json_[json]_cjs_124keds._.js +3 -0
  337. package/.next/standalone/.next/server/chunks/ssr/messages_tr_notification_json_[json]_cjs_0g.576s._.js +3 -0
  338. package/.next/standalone/.next/server/chunks/ssr/messages_tr_onboarding_json_[json]_cjs_0i01isc._.js +3 -0
  339. package/.next/standalone/.next/server/chunks/ssr/messages_tr_reports_json_[json]_cjs_0z.pyp7._.js +3 -0
  340. package/.next/standalone/.next/server/chunks/ssr/messages_tr_reset_json_[json]_cjs_0a5asg_._.js +3 -0
  341. package/.next/standalone/.next/server/chunks/ssr/messages_tr_session_json_[json]_cjs_0zsvt_4._.js +3 -0
  342. package/.next/standalone/.next/server/chunks/ssr/messages_tr_settings_json_[json]_cjs_0piu0da._.js +3 -0
  343. package/.next/standalone/.next/server/chunks/ssr/messages_tr_sidebar_json_[json]_cjs_0yj47nu._.js +3 -0
  344. package/.next/standalone/.next/server/chunks/ssr/messages_tr_stats_json_[json]_cjs_001z~32._.js +3 -0
  345. package/.next/standalone/.next/server/chunks/ssr/messages_tr_terminal_json_[json]_cjs_0xpix8g._.js +3 -0
  346. package/.next/standalone/.next/server/chunks/ssr/messages_tr_timeline_json_[json]_cjs_11fne8p._.js +3 -0
  347. package/.next/standalone/.next/server/chunks/ssr/messages_tr_toolsRequired_json_[json]_cjs_0.6c765._.js +3 -0
  348. package/.next/standalone/.next/server/chunks/ssr/messages_tr_webBrowser_json_[json]_cjs_12ziott._.js +3 -0
  349. package/.next/standalone/.next/server/chunks/ssr/messages_tr_workspace_json_[json]_cjs_0wygfyf._.js +3 -0
  350. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_agent_json_[json]_cjs_04014v3._.js +3 -0
  351. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_agents_json_[json]_cjs_0onb8qe._.js +3 -0
  352. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_common_json_[json]_cjs_0pniacx._.js +3 -0
  353. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_connection_json_[json]_cjs_0ew8y7d._.js +3 -0
  354. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_diff_json_[json]_cjs_0b01x_1._.js +3 -0
  355. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_header_json_[json]_cjs_0w5~mt~._.js +3 -0
  356. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_login_json_[json]_cjs_09mln0o._.js +3 -0
  357. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_messageHistory_json_[json]_cjs_01p2j0s._.js +3 -0
  358. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_mobile_json_[json]_cjs_112ejcq._.js +3 -0
  359. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_notification_json_[json]_cjs_07v9on4._.js +3 -0
  360. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_onboarding_json_[json]_cjs_0rpmx0l._.js +3 -0
  361. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_reports_json_[json]_cjs_121zxo.._.js +3 -0
  362. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_reset_json_[json]_cjs_0z1kyh_._.js +3 -0
  363. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_session_json_[json]_cjs_134xza~._.js +3 -0
  364. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_settings_json_[json]_cjs_0uazwgy._.js +3 -0
  365. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_sidebar_json_[json]_cjs_0yzmolg._.js +3 -0
  366. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_stats_json_[json]_cjs_02zkpw1._.js +3 -0
  367. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_terminal_json_[json]_cjs_12vwl8a._.js +3 -0
  368. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_timeline_json_[json]_cjs_0g0-bd6._.js +3 -0
  369. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_toolsRequired_json_[json]_cjs_02izqs3._.js +3 -0
  370. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_webBrowser_json_[json]_cjs_0e5lp-q._.js +3 -0
  371. package/.next/standalone/.next/server/chunks/ssr/messages_zh-CN_workspace_json_[json]_cjs_0h3v0-e._.js +3 -0
  372. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_agent_json_[json]_cjs_0piliir._.js +3 -0
  373. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_agents_json_[json]_cjs_0qij9tl._.js +3 -0
  374. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_common_json_[json]_cjs_02nycnt._.js +3 -0
  375. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_connection_json_[json]_cjs_046r6-7._.js +3 -0
  376. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_diff_json_[json]_cjs_088r89k._.js +3 -0
  377. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_header_json_[json]_cjs_0jftcwr._.js +3 -0
  378. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_login_json_[json]_cjs_0~-6_xr._.js +3 -0
  379. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_messageHistory_json_[json]_cjs_00q5iw-._.js +3 -0
  380. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_mobile_json_[json]_cjs_0_o0cfn._.js +3 -0
  381. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_notification_json_[json]_cjs_0.ktzjy._.js +3 -0
  382. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_onboarding_json_[json]_cjs_123.0_-._.js +3 -0
  383. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_reports_json_[json]_cjs_00-y84g._.js +3 -0
  384. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_reset_json_[json]_cjs_0aw--m6._.js +3 -0
  385. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_session_json_[json]_cjs_0mv_~-8._.js +3 -0
  386. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_settings_json_[json]_cjs_09u0c5l._.js +3 -0
  387. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_sidebar_json_[json]_cjs_0pnu~0h._.js +3 -0
  388. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_stats_json_[json]_cjs_0ppaokc._.js +3 -0
  389. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_terminal_json_[json]_cjs_0spg5z5._.js +3 -0
  390. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_timeline_json_[json]_cjs_0b3tm.x._.js +3 -0
  391. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_toolsRequired_json_[json]_cjs_087j.r7._.js +3 -0
  392. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_webBrowser_json_[json]_cjs_0u_cpuv._.js +3 -0
  393. package/.next/standalone/.next/server/chunks/ssr/messages_zh-TW_workspace_json_[json]_cjs_0ymw5wz._.js +3 -0
  394. package/.next/standalone/.next/server/chunks/ssr/node_modules_0lx~hcs._.js +3 -0
  395. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0yv6j6_._.js +3 -0
  396. package/.next/standalone/.next/server/chunks/ssr/node_modules_recharts_es6_11v6w6_._.js +3 -0
  397. package/.next/standalone/.next/server/chunks/ssr/src_components_00d7qdr._.js +3 -0
  398. package/.next/standalone/.next/server/chunks/ssr/src_components_05rx~3w._.js +3 -0
  399. package/.next/standalone/.next/server/chunks/ssr/src_components_0_q7by9._.js +3 -0
  400. package/.next/standalone/.next/server/chunks/ssr/src_components_0fn-xsm._.js +3 -0
  401. package/.next/standalone/.next/server/chunks/ssr/src_components_0k7zlh7._.js +3 -0
  402. package/.next/standalone/.next/server/chunks/ssr/src_components_0kp78ec._.js +3 -0
  403. package/.next/standalone/.next/server/chunks/ssr/src_components_0v8fmsu._.js +3 -0
  404. package/.next/standalone/.next/server/chunks/ssr/src_components_0wd9h6l._.js +3 -0
  405. package/.next/standalone/.next/server/chunks/ssr/src_components_0xqew-q._.js +3 -0
  406. package/.next/standalone/.next/server/chunks/ssr/src_components_12-p-.1._.js +3 -0
  407. package/.next/standalone/.next/server/chunks/ssr/src_components_13mt9wb._.js +3 -0
  408. package/.next/standalone/.next/server/chunks/ssr/src_components_13n_8xn._.js +3 -0
  409. package/.next/standalone/.next/server/chunks/ssr/src_components_features_mobile_0jc21r_._.js +3 -0
  410. package/.next/standalone/.next/server/chunks/ssr/src_components_features_terminal_settings-dialog_tsx_10r3wh~._.js +3 -0
  411. package/.next/standalone/.next/server/chunks/ssr/src_lib_0ixr_4n._.js +3 -0
  412. package/.next/standalone/.next/server/functions-config-manifest.json +14 -0
  413. package/.next/standalone/.next/server/middleware-build-manifest.js +240 -0
  414. package/.next/standalone/.next/server/middleware-manifest.json +6 -0
  415. package/.next/standalone/.next/server/middleware.js +5 -0
  416. package/.next/standalone/.next/server/next-font-manifest.js +1 -0
  417. package/.next/standalone/.next/server/next-font-manifest.json +6 -0
  418. package/.next/standalone/.next/server/pages/_app/build-manifest.json +22 -0
  419. package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +5 -0
  420. package/.next/standalone/.next/server/pages/_app/next-font-manifest.json +6 -0
  421. package/.next/standalone/.next/server/pages/_app/pages-manifest.json +3 -0
  422. package/.next/standalone/.next/server/pages/_app/react-loadable-manifest.json +1 -0
  423. package/.next/standalone/.next/server/pages/_app.js +9 -0
  424. package/.next/standalone/.next/server/pages/_app.js.map +5 -0
  425. package/.next/standalone/.next/server/pages/_app.js.nft.json +1 -0
  426. package/.next/standalone/.next/server/pages/_document/next-font-manifest.json +6 -0
  427. package/.next/standalone/.next/server/pages/_document/pages-manifest.json +3 -0
  428. package/.next/standalone/.next/server/pages/_document/react-loadable-manifest.json +1 -0
  429. package/.next/standalone/.next/server/pages/_document.js +7 -0
  430. package/.next/standalone/.next/server/pages/_document.js.map +5 -0
  431. package/.next/standalone/.next/server/pages/_document.js.nft.json +1 -0
  432. package/.next/standalone/.next/server/pages/_error/build-manifest.json +16 -0
  433. package/.next/standalone/.next/server/pages/_error/client-build-manifest.json +5 -0
  434. package/.next/standalone/.next/server/pages/_error/next-font-manifest.json +6 -0
  435. package/.next/standalone/.next/server/pages/_error/pages-manifest.json +3 -0
  436. package/.next/standalone/.next/server/pages/_error/react-loadable-manifest.json +1 -0
  437. package/.next/standalone/.next/server/pages/_error.js +14 -0
  438. package/.next/standalone/.next/server/pages/_error.js.map +5 -0
  439. package/.next/standalone/.next/server/pages/_error.js.nft.json +1 -0
  440. package/.next/standalone/.next/server/pages/agents/[agentId]/chat/build-manifest.json +34 -0
  441. package/.next/standalone/.next/server/pages/agents/[agentId]/chat/client-build-manifest.json +5 -0
  442. package/.next/standalone/.next/server/pages/agents/[agentId]/chat/next-font-manifest.json +6 -0
  443. package/.next/standalone/.next/server/pages/agents/[agentId]/chat/pages-manifest.json +3 -0
  444. package/.next/standalone/.next/server/pages/agents/[agentId]/chat/react-loadable-manifest.json +14 -0
  445. package/.next/standalone/.next/server/pages/agents/[agentId]/chat.js +20 -0
  446. package/.next/standalone/.next/server/pages/agents/[agentId]/chat.js.map +5 -0
  447. package/.next/standalone/.next/server/pages/agents/[agentId]/chat.js.nft.json +1 -0
  448. package/.next/standalone/.next/server/pages/agents/[agentId]/memory/build-manifest.json +34 -0
  449. package/.next/standalone/.next/server/pages/agents/[agentId]/memory/client-build-manifest.json +5 -0
  450. package/.next/standalone/.next/server/pages/agents/[agentId]/memory/next-font-manifest.json +6 -0
  451. package/.next/standalone/.next/server/pages/agents/[agentId]/memory/pages-manifest.json +3 -0
  452. package/.next/standalone/.next/server/pages/agents/[agentId]/memory/react-loadable-manifest.json +14 -0
  453. package/.next/standalone/.next/server/pages/agents/[agentId]/memory.js +20 -0
  454. package/.next/standalone/.next/server/pages/agents/[agentId]/memory.js.map +5 -0
  455. package/.next/standalone/.next/server/pages/agents/[agentId]/memory.js.nft.json +1 -0
  456. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace/build-manifest.json +31 -0
  457. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace/client-build-manifest.json +5 -0
  458. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace/next-font-manifest.json +6 -0
  459. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace/pages-manifest.json +3 -0
  460. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace/react-loadable-manifest.json +14 -0
  461. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace.js +20 -0
  462. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace.js.map +5 -0
  463. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace.js.nft.json +1 -0
  464. package/.next/standalone/.next/server/pages/agents/build-manifest.json +31 -0
  465. package/.next/standalone/.next/server/pages/agents/client-build-manifest.json +5 -0
  466. package/.next/standalone/.next/server/pages/agents/next-font-manifest.json +6 -0
  467. package/.next/standalone/.next/server/pages/agents/pages-manifest.json +3 -0
  468. package/.next/standalone/.next/server/pages/agents/react-loadable-manifest.json +14 -0
  469. package/.next/standalone/.next/server/pages/agents.js +19 -0
  470. package/.next/standalone/.next/server/pages/agents.js.map +5 -0
  471. package/.next/standalone/.next/server/pages/agents.js.nft.json +1 -0
  472. package/.next/standalone/.next/server/pages/api/agent/[agentId]/chat/pages-manifest.json +3 -0
  473. package/.next/standalone/.next/server/pages/api/agent/[agentId]/chat.js +9 -0
  474. package/.next/standalone/.next/server/pages/api/agent/[agentId]/chat.js.map +5 -0
  475. package/.next/standalone/.next/server/pages/api/agent/[agentId]/chat.js.nft.json +1 -0
  476. package/.next/standalone/.next/server/pages/api/agent/[agentId]/memory/pages-manifest.json +3 -0
  477. package/.next/standalone/.next/server/pages/api/agent/[agentId]/memory/search/pages-manifest.json +3 -0
  478. package/.next/standalone/.next/server/pages/api/agent/[agentId]/memory/search.js +5 -0
  479. package/.next/standalone/.next/server/pages/api/agent/[agentId]/memory/search.js.map +5 -0
  480. package/.next/standalone/.next/server/pages/api/agent/[agentId]/memory/search.js.nft.json +1 -0
  481. package/.next/standalone/.next/server/pages/api/agent/[agentId]/memory.js +5 -0
  482. package/.next/standalone/.next/server/pages/api/agent/[agentId]/memory.js.map +5 -0
  483. package/.next/standalone/.next/server/pages/api/agent/[agentId]/memory.js.nft.json +1 -0
  484. package/.next/standalone/.next/server/pages/api/agent/[agentId]/pages-manifest.json +3 -0
  485. package/.next/standalone/.next/server/pages/api/agent/[agentId]/restart/pages-manifest.json +3 -0
  486. package/.next/standalone/.next/server/pages/api/agent/[agentId]/restart.js +9 -0
  487. package/.next/standalone/.next/server/pages/api/agent/[agentId]/restart.js.map +5 -0
  488. package/.next/standalone/.next/server/pages/api/agent/[agentId]/restart.js.nft.json +1 -0
  489. package/.next/standalone/.next/server/pages/api/agent/[agentId]/send/pages-manifest.json +3 -0
  490. package/.next/standalone/.next/server/pages/api/agent/[agentId]/send.js +9 -0
  491. package/.next/standalone/.next/server/pages/api/agent/[agentId]/send.js.map +5 -0
  492. package/.next/standalone/.next/server/pages/api/agent/[agentId]/send.js.nft.json +1 -0
  493. package/.next/standalone/.next/server/pages/api/agent/[agentId]/workspace/pages-manifest.json +3 -0
  494. package/.next/standalone/.next/server/pages/api/agent/[agentId]/workspace.js +9 -0
  495. package/.next/standalone/.next/server/pages/api/agent/[agentId]/workspace.js.map +5 -0
  496. package/.next/standalone/.next/server/pages/api/agent/[agentId]/workspace.js.nft.json +1 -0
  497. package/.next/standalone/.next/server/pages/api/agent/[agentId].js +9 -0
  498. package/.next/standalone/.next/server/pages/api/agent/[agentId].js.map +5 -0
  499. package/.next/standalone/.next/server/pages/api/agent/[agentId].js.nft.json +1 -0
  500. package/.next/standalone/.next/server/pages/api/agent/memory/file/pages-manifest.json +3 -0
  501. package/.next/standalone/.next/server/pages/api/agent/memory/file.js +5 -0
  502. package/.next/standalone/.next/server/pages/api/agent/memory/file.js.map +5 -0
  503. package/.next/standalone/.next/server/pages/api/agent/memory/file.js.nft.json +1 -0
  504. package/.next/standalone/.next/server/pages/api/agent/pages-manifest.json +3 -0
  505. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/brain-hook/pages-manifest.json +3 -0
  506. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/brain-hook.js +9 -0
  507. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/brain-hook.js.map +5 -0
  508. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/brain-hook.js.nft.json +1 -0
  509. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/memory/[memoryId]/pages-manifest.json +3 -0
  510. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/memory/[memoryId].js +5 -0
  511. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/memory/[memoryId].js.map +5 -0
  512. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/memory/[memoryId].js.nft.json +1 -0
  513. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/memory/pages-manifest.json +3 -0
  514. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/memory.js +5 -0
  515. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/memory.js.map +5 -0
  516. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/memory.js.nft.json +1 -0
  517. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/hook/pages-manifest.json +3 -0
  518. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/hook.js +9 -0
  519. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/hook.js.map +5 -0
  520. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/hook.js.nft.json +1 -0
  521. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/pages-manifest.json +3 -0
  522. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/result/pages-manifest.json +3 -0
  523. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/result.js +9 -0
  524. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/result.js.map +5 -0
  525. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/result.js.nft.json +1 -0
  526. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/send/pages-manifest.json +3 -0
  527. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/send.js +9 -0
  528. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/send.js.map +5 -0
  529. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/send.js.nft.json +1 -0
  530. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/status/pages-manifest.json +3 -0
  531. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/status.js +9 -0
  532. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/status.js.map +5 -0
  533. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId]/status.js.nft.json +1 -0
  534. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId].js +9 -0
  535. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId].js.map +5 -0
  536. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/[tabId].js.nft.json +1 -0
  537. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab/pages-manifest.json +3 -0
  538. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab.js +9 -0
  539. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab.js.map +5 -0
  540. package/.next/standalone/.next/server/pages/api/agent-rpc/[agentId]/tab.js.nft.json +1 -0
  541. package/.next/standalone/.next/server/pages/api/agent-rpc/api-guide/pages-manifest.json +3 -0
  542. package/.next/standalone/.next/server/pages/api/agent-rpc/api-guide.js +5 -0
  543. package/.next/standalone/.next/server/pages/api/agent-rpc/api-guide.js.map +5 -0
  544. package/.next/standalone/.next/server/pages/api/agent-rpc/api-guide.js.nft.json +1 -0
  545. package/.next/standalone/.next/server/pages/api/agent-rpc/message/pages-manifest.json +3 -0
  546. package/.next/standalone/.next/server/pages/api/agent-rpc/message.js +9 -0
  547. package/.next/standalone/.next/server/pages/api/agent-rpc/message.js.map +5 -0
  548. package/.next/standalone/.next/server/pages/api/agent-rpc/message.js.nft.json +1 -0
  549. package/.next/standalone/.next/server/pages/api/agent-rpc/workspaces/pages-manifest.json +3 -0
  550. package/.next/standalone/.next/server/pages/api/agent-rpc/workspaces.js +7 -0
  551. package/.next/standalone/.next/server/pages/api/agent-rpc/workspaces.js.map +5 -0
  552. package/.next/standalone/.next/server/pages/api/agent-rpc/workspaces.js.nft.json +1 -0
  553. package/.next/standalone/.next/server/pages/api/agent.js +9 -0
  554. package/.next/standalone/.next/server/pages/api/agent.js.map +5 -0
  555. package/.next/standalone/.next/server/pages/api/agent.js.nft.json +1 -0
  556. package/.next/standalone/.next/server/pages/api/auth/login/pages-manifest.json +3 -0
  557. package/.next/standalone/.next/server/pages/api/auth/login.js +5 -0
  558. package/.next/standalone/.next/server/pages/api/auth/login.js.map +5 -0
  559. package/.next/standalone/.next/server/pages/api/auth/login.js.nft.json +1 -0
  560. package/.next/standalone/.next/server/pages/api/auth/logout/pages-manifest.json +3 -0
  561. package/.next/standalone/.next/server/pages/api/auth/logout.js +5 -0
  562. package/.next/standalone/.next/server/pages/api/auth/logout.js.map +5 -0
  563. package/.next/standalone/.next/server/pages/api/auth/logout.js.nft.json +1 -0
  564. package/.next/standalone/.next/server/pages/api/auth/preflight/pages-manifest.json +3 -0
  565. package/.next/standalone/.next/server/pages/api/auth/preflight.js +5 -0
  566. package/.next/standalone/.next/server/pages/api/auth/preflight.js.map +5 -0
  567. package/.next/standalone/.next/server/pages/api/auth/preflight.js.nft.json +1 -0
  568. package/.next/standalone/.next/server/pages/api/auth/setup/pages-manifest.json +3 -0
  569. package/.next/standalone/.next/server/pages/api/auth/setup.js +5 -0
  570. package/.next/standalone/.next/server/pages/api/auth/setup.js.map +5 -0
  571. package/.next/standalone/.next/server/pages/api/auth/setup.js.nft.json +1 -0
  572. package/.next/standalone/.next/server/pages/api/check-claude/pages-manifest.json +3 -0
  573. package/.next/standalone/.next/server/pages/api/check-claude.js +6 -0
  574. package/.next/standalone/.next/server/pages/api/check-claude.js.map +5 -0
  575. package/.next/standalone/.next/server/pages/api/check-claude.js.nft.json +1 -0
  576. package/.next/standalone/.next/server/pages/api/config/pages-manifest.json +3 -0
  577. package/.next/standalone/.next/server/pages/api/config.js +5 -0
  578. package/.next/standalone/.next/server/pages/api/config.js.map +5 -0
  579. package/.next/standalone/.next/server/pages/api/config.js.nft.json +1 -0
  580. package/.next/standalone/.next/server/pages/api/git/branch/pages-manifest.json +3 -0
  581. package/.next/standalone/.next/server/pages/api/git/branch.js +5 -0
  582. package/.next/standalone/.next/server/pages/api/git/branch.js.map +5 -0
  583. package/.next/standalone/.next/server/pages/api/git/branch.js.nft.json +1 -0
  584. package/.next/standalone/.next/server/pages/api/git/status/pages-manifest.json +3 -0
  585. package/.next/standalone/.next/server/pages/api/git/status.js +5 -0
  586. package/.next/standalone/.next/server/pages/api/git/status.js.map +5 -0
  587. package/.next/standalone/.next/server/pages/api/git/status.js.nft.json +1 -0
  588. package/.next/standalone/.next/server/pages/api/layout/cwd/pages-manifest.json +3 -0
  589. package/.next/standalone/.next/server/pages/api/layout/cwd.js +5 -0
  590. package/.next/standalone/.next/server/pages/api/layout/cwd.js.map +5 -0
  591. package/.next/standalone/.next/server/pages/api/layout/cwd.js.nft.json +1 -0
  592. package/.next/standalone/.next/server/pages/api/layout/diff/pages-manifest.json +3 -0
  593. package/.next/standalone/.next/server/pages/api/layout/diff.js +5 -0
  594. package/.next/standalone/.next/server/pages/api/layout/diff.js.map +5 -0
  595. package/.next/standalone/.next/server/pages/api/layout/diff.js.nft.json +1 -0
  596. package/.next/standalone/.next/server/pages/api/layout/pages-manifest.json +3 -0
  597. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/pages-manifest.json +3 -0
  598. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move/pages-manifest.json +3 -0
  599. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js +7 -0
  600. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js.map +5 -0
  601. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/move.js.nft.json +1 -0
  602. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId]/pages-manifest.json +3 -0
  603. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js +10 -0
  604. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.map +5 -0
  605. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/[tabId].js.nft.json +1 -0
  606. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order/pages-manifest.json +3 -0
  607. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js +7 -0
  608. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js.map +5 -0
  609. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/order.js.nft.json +1 -0
  610. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs/pages-manifest.json +3 -0
  611. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +10 -0
  612. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.map +5 -0
  613. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js.nft.json +1 -0
  614. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js +7 -0
  615. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js.map +5 -0
  616. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId].js.nft.json +1 -0
  617. package/.next/standalone/.next/server/pages/api/layout/pane/pages-manifest.json +3 -0
  618. package/.next/standalone/.next/server/pages/api/layout/pane.js +7 -0
  619. package/.next/standalone/.next/server/pages/api/layout/pane.js.map +5 -0
  620. package/.next/standalone/.next/server/pages/api/layout/pane.js.nft.json +1 -0
  621. package/.next/standalone/.next/server/pages/api/layout.js +7 -0
  622. package/.next/standalone/.next/server/pages/api/layout.js.map +5 -0
  623. package/.next/standalone/.next/server/pages/api/layout.js.nft.json +1 -0
  624. package/.next/standalone/.next/server/pages/api/manifest/pages-manifest.json +3 -0
  625. package/.next/standalone/.next/server/pages/api/manifest.js +5 -0
  626. package/.next/standalone/.next/server/pages/api/manifest.js.map +5 -0
  627. package/.next/standalone/.next/server/pages/api/manifest.js.nft.json +1 -0
  628. package/.next/standalone/.next/server/pages/api/message-history/pages-manifest.json +3 -0
  629. package/.next/standalone/.next/server/pages/api/message-history.js +6 -0
  630. package/.next/standalone/.next/server/pages/api/message-history.js.map +5 -0
  631. package/.next/standalone/.next/server/pages/api/message-history.js.nft.json +1 -0
  632. package/.next/standalone/.next/server/pages/api/preflight/runtime/pages-manifest.json +3 -0
  633. package/.next/standalone/.next/server/pages/api/preflight/runtime.js +5 -0
  634. package/.next/standalone/.next/server/pages/api/preflight/runtime.js.map +5 -0
  635. package/.next/standalone/.next/server/pages/api/preflight/runtime.js.nft.json +1 -0
  636. package/.next/standalone/.next/server/pages/api/push/register-session/pages-manifest.json +3 -0
  637. package/.next/standalone/.next/server/pages/api/push/register-session.js +5 -0
  638. package/.next/standalone/.next/server/pages/api/push/register-session.js.map +5 -0
  639. package/.next/standalone/.next/server/pages/api/push/register-session.js.nft.json +1 -0
  640. package/.next/standalone/.next/server/pages/api/push/subscribe/pages-manifest.json +3 -0
  641. package/.next/standalone/.next/server/pages/api/push/subscribe.js +5 -0
  642. package/.next/standalone/.next/server/pages/api/push/subscribe.js.map +5 -0
  643. package/.next/standalone/.next/server/pages/api/push/subscribe.js.nft.json +1 -0
  644. package/.next/standalone/.next/server/pages/api/push/vapid-key/pages-manifest.json +3 -0
  645. package/.next/standalone/.next/server/pages/api/push/vapid-key.js +5 -0
  646. package/.next/standalone/.next/server/pages/api/push/vapid-key.js.map +5 -0
  647. package/.next/standalone/.next/server/pages/api/push/vapid-key.js.nft.json +1 -0
  648. package/.next/standalone/.next/server/pages/api/push/visibility/pages-manifest.json +3 -0
  649. package/.next/standalone/.next/server/pages/api/push/visibility.js +5 -0
  650. package/.next/standalone/.next/server/pages/api/push/visibility.js.map +5 -0
  651. package/.next/standalone/.next/server/pages/api/push/visibility.js.nft.json +1 -0
  652. package/.next/standalone/.next/server/pages/api/quick-prompts/pages-manifest.json +3 -0
  653. package/.next/standalone/.next/server/pages/api/quick-prompts.js +5 -0
  654. package/.next/standalone/.next/server/pages/api/quick-prompts.js.map +5 -0
  655. package/.next/standalone/.next/server/pages/api/quick-prompts.js.nft.json +1 -0
  656. package/.next/standalone/.next/server/pages/api/sidebar-items/pages-manifest.json +3 -0
  657. package/.next/standalone/.next/server/pages/api/sidebar-items.js +5 -0
  658. package/.next/standalone/.next/server/pages/api/sidebar-items.js.map +5 -0
  659. package/.next/standalone/.next/server/pages/api/sidebar-items.js.nft.json +1 -0
  660. package/.next/standalone/.next/server/pages/api/stats/cache-status/pages-manifest.json +3 -0
  661. package/.next/standalone/.next/server/pages/api/stats/cache-status.js +5 -0
  662. package/.next/standalone/.next/server/pages/api/stats/cache-status.js.map +5 -0
  663. package/.next/standalone/.next/server/pages/api/stats/cache-status.js.nft.json +1 -0
  664. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache/pages-manifest.json +3 -0
  665. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js +5 -0
  666. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js.map +5 -0
  667. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js.nft.json +1 -0
  668. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate/pages-manifest.json +3 -0
  669. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js +5 -0
  670. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js.map +5 -0
  671. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js.nft.json +1 -0
  672. package/.next/standalone/.next/server/pages/api/stats/daily-report/list/pages-manifest.json +3 -0
  673. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js +5 -0
  674. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js.map +5 -0
  675. package/.next/standalone/.next/server/pages/api/stats/daily-report/list.js.nft.json +1 -0
  676. package/.next/standalone/.next/server/pages/api/stats/facets/pages-manifest.json +3 -0
  677. package/.next/standalone/.next/server/pages/api/stats/facets.js +5 -0
  678. package/.next/standalone/.next/server/pages/api/stats/facets.js.map +5 -0
  679. package/.next/standalone/.next/server/pages/api/stats/facets.js.nft.json +1 -0
  680. package/.next/standalone/.next/server/pages/api/stats/history/pages-manifest.json +3 -0
  681. package/.next/standalone/.next/server/pages/api/stats/history.js +5 -0
  682. package/.next/standalone/.next/server/pages/api/stats/history.js.map +5 -0
  683. package/.next/standalone/.next/server/pages/api/stats/history.js.nft.json +1 -0
  684. package/.next/standalone/.next/server/pages/api/stats/overview/pages-manifest.json +3 -0
  685. package/.next/standalone/.next/server/pages/api/stats/overview.js +5 -0
  686. package/.next/standalone/.next/server/pages/api/stats/overview.js.map +5 -0
  687. package/.next/standalone/.next/server/pages/api/stats/overview.js.nft.json +1 -0
  688. package/.next/standalone/.next/server/pages/api/stats/projects/pages-manifest.json +3 -0
  689. package/.next/standalone/.next/server/pages/api/stats/projects.js +6 -0
  690. package/.next/standalone/.next/server/pages/api/stats/projects.js.map +5 -0
  691. package/.next/standalone/.next/server/pages/api/stats/projects.js.nft.json +1 -0
  692. package/.next/standalone/.next/server/pages/api/stats/sessions/pages-manifest.json +3 -0
  693. package/.next/standalone/.next/server/pages/api/stats/sessions.js +6 -0
  694. package/.next/standalone/.next/server/pages/api/stats/sessions.js.map +5 -0
  695. package/.next/standalone/.next/server/pages/api/stats/sessions.js.nft.json +1 -0
  696. package/.next/standalone/.next/server/pages/api/stats/uptime/pages-manifest.json +3 -0
  697. package/.next/standalone/.next/server/pages/api/stats/uptime.js +6 -0
  698. package/.next/standalone/.next/server/pages/api/stats/uptime.js.map +5 -0
  699. package/.next/standalone/.next/server/pages/api/stats/uptime.js.nft.json +1 -0
  700. package/.next/standalone/.next/server/pages/api/status/hook/pages-manifest.json +3 -0
  701. package/.next/standalone/.next/server/pages/api/status/hook.js +10 -0
  702. package/.next/standalone/.next/server/pages/api/status/hook.js.map +5 -0
  703. package/.next/standalone/.next/server/pages/api/status/hook.js.nft.json +1 -0
  704. package/.next/standalone/.next/server/pages/api/system/tmux-sessions/pages-manifest.json +3 -0
  705. package/.next/standalone/.next/server/pages/api/system/tmux-sessions.js +5 -0
  706. package/.next/standalone/.next/server/pages/api/system/tmux-sessions.js.map +5 -0
  707. package/.next/standalone/.next/server/pages/api/system/tmux-sessions.js.nft.json +1 -0
  708. package/.next/standalone/.next/server/pages/api/tailscale/serve/pages-manifest.json +3 -0
  709. package/.next/standalone/.next/server/pages/api/tailscale/serve.js +5 -0
  710. package/.next/standalone/.next/server/pages/api/tailscale/serve.js.map +5 -0
  711. package/.next/standalone/.next/server/pages/api/tailscale/serve.js.nft.json +1 -0
  712. package/.next/standalone/.next/server/pages/api/tailscale/status/pages-manifest.json +3 -0
  713. package/.next/standalone/.next/server/pages/api/tailscale/status.js +5 -0
  714. package/.next/standalone/.next/server/pages/api/tailscale/status.js.map +5 -0
  715. package/.next/standalone/.next/server/pages/api/tailscale/status.js.nft.json +1 -0
  716. package/.next/standalone/.next/server/pages/api/timeline/entries/pages-manifest.json +3 -0
  717. package/.next/standalone/.next/server/pages/api/timeline/entries.js +6 -0
  718. package/.next/standalone/.next/server/pages/api/timeline/entries.js.map +5 -0
  719. package/.next/standalone/.next/server/pages/api/timeline/entries.js.nft.json +1 -0
  720. package/.next/standalone/.next/server/pages/api/timeline/sessions/pages-manifest.json +3 -0
  721. package/.next/standalone/.next/server/pages/api/timeline/sessions.js +6 -0
  722. package/.next/standalone/.next/server/pages/api/timeline/sessions.js.map +5 -0
  723. package/.next/standalone/.next/server/pages/api/timeline/sessions.js.nft.json +1 -0
  724. package/.next/standalone/.next/server/pages/api/tmux/info/pages-manifest.json +3 -0
  725. package/.next/standalone/.next/server/pages/api/tmux/info.js +5 -0
  726. package/.next/standalone/.next/server/pages/api/tmux/info.js.map +5 -0
  727. package/.next/standalone/.next/server/pages/api/tmux/info.js.nft.json +1 -0
  728. package/.next/standalone/.next/server/pages/api/tmux/permission-options/pages-manifest.json +3 -0
  729. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js +5 -0
  730. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js.map +5 -0
  731. package/.next/standalone/.next/server/pages/api/tmux/permission-options.js.nft.json +1 -0
  732. package/.next/standalone/.next/server/pages/api/tmux/plan-options/pages-manifest.json +3 -0
  733. package/.next/standalone/.next/server/pages/api/tmux/plan-options.js +5 -0
  734. package/.next/standalone/.next/server/pages/api/tmux/plan-options.js.map +5 -0
  735. package/.next/standalone/.next/server/pages/api/tmux/plan-options.js.nft.json +1 -0
  736. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown/pages-manifest.json +3 -0
  737. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +10 -0
  738. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.map +5 -0
  739. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js.nft.json +1 -0
  740. package/.next/standalone/.next/server/pages/api/tmux/reset/pages-manifest.json +3 -0
  741. package/.next/standalone/.next/server/pages/api/tmux/reset.js +10 -0
  742. package/.next/standalone/.next/server/pages/api/tmux/reset.js.map +5 -0
  743. package/.next/standalone/.next/server/pages/api/tmux/reset.js.nft.json +1 -0
  744. package/.next/standalone/.next/server/pages/api/tmux/send-input/pages-manifest.json +3 -0
  745. package/.next/standalone/.next/server/pages/api/tmux/send-input.js +5 -0
  746. package/.next/standalone/.next/server/pages/api/tmux/send-input.js.map +5 -0
  747. package/.next/standalone/.next/server/pages/api/tmux/send-input.js.nft.json +1 -0
  748. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId]/pages-manifest.json +3 -0
  749. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js +7 -0
  750. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js.map +5 -0
  751. package/.next/standalone/.next/server/pages/api/workspace/[workspaceId].js.nft.json +1 -0
  752. package/.next/standalone/.next/server/pages/api/workspace/active/pages-manifest.json +3 -0
  753. package/.next/standalone/.next/server/pages/api/workspace/active.js +7 -0
  754. package/.next/standalone/.next/server/pages/api/workspace/active.js.map +5 -0
  755. package/.next/standalone/.next/server/pages/api/workspace/active.js.nft.json +1 -0
  756. package/.next/standalone/.next/server/pages/api/workspace/pages-manifest.json +3 -0
  757. package/.next/standalone/.next/server/pages/api/workspace/reorder/pages-manifest.json +3 -0
  758. package/.next/standalone/.next/server/pages/api/workspace/reorder.js +7 -0
  759. package/.next/standalone/.next/server/pages/api/workspace/reorder.js.map +5 -0
  760. package/.next/standalone/.next/server/pages/api/workspace/reorder.js.nft.json +1 -0
  761. package/.next/standalone/.next/server/pages/api/workspace/validate/pages-manifest.json +3 -0
  762. package/.next/standalone/.next/server/pages/api/workspace/validate.js +7 -0
  763. package/.next/standalone/.next/server/pages/api/workspace/validate.js.map +5 -0
  764. package/.next/standalone/.next/server/pages/api/workspace/validate.js.nft.json +1 -0
  765. package/.next/standalone/.next/server/pages/api/workspace.js +10 -0
  766. package/.next/standalone/.next/server/pages/api/workspace.js.map +5 -0
  767. package/.next/standalone/.next/server/pages/api/workspace.js.nft.json +1 -0
  768. package/.next/standalone/.next/server/pages/de/404.html +1 -0
  769. package/.next/standalone/.next/server/pages/de/500.html +1 -0
  770. package/.next/standalone/.next/server/pages/en/404.html +1 -0
  771. package/.next/standalone/.next/server/pages/en/500.html +1 -0
  772. package/.next/standalone/.next/server/pages/es/404.html +1 -0
  773. package/.next/standalone/.next/server/pages/es/500.html +1 -0
  774. package/.next/standalone/.next/server/pages/fr/404.html +1 -0
  775. package/.next/standalone/.next/server/pages/fr/500.html +1 -0
  776. package/.next/standalone/.next/server/pages/index/build-manifest.json +31 -0
  777. package/.next/standalone/.next/server/pages/index/client-build-manifest.json +5 -0
  778. package/.next/standalone/.next/server/pages/index/next-font-manifest.json +6 -0
  779. package/.next/standalone/.next/server/pages/index/pages-manifest.json +3 -0
  780. package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +38 -0
  781. package/.next/standalone/.next/server/pages/index.js +19 -0
  782. package/.next/standalone/.next/server/pages/index.js.map +5 -0
  783. package/.next/standalone/.next/server/pages/index.js.nft.json +1 -0
  784. package/.next/standalone/.next/server/pages/ja/404.html +1 -0
  785. package/.next/standalone/.next/server/pages/ja/500.html +1 -0
  786. package/.next/standalone/.next/server/pages/ko/404.html +1 -0
  787. package/.next/standalone/.next/server/pages/ko/500.html +1 -0
  788. package/.next/standalone/.next/server/pages/login/build-manifest.json +25 -0
  789. package/.next/standalone/.next/server/pages/login/client-build-manifest.json +5 -0
  790. package/.next/standalone/.next/server/pages/login/next-font-manifest.json +6 -0
  791. package/.next/standalone/.next/server/pages/login/pages-manifest.json +3 -0
  792. package/.next/standalone/.next/server/pages/login/react-loadable-manifest.json +1 -0
  793. package/.next/standalone/.next/server/pages/login.js +16 -0
  794. package/.next/standalone/.next/server/pages/login.js.map +5 -0
  795. package/.next/standalone/.next/server/pages/login.js.nft.json +1 -0
  796. package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -0
  797. package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -0
  798. package/.next/standalone/.next/server/pages/reports/build-manifest.json +32 -0
  799. package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +5 -0
  800. package/.next/standalone/.next/server/pages/reports/next-font-manifest.json +6 -0
  801. package/.next/standalone/.next/server/pages/reports/pages-manifest.json +3 -0
  802. package/.next/standalone/.next/server/pages/reports/react-loadable-manifest.json +14 -0
  803. package/.next/standalone/.next/server/pages/reports.js +20 -0
  804. package/.next/standalone/.next/server/pages/reports.js.map +5 -0
  805. package/.next/standalone/.next/server/pages/reports.js.nft.json +1 -0
  806. package/.next/standalone/.next/server/pages/reset/build-manifest.json +18 -0
  807. package/.next/standalone/.next/server/pages/reset/client-build-manifest.json +5 -0
  808. package/.next/standalone/.next/server/pages/reset/next-font-manifest.json +6 -0
  809. package/.next/standalone/.next/server/pages/reset/pages-manifest.json +3 -0
  810. package/.next/standalone/.next/server/pages/reset/react-loadable-manifest.json +1 -0
  811. package/.next/standalone/.next/server/pages/reset.js +14 -0
  812. package/.next/standalone/.next/server/pages/reset.js.map +5 -0
  813. package/.next/standalone/.next/server/pages/reset.js.nft.json +1 -0
  814. package/.next/standalone/.next/server/pages/ru/404.html +1 -0
  815. package/.next/standalone/.next/server/pages/ru/500.html +1 -0
  816. package/.next/standalone/.next/server/pages/stats/build-manifest.json +31 -0
  817. package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +5 -0
  818. package/.next/standalone/.next/server/pages/stats/next-font-manifest.json +6 -0
  819. package/.next/standalone/.next/server/pages/stats/pages-manifest.json +3 -0
  820. package/.next/standalone/.next/server/pages/stats/react-loadable-manifest.json +59 -0
  821. package/.next/standalone/.next/server/pages/stats.js +19 -0
  822. package/.next/standalone/.next/server/pages/stats.js.map +5 -0
  823. package/.next/standalone/.next/server/pages/stats.js.nft.json +1 -0
  824. package/.next/standalone/.next/server/pages/tools-required/build-manifest.json +22 -0
  825. package/.next/standalone/.next/server/pages/tools-required/client-build-manifest.json +5 -0
  826. package/.next/standalone/.next/server/pages/tools-required/next-font-manifest.json +6 -0
  827. package/.next/standalone/.next/server/pages/tools-required/pages-manifest.json +3 -0
  828. package/.next/standalone/.next/server/pages/tools-required/react-loadable-manifest.json +1 -0
  829. package/.next/standalone/.next/server/pages/tools-required.js +14 -0
  830. package/.next/standalone/.next/server/pages/tools-required.js.map +5 -0
  831. package/.next/standalone/.next/server/pages/tools-required.js.nft.json +1 -0
  832. package/.next/standalone/.next/server/pages/tr/404.html +1 -0
  833. package/.next/standalone/.next/server/pages/tr/500.html +1 -0
  834. package/.next/standalone/.next/server/pages/webview/build-manifest.json +31 -0
  835. package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +5 -0
  836. package/.next/standalone/.next/server/pages/webview/next-font-manifest.json +6 -0
  837. package/.next/standalone/.next/server/pages/webview/pages-manifest.json +3 -0
  838. package/.next/standalone/.next/server/pages/webview/react-loadable-manifest.json +14 -0
  839. package/.next/standalone/.next/server/pages/webview.js +19 -0
  840. package/.next/standalone/.next/server/pages/webview.js.map +5 -0
  841. package/.next/standalone/.next/server/pages/webview.js.nft.json +1 -0
  842. package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -0
  843. package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -0
  844. package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -0
  845. package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -0
  846. package/.next/standalone/.next/server/pages-manifest.json +112 -0
  847. package/.next/standalone/.next/static/Zma-iDFeQkOGMBvTllQr7/_buildManifest.js +132 -0
  848. package/.next/standalone/.next/static/Zma-iDFeQkOGMBvTllQr7/_clientMiddlewareManifest.js +6 -0
  849. package/.next/standalone/.next/static/Zma-iDFeQkOGMBvTllQr7/_ssgManifest.js +1 -0
  850. package/.next/standalone/.next/static/chunks/0-5a3mva8ei~h.js +1 -0
  851. package/.next/standalone/.next/static/chunks/0-5fld2_p89-i.js +1 -0
  852. package/.next/standalone/.next/static/chunks/0-8-cf3vuob~..js +1 -0
  853. package/.next/standalone/.next/static/chunks/0-a8qea3-j9nx.js +8 -0
  854. package/.next/standalone/.next/static/chunks/0-bkiht~~w4w9.js +1 -0
  855. package/.next/standalone/.next/static/chunks/0-ite0gf099vq.js +1 -0
  856. package/.next/standalone/.next/static/chunks/0-ltvzwc~iee..js +1 -0
  857. package/.next/standalone/.next/static/chunks/0-pce0kskdcn3.js +1 -0
  858. package/.next/standalone/.next/static/chunks/0-s-mx21cyl9a.js +1 -0
  859. package/.next/standalone/.next/static/chunks/0.0a4ruxepk0j.js +1 -0
  860. package/.next/standalone/.next/static/chunks/0.1grzgijhl-y.js +1 -0
  861. package/.next/standalone/.next/static/chunks/0.21y..ff2._u.js +1 -0
  862. package/.next/standalone/.next/static/chunks/0.6_j_h-u_8~u.js +1 -0
  863. package/.next/standalone/.next/static/chunks/0.o3q8pv84u1f.js +1 -0
  864. package/.next/standalone/.next/static/chunks/0.uz2amfosjm9.js +1 -0
  865. package/.next/standalone/.next/static/chunks/0.wij9w6vcwhg.js +1 -0
  866. package/.next/standalone/.next/static/chunks/004mrvd9r-_8y.js +1 -0
  867. package/.next/standalone/.next/static/chunks/006n8mzwjuel9.js +1 -0
  868. package/.next/standalone/.next/static/chunks/008catsw6sxuq.js +1 -0
  869. package/.next/standalone/.next/static/chunks/00asr6wzi3onq.js +1 -0
  870. package/.next/standalone/.next/static/chunks/00g7isu_5s43..js +1 -0
  871. package/.next/standalone/.next/static/chunks/00s-0sui~_24w.js +1 -0
  872. package/.next/standalone/.next/static/chunks/00yfl7agnve...js +5 -0
  873. package/.next/standalone/.next/static/chunks/01-15jstlmwvr.js +1 -0
  874. package/.next/standalone/.next/static/chunks/017n78o_7xb4_.js +1 -0
  875. package/.next/standalone/.next/static/chunks/01__picb_p6fe.js +21 -0
  876. package/.next/standalone/.next/static/chunks/01bouzabzwb-8.js +1 -0
  877. package/.next/standalone/.next/static/chunks/01hir_97acoxt.js +1 -0
  878. package/.next/standalone/.next/static/chunks/01ko1azbrv5kj.js +26 -0
  879. package/.next/standalone/.next/static/chunks/01vfgy7.bs8v..js +1 -0
  880. package/.next/standalone/.next/static/chunks/02.xbkqbezb~v.js +1 -0
  881. package/.next/standalone/.next/static/chunks/02119z8xemosp.js +1 -0
  882. package/.next/standalone/.next/static/chunks/0232nf6heuurn.js +3 -0
  883. package/.next/standalone/.next/static/chunks/02dumv8n.ewiw.js +1 -0
  884. package/.next/standalone/.next/static/chunks/02e48gs-h80oz.js +5 -0
  885. package/.next/standalone/.next/static/chunks/02su2lz3i24nj.js +1 -0
  886. package/.next/standalone/.next/static/chunks/02zp7a9eb9rca.js +1 -0
  887. package/.next/standalone/.next/static/chunks/03._gqlx9za4j.js +1 -0
  888. package/.next/standalone/.next/static/chunks/0324v-ze3tc9c.js +1 -0
  889. package/.next/standalone/.next/static/chunks/039b~_nhl7r5e.js +1 -0
  890. package/.next/standalone/.next/static/chunks/039mb8fq~lst7.js +1 -0
  891. package/.next/standalone/.next/static/chunks/03c647uijxgih.js +1 -0
  892. package/.next/standalone/.next/static/chunks/03eaekq6omt65.js +1 -0
  893. package/.next/standalone/.next/static/chunks/03ipeaers67cl.js +1 -0
  894. package/.next/standalone/.next/static/chunks/03iq_v.z2wq2k.js +1 -0
  895. package/.next/standalone/.next/static/chunks/03xe8youb3qp9.js +1 -0
  896. package/.next/standalone/.next/static/chunks/042r41ga5nu~..js +1 -0
  897. package/.next/standalone/.next/static/chunks/048ztot_ksq4v.js +1 -0
  898. package/.next/standalone/.next/static/chunks/04lb5j98q~9xu.js +12 -0
  899. package/.next/standalone/.next/static/chunks/04nm1z937xe5t.js +1 -0
  900. package/.next/standalone/.next/static/chunks/04~p~.qz9diil.js +1 -0
  901. package/.next/standalone/.next/static/chunks/05_uo4o5moo04.js +1 -0
  902. package/.next/standalone/.next/static/chunks/05bctyj7vtg2a.js +1 -0
  903. package/.next/standalone/.next/static/chunks/05efl34_f-etg.js +5 -0
  904. package/.next/standalone/.next/static/chunks/05p5361rd8ach.js +1 -0
  905. package/.next/standalone/.next/static/chunks/05q0_ebo_6bqp.js +1 -0
  906. package/.next/standalone/.next/static/chunks/063wycq~3j-_q.js +1 -0
  907. package/.next/standalone/.next/static/chunks/066ugt7nq5_an.js +1 -0
  908. package/.next/standalone/.next/static/chunks/06fd4gm.ayhf7.js +1 -0
  909. package/.next/standalone/.next/static/chunks/06itqjol9el~~.js +1 -0
  910. package/.next/standalone/.next/static/chunks/06ulnr15lr872.js +1 -0
  911. package/.next/standalone/.next/static/chunks/0729ik2kb63jl.js +1 -0
  912. package/.next/standalone/.next/static/chunks/072ccw0gkueqq.js +1 -0
  913. package/.next/standalone/.next/static/chunks/076h6~3japmyo.js +1 -0
  914. package/.next/standalone/.next/static/chunks/078ug0z94g-5f.css +1 -0
  915. package/.next/standalone/.next/static/chunks/07af4a.zgj.ts.js +1 -0
  916. package/.next/standalone/.next/static/chunks/07ekm6q1~~a3f.js +1 -0
  917. package/.next/standalone/.next/static/chunks/07heiz~se6rzr.js +1 -0
  918. package/.next/standalone/.next/static/chunks/07kjkllolb7wg.js +1 -0
  919. package/.next/standalone/.next/static/chunks/07nse~yypp-81.js +1 -0
  920. package/.next/standalone/.next/static/chunks/07towvl88jvv7.js +1 -0
  921. package/.next/standalone/.next/static/chunks/07ymmqf_tcvex.js +1 -0
  922. package/.next/standalone/.next/static/chunks/08-~7o5ae2v0a.js +1 -0
  923. package/.next/standalone/.next/static/chunks/082eokcz_e-4q.js +1 -0
  924. package/.next/standalone/.next/static/chunks/082qo5xgin3i4.js +1 -0
  925. package/.next/standalone/.next/static/chunks/08h59hstdxbn0.js +1 -0
  926. package/.next/standalone/.next/static/chunks/08izyfolapb1i.js +1 -0
  927. package/.next/standalone/.next/static/chunks/08lo._g4ij2f4.js +1 -0
  928. package/.next/standalone/.next/static/chunks/08u9yll53efdo.js +1 -0
  929. package/.next/standalone/.next/static/chunks/08up9s8mjan84.js +1 -0
  930. package/.next/standalone/.next/static/chunks/08vvx8xtxwt5o.js +1 -0
  931. package/.next/standalone/.next/static/chunks/08vxz9xag4_l1.js +1 -0
  932. package/.next/standalone/.next/static/chunks/08yo0ygw.~0-l.js +1 -0
  933. package/.next/standalone/.next/static/chunks/092_4eww654~g.js +1 -0
  934. package/.next/standalone/.next/static/chunks/09a_tdhjkh2m2.js +5 -0
  935. package/.next/standalone/.next/static/chunks/09bmi2onw6y~z.js +1 -0
  936. package/.next/standalone/.next/static/chunks/09c6gmvwninay.js +1 -0
  937. package/.next/standalone/.next/static/chunks/09jl7_l-yth-3.js +1 -0
  938. package/.next/standalone/.next/static/chunks/09tchy8f7ruon.js +1 -0
  939. package/.next/standalone/.next/static/chunks/09u0sojp2zkmg.js +1 -0
  940. package/.next/standalone/.next/static/chunks/09v_qfg80f8cv.js +1 -0
  941. package/.next/standalone/.next/static/chunks/09vlziywf_nr8.js +1 -0
  942. package/.next/standalone/.next/static/chunks/09wg815lxyi._.js +9 -0
  943. package/.next/standalone/.next/static/chunks/09ydi010ocm1-.js +1 -0
  944. package/.next/standalone/.next/static/chunks/0_eof.53ko6d_.js +1 -0
  945. package/.next/standalone/.next/static/chunks/0_htal_j04mkg.js +1 -0
  946. package/.next/standalone/.next/static/chunks/0_p3o3nz69v.x.js +1 -0
  947. package/.next/standalone/.next/static/chunks/0_rb9hvnpokw5.js +1 -0
  948. package/.next/standalone/.next/static/chunks/0_t5m70ok8f1m.js +1 -0
  949. package/.next/standalone/.next/static/chunks/0_v5-mgxv5q0z.js +1 -0
  950. package/.next/standalone/.next/static/chunks/0a-2nzgsh-~9k.js +1 -0
  951. package/.next/standalone/.next/static/chunks/0a-gy22s0yguw.js +12 -0
  952. package/.next/standalone/.next/static/chunks/0a0i6iubp4z.k.js +1 -0
  953. package/.next/standalone/.next/static/chunks/0a0wcelktujjt.js +1 -0
  954. package/.next/standalone/.next/static/chunks/0a44t~o~f3ivd.js +15 -0
  955. package/.next/standalone/.next/static/chunks/0a5pwl9afr6l_.js +1 -0
  956. package/.next/standalone/.next/static/chunks/0a9t5laucshuf.js +1 -0
  957. package/.next/standalone/.next/static/chunks/0ajkjqq1xc_.a.js +1 -0
  958. package/.next/standalone/.next/static/chunks/0arxgyek93av0.js +1 -0
  959. package/.next/standalone/.next/static/chunks/0axhnd2vw3m5e.js +1 -0
  960. package/.next/standalone/.next/static/chunks/0b49~354d-ong.js +1 -0
  961. package/.next/standalone/.next/static/chunks/0b50zoqg-2~10.js +1 -0
  962. package/.next/standalone/.next/static/chunks/0bdrtvia~hrw..js +1 -0
  963. package/.next/standalone/.next/static/chunks/0bh1vg1f-tox..js +1 -0
  964. package/.next/standalone/.next/static/chunks/0bmo3rmwduxpw.js +1 -0
  965. package/.next/standalone/.next/static/chunks/0bmukh7wlgnbu.js +1 -0
  966. package/.next/standalone/.next/static/chunks/0bne_v_ehk4wv.js +1 -0
  967. package/.next/standalone/.next/static/chunks/0bp-jgkj~1-wa.js +1 -0
  968. package/.next/standalone/.next/static/chunks/0bra~n.j9rjcm.js +1 -0
  969. package/.next/standalone/.next/static/chunks/0bztk05y7fn6d.js +1 -0
  970. package/.next/standalone/.next/static/chunks/0c.m~f1bg9wr-.js +1 -0
  971. package/.next/standalone/.next/static/chunks/0c8._01-id.jr.js +1 -0
  972. package/.next/standalone/.next/static/chunks/0cpwz.7p~xiqw.js +1 -0
  973. package/.next/standalone/.next/static/chunks/0cv-p.g_i.2x4.js +1 -0
  974. package/.next/standalone/.next/static/chunks/0d4zx_inxabt5.js +1 -0
  975. package/.next/standalone/.next/static/chunks/0d5b6a8r1tk95.js +1 -0
  976. package/.next/standalone/.next/static/chunks/0d7-__engn1y-.js +1 -0
  977. package/.next/standalone/.next/static/chunks/0d9zihg27zvf..js +1 -0
  978. package/.next/standalone/.next/static/chunks/0dihkw2llem9q.js +1 -0
  979. package/.next/standalone/.next/static/chunks/0dkeqzwrw1.k_.js +1 -0
  980. package/.next/standalone/.next/static/chunks/0dqb3atw-kpb2.js +1 -0
  981. package/.next/standalone/.next/static/chunks/0e1i_3r.fdaxb.js +1 -0
  982. package/.next/standalone/.next/static/chunks/0e5exrsu4s6zo.js +5 -0
  983. package/.next/standalone/.next/static/chunks/0e9pj28b.u54g.js +1 -0
  984. package/.next/standalone/.next/static/chunks/0eajs8x570k87.js +1 -0
  985. package/.next/standalone/.next/static/chunks/0ec46gj~cf4s..js +1 -0
  986. package/.next/standalone/.next/static/chunks/0efmzxto_4qc3.js +1 -0
  987. package/.next/standalone/.next/static/chunks/0ehq477do.354.js +1 -0
  988. package/.next/standalone/.next/static/chunks/0eo32_ca9lgow.js +1 -0
  989. package/.next/standalone/.next/static/chunks/0f9jd56j5p-o5.js +1 -0
  990. package/.next/standalone/.next/static/chunks/0faefom6yish3.js +21 -0
  991. package/.next/standalone/.next/static/chunks/0fbu~0t5k7gqd.js +1 -0
  992. package/.next/standalone/.next/static/chunks/0fdf_v45avzir.js +1 -0
  993. package/.next/standalone/.next/static/chunks/0ff_fowzr-5~6.js +1 -0
  994. package/.next/standalone/.next/static/chunks/0fn24h74ta78c.js +1 -0
  995. package/.next/standalone/.next/static/chunks/0fnxnghs79pmm.js +1 -0
  996. package/.next/standalone/.next/static/chunks/0fuay9akccsr9.js +1 -0
  997. package/.next/standalone/.next/static/chunks/0fz01hf8il_0l.js +1 -0
  998. package/.next/standalone/.next/static/chunks/0fzb0m-2k2x14.js +1 -0
  999. package/.next/standalone/.next/static/chunks/0g.hz7eglx5s..js +1 -0
  1000. package/.next/standalone/.next/static/chunks/0g0xm7shj062y.js +1 -0
  1001. package/.next/standalone/.next/static/chunks/0gd718p7fufrv.js +1 -0
  1002. package/.next/standalone/.next/static/chunks/0gfe0gzzwu67~.js +1 -0
  1003. package/.next/standalone/.next/static/chunks/0ggsfsmm~hj5t.js +1 -0
  1004. package/.next/standalone/.next/static/chunks/0h.k8nyd1_0v_.js +1 -0
  1005. package/.next/standalone/.next/static/chunks/0h40b.46e5ixf.js +1 -0
  1006. package/.next/standalone/.next/static/chunks/0h45z_-vb_kwi.js +1 -0
  1007. package/.next/standalone/.next/static/chunks/0hryf3-skj70-.js +1 -0
  1008. package/.next/standalone/.next/static/chunks/0hxx987fj~0zd.js +1 -0
  1009. package/.next/standalone/.next/static/chunks/0hzlby_ttchsl.js +24 -0
  1010. package/.next/standalone/.next/static/chunks/0i2rk8zovlrqn.js +21 -0
  1011. package/.next/standalone/.next/static/chunks/0i7zwsw_~llk0.js +1 -0
  1012. package/.next/standalone/.next/static/chunks/0i8_5b9b.1jid.js +1 -0
  1013. package/.next/standalone/.next/static/chunks/0i_v57-2sxj3i.js +1 -0
  1014. package/.next/standalone/.next/static/chunks/0id3_7or45.58.js +1 -0
  1015. package/.next/standalone/.next/static/chunks/0idah_uu8ylro.js +1 -0
  1016. package/.next/standalone/.next/static/chunks/0iiahbpxxksju.js +1 -0
  1017. package/.next/standalone/.next/static/chunks/0j-~cv54lr907.js +1 -0
  1018. package/.next/standalone/.next/static/chunks/0j2bj3piss37n.js +1 -0
  1019. package/.next/standalone/.next/static/chunks/0j9hp79q83j8c.js +1 -0
  1020. package/.next/standalone/.next/static/chunks/0jb7l.0pnn3ps.js +1 -0
  1021. package/.next/standalone/.next/static/chunks/0jeilzoa7f71s.js +1 -0
  1022. package/.next/standalone/.next/static/chunks/0jhs9_arn872p.js +1 -0
  1023. package/.next/standalone/.next/static/chunks/0jidj3u6syhls.js +1 -0
  1024. package/.next/standalone/.next/static/chunks/0jm6ex-kb51q3.js +1 -0
  1025. package/.next/standalone/.next/static/chunks/0k50-hp08.xtp.js +1 -0
  1026. package/.next/standalone/.next/static/chunks/0kay5q80s3dvk.js +1 -0
  1027. package/.next/standalone/.next/static/chunks/0khb_1xojj7c5.js +1 -0
  1028. package/.next/standalone/.next/static/chunks/0kima6zc7cl2p.js +1 -0
  1029. package/.next/standalone/.next/static/chunks/0klgt~0-~x218.js +22 -0
  1030. package/.next/standalone/.next/static/chunks/0km7rdwy0nojw.js +1 -0
  1031. package/.next/standalone/.next/static/chunks/0kmwqchx6vxwc.js +1 -0
  1032. package/.next/standalone/.next/static/chunks/0kox55ju9c.e4.js +1 -0
  1033. package/.next/standalone/.next/static/chunks/0kqhp6exa2fy..js +1 -0
  1034. package/.next/standalone/.next/static/chunks/0krb2wvo2_ipb.js +1 -0
  1035. package/.next/standalone/.next/static/chunks/0l2y6kyc.a-lm.js +1 -0
  1036. package/.next/standalone/.next/static/chunks/0li8had.owe.1.js +1 -0
  1037. package/.next/standalone/.next/static/chunks/0lmphgiw6i7.u.js +1 -0
  1038. package/.next/standalone/.next/static/chunks/0ln.k~86axef3.js +1 -0
  1039. package/.next/standalone/.next/static/chunks/0lx8~_137t7f-.js +1 -0
  1040. package/.next/standalone/.next/static/chunks/0mi.f1.iffvs7.js +1 -0
  1041. package/.next/standalone/.next/static/chunks/0ml0ppx6kwe2_.js +1 -0
  1042. package/.next/standalone/.next/static/chunks/0mop5bqo.x.tq.js +1 -0
  1043. package/.next/standalone/.next/static/chunks/0n..hexfw6r85.js +1 -0
  1044. package/.next/standalone/.next/static/chunks/0n1xl_9xb64~a.js +1 -0
  1045. package/.next/standalone/.next/static/chunks/0nh~2y4pr-6b-.js +1 -0
  1046. package/.next/standalone/.next/static/chunks/0nib3rg.-vev~.js +1 -0
  1047. package/.next/standalone/.next/static/chunks/0nin7ftvq8x5c.js +1 -0
  1048. package/.next/standalone/.next/static/chunks/0npkzy0bwqhuu.js +12 -0
  1049. package/.next/standalone/.next/static/chunks/0nrj_89-wll85.js +1 -0
  1050. package/.next/standalone/.next/static/chunks/0nt1zep7fuphm.js +1 -0
  1051. package/.next/standalone/.next/static/chunks/0o_yi7-4-ckig.js +1 -0
  1052. package/.next/standalone/.next/static/chunks/0od.dh7plim.y.js +1 -0
  1053. package/.next/standalone/.next/static/chunks/0ompw-.~bzbl~.js +1 -0
  1054. package/.next/standalone/.next/static/chunks/0otoymu09sgml.js +1 -0
  1055. package/.next/standalone/.next/static/chunks/0oy5nvsojxb2i.js +1 -0
  1056. package/.next/standalone/.next/static/chunks/0p-66z7l1v1.y.js +1 -0
  1057. package/.next/standalone/.next/static/chunks/0p15~kn-ue177.js +1 -0
  1058. package/.next/standalone/.next/static/chunks/0p9lhrh8.pib5.js +1 -0
  1059. package/.next/standalone/.next/static/chunks/0p_fjrl~3m4~1.js +12 -0
  1060. package/.next/standalone/.next/static/chunks/0pcl8j6_bcbiz.js +1 -0
  1061. package/.next/standalone/.next/static/chunks/0pd8.t0drvms0.js +1 -0
  1062. package/.next/standalone/.next/static/chunks/0ph5jt9ih37n_.js +1 -0
  1063. package/.next/standalone/.next/static/chunks/0pri~dpuzgt.h.js +1 -0
  1064. package/.next/standalone/.next/static/chunks/0puhant9cy0xw.js +1 -0
  1065. package/.next/standalone/.next/static/chunks/0py3p~barq9qm.js +1 -0
  1066. package/.next/standalone/.next/static/chunks/0qjxptnm-y6z9.js +1 -0
  1067. package/.next/standalone/.next/static/chunks/0qq0j-.80xn9g.js +1 -0
  1068. package/.next/standalone/.next/static/chunks/0qqqbuz6lwti4.js +1 -0
  1069. package/.next/standalone/.next/static/chunks/0qsgboanofs~w.js +1 -0
  1070. package/.next/standalone/.next/static/chunks/0qyfrpc8a5rd2.js +1 -0
  1071. package/.next/standalone/.next/static/chunks/0r7uk81oh650e.js +1 -0
  1072. package/.next/standalone/.next/static/chunks/0ri1elfyccf-q.js +5 -0
  1073. package/.next/standalone/.next/static/chunks/0rp54m4d5dl3t.js +1 -0
  1074. package/.next/standalone/.next/static/chunks/0rs6s1tzjmjev.js +1 -0
  1075. package/.next/standalone/.next/static/chunks/0rsql1tk-1x30.js +1 -0
  1076. package/.next/standalone/.next/static/chunks/0rwya.fa7lhnu.js +1 -0
  1077. package/.next/standalone/.next/static/chunks/0s0lir6hwkr04.js +1 -0
  1078. package/.next/standalone/.next/static/chunks/0s2556segxj5s.js +1 -0
  1079. package/.next/standalone/.next/static/chunks/0s4349ot3k84h.js +1 -0
  1080. package/.next/standalone/.next/static/chunks/0s7-~f7~nxsvv.js +1 -0
  1081. package/.next/standalone/.next/static/chunks/0sp10x64t3xw..js +1 -0
  1082. package/.next/standalone/.next/static/chunks/0suodavub2~no.js +1 -0
  1083. package/.next/standalone/.next/static/chunks/0t2-puqi9n-qj.js +1 -0
  1084. package/.next/standalone/.next/static/chunks/0t_38o03_pjwq.js +1 -0
  1085. package/.next/standalone/.next/static/chunks/0tgf56mm9k7pr.js +1 -0
  1086. package/.next/standalone/.next/static/chunks/0u2nzzxfhy1gu.js +1 -0
  1087. package/.next/standalone/.next/static/chunks/0u8.l04d305ah.js +1 -0
  1088. package/.next/standalone/.next/static/chunks/0uas8oygwvzxv.js +1 -0
  1089. package/.next/standalone/.next/static/chunks/0uh~v~z-_qx.~.js +1 -0
  1090. package/.next/standalone/.next/static/chunks/0uqiu0de5_s1x.js +1 -0
  1091. package/.next/standalone/.next/static/chunks/0uys58gk7-1i..js +1 -0
  1092. package/.next/standalone/.next/static/chunks/0uzs3jw4-93ly.js +1 -0
  1093. package/.next/standalone/.next/static/chunks/0v.jg4inzwy6o.js +1 -0
  1094. package/.next/standalone/.next/static/chunks/0v.kh_mkun9bx.js +24 -0
  1095. package/.next/standalone/.next/static/chunks/0v26nroampv9_.js +1 -0
  1096. package/.next/standalone/.next/static/chunks/0v6__.cfcitpl.js +1 -0
  1097. package/.next/standalone/.next/static/chunks/0vf0k8dsk5rq5.js +1 -0
  1098. package/.next/standalone/.next/static/chunks/0vglv5cz.-0qh.js +1 -0
  1099. package/.next/standalone/.next/static/chunks/0viu964a18izd.js +1 -0
  1100. package/.next/standalone/.next/static/chunks/0vjl1gxa61mjw.js +1 -0
  1101. package/.next/standalone/.next/static/chunks/0vmc7tq7ze-wk.js +1 -0
  1102. package/.next/standalone/.next/static/chunks/0w1ldes9u.mhe.js +1 -0
  1103. package/.next/standalone/.next/static/chunks/0w_03xk_xkc5a.js +1 -0
  1104. package/.next/standalone/.next/static/chunks/0wbe4~1~ofyw7.js +1 -0
  1105. package/.next/standalone/.next/static/chunks/0weikxeptit2l.js +1 -0
  1106. package/.next/standalone/.next/static/chunks/0wnkrgpnlwjxd.js +1 -0
  1107. package/.next/standalone/.next/static/chunks/0wqn8nuy2imic.js +21 -0
  1108. package/.next/standalone/.next/static/chunks/0wvyw8fxpnmre.js +1 -0
  1109. package/.next/standalone/.next/static/chunks/0ww~d_q9h_vyf.js +1 -0
  1110. package/.next/standalone/.next/static/chunks/0wx.aq674yk~q.js +1 -0
  1111. package/.next/standalone/.next/static/chunks/0wyxsfozbx3ya.js +1 -0
  1112. package/.next/standalone/.next/static/chunks/0w~j7f4t3sl-5.js +1 -0
  1113. package/.next/standalone/.next/static/chunks/0x0wtx-7f-99p.js +1 -0
  1114. package/.next/standalone/.next/static/chunks/0xa3wlh19b0ru.js +1 -0
  1115. package/.next/standalone/.next/static/chunks/0xmalbon9eqvg.js +1 -0
  1116. package/.next/standalone/.next/static/chunks/0xnoj5tv5s-x7.js +1 -0
  1117. package/.next/standalone/.next/static/chunks/0y--b123-dayk.js +1 -0
  1118. package/.next/standalone/.next/static/chunks/0y1_gk64rkp0g.js +1 -0
  1119. package/.next/standalone/.next/static/chunks/0yc9f4hp_vw.0.js +1 -0
  1120. package/.next/standalone/.next/static/chunks/0yct5s8qj~49~.js +1 -0
  1121. package/.next/standalone/.next/static/chunks/0yfmp2k-sykol.js +1 -0
  1122. package/.next/standalone/.next/static/chunks/0ylxxoh_br2d0.js +1 -0
  1123. package/.next/standalone/.next/static/chunks/0ym4zabx0mz5q.js +1 -0
  1124. package/.next/standalone/.next/static/chunks/0yng55jql.7c8.js +1 -0
  1125. package/.next/standalone/.next/static/chunks/0z3gpm0o.mwwy.css +3 -0
  1126. package/.next/standalone/.next/static/chunks/0z82r9mccr14d.js +1 -0
  1127. package/.next/standalone/.next/static/chunks/0zcm8t5rl6cj8.js +1 -0
  1128. package/.next/standalone/.next/static/chunks/0zh8.~d8kkaur.js +1 -0
  1129. package/.next/standalone/.next/static/chunks/0zv25~9jzolto.js +1 -0
  1130. package/.next/standalone/.next/static/chunks/0zz.9uk42mbks.js +1 -0
  1131. package/.next/standalone/.next/static/chunks/0~9o7bcqoa_1i.js +1 -0
  1132. package/.next/standalone/.next/static/chunks/0~eqimqqzdwi6.js +1 -0
  1133. package/.next/standalone/.next/static/chunks/0~mh~jd1w~egx.js +1 -0
  1134. package/.next/standalone/.next/static/chunks/0~v9vok5s4joe.js +1 -0
  1135. package/.next/standalone/.next/static/chunks/101b38vi97ft5.js +1 -0
  1136. package/.next/standalone/.next/static/chunks/10_1w.i.mluxp.js +1 -0
  1137. package/.next/standalone/.next/static/chunks/10_nfoizsbo64.js +1 -0
  1138. package/.next/standalone/.next/static/chunks/10oddkkxi68cn.js +1 -0
  1139. package/.next/standalone/.next/static/chunks/10r8rypk5fanv.js +1 -0
  1140. package/.next/standalone/.next/static/chunks/11-bb6271_1dc.js +1 -0
  1141. package/.next/standalone/.next/static/chunks/112z914p~tjcs.js +1 -0
  1142. package/.next/standalone/.next/static/chunks/11m_l9n~lhq~4.js +1 -0
  1143. package/.next/standalone/.next/static/chunks/11nguqdiy1s_1.js +1 -0
  1144. package/.next/standalone/.next/static/chunks/11om.od9y1ey0.js +1 -0
  1145. package/.next/standalone/.next/static/chunks/12jwdr.-.hy1i.js +1 -0
  1146. package/.next/standalone/.next/static/chunks/12p86cqbuh4nj.js +26 -0
  1147. package/.next/standalone/.next/static/chunks/12v-3d6u5v0_d.js +1 -0
  1148. package/.next/standalone/.next/static/chunks/12y2~s_.7~k3p.js +1 -0
  1149. package/.next/standalone/.next/static/chunks/12z.wim1atha..js +1 -0
  1150. package/.next/standalone/.next/static/chunks/1326-kxkkyyw7.js +1 -0
  1151. package/.next/standalone/.next/static/chunks/134ajz_dj-3mn.js +1 -0
  1152. package/.next/standalone/.next/static/chunks/13etl0mib~_ql.js +1 -0
  1153. package/.next/standalone/.next/static/chunks/13lolm.hf4lkn.js +1 -0
  1154. package/.next/standalone/.next/static/chunks/13nitezuv6q6x.js +1 -0
  1155. package/.next/standalone/.next/static/chunks/13pcufeszpbn1.js +1 -0
  1156. package/.next/standalone/.next/static/chunks/13u3mwvwu3kc..js +1 -0
  1157. package/.next/standalone/.next/static/chunks/14067kbmixmm6.js +1 -0
  1158. package/.next/standalone/.next/static/chunks/14_5keky52uvs.js +1 -0
  1159. package/.next/standalone/.next/static/chunks/14c.z2lxpb9yh.js +6 -0
  1160. package/.next/standalone/.next/static/chunks/14eyug83hic2k.js +1 -0
  1161. package/.next/standalone/.next/static/chunks/14kwwtm1qmmjy.js +1 -0
  1162. package/.next/standalone/.next/static/chunks/14m.aoz.w13fh.js +1 -0
  1163. package/.next/standalone/.next/static/chunks/14mhapyvtwvvg.js +1 -0
  1164. package/.next/standalone/.next/static/chunks/15.hldozq1278.js +1 -0
  1165. package/.next/standalone/.next/static/chunks/15aj3kd.p7zw6.js +1 -0
  1166. package/.next/standalone/.next/static/chunks/15gfl.-i~ac.7.js +1 -0
  1167. package/.next/standalone/.next/static/chunks/15gs~wdebzs1c.js +1 -0
  1168. package/.next/standalone/.next/static/chunks/15pi89ggqd92a.js +1 -0
  1169. package/.next/standalone/.next/static/chunks/15s_ijss-1xlz.js +1 -0
  1170. package/.next/standalone/.next/static/chunks/15v7ygx_v64d6.js +1 -0
  1171. package/.next/standalone/.next/static/chunks/15wkoi26~8omr.js +1 -0
  1172. package/.next/standalone/.next/static/chunks/162-5szgf7-ht.js +1 -0
  1173. package/.next/standalone/.next/static/chunks/16d_jf97u76y~.js +1 -0
  1174. package/.next/standalone/.next/static/chunks/16dbi-ty-ptnr.js +1 -0
  1175. package/.next/standalone/.next/static/chunks/16y57_d410su~.js +21 -0
  1176. package/.next/standalone/.next/static/chunks/17-b_.zl.b.v5.js +12 -0
  1177. package/.next/standalone/.next/static/chunks/171-hjyw~7lkn.js +1 -0
  1178. package/.next/standalone/.next/static/chunks/17cx6pxsrv086.js +1 -0
  1179. package/.next/standalone/.next/static/chunks/17e9_m-u1zvfx.js +1 -0
  1180. package/.next/standalone/.next/static/chunks/17fz.9.0zd_5j.js +1 -0
  1181. package/.next/standalone/.next/static/chunks/17l496oycdhjx.js +1 -0
  1182. package/.next/standalone/.next/static/chunks/17x5xbk3gb88e.js +1 -0
  1183. package/.next/standalone/.next/static/chunks/186b1th1fl440.js +1 -0
  1184. package/.next/standalone/.next/static/chunks/18bztvpdorkth.js +1 -0
  1185. package/.next/standalone/.next/static/chunks/18d9u7jni2vco.js +1 -0
  1186. package/.next/standalone/.next/static/chunks/turbopack-0.0-9ywei0ywz.js +1 -0
  1187. package/.next/standalone/.next/static/chunks/turbopack-0.6unxftyj_d-.js +1 -0
  1188. package/.next/standalone/.next/static/chunks/turbopack-000.wwx44v~ta.js +1 -0
  1189. package/.next/standalone/.next/static/chunks/turbopack-09366mpv31_t3.js +1 -0
  1190. package/.next/standalone/.next/static/chunks/turbopack-0b5jcsyziervm.js +1 -0
  1191. package/.next/standalone/.next/static/chunks/turbopack-0fys4q0v~kji4.js +1 -0
  1192. package/.next/standalone/.next/static/chunks/turbopack-0hztpqwxco~1x.js +1 -0
  1193. package/.next/standalone/.next/static/chunks/turbopack-0jr_ek2v1rqkk.js +1 -0
  1194. package/.next/standalone/.next/static/chunks/turbopack-0m7v9.hzigy2-.js +1 -0
  1195. package/.next/standalone/.next/static/chunks/turbopack-0q5gddzdhlm56.js +1 -0
  1196. package/.next/standalone/.next/static/chunks/turbopack-0u0_.1-n2rh1l.js +1 -0
  1197. package/.next/standalone/.next/static/chunks/turbopack-0yd~_c3_moady.js +1 -0
  1198. package/.next/standalone/.next/static/chunks/turbopack-0yfrya2-l1vyp.js +1 -0
  1199. package/.next/standalone/messages/de/agent.json +91 -0
  1200. package/.next/standalone/messages/de/agents.json +31 -0
  1201. package/.next/standalone/messages/de/common.json +27 -0
  1202. package/.next/standalone/messages/de/connection.json +9 -0
  1203. package/.next/standalone/messages/de/diff.json +9 -0
  1204. package/.next/standalone/messages/de/header.json +3 -0
  1205. package/.next/standalone/messages/de/login.json +16 -0
  1206. package/.next/standalone/messages/de/messageHistory.json +10 -0
  1207. package/.next/standalone/messages/de/mobile.json +16 -0
  1208. package/.next/standalone/messages/de/notification.json +21 -0
  1209. package/.next/standalone/messages/de/onboarding.json +47 -0
  1210. package/.next/standalone/messages/de/reports.json +8 -0
  1211. package/.next/standalone/messages/de/reset.json +9 -0
  1212. package/.next/standalone/messages/de/session.json +34 -0
  1213. package/.next/standalone/messages/de/settings.json +169 -0
  1214. package/.next/standalone/messages/de/sidebar.json +11 -0
  1215. package/.next/standalone/messages/de/stats.json +98 -0
  1216. package/.next/standalone/messages/de/terminal.json +70 -0
  1217. package/.next/standalone/messages/de/timeline.json +32 -0
  1218. package/.next/standalone/messages/de/toolsRequired.json +15 -0
  1219. package/.next/standalone/messages/de/webBrowser.json +11 -0
  1220. package/.next/standalone/messages/de/workspace.json +13 -0
  1221. package/.next/standalone/messages/en/agent.json +91 -0
  1222. package/.next/standalone/messages/en/agents.json +31 -0
  1223. package/.next/standalone/messages/en/common.json +27 -0
  1224. package/.next/standalone/messages/en/connection.json +9 -0
  1225. package/.next/standalone/messages/en/diff.json +9 -0
  1226. package/.next/standalone/messages/en/header.json +3 -0
  1227. package/.next/standalone/messages/en/login.json +16 -0
  1228. package/.next/standalone/messages/en/messageHistory.json +10 -0
  1229. package/.next/standalone/messages/en/mobile.json +16 -0
  1230. package/.next/standalone/messages/en/notification.json +21 -0
  1231. package/.next/standalone/messages/en/onboarding.json +47 -0
  1232. package/.next/standalone/messages/en/reports.json +8 -0
  1233. package/.next/standalone/messages/en/reset.json +9 -0
  1234. package/.next/standalone/messages/en/session.json +34 -0
  1235. package/.next/standalone/messages/en/settings.json +171 -0
  1236. package/.next/standalone/messages/en/sidebar.json +11 -0
  1237. package/.next/standalone/messages/en/stats.json +98 -0
  1238. package/.next/standalone/messages/en/terminal.json +70 -0
  1239. package/.next/standalone/messages/en/timeline.json +32 -0
  1240. package/.next/standalone/messages/en/toolsRequired.json +15 -0
  1241. package/.next/standalone/messages/en/webBrowser.json +11 -0
  1242. package/.next/standalone/messages/en/workspace.json +13 -0
  1243. package/.next/standalone/messages/es/agent.json +91 -0
  1244. package/.next/standalone/messages/es/agents.json +31 -0
  1245. package/.next/standalone/messages/es/common.json +27 -0
  1246. package/.next/standalone/messages/es/connection.json +9 -0
  1247. package/.next/standalone/messages/es/diff.json +9 -0
  1248. package/.next/standalone/messages/es/header.json +3 -0
  1249. package/.next/standalone/messages/es/login.json +16 -0
  1250. package/.next/standalone/messages/es/messageHistory.json +10 -0
  1251. package/.next/standalone/messages/es/mobile.json +16 -0
  1252. package/.next/standalone/messages/es/notification.json +21 -0
  1253. package/.next/standalone/messages/es/onboarding.json +47 -0
  1254. package/.next/standalone/messages/es/reports.json +8 -0
  1255. package/.next/standalone/messages/es/reset.json +9 -0
  1256. package/.next/standalone/messages/es/session.json +34 -0
  1257. package/.next/standalone/messages/es/settings.json +169 -0
  1258. package/.next/standalone/messages/es/sidebar.json +11 -0
  1259. package/.next/standalone/messages/es/stats.json +89 -0
  1260. package/.next/standalone/messages/es/terminal.json +70 -0
  1261. package/.next/standalone/messages/es/timeline.json +32 -0
  1262. package/.next/standalone/messages/es/toolsRequired.json +15 -0
  1263. package/.next/standalone/messages/es/webBrowser.json +11 -0
  1264. package/.next/standalone/messages/es/workspace.json +13 -0
  1265. package/.next/standalone/messages/fr/agent.json +91 -0
  1266. package/.next/standalone/messages/fr/agents.json +31 -0
  1267. package/.next/standalone/messages/fr/common.json +27 -0
  1268. package/.next/standalone/messages/fr/connection.json +9 -0
  1269. package/.next/standalone/messages/fr/diff.json +9 -0
  1270. package/.next/standalone/messages/fr/header.json +3 -0
  1271. package/.next/standalone/messages/fr/login.json +16 -0
  1272. package/.next/standalone/messages/fr/messageHistory.json +10 -0
  1273. package/.next/standalone/messages/fr/mobile.json +16 -0
  1274. package/.next/standalone/messages/fr/notification.json +21 -0
  1275. package/.next/standalone/messages/fr/onboarding.json +47 -0
  1276. package/.next/standalone/messages/fr/reports.json +8 -0
  1277. package/.next/standalone/messages/fr/reset.json +9 -0
  1278. package/.next/standalone/messages/fr/session.json +34 -0
  1279. package/.next/standalone/messages/fr/settings.json +169 -0
  1280. package/.next/standalone/messages/fr/sidebar.json +11 -0
  1281. package/.next/standalone/messages/fr/stats.json +98 -0
  1282. package/.next/standalone/messages/fr/terminal.json +70 -0
  1283. package/.next/standalone/messages/fr/timeline.json +32 -0
  1284. package/.next/standalone/messages/fr/toolsRequired.json +15 -0
  1285. package/.next/standalone/messages/fr/webBrowser.json +11 -0
  1286. package/.next/standalone/messages/fr/workspace.json +13 -0
  1287. package/.next/standalone/messages/ja/agent.json +91 -0
  1288. package/.next/standalone/messages/ja/agents.json +31 -0
  1289. package/.next/standalone/messages/ja/common.json +27 -0
  1290. package/.next/standalone/messages/ja/connection.json +9 -0
  1291. package/.next/standalone/messages/ja/diff.json +9 -0
  1292. package/.next/standalone/messages/ja/header.json +3 -0
  1293. package/.next/standalone/messages/ja/login.json +16 -0
  1294. package/.next/standalone/messages/ja/messageHistory.json +10 -0
  1295. package/.next/standalone/messages/ja/mobile.json +16 -0
  1296. package/.next/standalone/messages/ja/notification.json +21 -0
  1297. package/.next/standalone/messages/ja/onboarding.json +47 -0
  1298. package/.next/standalone/messages/ja/reports.json +8 -0
  1299. package/.next/standalone/messages/ja/reset.json +9 -0
  1300. package/.next/standalone/messages/ja/session.json +34 -0
  1301. package/.next/standalone/messages/ja/settings.json +169 -0
  1302. package/.next/standalone/messages/ja/sidebar.json +11 -0
  1303. package/.next/standalone/messages/ja/stats.json +89 -0
  1304. package/.next/standalone/messages/ja/terminal.json +70 -0
  1305. package/.next/standalone/messages/ja/timeline.json +32 -0
  1306. package/.next/standalone/messages/ja/toolsRequired.json +15 -0
  1307. package/.next/standalone/messages/ja/webBrowser.json +11 -0
  1308. package/.next/standalone/messages/ja/workspace.json +13 -0
  1309. package/.next/standalone/messages/ko/agent.json +91 -0
  1310. package/.next/standalone/messages/ko/agents.json +31 -0
  1311. package/.next/standalone/messages/ko/common.json +27 -0
  1312. package/.next/standalone/messages/ko/connection.json +9 -0
  1313. package/.next/standalone/messages/ko/diff.json +9 -0
  1314. package/.next/standalone/messages/ko/header.json +3 -0
  1315. package/.next/standalone/messages/ko/login.json +16 -0
  1316. package/.next/standalone/messages/ko/messageHistory.json +10 -0
  1317. package/.next/standalone/messages/ko/mobile.json +16 -0
  1318. package/.next/standalone/messages/ko/notification.json +21 -0
  1319. package/.next/standalone/messages/ko/onboarding.json +47 -0
  1320. package/.next/standalone/messages/ko/reports.json +8 -0
  1321. package/.next/standalone/messages/ko/reset.json +9 -0
  1322. package/.next/standalone/messages/ko/session.json +34 -0
  1323. package/.next/standalone/messages/ko/settings.json +171 -0
  1324. package/.next/standalone/messages/ko/sidebar.json +11 -0
  1325. package/.next/standalone/messages/ko/stats.json +98 -0
  1326. package/.next/standalone/messages/ko/terminal.json +70 -0
  1327. package/.next/standalone/messages/ko/timeline.json +32 -0
  1328. package/.next/standalone/messages/ko/toolsRequired.json +15 -0
  1329. package/.next/standalone/messages/ko/webBrowser.json +11 -0
  1330. package/.next/standalone/messages/ko/workspace.json +13 -0
  1331. package/.next/standalone/messages/pt-BR/agent.json +91 -0
  1332. package/.next/standalone/messages/pt-BR/agents.json +31 -0
  1333. package/.next/standalone/messages/pt-BR/common.json +27 -0
  1334. package/.next/standalone/messages/pt-BR/connection.json +9 -0
  1335. package/.next/standalone/messages/pt-BR/diff.json +9 -0
  1336. package/.next/standalone/messages/pt-BR/header.json +3 -0
  1337. package/.next/standalone/messages/pt-BR/login.json +16 -0
  1338. package/.next/standalone/messages/pt-BR/messageHistory.json +10 -0
  1339. package/.next/standalone/messages/pt-BR/mobile.json +16 -0
  1340. package/.next/standalone/messages/pt-BR/notification.json +21 -0
  1341. package/.next/standalone/messages/pt-BR/onboarding.json +47 -0
  1342. package/.next/standalone/messages/pt-BR/reports.json +8 -0
  1343. package/.next/standalone/messages/pt-BR/reset.json +9 -0
  1344. package/.next/standalone/messages/pt-BR/session.json +34 -0
  1345. package/.next/standalone/messages/pt-BR/settings.json +169 -0
  1346. package/.next/standalone/messages/pt-BR/sidebar.json +11 -0
  1347. package/.next/standalone/messages/pt-BR/stats.json +98 -0
  1348. package/.next/standalone/messages/pt-BR/terminal.json +70 -0
  1349. package/.next/standalone/messages/pt-BR/timeline.json +32 -0
  1350. package/.next/standalone/messages/pt-BR/toolsRequired.json +15 -0
  1351. package/.next/standalone/messages/pt-BR/webBrowser.json +11 -0
  1352. package/.next/standalone/messages/pt-BR/workspace.json +13 -0
  1353. package/.next/standalone/messages/ru/agent.json +91 -0
  1354. package/.next/standalone/messages/ru/agents.json +31 -0
  1355. package/.next/standalone/messages/ru/common.json +27 -0
  1356. package/.next/standalone/messages/ru/connection.json +9 -0
  1357. package/.next/standalone/messages/ru/diff.json +9 -0
  1358. package/.next/standalone/messages/ru/header.json +3 -0
  1359. package/.next/standalone/messages/ru/login.json +16 -0
  1360. package/.next/standalone/messages/ru/messageHistory.json +10 -0
  1361. package/.next/standalone/messages/ru/mobile.json +16 -0
  1362. package/.next/standalone/messages/ru/notification.json +21 -0
  1363. package/.next/standalone/messages/ru/onboarding.json +47 -0
  1364. package/.next/standalone/messages/ru/reports.json +8 -0
  1365. package/.next/standalone/messages/ru/reset.json +9 -0
  1366. package/.next/standalone/messages/ru/session.json +34 -0
  1367. package/.next/standalone/messages/ru/settings.json +169 -0
  1368. package/.next/standalone/messages/ru/sidebar.json +11 -0
  1369. package/.next/standalone/messages/ru/stats.json +98 -0
  1370. package/.next/standalone/messages/ru/terminal.json +70 -0
  1371. package/.next/standalone/messages/ru/timeline.json +32 -0
  1372. package/.next/standalone/messages/ru/toolsRequired.json +15 -0
  1373. package/.next/standalone/messages/ru/webBrowser.json +11 -0
  1374. package/.next/standalone/messages/ru/workspace.json +13 -0
  1375. package/.next/standalone/messages/tr/agent.json +91 -0
  1376. package/.next/standalone/messages/tr/agents.json +31 -0
  1377. package/.next/standalone/messages/tr/common.json +27 -0
  1378. package/.next/standalone/messages/tr/connection.json +9 -0
  1379. package/.next/standalone/messages/tr/diff.json +9 -0
  1380. package/.next/standalone/messages/tr/header.json +3 -0
  1381. package/.next/standalone/messages/tr/login.json +16 -0
  1382. package/.next/standalone/messages/tr/messageHistory.json +10 -0
  1383. package/.next/standalone/messages/tr/mobile.json +16 -0
  1384. package/.next/standalone/messages/tr/notification.json +21 -0
  1385. package/.next/standalone/messages/tr/onboarding.json +47 -0
  1386. package/.next/standalone/messages/tr/reports.json +8 -0
  1387. package/.next/standalone/messages/tr/reset.json +9 -0
  1388. package/.next/standalone/messages/tr/session.json +34 -0
  1389. package/.next/standalone/messages/tr/settings.json +169 -0
  1390. package/.next/standalone/messages/tr/sidebar.json +11 -0
  1391. package/.next/standalone/messages/tr/stats.json +98 -0
  1392. package/.next/standalone/messages/tr/terminal.json +70 -0
  1393. package/.next/standalone/messages/tr/timeline.json +32 -0
  1394. package/.next/standalone/messages/tr/toolsRequired.json +15 -0
  1395. package/.next/standalone/messages/tr/webBrowser.json +11 -0
  1396. package/.next/standalone/messages/tr/workspace.json +13 -0
  1397. package/.next/standalone/messages/zh-CN/agent.json +91 -0
  1398. package/.next/standalone/messages/zh-CN/agents.json +31 -0
  1399. package/.next/standalone/messages/zh-CN/common.json +27 -0
  1400. package/.next/standalone/messages/zh-CN/connection.json +9 -0
  1401. package/.next/standalone/messages/zh-CN/diff.json +9 -0
  1402. package/.next/standalone/messages/zh-CN/header.json +3 -0
  1403. package/.next/standalone/messages/zh-CN/login.json +16 -0
  1404. package/.next/standalone/messages/zh-CN/messageHistory.json +10 -0
  1405. package/.next/standalone/messages/zh-CN/mobile.json +16 -0
  1406. package/.next/standalone/messages/zh-CN/notification.json +21 -0
  1407. package/.next/standalone/messages/zh-CN/onboarding.json +47 -0
  1408. package/.next/standalone/messages/zh-CN/reports.json +8 -0
  1409. package/.next/standalone/messages/zh-CN/reset.json +9 -0
  1410. package/.next/standalone/messages/zh-CN/session.json +34 -0
  1411. package/.next/standalone/messages/zh-CN/settings.json +169 -0
  1412. package/.next/standalone/messages/zh-CN/sidebar.json +11 -0
  1413. package/.next/standalone/messages/zh-CN/stats.json +89 -0
  1414. package/.next/standalone/messages/zh-CN/terminal.json +70 -0
  1415. package/.next/standalone/messages/zh-CN/timeline.json +32 -0
  1416. package/.next/standalone/messages/zh-CN/toolsRequired.json +15 -0
  1417. package/.next/standalone/messages/zh-CN/webBrowser.json +11 -0
  1418. package/.next/standalone/messages/zh-CN/workspace.json +13 -0
  1419. package/.next/standalone/messages/zh-TW/agent.json +91 -0
  1420. package/.next/standalone/messages/zh-TW/agents.json +31 -0
  1421. package/.next/standalone/messages/zh-TW/common.json +27 -0
  1422. package/.next/standalone/messages/zh-TW/connection.json +9 -0
  1423. package/.next/standalone/messages/zh-TW/diff.json +9 -0
  1424. package/.next/standalone/messages/zh-TW/header.json +3 -0
  1425. package/.next/standalone/messages/zh-TW/login.json +16 -0
  1426. package/.next/standalone/messages/zh-TW/messageHistory.json +10 -0
  1427. package/.next/standalone/messages/zh-TW/mobile.json +16 -0
  1428. package/.next/standalone/messages/zh-TW/notification.json +21 -0
  1429. package/.next/standalone/messages/zh-TW/onboarding.json +47 -0
  1430. package/.next/standalone/messages/zh-TW/reports.json +8 -0
  1431. package/.next/standalone/messages/zh-TW/reset.json +9 -0
  1432. package/.next/standalone/messages/zh-TW/session.json +34 -0
  1433. package/.next/standalone/messages/zh-TW/settings.json +169 -0
  1434. package/.next/standalone/messages/zh-TW/sidebar.json +11 -0
  1435. package/.next/standalone/messages/zh-TW/stats.json +98 -0
  1436. package/.next/standalone/messages/zh-TW/terminal.json +70 -0
  1437. package/.next/standalone/messages/zh-TW/timeline.json +32 -0
  1438. package/.next/standalone/messages/zh-TW/toolsRequired.json +15 -0
  1439. package/.next/standalone/messages/zh-TW/webBrowser.json +11 -0
  1440. package/.next/standalone/messages/zh-TW/workspace.json +13 -0
  1441. package/.next/standalone/package.json +129 -0
  1442. package/.next/standalone/public/android-chrome-192x192.png +0 -0
  1443. package/.next/standalone/public/android-chrome-512x512.png +0 -0
  1444. package/.next/standalone/public/apple-touch-icon.png +0 -0
  1445. package/.next/standalone/public/avatars/avatar0.png +0 -0
  1446. package/.next/standalone/public/avatars/avatar1.png +0 -0
  1447. package/.next/standalone/public/avatars/avatar2.png +0 -0
  1448. package/.next/standalone/public/avatars/avatar3.png +0 -0
  1449. package/.next/standalone/public/browserconfig.xml +9 -0
  1450. package/.next/standalone/public/favicon-16x16.png +0 -0
  1451. package/.next/standalone/public/favicon-32x32.png +0 -0
  1452. package/.next/standalone/public/favicon.ico +0 -0
  1453. package/.next/standalone/public/fonts/LICENSE +151 -0
  1454. package/.next/standalone/public/fonts/MesloLGLDZNerdFont-Bold.woff2 +0 -0
  1455. package/.next/standalone/public/fonts/MesloLGLDZNerdFont-Regular.woff2 +0 -0
  1456. package/.next/standalone/public/fonts/PretendardVariable.woff2 +0 -0
  1457. package/.next/standalone/public/mstile-150x150.png +0 -0
  1458. package/.next/standalone/public/splash/splash-1125x2436.png +0 -0
  1459. package/.next/standalone/public/splash/splash-1170x2532.png +0 -0
  1460. package/.next/standalone/public/splash/splash-1179x2556.png +0 -0
  1461. package/.next/standalone/public/splash/splash-1206x2622.png +0 -0
  1462. package/.next/standalone/public/splash/splash-1242x2688.png +0 -0
  1463. package/.next/standalone/public/splash/splash-1290x2796.png +0 -0
  1464. package/.next/standalone/public/splash/splash-1320x2868.png +0 -0
  1465. package/.next/standalone/public/splash/splash-1488x2266.png +0 -0
  1466. package/.next/standalone/public/splash/splash-1620x2160.png +0 -0
  1467. package/.next/standalone/public/splash/splash-1640x2360.png +0 -0
  1468. package/.next/standalone/public/splash/splash-1668x2388.png +0 -0
  1469. package/.next/standalone/public/splash/splash-2048x2732.png +0 -0
  1470. package/.next/standalone/public/splash/splash-640x1136.png +0 -0
  1471. package/.next/standalone/public/splash/splash-750x1334.png +0 -0
  1472. package/.next/standalone/public/splash/splash-828x1792.png +0 -0
  1473. package/.next/standalone/public/sw.js +60 -0
  1474. package/.next/standalone/server.js +38 -0
  1475. package/.next/standalone/src/config/tmux.conf +36 -0
  1476. package/LICENSE +21 -0
  1477. package/README.de.md +224 -0
  1478. package/README.es.md +224 -0
  1479. package/README.fr.md +224 -0
  1480. package/README.ja.md +224 -0
  1481. package/README.ko.md +224 -0
  1482. package/README.md +224 -0
  1483. package/README.pt-BR.md +224 -0
  1484. package/README.ru.md +224 -0
  1485. package/README.tr.md +224 -0
  1486. package/README.zh-CN.md +224 -0
  1487. package/README.zh-TW.md +224 -0
  1488. package/bin/cli.js +275 -0
  1489. package/bin/purplemux.js +20 -0
  1490. package/dist/server.js +16634 -0
  1491. package/package.json +129 -0
  1492. package/src/config/tmux.conf +36 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[545174,e=>e.a(async(t,a)=>{try{var r=e.i(825265),n=e.i(322429),i=t([r,n]);[r,n]=i.then?(await i)():i;let s=async(e,t)=>{if("POST"!==e.method)return t.setHeader("Allow","POST"),t.status(405).json({error:"Method not allowed"});let a=e.query.workspace||await (0,n.getActiveWorkspaceId)();if(!a)return t.status(400).json({error:"No workspace found"});let i=e.query.tabId,s=e.query.paneId,{toPaneId:o,toIndex:d}=e.body??{};if(!o||void 0===d)return t.status(400).json({error:"toPaneId and toIndex required"});let l=await (0,r.moveTabBetweenPanes)(a,i,s,o,d);return l?t.status(200).json(l):t.status(404).json({error:"Target not found"})};e.s(["default",0,s]),a()}catch(e){a(e)}},!1),954429,e=>e.a(async(t,a)=>{try{var r=e.i(926747),n=e.i(190406),i=e.i(244898),s=e.i(262950),o=e.i(545174),d=e.i(7031),l=e.i(181927),u=e.i(846432),p=t([o]);[o]=p.then?(await p)():p;let v=(0,s.hoist)(o,"default"),h=(0,s.hoist)(o,"config"),m=new i.PagesAPIRouteModule({definition:{kind:n.RouteKind.PAGES_API,page:"/api/layout/pane/[paneId]/tabs/[tabId]/move",pathname:"/api/layout/pane/[paneId]/tabs/[tabId]/move",bundlePath:"",filename:""},userland:o,distDir:".next",relativeProjectDir:""});async function c(e,t,a){a.requestMeta&&(0,u.setRequestMeta)(e,a.requestMeta),m.isDev&&(0,u.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/layout/pane/[paneId]/tabs/[tabId]/move";n=n.replace(/\/index$/,"")||"/";let i=await m.prepare(e,t,{srcPage:n});if(!i){t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:s,params:o,prerenderManifest:p,routerServerContext:c}=i;try{let a,r=e.method||"GET",i=(0,d.getTracer)(),u=i.getActiveScopeSpan(),v=!!(null==c?void 0:c.isWrappedByNextServer),h=m.instrumentationOnRequestError.bind(m),y=async d=>m.render(e,t,{query:{...s,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:p.preview,propagateError:!1,dev:m.isDev,page:"/api/layout/pane/[paneId]/tabs/[tabId]/move",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>h(e,...t)}).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=e.get("next.route");if(s){let e=`${r} ${s}`;d.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),d.updateName(e),a&&a!==d&&(a.setAttribute("http.route",s),a.updateName(e))}else d.updateName(`${r} ${n}`)});v&&u?await y(u):(a=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(l.BaseServerSpan.handleRequest,{spanName:`${r} ${n}`,kind:d.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},y),void 0,!v))}catch(e){if(m.isDev)throw e;(0,r.sendError)(t,500,"Internal Server Error")}finally{null==a.waitUntil||a.waitUntil.call(a,Promise.resolve())}}e.s(["config",0,h,"default",0,v,"handler",0,c]),a()}catch(e){a(e)}},!1),981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))}];
2
+
3
+ //# sourceMappingURL=_004mja-._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[522999,e=>e.a(async(t,a)=>{try{var r=e.i(825265),i=e.i(322429),n=e.i(25146),s=t([r,i]);[r,i]=s.then?(await s)():s;let o=(0,n.createLogger)("layout"),l=async(e,t)=>{let a=e.query.workspace||await (0,i.getActiveWorkspaceId)();if(!a)return t.status(400).json({error:"No workspace found"});if("GET"===e.method)try{let e=await (0,i.getWorkspaceById)(a),n=await (0,r.getLayout)(a,e?.directories[0]);return t.status(200).json(n)}catch(e){return o.error(`GET failed: ${e instanceof Error?e.message:e}`),t.status(500).json({error:"Failed to load layout"})}if("PATCH"===e.method){let{activePaneId:i,ratioUpdate:n,equalize:s}=e.body??{},o=await (0,r.patchLayout)(a,{activePaneId:i,ratioUpdate:n,equalize:s});return o?t.status(200).json(o):t.status(404).json({error:"Target not found"})}return t.setHeader("Allow","GET, PATCH"),t.status(405).json({error:"Method not allowed"})};e.s(["default",0,l]),a()}catch(e){a(e)}},!1),791169,e=>e.a(async(t,a)=>{try{var r=e.i(926747),i=e.i(190406),n=e.i(244898),s=e.i(262950),o=e.i(522999),l=e.i(7031),u=e.i(181927),d=e.i(846432),p=t([o]);[o]=p.then?(await p)():p;let h=(0,s.hoist)(o,"default"),v=(0,s.hoist)(o,"config"),y=new n.PagesAPIRouteModule({definition:{kind:i.RouteKind.PAGES_API,page:"/api/layout/index",pathname:"/api/layout",bundlePath:"",filename:""},userland:o,distDir:".next",relativeProjectDir:""});async function c(e,t,a){a.requestMeta&&(0,d.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,d.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/layout/index";i=i.replace(/\/index$/,"")||"/";let n=await y.prepare(e,t,{srcPage:i});if(!n){t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:s,params:o,prerenderManifest:p,routerServerContext:c}=n;try{let a,r=e.method||"GET",n=(0,l.getTracer)(),d=n.getActiveScopeSpan(),h=!!(null==c?void 0:c.isWrappedByNextServer),v=y.instrumentationOnRequestError.bind(y),g=async l=>y.render(e,t,{query:{...s,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:p.preview,propagateError:!1,dev:y.isDev,page:"/api/layout/index",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>v(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let e=n.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=e.get("next.route");if(s){let e=`${r} ${s}`;l.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),l.updateName(e),a&&a!==l&&(a.setAttribute("http.route",s),a.updateName(e))}else l.updateName(`${r} ${i}`)});h&&d?await g(d):(a=n.getActiveScopeSpan(),await n.withPropagatedContext(e.headers,()=>n.trace(u.BaseServerSpan.handleRequest,{spanName:`${r} ${i}`,kind:l.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},g),void 0,!h))}catch(e){if(y.isDev)throw e;(0,r.sendError)(t,500,"Internal Server Error")}finally{null==a.waitUntil||a.waitUntil.call(a,Promise.resolve())}}e.s(["config",0,v,"default",0,h,"handler",0,c]),a()}catch(e){a(e)}},!1),981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))}];
2
+
3
+ //# sourceMappingURL=_038t-xf._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[471501,e=>e.a(async(t,a)=>{try{var r=e.i(322429),i=t([r]);[r]=i.then?(await i)():i;let n=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"Method not allowed"});let a=e.query.directory;if(!a)return t.status(400).json({error:"directory parameter required"});let i=await (0,r.validateDirectory)(a);return t.status(200).json(i)};e.s(["default",0,n]),a()}catch(e){a(e)}},!1),950322,e=>e.a(async(t,a)=>{try{var r=e.i(926747),i=e.i(190406),n=e.i(244898),s=e.i(262950),o=e.i(471501),l=e.i(7031),d=e.i(181927),u=e.i(846432),p=t([o]);[o]=p.then?(await p)():p;let v=(0,s.hoist)(o,"default"),h=(0,s.hoist)(o,"config"),w=new n.PagesAPIRouteModule({definition:{kind:i.RouteKind.PAGES_API,page:"/api/workspace/validate",pathname:"/api/workspace/validate",bundlePath:"",filename:""},userland:o,distDir:".next",relativeProjectDir:""});async function c(e,t,a){a.requestMeta&&(0,u.setRequestMeta)(e,a.requestMeta),w.isDev&&(0,u.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/workspace/validate";i=i.replace(/\/index$/,"")||"/";let n=await w.prepare(e,t,{srcPage:i});if(!n){t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:s,params:o,prerenderManifest:p,routerServerContext:c}=n;try{let a,r=e.method||"GET",n=(0,l.getTracer)(),u=n.getActiveScopeSpan(),v=!!(null==c?void 0:c.isWrappedByNextServer),h=w.instrumentationOnRequestError.bind(w),m=async l=>w.render(e,t,{query:{...s,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:p.preview,propagateError:!1,dev:w.isDev,page:"/api/workspace/validate",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>h(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let e=n.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=e.get("next.route");if(s){let e=`${r} ${s}`;l.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),l.updateName(e),a&&a!==l&&(a.setAttribute("http.route",s),a.updateName(e))}else l.updateName(`${r} ${i}`)});v&&u?await m(u):(a=n.getActiveScopeSpan(),await n.withPropagatedContext(e.headers,()=>n.trace(d.BaseServerSpan.handleRequest,{spanName:`${r} ${i}`,kind:l.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},m),void 0,!v))}catch(e){if(w.isDev)throw e;(0,r.sendError)(t,500,"Internal Server Error")}finally{null==a.waitUntil||a.waitUntil.call(a,Promise.resolve())}}e.s(["config",0,h,"default",0,v,"handler",0,c]),a()}catch(e){a(e)}},!1),981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))}];
2
+
3
+ //# sourceMappingURL=_04x7vdl._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[258447,e=>e.a(async(t,r)=>{try{var a=e.i(322429),s=t([a]);[a]=s.then?(await s)():s;let n=async(e,t)=>{let r=e.query.workspaceId;if("DELETE"===e.method)return await (0,a.deleteWorkspace)(r)?t.status(204).end():t.status(404).json({error:"Workspace not found"});if("PATCH"===e.method){let{name:s}=e.body??{};if(!s||"string"!=typeof s||!s.trim())return t.status(400).json({error:"name field required"});let n=await (0,a.renameWorkspace)(r,s.trim());return n?t.status(200).json(n):t.status(404).json({error:"Workspace not found"})}return t.setHeader("Allow","DELETE, PATCH"),t.status(405).json({error:"Method not allowed"})};e.s(["default",0,n]),r()}catch(e){r(e)}},!1),912974,e=>e.a(async(t,r)=>{try{var a=e.i(926747),s=e.i(190406),n=e.i(244898),i=e.i(262950),o=e.i(258447),l=e.i(7031),d=e.i(181927),u=e.i(846432),p=t([o]);[o]=p.then?(await p)():p;let h=(0,i.hoist)(o,"default"),w=(0,i.hoist)(o,"config"),v=new n.PagesAPIRouteModule({definition:{kind:s.RouteKind.PAGES_API,page:"/api/workspace/[workspaceId]",pathname:"/api/workspace/[workspaceId]",bundlePath:"",filename:""},userland:o,distDir:".next",relativeProjectDir:""});async function c(e,t,r){r.requestMeta&&(0,u.setRequestMeta)(e,r.requestMeta),v.isDev&&(0,u.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/workspace/[workspaceId]";s=s.replace(/\/index$/,"")||"/";let n=await v.prepare(e,t,{srcPage:s});if(!n){t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve());return}let{query:i,params:o,prerenderManifest:p,routerServerContext:c}=n;try{let r,a=e.method||"GET",n=(0,l.getTracer)(),u=n.getActiveScopeSpan(),h=!!(null==c?void 0:c.isWrappedByNextServer),w=v.instrumentationOnRequestError.bind(v),f=async l=>v.render(e,t,{query:{...i,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:p.preview,propagateError:!1,dev:v.isDev,page:"/api/workspace/[workspaceId]",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>w(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let e=n.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=e.get("next.route");if(i){let e=`${a} ${i}`;l.setAttributes({"next.route":i,"http.route":i,"next.span_name":e}),l.updateName(e),r&&r!==l&&(r.setAttribute("http.route",i),r.updateName(e))}else l.updateName(`${a} ${s}`)});h&&u?await f(u):(r=n.getActiveScopeSpan(),await n.withPropagatedContext(e.headers,()=>n.trace(d.BaseServerSpan.handleRequest,{spanName:`${a} ${s}`,kind:l.SpanKind.SERVER,attributes:{"http.method":a,"http.target":e.url}},f),void 0,!h))}catch(e){if(v.isDev)throw e;(0,a.sendError)(t,500,"Internal Server Error")}finally{null==r.waitUntil||r.waitUntil.call(r,Promise.resolve())}}e.s(["config",0,w,"default",0,h,"handler",0,c]),r()}catch(e){r(e)}},!1),981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))}];
2
+
3
+ //# sourceMappingURL=_05lt31z._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[658981,e=>e.a(async(t,r)=>{try{var a=e.i(322429),s=t([a]);[a]=s.then?(await s)():s;let i=async(e,t)=>{if("PATCH"!==e.method)return t.setHeader("Allow","PATCH"),t.status(405).json({error:"Method not allowed"});let{workspaceIds:r}=e.body??{};return Array.isArray(r)&&0!==r.length?await (0,a.reorderWorkspaces)(r)?t.status(200).json({ok:!0}):t.status(400).json({error:"Invalid order"}):t.status(400).json({error:"workspaceIds array required"})};e.s(["default",0,i]),r()}catch(e){r(e)}},!1),697275,e=>e.a(async(t,r)=>{try{var a=e.i(926747),s=e.i(190406),i=e.i(244898),n=e.i(262950),o=e.i(658981),l=e.i(7031),d=e.i(181927),u=e.i(846432),p=t([o]);[o]=p.then?(await p)():p;let h=(0,n.hoist)(o,"default"),v=(0,n.hoist)(o,"config"),w=new i.PagesAPIRouteModule({definition:{kind:s.RouteKind.PAGES_API,page:"/api/workspace/reorder",pathname:"/api/workspace/reorder",bundlePath:"",filename:""},userland:o,distDir:".next",relativeProjectDir:""});async function c(e,t,r){r.requestMeta&&(0,u.setRequestMeta)(e,r.requestMeta),w.isDev&&(0,u.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let s="/api/workspace/reorder";s=s.replace(/\/index$/,"")||"/";let i=await w.prepare(e,t,{srcPage:s});if(!i){t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve());return}let{query:n,params:o,prerenderManifest:p,routerServerContext:c}=i;try{let r,a=e.method||"GET",i=(0,l.getTracer)(),u=i.getActiveScopeSpan(),h=!!(null==c?void 0:c.isWrappedByNextServer),v=w.instrumentationOnRequestError.bind(w),y=async l=>w.render(e,t,{query:{...n,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:p.preview,propagateError:!1,dev:w.isDev,page:"/api/workspace/reorder",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>v(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=e.get("next.route");if(n){let e=`${a} ${n}`;l.setAttributes({"next.route":n,"http.route":n,"next.span_name":e}),l.updateName(e),r&&r!==l&&(r.setAttribute("http.route",n),r.updateName(e))}else l.updateName(`${a} ${s}`)});h&&u?await y(u):(r=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(d.BaseServerSpan.handleRequest,{spanName:`${a} ${s}`,kind:l.SpanKind.SERVER,attributes:{"http.method":a,"http.target":e.url}},y),void 0,!h))}catch(e){if(w.isDev)throw e;(0,a.sendError)(t,500,"Internal Server Error")}finally{null==r.waitUntil||r.waitUntil.call(r,Promise.resolve())}}e.s(["config",0,v,"default",0,h,"handler",0,c]),r()}catch(e){r(e)}},!1),981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))}];
2
+
3
+ //# sourceMappingURL=_09f_r9~._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[578980,e=>e.a(async(t,a)=>{try{var r=e.i(825265),n=e.i(322429),i=t([r,n]);[r,n]=i.then?(await i)():i;let s=async(e,t)=>{let a=e.query.workspace||await (0,n.getActiveWorkspaceId)(),i=e.query.paneId;if("DELETE"===e.method){if(!a){let a=e.body?.sessions??[];return await (0,r.deletePane)(i,a),t.status(204).end()}let n=await (0,r.closePaneInLayout)(a,i);return n?t.status(200).json(n):t.status(404).json({error:"Pane not found"})}if("PATCH"===e.method){if(!a)return t.status(400).json({error:"No workspace found"});let{activeTabId:n}=e.body??{},s=await (0,r.patchPane)(a,i,{activeTabId:n});return s?t.status(200).json(s):t.status(404).json({error:"Target not found"})}return t.setHeader("Allow","DELETE, PATCH"),t.status(405).json({error:"Method not allowed"})};e.s(["default",0,s]),a()}catch(e){a(e)}},!1),175662,e=>e.a(async(t,a)=>{try{var r=e.i(926747),n=e.i(190406),i=e.i(244898),s=e.i(262950),o=e.i(578980),l=e.i(7031),d=e.i(181927),u=e.i(846432),p=t([o]);[o]=p.then?(await p)():p;let h=(0,s.hoist)(o,"default"),v=(0,s.hoist)(o,"config"),y=new i.PagesAPIRouteModule({definition:{kind:n.RouteKind.PAGES_API,page:"/api/layout/pane/[paneId]/index",pathname:"/api/layout/pane/[paneId]",bundlePath:"",filename:""},userland:o,distDir:".next",relativeProjectDir:""});async function c(e,t,a){a.requestMeta&&(0,u.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,u.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/layout/pane/[paneId]/index";n=n.replace(/\/index$/,"")||"/";let i=await y.prepare(e,t,{srcPage:n});if(!i){t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:s,params:o,prerenderManifest:p,routerServerContext:c}=i;try{let a,r=e.method||"GET",i=(0,l.getTracer)(),u=i.getActiveScopeSpan(),h=!!(null==c?void 0:c.isWrappedByNextServer),v=y.instrumentationOnRequestError.bind(y),f=async l=>y.render(e,t,{query:{...s,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:p.preview,propagateError:!1,dev:y.isDev,page:"/api/layout/pane/[paneId]/index",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>v(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=e.get("next.route");if(s){let e=`${r} ${s}`;l.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),l.updateName(e),a&&a!==l&&(a.setAttribute("http.route",s),a.updateName(e))}else l.updateName(`${r} ${n}`)});h&&u?await f(u):(a=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(d.BaseServerSpan.handleRequest,{spanName:`${r} ${n}`,kind:l.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},f),void 0,!h))}catch(e){if(y.isDev)throw e;(0,r.sendError)(t,500,"Internal Server Error")}finally{null==a.waitUntil||a.waitUntil.call(a,Promise.resolve())}}e.s(["config",0,v,"default",0,h,"handler",0,c]),a()}catch(e){a(e)}},!1),981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))}];
2
+
3
+ //# sourceMappingURL=_0d21p42._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[970421,e=>e.a(async(t,a)=>{try{var r=e.i(825265),n=e.i(322429),s=t([r,n]);[r,n]=s.then?(await s)():s;let i=async(e,t)=>{if("PATCH"!==e.method)return t.setHeader("Allow","PATCH"),t.status(405).json({error:"Method not allowed"});let a=e.query.workspace||await (0,n.getActiveWorkspaceId)();if(!a)return t.status(400).json({error:"No workspace found"});let s=e.query.paneId,{tabIds:i}=e.body??{};if(!Array.isArray(i)||0===i.length)return t.status(400).json({error:"tabIds array required"});let o=await (0,r.reorderTabsInPane)(a,s,i);return o?t.status(200).json(o):t.status(404).json({error:"Target not found"})};e.s(["default",0,i]),a()}catch(e){a(e)}},!1),779844,e=>e.a(async(t,a)=>{try{var r=e.i(926747),n=e.i(190406),s=e.i(244898),i=e.i(262950),o=e.i(970421),l=e.i(7031),d=e.i(181927),u=e.i(846432),p=t([o]);[o]=p.then?(await p)():p;let h=(0,i.hoist)(o,"default"),v=(0,i.hoist)(o,"config"),y=new s.PagesAPIRouteModule({definition:{kind:n.RouteKind.PAGES_API,page:"/api/layout/pane/[paneId]/tabs/order",pathname:"/api/layout/pane/[paneId]/tabs/order",bundlePath:"",filename:""},userland:o,distDir:".next",relativeProjectDir:""});async function c(e,t,a){a.requestMeta&&(0,u.setRequestMeta)(e,a.requestMeta),y.isDev&&(0,u.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/layout/pane/[paneId]/tabs/order";n=n.replace(/\/index$/,"")||"/";let s=await y.prepare(e,t,{srcPage:n});if(!s){t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:i,params:o,prerenderManifest:p,routerServerContext:c}=s;try{let a,r=e.method||"GET",s=(0,l.getTracer)(),u=s.getActiveScopeSpan(),h=!!(null==c?void 0:c.isWrappedByNextServer),v=y.instrumentationOnRequestError.bind(y),f=async l=>y.render(e,t,{query:{...i,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:p.preview,propagateError:!1,dev:y.isDev,page:"/api/layout/pane/[paneId]/tabs/order",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>v(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let e=s.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=e.get("next.route");if(i){let e=`${r} ${i}`;l.setAttributes({"next.route":i,"http.route":i,"next.span_name":e}),l.updateName(e),a&&a!==l&&(a.setAttribute("http.route",i),a.updateName(e))}else l.updateName(`${r} ${n}`)});h&&u?await f(u):(a=s.getActiveScopeSpan(),await s.withPropagatedContext(e.headers,()=>s.trace(d.BaseServerSpan.handleRequest,{spanName:`${r} ${n}`,kind:l.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},f),void 0,!h))}catch(e){if(y.isDev)throw e;(0,r.sendError)(t,500,"Internal Server Error")}finally{null==a.waitUntil||a.waitUntil.call(a,Promise.resolve())}}e.s(["config",0,v,"default",0,h,"handler",0,c]),a()}catch(e){a(e)}},!1),981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))}];
2
+
3
+ //# sourceMappingURL=_0jremnz._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[102649,e=>e.a(async(t,a)=>{try{var n=e.i(459015),r=e.i(143511),i=t([n]);[n]=i.then?(await i)():i;let s=async(e,t)=>{if("GET"!==e.method)return t.setHeader("Allow","GET"),t.status(405).json({error:"Method not allowed"});let a=e.query.session;if(!a)return t.status(400).json({error:"session parameter required"});let i=Date.now();if(!await (0,n.hasSession)(a))return t.status(200).json({running:!1,checkedAt:i,sessionId:null});let s=await (0,n.getSessionPanePid)(a);if(!s)return t.status(200).json({running:!1,checkedAt:i,sessionId:null});let o=await (0,r.getChildPids)(s);if(!await (0,r.isClaudeRunning)(s,o))return t.status(200).json({running:!1,checkedAt:i,sessionId:null});let l=await (0,r.detectActiveSession)(s,o);return t.status(200).json({running:!0,checkedAt:i,sessionId:l.sessionId})};e.s(["default",0,s]),a()}catch(e){a(e)}},!1),727130,e=>e.a(async(t,a)=>{try{var n=e.i(926747),r=e.i(190406),i=e.i(244898),s=e.i(262950),o=e.i(102649),l=e.i(7031),u=e.i(181927),d=e.i(846432),p=t([o]);[o]=p.then?(await p)():p;let h=(0,s.hoist)(o,"default"),v=(0,s.hoist)(o,"config"),g=new i.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/check-claude",pathname:"/api/check-claude",bundlePath:"",filename:""},userland:o,distDir:".next",relativeProjectDir:""});async function c(e,t,a){a.requestMeta&&(0,d.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,d.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/check-claude";r=r.replace(/\/index$/,"")||"/";let i=await g.prepare(e,t,{srcPage:r});if(!i){t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:s,params:o,prerenderManifest:p,routerServerContext:c}=i;try{let a,n=e.method||"GET",i=(0,l.getTracer)(),d=i.getActiveScopeSpan(),h=!!(null==c?void 0:c.isWrappedByNextServer),v=g.instrumentationOnRequestError.bind(g),w=async l=>g.render(e,t,{query:{...s,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:p.preview,propagateError:!1,dev:g.isDev,page:"/api/check-claude",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>v(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=e.get("next.route");if(s){let e=`${n} ${s}`;l.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),l.updateName(e),a&&a!==l&&(a.setAttribute("http.route",s),a.updateName(e))}else l.updateName(`${n} ${r}`)});h&&d?await w(d):(a=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(u.BaseServerSpan.handleRequest,{spanName:`${n} ${r}`,kind:l.SpanKind.SERVER,attributes:{"http.method":n,"http.target":e.url}},w),void 0,!h))}catch(e){if(g.isDev)throw e;(0,n.sendError)(t,500,"Internal Server Error")}finally{null==a.waitUntil||a.waitUntil.call(a,Promise.resolve())}}e.s(["config",0,v,"default",0,h,"handler",0,c]),a()}catch(e){a(e)}},!1)];
2
+
3
+ //# sourceMappingURL=_0v3x29v._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[594369,e=>e.a(async(t,a)=>{try{var r=e.i(322429),i=t([r]);[r]=i.then?(await i)():i;let n=async(e,t)=>{if("PATCH"!==e.method)return t.setHeader("Allow","PATCH"),t.status(405).json({error:"Method not allowed"});let{activeWorkspaceId:a,sidebarCollapsed:i,sidebarWidth:n}=e.body??{};return await (0,r.updateActive)({activeWorkspaceId:a,sidebarCollapsed:i,sidebarWidth:n}),t.status(200).json({ok:!0})};e.s(["default",0,n]),a()}catch(e){a(e)}},!1),155100,e=>e.a(async(t,a)=>{try{var r=e.i(926747),i=e.i(190406),n=e.i(244898),s=e.i(262950),o=e.i(594369),l=e.i(7031),d=e.i(181927),u=e.i(846432),p=t([o]);[o]=p.then?(await p)():p;let v=(0,s.hoist)(o,"default"),h=(0,s.hoist)(o,"config"),w=new n.PagesAPIRouteModule({definition:{kind:i.RouteKind.PAGES_API,page:"/api/workspace/active",pathname:"/api/workspace/active",bundlePath:"",filename:""},userland:o,distDir:".next",relativeProjectDir:""});async function c(e,t,a){a.requestMeta&&(0,u.setRequestMeta)(e,a.requestMeta),w.isDev&&(0,u.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/workspace/active";i=i.replace(/\/index$/,"")||"/";let n=await w.prepare(e,t,{srcPage:i});if(!n){t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:s,params:o,prerenderManifest:p,routerServerContext:c}=n;try{let a,r=e.method||"GET",n=(0,l.getTracer)(),u=n.getActiveScopeSpan(),v=!!(null==c?void 0:c.isWrappedByNextServer),h=w.instrumentationOnRequestError.bind(w),m=async l=>w.render(e,t,{query:{...s,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:p.preview,propagateError:!1,dev:w.isDev,page:"/api/workspace/active",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>h(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let e=n.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=e.get("next.route");if(s){let e=`${r} ${s}`;l.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),l.updateName(e),a&&a!==l&&(a.setAttribute("http.route",s),a.updateName(e))}else l.updateName(`${r} ${i}`)});v&&u?await m(u):(a=n.getActiveScopeSpan(),await n.withPropagatedContext(e.headers,()=>n.trace(d.BaseServerSpan.handleRequest,{spanName:`${r} ${i}`,kind:l.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},m),void 0,!v))}catch(e){if(w.isDev)throw e;(0,r.sendError)(t,500,"Internal Server Error")}finally{null==a.waitUntil||a.waitUntil.call(a,Promise.resolve())}}e.s(["config",0,h,"default",0,v,"handler",0,c]),a()}catch(e){a(e)}},!1),981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))}];
2
+
3
+ //# sourceMappingURL=_13b4ogj._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[846086,e=>e.a(async(t,a)=>{try{var r=e.i(825265),n=e.i(322429),i=e.i(25146),s=t([r,n]);[r,n]=s.then?(await s)():s;let o=(0,i.createLogger)("layout"),l=async(e,t)=>{if("POST"!==e.method)return t.setHeader("Allow","POST"),t.status(405).json({error:"Method not allowed"});let a=e.query.workspace||await (0,n.getActiveWorkspaceId)();if(!a)return t.status(400).json({error:"No workspace found"});try{let{sourcePaneId:n,orientation:i,cwd:s,panelType:o}=e.body??{};if(n&&i){let e=await (0,r.splitPaneInLayout)(a,n,i,s,o);if(!e)return t.status(404).json({error:"Target pane not found"});return t.status(200).json(e)}let l=await (0,r.createPane)(a,s);return t.status(200).json(l)}catch(e){return o.error(`pane creation failed: ${e instanceof Error?e.message:e}`),t.status(500).json({error:"Failed to create pane"})}};e.s(["default",0,l]),a()}catch(e){a(e)}},!1),113214,e=>e.a(async(t,a)=>{try{var r=e.i(926747),n=e.i(190406),i=e.i(244898),s=e.i(262950),o=e.i(846086),l=e.i(7031),u=e.i(181927),d=e.i(846432),p=t([o]);[o]=p.then?(await p)():p;let h=(0,s.hoist)(o,"default"),v=(0,s.hoist)(o,"config"),f=new i.PagesAPIRouteModule({definition:{kind:n.RouteKind.PAGES_API,page:"/api/layout/pane/index",pathname:"/api/layout/pane",bundlePath:"",filename:""},userland:o,distDir:".next",relativeProjectDir:""});async function c(e,t,a){a.requestMeta&&(0,d.setRequestMeta)(e,a.requestMeta),f.isDev&&(0,d.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/layout/pane/index";n=n.replace(/\/index$/,"")||"/";let i=await f.prepare(e,t,{srcPage:n});if(!i){t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:s,params:o,prerenderManifest:p,routerServerContext:c}=i;try{let a,r=e.method||"GET",i=(0,l.getTracer)(),d=i.getActiveScopeSpan(),h=!!(null==c?void 0:c.isWrappedByNextServer),v=f.instrumentationOnRequestError.bind(f),y=async l=>f.render(e,t,{query:{...s,...o},params:o,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:p.preview,propagateError:!1,dev:f.isDev,page:"/api/layout/pane/index",internalRevalidate:null==c?void 0:c.revalidate,onError:(...t)=>v(e,...t)}).finally(()=>{if(!l)return;l.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=e.get("next.route");if(s){let e=`${r} ${s}`;l.setAttributes({"next.route":s,"http.route":s,"next.span_name":e}),l.updateName(e),a&&a!==l&&(a.setAttribute("http.route",s),a.updateName(e))}else l.updateName(`${r} ${n}`)});h&&d?await y(d):(a=i.getActiveScopeSpan(),await i.withPropagatedContext(e.headers,()=>i.trace(u.BaseServerSpan.handleRequest,{spanName:`${r} ${n}`,kind:l.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},y),void 0,!h))}catch(e){if(f.isDev)throw e;(0,r.sendError)(t,500,"Internal Server Error")}finally{null==a.waitUntil||a.waitUntil.call(a,Promise.resolve())}}e.s(["config",0,v,"default",0,h,"handler",0,c]),a()}catch(e){a(e)}},!1),981532,e=>{e.v(e=>Promise.resolve().then(()=>e(322429)))}];
2
+
3
+ //# sourceMappingURL=_13fvm4f._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[909330,t=>{"use strict";let e={bash:"",zsh:"",fish:"",sh:"",dash:"",tcsh:"",nu:"",nvim:"",vim:"",vi:"",nano:"",emacs:"",hx:"󰘤",code:"",git:"",gitui:"",tig:"",gh:"",lazygit:"",jj:"",lazyjj:"",node:"",deno:"",bun:"",python:"",python3:"",go:"",ruby:"",java:"",rust:"",rustc:"",cargo:"",swift:"",dart:"",elixir:"",perl:"",php:"",R:"",julia:"",scala:"",zig:"",npm:"",pnpm:"",yarn:"",pip:"",pip3:"",brew:"",apt:"",dnf:"",pacman:"",yay:"",paru:"",make:"",cmake:"",gradle:"",maven:"",webpack:"󰜫",tsc:"",docker:"",lazydocker:"",kubectl:"󱃾",k9s:"󱃾",helm:"󱃾",minikube:"󱃾",aws:"",gcloud:"",terraform:"",ansible:"",vagrant:"",ssh:"󰳠",scp:"󰳠",curl:"",wget:"",rsync:"",ping:"",htop:"",btop:"",top:"",btm:"",glances:"",mactop:"",ranger:"",yazi:"",lf:"",lfcd:"",mysql:"",psql:"",mongo:"",redis:"",sqlite:"",tmux:"",screen:"",sudo:"",bat:"󰬟",gpg:"",openssl:"",zip:"",unzip:"",jest:"",claude:"",codex:""},s=new Set(["node","python","python3","ruby","perl","deno","bun"]);t.s(["hasProcessIcon",0,t=>!!t&&t in e,"isInterpreter",0,t=>!!t&&s.has(t)])},785128,t=>{"use strict";let e=new Set(["zsh","bash","fish","sh","-zsh","-bash","-fish","-sh"]),s=t=>{if("~"===t||"/"===t)return t;let e=t.replace(/\/$/,"").split("/");return e[e.length-1]||t};t.s(["formatTabTitle",0,t=>{let a=t.trim();if(!a)return"";let i=(t=>{let e=t.trim();if(!e)return null;let s=e.indexOf("|");return s>0?e.slice(0,s):null})(t);if(null!==i){let t=a.slice(a.indexOf("|")+1);return e.has(i)?s(t):i}let n=a.match(/@[^:]+:\s*(.*)/);if(n)return s(n[1].trim());if(a.startsWith("/")||a.startsWith("~"))return s(a);let l=a.split(/\s+/)[0];return e.has(l)?"":l||""}])},71943,t=>{"use strict";var e=t.i(522734),s=t.i(924868),a=t.i(25146),i=t.i(796902);let n=(0,a.createLogger)("rate-limits");t.s(["createRateLimitsWatcher",0,t=>{let a=null,l=null,r=0,o=async()=>{try{let e=await s.default.readFile(i.RATE_LIMITS_FILE,"utf-8"),a=JSON.parse(e);a.ts&&a.ts!==r&&(r=a.ts,t(a))}catch{}},c=()=>{o();try{(a=e.default.watch(i.RATE_LIMITS_FILE,()=>{l&&clearTimeout(l),l=setTimeout(o,500)})).on("error",()=>{n.debug("rate-limits.json watch error, retrying..."),u(),setTimeout(c,5e3)})}catch{n.debug("rate-limits.json not found yet, retrying..."),setTimeout(c,5e3)}},u=()=>{l&&(clearTimeout(l),l=null),a&&(a.close(),a=null)};return{start:c,stop:u}}])},961116,t=>{"use strict";var e=t.i(924868),s=t.i(814747),a=t.i(446786);let i=(0,t.i(25146).createLogger)("session-history"),n=s.default.join(a.default.homedir(),".purplemux"),l=s.default.join(n,"session-history.json"),r=globalThis;r.__purplemuxSessionHistoryLock||(r.__purplemuxSessionHistoryLock=Promise.resolve());let o=async t=>{let e,s=new Promise(t=>{e=t}),a=r.__purplemuxSessionHistoryLock;r.__purplemuxSessionHistoryLock=s,await a;try{return await t()}finally{e()}},c=()=>({version:1,entries:[]}),u=async()=>{let t;try{t=await e.default.readFile(l,"utf-8")}catch{return c()}try{return JSON.parse(t)}catch{i.warn("Failed to parse session-history.json, starting empty");try{await e.default.copyFile(l,l.replace(/\.json$/,".json.bak"))}catch{}return c()}},d=async t=>{let s=JSON.stringify(t.entries);if(r.__purplemuxSessionHistoryContentCache===s)return;let a=l+".tmp";try{await e.default.writeFile(a,JSON.stringify(t,null,2),{mode:384}),await e.default.rename(a,l)}catch(t){throw await e.default.unlink(a).catch(()=>{}),t}r.__purplemuxSessionHistoryContentCache=s},p=async t=>{await o(async()=>{let e=await u();e.entries.unshift(t),e.entries.length>200&&(e.entries=e.entries.slice(0,200)),await d(e)})},h=async(t,e)=>await o(async()=>{let s=await u(),a=s.entries.find(e=>e.tabId===t&&null===e.dismissedAt);return a?(a.dismissedAt=e,await d(s),a):null});t.s(["addSessionHistoryEntry",0,p,"updateSessionHistoryDismissedAt",0,h])},964759,t=>t.a(async(e,s)=>{try{var a=t.i(367734),i=t.i(322429),n=t.i(825265),l=t.i(804767),r=t.i(459015),o=t.i(143511),c=t.i(746514),u=t.i(909330),d=t.i(785128),p=t.i(840665),h=t.i(71943),m=t.i(25146),y=t.i(971780),g=t.i(443571),f=t.i(961116),S=t.i(219708),w=t.i(75874),b=t.i(228448),T=t.i(667585),A=t.i(924868),v=t.i(522734),P=t.i(814747),k=e([a,i,n,r,c,p,y,T]);[a,i,n,r,c,p,y,T]=k.then?(await k)():k;let M=(0,m.createLogger)("status"),I=(0,m.createLogger)("hooks"),j=t=>t?P.default.basename(t,".jsonl"):null,U=new Set(["permission_prompt","worker_permission_prompt"]),W=new Map,E=t=>{let e=t.name??"Tool",s=t.input??{};return{toolName:e,summary:(0,p.summarizeToolCall)(e,s)}},L=t=>{let e=!1;for(let s=t.length-1;s>=0;s--)try{let a=JSON.parse(t[s]);if(a.isSidechain)continue;if("user"===a.type){let t=a.message?.content;Array.isArray(t)&&t.some(t=>"tool_result"===t.type)||(e=!0);continue}if("assistant"!==a.type||!a.message?.content)continue;if(e)return{lastAssistantSnippet:null,currentAction:null,reset:!0};let i=a.message.content;if(!Array.isArray(i))continue;let n=null,l=null;for(let t=i.length-1;t>=0;t--){let e=i[t];if("tool_use"===e.type){l=E(e);break}if("text"===e.type&&e.text?.trim()){let t=e.text.trim();l={toolName:null,summary:t.length>200?t.slice(0,200)+"…":t};break}}for(let t=i.length-1;t>=0;t--)if("text"===i[t].type&&i[t].text?.trim()){let e=i[t].text.trim();n=e.length>200?e.slice(0,200)+"…":e;break}return{lastAssistantSnippet:n,currentAction:l,reset:!1}}catch{continue}return{lastAssistantSnippet:null,currentAction:null,reset:!1}},R=(t,e)=>{for(let s=t.length-1;s>=0;s--)try{let a=JSON.parse(t[s]);if(a.isSidechain)continue;let i=a.timestamp?new Date(a.timestamp).getTime():null;if("system"===a.type&&("stop_hook_summary"===a.subtype||"turn_duration"===a.subtype))return{matched:!0,idle:!0,stale:!1,needsStaleRecheck:!1,staleMs:0,lastEntryTs:i};if("assistant"===a.type){let t=a.message?.stop_reason;if(!t){let t=e>2e4;return{matched:!0,idle:t,stale:!0,needsStaleRecheck:!t,staleMs:2e4,lastEntryTs:i}}return{matched:!0,idle:"tool_use"!==t,stale:!1,needsStaleRecheck:!1,staleMs:0,lastEntryTs:i}}if("user"===a.type){let t=a.message?.content;if(Array.isArray(t)&&1===t.length&&"string"==typeof t[0]?.text&&t[0].text.startsWith(p.INTERRUPT_PREFIX))return{matched:!0,idle:!0,stale:!1,needsStaleRecheck:!1,staleMs:0,lastEntryTs:i};let s=e>9e4;return{matched:!0,idle:s,stale:!0,needsStaleRecheck:!s,staleMs:9e4,lastEntryTs:i}}}catch{continue}return{matched:!1,idle:e>9e4,stale:!0,needsStaleRecheck:e<=9e4,staleMs:9e4,lastEntryTs:null}},x=async t=>{try{let e=await A.default.stat(t);if(0===e.size)return{idle:!0,stale:!1,lastAssistantSnippet:null,currentAction:null,reset:!1,lastEntryTs:null,staleMs:0};let s=W.get(t);if(s&&s.mtimeMs===e.mtimeMs){if(W.delete(t),W.set(t,s),s.idle)return{idle:!0,stale:s.stale,lastAssistantSnippet:s.lastAssistantSnippet,currentAction:s.currentAction,reset:s.reset,lastEntryTs:s.lastEntryTs,staleMs:s.staleMs};if(s.needsStaleRecheck)return{idle:Date.now()-e.mtimeMs>s.staleMs,stale:!0,lastAssistantSnippet:s.lastAssistantSnippet,currentAction:s.currentAction,reset:s.reset,lastEntryTs:s.lastEntryTs,staleMs:s.staleMs};return{idle:!1,stale:!1,lastAssistantSnippet:s.lastAssistantSnippet,currentAction:s.currentAction,reset:s.reset,lastEntryTs:s.lastEntryTs,staleMs:s.staleMs}}let a=await A.default.open(t,"r");try{let s=Date.now()-e.mtimeMs,i=Math.min(e.size,8192),n=Buffer.alloc(i);await a.read(n,0,i,e.size-i);let l=n.toString("utf-8").split("\n").filter(t=>t.trim()),r=R(l,s),o=L(l);if(!r.matched&&e.size>8192){let t=Math.min(e.size,131072),i=Buffer.alloc(t);await a.read(i,0,t,e.size-t);let n=i.toString("utf-8").split("\n").filter(t=>t.trim());r=R(n,s),o.lastAssistantSnippet||o.currentAction||(o=L(n))}return W.size>=256&&W.delete(W.keys().next().value),W.set(t,{mtimeMs:e.mtimeMs,idle:r.idle,stale:r.stale,needsStaleRecheck:r.needsStaleRecheck,staleMs:r.staleMs,lastAssistantSnippet:o.lastAssistantSnippet,currentAction:o.currentAction,reset:o.reset,lastEntryTs:r.lastEntryTs}),{idle:r.idle,stale:r.stale,lastAssistantSnippet:o.lastAssistantSnippet,currentAction:o.currentAction,reset:o.reset,lastEntryTs:r.lastEntryTs,staleMs:r.staleMs}}finally{await a.close()}}catch{return{idle:!1,stale:!1,lastAssistantSnippet:null,currentAction:null,reset:!1,lastEntryTs:null,staleMs:0}}},_=async t=>{let e={toolUsage:{},touchedFiles:[],lastAssistantText:null,lastUserText:null,firstUserTs:null,lastAssistantTs:null,turnDurationMs:null};try{let s=await A.default.stat(t);if(0===s.size)return e;let a=await A.default.open(t,"r");try{let t=Math.min(s.size,131072),e=Buffer.alloc(t);await a.read(e,0,t,s.size-t);let i=e.toString("utf-8").split("\n").filter(t=>t.trim()),n={},l=new Set,r=null,o=null,c=null,u=null,d=null;for(let t=i.length-1;t>=0;t--)try{let e=JSON.parse(i[t]);if("file-history-snapshot"===e.type)break;if(e.isSidechain)continue;"system"!==e.type||"turn_duration"!==e.subtype||"number"!=typeof e.durationMs||d||(d=e.durationMs);let s=e.timestamp?new Date(e.timestamp).getTime():null;if("user"===e.type&&(s&&(u=s),!o&&Array.isArray(e.message?.content))){for(let t of e.message.content)if("text"===t.type&&t.text){o=t.text;break}}if("assistant"===e.type&&(s&&!c&&(c=s),Array.isArray(e.message?.content))){let t=null;for(let s of e.message.content)"tool_use"===s.type&&s.name&&(n[s.name]=(n[s.name]??0)+1,("Edit"===s.name||"Write"===s.name)&&s.input?.file_path&&l.add(String(s.input.file_path))),"text"===s.type&&s.text&&(t=s.text);!r&&t&&(r=t)}}catch{continue}return{toolUsage:n,touchedFiles:[...l],lastAssistantText:r,lastUserText:o,firstUserTs:u,lastAssistantTs:c,turnDurationMs:d}}finally{await a.close()}}catch{return e}},N=/^[✳⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏⠐⠈]\s+/,C=t=>t&&N.test(t)&&t.replace(N,"").trim()||null,F=globalThis;class J{tabs=new Map;pollingTimer=null;currentInterval=0;clients=new Set;initialized=!1;rateLimitsWatcher=null;lastRateLimits=null;jsonlWatchers=new Map;compactStaleTimers=new Map;async init(){this.initialized||(this.initialized=!0,await this.scanAll(),this.startPolling(),this.rateLimitsWatcher=(0,h.createRateLimitsWatcher)(t=>{this.lastRateLimits=t,this.broadcast({type:"rate-limits:update",data:t})}),this.rateLimitsWatcher.start())}async resolveCurrentProcess(t,e){if(!e||!(0,u.isInterpreter)(e))return e;let s=await (0,r.getLastCommand)(t);if(!s)return e;let a=s.split(/\s+/)[0];return a&&(0,u.hasProcessIcon)(a)?a:e}async scanAll(){let{workspaces:t}=await (0,i.getWorkspaces)(),e=await (0,r.getAllPanesInfo)();for(let t of[...this.jsonlWatchers.keys()])this.stopJsonlWatch(t);for(let s of(this.tabs.clear(),t)){let t=await (0,n.readLayoutFile)((0,n.resolveLayoutFile)(s.id));if(t)for(let a of(0,l.collectAllTabs)(t.root)){let t=e.get(a.sessionName),i=await this.readTabMetadata(t),n=a.cliState??"idle",l="busy"===n?"unknown":n,{terminalStatus:r,listeningPorts:o}="claude-code"===a.panelType?{terminalStatus:"idle",listeningPorts:[]}:await this.detectTerminalStatus(t),c=await this.resolveCurrentProcess(a.sessionName,t?.command),u=t?`${c??t.command}|${t.path}`:void 0,p="needs-input"===l?{name:"notification",at:Date.now(),seq:0}:null;this.tabs.set(a.id,{cliState:l,workspaceId:s.id,tabName:a.name||(u?(0,d.formatTabTitle)(u):""),currentProcess:c,paneTitle:u,tmuxSession:a.sessionName,panelType:a.panelType,terminalStatus:r,listeningPorts:o,claudeSummary:a.claudeSummary,lastUserMessage:a.lastUserMessage,lastAssistantMessage:i.lastAssistantSnippet,currentAction:i.currentAction,readyForReviewAt:"ready-for-review"===l?Date.now():null,busySince:null,dismissedAt:a.dismissedAt??null,claudeSessionId:j(i.jsonlPath)??a.claudeSessionId??null,jsonlPath:i.jsonlPath,lastEvent:p,eventSeq:0}),("needs-input"===l||"unknown"===l)&&i.jsonlPath&&this.startJsonlWatch(a.id,i.jsonlPath),"unknown"===l&&this.resolveUnknown(a.id).catch(t=>M.warn("resolveUnknown failed: %s",t))}}}async resolveUnknown(t){let e=this.tabs.get(t);if(!e||"unknown"!==e.cliState)return;let s=(await (0,r.getAllPanesInfo)()).get(e.tmuxSession),a=s?.pid?await (0,o.getChildPids)(s.pid):[];if(!(s?.pid&&await (0,o.isClaudeRunning)(s.pid,a))){this.applyCliState(t,e,"idle",{silent:!0}),this.persistToLayout(e),this.broadcastUpdate(t,e);return}if(e.jsonlPath){let{idle:s,stale:a,lastAssistantSnippet:i}=await x(e.jsonlPath);if(s&&!a&&i){this.applyCliState(t,e,"ready-for-review",{silent:!0}),this.persistToLayout(e),this.broadcastUpdate(t,e);return}}}async readTabMetadata(t){let e={lastAssistantSnippet:null,currentAction:null,jsonlPath:null};if(!t||!t.pid)return e;let s=await (0,o.getChildPids)(t.pid);if(!await (0,o.isClaudeRunning)(t.pid,s))return e;let a=await (0,o.detectActiveSession)(t.pid,s);if("running"!==a.status||!a.jsonlPath)return{lastAssistantSnippet:null,currentAction:null,jsonlPath:a.jsonlPath??null};let{lastAssistantSnippet:i,currentAction:n}=await x(a.jsonlPath);return{lastAssistantSnippet:i,currentAction:n,jsonlPath:a.jsonlPath}}async detectTerminalStatus(t){if(!t||!t.pid)return{terminalStatus:"idle",listeningPorts:[]};let e=await (0,r.getListeningPorts)(t.pid);return e.length>0?{terminalStatus:"server",listeningPorts:e}:{terminalStatus:r.SAFE_SHELLS.has(t.command)?"idle":"running",listeningPorts:[]}}getPollingInterval(){let t=this.tabs.size;return t>=21?6e4:t>=11?45e3:3e4}async rescan(){await this.scanAll()}startPolling(){this.stopPolling(),this.currentInterval=this.getPollingInterval(),this.pollingTimer=setInterval(()=>{this.poll().catch(t=>{M.error({err:t},"Polling error")})},this.currentInterval)}stopPolling(){this.pollingTimer&&(clearInterval(this.pollingTimer),this.pollingTimer=null,this.currentInterval=0)}async poll(){let{workspaces:t}=await (0,i.getWorkspaces)(),e=await (0,r.getAllPanesInfo)(),s=new Set,a=new Set(this.tabs.keys()),c=Date.now();for(let a of t){let t=await (0,n.readLayoutFile)((0,n.resolveLayoutFile)(a.id));if(t)for(let i of(0,l.collectAllTabs)(t.root)){s.add(i.id);let t=this.tabs.get(i.id),l=e.get(i.sessionName),{terminalStatus:u,listeningPorts:p}="claude-code"===i.panelType?{terminalStatus:"idle",listeningPorts:[]}:await this.detectTerminalStatus(l),h=await this.resolveCurrentProcess(i.sessionName,l?.command),m=l?`${h??l.command}|${l.path}`:void 0;if(!t){let t=i.cliState??"idle",e="busy"===t?"unknown":t,s=await this.readTabMetadata(l),n="needs-input"===e?{name:"notification",at:Date.now(),seq:0}:null,r={cliState:e,workspaceId:a.id,tabName:i.name||(m?(0,d.formatTabTitle)(m):""),currentProcess:h,paneTitle:m,tmuxSession:i.sessionName,panelType:i.panelType,terminalStatus:u,listeningPorts:p,claudeSummary:i.claudeSummary,lastUserMessage:i.lastUserMessage,lastAssistantMessage:s.lastAssistantSnippet,currentAction:s.currentAction,claudeSessionId:j(s.jsonlPath)??i.claudeSessionId??null,jsonlPath:s.jsonlPath,lastEvent:n,eventSeq:0};this.tabs.set(i.id,r),this.persistToLayout(r),this.broadcastUpdate(i.id,r),"unknown"===e&&this.resolveUnknown(i.id).catch(t=>M.warn("resolveUnknown failed: %s",t));continue}let y=t.currentProcess!==h,g=t.lastUserMessage!==i.lastUserMessage,f=t.panelType!==i.panelType,S=await this.readTabMetadata(l);t.tabName=i.name||(m?(0,d.formatTabTitle)(m):""),t.currentProcess=h,t.paneTitle=m,t.workspaceId=a.id,t.panelType=i.panelType,t.claudeSessionId=j(S.jsonlPath)??i.claudeSessionId??null,t.jsonlPath=S.jsonlPath??t.jsonlPath,t.lastUserMessage=i.lastUserMessage,y&&(t.processRetries=3);let w=!y&&(t.processRetries??0)>0;w&&(t.processRetries=t.processRetries-1);let b=t.listeningPorts,T=b?.length!==p.length||p.some((t,e)=>b[e]!==t),A=t.terminalStatus!==u||T;A&&(t.terminalStatus=u,t.listeningPorts=p);let v=!1;if("busy"===t.cliState||"needs-input"===t.cliState){let e=await (0,r.getPaneTitle)(i.sessionName),s=C(e);s&&s!==t.claudeSummary&&(t.claudeSummary=s,v=!0,(0,n.updateTabClaudeSummary)(i.sessionName,s).catch(()=>{}))}else t.claudeSummary!==i.claudeSummary&&(t.claudeSummary=i.claudeSummary,v=!0);if("busy"===t.cliState&&t.lastEvent&&c-t.lastEvent.at>6e5){let e=l?.pid?await (0,o.getChildPids)(l.pid):[];if(!(l?.pid&&await (0,o.isClaudeRunning)(l.pid,e))){M.info({tabId:i.id},"busy stuck — Claude process gone, forcing idle"),this.applyCliState(i.id,t,"idle",{silent:!0}),this.persistToLayout(t),this.broadcastUpdate(i.id,t);continue}}(A||y||w||g||f||v)&&this.broadcastUpdate(i.id,t)}}for(let t of a)!s.has(t)&&this.tabs.has(t)&&(this.stopJsonlWatch(t),this.tabs.delete(t),this.broadcastRemove(t));let u=this.getPollingInterval();this.pollingTimer&&u!==this.currentInterval&&this.startPolling()}getAllForClient(){let t={};for(let[e,s]of this.tabs)t[e]={cliState:s.cliState,workspaceId:s.workspaceId,tabName:s.tabName,currentProcess:s.currentProcess,paneTitle:s.paneTitle,panelType:s.panelType,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,lastEvent:s.lastEvent,eventSeq:s.eventSeq};return t}applyCliState(t,e,s,a={}){if(e.cliState===s)return;let i=e.busySince;e.cliState=s,e.readyForReviewAt="ready-for-review"===s?Date.now():null,e.busySince="busy"===s?Date.now():null,"busy"===s&&(e.dismissedAt=null),"ready-for-review"===s&&e.jsonlPath&&new Promise(t=>setTimeout(t,500)).then(()=>this.saveSessionHistory(t,e,i,!1)).catch(t=>{M.warn("Failed to save session history: %s",t)}),"ready-for-review"!==s||a.silent||this.sendWebPush(t,e,"review").catch(t=>{M.warn("Web push failed: %s",t)}),"needs-input"!==s||a.silent||this.sendWebPush(t,e,"needs-input").catch(t=>{M.warn("Web push failed: %s",t)});let n=("busy"===s||"needs-input"===s)&&e.jsonlPath,l="ready-for-review"===s&&this.jsonlWatchers.has(t);n&&!this.jsonlWatchers.has(t)?this.startJsonlWatch(t,e.jsonlPath):!n&&!l&&this.jsonlWatchers.has(t)&&this.stopJsonlWatch(t)}async saveSessionHistory(t,e,s,a){if(!e.lastUserMessage)return;let n=e.jsonlPath?await _(e.jsonlPath):null,{workspaces:l}=await (0,i.getWorkspaces)(),r=l.find(t=>t.id===e.workspaceId),o=Date.now(),c=n?.firstUserTs??s??o,u=a?o:n?.lastAssistantTs??o,d=a?u-c:n?.turnDurationMs??u-c,p={id:(0,T.nanoid)(),workspaceId:e.workspaceId,workspaceName:r?.name??e.workspaceId,workspaceDir:r?.directories[0]??null,tabId:t,claudeSessionId:e.claudeSessionId??null,prompt:n?.lastUserText??e.lastUserMessage,result:n?.lastAssistantText??null,startedAt:c,completedAt:u,duration:d,dismissedAt:u,toolUsage:n?.toolUsage??{},touchedFiles:n?.touchedFiles??[],...a?{cancelled:!0}:{}};await (0,f.addSessionHistoryEntry)(p),this.broadcast({type:"session-history:update",entry:p})}dismissTab(t,e){let s=this.tabs.get(t);if(!s||"ready-for-review"!==s.cliState)return;let a=Date.now();this.applyCliState(t,s,"idle",{silent:!0}),s.dismissedAt=a,this.persistToLayout(s),this.broadcastUpdate(t,s,e),(0,f.updateSessionHistoryDismissedAt)(t,a).then(t=>{t&&this.broadcast({type:"session-history:update",entry:t})}).catch(t=>{M.warn("Failed to update session history dismissedAt: %s",t)})}ackNotificationInput(t,e){let s=this.tabs.get(t);s&&"needs-input"===s.cliState&&s.lastEvent?.name==="notification"&&s.lastEvent.seq===e&&(I.debug({tabId:t,seq:e},"ack: needs-input→busy"),this.applyCliState(t,s,"busy"),this.persistToLayout(s),this.broadcastUpdate(t,s))}async recoverUnknownIfPending(t){let e=this.tabs.get(t);if(!e)return{recovered:!1,reason:"no-entry"};if("unknown"!==e.cliState)return{recovered:!1,reason:"not-unknown"};let s=await (0,y.capturePaneAtWidth)(e.tmuxSession,120,50).catch(t=>(M.warn("recoverUnknownIfPending capture failed: %s",t),null));if(!s)return{recovered:!1,reason:"capture-failed"};let{options:a}=(0,g.parsePermissionOptions)(s);if(0===a.length)return{recovered:!1,reason:"no-options"};let i=Date.now(),n=(e.eventSeq??0)+1;return e.eventSeq=n,e.lastEvent={name:"notification",at:i,seq:n},I.debug({tabId:t,seq:n,options:a.length},"recover unknown→needs-input from pane capture"),this.applyCliState(t,e,"needs-input",{silent:!0}),this.persistToLayout(e),this.broadcastUpdate(t,e),{recovered:!0}}findTabIdBySession(t){for(let[e,s]of this.tabs)if(s.tmuxSession===t)return e}updateTabFromHook(t,e,s){let a=this.findTabIdBySession(t);if(!a)return void I.debug({tmuxSession:t,event:e,notificationType:s},"no tabId for session");let i=this.tabs.get(a);if(!i)return void I.debug({tabId:a,event:e,notificationType:s},"no entry for tab");if("pre-compact"===e||"post-compact"===e){I.debug({tabId:a,event:e},"compact hook"),this.setCompacting(a,i,"pre-compact"===e?Date.now():null);return}if("session-start"!==e&&"prompt-submit"!==e&&"notification"!==e&&"stop"!==e)return void I.debug({tabId:a,event:e,notificationType:s},"unknown event, ignoring");if("notification"===e&&s&&!U.has(s))return void I.debug({tabId:a,event:e,notificationType:s},"non-input notification, skipping state transition");let n=Date.now(),l=(i.eventSeq??0)+1;i.eventSeq=l,i.lastEvent={name:e,at:n,seq:l},this.broadcast({type:"status:hook-event",tabId:a,event:i.lastEvent});let r=i.cliState,o="cancelled"===r?r:((t,e)=>{if(!t)return e;switch(t.name){case"session-start":return"idle";case"prompt-submit":return"busy";case"notification":return"needs-input";case"stop":return"ready-for-review"}})(i.lastEvent,r);if(I.debug({tabId:a,event:e,notificationType:s,seq:l,prevState:r,newState:o,transition:r!==o},`processed ${e}${s?`(${s})`:""} ${r}→${o}`),r!==o&&(this.applyCliState(a,i,o),this.persistToLayout(i),this.broadcastUpdate(a,i)),"busy"!==o&&"needs-input"!==o||i.jsonlPath||this.resolveAndWatchJsonl(a,t).catch(()=>{}),"stop"===e&&i.jsonlPath){let t=()=>{x(i.jsonlPath).then(({currentAction:t,lastAssistantSnippet:e,reset:s})=>{let n=!1;s?(null!==i.currentAction&&(i.currentAction=null,n=!0),null!==i.lastAssistantMessage&&(i.lastAssistantMessage=null,n=!0)):(null!==t&&t.summary!==i.currentAction?.summary&&(i.currentAction=t,n=!0),null!==e&&i.lastAssistantMessage!==e&&(i.lastAssistantMessage=e,n=!0)),n&&this.broadcastUpdate(a,i)}).catch(()=>{})};t(),setTimeout(()=>{W.delete(i.jsonlPath),t()},500)}}setCompacting(t,e,s){let a=this.compactStaleTimers.get(t);if(a&&(clearTimeout(a),this.compactStaleTimers.delete(t)),(e.compactingSince??null)!==s&&(e.compactingSince=s,this.broadcastUpdate(t,e),null!==s)){let e=setTimeout(()=>{this.compactStaleTimers.delete(t);let e=this.tabs.get(t);e&&e.compactingSince===s&&(e.compactingSince=null,I.debug({tabId:t},"compact stale, auto-cleared"),this.broadcastUpdate(t,e))},6e4);this.compactStaleTimers.set(t,e)}}removeTab(t){let e=this.tabs.get(t);e&&("busy"===e.cliState||"needs-input"===e.cliState)&&e.lastUserMessage&&this.saveSessionHistory(t,e,e.busySince,!0).catch(t=>{M.warn("Failed to save cancelled session history: %s",t)}),this.stopJsonlWatch(t);let s=this.compactStaleTimers.get(t);s&&(clearTimeout(s),this.compactStaleTimers.delete(t)),this.tabs.delete(t),this.broadcastRemove(t)}registerTab(t,e){this.tabs.set(t,e),this.broadcastUpdate(t,e)}addClient(t){this.clients.add(t),this.lastRateLimits&&t.readyState===a.WebSocket.OPEN&&t.send(JSON.stringify({type:"rate-limits:update",data:this.lastRateLimits}))}removeClient(t){this.clients.delete(t)}persistToLayout(t){(0,n.updateTabCliStatus)(t.tmuxSession,t.cliState,t.dismissedAt).catch(()=>{})}broadcastUpdate(t,e,s){let a={type:"status:update",tabId:t,cliState:e.cliState,workspaceId:e.workspaceId,tabName:e.tabName,currentProcess:e.currentProcess,paneTitle:e.paneTitle,panelType:e.panelType,terminalStatus:e.terminalStatus,listeningPorts:e.listeningPorts,claudeSummary:e.claudeSummary,lastUserMessage:e.lastUserMessage,lastAssistantMessage:e.lastAssistantMessage,currentAction:e.currentAction,readyForReviewAt:e.readyForReviewAt,busySince:e.busySince,dismissedAt:e.dismissedAt,claudeSessionId:e.claudeSessionId,compactingSince:e.compactingSince,lastEvent:e.lastEvent,eventSeq:e.eventSeq};this.broadcast(a,s)}broadcastRemove(t){this.broadcast({type:"status:update",tabId:t,cliState:null,workspaceId:"",tabName:""})}static BACKPRESSURE_LIMIT=1048576;broadcast(t,e){let s=JSON.stringify(t);for(let t of this.clients)t!==e&&t.readyState===a.WebSocket.OPEN&&t.bufferedAmount<J.BACKPRESSURE_LIMIT&&t.send(s)}async resolveAndWatchJsonl(t,e){let s=this.tabs.get(t);if(!s||s.jsonlPath)return;let a=null,i=(0,n.parseSessionName)(e);if(i){let o=await (0,n.readLayoutFile)((0,n.resolveLayoutFile)(i.wsId));if(o){let i=(0,l.collectAllTabs)(o.root).find(t=>t.sessionName===e);if(i?.claudeSessionId){let t=await (0,r.getSessionCwd)(e);if(t){let e=`${(0,c.cwdToProjectPath)(t)}/${i.claudeSessionId}.jsonl`;try{await A.default.access(e),a=e}catch{}}}i?.lastUserMessage&&s.lastUserMessage!==i.lastUserMessage&&(s.lastUserMessage=i.lastUserMessage,this.broadcastUpdate(t,s))}}if(!a){let t=await (0,r.getSessionPanePid)(e);t&&(a=(await (0,o.detectActiveSession)(t)).jsonlPath)}a&&(s.jsonlPath=a,"busy"!==s.cliState&&"needs-input"!==s.cliState||this.jsonlWatchers.has(t)||this.startJsonlWatch(t,a))}startJsonlWatch(t,e){let s=this.jsonlWatchers.get(t);if(s?.jsonlPath!==e){s&&this.stopJsonlWatch(t),M.debug("startJsonlWatch tabId=%s path=%s",t,e);try{let s=(0,v.watch)(e,()=>{let s=this.jsonlWatchers.get(t);s&&(s.debounceTimer&&clearTimeout(s.debounceTimer),s.debounceTimer=setTimeout(()=>{this.onJsonlFileChange(t,e).catch(()=>{})},100))});s.on("error",()=>{this.stopJsonlWatch(t)}),this.jsonlWatchers.set(t,{watcher:s,jsonlPath:e,debounceTimer:null})}catch{}}}stopJsonlWatch(t){let e=this.jsonlWatchers.get(t);if(e){M.debug("stopJsonlWatch tabId=%s",t),e.debounceTimer&&clearTimeout(e.debounceTimer);try{e.watcher.close()}catch{}this.jsonlWatchers.delete(t)}}async onJsonlFileChange(t,e){let s=this.tabs.get(t);if(!s||"busy"!==s.cliState&&"needs-input"!==s.cliState&&"unknown"!==s.cliState&&"ready-for-review"!==s.cliState)return void this.stopJsonlWatch(t);let{currentAction:a,lastAssistantSnippet:i,reset:n}=await x(e),l=!1;n?(null!==s.currentAction&&(s.currentAction=null,l=!0),null!==s.lastAssistantMessage&&(s.lastAssistantMessage=null,l=!0)):(null!==a&&a.summary!==s.currentAction?.summary&&(s.currentAction=a,l=!0),null!==i&&s.lastAssistantMessage!==i&&(s.lastAssistantMessage=i,l=!0)),l&&this.broadcastUpdate(t,s)}shutdown(){for(let t of(this.stopPolling(),this.rateLimitsWatcher?.stop(),[...this.jsonlWatchers.keys()]))this.stopJsonlWatch(t);for(let t of this.clients)t.readyState===a.WebSocket.OPEN&&t.close(1001,"Server shutting down");this.clients.clear()}notifyLastUserMessage(t,e){let s=(0,n.parseSessionName)(t);if(!s)return;let a=this.tabs.get(s.tabId);a&&a.lastUserMessage!==e&&(a.lastUserMessage=e,this.broadcastUpdate(s.tabId,a))}async sendWebPush(t,e,s){let a=await (0,w.getSubscriptions)();if(0===a.length)return;let n=await (0,b.getVAPIDKeys)();S.default.setVapidDetails("mailto:noreply@purplemux.app",n.publicKey,n.privateKey);let l=e.lastUserMessage?.slice(0,100)||e.tabName||t,r=(await (0,i.getWorkspaces)()).workspaces.find(t=>t.id===e.workspaceId),o=JSON.stringify({title:"needs-input"===s?"Input Required":"Task Complete",body:l,tabId:t,workspaceId:e.workspaceId,claudeSessionId:e.claudeSessionId??null,workspaceName:r?.name??"",workspaceDir:r?.directories[0]??null});if(!(0,w.isAnyDeviceVisible)())for(let t of a)try{await S.default.sendNotification(t,o)}catch(s){let e=s.statusCode;(410===e||404===e)&&await (0,w.removeSubscription)(t.endpoint),M.warn("Web push send error: %s",e)}}}t.s(["getStatusManager",0,()=>(F.__ptStatusManager||(F.__ptStatusManager=new J),F.__ptStatusManager)]),s()}catch(t){s(t)}},!1)];
2
+
3
+ //# sourceMappingURL=src_lib_0bby54m._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[804767,e=>{"use strict";let t=e=>"pane"===e.type?[e]:[...t(e.children[0]),...t(e.children[1])],a=(e,t)=>"pane"===e.type?e.id===t?e:null:a(e.children[0],t)||a(e.children[1],t),n=e=>"pane"===e.type?e.id:n(e.children[0]),r=e=>"pane"===e.type?e.id:r(e.children[1]),i=(e,t,a)=>"pane"===e.type?e.id===t?a:e:{...e,children:[i(e.children[0],t,a),i(e.children[1],t,a)]},l=(e,t)=>{if("pane"===e.type)return null;let[a,n]=e.children;if("pane"===a.type&&a.id===t)return n;if("pane"===n.type&&n.id===t)return a;let r=l(a,t);if(r)return{...e,children:[r,n]};let i=l(n,t);return i?{...e,children:[a,i]}:null},o=(e,t)=>{if("pane"===e.type)return null;let[a,i]=e.children;return"pane"===a.type&&a.id===t?n(i):"pane"===i.type&&i.id===t?r(a):o(a,t)||o(i,t)},s=(e,t,a)=>{if("split"!==e.type)return e;if(0===t.length)return{...e,ratio:a};let[n,...r]=t,i=[e.children[0],e.children[1]];return i[n]=s(e.children[n],r,a),{...e,children:i}},d=(e,t)=>"pane"===e.type||e.orientation!==t?1:d(e.children[0],t)+d(e.children[1],t),c=e=>{if("pane"===e.type)return!0;let t=d(e.children[0],e.orientation),a=d(e.children[1],e.orientation);return!(Math.abs(e.ratio-t/(t+a)*100)>1)&&c(e.children[0])&&c(e.children[1])},u=e=>{if("pane"===e.type)return e;let t=d(e.children[0],e.orientation),a=Math.round(t/(t+d(e.children[1],e.orientation))*1e4)/100;return{...e,ratio:a,children:[u(e.children[0]),u(e.children[1])]}};e.s(["collectAllTabs",0,e=>t(e).flatMap(e=>e.tabs),"collectPanes",0,t,"equalizeNode",0,u,"findPane",0,a,"isEqualized",0,c,"removePaneWithFocus",0,(e,a)=>{let n=o(e.root,a),r=l(e.root,a);r&&(e.root=r),e.activePaneId===a&&(e.activePaneId=n??t(e.root)[0]?.id??null)},"replacePane",0,i,"updateRatioAtPath",0,s])},825265,e=>e.a(async(t,a)=>{try{var n=e.i(924868),r=e.i(814747),i=e.i(446786),l=e.i(667585),o=e.i(459015),s=e.i(666126),d=e.i(25146),c=e.i(804767),u=t([l,o,s]);[l,o,s]=u.then?(await u)():u;let p=(0,d.createLogger)("layout"),y=r.default.join(i.default.homedir(),".purplemux"),w=globalThis;w.__ptLayoutLock||(w.__ptLayoutLock=Promise.resolve()),w.__ptLayoutContentCache||(w.__ptLayoutContentCache=new Map);let f=async e=>{let t,a=new Promise(e=>{t=e}),n=w.__ptLayoutLock;w.__ptLayoutLock=a,await n;try{return await e()}finally{t()}},h=()=>`pane-${(0,l.nanoid)(6)}`,b=()=>`tab-${(0,l.nanoid)(6)}`,m=e=>r.default.join(y,"workspaces",e),P=e=>r.default.join(m(e),"layout.json"),I=(e,t)=>{let a=h(),n=((e,t,a=0,n)=>{let r=b(),i={id:r,sessionName:(0,o.workspaceSessionName)(e,t,r),name:"",order:a};return n&&(i.cwd=n),i})(e,a,0,t);return{pane:{type:"pane",id:a,tabs:[n],activeTabId:n.id},tab:n}},v=async e=>{let t;try{t=await n.default.readFile(e,"utf-8")}catch{return null}try{return JSON.parse(t)}catch{p.warn(`${e} parse failed`);try{await n.default.copyFile(e,e.replace(/\.json$/,".json.bak"))}catch{}return null}},S=async(e,t)=>{let a,i=JSON.stringify({root:e.root,activePaneId:e.activePaneId}),l=w.__ptLayoutContentCache;if(l.get(t)===i)return;await n.default.mkdir(r.default.dirname(t),{recursive:!0});let o=t+".tmp";try{await n.default.writeFile(o,JSON.stringify(e,null,2),{mode:384}),await n.default.rename(o,t)}catch(e){throw await n.default.unlink(o).catch(()=>{}),e}l.set(t,i);let d=(a=t.match(/workspaces\/(ws-[^/]+)\//),a?.[1]??null);d&&(0,s.broadcastSync)({type:"layout",workspaceId:d})},T=(t,a)=>{let n=[...new Set((0,c.collectAllTabs)(a).map(e=>e.cwd).filter(e=>!!e))];n.length>0&&e.A(981532).then(({updateWorkspaceDirectories:e})=>{e(t,n).catch(()=>{})}).catch(()=>{})},g=async(e,t,a,n)=>{let r=!1,i=new Set(t),l=(0,c.collectPanes)(e.root),s=new Set;for(let e of l)for(let t of e.tabs)if("web-browser"!==t.panelType&&(s.add(t.sessionName),!i.has(t.sessionName)&&"claude-code"===t.panelType)){let e=t.cwd||n;p.debug(`crossCheck: Claude tab session recreated: ${t.sessionName} (cwd: ${e})`),await (0,o.createSession)(t.sessionName,80,24,e),r=!0}let d=t.filter(e=>!s.has(e));if(d.length>0){r=!0;let e=l[0];if(e){let t=e.tabs.length>0?Math.max(...e.tabs.map(e=>e.order)):-1;for(let a of d)t++,e.tabs.push({id:b(),sessionName:a,name:"",order:t});!e.activeTabId&&e.tabs.length>0&&(e.activeTabId=e.tabs[0].id)}}if(r){e.updatedAt=new Date().toISOString();let t=(0,c.collectPanes)(e.root);e.activePaneId&&!t.some(t=>t.id===e.activePaneId)&&(e.activePaneId=t[0]?.id??null)}return r},N=async(e,t,a)=>{let{pane:n,tab:r}=I(e,t);return a?.panelType&&(r.panelType=a.panelType),await (0,o.createSession)(r.sessionName,80,24,t),{root:n,activePaneId:n.id,updatedAt:new Date().toISOString()}},L=async(e,t)=>f(async()=>{let a=P(e),n=await v(a);if(n)return n;let{pane:r,tab:i}=I(e,t);await (0,o.createSession)(i.sessionName,80,24,t);let l={root:r,activePaneId:r.id,updatedAt:new Date().toISOString()};return await S(l,a),l}),k=async(e,t)=>{let a=h(),n=b(),r=(0,o.workspaceSessionName)(e,a,n);await (0,o.createSession)(r,80,24,t);let i={id:n,sessionName:r,name:"",order:0,...t?{cwd:t}:{}};return{paneId:a,tab:i}},A=async(e,t=[])=>{for(let e of t)try{await (0,o.killSession)(e)}catch{}},C=async(e,t,a,n,r,i)=>f(async()=>{let l=P(e),s=await v(l);if(!s)return null;let d=(0,c.collectPanes)(s.root).find(e=>e.id===t);if(!d)return null;let u="web-browser"===r,p=b(),y=(0,o.workspaceSessionName)(e,t,p);!u&&(await (0,o.createSession)(y,80,24,n),i&&await (0,o.sendKeys)(y,i));let w=d.tabs.length>0?Math.max(...d.tabs.map(e=>e.order))+1:0,f=a?.trim()||(u?"Web Browser":""),h={id:p,sessionName:y,name:f,order:w,...n?{cwd:n}:{},...r?{panelType:r}:{}};return d.tabs.push(h),d.activeTabId=p,s.updatedAt=new Date().toISOString(),await S(s,l),T(e,s.root),h}),_=async(e,t,a)=>{let n=await f(async()=>{let n=P(e),r=await v(n);if(!r)return null;let i=(0,c.collectPanes)(r.root).find(e=>e.id===t);if(!i)return null;let l=i.tabs.find(e=>e.id===a);return l?{sessionName:l.sessionName,panelType:l.panelType}:null});return!!n&&("web-browser"!==n.panelType&&await (0,o.killSession)(n.sessionName),f(async()=>{let n=P(e),r=await v(n);if(!r)return!1;let i=(0,c.collectPanes)(r.root).find(e=>e.id===t);if(!i)return!1;let l=i.tabs.findIndex(e=>e.id===a);return -1!==l&&(i.tabs.splice(l,1),i.activeTabId===a&&(i.activeTabId=i.tabs[0]?.id??null),0===i.tabs.length&&(0,c.collectPanes)(r.root).length>1&&(0,c.removePaneWithFocus)(r,t),i.tabs.forEach((e,t)=>{e.order=t}),r.updatedAt=new Date().toISOString(),await S(r,n),T(e,r.root),!0)}))},O=async(e,t,a,n)=>f(async()=>{let r=P(e),i=await v(r);if(!i)return!1;let l=(0,c.collectPanes)(i.root).find(e=>e.id===t);if(!l)return!1;let s=l.tabs.find(e=>e.id===a);return!!s&&(!!await (0,o.hasSession)(s.sessionName)||(await (0,o.createSession)(s.sessionName,80,24,s.cwd),n&&await (0,o.sendKeys)(s.sessionName,n),!0))}),D=e=>{let t=e.match(/^pt-(ws-.*?)-(pane-.*?)-(tab-.+)$/);return t?{wsId:t[1],paneId:t[2],tabId:t[3]}:null},F=async(e,t)=>{let a=D(e);a&&await f(async()=>{let n=P(a.wsId),r=await v(n);if(!r)return;let i=(0,c.collectAllTabs)(r.root).find(t=>t.sessionName===e);i&&i.claudeSummary!==t&&(i.claudeSummary=t,r.updatedAt=new Date().toISOString(),await S(r,n))})},q=async(e,t,a)=>{let n=D(e);n&&await f(async()=>{let r=P(n.wsId),i=await v(r);if(!i)return;let l=(0,c.collectAllTabs)(i.root).find(t=>t.sessionName===e);l&&(l.cliState!==t||l.dismissedAt!==a)&&(l.cliState=t,l.dismissedAt=a,i.updatedAt=new Date().toISOString(),await S(i,r))})},z=async(e,t)=>f(async()=>{let a=P(e),n=await v(a);if(!n)return null;let r=t(n);return r?(r.updatedAt=new Date().toISOString(),await S(r,a),T(e,r.root),r):null}),M=async(e,t)=>z(e,e=>{if(void 0!==t.activePaneId){if(!(0,c.findPane)(e.root,t.activePaneId))return null;e.activePaneId=t.activePaneId}return t.ratioUpdate&&(e.root=(0,c.updateRatioAtPath)(e.root,t.ratioUpdate.path,t.ratioUpdate.ratio)),t.equalize&&(e.root=(0,c.equalizeNode)(e.root)),e}),$=async(e,t,a)=>z(e,e=>{let n=(0,c.findPane)(e.root,t);if(!n)return null;if(void 0!==a.activeTabId){if(!n.tabs.some(e=>e.id===a.activeTabId))return null;n.activeTabId=a.activeTabId}return e}),j=async(e,t,a,n,r)=>{let i="web-browser"===r,l=h(),s=b(),d=(0,o.workspaceSessionName)(e,l,s);i||await (0,o.createSession)(d,80,24,n);let u={id:s,sessionName:d,name:i?"Web Browser":"",order:0,...n?{cwd:n}:{}};r&&(u.panelType=r);let p={type:"pane",id:l,tabs:[u],activeTabId:s},y=await z(e,e=>{let r=(0,c.findPane)(e.root,t);if(!r)return null;let i=(0,c.isEqualized)(e.root);if(n){let e=r.tabs.find(e=>e.id===r.activeTabId);e&&(e.cwd=n)}let o={type:"split",orientation:a,ratio:50,children:[{...r},p]};return e.root=(0,c.replacePane)(e.root,t,o),i&&(e.root=(0,c.equalizeNode)(e.root)),e.activePaneId=l,e});return y||i||await (0,o.killSession)(d).catch(()=>{}),y},x=async(e,t)=>{let a=[],n=await f(async()=>{let n=P(e),r=await v(n);if(!r)return null;let i=(0,c.findPane)(r.root,t);if(!i||(0,c.collectPanes)(r.root).length<=1)return null;a=i.tabs.filter(e=>"web-browser"!==e.panelType).map(e=>e.sessionName);let l=(0,c.isEqualized)(r.root);return(0,c.removePaneWithFocus)(r,t),l&&(r.root=(0,c.equalizeNode)(r.root)),r.updatedAt=new Date().toISOString(),await S(r,n),T(e,r.root),r});return await Promise.all(a.map(e=>(0,o.killSession)(e).catch(()=>{}))),n},E=async(e,t,a)=>z(e,e=>{let n=(0,c.findPane)(e.root,t);if(!n)return null;let r=new Map(n.tabs.map(e=>[e.id,e])),i=a.map((e,t)=>{let a=r.get(e);return a?{...a,order:t}:null}).filter(e=>null!==e);return i.length!==n.tabs.length?null:(n.tabs=i,e)}),U=async(e,t,a,n,r)=>z(e,e=>{let i=(0,c.findPane)(e.root,a),l=(0,c.findPane)(e.root,n);if(!i||!l)return null;let o=i.tabs.findIndex(e=>e.id===t);if(-1===o)return null;let[s]=i.tabs.splice(o,1);return i.activeTabId===t&&(i.activeTabId=i.tabs[0]?.id??null),i.tabs.forEach((e,t)=>{e.order=t}),l.tabs.splice(r,0,s),l.tabs.forEach((e,t)=>{e.order=t}),l.activeTabId=t,0===i.tabs.length&&(0,c.collectPanes)(e.root).length>1&&(0,c.removePaneWithFocus)(e,a),e.activePaneId=n,e}),W=async(e,t,a,n)=>z(e,e=>{let r=(0,c.findPane)(e.root,t);if(!r)return null;let i=r.tabs.find(e=>e.id===a);return i?(void 0!==n.name&&(i.name=n.name),void 0!==n.panelType&&(i.panelType=n.panelType),void 0!==n.title&&(i.title=n.title),void 0!==n.cwd&&(i.cwd=n.cwd),void 0!==n.lastCommand&&(i.lastCommand=n.lastCommand),void 0!==n.webUrl&&(i.webUrl=n.webUrl),e):null});e.s(["addTabToPane",0,C,"clearLayoutCache",0,e=>{let t=P(e);w.__ptLayoutContentCache.delete(t)},"closePaneInLayout",0,x,"createDefaultLayout",0,N,"createPane",0,k,"crossCheckLayout",0,g,"deletePane",0,A,"getLayout",0,L,"moveTabBetweenPanes",0,U,"parseSessionName",0,D,"patchLayout",0,M,"patchPane",0,$,"patchTab",0,W,"readLayoutFile",0,v,"removeTabFromPane",0,_,"reorderTabsInPane",0,E,"resolveLayoutDir",0,m,"resolveLayoutFile",0,P,"restartTabSession",0,O,"splitPaneInLayout",0,j,"updateTabClaudeSummary",0,F,"updateTabCliStatus",0,q,"writeLayoutFile",0,S]),a()}catch(e){a(e)}},!1)];
2
+
3
+ //# sourceMappingURL=src_lib_1274n~4._.js.map
@@ -0,0 +1,17 @@
1
+ module.exports=[457508,t=>t.a(async(e,a)=>{try{var s=t.i(924868),i=t.i(814747),r=t.i(446786),n=t.i(254799),o=t.i(367734),l=t.i(667585),u=t.i(25146),d=t.i(669957),c=t.i(459015),g=t.i(143511),h=t.i(386083),f=t.i(825265),p=t.i(804767),m=t.i(322429),w=t.i(578331),b=e([o,l,c,h,f,m]);[o,l,c,h,f,m]=b.then?(await b)():b;let y=(0,u.createLogger)("agent-manager"),S=`## Core Truths
2
+ - 사용자의 의도를 정확히 파악하고, 불필요한 확인 없이 바로 실행한다
3
+ - 작업 진행 상황을 간결하게 보고하되, 수식어와 반복 설명은 생략한다
4
+ - 코드를 직접 수정하지 않고, 탭을 통해 위임한다. 단순 작업은 맥락만 보충하여 전달하고, 복합 작업은 태스크로 분해하여 단계별로 지시한다
5
+ - 실패 시 원인을 먼저 파악하고, 스스로 해결을 시도한 후 결과를 보고한다
6
+
7
+ ## Boundaries
8
+ - 확인이 꼭 필요한 경우에만 question을 사용한다
9
+ - 파괴적 작업(파일 삭제, force push 등)은 반드시 사전 승인을 받는다
10
+ - 사용자의 코드 스타일과 프로젝트 컨벤션을 존중한다
11
+
12
+ ## Vibe
13
+ - 간결하고 직접적으로 대화한다
14
+ - 기술적으로 정확하되 친근한 톤을 유지한다
15
+ - 한국어로 소통한다`.trimEnd(),v=i.default.join(r.default.homedir(),".purplemux","agents"),A="agent-",T=globalThis;class k{agents=new Map;clients=new Set;initialized=!1;async init(){this.initialized||(this.initialized=!0,await s.default.mkdir(v,{recursive:!0}),await this.scanExistingAgents(),y.debug(`agent manager initialized (${this.agents.size} agents)`))}addClient(t){this.clients.add(t)}removeClient(t){this.clients.delete(t)}static BACKPRESSURE_LIMIT=1048576;broadcast(t){let e=JSON.stringify(t);for(let t of this.clients)t.readyState===o.WebSocket.OPEN&&t.bufferedAmount<k.BACKPRESSURE_LIMIT&&t.send(e)}getAllForSync(){let t=Array.from(this.agents.values()).map(t=>({id:t.info.id,name:t.info.name,status:t.status}));return{type:"agent:sync",agents:t}}async createAgent(t,e,a){for(let e of this.agents.values())if(e.info.name===t)throw Error("Agent name already exists");let s=(0,l.nanoid)(8),i=new Date().toISOString(),r=`${A}${s}`,n={name:t,role:e,autonomy:"conservative",createdAt:i,...a?{avatar:a}:{}};await (0,h.ensureAgentDir)(s),await this.writeConfig(s,n),await this.writeSoul(s,S),await (0,h.writeChatIndex)(s,{sessions:[]});let o=await (0,h.createChatSession)(s),u={id:s,name:t,role:e,status:"offline",createdAt:i,tmuxSession:r,...a?{avatar:a}:{}},d={info:u,status:"offline",messageQueue:[],chatSessionId:o,restartCount:0,statusTimer:null,relaySetAt:0,tabs:new Map,tabPollTimer:null,claudeMdHash:"",pendingRestart:!1,lastClaudeSessionId:null,lastDeliveredContent:null,lastDeliveredAt:0,deliveryRetryCount:0};return this.agents.set(s,d),await this.startAgentSession(d),u}getAgent(t){let e=this.agents.get(t);return e?{...e.info,status:e.status}:null}listAgents(){return Array.from(this.agents.values()).map(t=>({...t.info,status:t.status}))}async getWorkspace(t){let e=this.agents.get(t);if(!e)return null;let a=Date.now(),s=new Date(e.info.createdAt).getTime(),i=Math.floor((a-s)/1e3),r=0,n=0;for(let t of e.tabs.values())"working"===t.tab.status&&r++,"completed"===t.tab.status&&n++;let o=t=>"working"===t?"running":"error"===t?"failed":t,l=new Map;for(let t of e.tabs.values()){let e=t.tab.workspaceId;l.has(e)||l.set(e,{tabs:[],wsId:e}),l.get(e).tabs.push({tabId:t.tab.tabId,tabName:t.tab.taskTitle||"Agent Task",taskTitle:t.tab.taskTitle,status:o(t.tab.status)})}let u=[];for(let{tabs:t,wsId:e}of l.values()){let a=await (0,m.getWorkspaceById)(e);u.push({workspaceId:e,workspaceName:a?.name??e,projectPath:a?.directories[0]??"",tabs:t})}return{agentId:t,brainSession:{tmuxSession:e.info.tmuxSession,status:e.status},stats:{runningTasks:r,completedTasks:n,uptimeSeconds:"offline"!==e.status?i:0},projectGroups:u,recentActivity:[]}}async restartAgent(t){let e=this.agents.get(t);return!!e&&(e.restartCount=0,await this.restartAgentSession(e),"offline"!==e.status)}broadcastWorkspaceEvent(t){this.broadcast(t)}async updateAgent(t,e){let a=this.agents.get(t);if(!a)return null;if(e.name&&e.name!==a.info.name){for(let a of this.agents.values())if(a.info.id!==t&&a.info.name===e.name)throw Error("Agent name already exists")}e.name&&(a.info.name=e.name),e.role&&(a.info.role=e.role),void 0!==e.avatar&&(a.info.avatar=e.avatar||void 0);let s=await this.readConfig(t);return s&&(e.name&&(s.name=e.name),e.role&&(s.role=e.role),void 0!==e.avatar&&(s.avatar=e.avatar||void 0),await this.writeConfig(t,s)),void 0!==e.soul&&await this.writeSoul(t,e.soul),await this.computeClaudeMdHash(a)!==a.claudeMdHash&&"offline"!==a.status&&("idle"===a.status||"blocked"===a.status?(a.restartCount=0,await this.restartAgentSession(a)):(a.pendingRestart=!0,y.info(`agent ${t} marked for pending restart (CLAUDE.md changed)`))),{...a.info,status:a.status}}async deleteAgent(t){let e=this.agents.get(t);if(!e)return!1;for(let t of(this.stopStatusPolling(e),this.stopTabPolling(e),e.tabs.values()))await this.closeTabInternal(e,t.tab.tabId).catch(()=>{});return await (0,c.killSession)(e.info.tmuxSession),await (0,h.removeAgentDir)(t),this.agents.delete(t),this.broadcastStatus(t,"offline"),y.info(`agent deleted: ${t}`),!0}async sendMessage(t,e){let a=this.agents.get(t);if(!a)throw Error("Agent not found");a.chatSessionId||(a.chatSessionId=await (0,h.createChatSession)(t));let s=(0,h.createMessage)("user","text",e);if(await (0,h.appendMessage)(t,a.chatSessionId,s),this.broadcast({type:"agent:message",agentId:t,message:s}),"idle"===a.status||"blocked"===a.status)return await this.deliverToAgent(a,e),this.markDelivered(a,e),this.setStatus(a,"working"),a.relaySetAt=Date.now(),{id:s.id,status:"sent"};if(a.messageQueue.length>=10){a.messageQueue.shift(),y.warn(`message queue overflow for agent ${t}, dropping oldest`);let e=(0,h.createMessage)("agent","error","Message queue full, oldest message dropped.");a.chatSessionId&&await (0,h.appendMessage)(t,a.chatSessionId,e),this.broadcast({type:"agent:message",agentId:t,message:e})}a.messageQueue.push(e);let i=(0,h.createMessage)("agent","activity","Message received. Will check after current task completes.");return a.chatSessionId&&await (0,h.appendMessage)(t,a.chatSessionId,i),this.broadcast({type:"agent:message",agentId:t,message:i}),{id:s.id,status:"queued"}}async receiveAgentMessage(t,e,a,s){let i=this.agents.get(t);if(!i)throw Error("Agent not found");i.chatSessionId||(i.chatSessionId=await (0,h.createChatSession)(t));let r=(0,h.createMessage)("agent",e,a,s);return await (0,h.appendMessage)(t,i.chatSessionId,r),this.broadcast({type:"agent:message",agentId:t,message:r}),this.clearDeliveryTracking(i),"question"===e||"approval"===e?(this.setStatus(i,"blocked"),i.relaySetAt=Date.now()):"activity"===e||("done"===e||"error"===e||"report"===e)&&(this.setStatus(i,"idle"),i.relaySetAt=Date.now(),i.messageQueue.length>0&&await this.drainQueue(i)),r}getChatSessionId(t){return this.agents.get(t)?.chatSessionId??null}async emitActivity(t,e,a){let s=t.info.id;t.chatSessionId||(t.chatSessionId=await (0,h.createChatSession)(s));let i=(0,h.createMessage)("agent","activity",e,a);await (0,h.appendMessage)(s,t.chatSessionId,i),this.broadcast({type:"agent:message",agentId:s,message:i})}async buildClaudeMdContent(t,e=!0){let{info:a}=t,s=await this.readSoul(a.id),i=["# Agent Instructions","",`You are "${a.name}" — ${a.role||"general-purpose agent"}.`,"",...s?["## Soul","","The following defines your personality, values, and communication style.","Internalize these principles — they shape how you think, act, and communicate.","",s,""]:[],"## purplemux CLI","","All interaction with purplemux goes through the `purplemux` CLI.","Environment variables (`PMUX_PORT`, `PMUX_TOKEN`, `PMUX_AGENT_ID`) are pre-configured.","","## Workspace Discovery","","You do NOT have pre-assigned projects. Discover available workspaces:","","```bash","purplemux workspaces","```","",'Response: `{ "workspaces": [{ "id": "ws-xxx", "name": "...", "directories": ["..."] }] }`',"","Call this at the start of every new task to know the current workspace state.","Match the user's request to the appropriate workspace by name or directory path.","If unclear which workspace to use, ask the user.","","## Tab Control","","You do NOT modify code directly. Instead, create tabs in project workspaces","and delegate work to Claude Code sessions running in those tabs.","","### Create a tab","","```bash",'purplemux tab create -w WORKSPACE_ID -t "TASK_TITLE"',"```","",'Response: `{ "tabId": "...", "workspaceId": "...", "tmuxSession": "..." }`',"","### Send instructions to a tab","","```bash","purplemux tab send TAB_ID YOUR_INSTRUCTION","```","",'Response: `{ "status": "sent" | "queued" }`',"","### Check tab status","","```bash","purplemux tab status TAB_ID","```","",'Response: `{ "tabId": "...", "status": "idle" | "working" | "completed" | "error" }`',"","### Read tab result","","```bash","purplemux tab result TAB_ID","```","",'Response: `{ "content": "...", "source": "file" | "jsonl" | "buffer" }`',"","### Close a tab","","```bash","purplemux tab close TAB_ID","```","","### List tabs","","```bash","purplemux tab list","```","","## Communication","","The user communicates with you through a chat UI, NOT the terminal.","Your terminal output is invisible to the user.","The ONLY way the user sees your responses is through the message command below.","","**You MUST call this for EVERY response.**","","```bash","purplemux message --type TYPE YOUR_MESSAGE","```","","### Message types","","| type | when to use |","|------|------------|","| `report` | Any reply to the user, progress updates, intermediate results |","| `question` | Need user input before continuing (user must answer before you proceed) |","| `done` | Task completed successfully |","| `error` | Unrecoverable failure |","| `approval` | Need user approval for a risky action |","","## Memory","","You have persistent memory. Use it to save important context that should survive across sessions:","decisions made, user preferences, project-specific knowledge, lessons learned.","","### Save a memory","","```bash","purplemux memory save --tags tag1,tag2 WHAT_TO_REMEMBER","```","","### Search memories","","```bash","purplemux memory search --q KEYWORD --tag TAG","```","","Both `--q` and `--tag` are optional. Omit both to list all memories.","","### Delete a memory","","```bash","purplemux memory delete MEMORY_ID","```","","### When to save","","- User explicitly asks you to remember something","- You discover an important project convention or decision","- A non-obvious solution is found (save the problem + solution)","- User preferences or workflow patterns worth retaining","","### When to search","","- At the start of a new mission, search for relevant context","- When the user references something from a previous session","- Before making a decision that might contradict a past one","","## purplemux API","","For advanced queries, use `purplemux api-guide` to see the full HTTP API reference.","","## Workflow","","1. Receive a mission from the user",'2. Send a `report` to the user BEFORE starting any work (reading code, creating tabs, etc). Briefly explain what you understood and how you plan to approach it — speak naturally as in a conversation, not with labels like "이해한 내용:" or "계획:". This is the first thing the user sees.'," - If the request is ambiguous or could be interpreted multiple ways, state your interpretation in the report. If you are not confident, use `question` to clarify before proceeding — do not guess and execute.","3. Assess complexity:",' - **Simple** (single purpose, clear scope — e.g. "fix lint errors", "add types to this function"):'," Enrich with context (which workspace, relevant background) and forward to a single tab."," Let tab's Claude Code analyze the code directly and decide the best approach.",' - **Complex** (spans multiple files/features, has ordering dependencies — e.g. "replace auth with OAuth", "add API caching layer"):'," Break into tasks, create separate tabs, and send specific step-by-step instructions.","4. Create tab(s) in the appropriate project workspace","5. Send instructions to tab (simple: enriched request / complex: one step at a time)","6. Wait for `[TAB_COMPLETE]` or `[TAB_ERROR]` notification","7. Read the tab result and verify","8. Send progress/completion reports to the user via the message command","9. Close the tab when done","","## Rules","","- ALWAYS relay your response via the message command. The user cannot see terminal output.","- 코드를 직접 수정하지 않는다. 모든 코드 변경은 반드시 탭을 생성하여 위임한다.","- 단순한 변경이라도 직접 수정하지 말고 탭에 위임한다. 에이전트의 역할은 조율과 오케스트레이션이다.","- For long tasks, send periodic `report` messages so the user knows progress.","- Use `question` when you need input — this blocks you until the user replies.","- Always send `done` or `error` when a mission is finished.","- Tab notifications arrive as `[TAB_COMPLETE] tabId=xxx status=completed` or `[TAB_ERROR] tabId=xxx status=error`.","- You can run multiple tabs in parallel for independent tasks.","- Your session may restart. Previous conversation history is saved in `./chat/` as JSONL files."," Read `./chat/index.json` to find session IDs, then `./chat/{sessionId}.jsonl` for messages."," Review recent history after restart to maintain context continuity.",""];if(e&&t.chatSessionId)try{let{messages:e}=await (0,h.readMessages)(a.id,t.chatSessionId,{limit:20});if(e.length>0){for(let t of(i.push("## Recent Conversation",""),i.push("> Below is the recent conversation history. Use this to resume context after restart.",""),e)){let e=(t.content.length>200?t.content.slice(0,200)+"...":t.content).replace(/\n/g," ");i.push(`> [${t.role}/${t.type}] ${e}`)}i.push(""),i.push("위 대화를 참고하여 이전 맥락을 이어가세요. 사용자가 이전 대화를 언급하면 이 내용을 기반으로 응답하세요."),i.push("")}}catch(t){y.warn(`failed to read chat history for CLAUDE.md: ${t instanceof Error?t.message:t}`)}return i.join("\n")}async writeAgentClaudeMd(t){let e=await this.buildClaudeMdContent(t),a=i.default.join((0,h.getAgentDir)(t.info.id),"CLAUDE.md");await s.default.writeFile(a,e,"utf-8")}async computeClaudeMdHash(t){let e=await this.buildClaudeMdContent(t,!1);return(0,n.createHash)("sha256").update(e).digest("hex").slice(0,16)}async isClaudeMdStale(t){let e=i.default.join((0,h.getAgentDir)(t.info.id),"CLAUDE.md");try{let a=await s.default.readFile(e,"utf-8"),i=await this.buildClaudeMdContent(t,!1);return!a.startsWith(i)}catch{return!0}}async startAgentSession(t){let{info:e}=t,a=(0,h.getAgentDir)(e.id);try{await this.writeAgentClaudeMd(t);let s=await this.writeAgentHookSettings(e.id);await (0,c.createSession)(e.tmuxSession,200,50,a),await new Promise(t=>setTimeout(t,500));let i=process.env.PORT||"8022",r=(0,d.getAgentToken)();await (0,c.sendKeys)(e.tmuxSession,`export PMUX_PORT=${i} PMUX_TOKEN=${r} PMUX_AGENT_ID=${e.id}`),await new Promise(t=>setTimeout(t,300)),await (0,c.sendKeys)(e.tmuxSession,`claude --settings ${s} --dangerously-skip-permissions`),await new Promise(t=>setTimeout(t,2e3)),await (0,c.sendRawKeys)(e.tmuxSession,"Enter"),t.claudeMdHash=await this.computeClaudeMdHash(t),t.pendingRestart=!1,this.setStatus(t,"idle"),t.restartCount=0,this.startStatusPolling(t),y.info(`agent session started: ${e.id} (${e.tmuxSession})`)}catch(a){y.error(`failed to start agent session ${e.id}: ${a instanceof Error?a.message:a}`),this.setStatus(t,"offline")}}async restartAgentSession(t){if(t.restartCount>=3){y.error(`agent ${t.info.id} exceeded max restart attempts`),this.setStatus(t,"offline");return}t.restartCount++,y.info(`restarting agent session ${t.info.id} (attempt ${t.restartCount})`),await (0,c.killSession)(t.info.tmuxSession).catch(()=>{}),await this.startAgentSession(t),"idle"===t.status&&t.messageQueue.length>0&&await this.drainQueue(t)}startStatusPolling(t){this.stopStatusPolling(t),t.statusTimer=setInterval(()=>{this.pollAgentStatus(t).catch(e=>{y.error(`status poll error for ${t.info.id}: ${e instanceof Error?e.message:e}`)})},5e3)}stopStatusPolling(t){t.statusTimer&&(clearInterval(t.statusTimer),t.statusTimer=null)}async pollAgentStatus(t){if(!await (0,c.hasSession)(t.info.tmuxSession)){"offline"!==t.status&&(this.setStatus(t,"offline"),await this.restartAgentSession(t));return}let e=await (0,c.getSessionPanePid)(t.info.tmuxSession);if(!e)return;let a=await (0,g.detectActiveSession)(e);if("running"===a.status&&a.jsonlPath){let e=a.sessionId;if(t.lastClaudeSessionId&&e&&e!==t.lastClaudeSessionId){y.debug(`agent ${t.info.id} Claude session changed: ${t.lastClaudeSessionId} → ${e}`),t.lastClaudeSessionId=e,this.setStatus(t,"idle"),await this.retryOrDrainPending(t);return}if(t.lastClaudeSessionId=e,Date.now()-t.relaySetAt<1e4)return;let s=t.status,i=await this.deriveStatusFromSession(t,a.jsonlPath);i!==s&&("blocked"===s||this.setStatus(t,i),"idle"===i&&await this.retryOrDrainPending(t)),"working"===t.status&&t.lastDeliveredContent&&t.lastDeliveredAt>0&&Date.now()-t.lastDeliveredAt>=3e4&&"idle"===i&&await this.retryDelivery(t)}else if("running"!==a.status||a.jsonlPath){if("running"!==a.status){let e=await (0,c.getPaneCurrentCommand)(t.info.tmuxSession);if(e&&["zsh","bash","fish","sh"].includes(e)){let e=this.getAgentHookPath(t.info.id);await (0,c.sendKeys)(t.info.tmuxSession,`claude --settings ${e} --dangerously-skip-permissions`),this.setStatus(t,"idle")}else"working"===t.status&&t.lastDeliveredContent&&await this.retryDelivery(t)}}else t.lastClaudeSessionId=a.sessionId,"idle"!==t.status&&(this.setStatus(t,"idle"),await this.retryOrDrainPending(t))}async deriveStatusFromSession(t,e){try{let t=await s.default.stat(e);if(0===t.size)return"idle";let a=await s.default.open(e,"r"),i=Math.min(8192,t.size),r=Buffer.alloc(i);await a.read(r,0,i,t.size-i),await a.close();let n=r.toString("utf-8").split("\n").filter(Boolean);for(let t=n.length-1;t>=0;t--)try{let e=JSON.parse(n[t]);if(e.isSidechain)continue;if("system"===e.type&&("stop_hook_summary"===e.subtype||"turn_duration"===e.subtype))return"idle";if("assistant"===e.type){let t=e.message?.stop_reason;if(!t||"tool_use"===t)return"working";return"idle"}if("user"===e.type){let t=e.message?.content;if(Array.isArray(t)&&t.some(t=>"text"===t.type&&t.text?.includes("[Request interrupted by user")||"tool_result"===t.type&&!0===t.is_error))return"idle";return"working"}}catch{continue}return"idle"}catch{return"offline"===t.status?"offline":"idle"}}async drainQueue(t){let e=t.messageQueue.shift();e&&(await this.deliverToAgent(t,e),this.markDelivered(t,e),this.setStatus(t,"working"))}async deliverToAgent(t,e){await (0,c.sendBracketedPaste)(t.info.tmuxSession,e)}markDelivered(t,e){t.lastDeliveredContent=e,t.lastDeliveredAt=Date.now(),t.deliveryRetryCount=0}clearDeliveryTracking(t){t.lastDeliveredContent=null,t.lastDeliveredAt=0,t.deliveryRetryCount=0}async retryDelivery(t){if(t.lastDeliveredContent){if(t.deliveryRetryCount>=2){y.warn(`agent ${t.info.id} delivery failed after 2 retries, giving up`);let e=(0,h.createMessage)("agent","error","Failed to deliver message. Please resend.");t.chatSessionId&&await (0,h.appendMessage)(t.info.id,t.chatSessionId,e),this.broadcast({type:"agent:message",agentId:t.info.id,message:e}),this.clearDeliveryTracking(t),this.setStatus(t,"idle");return}if(!await (0,c.hasSession)(t.info.tmuxSession))return void y.warn(`agent ${t.info.id} tmux session dead during retry, skipping`);t.deliveryRetryCount++,y.info(`agent ${t.info.id} retrying delivery (attempt ${t.deliveryRetryCount})`);try{await this.deliverToAgent(t,t.lastDeliveredContent),t.lastDeliveredAt=Date.now(),this.setStatus(t,"working")}catch(e){y.error(`agent ${t.info.id} delivery retry failed: ${e instanceof Error?e.message:e}`)}}}async retryOrDrainPending(t){t.lastDeliveredContent?await this.retryDelivery(t):t.messageQueue.length>0&&await this.drainQueue(t)}async findUnansweredMessage(t,e){try{let{messages:a}=await (0,h.readMessages)(t,e,{limit:10});if(0===a.length)return null;for(let t=a.length-1;t>=0;t--){let e=a[t];if("agent"===e.role)break;if("user"===e.role&&"text"===e.type)return e.content}return null}catch{return null}}setStatus(t,e){t.status!==e&&(t.status=e,t.info.status=e,this.broadcastStatus(t.info.id,e),y.debug(`agent ${t.info.id} status: ${e}`),"idle"===e&&t.pendingRestart&&(t.pendingRestart=!1,t.restartCount=0,y.info(`agent ${t.info.id} executing pending restart`),this.restartAgentSession(t).catch(e=>{y.error(`pending restart failed for ${t.info.id}: ${e instanceof Error?e.message:e}`)})))}broadcastStatus(t,e){this.broadcast({type:"agent:status",agentId:t,status:e})}async readConfig(t){let e=i.default.join((0,h.getAgentDir)(t),"config.md");try{let t=await s.default.readFile(e,"utf-8");return this.parseConfigMd(t)}catch{return null}}async writeConfig(t,e){let a=i.default.join((0,h.getAgentDir)(t),"config.md"),r=["---",`name: ${e.name}`,`role: ${e.role}`,`autonomy: ${e.autonomy}`,`createdAt: ${e.createdAt}`];e.avatar&&r.push(`avatar: ${e.avatar}`),r.push("---",""),await s.default.writeFile(a,r.join("\n"),"utf-8")}async readSoul(t){let e=i.default.join((0,h.getAgentDir)(t),"soul.md");try{return await s.default.readFile(e,"utf-8")}catch{return""}}async writeSoul(t,e){let a=i.default.join((0,h.getAgentDir)(t),"soul.md");await s.default.writeFile(a,e,"utf-8")}getAgentHookPath(t){return i.default.join((0,h.getAgentDir)(t),"agent-hooks.json")}getTabHookPath(t,e){return i.default.join((0,h.getAgentDir)(t),`agent-hooks-${e}.json`)}async writeAgentHookSettings(t){let e=parseInt(process.env.PORT||"8022",10),a=this.getAgentHookPath(t),r=(0,w.buildAgentBrainHookSettings)(e,t);await s.default.writeFile(a,JSON.stringify(r,null,2),"utf-8");let n=i.default.join((0,h.getAgentDir)(t),"hooks.json");return await s.default.unlink(n).catch(()=>{}),a}async writeTabHookSettings(t,e){let a=parseInt(process.env.PORT||"8022",10),r=this.getTabHookPath(t,e),n=(0,w.buildAgentTabHookSettings)(a,t,e);await s.default.writeFile(r,JSON.stringify(n,null,2),"utf-8");let o=i.default.join((0,h.getAgentDir)(t),`hooks-${e}.json`);return await s.default.unlink(o).catch(()=>{}),r}async onTabHook(t,e){let a=this.agents.get(t);if(!a)return;let s=a.tabs.get(e);if(!s||"completed"===s.tab.status||"error"===s.tab.status)return;let i=await this.detectTabStatus(s);if(i!==s.prevStatus){if(s.tab.status=i,s.tab.lastActivity=new Date().toISOString(),this.broadcastTabStatus(t,e,i),("completed"===i||"error"===i)&&"working"===s.prevStatus&&await this.notifyAgentTabComplete(a,e,i),"idle"===i&&"working"===s.prevStatus)if(s.messageQueue.length>0){let a=s.messageQueue.shift();await (0,c.sendBracketedPaste)(s.tab.tmuxSession,a),s.tab.status="working",this.broadcastTabStatus(t,e,"working")}else s.tab.status="completed",s.tab.lastActivity=new Date().toISOString(),this.broadcastTabStatus(t,e,"completed"),await this.notifyAgentTabComplete(a,e,"completed");s.prevStatus=s.tab.status,await this.persistTabs(a)}}async onBrainHook(t){let e=this.agents.get(t);if(!e)return;e.relaySetAt=Date.now();let a=await (0,c.getSessionPanePid)(e.info.tmuxSession);if(!a)return;let s=await (0,g.detectActiveSession)(a);if("running"!==s.status||!s.jsonlPath)return;e.lastClaudeSessionId=s.sessionId;let i=await this.deriveStatusFromSession(e,s.jsonlPath);i!==e.status&&this.setStatus(e,i),"idle"===i&&(this.clearDeliveryTracking(e),await this.retryOrDrainPending(e))}parseConfigMd(t){let e=t.match(/^---\n([\s\S]*?)\n---/);if(!e)return null;let a=e[1].split("\n"),s={};for(let t of a)t.startsWith("name: ")?s.name=t.slice(6).trim():t.startsWith("role: ")?s.role=t.slice(6).trim():t.startsWith("autonomy: ")?s.autonomy=t.slice(10).trim():t.startsWith("createdAt: ")?s.createdAt=t.slice(11).trim():t.startsWith("avatar: ")&&(s.avatar=t.slice(8).trim());return s.name&&s.role?s:null}async scanExistingAgents(){let t;try{t=await s.default.readdir(v)}catch{return}let e=await (0,c.listSessions)(),a=new Set(e.filter(t=>t.startsWith(A)).concat(await this.listAgentTmuxSessions()));for(let e of t){let t=i.default.join(v,e,"config.md");try{await s.default.access(t)}catch{continue}let a=await this.readConfig(e);if(!a)continue;let r=`${A}${e}`,n=await (0,h.getLatestSessionId)(e),o={info:{id:e,name:a.name,role:a.role,status:"offline",createdAt:a.createdAt,tmuxSession:r,...a.avatar?{avatar:a.avatar}:{}},status:"offline",messageQueue:[],chatSessionId:n,restartCount:0,statusTimer:null,relaySetAt:0,tabs:new Map,tabPollTimer:null,claudeMdHash:"",pendingRestart:!1,lastClaudeSessionId:null,lastDeliveredContent:null,lastDeliveredAt:0,deliveryRetryCount:0};this.agents.set(e,o),await this.recoverTabs(o);let l=n?await this.findUnansweredMessage(e,n):null;l&&(o.lastDeliveredContent=l,o.lastDeliveredAt=Date.now(),y.info(`agent ${e} has unanswered message, will retry delivery`)),await this.restartAgentSession(o),"idle"===o.status&&o.lastDeliveredContent&&await this.retryDelivery(o)}let r=new Set(Array.from(this.agents.values()).map(t=>t.info.tmuxSession));for(let t of a)r.has(t)||(await (0,c.killSession)(t),y.info(`killed orphan agent session: ${t}`))}async listAgentTmuxSessions(){try{let{execFile:e}=await t.A(144264),{promisify:a}=await t.A(534777),s=a(e),{stdout:i}=await s("tmux",["-L","purple","ls","-F","#{session_name}"],{timeout:5e3});return i.trim().split("\n").map(t=>t.trim()).filter(t=>t.startsWith(A))}catch{return[]}}listTabs(t){let e=this.agents.get(t);return e?Array.from(e.tabs.values()).map(t=>t.tab):[]}async createTab(e,a,s){let i=this.agents.get(e);if(!i)throw Error("Agent not found");let r=await (0,m.getWorkspaceById)(a);if(!r){let{getWorkspaces:e}=await t.A(981532),{workspaces:a}=await e(),s=a.map(t=>({id:t.id,name:t.name})),i=Error("Workspace not found");throw i.available=s,i}if(Array.from(i.tabs.values()).filter(t=>"completed"!==t.tab.status&&"error"!==t.tab.status).length>=5){let t=Error("Max concurrent tabs reached");throw t.limit=5,t}let n=await (0,f.readLayoutFile)((0,f.resolveLayoutFile)(a));if(!n)throw Error("Workspace layout not found");let o=(0,p.collectPanes)(n.root)[0];if(!o)throw Error("No pane in workspace");let l=r.directories[0],u=s||"Agent Task";await this.emitActivity(i,`Creating tab: ${u}`,{workspaceId:a,taskTitle:s});let d=await (0,f.addTabToPane)(a,o.id,u,l,"claude-code");if(!d)throw Error("Failed to create tab session");let g=await this.writeTabHookSettings(e,d.id);await new Promise(t=>setTimeout(t,500)),await (0,c.sendKeys)(d.sessionName,`claude --settings ${g} --dangerously-skip-permissions`),await new Promise(t=>setTimeout(t,2e3)),await (0,c.sendRawKeys)(d.sessionName,"Enter");let h=new Date().toISOString(),w={tabId:d.id,agentId:e,workspaceId:a,tmuxSession:d.sessionName,paneId:o.id,taskTitle:s,status:"idle",createdAt:h,lastActivity:h};return i.tabs.set(d.id,{tab:w,messageQueue:[],prevStatus:"idle"}),await this.persistTabs(i),this.startTabPolling(i),this.broadcast({type:"workspace:tab-added",agentId:e,workspaceId:a,tab:{tabId:d.id,tabName:u,taskTitle:s,status:"idle"}}),y.info(`agent ${e} created tab ${d.id} in workspace ${a}`),w}async sendToTab(t,e,a){let s=this.agents.get(t);if(!s)throw Error("Agent not found");let i=s.tabs.get(e);if(!i)throw Error("Tab not found");if(i.tab.agentId!==t)throw Error("Tab not owned by this agent");if(!await (0,c.hasSession)(i.tab.tmuxSession))throw Error("Tab session is dead");if("idle"===i.tab.status){let r=i.tab.taskTitle||e;return await this.emitActivity(s,`Sending task: ${r}`,{tabId:e}),await (0,c.sendBracketedPaste)(i.tab.tmuxSession,a),i.tab.status="working",i.tab.lastActivity=new Date().toISOString(),await this.persistTabs(s),this.broadcastTabStatus(t,e,"working"),{status:"sent"}}return i.messageQueue.length>=5&&i.messageQueue.shift(),i.messageQueue.push(a),{status:"queued"}}async getTabStatus(t,e){let a=this.agents.get(t);if(!a)throw Error("Agent not found");let s=a.tabs.get(e);if(!s)throw Error("Tab not found");let i=await this.detectTabStatus(s);return i!==s.tab.status&&(s.tab.status=i,s.tab.lastActivity=new Date().toISOString(),await this.persistTabs(a)),{tabId:s.tab.tabId,status:s.tab.status,lastActivity:s.tab.lastActivity}}async getTabResult(t,e){let a=this.agents.get(t);if(!a)throw Error("Agent not found");let r=a.tabs.get(e);if(!r)throw Error("Tab not found");if("working"===r.tab.status)throw Error("Tab is still working");let n=await this.getTabCwd(r);if(n){let t=i.default.join(n,".task-result.md");try{return{content:await s.default.readFile(t,"utf-8"),source:"file"}}catch{}}let o=await (0,c.getSessionPanePid)(r.tab.tmuxSession);if(o){let t=await (0,g.detectActiveSession)(o);if(t.jsonlPath){let e=await this.readLastAssistantFromJsonl(t.jsonlPath);if(e)return{content:e,source:"jsonl"}}}let l=await (0,c.capturePaneContent)(r.tab.tmuxSession);if(l){let t=l.split("\n").slice(-50).join("\n").trim();if(t)return{content:t,source:"buffer"}}throw Error("No result available")}async closeTab(t,e){let a=this.agents.get(t);if(!a)throw Error("Agent not found");await this.closeTabInternal(a,e)}async closeTabInternal(t,e){let a=t.tabs.get(e);if(!a)return;let{workspaceId:s,paneId:i,tmuxSession:r}=a.tab;await (0,f.removeTabFromPane)(s,i,e).catch(()=>{}),await (0,c.killSession)(r).catch(()=>{}),t.tabs.delete(e),await this.persistTabs(t),0===t.tabs.size&&this.stopTabPolling(t),this.broadcast({type:"workspace:tab-removed",agentId:t.info.id,tabId:e}),y.info(`agent ${t.info.id} closed tab ${e}`)}async detectTabStatus(t){if(!await (0,c.hasSession)(t.tab.tmuxSession))return"error";let e=await (0,c.getSessionPanePid)(t.tab.tmuxSession);if(!e)return"error";let a=await (0,g.detectActiveSession)(e);if("running"!==a.status){let e=await (0,c.getPaneCurrentCommand)(t.tab.tmuxSession);return e&&["zsh","bash","fish","sh"].includes(e)?"idle":"error"}if(!a.jsonlPath)return"idle";if(await this.checkTabJsonlIdle(a.jsonlPath)){let e=a.cwd||await this.getTabCwd(t);if(e)try{return await s.default.access(i.default.join(e,".task-result.md")),"completed"}catch{}return"idle"}return"working"}async checkTabJsonlIdle(t){try{let e=await s.default.stat(t);if(0===e.size)return!0;let a=await s.default.open(t,"r"),i=Math.min(8192,e.size),r=Buffer.alloc(i);await a.read(r,0,i,e.size-i),await a.close();let n=r.toString("utf-8").split("\n").filter(Boolean);for(let t=n.length-1;t>=0;t--)try{let e=JSON.parse(n[t]);if(e.isSidechain)continue;if("system"===e.type&&("stop_hook_summary"===e.subtype||"turn_duration"===e.subtype))return!0;if("assistant"===e.type){let t=e.message?.stop_reason;if(!t||"tool_use"===t)return!1;return!0}if("user"===e.type)return!1}catch{continue}return!0}catch{return!0}}async readLastAssistantFromJsonl(t){try{let e=await s.default.stat(t);if(0===e.size)return null;let a=await s.default.open(t,"r"),i=Math.min(8192,e.size),r=Buffer.alloc(i);await a.read(r,0,i,e.size-i),await a.close();let n=r.toString("utf-8").split("\n").filter(Boolean);for(let t=n.length-1;t>=0;t--)try{let e=JSON.parse(n[t]);if("assistant"===e.type&&e.message?.content){let t=e.message.content;if(Array.isArray(t)){let e=t.filter(t=>"text"===t.type).map(t=>t.text);if(e.length>0)return e.join("\n")}if("string"==typeof t)return t}}catch{continue}return null}catch{return null}}async getTabCwd(e){try{let{getSessionCwd:a}=await t.A(322522);return await a(e.tab.tmuxSession)}catch{return null}}startTabPolling(t){t.tabPollTimer||(t.tabPollTimer=setInterval(()=>{this.pollTabStatuses(t).catch(e=>{y.error(`tab poll error for ${t.info.id}: ${e instanceof Error?e.message:e}`)})},3e4))}stopTabPolling(t){t.tabPollTimer&&(clearInterval(t.tabPollTimer),t.tabPollTimer=null)}async pollTabStatuses(t){for(let e of t.tabs.values()){if("completed"===e.tab.status||"error"===e.tab.status)continue;let a=await this.detectTabStatus(e);if(a!==e.prevStatus){if(e.tab.status=a,e.tab.lastActivity=new Date().toISOString(),this.broadcastTabStatus(t.info.id,e.tab.tabId,a),("completed"===a||"error"===a)&&"working"===e.prevStatus&&await this.notifyAgentTabComplete(t,e.tab.tabId,a),"idle"===a&&"working"===e.prevStatus)if(e.messageQueue.length>0){let a=e.messageQueue.shift();await (0,c.sendBracketedPaste)(e.tab.tmuxSession,a),e.tab.status="working",this.broadcastTabStatus(t.info.id,e.tab.tabId,"working")}else e.tab.status="completed",e.tab.lastActivity=new Date().toISOString(),this.broadcastTabStatus(t.info.id,e.tab.tabId,"completed"),await this.notifyAgentTabComplete(t,e.tab.tabId,"completed");e.prevStatus=a}}await this.persistTabs(t)}async notifyAgentTabComplete(t,e,a){let s=`${"completed"===a?"[TAB_COMPLETE]":"[TAB_ERROR]"} tabId=${e} status=${a}`;try{await (0,c.hasSession)(t.info.tmuxSession)&&await (0,c.sendBracketedPaste)(t.info.tmuxSession,s)}catch(e){y.error(`failed to notify agent ${t.info.id}: ${e instanceof Error?e.message:e}`)}}broadcastTabStatus(t,e,a){this.broadcast({type:"workspace:tab-updated",agentId:t,tabId:e,status:"working"===a?"running":"error"===a?"failed":a})}async persistTabs(t){let e=(0,h.getAgentDir)(t.info.id),a=i.default.join(e,"tabs.json"),r={tabs:Array.from(t.tabs.values()).map(t=>t.tab)};try{let t=a+".tmp";try{await s.default.writeFile(t,JSON.stringify(r,null,2),{mode:384}),await s.default.rename(t,a)}catch(e){throw await s.default.unlink(t).catch(()=>{}),e}}catch(e){y.error(`failed to persist tabs for ${t.info.id}: ${e instanceof Error?e.message:e}`)}}async recoverTabs(t){let e=(0,h.getAgentDir)(t.info.id),a=i.default.join(e,"tabs.json");try{let e=await s.default.readFile(a,"utf-8"),i=JSON.parse(e);for(let e of i.tabs)await (0,c.hasSession)(e.tmuxSession)?(t.tabs.set(e.tabId,{tab:e,messageQueue:[],prevStatus:e.status}),y.debug(`recovered agent tab: ${e.tabId} (${e.tmuxSession})`)):y.debug(`agent tab session dead, removing: ${e.tabId}`);t.tabs.size!==i.tabs.length&&await this.persistTabs(t)}catch{}}shutdown(){for(let t of this.agents.values())this.stopStatusPolling(t),this.stopTabPolling(t);for(let t of this.clients)t.readyState===o.WebSocket.OPEN&&t.close(1001,"Server shutting down");this.clients.clear(),y.debug("agent manager shutdown")}}t.s(["getAgentManager",0,()=>(T.__ptAgentManager||(T.__ptAgentManager=new k),T.__ptAgentManager)]),a()}catch(t){a(t)}},!1)];
16
+
17
+ //# sourceMappingURL=src_lib_agent-manager_ts_09xmrha._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[322429,e=>e.a(async(a,t)=>{try{var r=e.i(924868),i=e.i(814747),s=e.i(446786),o=e.i(667585),c=e.i(459015),l=e.i(25146),n=e.i(666126),d=e.i(825265),u=e.i(804767),p=a([o,c,n,d]);[o,c,n,d]=p.then?(await p)():p;let w=(0,l.createLogger)("workspace"),y="Workspace ",f=i.default.join(s.default.homedir(),".purplemux"),k=i.default.join(f,"workspaces.json"),h=i.default.join(f,"layout.json"),m=i.default.join(f,"tabs.json"),W=globalThis;W.__purplemuxWorkspaceLock||(W.__purplemuxWorkspaceLock=Promise.resolve());let v=async e=>{let a,t=new Promise(e=>{a=e}),r=W.__purplemuxWorkspaceLock;W.__purplemuxWorkspaceLock=t,await r;try{return await e()}finally{a()}},b=()=>({workspaces:[],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:new Date().toISOString()}),g=async()=>{let e;try{e=await r.default.readFile(k,"utf-8")}catch{return null}try{let a=JSON.parse(e);for(let e of a.workspaces)!e.directories&&e.directory&&(e.directories=[e.directory],delete e.directory);return a}catch{w.warn("Failed to parse workspaces.json, starting empty");try{await r.default.copyFile(k,k.replace(/\.json$/,".json.bak"))}catch{}return null}},L=async e=>{let{workspaces:a,activeWorkspaceId:t,sidebarCollapsed:i,sidebarWidth:s}=e,o=JSON.stringify({workspaces:a,activeWorkspaceId:t,sidebarCollapsed:i,sidebarWidth:s});if(W.__purplemuxWorkspacesContentCache===o)return;e.updatedAt=new Date().toISOString();let c=k+".tmp";try{await r.default.writeFile(c,JSON.stringify(e,null,2),{mode:384}),await r.default.rename(c,k)}catch(e){throw await r.default.unlink(c).catch(()=>{}),e}W.__purplemuxWorkspacesContentCache=o,(0,n.broadcastSync)({type:"workspace"})},I=async()=>{let e=await (0,d.readLayoutFile)(h);if(!e)return null;let a="ws-default";await r.default.mkdir((0,d.resolveLayoutDir)(a),{recursive:!0}),await (0,d.writeLayoutFile)(e,(0,d.resolveLayoutFile)(a));let t={workspaces:[{id:a,name:"default",directories:[s.default.homedir()],order:0}],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:e.updatedAt||new Date().toISOString()};return await L(t),w.info("Phase 4 layout.json → Workspace 'default' migration complete"),t},S=async()=>{try{let e=await r.default.readFile(m,"utf-8"),a=JSON.parse(e);if(!Array.isArray(a.tabs)||0===a.tabs.length)return null;let t=`pane-${(0,o.nanoid)(6)}`,i={root:{type:"pane",id:t,tabs:a.tabs,activeTabId:a.activeTabId??null},activePaneId:t,updatedAt:new Date().toISOString()},s=h+".tmp";try{await r.default.writeFile(s,JSON.stringify(i,null,2),{mode:384}),await r.default.rename(s,h)}catch(e){throw await r.default.unlink(s).catch(()=>{}),e}return w.info("tabs.json → layout.json migration complete"),await I()}catch{return null}},F=async()=>{await r.default.mkdir(i.default.join(f,"workspaces"),{recursive:!0});let e=await g();if(!e&&(await r.default.access(h).then(()=>!0).catch(()=>!1)?e=await I():await r.default.access(m).then(()=>!0).catch(()=>!1)&&(e=await S())),!e){let a=b();await L(a),e=a,w.info("Initial workspaces.json created")}if(0===e.workspaces.length)return;let a=await (0,c.listSessions)();for(let t of e.workspaces){let e=(0,d.resolveLayoutFile)(t.id),r=await (0,d.readLayoutFile)(e);if(!r){w.warn(`Workspace '${t.name}': layout.json corrupted, reset to default pane`),r=await (0,d.createDefaultLayout)(t.id,t.directories[0]),await (0,d.writeLayoutFile)(r,e);continue}let i=(0,u.collectAllTabs)(r.root).map(e=>e.sessionName),s=`pt-${t.id}-`,o=a.filter(e=>i.includes(e)||e.startsWith(s));try{await (0,d.crossCheckLayout)(r,o,t.id,t.directories[0])&&await (0,d.writeLayoutFile)(r,e)}catch(e){w.error(`Workspace '${t.name}': tmux consistency check failed: ${e instanceof Error?e.message:e}`)}}},j=async()=>{let e=await g();return e?{workspaces:e.workspaces,activeWorkspaceId:e.activeWorkspaceId,sidebarCollapsed:e.sidebarCollapsed,sidebarWidth:e.sidebarWidth}:{workspaces:[],sidebarCollapsed:!1,sidebarWidth:220}},D=async()=>{let e=await g();return e?.activeWorkspaceId&&e.workspaces.some(a=>a.id===e.activeWorkspaceId)?e.activeWorkspaceId:e?.workspaces[0]?.id??null},$=async e=>{let a=await g();return a?.workspaces.find(a=>a.id===e)},C=async(e,a,t)=>v(async()=>{let i;try{i=await r.default.stat(e)}catch{throw Error("Directory does not exist")}if(!i.isDirectory())throw Error("Please enter a directory path, not a file");let s=await g()??b(),c=`ws-${(0,o.nanoid)(6)}`,l=a?.trim()||(e=>{let a=0;for(let t of e)if(t.name.startsWith(y)){let e=parseInt(t.name.slice(y.length),10);e>a&&(a=e)}return`${y}${a+1}`})(s.workspaces),n=s.workspaces.length,u=await (0,d.createDefaultLayout)(c,e,t);await r.default.mkdir((0,d.resolveLayoutDir)(c),{recursive:!0}),await (0,d.writeLayoutFile)(u,(0,d.resolveLayoutFile)(c));let p={id:c,name:l,directories:[e],order:n};return s.workspaces.push(p),await L(s),w.info(`Created: ${c} (${l}, ${e})`),p}),x=async e=>v(async()=>{let a=await g()??b(),t=a.workspaces.findIndex(a=>a.id===e);if(-1===t)return!1;let i=a.workspaces[t],s=await (0,d.readLayoutFile)((0,d.resolveLayoutFile)(e));if(s)for(let e of(0,u.collectAllTabs)(s.root))try{await (0,c.killSession)(e.sessionName)}catch{}try{await r.default.rm((0,d.resolveLayoutDir)(e),{recursive:!0,force:!0})}catch{}return(0,d.clearLayoutCache)(e),a.workspaces.splice(t,1),a.workspaces.forEach((e,a)=>{e.order=a}),await L(a),w.info(`Deleted: ${e} (${i.name})`),!0}),_=async(e,a)=>v(async()=>{let t=await g();if(!t)return null;let r=t.workspaces.find(a=>a.id===e);return r?(r.name=a,await L(t),w.info(`Renamed: ${e} → "${a}"`),{...r}):null}),A=async e=>v(async()=>{let a=await g()??b();void 0!==e.activeWorkspaceId&&(a.activeWorkspaceId=e.activeWorkspaceId),void 0!==e.sidebarCollapsed&&(a.sidebarCollapsed=e.sidebarCollapsed),void 0!==e.sidebarWidth&&(a.sidebarWidth=e.sidebarWidth),await L(a)}),O=async(e,a)=>v(async()=>{let t=await g();if(!t)return;let r=t.workspaces.find(a=>a.id===e);r&&JSON.stringify(r.directories)!==JSON.stringify(a)&&(r.directories=a,await L(t))}),N=async e=>v(async()=>{let a=await g()??b(),t=new Map(a.workspaces.map(e=>[e.id,e])),r=[];for(let a of e){let e=t.get(a);if(!e)return!1;r.push(e)}return r.length===a.workspaces.length&&(r.forEach((e,a)=>{e.order=a}),a.workspaces=r,await L(a),!0)}),J=async e=>{try{if(!(await r.default.stat(e)).isDirectory())return{valid:!1,error:"Please enter a directory path, not a file"}}catch{return{valid:!1,error:"Directory does not exist"}}return{valid:!0,suggestedName:i.default.basename(e)}};e.s(["createWorkspace",0,C,"deleteWorkspace",0,x,"getActiveWorkspaceId",0,D,"getWorkspaceById",0,$,"getWorkspaces",0,j,"initWorkspaceStore",0,F,"renameWorkspace",0,_,"reorderWorkspaces",0,N,"updateActive",0,A,"updateWorkspaceDirectories",0,O,"validateDirectory",0,J]),t()}catch(e){t(e)}},!1)];
2
+
3
+ //# sourceMappingURL=src_lib_workspace-store_ts_0vqt073._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[624834,(a,b,c)=>{b.exports=a.x("diff2html-a1d03c74946185c8/lib/ui/js/diff2html-ui-slim.js",()=>require("diff2html-a1d03c74946185c8/lib/ui/js/diff2html-ui-slim.js"))}];
2
+
3
+ //# sourceMappingURL=%5Bexternals%5D_diff2html_lib_ui_js_diff2html-ui-slim_059_ykt.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[760644,a=>a.a(async(b,c)=>{try{var d=a.i(715346),e=b([d]);[d]=e.then?(await e)():e;let f={terminalConnected:!1,claudeStatus:"unknown",claudeStatusCheckedAt:0,cliState:"inactive",isTimelineLoading:!0,isRestarting:!1,isResuming:!1,workspaceId:""},g=(a,b,c)=>{let d=a[b];return d?{...a,[b]:{...d,...c}}:a},h=(0,d.create)(a=>({tabs:{},tabOrders:{},statusWsConnected:!1,initTab:(b,c)=>a(a=>{let d=a.tabs[b],e={...f,...d,...c};return d?.cliState==="ready-for-review"&&"ready-for-review"!==e.cliState&&(e.cliState="ready-for-review",e.readyForReviewAt=d.readyForReviewAt),{tabs:{...a.tabs,[b]:e}}}),removeTab:b=>a(a=>{let{[b]:c,...d}=a.tabs;return{tabs:d}}),setTerminalConnected:(b,c)=>a(a=>{let d=a.tabs[b];return d&&d.terminalConnected!==c?{tabs:g(a.tabs,b,{terminalConnected:c})}:a}),setClaudeStatus:(b,c,d)=>a(a=>{let e=a.tabs[b];if(!e||e.claudeStatusCheckedAt>d||e.claudeStatus===c||"running"===e.claudeStatus&&"starting"===c)return a;let f={claudeStatus:c,claudeStatusCheckedAt:d};return("running"===e.claudeStatus||"starting"===e.claudeStatus)&&"running"!==c&&"starting"!==c&&e.isResuming&&(f.isResuming=!1),{tabs:g(a.tabs,b,f)}}),setTimelineLoading:(b,c)=>a(a=>{let d=a.tabs[b];return d&&d.isTimelineLoading!==c?{tabs:g(a.tabs,b,{isTimelineLoading:c})}:a}),setRestarting:(b,c)=>a(a=>{let d=a.tabs[b];return d&&d.isRestarting!==c?{tabs:g(a.tabs,b,{isRestarting:c})}:a}),cancelTab:b=>a(a=>{let c=a.tabs[b];return c&&"cancelled"!==c.cliState?{tabs:g(a.tabs,b,{cliState:"cancelled",localUpdatedAt:Date.now()})}:a}),dismissTab:b=>a(a=>{let c=a.tabs[b];return c&&"ready-for-review"===c.cliState?{tabs:g(a.tabs,b,{cliState:"idle",dismissedAt:Date.now()})}:a}),setResuming:(b,c)=>a(a=>{let d=a.tabs[b];return d&&d.isResuming!==c?{tabs:g(a.tabs,b,{isResuming:c})}:a}),setWorkspaceId:(b,c)=>a(a=>{let d=a.tabs[b];return d&&d.workspaceId!==c?{tabs:g(a.tabs,b,{workspaceId:c})}:a}),setPanelType:(b,c)=>a(a=>{let d=a.tabs[b];return d&&d.panelType!==c?{tabs:g(a.tabs,b,{panelType:c})}:a}),setCurrentProcess:(b,c)=>a(a=>{let d=a.tabs[b];if(!d)return a;let e=c??void 0;return d.currentProcess===e?a:{tabs:g(a.tabs,b,{currentProcess:e,localUpdatedAt:Date.now()})}}),setTabOrder:(b,c)=>a(a=>{let d=a.tabOrders[b];return d&&d.length===c.length&&d.every((a,b)=>a===c[b])?a:{tabOrders:{...a.tabOrders,[b]:c}}}),setStatusWsConnected:b=>a({statusWsConnected:b}),syncAllFromServer:b=>a(a=>{let c=Date.now(),d={};for(let[e,g]of Object.entries(b)){let b=a.tabs[e];if(b?.cliState==="cancelled"){d[e]=b;continue}b?.localUpdatedAt&&c-b.localUpdatedAt<3e4?d[e]={...b,cliState:g.cliState,workspaceId:g.workspaceId,tabName:g.tabName,terminalStatus:g.terminalStatus,listeningPorts:g.listeningPorts,claudeSummary:g.claudeSummary,lastUserMessage:g.lastUserMessage,lastAssistantMessage:g.lastAssistantMessage,currentAction:g.currentAction,readyForReviewAt:g.readyForReviewAt,busySince:g.busySince,dismissedAt:g.dismissedAt,claudeSessionId:g.claudeSessionId,compactingSince:g.compactingSince,lastEvent:g.lastEvent,eventSeq:g.eventSeq}:b?d[e]={...b,cliState:g.cliState,workspaceId:g.workspaceId,tabName:g.tabName,panelType:g.panelType??b.panelType,terminalStatus:g.terminalStatus,listeningPorts:g.listeningPorts,currentProcess:g.currentProcess,claudeSummary:g.claudeSummary,lastUserMessage:g.lastUserMessage,lastAssistantMessage:g.lastAssistantMessage,currentAction:g.currentAction,readyForReviewAt:g.readyForReviewAt,busySince:g.busySince,dismissedAt:g.dismissedAt,claudeSessionId:g.claudeSessionId,compactingSince:g.compactingSince,lastEvent:g.lastEvent,eventSeq:g.eventSeq}:d[e]={...f,cliState:g.cliState,workspaceId:g.workspaceId,tabName:g.tabName,panelType:g.panelType,terminalStatus:g.terminalStatus,listeningPorts:g.listeningPorts,currentProcess:g.currentProcess,claudeSummary:g.claudeSummary,lastUserMessage:g.lastUserMessage,lastAssistantMessage:g.lastAssistantMessage,currentAction:g.currentAction,readyForReviewAt:g.readyForReviewAt,busySince:g.busySince,dismissedAt:g.dismissedAt,claudeSessionId:g.claudeSessionId,compactingSince:g.compactingSince,lastEvent:g.lastEvent,eventSeq:g.eventSeq}}for(let[b,c]of Object.entries(a.tabs))d[b]||(d[b]=c);return{tabs:d}}),updateFromServer:(b,c)=>a(a=>{if(null===c.cliState){let{[b]:c,...d}=a.tabs;return{tabs:d}}let d=a.tabs[b];if(d){if("cancelled"===d.cliState)return a;let e=void 0!==c.eventSeq&&(void 0===d.eventSeq||c.eventSeq>=d.eventSeq)?{lastEvent:c.lastEvent,eventSeq:c.eventSeq}:{};return{tabs:g(a.tabs,b,{cliState:c.cliState,workspaceId:c.workspaceId,tabName:c.tabName,panelType:c.panelType??d.panelType,terminalStatus:c.terminalStatus,listeningPorts:c.listeningPorts,currentProcess:c.currentProcess,claudeSummary:c.claudeSummary,lastUserMessage:c.lastUserMessage,lastAssistantMessage:c.lastAssistantMessage,currentAction:c.currentAction,readyForReviewAt:c.readyForReviewAt,busySince:c.busySince,dismissedAt:c.dismissedAt,claudeSessionId:c.claudeSessionId,compactingSince:c.compactingSince,...e})}}return{tabs:{...a.tabs,[b]:{...f,cliState:c.cliState,workspaceId:c.workspaceId,tabName:c.tabName,panelType:c.panelType,terminalStatus:c.terminalStatus,listeningPorts:c.listeningPorts,currentProcess:c.currentProcess,claudeSummary:c.claudeSummary,lastUserMessage:c.lastUserMessage,lastAssistantMessage:c.lastAssistantMessage,readyForReviewAt:c.readyForReviewAt,busySince:c.busySince,dismissedAt:c.dismissedAt,claudeSessionId:c.claudeSessionId,compactingSince:c.compactingSince,lastEvent:c.lastEvent,eventSeq:c.eventSeq}}}}),applyHookEvent:(b,c)=>a(a=>{let d=a.tabs[b];return!d||void 0!==d.eventSeq&&c.seq<=d.eventSeq?a:{tabs:g(a.tabs,b,{lastEvent:c,eventSeq:c.seq})}})}));a.s(["default",0,h,"isCliIdle",0,a=>"idle"===a||"ready-for-review"===a,"selectGlobalStatus",0,a=>{let b=0,c=0;for(let d of Object.values(a))"busy"===d.cliState?b++:("ready-for-review"===d.cliState||"needs-input"===d.cliState)&&c++;return{busyCount:b,attentionCount:c}},"selectSessionView",0,(a,b)=>{let c=a[b];return c?c.isRestarting?"restarting":"not-installed"===c.claudeStatus?"not-installed":"unknown"===c.claudeStatus||"starting"===c.claudeStatus?"loading":"running"===c.claudeStatus?c.isTimelineLoading?"loading":"timeline":c.isResuming||c.isTimelineLoading?"loading":"inactive":"loading"},"selectTabDisplayStatus",0,(a,b)=>{let c=a[b];return c&&"inactive"!==c.cliState?"busy"===c.cliState?"busy":"ready-for-review"===c.cliState?"ready-for-review":"needs-input"===c.cliState?"needs-input":"unknown"===c.cliState?"unknown":"idle":"idle"},"selectWorkspacePortsLabel",0,(a,b)=>{let c=new Set;for(let d of Object.values(a))if(d.workspaceId===b&&d.listeningPorts)for(let a of d.listeningPorts)c.add(a);return 0===c.size?"":":"+[...c].sort((a,b)=>a-b).join(", :")}]),c()}catch(a){c(a)}},!1),777402,a=>a.a(async(b,c)=>{try{let b=await a.y("zustand-a9fdd9ffafd252b3/react/shallow");a.n(b),c()}catch(a){c(a)}},!0),959709,a=>a.a(async(b,c)=>{try{var d=a.i(127669),e=a.i(169320),f=a.i(892209),g=a.i(760644),h=b([e,f,g]);[e,f,g]=h.then?(await h)():h;let i=new Set(["/new","/clear"]),j=a=>`pt-input-draft:${a}`,k=a=>{try{localStorage.removeItem(j(a))}catch{}};a.s(["clearInputDraft",0,k,"default",0,(a,b,c,h)=>{let l=h?.tabId,[m,n]=(0,d.useState)(()=>l?(a=>{try{return localStorage.getItem(j(a))??""}catch{return""}})(l):""),o=(0,d.useRef)(null),p=(0,d.useMemo)(()=>(0,g.isCliIdle)(a)||"unknown"===a?"input":"busy"===a||"needs-input"===a?"interrupt":"disabled",[a]),q=h?.onRestartSession,r=h?.onMessageSent,s=(0,d.useRef)(null);(0,d.useEffect)(()=>{if(l)return s.current&&clearTimeout(s.current),s.current=setTimeout(()=>((a,b)=>{try{b?localStorage.setItem(j(a),b):localStorage.removeItem(j(a))}catch{}})(l,m),300),()=>{s.current&&clearTimeout(s.current)}},[l,m]);let t=(0,d.useCallback)(()=>{if("disabled"===p)return void e.toast.error("Claude Code가 실행 중이 아닙니다");if(!c)return void e.toast.error((0,f.t)("connection","terminalDisconnected"));if(""!==m.trim()){if(i.has(m.trim().toLowerCase())){q?.(),n(""),l&&k(l);return}m.includes("\n")?(b(`\x1b[200~${m}\x1b[201~\r`),setTimeout(()=>b("\r"),500)):b(m+"\r"),m.trim().startsWith("/")||r?.(m.trim()),n(""),l&&k(l)}},[p,m,b,c,q,r,l]),u=(0,d.useCallback)(()=>{c?b("\x1b\x1b"):e.toast.error((0,f.t)("connection","terminalDisconnected"))},[b,c]),v=(0,d.useCallback)(()=>{let a=o.current;if(!a)return;a.focus();let b=a.value.length;a.setSelectionRange(b,b)},[]),[w,x]=(0,d.useState)(p);w!==p&&(x(p),"disabled"===p&&n(""));let y="disabled"!==p&&c;return{value:m,setValue:n,mode:p,canSend:y,send:t,interrupt:u,textareaRef:o,focusInput:v}}]),c()}catch(a){c(a)}},!1),912251,a=>a.a(async(b,c)=>{try{var d=a.i(715346),e=a.i(169320),f=a.i(892209),g=b([d,e,f]);[d,e,f]=g.then?(await g)():g;let h=[],i=!0,j=a=>{},k=a=>{fetch("/api/workspace/active",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({activeWorkspaceId:a})}).catch(()=>{})},l=(a,b)=>b&&a.some(a=>a.id===b)?b:a[0]?.id??null,m=a=>{fetch("/api/workspace/active",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}).catch(a=>{console.log(`[workspace-store] active update failed: ${a instanceof Error?a.message:a}`)})},n=(0,d.create)((a,b)=>({workspaces:h,activeWorkspaceId:h.length>0?l(h):null,sidebarCollapsed:!1,sidebarWidth:240,sidebarTab:"workspace",isLoading:i,error:null,hydrate:b=>{let c=l(b.workspaces,b.activeWorkspaceId);j(c),c&&k(c),a({workspaces:b.workspaces,activeWorkspaceId:c,sidebarCollapsed:b.sidebarCollapsed,sidebarWidth:b.sidebarWidth,isLoading:!1,error:null})},fetchWorkspaces:async()=>{a({isLoading:!0,error:null});try{let b=await fetch("/api/workspace");if(!b.ok)throw Error();let c=await b.json(),d=l(c.workspaces,c.activeWorkspaceId);j(d),a({workspaces:c.workspaces,activeWorkspaceId:d,sidebarCollapsed:c.sidebarCollapsed??!1,sidebarWidth:c.sidebarWidth??240,isLoading:!1})}catch{a({error:(0,f.t)("workspace","fetchError"),isLoading:!1})}},syncWorkspaces:async()=>{try{let c=await fetch("/api/workspace");if(!c.ok)return;let d=await c.json(),e=b().workspaces;if(JSON.stringify(e)===JSON.stringify(d.workspaces))return;a({workspaces:d.workspaces})}catch(a){console.log(`[workspace-store] sync error: ${a instanceof Error?a.message:a}`)}},createWorkspace:async(b,c,d)=>{try{let e=await fetch("/api/workspace",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:b,name:c,resumeSessionId:d})});if(!e.ok){let a=await e.json();throw Error(a.error||(0,f.t)("workspace","createFailed"))}let g=await e.json();return a(a=>({workspaces:[...a.workspaces,g]})),g}catch(b){let a=b instanceof Error?b.message:(0,f.t)("workspace","createFailed");return e.toast.error(a),null}},deleteWorkspace:async a=>{try{let b=await fetch(`/api/workspace/${a}`,{method:"DELETE"});if(!b.ok&&204!==b.status&&404!==b.status)throw Error();return!0}catch{return e.toast.error((0,f.t)("workspace","deleteFailed")),!1}},removeWorkspace:b=>{a(a=>{let c=a.workspaces.filter(a=>a.id!==b),d=a.activeWorkspaceId===b,e=d?c[0]?.id??null:a.activeWorkspaceId;return d&&(j(e),e&&k(e)),{workspaces:c,activeWorkspaceId:e}})},switchWorkspace:b=>{a({activeWorkspaceId:b}),j(b),k(b)},renameWorkspace:async(c,d)=>{let g=b().workspaces.find(a=>a.id===c),h=g?.name??"";a(a=>({workspaces:a.workspaces.map(a=>a.id===c?{...a,name:d}:a)}));try{if(!(await fetch(`/api/workspace/${c}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:d})})).ok)throw Error();return!0}catch{return a(a=>({workspaces:a.workspaces.map(a=>a.id===c?{...a,name:h}:a)})),e.toast.error((0,f.t)("workspace","renameFailed")),!1}},reorderWorkspaces:(c,d)=>{let g=[...b().workspaces],[h]=g.splice(c,1);g.splice(d,0,h),a({workspaces:g}),fetch("/api/workspace/reorder",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspaceIds:g.map(a=>a.id)})}).catch(()=>{e.toast.error((0,f.t)("workspace","reorderFailed")),b().fetchWorkspaces()})},updateDirectories:(b,c)=>{a(a=>({workspaces:a.workspaces.map(a=>a.id===b?{...a,directories:c}:a)}))},toggleSidebar:()=>{a(a=>{let b=!a.sidebarCollapsed;return m({sidebarCollapsed:b}),{sidebarCollapsed:b}})},setSidebarWidth:b=>{a({sidebarWidth:b})},saveSidebarWidth:a=>{m({sidebarWidth:a})},setSidebarTab:b=>{a({sidebarTab:b});try{localStorage.setItem("sidebar-tab",b)}catch{}},validateDirectory:async a=>{try{let b=await fetch(`/api/workspace/validate?directory=${encodeURIComponent(a)}`);if(!b.ok)throw Error();return await b.json()}catch{return{valid:!1,error:(0,f.t)("workspace","validateFailed")}}}}));a.s(["default",0,n]),c()}catch(a){c(a)}},!1),626605,a=>a.a(async(b,c)=>{try{a.s(["default",()=>F,"navigateToTab",()=>D,"navigateToTabOrCreate",()=>E,"useLayoutStore",()=>C]);var d=a.i(127669),e=a.i(41910),f=a.i(715346),g=a.i(777402),h=a.i(169320),i=a.i(892209),j=a.i(959709),k=a.i(760644),l=a.i(912251),m=a.i(199462),n=a.i(144784),o=b([f,g,h,i,j,k,l,m]);[f,g,h,i,j,k,l,m]=o.then?(await o)():o;let p="pt-active-pane-",q="pt-active-tab-",r=a=>{try{return sessionStorage.getItem(`${q}${a}`)}catch{return null}},s=null,t=null,u=null,v=!1,w=(a,b)=>{if(!b)return a;let c=a.includes("?")?"&":"?";return`${a}${c}workspace=${b}`},x=(a,b)=>{let c=a?(0,n.collectPanes)(a.root).length:0;return{paneCount:c,canSplit:c<10&&!b}},y=(a,b,c)=>{a({layout:c,...x(c,b().isSplitting)})},z=(a,b,c)=>{let d=b().layout;if(d){let a=(0,n.collectPanes)(c.root);for(let b of(d.activePaneId&&a.some(a=>a.id===d.activePaneId)&&(c.activePaneId=d.activePaneId),a)){let a=(0,n.findPane)(d.root,b.id);a?.activeTabId&&b.tabs.some(b=>b.id===a.activeTabId)&&(b.activeTabId=a.activeTabId)}}a({layout:c,...x(c,b().isSplitting)})},A=(a,b,c,d)=>{let{layout:e}=b();if(!e)return;let f=(0,n.updatePaneInTree)(e.root,c,d);f!==e.root&&y(a,b,{...e,root:f})},B=async(a,b)=>{try{let c=await fetch(a,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!c.ok)return null;return await c.json()}catch{return null}},C=(0,f.create)((a,b)=>({layout:null,isLoading:!0,error:null,isSplitting:!1,workspaceId:null,retryCount:0,paneCount:0,canSplit:!1,pendingFocusTabId:null,setWorkspaceId:b=>{v=!1,a({workspaceId:b})},setLayout:c=>{y(a,b,c)},fetchLayout:async(c,d)=>{if(v)return;let e=c??b().workspaceId;if(!e)return;s?.abort();let f=new AbortController;s=f,b().layout||a({isLoading:!0,error:null});try{let c=await fetch(w("/api/layout",e),{signal:f.signal});if(!c.ok)throw Error();let g=await c.json();if(f.signal.aborted)return;let h=b().layout;if(!1!==d){let a=(0,n.collectPanes)(g.root);if(h)for(let b of(h.activePaneId&&a.some(a=>a.id===h.activePaneId)&&(g.activePaneId=h.activePaneId),a)){let a=(0,n.findPane)(h.root,b.id);a?.activeTabId&&b.tabs.some(b=>b.id===a.activeTabId)&&(b.activeTabId=a.activeTabId)}else{let b=(a=>{try{return sessionStorage.getItem(`${p}${a}`)}catch{return null}})(e);for(let c of(b&&a.some(a=>a.id===b)&&(g.activePaneId=b),a)){let a=r(c.id);a&&c.tabs.some(b=>b.id===a)&&(c.activeTabId=a)}}}if(h){let c={root:h.root,activePaneId:h.activePaneId},d={root:g.root,activePaneId:g.activePaneId};if(JSON.stringify(c)===JSON.stringify(d)){let c=b().pendingFocusTabId;c&&(a({pendingFocusTabId:null}),b().focusTab(c));return}}let i=b().pendingFocusTabId,j=null;if(i){for(let b of(a({pendingFocusTabId:null}),(0,n.collectPanes)(g.root)))if(b.tabs.some(a=>a.id===i)){g.activePaneId=b.id,b.activeTabId=i,j=b.id;break}}a({layout:g,retryCount:0,...x(g,b().isSplitting)}),j&&(B(w("/api/layout",e),{activePaneId:j}),B(w(`/api/layout/pane/${j}`,e),{activeTabId:i}))}catch(d){if(d instanceof DOMException&&"AbortError"===d.name)return;let c=b().retryCount+1;if(a({retryCount:c}),c>=3)try{let c=await fetch(w("/api/layout/pane",e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(c.ok){let{paneId:d,tab:e}=await c.json(),f={root:{type:"pane",id:d,tabs:[e],activeTabId:e.id},activePaneId:d,updatedAt:new Date().toISOString()};a({layout:f,...x(f,b().isSplitting)}),h.toast.info((0,i.t)("terminal","fallbackLayout")),a({retryCount:0});return}}catch{}a({error:(0,i.t)("terminal","layoutFetchError")}),t?.()}finally{f.signal.aborted||a({isLoading:!1})}},splitPane:async(c,d)=>{let{layout:e,isSplitting:f,workspaceId:g}=b();if(e&&!f&&!((0,n.collectPanes)(e.root).length>=10)){a({isSplitting:!0,canSplit:!1});try{let f,h,i=(0,n.findPane)(e.root,c),j=i?.tabs.find(a=>a.id===i.activeTabId);if(j){h=j.panelType;try{let a=await fetch(w(`/api/layout/cwd?session=${j.sessionName}`,g));a.ok&&(f=(await a.json()).cwd)}catch{}}let k=await fetch(w("/api/layout/pane",g),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourcePaneId:c,orientation:d,cwd:f,panelType:h})});if(!k.ok)throw Error();let l=await k.json();y(a,b,l)}catch{h.toast.error((0,i.t)("terminal","splitFailed"))}finally{a(a=>({isSplitting:!1,canSplit:a.paneCount<10}))}}},closePane:async c=>{let{layout:d,workspaceId:e}=b();if(d&&!((0,n.collectPanes)(d.root).length<=1))try{let d=await fetch(w(`/api/layout/pane/${c}`,e),{method:"DELETE"});if(!d.ok)throw Error();let f=await d.json();y(a,b,f)}catch{h.toast.error("Pane을 닫을 수 없습니다")}},focusPane:c=>{let{layout:d,workspaceId:e}=b();d&&d.activePaneId!==c&&(a({layout:{...d,activePaneId:c}}),B(w("/api/layout",e),{activePaneId:c}).then(c=>{c&&z(a,b,c)}))},updateRatio:(c,d)=>{let{layout:e,workspaceId:f}=b();if(!e)return;let g={...e,root:(0,n.updateRatioAtPath)(e.root,c,d)};a({layout:g}),u&&clearTimeout(u),u=setTimeout(()=>{u=null,B(w("/api/layout",f),{ratioUpdate:{path:c,ratio:d}}).then(c=>{c&&z(a,b,c)})},300)},moveTab:(c,d,e,f)=>{if(d===e)return;let{layout:g,workspaceId:h}=b();if(!g)return;let i=JSON.parse(JSON.stringify(g)),j=(0,n.findPane)(i.root,d),k=(0,n.findPane)(i.root,e);if(j&&k){let g=j.tabs.findIndex(a=>a.id===c);if(-1!==g){let[h]=j.tabs.splice(g,1);j.activeTabId===c&&(j.activeTabId=j.tabs[0]?.id??null),j.tabs.forEach((a,b)=>{a.order=b}),k.tabs.splice(f,0,h),k.tabs.forEach((a,b)=>{a.order=b}),k.activeTabId=c,0===j.tabs.length&&(0,n.collectPanes)(i.root).length>1&&(0,n.removePaneWithFocus)(i,d),i.activePaneId=e,y(a,b,i)}}fetch(w(`/api/layout/pane/${d}/tabs/${c}/move`,h),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({toPaneId:e,toIndex:f})}).then(async c=>{if(c.ok){let d=await c.json();z(a,b,d)}else await b().fetchLayout(void 0,!1)}).catch(()=>b().fetchLayout(void 0,!1))},createTabInPane:async(c,d,e)=>{let{layout:f,workspaceId:g}=b();try{let h,i=d,j=f?(0,n.findPane)(f.root,c):void 0,l=j?.tabs.find(a=>a.id===j.activeTabId);!i&&l&&(i=l.panelType),"web-browser"!==i&&l&&(h=m.default.getState().metadata[l.id]?.cwd);let o=await fetch(w(`/api/layout/pane/${c}/tabs`,g),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:h,panelType:i,command:e})});if(!o.ok)throw Error();let p=await o.json();return e&&k.default.getState().initTab(p.id,{panelType:i,isRestarting:!0}),A(a,b,c,a=>({...a,tabs:[...a.tabs,p],activeTabId:p.id})),b().fetchLayout(),p}catch{return h.toast.error((0,i.t)("terminal","tabCreateFailed")),null}},deleteTabInPane:async(c,d)=>{(0,j.clearInputDraft)(d),k.default.getState().cancelTab(d),A(a,b,c,a=>{let b=[...a.tabs].sort((a,b)=>a.order-b.order),c=b.findIndex(a=>a.id===d),e=b.filter(a=>a.id!==d);e.forEach((a,b)=>{a.order=b});let f=a.activeTabId;if(a.activeTabId===d){let a=b[c+1]||b[c-1];f=a?.id??null}return{...a,tabs:e,activeTabId:f}});let{workspaceId:e}=b();try{let a=await fetch(w(`/api/layout/pane/${c}/tabs/${d}`,e),{method:"DELETE"});a.ok||404===a.status||(h.toast.error((0,i.t)("terminal","tabDeleteError")),await b().fetchLayout())}catch{h.toast.error((0,i.t)("terminal","tabDeleteError")),await b().fetchLayout()}},restartTabInPane:async(a,c,d)=>{let{workspaceId:e}=b();try{return(await fetch(w(`/api/layout/pane/${a}/tabs/${c}`,e),{method:"POST",headers:d?{"Content-Type":"application/json"}:void 0,body:d?JSON.stringify({command:d}):void 0})).ok}catch{return h.toast.error((0,i.t)("terminal","sessionRestartFailed")),!1}},switchTabInPane:(c,d)=>{A(a,b,c,a=>({...a,activeTabId:d}));let{workspaceId:e}=b();B(w(`/api/layout/pane/${c}`,e),{activeTabId:d}).then(c=>{c&&z(a,b,c)})},renameTabInPane:async(c,d,e)=>{A(a,b,c,a=>({...a,tabs:a.tabs.map(a=>a.id===d?{...a,name:e}:a)}));let{workspaceId:f}=b(),g=await B(w(`/api/layout/pane/${c}/tabs/${d}`,f),{name:e});g?z(a,b,g):h.toast.error((0,i.t)("terminal","tabRenameFailed"))},reorderTabsInPane:(c,d)=>{A(a,b,c,a=>{let b=new Map(a.tabs.map(a=>[a.id,a])),c=d.map((a,c)=>{let d=b.get(a);return d?{...d,order:c}:null}).filter(a=>null!==a);return{...a,tabs:c}});let{workspaceId:e}=b();B(w(`/api/layout/pane/${c}/tabs/order`,e),{tabIds:d}).then(c=>{c&&z(a,b,c)})},removeTabLocally:(a,c)=>{(0,j.clearInputDraft)(c);let{workspaceId:d}=b();fetch(w(`/api/layout/pane/${a}/tabs/${c}`,d),{method:"DELETE"}).then(()=>b().fetchLayout()).catch(()=>{console.log("[layout] removeTabLocally failed")})},equalizeRatios:()=>{let{workspaceId:c}=b();B(w("/api/layout",c),{equalize:!0}).then(c=>{c&&z(a,b,c)})},updateTabPanelType:(c,d,e)=>{A(a,b,c,a=>({...a,tabs:a.tabs.map(a=>{if(a.id!==d)return a;let b={...a,panelType:e};return"terminal"===e&&(b.claudeSessionId=null),b})})),k.default.getState().setPanelType(d,e);let{workspaceId:f}=b();B(w(`/api/layout/pane/${c}/tabs/${d}`,f),{panelType:e}).then(c=>{c&&z(a,b,c)})},clearLayout:()=>{v=!0,s?.abort(),a({layout:null,paneCount:0,canSplit:!1})},focusTab:a=>{let{layout:c}=b();if(!c)return!1;for(let d of(0,n.collectPanes)(c.root))if(d.tabs.some(b=>b.id===a))return b().focusPane(d.id),b().switchTabInPane(d.id,a),!0;return!1},focusPrevTab:()=>{let{layout:a}=b();if(!a)return;let c=(0,n.collectPanes)(a.root),d=c.find(b=>b.id===a.activePaneId);if(!d)return;let e=[...d.tabs].sort((a,b)=>a.order-b.order),f=e.findIndex(a=>a.id===d.activeTabId);if(f>0)b().switchTabInPane(d.id,e[f-1].id);else{let a=c.indexOf(d);if(a>0){let d=c[a-1],e=[...d.tabs].sort((a,b)=>a.order-b.order);b().focusPane(d.id),b().switchTabInPane(d.id,e[e.length-1].id)}}},focusNextTab:()=>{let{layout:a}=b();if(!a)return;let c=(0,n.collectPanes)(a.root),d=c.find(b=>b.id===a.activePaneId);if(!d)return;let e=[...d.tabs].sort((a,b)=>a.order-b.order),f=e.findIndex(a=>a.id===d.activeTabId);if(f<e.length-1)b().switchTabInPane(d.id,e[f+1].id);else{let a=c.indexOf(d);if(a<c.length-1){let d=c[a+1],e=[...d.tabs].sort((a,b)=>a.order-b.order);b().focusPane(d.id),b().switchTabInPane(d.id,e[0].id)}}},focusTabByIndex:a=>{let{layout:c}=b();if(!c?.activePaneId)return;let d=(0,n.collectPanes)(c.root).find(a=>a.id===c.activePaneId);if(!d)return;let e=[...d.tabs].sort((a,b)=>a.order-b.order),f=a>=e.length?e[e.length-1]:e[a];f&&f.id!==d.activeTabId&&b().switchTabInPane(d.id,f.id)}}));C.subscribe((a,b)=>{if(a.layout&&a.workspaceId&&a.layout!==b.layout){var c=a.workspaceId,d=a.layout;try{for(let a of(d.activePaneId&&sessionStorage.setItem(`${p}${c}`,d.activePaneId),(0,n.collectPanes)(d.root)))a.activeTabId&&sessionStorage.setItem(`${q}${a.id}`,a.activeTabId)}catch{}}});let D=(a,b)=>{let c=C.getState();if("/"!==e.default.pathname){C.setState({pendingFocusTabId:b}),l.default.getState().switchWorkspace(a),e.default.push("/");return}a===c.workspaceId?c.focusTab(b):(c.clearLayout(),C.setState({pendingFocusTabId:b}),l.default.getState().switchWorkspace(a))},E=async(a,b,c,d,e)=>{let f=l.default.getState(),g=a,h=f.workspaces.find(b=>b.id===a);if(!h){if(!e)return;let a=await f.createWorkspace(e,d,c??void 0);if(!a)return;g=a.id;let b=await fetch(w("/api/layout",g));if(!b.ok)return;let h=await b.json(),i=(0,n.collectAllTabs)(h.root)[0];if(!i)return;c&&k.default.getState().initTab(i.id,{panelType:"claude-code",isResuming:!0}),D(g,i.id);return}let i=await fetch(w("/api/layout",g));if(!i.ok)return;let j=await i.json();if((0,n.collectAllTabs)(j.root).some(a=>a.id===b))return void D(g,b);let m=j.activePaneId??(0,n.getFirstPaneId)(j.root),o=h.directories[0],p={panelType:"claude-code",cwd:o};c&&(p.resumeSessionId=c);let q=await fetch(w(`/api/layout/pane/${m}/tabs`,g),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(p)});if(!q.ok)return;let r=await q.json();c&&k.default.getState().initTab(r.id,{panelType:"claude-code",isResuming:!0}),g===C.getState().workspaceId?(C.setState({pendingFocusTabId:r.id}),C.getState().fetchLayout()):D(g,r.id)},F=({workspaceId:a,onFetchError:b})=>((0,d.useEffect)(()=>{t=b??null},[b]),(0,d.useEffect)(()=>{if(a){let b=C.getState();b.setWorkspaceId(a),b.fetchLayout(a)}},[a]),(0,d.useEffect)(()=>C.subscribe(a=>{let b=a.workspaceId;if(!b||!a.layout?.root)return;let c=(0,n.collectPanes)(a.layout.root).flatMap(a=>a.tabs.map(a=>a.id));k.default.getState().setTabOrder(b,c)}),[]),C((0,g.useShallow)(a=>({layout:a.layout,isLoading:a.isLoading,error:a.error,isSplitting:a.isSplitting,paneCount:a.paneCount,canSplit:a.canSplit,splitPane:a.splitPane,closePane:a.closePane,focusPane:a.focusPane,updateRatio:a.updateRatio,moveTab:a.moveTab,createTabInPane:a.createTabInPane,deleteTabInPane:a.deleteTabInPane,restartTabInPane:a.restartTabInPane,switchTabInPane:a.switchTabInPane,renameTabInPane:a.renameTabInPane,reorderTabsInPane:a.reorderTabsInPane,removeTabLocally:a.removeTabLocally,equalizeRatios:a.equalizeRatios,updateTabPanelType:a.updateTabPanelType,clearLayout:a.clearLayout,fetchLayout:a.fetchLayout,focusTab:a.focusTab,focusPrevTab:a.focusPrevTab,focusNextTab:a.focusNextTab,focusTabByIndex:a.focusTabByIndex}))));c()}catch(a){c(a)}},!1),199462,a=>a.a(async(b,c)=>{try{a.s(["default",()=>m]);var d=a.i(715346),e=a.i(626605),f=a.i(144784),g=a.i(912251),h=b([d,e,g]);[d,e,g]=h.then?(await h)():h;let i=null,j="",k=()=>{i&&clearTimeout(i),i=setTimeout(()=>{i=null;let{metadata:a}=l.getState(),b=e.useLayoutStore.getState().layout,c=e.useLayoutStore.getState().workspaceId;if(!b||!c)return;let d=`?workspace=${c}`;for(let c of(0,f.collectPanes)(b.root))for(let b of c.tabs){let e=a[b.id];if(!e)continue;let f={};void 0!==e.title&&e.title!==b.title&&(f.title=e.title),void 0!==e.cwd&&e.cwd!==b.cwd&&(f.cwd=e.cwd),void 0!==e.lastCommand&&(e.lastCommand??null)!==(b.lastCommand??null)&&(f.lastCommand=e.lastCommand??null),Object.keys(f).length>0&&fetch(`/api/layout/pane/${c.id}/tabs/${b.id}${d}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)}).catch(a=>{console.log(`[tab-metadata] sync failed: ${a instanceof Error?a.message:a}`)})}let h=[...new Set(Object.values(a).map(a=>a.cwd).filter(a=>!!a))],k=h.join("\0");if(k!==j){j=k;let{activeWorkspaceId:a,updateDirectories:b}=g.default.getState();a&&h.length>0&&b(a,h)}},100)},l=(0,d.create)(a=>({metadata:{},setTitle:(b,c)=>{a(a=>{let d=a.metadata[b];return d?.title===c?a:{metadata:{...a.metadata,[b]:{...d,title:c}}}}),k()},setCwd:(b,c)=>{a(a=>{let d=a.metadata[b];return d?.cwd===c?a:{metadata:{...a.metadata,[b]:{...d,cwd:c}}}}),k()},setLastCommand:(b,c)=>{a(a=>{let d=a.metadata[b];return d?.lastCommand===c?a:{metadata:{...a.metadata,[b]:{...d,lastCommand:c}}}}),k()},removeTab:b=>{a(a=>{let{[b]:c,...d}=a.metadata;return{metadata:d}}),k()},hydrate:b=>{a(a=>{let c={};for(let[d,e]of Object.entries(b)){let b=a.metadata[d];b?c[d]={...e,...b.title?{title:b.title}:{},...b.cwd?{cwd:b.cwd}:{}}:c[d]=e}return{metadata:c}}),j=""},retainOnly:b=>{a(a=>{let c={};for(let d of b)a.metadata[d]&&(c[d]=a.metadata[d]);return{metadata:c}})},reset:()=>{i&&clearTimeout(i),i=null,j="",a({metadata:{}})}})),m=l;c()}catch(a){c(a)}},!1),168711,a=>a.a(async(b,c)=>{try{var d=a.i(715346),e=b([d]);[d]=e.then?(await e)():e;let f=(0,d.create)(a=>({data:null,setData:b=>a({data:b})}));a.s(["default",0,f]),c()}catch(a){c(a)}},!1),175679,a=>a.a(async(b,c)=>{try{var d=a.i(715346),e=b([d]);[d]=e.then?(await e)():e;let f=(0,d.create)(a=>({entries:[],syncFromServer:b=>a({entries:b}),upsertEntry:b=>a(a=>{let c=a.entries.findIndex(a=>a.id===b.id);if(c>=0){let d=[...a.entries];return d[c]=b,{entries:d}}return{entries:[b,...a.entries]}})}));a.s(["default",0,f]),c()}catch(a){c(a)}},!1),206456,a=>{"use strict";let b=new Set(["zsh","bash","fish","sh","-zsh","-bash","-fish","-sh"]),c=a=>{if("~"===a||"/"===a)return a;let b=a.replace(/\/$/,"").split("/");return b[b.length-1]||a},d=a=>{let b=a.trim();if(!b)return null;let c=b.indexOf("|");return c>0?b.slice(0,c):null};a.s(["formatTabTitle",0,a=>{let e=a.trim();if(!e)return"";let f=d(a);if(null!==f){let a=e.slice(e.indexOf("|")+1);return b.has(f)?c(a):f}let g=e.match(/@[^:]+:\s*(.*)/);if(g)return c(g[1].trim());if(e.startsWith("/")||e.startsWith("~"))return c(e);let h=e.split(/\s+/)[0];return b.has(h)?"":h||""},"parseCurrentCommand",0,d])},266254,a=>a.a(async(b,c)=>{try{var d=a.i(127669),e=a.i(760644),f=a.i(199462),g=a.i(168711),h=a.i(175679),i=a.i(206456),j=b([e,f,g,h]);[e,f,g,h]=j.then?(await j)():j;let k=null;a.s(["ackNotificationInput",0,(a,b)=>{k?.readyState===WebSocket.OPEN&&k.send(JSON.stringify({type:"status:ack-notification",tabId:a,seq:b}))},"default",0,()=>{let a=(0,d.useRef)(0),b=(0,d.useRef)(null),c=(0,d.useRef)(!0);(0,d.useEffect)(()=>{c.current=!0;let d=()=>{if(!c.current)return;let j="https:"===location.protocol?"wss:":"ws:",l=new WebSocket(`${j}//${location.host}/api/status`);k=l,l.onopen=()=>{c.current&&(a.current=0,e.default.getState().setStatusWsConnected(!0))},l.onmessage=a=>{if(c.current)try{let b=JSON.parse(a.data);switch(b.type){case"status:sync":for(let[a,c]of(e.default.getState().syncAllFromServer(b.tabs),Object.entries(b.tabs)))c.paneTitle&&!f.default.getState().metadata[a]?.title&&f.default.getState().setTitle(a,(0,i.formatTabTitle)(c.paneTitle));break;case"status:update":e.default.getState().updateFromServer(b.tabId,{cliState:b.cliState,workspaceId:b.workspaceId,tabName:b.tabName,panelType:b.panelType,terminalStatus:b.terminalStatus,listeningPorts:b.listeningPorts,currentProcess:b.currentProcess,claudeSummary:b.claudeSummary,lastUserMessage:b.lastUserMessage,lastAssistantMessage:b.lastAssistantMessage,currentAction:b.currentAction,readyForReviewAt:b.readyForReviewAt,busySince:b.busySince,dismissedAt:b.dismissedAt,claudeSessionId:b.claudeSessionId,compactingSince:b.compactingSince,lastEvent:b.lastEvent,eventSeq:b.eventSeq}),b.paneTitle&&f.default.getState().setTitle(b.tabId,(0,i.formatTabTitle)(b.paneTitle));break;case"status:hook-event":e.default.getState().applyHookEvent(b.tabId,b.event);break;case"rate-limits:update":g.default.getState().setData(b.data);break;case"session-history:sync":h.default.getState().syncFromServer(b.entries);break;case"session-history:update":h.default.getState().upsertEntry(b.entry)}}catch{}},l.onclose=()=>{if(!c.current)return;e.default.getState().setStatusWsConnected(!1),k=null;let f=Math.min(1e3*Math.pow(2,a.current),3e4);a.current++,b.current=setTimeout(d,f)},l.onerror=()=>{}};d();let j=()=>{if("visible"!==document.visibilityState)return;let c=k?.readyState;c!==WebSocket.OPEN&&c!==WebSocket.CONNECTING&&(b.current&&(clearTimeout(b.current),b.current=null),a.current=0,d())};return document.addEventListener("visibilitychange",j),()=>{c.current=!1,b.current&&(clearTimeout(b.current),b.current=null),k&&(k.close(),k=null),document.removeEventListener("visibilitychange",j)}},[])},"dismissTab",0,a=>{e.default.getState().dismissTab(a),k?.readyState===WebSocket.OPEN&&k.send(JSON.stringify({type:"status:tab-dismissed",tabId:a}))},"requestSync",0,()=>{k?.readyState===WebSocket.OPEN&&k.send(JSON.stringify({type:"status:request-sync"}))}]),c()}catch(a){c(a)}},!1),409679,a=>a.a(async(b,c)=>{try{var d=a.i(127669),e=a.i(678240),f=a.i(626605),g=a.i(721043),h=b([e,f]);[e,f]=h.then?(await h)():h;let i=async()=>{try{let a=await navigator.serviceWorker.ready,b=await a.pushManager.getSubscription();return b?.endpoint??null}catch{return null}},j=async a=>{let b=await i();fetch("/api/push/register-session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({endpoint:b,sessionId:a}),keepalive:!0}).catch(()=>{})};a.s(["default",0,()=>{(0,d.useRef)(!1),(0,d.useEffect)(()=>{g.default},[]),(0,d.useEffect)(()=>{},[])},"registerPushTarget",0,j]),c()}catch(a){c(a)}},!1)];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__00c.gos._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},99780,(a,b,c)=>{b.exports=a.x("dayjs-b172c54fd06eb767",()=>require("dayjs-b172c54fd06eb767"))},904,a=>a.a(async(b,c)=>{try{let b=await a.y("next-intl-0365529355e6a9be");a.n(b),c()}catch(a){c(a)}},!0),456195,(a,b,c)=>{b.exports=a.x("react-dom",()=>require("react-dom"))},721043,a=>{"use strict";a.s(["default",0,!1])},715346,a=>a.a(async(b,c)=>{try{let b=await a.y("zustand-a9fdd9ffafd252b3");a.n(b),c()}catch(a){c(a)}},!0),576712,a=>a.a(async(b,c)=>{try{let b=await a.y("next-themes-2c2df619535e61cc");a.n(b),c()}catch(a){c(a)}},!0),169320,a=>a.a(async(b,c)=>{try{let b=await a.y("sonner-9908e9c26092bf41");a.n(b),c()}catch(a){c(a)}},!0),83041,a=>{"use strict";let b=[{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"}}];a.s(["DEFAULT_THEME_IDS",0,{light:"catppuccin-latte",dark:"snazzy"},"TERMINAL_THEMES",0,b,"getTerminalTheme",0,a=>b.find(b=>b.id===a)??b[0]])},480824,a=>a.a(async(b,c)=>{try{var d=a.i(715346),e=a.i(576712),f=a.i(83041),g=b([d,e]);[d,e]=g.then?(await g)():g;let h=(0,d.create)(a=>({themeIds:{...f.DEFAULT_THEME_IDS},setTheme:(b,c)=>{a(a=>{let d={...a.themeIds,[b]:c};return fetch("/api/config",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({terminalTheme:d})}).catch(()=>{}),{themeIds:d}})},hydrate:b=>{a({themeIds:{...f.DEFAULT_THEME_IDS,...b}})}}));a.s(["default",0,()=>{let{resolvedTheme:a}=(0,e.useTheme)(),b="light"===a?"light":"dark",{themeIds:c,setTheme:d}=h(),g=(0,f.getTerminalTheme)(c[b]);return{mode:b,themeIds:c,theme:g,setTerminalTheme:d,themes:f.TERMINAL_THEMES}},"initTerminalTheme",0,a=>{a&&h.getState().hydrate(a)}]),c()}catch(a){c(a)}},!1),678240,a=>a.a(async(b,c)=>{try{var d=a.i(715346),e=b([d]);[d]=e.then?(await e)():e;let f=a=>{fetch("/api/config",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}).catch(a=>{console.log(`[config-store] update failed: ${a instanceof Error?a.message:a}`)})},g=(0,d.create)((a,b)=>({dangerouslySkipPermissions:!1,editorUrl:"",agentEnabled:!1,notificationsEnabled:!0,hasAuthPassword:!1,locale:"en",customCSS:"",fontSize:"normal",systemResourcesEnabled:!1,hydrate:b=>{a({dangerouslySkipPermissions:b.dangerouslySkipPermissions??!1,editorUrl:b.editorUrl??"",agentEnabled:b.agentEnabled??!1,notificationsEnabled:b.notificationsEnabled??!0,hasAuthPassword:b.hasAuthPassword??!1,locale:b.locale??"en",customCSS:b.customCSS??"",fontSize:b.fontSize??"normal",systemResourcesEnabled:b.systemResourcesEnabled??!1})},setDangerouslySkipPermissions:b=>{a({dangerouslySkipPermissions:b}),f({dangerouslySkipPermissions:b})},setEditorUrl:c=>{b().editorUrl!==c&&(a({editorUrl:c}),f({editorUrl:c}))},setAgentEnabled:b=>{a({agentEnabled:b}),f({agentEnabled:b})},setNotificationsEnabled:b=>{a({notificationsEnabled:b}),f({notificationsEnabled:b})},changePassword:b=>{a({hasAuthPassword:!0}),f({authPassword:b})},setLocale:b=>{a({locale:b}),f({locale:b})},setCustomCSS:b=>{a({customCSS:b}),f({customCSS:b})},setFontSize:b=>{a({fontSize:b}),f({fontSize:b})},setSystemResourcesEnabled:b=>{a({systemResourcesEnabled:b}),f({systemResourcesEnabled:b})}}));a.s(["default",0,g]),c()}catch(a){c(a)}},!1),892209,a=>a.a(async(b,c)=>{try{var d=a.i(678240),e=b([d]);[d]=e.then?(await e)():e;let f=null;a.s(["setMessages",0,a=>{f=a},"t",0,(a,b)=>{if(!f)return b;let c=d.default.getState().locale,e=f[c]?.[a]??f.en?.[a];return e?.[b]??b}]),c()}catch(a){c(a)}},!1)];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__01qvn.0._.js.map