purplemux 0.1.11 → 0.1.13

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 (158) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +41 -41
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/routes-manifest.json +20 -14
  6. package/.next/standalone/.next/server/chunks/[externals]__0l1mhe5._.js +3 -0
  7. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-f8oht._.js +1 -1
  8. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06an6au._.js +1 -1
  9. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09q4wzd._.js +1 -1
  10. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_q9h8s._.js +2 -2
  11. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0hls3o-._.js +20 -20
  12. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0h~zv9n._.js +1 -1
  13. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0j.vqs2._.js +20 -20
  14. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0p03t8-._.js +1 -1
  15. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rfe_~k._.js +1 -1
  16. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10o5i.7._.js +3 -0
  17. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12_nuye._.js +1 -1
  18. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_pages-api_0ulrm.8.js +1 -1
  19. package/.next/standalone/.next/server/chunks/src_lib_layout-store_ts_0fanx7c._.js +1 -1
  20. package/.next/standalone/.next/server/chunks/src_lib_status-manager_ts_003hlhy._.js +1 -1
  21. package/.next/standalone/.next/server/chunks/src_lib_workspace-store_ts_0vqt073._.js +1 -1
  22. package/.next/standalone/.next/server/chunks/ssr/_0-xx2s1._.js +1 -1
  23. package/.next/standalone/.next/server/chunks/ssr/_0.fa33p._.js +1 -1
  24. package/.next/standalone/.next/server/chunks/ssr/_0camkxl._.js +1 -1
  25. package/.next/standalone/.next/server/chunks/ssr/_0hu_yja._.js +1 -1
  26. package/.next/standalone/.next/server/chunks/ssr/_0i209pm._.js +1 -1
  27. package/.next/standalone/.next/server/chunks/ssr/_0jk9j0z._.js +1 -1
  28. package/.next/standalone/.next/server/chunks/ssr/_0sfa_96._.js +1 -1
  29. package/.next/standalone/.next/server/chunks/ssr/_12se87g._.js +1 -1
  30. package/.next/standalone/.next/server/chunks/ssr/src_components_0-1ot7e._.js +1 -1
  31. package/.next/standalone/.next/server/chunks/ssr/src_components_07a_zfh._.js +1 -1
  32. package/.next/standalone/.next/server/chunks/ssr/src_components_features_mobile_mobile-terminal-page_tsx_02chzch._.js +1 -1
  33. package/.next/standalone/.next/server/chunks/ssr/src_components_features_terminal_terminal-page_tsx_0o~2bsa._.js +1 -1
  34. package/.next/standalone/.next/server/chunks/ssr/src_components_layout_page-shell_tsx_00344x7._.js +1 -1
  35. package/.next/standalone/.next/server/chunks/ssr/src_lib_workspace-store_ts_00x-rec._.js +1 -1
  36. package/.next/standalone/.next/server/functions-config-manifest.json +2 -2
  37. package/.next/standalone/.next/server/middleware-build-manifest.js +41 -41
  38. package/.next/standalone/.next/server/middleware.js +1 -1
  39. package/.next/standalone/.next/server/pages/_app/build-manifest.json +3 -3
  40. package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
  41. package/.next/standalone/.next/server/pages/_document.js +2 -2
  42. package/.next/standalone/.next/server/pages/_error.js +2 -2
  43. package/.next/standalone/.next/server/pages/agents/[agentId]/chat/build-manifest.json +4 -4
  44. package/.next/standalone/.next/server/pages/agents/[agentId]/chat/client-build-manifest.json +1 -1
  45. package/.next/standalone/.next/server/pages/agents/[agentId]/chat.js +2 -2
  46. package/.next/standalone/.next/server/pages/agents/[agentId]/memory/build-manifest.json +4 -4
  47. package/.next/standalone/.next/server/pages/agents/[agentId]/memory/client-build-manifest.json +1 -1
  48. package/.next/standalone/.next/server/pages/agents/[agentId]/memory.js +2 -2
  49. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace/build-manifest.json +4 -4
  50. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace/client-build-manifest.json +1 -1
  51. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace.js +2 -2
  52. package/.next/standalone/.next/server/pages/agents/build-manifest.json +4 -4
  53. package/.next/standalone/.next/server/pages/agents/client-build-manifest.json +1 -1
  54. package/.next/standalone/.next/server/pages/agents.js +2 -2
  55. package/.next/standalone/.next/server/pages/api/health/pages-manifest.json +3 -0
  56. package/.next/standalone/.next/server/pages/api/health.js +5 -0
  57. package/.next/standalone/.next/server/pages/api/health.js.map +5 -0
  58. package/.next/standalone/.next/server/pages/api/health.js.nft.json +1 -0
  59. package/.next/standalone/.next/server/pages/api/layout/pane/[paneId]/tabs.js +1 -1
  60. package/.next/standalone/.next/server/pages/api/stats/daily-report/cache.js +1 -1
  61. package/.next/standalone/.next/server/pages/api/stats/daily-report/generate.js +1 -1
  62. package/.next/standalone/.next/server/pages/api/stats/sessions.js +2 -2
  63. package/.next/standalone/.next/server/pages/api/status/hook.js +2 -2
  64. package/.next/standalone/.next/server/pages/api/tmux/recover-unknown.js +2 -2
  65. package/.next/standalone/.next/server/pages/de/404.html +1 -1
  66. package/.next/standalone/.next/server/pages/de/500.html +1 -1
  67. package/.next/standalone/.next/server/pages/en/404.html +1 -1
  68. package/.next/standalone/.next/server/pages/en/500.html +1 -1
  69. package/.next/standalone/.next/server/pages/es/404.html +1 -1
  70. package/.next/standalone/.next/server/pages/es/500.html +1 -1
  71. package/.next/standalone/.next/server/pages/fr/404.html +1 -1
  72. package/.next/standalone/.next/server/pages/fr/500.html +1 -1
  73. package/.next/standalone/.next/server/pages/index/build-manifest.json +5 -5
  74. package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
  75. package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +2 -2
  76. package/.next/standalone/.next/server/pages/index.js +2 -2
  77. package/.next/standalone/.next/server/pages/ja/404.html +1 -1
  78. package/.next/standalone/.next/server/pages/ja/500.html +1 -1
  79. package/.next/standalone/.next/server/pages/ko/404.html +1 -1
  80. package/.next/standalone/.next/server/pages/ko/500.html +1 -1
  81. package/.next/standalone/.next/server/pages/login.js +2 -2
  82. package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
  83. package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
  84. package/.next/standalone/.next/server/pages/reports/build-manifest.json +5 -5
  85. package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
  86. package/.next/standalone/.next/server/pages/reports.js +2 -2
  87. package/.next/standalone/.next/server/pages/reset.js +2 -2
  88. package/.next/standalone/.next/server/pages/ru/404.html +1 -1
  89. package/.next/standalone/.next/server/pages/ru/500.html +1 -1
  90. package/.next/standalone/.next/server/pages/stats/build-manifest.json +5 -5
  91. package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
  92. package/.next/standalone/.next/server/pages/stats/react-loadable-manifest.json +7 -7
  93. package/.next/standalone/.next/server/pages/stats.js +2 -2
  94. package/.next/standalone/.next/server/pages/tools-required.js +2 -2
  95. package/.next/standalone/.next/server/pages/tr/404.html +1 -1
  96. package/.next/standalone/.next/server/pages/tr/500.html +1 -1
  97. package/.next/standalone/.next/server/pages/webview/build-manifest.json +4 -4
  98. package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
  99. package/.next/standalone/.next/server/pages/webview.js +2 -2
  100. package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
  101. package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
  102. package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
  103. package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
  104. package/.next/standalone/.next/server/pages-manifest.json +1 -0
  105. package/.next/standalone/.next/static/{FLpdzv7HGFcplNF3n13ll → cUc-iVh9yPvV5U6zlJnRI}/_buildManifest.js +9 -8
  106. package/.next/standalone/.next/static/{FLpdzv7HGFcplNF3n13ll → cUc-iVh9yPvV5U6zlJnRI}/_clientMiddlewareManifest.js +2 -2
  107. package/.next/standalone/.next/static/chunks/{08fymsiedx1sm.js → 0.emlk-pyrq15.js} +4 -4
  108. package/.next/standalone/.next/static/chunks/02lycfk~b_9ps.js +1 -0
  109. package/.next/standalone/.next/static/chunks/{0ebzi~xd5kbf6.js → 04~5g0kns0w-3.js} +3 -3
  110. package/.next/standalone/.next/static/chunks/{0ui6sb4ags9zi.js → 05~-~kex871hu.js} +4 -4
  111. package/.next/standalone/.next/static/chunks/{0rus7dt5e4fr9.js → 08gm7yw4lvhcp.js} +1 -1
  112. package/.next/standalone/.next/static/chunks/09.nvq4m4q6nw.js +1 -0
  113. package/.next/standalone/.next/static/chunks/{0~8tjp5by_1nk.js → 0bu_7.oshhrhc.js} +4 -4
  114. package/.next/standalone/.next/static/chunks/{0~4_p.wm8.z1b.js → 0c3fuwgxh-35e.js} +1 -1
  115. package/.next/standalone/.next/static/chunks/{0s7-~f7~nxsvv.js → 0cacobjih1-zm.js} +1 -1
  116. package/.next/standalone/.next/static/chunks/{0p5b1r4f3uizt.js → 0d7et_73ufx.t.js} +1 -1
  117. package/.next/standalone/.next/static/chunks/{16n7eazs45aj5.js → 0e7eht~s9maij.js} +5 -5
  118. package/.next/standalone/.next/static/chunks/0g65_p2-lr~2p.js +1 -0
  119. package/.next/standalone/.next/static/chunks/0g7dnwyslqeva.css +1 -0
  120. package/.next/standalone/.next/static/chunks/{0j9h57m8znfyx.js → 0n8c-7mx87.qs.js} +1 -1
  121. package/.next/standalone/.next/static/chunks/{00~kb8s75dl9f.js → 0pitqn2--9ly-.js} +4 -4
  122. package/.next/standalone/.next/static/chunks/0rr4-5v-_uawq.js +1 -0
  123. package/.next/standalone/.next/static/chunks/0rtjgrowjz8n3.js +1 -0
  124. package/.next/standalone/.next/static/chunks/{0-ltvzwc~iee..js → 0uv~o_jk4b1cj.js} +1 -1
  125. package/.next/standalone/.next/static/chunks/0wbv3pd2oyilv.js +1 -0
  126. package/.next/standalone/.next/static/chunks/{05bno_gdrkmsm.js → 0x-x4o1fkpw-g.js} +1 -1
  127. package/.next/standalone/.next/static/chunks/{0bra~n.j9rjcm.js → 119llmw30g8ci.js} +1 -1
  128. package/.next/standalone/.next/static/chunks/{07tmc1fd581-v.js → 11oe_y_tnk5rs.js} +1 -1
  129. package/.next/standalone/.next/static/chunks/{0rz0.a5oz6id6.js → 12p51x0jwo~g0.js} +5 -5
  130. package/.next/standalone/.next/static/chunks/{0kzdu-5p1onjr.js → 12~ueg_4wkgfs.js} +1 -1
  131. package/.next/standalone/.next/static/chunks/{0k1qh9lni8j5..js → 13zscswif89xn.js} +4 -4
  132. package/.next/standalone/.next/static/chunks/17rm0jup5m3lg.js +1 -0
  133. package/.next/standalone/.next/static/chunks/{0nyl4xjk1pgrx.js → 18eatd5x-6wn7.js} +5 -5
  134. package/.next/standalone/.next/static/chunks/{turbopack-02e4xh.7mqqic.js → turbopack-0g9hcqkf8--nt.js} +1 -1
  135. package/.next/standalone/.next/static/chunks/{turbopack-0uc26w1zvgd-e.js → turbopack-0kc~8bc2j~nm5.js} +1 -1
  136. package/.next/standalone/.next/static/chunks/{turbopack-00pcz7jnwmzq9.js → turbopack-0kxgmh4de86.c.js} +1 -1
  137. package/.next/standalone/.next/static/chunks/turbopack-0pbs5o5-yw7zn.js +1 -0
  138. package/.next/standalone/.next/static/chunks/{turbopack-0.efilbq57kj~.js → turbopack-0qzp5t.v8o4yd.js} +1 -1
  139. package/.next/standalone/.next/static/chunks/{turbopack-137b-w0hdnabu.js → turbopack-0v2s_rrv-4zo_.js} +1 -1
  140. package/.next/standalone/.next/static/chunks/{turbopack-084hs3838to_7.js → turbopack-0vg_jegb9r64~.js} +1 -1
  141. package/.next/standalone/.next/static/chunks/{turbopack-0kj0dx0lvll_z.js → turbopack-0z94ziwry23f8.js} +1 -1
  142. package/.next/standalone/.next/static/chunks/{turbopack-0lpwwdsrgtjw..js → turbopack-0zo4s0e54r18i.js} +1 -1
  143. package/.next/standalone/package.json +3 -1
  144. package/.next/standalone/server.js +1 -1
  145. package/bin/purplemux.js +6 -0
  146. package/dist/server.js +266 -90
  147. package/package.json +3 -1
  148. package/.next/standalone/.next/server/chunks/[externals]__13k.c.~._.js +0 -3
  149. package/.next/standalone/.next/static/chunks/078ug0z94g-5f.css +0 -1
  150. package/.next/standalone/.next/static/chunks/09ic8khns87py.js +0 -1
  151. package/.next/standalone/.next/static/chunks/0a0i6iubp4z.k.js +0 -1
  152. package/.next/standalone/.next/static/chunks/0ebs8_kx6xxp4.js +0 -1
  153. package/.next/standalone/.next/static/chunks/0gunclg4757tl.js +0 -1
  154. package/.next/standalone/.next/static/chunks/0ls9aifbksb~h.js +0 -1
  155. package/.next/standalone/.next/static/chunks/0~qmpv1k~~-.r.js +0 -1
  156. package/.next/standalone/.next/static/chunks/134dizutdhkgt.js +0 -1
  157. package/.next/standalone/.next/static/chunks/turbopack-0apt8fmn9bw8j.js +0 -1
  158. /package/.next/standalone/.next/static/{FLpdzv7HGFcplNF3n13ll → cUc-iVh9yPvV5U6zlJnRI}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- FLpdzv7HGFcplNF3n13ll
1
+ cUc-iVh9yPvV5U6zlJnRI
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "pages": {
3
3
  "/": [
4
- "static/chunks/07tmc1fd581-v.js",
4
+ "static/chunks/11oe_y_tnk5rs.js",
5
5
  "static/chunks/0y1iobvr7xv~m.js",
6
6
  "static/chunks/06wc2umsaus4g.js",
7
- "static/chunks/0~qmpv1k~~-.r.js",
7
+ "static/chunks/0rtjgrowjz8n3.js",
8
8
  "static/chunks/0qe146f.3s0ud.js",
9
9
  "static/chunks/12t3ws50siqw1.js",
10
10
  "static/chunks/0-sxrfxgcu1ce.js",
@@ -15,11 +15,11 @@
15
15
  "static/chunks/0yi.kp2rt4-nc.js",
16
16
  "static/chunks/00yfl7agnve...js",
17
17
  "static/chunks/09wg815lxyi._.js",
18
- "static/chunks/134dizutdhkgt.js",
18
+ "static/chunks/02lycfk~b_9ps.js",
19
19
  "static/chunks/0ti3g2b7fhm5v.js",
20
20
  "static/chunks/05-mpg38w0a82.js",
21
- "static/chunks/0ls9aifbksb~h.js",
22
- "static/chunks/turbopack-0apt8fmn9bw8j.js"
21
+ "static/chunks/0wbv3pd2oyilv.js",
22
+ "static/chunks/turbopack-0kc~8bc2j~nm5.js"
23
23
  ],
24
24
  "/_app": [
25
25
  "static/chunks/08mloizj8v086.js",
@@ -27,11 +27,11 @@
27
27
  "static/chunks/00x-ygjkfbgnz.js",
28
28
  "static/chunks/00yfl7agnve...js",
29
29
  "static/chunks/0yi.kp2rt4-nc.js",
30
- "static/chunks/0~4_p.wm8.z1b.js",
30
+ "static/chunks/0c3fuwgxh-35e.js",
31
31
  "static/chunks/05-mpg38w0a82.js",
32
- "static/chunks/078ug0z94g-5f.css",
32
+ "static/chunks/0g7dnwyslqeva.css",
33
33
  "static/chunks/0z3gpm0o.mwwy.css",
34
- "static/chunks/turbopack-0.efilbq57kj~.js"
34
+ "static/chunks/turbopack-0qzp5t.v8o4yd.js"
35
35
  ],
36
36
  "/_error": [
37
37
  "static/chunks/0~o730huopa91.js",
@@ -48,21 +48,21 @@
48
48
  "static/chunks/0ti3g2b7fhm5v.js",
49
49
  "static/chunks/0-sxrfxgcu1ce.js",
50
50
  "static/chunks/06fd4gm.ayhf7.js",
51
- "static/chunks/09ic8khns87py.js",
52
- "static/chunks/134dizutdhkgt.js",
51
+ "static/chunks/0g65_p2-lr~2p.js",
52
+ "static/chunks/02lycfk~b_9ps.js",
53
53
  "static/chunks/0yi.kp2rt4-nc.js",
54
54
  "static/chunks/00yfl7agnve...js",
55
- "static/chunks/0ls9aifbksb~h.js",
55
+ "static/chunks/0wbv3pd2oyilv.js",
56
56
  "static/chunks/09wg815lxyi._.js",
57
57
  "static/chunks/0wlz6--vu7adu.js",
58
58
  "static/chunks/0ml5~2ty-rbv_.js",
59
59
  "static/chunks/12t3ws50siqw1.js",
60
60
  "static/chunks/15aj3kd.p7zw6.js",
61
- "static/chunks/turbopack-0lpwwdsrgtjw..js"
61
+ "static/chunks/turbopack-0pbs5o5-yw7zn.js"
62
62
  ],
63
63
  "/agents/[agentId]/chat": [
64
64
  "static/chunks/0fungak7h7t_u.js",
65
- "static/chunks/09ic8khns87py.js",
65
+ "static/chunks/0g65_p2-lr~2p.js",
66
66
  "static/chunks/0ay.h74rl2t2c.js",
67
67
  "static/chunks/12t3ws50siqw1.js",
68
68
  "static/chunks/06fd4gm.ayhf7.js",
@@ -77,28 +77,28 @@
77
77
  "static/chunks/00yfl7agnve...js",
78
78
  "static/chunks/09wg815lxyi._.js",
79
79
  "static/chunks/0wlz6--vu7adu.js",
80
- "static/chunks/134dizutdhkgt.js",
80
+ "static/chunks/02lycfk~b_9ps.js",
81
81
  "static/chunks/0py3p~barq9qm.js",
82
82
  "static/chunks/0-sxrfxgcu1ce.js",
83
- "static/chunks/0ls9aifbksb~h.js",
83
+ "static/chunks/0wbv3pd2oyilv.js",
84
84
  "static/chunks/0ml5~2ty-rbv_.js",
85
- "static/chunks/turbopack-00pcz7jnwmzq9.js"
85
+ "static/chunks/turbopack-0kxgmh4de86.c.js"
86
86
  ],
87
87
  "/agents/[agentId]/memory": [
88
88
  "static/chunks/0mi.f1.iffvs7.js",
89
89
  "static/chunks/0b64-twwftp.b.js",
90
90
  "static/chunks/0ay.h74rl2t2c.js",
91
91
  "static/chunks/05-mpg38w0a82.js",
92
- "static/chunks/0~qmpv1k~~-.r.js",
92
+ "static/chunks/0rtjgrowjz8n3.js",
93
93
  "static/chunks/12t3ws50siqw1.js",
94
94
  "static/chunks/10r8rypk5fanv.js",
95
95
  "static/chunks/0py3p~barq9qm.js",
96
96
  "static/chunks/0-sxrfxgcu1ce.js",
97
97
  "static/chunks/06fd4gm.ayhf7.js",
98
- "static/chunks/134dizutdhkgt.js",
98
+ "static/chunks/02lycfk~b_9ps.js",
99
99
  "static/chunks/0wlz6--vu7adu.js",
100
100
  "static/chunks/0ti3g2b7fhm5v.js",
101
- "static/chunks/0ls9aifbksb~h.js",
101
+ "static/chunks/0wbv3pd2oyilv.js",
102
102
  "static/chunks/00yfl7agnve...js",
103
103
  "static/chunks/0p15~kn-ue177.js",
104
104
  "static/chunks/0yi.kp2rt4-nc.js",
@@ -106,13 +106,13 @@
106
106
  "static/chunks/0qe146f.3s0ud.js",
107
107
  "static/chunks/09wg815lxyi._.js",
108
108
  "static/chunks/15aj3kd.p7zw6.js",
109
- "static/chunks/turbopack-137b-w0hdnabu.js"
109
+ "static/chunks/turbopack-0v2s_rrv-4zo_.js"
110
110
  ],
111
111
  "/agents/[agentId]/workspace": [
112
112
  "static/chunks/0kmwqchx6vxwc.js",
113
113
  "static/chunks/0fungak7h7t_u.js",
114
114
  "static/chunks/0ay.h74rl2t2c.js",
115
- "static/chunks/0~qmpv1k~~-.r.js",
115
+ "static/chunks/0rtjgrowjz8n3.js",
116
116
  "static/chunks/05-mpg38w0a82.js",
117
117
  "static/chunks/00yfl7agnve...js",
118
118
  "static/chunks/15aj3kd.p7zw6.js",
@@ -124,10 +124,10 @@
124
124
  "static/chunks/09wg815lxyi._.js",
125
125
  "static/chunks/0wlz6--vu7adu.js",
126
126
  "static/chunks/0-sxrfxgcu1ce.js",
127
- "static/chunks/0ls9aifbksb~h.js",
127
+ "static/chunks/0wbv3pd2oyilv.js",
128
128
  "static/chunks/0qe146f.3s0ud.js",
129
- "static/chunks/134dizutdhkgt.js",
130
- "static/chunks/turbopack-084hs3838to_7.js"
129
+ "static/chunks/02lycfk~b_9ps.js",
130
+ "static/chunks/turbopack-0vg_jegb9r64~.js"
131
131
  ],
132
132
  "/login": [
133
133
  "static/chunks/14rkjvhij9msz.js",
@@ -145,7 +145,7 @@
145
145
  "static/chunks/turbopack-0k9wtm9vlbgk9.js"
146
146
  ],
147
147
  "/reports": [
148
- "static/chunks/0a0i6iubp4z.k.js",
148
+ "static/chunks/0rr4-5v-_uawq.js",
149
149
  "static/chunks/0b64-twwftp.b.js",
150
150
  "static/chunks/12t3ws50siqw1.js",
151
151
  "static/chunks/0ay.h74rl2t2c.js",
@@ -153,18 +153,18 @@
153
153
  "static/chunks/0ti3g2b7fhm5v.js",
154
154
  "static/chunks/0qe146f.3s0ud.js",
155
155
  "static/chunks/05-mpg38w0a82.js",
156
- "static/chunks/0~qmpv1k~~-.r.js",
156
+ "static/chunks/0rtjgrowjz8n3.js",
157
157
  "static/chunks/0py3p~barq9qm.js",
158
158
  "static/chunks/0ml5~2ty-rbv_.js",
159
159
  "static/chunks/0wlz6--vu7adu.js",
160
160
  "static/chunks/09wg815lxyi._.js",
161
- "static/chunks/0gunclg4757tl.js",
161
+ "static/chunks/09.nvq4m4q6nw.js",
162
162
  "static/chunks/0yi.kp2rt4-nc.js",
163
163
  "static/chunks/00yfl7agnve...js",
164
164
  "static/chunks/0-sxrfxgcu1ce.js",
165
- "static/chunks/134dizutdhkgt.js",
165
+ "static/chunks/02lycfk~b_9ps.js",
166
166
  "static/chunks/06fd4gm.ayhf7.js",
167
- "static/chunks/turbopack-0kj0dx0lvll_z.js"
167
+ "static/chunks/turbopack-0z94ziwry23f8.js"
168
168
  ],
169
169
  "/reset": [
170
170
  "static/chunks/0_sdw~kzk-at0.js",
@@ -175,7 +175,7 @@
175
175
  "static/chunks/turbopack-0jds356hmim~..js"
176
176
  ],
177
177
  "/stats": [
178
- "static/chunks/0kzdu-5p1onjr.js",
178
+ "static/chunks/12~ueg_4wkgfs.js",
179
179
  "static/chunks/0gx~s_r.d1ncl.js",
180
180
  "static/chunks/05-mpg38w0a82.js",
181
181
  "static/chunks/0ay.h74rl2t2c.js",
@@ -183,17 +183,17 @@
183
183
  "static/chunks/0qe146f.3s0ud.js",
184
184
  "static/chunks/0-sxrfxgcu1ce.js",
185
185
  "static/chunks/06fd4gm.ayhf7.js",
186
- "static/chunks/0~qmpv1k~~-.r.js",
186
+ "static/chunks/0rtjgrowjz8n3.js",
187
187
  "static/chunks/0ti3g2b7fhm5v.js",
188
188
  "static/chunks/00yfl7agnve...js",
189
189
  "static/chunks/0wlz6--vu7adu.js",
190
190
  "static/chunks/09wg815lxyi._.js",
191
- "static/chunks/134dizutdhkgt.js",
191
+ "static/chunks/02lycfk~b_9ps.js",
192
192
  "static/chunks/0ml5~2ty-rbv_.js",
193
- "static/chunks/0ebs8_kx6xxp4.js",
193
+ "static/chunks/17rm0jup5m3lg.js",
194
194
  "static/chunks/15aj3kd.p7zw6.js",
195
195
  "static/chunks/0yi.kp2rt4-nc.js",
196
- "static/chunks/turbopack-0uc26w1zvgd-e.js"
196
+ "static/chunks/turbopack-0zo4s0e54r18i.js"
197
197
  ],
198
198
  "/tools-required": [
199
199
  "static/chunks/0kf8xkvr3218u.js",
@@ -210,7 +210,7 @@
210
210
  "static/chunks/0c8._01-id.jr.js",
211
211
  "static/chunks/0fungak7h7t_u.js",
212
212
  "static/chunks/0ay.h74rl2t2c.js",
213
- "static/chunks/0~qmpv1k~~-.r.js",
213
+ "static/chunks/0rtjgrowjz8n3.js",
214
214
  "static/chunks/05-mpg38w0a82.js",
215
215
  "static/chunks/0ti3g2b7fhm5v.js",
216
216
  "static/chunks/0-sxrfxgcu1ce.js",
@@ -218,22 +218,22 @@
218
218
  "static/chunks/06fd4gm.ayhf7.js",
219
219
  "static/chunks/15aj3kd.p7zw6.js",
220
220
  "static/chunks/00yfl7agnve...js",
221
- "static/chunks/0ls9aifbksb~h.js",
221
+ "static/chunks/0wbv3pd2oyilv.js",
222
222
  "static/chunks/0ml5~2ty-rbv_.js",
223
223
  "static/chunks/09wg815lxyi._.js",
224
224
  "static/chunks/0wlz6--vu7adu.js",
225
- "static/chunks/134dizutdhkgt.js",
225
+ "static/chunks/02lycfk~b_9ps.js",
226
226
  "static/chunks/0qe146f.3s0ud.js",
227
227
  "static/chunks/0yi.kp2rt4-nc.js",
228
- "static/chunks/turbopack-02e4xh.7mqqic.js"
228
+ "static/chunks/turbopack-0g9hcqkf8--nt.js"
229
229
  ]
230
230
  },
231
231
  "devFiles": [],
232
232
  "polyfillFiles": [],
233
233
  "lowPriorityFiles": [
234
- "static/FLpdzv7HGFcplNF3n13ll/_buildManifest.js",
235
- "static/FLpdzv7HGFcplNF3n13ll/_ssgManifest.js",
236
- "static/FLpdzv7HGFcplNF3n13ll/_clientMiddlewareManifest.js"
234
+ "static/cUc-iVh9yPvV5U6zlJnRI/_buildManifest.js",
235
+ "static/cUc-iVh9yPvV5U6zlJnRI/_ssgManifest.js",
236
+ "static/cUc-iVh9yPvV5U6zlJnRI/_clientMiddlewareManifest.js"
237
237
  ],
238
238
  "rootMainFiles": []
239
239
  }
@@ -3,9 +3,9 @@
3
3
  "routes": {},
4
4
  "dynamicRoutes": {},
5
5
  "preview": {
6
- "previewModeId": "e948d8fc99f04c091d9e13b8b9f76919",
7
- "previewModeSigningKey": "d642a55ed2ce2ce1ee65da4595e7f711a3378272482bf6938b5f87f0cd9427a9",
8
- "previewModeEncryptionKey": "d9d9b0f153f01e21d7961d80979b0053988a34194d7504d1cd643e3bab709610"
6
+ "previewModeId": "70abeea4148de793e321a3f05a35ca7f",
7
+ "previewModeSigningKey": "5ab0314a992c8d1c56bb856d9dad1bdd4019c14208f12868028da89ee22a1714",
8
+ "previewModeEncryptionKey": "a1322a6a2c90ddb4880207061c3f70c54e963a30a42e6c0d747351d83fc19155"
9
9
  },
10
10
  "notFoundRoutes": []
11
11
  }
@@ -2,7 +2,7 @@
2
2
  "version": 1,
3
3
  "config": {
4
4
  "env": {
5
- "NEXT_PUBLIC_COMMIT_HASH": "83ad454"
5
+ "NEXT_PUBLIC_COMMIT_HASH": "18e79fe"
6
6
  },
7
7
  "webpack": null,
8
8
  "typescript": {
@@ -334,6 +334,12 @@
334
334
  "routeKeys": {},
335
335
  "namedRegex": "^/api/git/status(?:/)?$"
336
336
  },
337
+ {
338
+ "page": "/api/health",
339
+ "regex": "^/api/health(?:/)?$",
340
+ "routeKeys": {},
341
+ "namedRegex": "^/api/health(?:/)?$"
342
+ },
337
343
  {
338
344
  "page": "/api/layout",
339
345
  "regex": "^/api/layout(?:/)?$",
@@ -608,59 +614,59 @@
608
614
  "dataRoutes": [
609
615
  {
610
616
  "page": "/",
611
- "dataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/index\\.json$"
617
+ "dataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/index\\.json$"
612
618
  },
613
619
  {
614
620
  "page": "/agents",
615
- "dataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/agents\\.json$"
621
+ "dataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/agents\\.json$"
616
622
  },
617
623
  {
618
624
  "page": "/agents/[agentId]/chat",
619
625
  "routeKeys": {
620
626
  "nxtPagentId": "nxtPagentId"
621
627
  },
622
- "dataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/agents/([^/]+?)/chat\\.json$",
623
- "namedDataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/agents/(?<nxtPagentId>[^/]+?)/chat\\.json$"
628
+ "dataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/agents/([^/]+?)/chat\\.json$",
629
+ "namedDataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/agents/(?<nxtPagentId>[^/]+?)/chat\\.json$"
624
630
  },
625
631
  {
626
632
  "page": "/agents/[agentId]/memory",
627
633
  "routeKeys": {
628
634
  "nxtPagentId": "nxtPagentId"
629
635
  },
630
- "dataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/agents/([^/]+?)/memory\\.json$",
631
- "namedDataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/agents/(?<nxtPagentId>[^/]+?)/memory\\.json$"
636
+ "dataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/agents/([^/]+?)/memory\\.json$",
637
+ "namedDataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/agents/(?<nxtPagentId>[^/]+?)/memory\\.json$"
632
638
  },
633
639
  {
634
640
  "page": "/agents/[agentId]/workspace",
635
641
  "routeKeys": {
636
642
  "nxtPagentId": "nxtPagentId"
637
643
  },
638
- "dataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/agents/([^/]+?)/workspace\\.json$",
639
- "namedDataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/agents/(?<nxtPagentId>[^/]+?)/workspace\\.json$"
644
+ "dataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/agents/([^/]+?)/workspace\\.json$",
645
+ "namedDataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/agents/(?<nxtPagentId>[^/]+?)/workspace\\.json$"
640
646
  },
641
647
  {
642
648
  "page": "/login",
643
- "dataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/login\\.json$"
649
+ "dataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/login\\.json$"
644
650
  },
645
651
  {
646
652
  "page": "/reports",
647
- "dataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/reports\\.json$"
653
+ "dataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/reports\\.json$"
648
654
  },
649
655
  {
650
656
  "page": "/reset",
651
- "dataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/reset\\.json$"
657
+ "dataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/reset\\.json$"
652
658
  },
653
659
  {
654
660
  "page": "/stats",
655
- "dataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/stats\\.json$"
661
+ "dataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/stats\\.json$"
656
662
  },
657
663
  {
658
664
  "page": "/tools-required",
659
- "dataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/tools-required\\.json$"
665
+ "dataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/tools-required\\.json$"
660
666
  },
661
667
  {
662
668
  "page": "/webview",
663
- "dataRouteRegex": "^/_next/data/FLpdzv7HGFcplNF3n13ll/webview\\.json$"
669
+ "dataRouteRegex": "^/_next/data/cUc\\-iVh9yPvV5U6zlJnRI/webview\\.json$"
664
670
  }
665
671
  ],
666
672
  "i18n": {
@@ -0,0 +1,3 @@
1
+ module.exports=[270406,(e,t,p)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},814747,(e,t,p)=>{t.exports=e.x("path",()=>require("path"))},254799,(e,t,p)=>{t.exports=e.x("crypto",()=>require("crypto"))}];
2
+
3
+ //# sourceMappingURL=%5Bexternals%5D__0l1mhe5._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[688947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},406461,(e,t,a)=>{t.exports=e.x("zlib",()=>require("zlib"))},254799,(e,t,a)=>{t.exports=e.x("crypto",()=>require("crypto"))},524836,(e,t,a)=>{t.exports=e.x("https",()=>require("https"))},921517,(e,t,a)=>{t.exports=e.x("http",()=>require("http"))},504446,(e,t,a)=>{t.exports=e.x("net",()=>require("net"))},755004,(e,t,a)=>{t.exports=e.x("tls",()=>require("tls"))},792509,(e,t,a)=>{t.exports=e.x("url",()=>require("url"))},500874,(e,t,a)=>{t.exports=e.x("buffer",()=>require("buffer"))},427699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},666126,e=>{"use strict";e.i(478319);var t=e.i(220951);(0,e.i(25146).createLogger)("sync");let a=globalThis;a.__ptSyncClients||(a.__ptSyncClients=new Set);let r=a.__ptSyncClients;e.s(["broadcastSync",0,e=>{let a=JSON.stringify(e);for(let e of r)e.readyState===t.WebSocket.OPEN&&e.bufferedAmount<1048576&&e.send(a)}])},322429,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),i=e.i(44014),s=e.i(459015),o=e.i(25146),n=e.i(666126),l=e.i(825265),c=e.i(804767);let d=(0,o.createLogger)("workspace"),u="Workspace ",p=a.default.join(r.default.homedir(),".purplemux"),w=a.default.join(p,"workspaces.json"),f=a.default.join(p,"layout.json"),y=a.default.join(p,"tabs.json"),h=globalThis;h.__purplemuxWorkspaceLock||(h.__purplemuxWorkspaceLock=Promise.resolve());let m=async e=>{let t,a=new Promise(e=>{t=e}),r=h.__purplemuxWorkspaceLock;h.__purplemuxWorkspaceLock=a,await r;try{return await e()}finally{t()}},_=()=>({workspaces:[],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:new Date().toISOString()}),v=async()=>{let e;try{e=await t.default.readFile(w,"utf-8")}catch{return null}try{let t=JSON.parse(e);for(let e of t.workspaces)!e.directories&&e.directory&&(e.directories=[e.directory],delete e.directory);return t}catch{d.warn("Failed to parse workspaces.json, starting empty");try{await t.default.copyFile(w,w.replace(/\.json$/,".json.bak"))}catch{}return null}},k=async e=>{let{workspaces:a,activeWorkspaceId:r,sidebarCollapsed:i,sidebarWidth:s}=e,o=JSON.stringify({workspaces:a,activeWorkspaceId:r,sidebarCollapsed:i,sidebarWidth:s});if(h.__purplemuxWorkspacesContentCache===o)return;e.updatedAt=new Date().toISOString();let l=w+".tmp";try{await t.default.writeFile(l,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(l,w)}catch(e){throw await t.default.unlink(l).catch(()=>{}),e}h.__purplemuxWorkspacesContentCache=o,(0,n.broadcastSync)({type:"workspace"})},$=async()=>{let e=await (0,l.readLayoutFile)(f);if(!e)return null;let a="ws-default";await t.default.mkdir((0,l.resolveLayoutDir)(a),{recursive:!0}),await (0,l.writeLayoutFile)(e,(0,l.resolveLayoutFile)(a));let i={workspaces:[{id:a,name:"default",directories:[r.default.homedir()],order:0}],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:e.updatedAt||new Date().toISOString()};return await k(i),d.info("Phase 4 layout.json → Workspace 'default' migration complete"),i},g=async()=>{try{let e=await t.default.readFile(y,"utf-8"),a=JSON.parse(e);if(!Array.isArray(a.tabs)||0===a.tabs.length)return null;let r=`pane-${(0,i.nanoid)(6)}`,s={root:{type:"pane",id:r,tabs:a.tabs,activeTabId:a.activeTabId??null},activePaneId:r,updatedAt:new Date().toISOString()},o=f+".tmp";try{await t.default.writeFile(o,JSON.stringify(s,null,2),{mode:384}),await t.default.rename(o,f)}catch(e){throw await t.default.unlink(o).catch(()=>{}),e}return d.info("tabs.json → layout.json migration complete"),await $()}catch{return null}},x=async()=>{await t.default.mkdir(a.default.join(p,"workspaces"),{recursive:!0});let e=await v();if(!e&&(await t.default.access(f).then(()=>!0).catch(()=>!1)?e=await $():await t.default.access(y).then(()=>!0).catch(()=>!1)&&(e=await g())),!e){let t=_();await k(t),e=t,d.info("Initial workspaces.json created")}if(0===e.workspaces.length)return;let r=await (0,s.listSessions)();for(let t of e.workspaces){let e=(0,l.resolveLayoutFile)(t.id),a=await (0,l.readLayoutFile)(e);if(!a){d.warn(`Workspace '${t.name}': layout.json corrupted, reset to default pane`),a=await (0,l.createDefaultLayout)(t.id,t.directories[0]),await (0,l.writeLayoutFile)(a,e);continue}let i=(0,c.collectAllTabs)(a.root).map(e=>e.sessionName),s=`pt-${t.id}-`,o=r.filter(e=>i.includes(e)||e.startsWith(s));try{await (0,l.crossCheckLayout)(a,o,t.id,t.directories[0])&&await (0,l.writeLayoutFile)(a,e)}catch(e){d.error(`Workspace '${t.name}': tmux consistency check failed: ${e instanceof Error?e.message:e}`)}}},S=async()=>{let e=await v();return e?{workspaces:e.workspaces,activeWorkspaceId:e.activeWorkspaceId,sidebarCollapsed:e.sidebarCollapsed,sidebarWidth:e.sidebarWidth}:{workspaces:[],sidebarCollapsed:!1,sidebarWidth:220}},b=async()=>{let e=await v();return e?.activeWorkspaceId&&e.workspaces.some(t=>t.id===e.activeWorkspaceId)?e.activeWorkspaceId:e?.workspaces[0]?.id??null},T=async e=>{let t=await v();return t?.workspaces.find(t=>t.id===e)},j=async(e,a,r)=>m(async()=>{let s;try{s=await t.default.stat(e)}catch{throw Error("Directory does not exist")}if(!s.isDirectory())throw Error("Please enter a directory path, not a file");let o=await v()??_(),n=`ws-${(0,i.nanoid)(6)}`,c=a?.trim()||(e=>{let t=0;for(let a of e)if(a.name.startsWith(u)){let e=parseInt(a.name.slice(u.length),10);e>t&&(t=e)}return`${u}${t+1}`})(o.workspaces),p=o.workspaces.length,w=await (0,l.createDefaultLayout)(n,e,r);await t.default.mkdir((0,l.resolveLayoutDir)(n),{recursive:!0}),await (0,l.writeLayoutFile)(w,(0,l.resolveLayoutFile)(n));let f={id:n,name:c,directories:[e],order:p};return o.workspaces.push(f),await k(o),d.info(`Created: ${n} (${c}, ${e})`),f}),E=async e=>m(async()=>{let a=await v()??_(),r=a.workspaces.findIndex(t=>t.id===e);if(-1===r)return!1;let i=a.workspaces[r],o=await (0,l.readLayoutFile)((0,l.resolveLayoutFile)(e));if(o)for(let e of(0,c.collectAllTabs)(o.root))try{await (0,s.killSession)(e.sessionName)}catch{}try{await t.default.rm((0,l.resolveLayoutDir)(e),{recursive:!0,force:!0})}catch{}return(0,l.clearLayoutCache)(e),a.workspaces.splice(r,1),a.workspaces.forEach((e,t)=>{e.order=t}),await k(a),d.info(`Deleted: ${e} (${i.name})`),!0}),I=async(e,t)=>m(async()=>{let a=await v();if(!a)return null;let r=a.workspaces.find(t=>t.id===e);return r?(r.name=t,await k(a),d.info(`Renamed: ${e} → "${t}"`),{...r}):null}),D=async e=>m(async()=>{let t=await v()??_();void 0!==e.activeWorkspaceId&&(t.activeWorkspaceId=e.activeWorkspaceId),void 0!==e.sidebarCollapsed&&(t.sidebarCollapsed=e.sidebarCollapsed),void 0!==e.sidebarWidth&&(t.sidebarWidth=e.sidebarWidth),await k(t)}),C=async(e,t)=>m(async()=>{let a=await v();if(!a)return;let r=a.workspaces.find(t=>t.id===e);r&&JSON.stringify(r.directories)!==JSON.stringify(t)&&(r.directories=t,await k(a))}),W=async e=>m(async()=>{let t=await v()??_(),a=new Map(t.workspaces.map(e=>[e.id,e])),r=[];for(let t of e){let e=a.get(t);if(!e)return!1;r.push(e)}return r.length===t.workspaces.length&&(r.forEach((e,t)=>{e.order=t}),t.workspaces=r,await k(t),!0)}),L=async e=>{try{if(!(await t.default.stat(e)).isDirectory())return{valid:!1,error:"Please enter a directory path, not a file"}}catch{return{valid:!1,error:"Directory does not exist"}}return{valid:!0,suggestedName:a.default.basename(e)}};e.s(["createWorkspace",0,j,"deleteWorkspace",0,E,"getActiveWorkspaceId",0,b,"getWorkspaceById",0,T,"getWorkspaces",0,S,"initWorkspaceStore",0,x,"renameWorkspace",0,I,"reorderWorkspaces",0,W,"updateActive",0,D,"updateWorkspaceDirectories",0,C,"validateDirectory",0,L])},796902,e=>{"use strict";var t=e.i(814747),a=e.i(446786);let r=t.default.join(a.default.homedir(),".purplemux"),i=t.default.join(r,"statusline.sh"),s=t.default.join(r,"rate-limits.json"),o=`#!/bin/sh
1
+ module.exports=[688947,(e,t,a)=>{t.exports=e.x("stream",()=>require("stream"))},406461,(e,t,a)=>{t.exports=e.x("zlib",()=>require("zlib"))},254799,(e,t,a)=>{t.exports=e.x("crypto",()=>require("crypto"))},524836,(e,t,a)=>{t.exports=e.x("https",()=>require("https"))},921517,(e,t,a)=>{t.exports=e.x("http",()=>require("http"))},504446,(e,t,a)=>{t.exports=e.x("net",()=>require("net"))},755004,(e,t,a)=>{t.exports=e.x("tls",()=>require("tls"))},792509,(e,t,a)=>{t.exports=e.x("url",()=>require("url"))},500874,(e,t,a)=>{t.exports=e.x("buffer",()=>require("buffer"))},427699,(e,t,a)=>{t.exports=e.x("events",()=>require("events"))},666126,e=>{"use strict";e.i(478319);var t=e.i(220951);(0,e.i(25146).createLogger)("sync");let a=globalThis;a.__ptSyncClients||(a.__ptSyncClients=new Set);let r=a.__ptSyncClients;e.s(["broadcastSync",0,e=>{let a=JSON.stringify(e);for(let e of r)e.readyState===t.WebSocket.OPEN&&e.bufferedAmount<1048576&&e.send(a)}])},322429,e=>{"use strict";var t=e.i(924868),a=e.i(814747),r=e.i(446786),i=e.i(44014),s=e.i(459015),o=e.i(25146),n=e.i(666126),l=e.i(825265),c=e.i(804767);let d=(0,o.createLogger)("workspace"),u="Workspace ",p=a.default.join(r.default.homedir(),".purplemux"),w=a.default.join(p,"workspaces.json"),f=a.default.join(p,"layout.json"),y=a.default.join(p,"tabs.json"),h=globalThis;h.__purplemuxWorkspaceLock||(h.__purplemuxWorkspaceLock=Promise.resolve());let m=async e=>{let t,a=new Promise(e=>{t=e}),r=h.__purplemuxWorkspaceLock;h.__purplemuxWorkspaceLock=a,await r;try{return await e()}finally{t()}},_=()=>({workspaces:[],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:new Date().toISOString()}),v=async()=>{let e;try{e=await t.default.readFile(w,"utf-8")}catch{return null}try{let t=JSON.parse(e);for(let e of t.workspaces)!e.directories&&e.directory&&(e.directories=[e.directory],delete e.directory);return t}catch{d.warn("Failed to parse workspaces.json, starting empty");try{await t.default.copyFile(w,w.replace(/\.json$/,".json.bak"))}catch{}return null}},k=async e=>{let{workspaces:a,activeWorkspaceId:r,sidebarCollapsed:i,sidebarWidth:s}=e,o=JSON.stringify({workspaces:a,activeWorkspaceId:r,sidebarCollapsed:i,sidebarWidth:s});if(h.__purplemuxWorkspacesContentCache===o)return;e.updatedAt=new Date().toISOString();let l=w+".tmp";try{await t.default.writeFile(l,JSON.stringify(e,null,2),{mode:384}),await t.default.rename(l,w)}catch(e){throw await t.default.unlink(l).catch(()=>{}),e}h.__purplemuxWorkspacesContentCache=o,(0,n.broadcastSync)({type:"workspace"})},$=async()=>{let e=await (0,l.readLayoutFile)(f);if(!e)return null;let a="ws-default";await t.default.mkdir((0,l.resolveLayoutDir)(a),{recursive:!0}),await (0,l.writeLayoutFile)(e,(0,l.resolveLayoutFile)(a));let i={workspaces:[{id:a,name:"default",directories:[r.default.homedir()],order:0}],sidebarCollapsed:!1,sidebarWidth:240,updatedAt:e.updatedAt||new Date().toISOString()};return await k(i),d.info("Phase 4 layout.json → Workspace 'default' migration complete"),i},g=async()=>{try{let e=await t.default.readFile(y,"utf-8"),a=JSON.parse(e);if(!Array.isArray(a.tabs)||0===a.tabs.length)return null;let r=`pane-${(0,i.nanoid)(6)}`,s={root:{type:"pane",id:r,tabs:a.tabs,activeTabId:a.activeTabId??null},activePaneId:r,updatedAt:new Date().toISOString()},o=f+".tmp";try{await t.default.writeFile(o,JSON.stringify(s,null,2),{mode:384}),await t.default.rename(o,f)}catch(e){throw await t.default.unlink(o).catch(()=>{}),e}return d.info("tabs.json → layout.json migration complete"),await $()}catch{return null}},x=async()=>{await t.default.mkdir(a.default.join(p,"workspaces"),{recursive:!0});let e=await v();if(!e&&(await t.default.access(f).then(()=>!0).catch(()=>!1)?e=await $():await t.default.access(y).then(()=>!0).catch(()=>!1)&&(e=await g())),!e){let t=_();await k(t),e=t,d.info("Initial workspaces.json created")}if(0===e.workspaces.length)return;let r=await (0,s.listSessions)();for(let t of e.workspaces){let e=(0,l.resolveLayoutFile)(t.id),a=await (0,l.readLayoutFile)(e);if(!a){d.warn(`Workspace '${t.name}': layout.json corrupted, reset to default pane`),a=await (0,l.createDefaultLayout)(t.id,t.directories[0]),await (0,l.writeLayoutFile)(a,e);continue}let i=(0,c.collectAllTabs)(a.root).map(e=>e.sessionName),s=`pt-${t.id}-`,o=r.filter(e=>i.includes(e)||e.startsWith(s));try{await (0,l.crossCheckLayout)(a,o,t.id,t.directories[0])&&await (0,l.writeLayoutFile)(a,e)}catch(e){d.error(`Workspace '${t.name}': tmux consistency check failed: ${e instanceof Error?e.message:e}`)}}},S=async()=>{let e=await v();return e?{workspaces:e.workspaces,activeWorkspaceId:e.activeWorkspaceId,sidebarCollapsed:e.sidebarCollapsed,sidebarWidth:e.sidebarWidth}:{workspaces:[],sidebarCollapsed:!1,sidebarWidth:220}},b=async()=>{let e=await v();return e?.activeWorkspaceId&&e.workspaces.some(t=>t.id===e.activeWorkspaceId)?e.activeWorkspaceId:e?.workspaces[0]?.id??null},T=async e=>{let t=await v();return t?.workspaces.find(t=>t.id===e)},j=async(e,a,r)=>m(async()=>{let s;try{s=await t.default.stat(e)}catch{throw Error("Directory does not exist")}if(!s.isDirectory())throw Error("Please enter a directory path, not a file");let o=await v()??_(),n=`ws-${(0,i.nanoid)(6)}`,c=a?.trim()||(e=>{let t=0;for(let a of e)if(a.name.startsWith(u)){let e=parseInt(a.name.slice(u.length),10);e>t&&(t=e)}return`${u}${t+1}`})(o.workspaces),p=o.workspaces.length,w=await (0,l.createDefaultLayout)(n,e,r);await t.default.mkdir((0,l.resolveLayoutDir)(n),{recursive:!0}),await (0,l.writeLayoutFile)(w,(0,l.resolveLayoutFile)(n));let f={id:n,name:c,directories:[e],order:p};return o.workspaces.push(f),await k(o),d.info(`Created: ${n} (${c}, ${e})`),f}),E=async e=>m(async()=>{let t=await v()??_(),a=t.workspaces.findIndex(t=>t.id===e);if(-1===a)return!1;let r=t.workspaces[a],i=await (0,l.readLayoutFile)((0,l.resolveLayoutFile)(e));if(i)for(let e of(0,c.collectAllTabs)(i.root))try{await (0,s.killSession)(e.sessionName)}catch{}try{await (0,l.removeLayoutFile)(e)}catch{}return t.workspaces.splice(a,1),t.workspaces.forEach((e,t)=>{e.order=t}),await k(t),d.info(`Deleted: ${e} (${r.name})`),!0}),I=async(e,t)=>m(async()=>{let a=await v();if(!a)return null;let r=a.workspaces.find(t=>t.id===e);return r?(r.name=t,await k(a),d.info(`Renamed: ${e} → "${t}"`),{...r}):null}),D=async e=>m(async()=>{let t=await v()??_();void 0!==e.activeWorkspaceId&&(t.activeWorkspaceId=e.activeWorkspaceId),void 0!==e.sidebarCollapsed&&(t.sidebarCollapsed=e.sidebarCollapsed),void 0!==e.sidebarWidth&&(t.sidebarWidth=e.sidebarWidth),await k(t)}),C=async(e,t)=>m(async()=>{let a=await v();if(!a)return;let r=a.workspaces.find(t=>t.id===e);r&&JSON.stringify(r.directories)!==JSON.stringify(t)&&(r.directories=t,await k(a))}),W=async e=>m(async()=>{let t=await v()??_(),a=new Map(t.workspaces.map(e=>[e.id,e])),r=[];for(let t of e){let e=a.get(t);if(!e)return!1;r.push(e)}return r.length===t.workspaces.length&&(r.forEach((e,t)=>{e.order=t}),t.workspaces=r,await k(t),!0)}),O=async e=>{try{if(!(await t.default.stat(e)).isDirectory())return{valid:!1,error:"Please enter a directory path, not a file"}}catch{return{valid:!1,error:"Directory does not exist"}}return{valid:!0,suggestedName:a.default.basename(e)}};e.s(["createWorkspace",0,j,"deleteWorkspace",0,E,"getActiveWorkspaceId",0,b,"getWorkspaceById",0,T,"getWorkspaces",0,S,"initWorkspaceStore",0,x,"renameWorkspace",0,I,"reorderWorkspaces",0,W,"updateActive",0,D,"updateWorkspaceDirectories",0,C,"validateDirectory",0,O])},796902,e=>{"use strict";var t=e.i(814747),a=e.i(446786);let r=t.default.join(a.default.homedir(),".purplemux"),i=t.default.join(r,"statusline.sh"),s=t.default.join(r,"rate-limits.json"),o=`#!/bin/sh
2
2
  input=$(cat)
3
3
  OUTPUT="$HOME/.purplemux/rate-limits.json"
4
4
  HAS_LIMITS=$(echo "$input" | jq -r 'if .rate_limits.five_hour or .rate_limits.seven_day then "yes" else "no" end' 2>/dev/null)