purplemux 0.1.8 → 0.1.10

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 (102) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +70 -70
  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 +14 -14
  6. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12~vy9f._.js +3 -0
  7. package/.next/standalone/.next/server/chunks/ssr/_0-xx2s1._.js +1 -1
  8. package/.next/standalone/.next/server/chunks/ssr/_0camkxl._.js +1 -1
  9. package/.next/standalone/.next/server/chunks/ssr/_0i209pm._.js +1 -1
  10. package/.next/standalone/.next/server/chunks/ssr/_0sfa_96._.js +1 -1
  11. package/.next/standalone/.next/server/chunks/ssr/{messages_107hz.q._.js → messages_0ktq43~._.js} +1 -1
  12. package/.next/standalone/.next/server/middleware-build-manifest.js +70 -70
  13. package/.next/standalone/.next/server/pages/_app/build-manifest.json +3 -3
  14. package/.next/standalone/.next/server/pages/_app/client-build-manifest.json +1 -1
  15. package/.next/standalone/.next/server/pages/_app.js +3 -3
  16. package/.next/standalone/.next/server/pages/_app.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/pages/agents/[agentId]/chat/build-manifest.json +9 -9
  18. package/.next/standalone/.next/server/pages/agents/[agentId]/chat/client-build-manifest.json +1 -1
  19. package/.next/standalone/.next/server/pages/agents/[agentId]/memory/build-manifest.json +8 -8
  20. package/.next/standalone/.next/server/pages/agents/[agentId]/memory/client-build-manifest.json +1 -1
  21. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace/build-manifest.json +4 -4
  22. package/.next/standalone/.next/server/pages/agents/[agentId]/workspace/client-build-manifest.json +1 -1
  23. package/.next/standalone/.next/server/pages/agents/build-manifest.json +8 -8
  24. package/.next/standalone/.next/server/pages/agents/client-build-manifest.json +1 -1
  25. package/.next/standalone/.next/server/pages/de/404.html +1 -1
  26. package/.next/standalone/.next/server/pages/de/500.html +1 -1
  27. package/.next/standalone/.next/server/pages/en/404.html +1 -1
  28. package/.next/standalone/.next/server/pages/en/500.html +1 -1
  29. package/.next/standalone/.next/server/pages/es/404.html +1 -1
  30. package/.next/standalone/.next/server/pages/es/500.html +1 -1
  31. package/.next/standalone/.next/server/pages/fr/404.html +1 -1
  32. package/.next/standalone/.next/server/pages/fr/500.html +1 -1
  33. package/.next/standalone/.next/server/pages/index/build-manifest.json +7 -7
  34. package/.next/standalone/.next/server/pages/index/client-build-manifest.json +1 -1
  35. package/.next/standalone/.next/server/pages/index/react-loadable-manifest.json +2 -2
  36. package/.next/standalone/.next/server/pages/ja/404.html +1 -1
  37. package/.next/standalone/.next/server/pages/ja/500.html +1 -1
  38. package/.next/standalone/.next/server/pages/ko/404.html +1 -1
  39. package/.next/standalone/.next/server/pages/ko/500.html +1 -1
  40. package/.next/standalone/.next/server/pages/pt-BR/404.html +1 -1
  41. package/.next/standalone/.next/server/pages/pt-BR/500.html +1 -1
  42. package/.next/standalone/.next/server/pages/reports/build-manifest.json +10 -10
  43. package/.next/standalone/.next/server/pages/reports/client-build-manifest.json +1 -1
  44. package/.next/standalone/.next/server/pages/ru/404.html +1 -1
  45. package/.next/standalone/.next/server/pages/ru/500.html +1 -1
  46. package/.next/standalone/.next/server/pages/stats/build-manifest.json +9 -9
  47. package/.next/standalone/.next/server/pages/stats/client-build-manifest.json +1 -1
  48. package/.next/standalone/.next/server/pages/tr/404.html +1 -1
  49. package/.next/standalone/.next/server/pages/tr/500.html +1 -1
  50. package/.next/standalone/.next/server/pages/webview/build-manifest.json +9 -9
  51. package/.next/standalone/.next/server/pages/webview/client-build-manifest.json +1 -1
  52. package/.next/standalone/.next/server/pages/zh-CN/404.html +1 -1
  53. package/.next/standalone/.next/server/pages/zh-CN/500.html +1 -1
  54. package/.next/standalone/.next/server/pages/zh-TW/404.html +1 -1
  55. package/.next/standalone/.next/server/pages/zh-TW/500.html +1 -1
  56. package/.next/standalone/.next/static/{m92l36SvyhaOH3kPcLxX9 → QBcppzKifu6ZXgxIb2laW}/_buildManifest.js +8 -8
  57. package/.next/standalone/.next/static/chunks/{0cr0zw09~hzxd.js → 0.ko43jbbjwzd.js} +9 -9
  58. package/.next/standalone/.next/static/chunks/{004mrvd9r-_8y.js → 00x-ygjkfbgnz.js} +1 -1
  59. package/.next/standalone/.next/static/chunks/{076h6~3japmyo.js → 06wc2umsaus4g.js} +1 -1
  60. package/.next/standalone/.next/static/chunks/{0gfqau6ep4-2d.js → 07tmc1fd581-v.js} +1 -1
  61. package/.next/standalone/.next/static/chunks/08mloizj8v086.js +1 -0
  62. package/.next/standalone/.next/static/chunks/{0.uz2amfosjm9.js → 0ay.h74rl2t2c.js} +1 -1
  63. package/.next/standalone/.next/static/chunks/{0cf.718s5_g~g.js → 0b64-twwftp.b.js} +1 -1
  64. package/.next/standalone/.next/static/chunks/0b8ftzkop9kc0.js +1 -0
  65. package/.next/standalone/.next/static/chunks/{0qbas4d_2~xdq.js → 0cjfef2q~d_lg.js} +1 -1
  66. package/.next/standalone/.next/static/chunks/{05t02de7w3jwp.js → 0ebzi~xd5kbf6.js} +3 -3
  67. package/.next/standalone/.next/static/chunks/{018sw2sdk3jk5.js → 0fungak7h7t_u.js} +1 -1
  68. package/.next/standalone/.next/static/chunks/{0_roszihj6gx..js → 0gx~s_r.d1ncl.js} +1 -1
  69. package/.next/standalone/.next/static/chunks/{0hjtdrn9rjdr..js → 0hde.5_5bt3n7.js} +7 -7
  70. package/.next/standalone/.next/static/chunks/0hish8kae8ww1.js +1 -0
  71. package/.next/standalone/.next/static/chunks/0komb9eh49_ay.js +1 -0
  72. package/.next/standalone/.next/static/chunks/0nyqd-g9.1_ds.js +1 -0
  73. package/.next/standalone/.next/static/chunks/{0fg2d4r16282n.js → 0od39.d~sm_lf.js} +10 -10
  74. package/.next/standalone/.next/static/chunks/{0e5whjke-_bgs.js → 0ps.lwk6-aznm.js} +9 -9
  75. package/.next/standalone/.next/static/chunks/{0c86u.9lapecr.js → 0w2qwb1-piu-m.js} +8 -8
  76. package/.next/standalone/.next/static/chunks/{13~~ynm.vb8bj.js → 0x_kj2or0xjhd.js} +8 -8
  77. package/.next/standalone/.next/static/chunks/{0pwu1.k6n6.z_.js → 0y1iobvr7xv~m.js} +1 -1
  78. package/.next/standalone/.next/static/chunks/0zd2r1o1p44g-.js +1 -0
  79. package/.next/standalone/.next/static/chunks/{0klvfpojl8tm~.js → 12d.ewy5r~pat.js} +9 -9
  80. package/.next/standalone/.next/static/chunks/{08q~.m6jgv9sn.js → 146n1rm5lnamr.js} +4 -4
  81. package/.next/standalone/.next/static/chunks/{turbopack-0bil6fvm8svjz.js → turbopack-0.efilbq57kj~.js} +1 -1
  82. package/.next/standalone/.next/static/chunks/{turbopack-0mhf3dmffx6er.js → turbopack-08x9ig8vdyhq4.js} +1 -1
  83. package/.next/standalone/.next/static/chunks/{turbopack-0jpp~562~4bxu.js → turbopack-0_aedr7s11nt..js} +1 -1
  84. package/.next/standalone/.next/static/chunks/{turbopack-05kcr-h8fwrrs.js → turbopack-0_~_uhztguxbd.js} +1 -1
  85. package/.next/standalone/.next/static/chunks/{turbopack-0fv_0jd3e0f3l.js → turbopack-0bxdk9j0sss8q.js} +1 -1
  86. package/.next/standalone/.next/static/chunks/{turbopack-0sjxa78xx2say.js → turbopack-0d0o9jpqo8w-t.js} +1 -1
  87. package/.next/standalone/.next/static/chunks/{turbopack-06.-_u_xqpkdb.js → turbopack-0j0g-a-lc_b0v.js} +1 -1
  88. package/.next/standalone/.next/static/chunks/{turbopack-0405ne8y1rcy3.js → turbopack-0j1pbu78_jr~5.js} +1 -1
  89. package/.next/standalone/.next/static/chunks/{turbopack-09ej4eskzn7ca.js → turbopack-17z5tn-6x7j7e.js} +1 -1
  90. package/.next/standalone/package.json +1 -1
  91. package/.next/standalone/server.js +1 -1
  92. package/dist/server.js +14335 -527
  93. package/package.json +1 -1
  94. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0_6p.0e._.js +0 -3
  95. package/.next/standalone/.next/static/chunks/0-8qfsh177.2g.js +0 -1
  96. package/.next/standalone/.next/static/chunks/0g.hz7eglx5s..js +0 -1
  97. package/.next/standalone/.next/static/chunks/0krzfta4.iaa9.js +0 -1
  98. package/.next/standalone/.next/static/chunks/12z.wim1atha..js +0 -1
  99. package/.next/standalone/.next/static/chunks/1326-kxkkyyw7.js +0 -1
  100. package/.next/standalone/.next/static/chunks/149fy9~6p0m~7.js +0 -1
  101. /package/.next/standalone/.next/static/{m92l36SvyhaOH3kPcLxX9 → QBcppzKifu6ZXgxIb2laW}/_clientMiddlewareManifest.js +0 -0
  102. /package/.next/standalone/.next/static/{m92l36SvyhaOH3kPcLxX9 → QBcppzKifu6ZXgxIb2laW}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- m92l36SvyhaOH3kPcLxX9
1
+ QBcppzKifu6ZXgxIb2laW
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "pages": {
3
3
  "/": [
4
- "static/chunks/0gfqau6ep4-2d.js",
5
- "static/chunks/076h6~3japmyo.js",
6
- "static/chunks/0pwu1.k6n6.z_.js",
4
+ "static/chunks/07tmc1fd581-v.js",
5
+ "static/chunks/0y1iobvr7xv~m.js",
6
+ "static/chunks/06wc2umsaus4g.js",
7
7
  "static/chunks/0~qmpv1k~~-.r.js",
8
8
  "static/chunks/0qe146f.3s0ud.js",
9
9
  "static/chunks/12t3ws50siqw1.js",
@@ -13,25 +13,25 @@
13
13
  "static/chunks/0wlz6--vu7adu.js",
14
14
  "static/chunks/0ml5~2ty-rbv_.js",
15
15
  "static/chunks/0yi.kp2rt4-nc.js",
16
- "static/chunks/134dizutdhkgt.js",
17
- "static/chunks/09wg815lxyi._.js",
18
16
  "static/chunks/00yfl7agnve...js",
17
+ "static/chunks/09wg815lxyi._.js",
18
+ "static/chunks/134dizutdhkgt.js",
19
19
  "static/chunks/0ti3g2b7fhm5v.js",
20
20
  "static/chunks/05-mpg38w0a82.js",
21
- "static/chunks/0krzfta4.iaa9.js",
22
- "static/chunks/turbopack-05kcr-h8fwrrs.js"
21
+ "static/chunks/0komb9eh49_ay.js",
22
+ "static/chunks/turbopack-0_~_uhztguxbd.js"
23
23
  ],
24
24
  "/_app": [
25
- "static/chunks/0g.hz7eglx5s..js",
25
+ "static/chunks/08mloizj8v086.js",
26
26
  "static/chunks/08h59hstdxbn0.js",
27
- "static/chunks/004mrvd9r-_8y.js",
27
+ "static/chunks/00x-ygjkfbgnz.js",
28
28
  "static/chunks/00yfl7agnve...js",
29
29
  "static/chunks/0yi.kp2rt4-nc.js",
30
30
  "static/chunks/0~4_p.wm8.z1b.js",
31
31
  "static/chunks/05-mpg38w0a82.js",
32
32
  "static/chunks/078ug0z94g-5f.css",
33
33
  "static/chunks/0z3gpm0o.mwwy.css",
34
- "static/chunks/turbopack-0bil6fvm8svjz.js"
34
+ "static/chunks/turbopack-0.efilbq57kj~.js"
35
35
  ],
36
36
  "/_error": [
37
37
  "static/chunks/0~o730huopa91.js",
@@ -41,77 +41,77 @@
41
41
  ],
42
42
  "/agents": [
43
43
  "static/chunks/01jjn.wyn_ncl.js",
44
- "static/chunks/0.uz2amfosjm9.js",
45
- "static/chunks/0qbas4d_2~xdq.js",
46
- "static/chunks/09ic8khns87py.js",
47
- "static/chunks/0qe146f.3s0ud.js",
44
+ "static/chunks/0cjfef2q~d_lg.js",
48
45
  "static/chunks/05-mpg38w0a82.js",
46
+ "static/chunks/0ay.h74rl2t2c.js",
47
+ "static/chunks/0qe146f.3s0ud.js",
48
+ "static/chunks/0ti3g2b7fhm5v.js",
49
49
  "static/chunks/0-sxrfxgcu1ce.js",
50
- "static/chunks/12t3ws50siqw1.js",
51
50
  "static/chunks/06fd4gm.ayhf7.js",
51
+ "static/chunks/09ic8khns87py.js",
52
52
  "static/chunks/134dizutdhkgt.js",
53
53
  "static/chunks/0yi.kp2rt4-nc.js",
54
54
  "static/chunks/00yfl7agnve...js",
55
- "static/chunks/0ti3g2b7fhm5v.js",
55
+ "static/chunks/0komb9eh49_ay.js",
56
56
  "static/chunks/09wg815lxyi._.js",
57
57
  "static/chunks/0wlz6--vu7adu.js",
58
58
  "static/chunks/0ml5~2ty-rbv_.js",
59
+ "static/chunks/12t3ws50siqw1.js",
59
60
  "static/chunks/15aj3kd.p7zw6.js",
60
- "static/chunks/0krzfta4.iaa9.js",
61
- "static/chunks/turbopack-0sjxa78xx2say.js"
61
+ "static/chunks/turbopack-0_aedr7s11nt..js"
62
62
  ],
63
63
  "/agents/[agentId]/chat": [
64
- "static/chunks/0.uz2amfosjm9.js",
65
- "static/chunks/018sw2sdk3jk5.js",
66
- "static/chunks/15aj3kd.p7zw6.js",
64
+ "static/chunks/0fungak7h7t_u.js",
67
65
  "static/chunks/09ic8khns87py.js",
66
+ "static/chunks/0ay.h74rl2t2c.js",
67
+ "static/chunks/12t3ws50siqw1.js",
68
68
  "static/chunks/06fd4gm.ayhf7.js",
69
- "static/chunks/10r8rypk5fanv.js",
69
+ "static/chunks/15aj3kd.p7zw6.js",
70
70
  "static/chunks/0ti3g2b7fhm5v.js",
71
71
  "static/chunks/0qe146f.3s0ud.js",
72
- "static/chunks/12t3ws50siqw1.js",
72
+ "static/chunks/05-mpg38w0a82.js",
73
73
  "static/chunks/0uwhwut9t42z..js",
74
74
  "static/chunks/0yi.kp2rt4-nc.js",
75
- "static/chunks/0py3p~barq9qm.js",
75
+ "static/chunks/10r8rypk5fanv.js",
76
76
  "static/chunks/0p15~kn-ue177.js",
77
77
  "static/chunks/00yfl7agnve...js",
78
78
  "static/chunks/09wg815lxyi._.js",
79
79
  "static/chunks/0wlz6--vu7adu.js",
80
80
  "static/chunks/134dizutdhkgt.js",
81
+ "static/chunks/0py3p~barq9qm.js",
81
82
  "static/chunks/0-sxrfxgcu1ce.js",
82
- "static/chunks/05-mpg38w0a82.js",
83
- "static/chunks/0krzfta4.iaa9.js",
83
+ "static/chunks/0komb9eh49_ay.js",
84
84
  "static/chunks/0ml5~2ty-rbv_.js",
85
- "static/chunks/turbopack-09ej4eskzn7ca.js"
85
+ "static/chunks/turbopack-17z5tn-6x7j7e.js"
86
86
  ],
87
87
  "/agents/[agentId]/memory": [
88
88
  "static/chunks/0mi.f1.iffvs7.js",
89
- "static/chunks/0.uz2amfosjm9.js",
90
- "static/chunks/12t3ws50siqw1.js",
89
+ "static/chunks/0b64-twwftp.b.js",
90
+ "static/chunks/0ay.h74rl2t2c.js",
91
+ "static/chunks/05-mpg38w0a82.js",
91
92
  "static/chunks/0~qmpv1k~~-.r.js",
92
- "static/chunks/0cf.718s5_g~g.js",
93
- "static/chunks/0ti3g2b7fhm5v.js",
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
98
  "static/chunks/134dizutdhkgt.js",
99
99
  "static/chunks/0wlz6--vu7adu.js",
100
- "static/chunks/09wg815lxyi._.js",
101
- "static/chunks/0krzfta4.iaa9.js",
100
+ "static/chunks/0ti3g2b7fhm5v.js",
101
+ "static/chunks/0komb9eh49_ay.js",
102
102
  "static/chunks/00yfl7agnve...js",
103
103
  "static/chunks/0p15~kn-ue177.js",
104
104
  "static/chunks/0yi.kp2rt4-nc.js",
105
105
  "static/chunks/0ml5~2ty-rbv_.js",
106
106
  "static/chunks/0qe146f.3s0ud.js",
107
+ "static/chunks/09wg815lxyi._.js",
107
108
  "static/chunks/15aj3kd.p7zw6.js",
108
- "static/chunks/05-mpg38w0a82.js",
109
- "static/chunks/turbopack-0405ne8y1rcy3.js"
109
+ "static/chunks/turbopack-0j1pbu78_jr~5.js"
110
110
  ],
111
111
  "/agents/[agentId]/workspace": [
112
112
  "static/chunks/0kmwqchx6vxwc.js",
113
- "static/chunks/0.uz2amfosjm9.js",
114
- "static/chunks/018sw2sdk3jk5.js",
113
+ "static/chunks/0fungak7h7t_u.js",
114
+ "static/chunks/0ay.h74rl2t2c.js",
115
115
  "static/chunks/0~qmpv1k~~-.r.js",
116
116
  "static/chunks/05-mpg38w0a82.js",
117
117
  "static/chunks/00yfl7agnve...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/0krzfta4.iaa9.js",
127
+ "static/chunks/0komb9eh49_ay.js",
128
128
  "static/chunks/0qe146f.3s0ud.js",
129
129
  "static/chunks/134dizutdhkgt.js",
130
- "static/chunks/turbopack-0mhf3dmffx6er.js"
130
+ "static/chunks/turbopack-08x9ig8vdyhq4.js"
131
131
  ],
132
132
  "/login": [
133
133
  "static/chunks/14rkjvhij9msz.js",
@@ -146,25 +146,25 @@
146
146
  ],
147
147
  "/reports": [
148
148
  "static/chunks/0a0i6iubp4z.k.js",
149
- "static/chunks/0.uz2amfosjm9.js",
150
- "static/chunks/0cf.718s5_g~g.js",
151
- "static/chunks/0~qmpv1k~~-.r.js",
152
- "static/chunks/0ml5~2ty-rbv_.js",
149
+ "static/chunks/0b64-twwftp.b.js",
153
150
  "static/chunks/12t3ws50siqw1.js",
151
+ "static/chunks/0ay.h74rl2t2c.js",
152
+ "static/chunks/15aj3kd.p7zw6.js",
153
+ "static/chunks/0ti3g2b7fhm5v.js",
154
154
  "static/chunks/0qe146f.3s0ud.js",
155
155
  "static/chunks/05-mpg38w0a82.js",
156
- "static/chunks/06fd4gm.ayhf7.js",
156
+ "static/chunks/0~qmpv1k~~-.r.js",
157
157
  "static/chunks/0py3p~barq9qm.js",
158
- "static/chunks/09wg815lxyi._.js",
158
+ "static/chunks/0ml5~2ty-rbv_.js",
159
159
  "static/chunks/0wlz6--vu7adu.js",
160
- "static/chunks/0ti3g2b7fhm5v.js",
161
- "static/chunks/149fy9~6p0m~7.js",
160
+ "static/chunks/09wg815lxyi._.js",
161
+ "static/chunks/0hish8kae8ww1.js",
162
162
  "static/chunks/0yi.kp2rt4-nc.js",
163
163
  "static/chunks/00yfl7agnve...js",
164
164
  "static/chunks/0-sxrfxgcu1ce.js",
165
165
  "static/chunks/134dizutdhkgt.js",
166
- "static/chunks/15aj3kd.p7zw6.js",
167
- "static/chunks/turbopack-06.-_u_xqpkdb.js"
166
+ "static/chunks/06fd4gm.ayhf7.js",
167
+ "static/chunks/turbopack-0j0g-a-lc_b0v.js"
168
168
  ],
169
169
  "/reset": [
170
170
  "static/chunks/0_sdw~kzk-at0.js",
@@ -176,24 +176,24 @@
176
176
  ],
177
177
  "/stats": [
178
178
  "static/chunks/0kzdu-5p1onjr.js",
179
- "static/chunks/0.uz2amfosjm9.js",
180
- "static/chunks/0_roszihj6gx..js",
181
- "static/chunks/0~qmpv1k~~-.r.js",
182
- "static/chunks/0ti3g2b7fhm5v.js",
179
+ "static/chunks/0gx~s_r.d1ncl.js",
183
180
  "static/chunks/05-mpg38w0a82.js",
184
- "static/chunks/0-sxrfxgcu1ce.js",
181
+ "static/chunks/0ay.h74rl2t2c.js",
185
182
  "static/chunks/12t3ws50siqw1.js",
183
+ "static/chunks/0qe146f.3s0ud.js",
184
+ "static/chunks/0-sxrfxgcu1ce.js",
186
185
  "static/chunks/06fd4gm.ayhf7.js",
187
- "static/chunks/09wg815lxyi._.js",
186
+ "static/chunks/0~qmpv1k~~-.r.js",
187
+ "static/chunks/0ti3g2b7fhm5v.js",
188
188
  "static/chunks/00yfl7agnve...js",
189
189
  "static/chunks/0wlz6--vu7adu.js",
190
- "static/chunks/0qe146f.3s0ud.js",
190
+ "static/chunks/09wg815lxyi._.js",
191
191
  "static/chunks/134dizutdhkgt.js",
192
192
  "static/chunks/0ml5~2ty-rbv_.js",
193
- "static/chunks/0-8qfsh177.2g.js",
193
+ "static/chunks/0b8ftzkop9kc0.js",
194
194
  "static/chunks/15aj3kd.p7zw6.js",
195
195
  "static/chunks/0yi.kp2rt4-nc.js",
196
- "static/chunks/turbopack-0jpp~562~4bxu.js"
196
+ "static/chunks/turbopack-0bxdk9j0sss8q.js"
197
197
  ],
198
198
  "/tools-required": [
199
199
  "static/chunks/0kf8xkvr3218u.js",
@@ -208,32 +208,32 @@
208
208
  ],
209
209
  "/webview": [
210
210
  "static/chunks/0c8._01-id.jr.js",
211
- "static/chunks/0.uz2amfosjm9.js",
212
- "static/chunks/0-sxrfxgcu1ce.js",
213
- "static/chunks/018sw2sdk3jk5.js",
211
+ "static/chunks/0fungak7h7t_u.js",
212
+ "static/chunks/0ay.h74rl2t2c.js",
213
+ "static/chunks/0~qmpv1k~~-.r.js",
214
214
  "static/chunks/05-mpg38w0a82.js",
215
- "static/chunks/0ml5~2ty-rbv_.js",
216
215
  "static/chunks/0ti3g2b7fhm5v.js",
216
+ "static/chunks/0-sxrfxgcu1ce.js",
217
+ "static/chunks/12t3ws50siqw1.js",
217
218
  "static/chunks/06fd4gm.ayhf7.js",
218
- "static/chunks/0~qmpv1k~~-.r.js",
219
219
  "static/chunks/15aj3kd.p7zw6.js",
220
220
  "static/chunks/00yfl7agnve...js",
221
- "static/chunks/0krzfta4.iaa9.js",
222
- "static/chunks/0yi.kp2rt4-nc.js",
221
+ "static/chunks/0komb9eh49_ay.js",
222
+ "static/chunks/0ml5~2ty-rbv_.js",
223
223
  "static/chunks/09wg815lxyi._.js",
224
224
  "static/chunks/0wlz6--vu7adu.js",
225
225
  "static/chunks/134dizutdhkgt.js",
226
- "static/chunks/12t3ws50siqw1.js",
227
226
  "static/chunks/0qe146f.3s0ud.js",
228
- "static/chunks/turbopack-0fv_0jd3e0f3l.js"
227
+ "static/chunks/0yi.kp2rt4-nc.js",
228
+ "static/chunks/turbopack-0d0o9jpqo8w-t.js"
229
229
  ]
230
230
  },
231
231
  "devFiles": [],
232
232
  "polyfillFiles": [],
233
233
  "lowPriorityFiles": [
234
- "static/m92l36SvyhaOH3kPcLxX9/_buildManifest.js",
235
- "static/m92l36SvyhaOH3kPcLxX9/_ssgManifest.js",
236
- "static/m92l36SvyhaOH3kPcLxX9/_clientMiddlewareManifest.js"
234
+ "static/QBcppzKifu6ZXgxIb2laW/_buildManifest.js",
235
+ "static/QBcppzKifu6ZXgxIb2laW/_ssgManifest.js",
236
+ "static/QBcppzKifu6ZXgxIb2laW/_clientMiddlewareManifest.js"
237
237
  ],
238
238
  "rootMainFiles": []
239
239
  }
@@ -3,9 +3,9 @@
3
3
  "routes": {},
4
4
  "dynamicRoutes": {},
5
5
  "preview": {
6
- "previewModeId": "424c59b1bbe2d2a91eeb1030ef50dbb7",
7
- "previewModeSigningKey": "b02f2c24f3652c300f933ae54551741810797803c575eb09c043823cfac17fb5",
8
- "previewModeEncryptionKey": "3587174d8c4f9999d8ae2adbea4bdf1356a8e14747a2ca375ce5c250eadb6084"
6
+ "previewModeId": "c64789096eb78b3870e653780ece9913",
7
+ "previewModeSigningKey": "512dedfb5ad2fd55780508b1e2860a4aa1d7b2f11bd3bfbb539460dda51fcc94",
8
+ "previewModeEncryptionKey": "42c66696856d7387d52a65f665d6de5aed2a5d6b842d51c56e52a8bd8926db3c"
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": "d4e1c19"
5
+ "NEXT_PUBLIC_COMMIT_HASH": "14b0478"
6
6
  },
7
7
  "webpack": null,
8
8
  "typescript": {
@@ -608,59 +608,59 @@
608
608
  "dataRoutes": [
609
609
  {
610
610
  "page": "/",
611
- "dataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/index\\.json$"
611
+ "dataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/index\\.json$"
612
612
  },
613
613
  {
614
614
  "page": "/agents",
615
- "dataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/agents\\.json$"
615
+ "dataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/agents\\.json$"
616
616
  },
617
617
  {
618
618
  "page": "/agents/[agentId]/chat",
619
619
  "routeKeys": {
620
620
  "nxtPagentId": "nxtPagentId"
621
621
  },
622
- "dataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/agents/([^/]+?)/chat\\.json$",
623
- "namedDataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/agents/(?<nxtPagentId>[^/]+?)/chat\\.json$"
622
+ "dataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/agents/([^/]+?)/chat\\.json$",
623
+ "namedDataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/agents/(?<nxtPagentId>[^/]+?)/chat\\.json$"
624
624
  },
625
625
  {
626
626
  "page": "/agents/[agentId]/memory",
627
627
  "routeKeys": {
628
628
  "nxtPagentId": "nxtPagentId"
629
629
  },
630
- "dataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/agents/([^/]+?)/memory\\.json$",
631
- "namedDataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/agents/(?<nxtPagentId>[^/]+?)/memory\\.json$"
630
+ "dataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/agents/([^/]+?)/memory\\.json$",
631
+ "namedDataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/agents/(?<nxtPagentId>[^/]+?)/memory\\.json$"
632
632
  },
633
633
  {
634
634
  "page": "/agents/[agentId]/workspace",
635
635
  "routeKeys": {
636
636
  "nxtPagentId": "nxtPagentId"
637
637
  },
638
- "dataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/agents/([^/]+?)/workspace\\.json$",
639
- "namedDataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/agents/(?<nxtPagentId>[^/]+?)/workspace\\.json$"
638
+ "dataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/agents/([^/]+?)/workspace\\.json$",
639
+ "namedDataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/agents/(?<nxtPagentId>[^/]+?)/workspace\\.json$"
640
640
  },
641
641
  {
642
642
  "page": "/login",
643
- "dataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/login\\.json$"
643
+ "dataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/login\\.json$"
644
644
  },
645
645
  {
646
646
  "page": "/reports",
647
- "dataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/reports\\.json$"
647
+ "dataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/reports\\.json$"
648
648
  },
649
649
  {
650
650
  "page": "/reset",
651
- "dataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/reset\\.json$"
651
+ "dataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/reset\\.json$"
652
652
  },
653
653
  {
654
654
  "page": "/stats",
655
- "dataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/stats\\.json$"
655
+ "dataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/stats\\.json$"
656
656
  },
657
657
  {
658
658
  "page": "/tools-required",
659
- "dataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/tools-required\\.json$"
659
+ "dataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/tools-required\\.json$"
660
660
  },
661
661
  {
662
662
  "page": "/webview",
663
- "dataRouteRegex": "^/_next/data/m92l36SvyhaOH3kPcLxX9/webview\\.json$"
663
+ "dataRouteRegex": "^/_next/data/QBcppzKifu6ZXgxIb2laW/webview\\.json$"
664
664
  }
665
665
  ],
666
666
  "i18n": {
@@ -0,0 +1,3 @@
1
+ module.exports=[666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},688947,(a,b,c)=>{b.exports=a.x("stream",()=>require("stream"))},406461,(a,b,c)=>{b.exports=a.x("zlib",()=>require("zlib"))},522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},508171,(a,b,c)=>{b.exports=a.x("react/jsx-runtime",()=>require("react/jsx-runtime"))},127669,(a,b,c)=>{b.exports=a.x("react",()=>require("react"))},456195,(a,b,c)=>{b.exports=a.x("react-dom",()=>require("react-dom"))},398544,(a,b,c)=>{a.e,b.exports=function(){"use strict";var a="millisecond",b="second",c="minute",d="hour",e="week",f="month",g="quarter",h="year",i="date",j="Invalid Date",k=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,l=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m=function(a,b,c){var d=String(a);return!d||d.length>=b?a:""+Array(b+1-d.length).join(c)+a},n="en",o={};o[n]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(a){var b=["th","st","nd","rd"],c=a%100;return"["+a+(b[(c-20)%10]||b[c]||b[0])+"]"}};var p="$isDayjsObject",q=function(a){return a instanceof u||!(!a||!a[p])},r=function a(b,c,d){var e;if(!b)return n;if("string"==typeof b){var f=b.toLowerCase();o[f]&&(e=f),c&&(o[f]=c,e=f);var g=b.split("-");if(!e&&g.length>1)return a(g[0])}else{var h=b.name;o[h]=b,e=h}return!d&&e&&(n=e),e||!d&&n},s=function(a,b){if(q(a))return a.clone();var c="object"==typeof b?b:{};return c.date=a,c.args=arguments,new u(c)},t={s:m,z:function(a){var b=-a.utcOffset(),c=Math.abs(b);return(b<=0?"+":"-")+m(Math.floor(c/60),2,"0")+":"+m(c%60,2,"0")},m:function a(b,c){if(b.date()<c.date())return-a(c,b);var d=12*(c.year()-b.year())+(c.month()-b.month()),e=b.clone().add(d,f),g=c-e<0,h=b.clone().add(d+(g?-1:1),f);return+(-(d+(c-e)/(g?e-h:h-e))||0)},a:function(a){return a<0?Math.ceil(a)||0:Math.floor(a)},p:function(j){return({M:f,y:h,w:e,d:"day",D:i,h:d,m:c,s:b,ms:a,Q:g})[j]||String(j||"").toLowerCase().replace(/s$/,"")},u:function(a){return void 0===a}};t.l=r,t.i=q,t.w=function(a,b){return s(a,{locale:b.$L,utc:b.$u,x:b.$x,$offset:b.$offset})};var u=function(){function m(a){this.$L=r(a.locale,null,!0),this.parse(a),this.$x=this.$x||a.x||{},this[p]=!0}var n=m.prototype;return n.parse=function(a){this.$d=function(a){var b=a.date,c=a.utc;if(null===b)return new Date(NaN);if(t.u(b))return new Date;if(b instanceof Date)return new Date(b);if("string"==typeof b&&!/Z$/i.test(b)){var d=b.match(k);if(d){var e=d[2]-1||0,f=(d[7]||"0").substring(0,3);return c?new Date(Date.UTC(d[1],e,d[3]||1,d[4]||0,d[5]||0,d[6]||0,f)):new Date(d[1],e,d[3]||1,d[4]||0,d[5]||0,d[6]||0,f)}}return new Date(b)}(a),this.init()},n.init=function(){var a=this.$d;this.$y=a.getFullYear(),this.$M=a.getMonth(),this.$D=a.getDate(),this.$W=a.getDay(),this.$H=a.getHours(),this.$m=a.getMinutes(),this.$s=a.getSeconds(),this.$ms=a.getMilliseconds()},n.$utils=function(){return t},n.isValid=function(){return this.$d.toString()!==j},n.isSame=function(a,b){var c=s(a);return this.startOf(b)<=c&&c<=this.endOf(b)},n.isAfter=function(a,b){return s(a)<this.startOf(b)},n.isBefore=function(a,b){return this.endOf(b)<s(a)},n.$g=function(a,b,c){return t.u(a)?this[b]:this.set(c,a)},n.unix=function(){return Math.floor(this.valueOf()/1e3)},n.valueOf=function(){return this.$d.getTime()},n.startOf=function(a,g){var j=this,k=!!t.u(g)||g,l=t.p(a),m=function(a,b){var c=t.w(j.$u?Date.UTC(j.$y,b,a):new Date(j.$y,b,a),j);return k?c:c.endOf("day")},n=function(a,b){return t.w(j.toDate()[a].apply(j.toDate("s"),(k?[0,0,0,0]:[23,59,59,999]).slice(b)),j)},o=this.$W,p=this.$M,q=this.$D,r="set"+(this.$u?"UTC":"");switch(l){case h:return k?m(1,0):m(31,11);case f:return k?m(1,p):m(0,p+1);case e:var s=this.$locale().weekStart||0,u=(o<s?o+7:o)-s;return m(k?q-u:q+(6-u),p);case"day":case i:return n(r+"Hours",0);case d:return n(r+"Minutes",1);case c:return n(r+"Seconds",2);case b:return n(r+"Milliseconds",3);default:return this.clone()}},n.endOf=function(a){return this.startOf(a,!1)},n.$set=function(e,g){var j,k=t.p(e),l="set"+(this.$u?"UTC":""),m=((j={}).day=l+"Date",j[i]=l+"Date",j[f]=l+"Month",j[h]=l+"FullYear",j[d]=l+"Hours",j[c]=l+"Minutes",j[b]=l+"Seconds",j[a]=l+"Milliseconds",j)[k],n="day"===k?this.$D+(g-this.$W):g;if(k===f||k===h){var o=this.clone().set(i,1);o.$d[m](n),o.init(),this.$d=o.set(i,Math.min(this.$D,o.daysInMonth())).$d}else m&&this.$d[m](n);return this.init(),this},n.set=function(a,b){return this.clone().$set(a,b)},n.get=function(a){return this[t.p(a)]()},n.add=function(a,g){var i,j=this;a=Number(a);var k=t.p(g),l=function(b){var c=s(j);return t.w(c.date(c.date()+Math.round(b*a)),j)};if(k===f)return this.set(f,this.$M+a);if(k===h)return this.set(h,this.$y+a);if("day"===k)return l(1);if(k===e)return l(7);var m=((i={})[c]=6e4,i[d]=36e5,i[b]=1e3,i)[k]||1,n=this.$d.getTime()+a*m;return t.w(n,this)},n.subtract=function(a,b){return this.add(-1*a,b)},n.format=function(a){var b=this,c=this.$locale();if(!this.isValid())return c.invalidDate||j;var d=a||"YYYY-MM-DDTHH:mm:ssZ",e=t.z(this),f=this.$H,g=this.$m,h=this.$M,i=c.weekdays,k=c.months,m=c.meridiem,n=function(a,c,e,f){return a&&(a[c]||a(b,d))||e[c].slice(0,f)},o=function(a){return t.s(f%12||12,a,"0")},p=m||function(a,b,c){var d=a<12?"AM":"PM";return c?d.toLowerCase():d};return d.replace(l,function(a,d){return d||function(a){switch(a){case"YY":return String(b.$y).slice(-2);case"YYYY":return t.s(b.$y,4,"0");case"M":return h+1;case"MM":return t.s(h+1,2,"0");case"MMM":return n(c.monthsShort,h,k,3);case"MMMM":return n(k,h);case"D":return b.$D;case"DD":return t.s(b.$D,2,"0");case"d":return String(b.$W);case"dd":return n(c.weekdaysMin,b.$W,i,2);case"ddd":return n(c.weekdaysShort,b.$W,i,3);case"dddd":return i[b.$W];case"H":return String(f);case"HH":return t.s(f,2,"0");case"h":return o(1);case"hh":return o(2);case"a":return p(f,g,!0);case"A":return p(f,g,!1);case"m":return String(g);case"mm":return t.s(g,2,"0");case"s":return String(b.$s);case"ss":return t.s(b.$s,2,"0");case"SSS":return t.s(b.$ms,3,"0");case"Z":return e}return null}(a)||e.replace(":","")})},n.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},n.diff=function(a,i,j){var k,l=this,m=t.p(i),n=s(a),o=(n.utcOffset()-this.utcOffset())*6e4,p=this-n,q=function(){return t.m(l,n)};switch(m){case h:k=q()/12;break;case f:k=q();break;case g:k=q()/3;break;case e:k=(p-o)/6048e5;break;case"day":k=(p-o)/864e5;break;case d:k=p/36e5;break;case c:k=p/6e4;break;case b:k=p/1e3;break;default:k=p}return j?k:t.a(k)},n.daysInMonth=function(){return this.endOf(f).$D},n.$locale=function(){return o[this.$L]},n.locale=function(a,b){if(!a)return this.$L;var c=this.clone(),d=r(a,b,!0);return d&&(c.$L=d),c},n.clone=function(){return t.w(this.$d,this)},n.toDate=function(){return new Date(this.valueOf())},n.toJSON=function(){return this.isValid()?this.toISOString():null},n.toISOString=function(){return this.$d.toISOString()},n.toString=function(){return this.$d.toUTCString()},m}(),v=u.prototype;return s.prototype=v,[["$ms",a],["$s",b],["$m",c],["$H",d],["$W","day"],["$M",f],["$y",h],["$D",i]].forEach(function(a){v[a[1]]=function(b){return this.$g(b,a[0],a[1])}}),s.extend=function(a,b){return a.$i||(a(b,u,s),a.$i=!0),s},s.locale=r,s.isDayjs=q,s.unix=function(a){return s(1e3*a)},s.en=o[n],s.Ls=o,s.p={},s}()},986013,a=>{"use strict";let b,c;var d=a.i(666680);a.s(["nanoid",0,function(a=21){var e;e=a|=0,!b||b.length<e?(b=Buffer.allocUnsafe(128*e),d.webcrypto.getRandomValues(b),c=0):c+e>b.length&&(d.webcrypto.getRandomValues(b),c=0),c+=e;let f="";for(let d=c-a;d<c;d++)f+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&b[d]];return f}],986013)},144784,a=>{"use strict";let b=a=>"pane"===a.type?[a]:[...b(a.children[0]),...b(a.children[1])],c=(a,b)=>"pane"===a.type?a.id===b?a:null:c(a.children[0],b)||c(a.children[1],b),d=a=>"pane"===a.type?a.id:d(a.children[0]),e=a=>"pane"===a.type?a.id:e(a.children[1]),f=(a,b,c)=>"pane"===a.type?a.id===b?c:a:{...a,children:[f(a.children[0],b,c),f(a.children[1],b,c)]},g=(a,b)=>{if("pane"===a.type)return null;let[c,d]=a.children;if("pane"===c.type&&c.id===b)return d;if("pane"===d.type&&d.id===b)return c;let e=g(c,b);if(e)return{...a,children:[e,d]};let f=g(d,b);return f?{...a,children:[c,f]}:null},h=(a,b)=>{if("pane"===a.type)return null;let[c,f]=a.children;return"pane"===c.type&&c.id===b?d(f):"pane"===f.type&&f.id===b?e(c):h(c,b)||h(f,b)},i=(a,b,c)=>{if("split"!==a.type)return a;if(0===b.length)return{...a,ratio:c};let[d,...e]=b,f=[a.children[0],a.children[1]];return f[d]=i(a.children[d],e,c),{...a,children:f}},j=(a,b)=>"pane"===a.type||a.orientation!==b?1:j(a.children[0],b)+j(a.children[1],b),k=a=>{if("pane"===a.type)return!0;let b=j(a.children[0],a.orientation),c=j(a.children[1],a.orientation);return!(Math.abs(a.ratio-b/(b+c)*100)>1)&&k(a.children[0])&&k(a.children[1])},l=a=>{if("pane"===a.type)return a;let b=j(a.children[0],a.orientation),c=Math.round(b/(b+j(a.children[1],a.orientation))*1e4)/100;return{...a,ratio:c,children:[l(a.children[0]),l(a.children[1])]}},m=(a,b,c)=>{if("pane"===a.type)return a.id===b?c(a):a;let d=m(a.children[0],b,c);if(d!==a.children[0])return{...a,children:[d,a.children[1]]};let e=m(a.children[1],b,c);return e!==a.children[1]?{...a,children:[a.children[0],e]}:a};a.s(["collectAllTabs",0,a=>b(a).flatMap(a=>a.tabs),"collectPanes",0,b,"equalizeNode",0,l,"findAdjacentPaneInDirection",0,(a,b,c)=>{let f=[],g=a=>{if("pane"===a.type)return a.id===b;for(let b=0;b<2;b++){if(f.push({node:a,childIndex:b}),g(a.children[b]))return!0;f.pop()}return!1};if(!g(a))return null;let h="left"===c||"right"===c?"horizontal":"vertical",i=+("left"===c||"up"===c);for(let a=f.length-1;a>=0;a--){let{node:b,childIndex:g}=f[a];if("split"===b.type&&b.orientation===h&&g===i){let a=b.children[1-i];return"left"===c||"up"===c?e(a):d(a)}}return null},"findPane",0,c,"getFirstPaneId",0,d,"isEqualized",0,k,"removePaneWithFocus",0,(a,c)=>{let d=h(a.root,c),e=g(a.root,c);e&&(a.root=e),a.activePaneId===c&&(a.activePaneId=d??b(a.root)[0]?.id??null)},"replacePane",0,f,"updatePaneInTree",0,m,"updateRatioAtPath",0,i])},721043,a=>{"use strict";a.s(["default",0,!1])},4873,a=>{"use strict";var b=a.i(127669);let c=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},d=a=>{let d=a?c(a):c,e=a=>(function(a,c=a=>a){let d=b.default.useSyncExternalStore(a.subscribe,b.default.useCallback(()=>c(a.getState()),[a,c]),b.default.useCallback(()=>c(a.getInitialState()),[a,c]));return b.default.useDebugValue(d),d})(d,a);return Object.assign(e,d),e};a.s(["create",0,a=>a?d(a):d],4873)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__12~vy9f._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[760644,a=>{"use strict";var b=a.i(4873);let c={terminalConnected:!1,claudeStatus:"unknown",claudeStatusCheckedAt:0,cliState:"inactive",isTimelineLoading:!0,isRestarting:!1,isResuming:!1,workspaceId:""},d=(a,b,c)=>{let d=a[b];return d?{...a,[b]:{...d,...c}}:a},e=(0,b.create)(a=>({tabs:{},tabOrders:{},statusWsConnected:!1,initTab:(b,d)=>a(a=>{let e=a.tabs[b],f={...c,...e,...d};return e?.cliState==="ready-for-review"&&"ready-for-review"!==f.cliState&&(f.cliState="ready-for-review",f.readyForReviewAt=e.readyForReviewAt),{tabs:{...a.tabs,[b]:f}}}),removeTab:b=>a(a=>{let{[b]:c,...d}=a.tabs;return{tabs:d}}),setTerminalConnected:(b,c)=>a(a=>{let e=a.tabs[b];return e&&e.terminalConnected!==c?{tabs:d(a.tabs,b,{terminalConnected:c})}:a}),setClaudeStatus:(b,c,e)=>a(a=>{let f=a.tabs[b];if(!f||f.claudeStatusCheckedAt>e||f.claudeStatus===c||"running"===f.claudeStatus&&"starting"===c)return a;let g={claudeStatus:c,claudeStatusCheckedAt:e};return("running"===f.claudeStatus||"starting"===f.claudeStatus)&&"running"!==c&&"starting"!==c&&f.isResuming&&(g.isResuming=!1),{tabs:d(a.tabs,b,g)}}),setTimelineLoading:(b,c)=>a(a=>{let e=a.tabs[b];return e&&e.isTimelineLoading!==c?{tabs:d(a.tabs,b,{isTimelineLoading:c})}:a}),setRestarting:(b,c)=>a(a=>{let e=a.tabs[b];return e&&e.isRestarting!==c?{tabs:d(a.tabs,b,{isRestarting:c})}:a}),cancelTab:b=>a(a=>{let c=a.tabs[b];return c&&"cancelled"!==c.cliState?{tabs:d(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:d(a.tabs,b,{cliState:"idle",dismissedAt:Date.now()})}:a}),setResuming:(b,c)=>a(a=>{let e=a.tabs[b];return e&&e.isResuming!==c?{tabs:d(a.tabs,b,{isResuming:c})}:a}),setWorkspaceId:(b,c)=>a(a=>{let e=a.tabs[b];return e&&e.workspaceId!==c?{tabs:d(a.tabs,b,{workspaceId:c})}:a}),setPanelType:(b,c)=>a(a=>{let e=a.tabs[b];return e&&e.panelType!==c?{tabs:d(a.tabs,b,{panelType:c})}:a}),setCurrentProcess:(b,c)=>a(a=>{let e=a.tabs[b];if(!e)return a;let f=c??void 0;return e.currentProcess===f?a:{tabs:d(a.tabs,b,{currentProcess:f,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 d=Date.now(),e={};for(let[f,g]of Object.entries(b)){let b=a.tabs[f];if(b?.cliState==="cancelled"){e[f]=b;continue}b?.localUpdatedAt&&d-b.localUpdatedAt<3e4?e[f]={...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?e[f]={...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}:e[f]={...c,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))e[b]||(e[b]=c);return{tabs:e}}),updateFromServer:(b,e)=>a(a=>{if(null===e.cliState){let{[b]:c,...d}=a.tabs;return{tabs:d}}let f=a.tabs[b];if(f){if("cancelled"===f.cliState)return a;let c=void 0!==e.eventSeq&&(void 0===f.eventSeq||e.eventSeq>=f.eventSeq)?{lastEvent:e.lastEvent,eventSeq:e.eventSeq}:{};return{tabs:d(a.tabs,b,{cliState:e.cliState,workspaceId:e.workspaceId,tabName:e.tabName,panelType:e.panelType??f.panelType,terminalStatus:e.terminalStatus,listeningPorts:e.listeningPorts,currentProcess:e.currentProcess,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,...c})}}return{tabs:{...a.tabs,[b]:{...c,cliState:e.cliState,workspaceId:e.workspaceId,tabName:e.tabName,panelType:e.panelType,terminalStatus:e.terminalStatus,listeningPorts:e.listeningPorts,currentProcess:e.currentProcess,claudeSummary:e.claudeSummary,lastUserMessage:e.lastUserMessage,lastAssistantMessage:e.lastAssistantMessage,readyForReviewAt:e.readyForReviewAt,busySince:e.busySince,dismissedAt:e.dismissedAt,claudeSessionId:e.claudeSessionId,compactingSince:e.compactingSince,lastEvent:e.lastEvent,eventSeq:e.eventSeq}}}}),applyHookEvent:(b,c)=>a(a=>{let e=a.tabs[b];return!e||void 0!==e.eventSeq&&c.seq<=e.eventSeq?a:{tabs:d(a.tabs,b,{lastEvent:c,eventSeq:c.seq})}})}));a.s(["default",0,e,"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(", :")}])},484682,a=>{"use strict";var b=a.i(127669);let c=(a,b)=>{let c=a instanceof Map?a:new Map(a.entries()),d=b instanceof Map?b:new Map(b.entries());if(c.size!==d.size)return!1;for(let[a,b]of c)if(!d.has(a)||!Object.is(b,d.get(a)))return!1;return!0};a.s(["useShallow",0,function(a){let d=b.default.useRef(void 0);return b=>{let e=a(b);return!function(a,b){if(Object.is(a,b))return!0;if("object"!=typeof a||null===a||"object"!=typeof b||null===b||Object.getPrototypeOf(a)!==Object.getPrototypeOf(b))return!1;if(Symbol.iterator in a&&Symbol.iterator in b){if("entries"in a&&"entries"in b)return c(a,b);let d=a[Symbol.iterator](),e=b[Symbol.iterator](),f=d.next(),g=e.next();for(;!f.done&&!g.done;){if(!Object.is(f.value,g.value))return!1;f=d.next(),g=e.next()}return!!f.done&&!!g.done}return c({entries:()=>Object.entries(a)},{entries:()=>Object.entries(b)})}(d.current,e)?d.current=e:d.current}}],484682)},959709,912251,a=>{"use strict";var b=a.i(127669),c=a.i(510414),d=a.i(892209),e=a.i(760644);let f=new Set(["/new","/clear"]),g=a=>`pt-input-draft:${a}`,h=a=>{try{localStorage.removeItem(g(a))}catch{}};a.s(["clearInputDraft",0,h,"default",0,(a,i,j,k)=>{let l=k?.tabId,[m,n]=(0,b.useState)(()=>l?(a=>{try{return localStorage.getItem(g(a))??""}catch{return""}})(l):""),o=(0,b.useRef)(null),p=(0,b.useMemo)(()=>(0,e.isCliIdle)(a)||"unknown"===a?"input":"busy"===a||"needs-input"===a?"interrupt":"disabled",[a]),q=k?.onRestartSession,r=k?.onMessageSent,s=(0,b.useRef)(null);(0,b.useEffect)(()=>{if(l)return s.current&&clearTimeout(s.current),s.current=setTimeout(()=>((a,b)=>{try{b?localStorage.setItem(g(a),b):localStorage.removeItem(g(a))}catch{}})(l,m),300),()=>{s.current&&clearTimeout(s.current)}},[l,m]);let t=(0,b.useCallback)(()=>{if("disabled"===p)return void c.toast.error("Claude Code가 실행 중이 아닙니다");if(!j)return void c.toast.error((0,d.t)("connection","terminalDisconnected"));if(""!==m.trim()){if(f.has(m.trim().toLowerCase())){q?.(),n(""),l&&h(l);return}m.includes("\n")?(i(`\x1b[200~${m}\x1b[201~\r`),setTimeout(()=>i("\r"),500)):(i(m),setTimeout(()=>i("\r"),50)),m.trim().startsWith("/")||r?.(m.trim()),n(""),l&&h(l)}},[p,m,i,j,q,r,l]),u=(0,b.useCallback)(()=>{j?i("\x1b\x1b"):c.toast.error((0,d.t)("connection","terminalDisconnected"))},[i,j]),v=(0,b.useCallback)(()=>{let a=o.current;if(!a)return;a.focus();let b=a.value.length;a.setSelectionRange(b,b)},[]),[w,x]=(0,b.useState)(p);w!==p&&(x(p),"disabled"===p&&n(""));let y="disabled"!==p&&j;return{value:m,setValue:n,mode:p,canSend:y,send:t,interrupt:u,textareaRef:o,focusInput:v}}],959709);var i=a.i(4873);let j=[],k=!0,l=a=>{},m=a=>{fetch("/api/workspace/active",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({activeWorkspaceId:a})}).catch(()=>{})},n=(a,b)=>b&&a.some(a=>a.id===b)?b:a[0]?.id??null,o=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}`)})},p=(0,i.create)((a,b)=>({workspaces:j,activeWorkspaceId:j.length>0?n(j):null,sidebarCollapsed:!1,sidebarWidth:240,sidebarTab:"workspace",isLoading:k,error:null,hydrate:b=>{let c=n(b.workspaces,b.activeWorkspaceId);l(c),c&&m(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=n(c.workspaces,c.activeWorkspaceId);l(d),a({workspaces:c.workspaces,activeWorkspaceId:d,sidebarCollapsed:c.sidebarCollapsed??!1,sidebarWidth:c.sidebarWidth??240,isLoading:!1})}catch{a({error:(0,d.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,e,f)=>{try{let c=await fetch("/api/workspace",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:b,name:e,resumeSessionId:f})});if(!c.ok){let a=await c.json();throw Error(a.error||(0,d.t)("workspace","createFailed"))}let g=await c.json();return a(a=>({workspaces:[...a.workspaces,g]})),g}catch(b){let a=b instanceof Error?b.message:(0,d.t)("workspace","createFailed");return c.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 c.toast.error((0,d.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&&(l(e),e&&m(e)),{workspaces:c,activeWorkspaceId:e}})},switchWorkspace:b=>{a({activeWorkspaceId:b}),l(b),m(b)},renameWorkspace:async(e,f)=>{let g=b().workspaces.find(a=>a.id===e),h=g?.name??"";a(a=>({workspaces:a.workspaces.map(a=>a.id===e?{...a,name:f}:a)}));try{if(!(await fetch(`/api/workspace/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f})})).ok)throw Error();return!0}catch{return a(a=>({workspaces:a.workspaces.map(a=>a.id===e?{...a,name:h}:a)})),c.toast.error((0,d.t)("workspace","renameFailed")),!1}},reorderWorkspaces:(e,f)=>{let g=[...b().workspaces],[h]=g.splice(e,1);g.splice(f,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(()=>{c.toast.error((0,d.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 o({sidebarCollapsed:b}),{sidebarCollapsed:b}})},setSidebarWidth:b=>{a({sidebarWidth:b})},saveSidebarWidth:a=>{o({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,d.t)("workspace","validateFailed")}}}}));a.s(["default",0,p],912251)},626605,a=>{"use strict";a.s(["default",()=>C,"navigateToTab",()=>A,"navigateToTabOrCreate",()=>B,"useLayoutStore",()=>z]);var b=a.i(127669),c=a.i(41910),d=a.i(4873),e=a.i(484682),f=a.i(510414),g=a.i(892209),h=a.i(959709),i=a.i(760644),j=a.i(912251),k=a.i(199462),l=a.i(144784);let m="pt-active-pane-",n="pt-active-tab-",o=a=>{try{return sessionStorage.getItem(`${n}${a}`)}catch{return null}},p=null,q=null,r=null,s=!1,t=(a,b)=>{if(!b)return a;let c=a.includes("?")?"&":"?";return`${a}${c}workspace=${b}`},u=(a,b)=>{let c=a?(0,l.collectPanes)(a.root).length:0;return{paneCount:c,canSplit:c<10&&!b}},v=(a,b,c)=>{a({layout:c,...u(c,b().isSplitting)})},w=(a,b,c)=>{let d=b().layout;if(d){let a=(0,l.collectPanes)(c.root);for(let b of(d.activePaneId&&a.some(a=>a.id===d.activePaneId)&&(c.activePaneId=d.activePaneId),a)){let a=(0,l.findPane)(d.root,b.id);a?.activeTabId&&b.tabs.some(b=>b.id===a.activeTabId)&&(b.activeTabId=a.activeTabId)}}a({layout:c,...u(c,b().isSplitting)})},x=(a,b,c,d)=>{let{layout:e}=b();if(!e)return;let f=(0,l.updatePaneInTree)(e.root,c,d);f!==e.root&&v(a,b,{...e,root:f})},y=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}},z=(0,d.create)((a,b)=>({layout:null,isLoading:!0,error:null,isSplitting:!1,workspaceId:null,retryCount:0,paneCount:0,canSplit:!1,pendingFocusTabId:null,setWorkspaceId:b=>{s=!1,a({workspaceId:b})},setLayout:c=>{v(a,b,c)},fetchLayout:async(c,d)=>{if(s)return;let e=c??b().workspaceId;if(!e)return;p?.abort();let h=new AbortController;p=h,b().layout||a({isLoading:!0,error:null});try{let c=await fetch(t("/api/layout",e),{signal:h.signal});if(!c.ok)throw Error();let f=await c.json();if(h.signal.aborted)return;let g=b().layout;if(!1!==d){let a=(0,l.collectPanes)(f.root);if(g)for(let b of(g.activePaneId&&a.some(a=>a.id===g.activePaneId)&&(f.activePaneId=g.activePaneId),a)){let a=(0,l.findPane)(g.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(`${m}${a}`)}catch{return null}})(e);for(let c of(b&&a.some(a=>a.id===b)&&(f.activePaneId=b),a)){let a=o(c.id);a&&c.tabs.some(b=>b.id===a)&&(c.activeTabId=a)}}}if(g){let c={root:g.root,activePaneId:g.activePaneId},d={root:f.root,activePaneId:f.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,l.collectPanes)(f.root)))if(b.tabs.some(a=>a.id===i)){f.activePaneId=b.id,b.activeTabId=i,j=b.id;break}}a({layout:f,retryCount:0,...u(f,b().isSplitting)}),j&&(y(t("/api/layout",e),{activePaneId:j}),y(t(`/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(t("/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(),h={root:{type:"pane",id:d,tabs:[e],activeTabId:e.id},activePaneId:d,updatedAt:new Date().toISOString()};a({layout:h,...u(h,b().isSplitting)}),f.toast.info((0,g.t)("terminal","fallbackLayout")),a({retryCount:0});return}}catch{}a({error:(0,g.t)("terminal","layoutFetchError")}),q?.()}finally{h.signal.aborted||a({isLoading:!1})}},splitPane:async(c,d)=>{let{layout:e,isSplitting:h,workspaceId:i}=b();if(e&&!h&&!((0,l.collectPanes)(e.root).length>=10)){a({isSplitting:!0,canSplit:!1});try{let f,g,h=(0,l.findPane)(e.root,c),j=h?.tabs.find(a=>a.id===h.activeTabId);if(j){g=j.panelType;try{let a=await fetch(t(`/api/layout/cwd?session=${j.sessionName}`,i));a.ok&&(f=(await a.json()).cwd)}catch{}}let k=await fetch(t("/api/layout/pane",i),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourcePaneId:c,orientation:d,cwd:f,panelType:g})});if(!k.ok)throw Error();let m=await k.json();v(a,b,m)}catch{f.toast.error((0,g.t)("terminal","splitFailed"))}finally{a(a=>({isSplitting:!1,canSplit:a.paneCount<10}))}}},closePane:async c=>{let{layout:d,workspaceId:e}=b();if(d&&!((0,l.collectPanes)(d.root).length<=1))try{let d=await fetch(t(`/api/layout/pane/${c}`,e),{method:"DELETE"});if(!d.ok)throw Error();let f=await d.json();v(a,b,f)}catch{f.toast.error("Pane을 닫을 수 없습니다")}},focusPane:c=>{let{layout:d,workspaceId:e}=b();d&&d.activePaneId!==c&&(a({layout:{...d,activePaneId:c}}),y(t("/api/layout",e),{activePaneId:c}).then(c=>{c&&w(a,b,c)}))},updateRatio:(c,d)=>{let{layout:e,workspaceId:f}=b();e&&(a({layout:{...e,root:(0,l.updateRatioAtPath)(e.root,c,d)}}),r&&clearTimeout(r),r=setTimeout(()=>{r=null,y(t("/api/layout",f),{ratioUpdate:{path:c,ratio:d}}).then(c=>{c&&w(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,l.findPane)(i.root,d),k=(0,l.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,l.collectPanes)(i.root).length>1&&(0,l.removePaneWithFocus)(i,d),i.activePaneId=e,v(a,b,i)}}fetch(t(`/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=>{c.ok?w(a,b,await c.json()):await b().fetchLayout(void 0,!1)}).catch(()=>b().fetchLayout(void 0,!1))},createTabInPane:async(c,d,e)=>{let{layout:h,workspaceId:j}=b();try{let f,g=d,m=h?(0,l.findPane)(h.root,c):void 0,n=m?.tabs.find(a=>a.id===m.activeTabId);!g&&n&&(g=n.panelType),"web-browser"!==g&&n&&(f=k.default.getState().metadata[n.id]?.cwd);let o=await fetch(t(`/api/layout/pane/${c}/tabs`,j),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:f,panelType:g,command:e})});if(!o.ok)throw Error();let p=await o.json();return e&&i.default.getState().initTab(p.id,{panelType:g,isRestarting:!0}),x(a,b,c,a=>({...a,tabs:[...a.tabs,p],activeTabId:p.id})),b().fetchLayout(),p}catch{return f.toast.error((0,g.t)("terminal","tabCreateFailed")),null}},deleteTabInPane:async(c,d)=>{(0,h.clearInputDraft)(d),i.default.getState().cancelTab(d),x(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(t(`/api/layout/pane/${c}/tabs/${d}`,e),{method:"DELETE"});a.ok||404===a.status||(f.toast.error((0,g.t)("terminal","tabDeleteError")),await b().fetchLayout())}catch{f.toast.error((0,g.t)("terminal","tabDeleteError")),await b().fetchLayout()}},restartTabInPane:async(a,c,d)=>{let{workspaceId:e}=b();try{return(await fetch(t(`/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 f.toast.error((0,g.t)("terminal","sessionRestartFailed")),!1}},switchTabInPane:(c,d)=>{x(a,b,c,a=>({...a,activeTabId:d}));let{workspaceId:e}=b();y(t(`/api/layout/pane/${c}`,e),{activeTabId:d}).then(c=>{c&&w(a,b,c)})},renameTabInPane:async(c,d,e)=>{x(a,b,c,a=>({...a,tabs:a.tabs.map(a=>a.id===d?{...a,name:e}:a)}));let{workspaceId:h}=b(),i=await y(t(`/api/layout/pane/${c}/tabs/${d}`,h),{name:e});i?w(a,b,i):f.toast.error((0,g.t)("terminal","tabRenameFailed"))},reorderTabsInPane:(c,d)=>{x(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();y(t(`/api/layout/pane/${c}/tabs/order`,e),{tabIds:d}).then(c=>{c&&w(a,b,c)})},removeTabLocally:(a,c)=>{(0,h.clearInputDraft)(c);let{workspaceId:d}=b();fetch(t(`/api/layout/pane/${a}/tabs/${c}`,d),{method:"DELETE"}).then(()=>b().fetchLayout()).catch(()=>{console.log("[layout] removeTabLocally failed")})},equalizeRatios:()=>{let{workspaceId:c}=b();y(t("/api/layout",c),{equalize:!0}).then(c=>{c&&w(a,b,c)})},updateTabPanelType:(c,d,e)=>{x(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})})),i.default.getState().setPanelType(d,e);let{workspaceId:f}=b();y(t(`/api/layout/pane/${c}/tabs/${d}`,f),{panelType:e}).then(c=>{c&&w(a,b,c)})},clearLayout:()=>{s=!0,p?.abort(),a({layout:null,paneCount:0,canSplit:!1})},focusTab:a=>{let{layout:c}=b();if(!c)return!1;for(let d of(0,l.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,l.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,l.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,l.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)}}));z.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(`${m}${c}`,d.activePaneId),(0,l.collectPanes)(d.root)))a.activeTabId&&sessionStorage.setItem(`${n}${a.id}`,a.activeTabId)}catch{}}});let A=(a,b)=>{let d=z.getState();if("/"!==c.default.pathname){z.setState({pendingFocusTabId:b}),j.default.getState().switchWorkspace(a),c.default.push("/");return}a===d.workspaceId?d.focusTab(b):(d.clearLayout(),z.setState({pendingFocusTabId:b}),j.default.getState().switchWorkspace(a))},B=async(a,b,c,d,e)=>{let f=j.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(t("/api/layout",g));if(!b.ok)return;let h=await b.json(),j=(0,l.collectAllTabs)(h.root)[0];if(!j)return;c&&i.default.getState().initTab(j.id,{panelType:"claude-code",isResuming:!0}),A(g,j.id);return}let k=await fetch(t("/api/layout",g));if(!k.ok)return;let m=await k.json();if((0,l.collectAllTabs)(m.root).some(a=>a.id===b))return void A(g,b);let n=m.activePaneId??(0,l.getFirstPaneId)(m.root),o={panelType:"claude-code",cwd:h.directories[0]};c&&(o.resumeSessionId=c);let p=await fetch(t(`/api/layout/pane/${n}/tabs`,g),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(!p.ok)return;let q=await p.json();c&&i.default.getState().initTab(q.id,{panelType:"claude-code",isResuming:!0}),g===z.getState().workspaceId?(z.setState({pendingFocusTabId:q.id}),z.getState().fetchLayout()):A(g,q.id)},C=({workspaceId:a,onFetchError:c})=>((0,b.useEffect)(()=>{q=c??null},[c]),(0,b.useEffect)(()=>{if(a){let b=z.getState();b.setWorkspaceId(a),b.fetchLayout(a)}},[a]),(0,b.useEffect)(()=>z.subscribe(a=>{let b=a.workspaceId;if(!b||!a.layout?.root)return;let c=(0,l.collectPanes)(a.layout.root).flatMap(a=>a.tabs.map(a=>a.id));i.default.getState().setTabOrder(b,c)}),[]),z((0,e.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}))))},199462,a=>{"use strict";a.s(["default",()=>j]);var b=a.i(4873),c=a.i(626605),d=a.i(144784),e=a.i(912251);let f=null,g="",h=()=>{f&&clearTimeout(f),f=setTimeout(()=>{f=null;let{metadata:a}=i.getState(),b=c.useLayoutStore.getState().layout,h=c.useLayoutStore.getState().workspaceId;if(!b||!h)return;let j=`?workspace=${h}`;for(let c of(0,d.collectPanes)(b.root))for(let b of c.tabs){let d=a[b.id];if(!d)continue;let e={};void 0!==d.title&&d.title!==b.title&&(e.title=d.title),void 0!==d.cwd&&d.cwd!==b.cwd&&(e.cwd=d.cwd),void 0!==d.lastCommand&&(d.lastCommand??null)!==(b.lastCommand??null)&&(e.lastCommand=d.lastCommand??null),Object.keys(e).length>0&&fetch(`/api/layout/pane/${c.id}/tabs/${b.id}${j}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).catch(a=>{console.log(`[tab-metadata] sync failed: ${a instanceof Error?a.message:a}`)})}let k=[...new Set(Object.values(a).map(a=>a.cwd).filter(a=>!!a))],l=k.join("\0");if(l!==g){g=l;let{activeWorkspaceId:a,updateDirectories:b}=e.default.getState();a&&k.length>0&&b(a,k)}},100)},i=(0,b.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}}}}),h()},setCwd:(b,c)=>{a(a=>{let d=a.metadata[b];return d?.cwd===c?a:{metadata:{...a.metadata,[b]:{...d,cwd:c}}}}),h()},setLastCommand:(b,c)=>{a(a=>{let d=a.metadata[b];return d?.lastCommand===c?a:{metadata:{...a.metadata,[b]:{...d,lastCommand:c}}}}),h()},removeTab:b=>{a(a=>{let{[b]:c,...d}=a.metadata;return{metadata:d}}),h()},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}}),g=""},retainOnly:b=>{a(a=>{let c={};for(let d of b)a.metadata[d]&&(c[d]=a.metadata[d]);return{metadata:c}})},reset:()=>{f&&clearTimeout(f),f=null,g="",a({metadata:{}})}})),j=i},266254,168711,175679,206456,409679,a=>{"use strict";var b=a.i(127669),c=a.i(760644),d=a.i(199462),e=a.i(4873);let f=(0,e.create)(a=>({data:null,setData:b=>a({data:b})}));a.s(["default",0,f],168711);let g=(0,e.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,g],175679);let h=new Set(["zsh","bash","fish","sh","-zsh","-bash","-fish","-sh"]),i=a=>{if("~"===a||"/"===a)return a;let b=a.replace(/\/$/,"").split("/");return b[b.length-1]||a},j=a=>{let b=a.trim();if(!b)return null;let c=b.indexOf("|");return c>0?b.slice(0,c):null},k=a=>{let b=a.trim();if(!b)return"";let c=j(a);if(null!==c){let a=b.slice(b.indexOf("|")+1);return h.has(c)?i(a):c}let d=b.match(/@[^:]+:\s*(.*)/);if(d)return i(d[1].trim());if(b.startsWith("/")||b.startsWith("~"))return i(b);let e=b.split(/\s+/)[0];return h.has(e)?"":e||""};a.s(["formatTabTitle",0,k,"parseCurrentCommand",0,j],206456);let l=null;a.s(["ackNotificationInput",0,(a,b)=>{l?.readyState===WebSocket.OPEN&&l.send(JSON.stringify({type:"status:ack-notification",tabId:a,seq:b}))},"default",0,()=>{let a=(0,b.useRef)(0),e=(0,b.useRef)(null),h=(0,b.useRef)(!0);(0,b.useEffect)(()=>{h.current=!0;let b=()=>{if(!h.current)return;let i="https:"===location.protocol?"wss:":"ws:",j=new WebSocket(`${i}//${location.host}/api/status`);l=j,j.onopen=()=>{h.current&&(a.current=0,c.default.getState().setStatusWsConnected(!0))},j.onmessage=a=>{if(h.current)try{let b=JSON.parse(a.data);switch(b.type){case"status:sync":for(let[a,e]of(c.default.getState().syncAllFromServer(b.tabs),Object.entries(b.tabs)))e.paneTitle&&!d.default.getState().metadata[a]?.title&&d.default.getState().setTitle(a,k(e.paneTitle));break;case"status:update":c.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&&d.default.getState().setTitle(b.tabId,k(b.paneTitle));break;case"status:hook-event":c.default.getState().applyHookEvent(b.tabId,b.event);break;case"rate-limits:update":f.getState().setData(b.data);break;case"session-history:sync":g.getState().syncFromServer(b.entries);break;case"session-history:update":g.getState().upsertEntry(b.entry)}}catch{}},j.onclose=()=>{if(!h.current)return;c.default.getState().setStatusWsConnected(!1),l=null;let d=Math.min(1e3*Math.pow(2,a.current),3e4);a.current++,e.current=setTimeout(b,d)},j.onerror=()=>{}};b();let i=()=>{if("visible"!==document.visibilityState)return;let c=l?.readyState;c!==WebSocket.OPEN&&c!==WebSocket.CONNECTING&&(e.current&&(clearTimeout(e.current),e.current=null),a.current=0,b())};return document.addEventListener("visibilitychange",i),()=>{h.current=!1,e.current&&(clearTimeout(e.current),e.current=null),l&&(l.close(),l=null),document.removeEventListener("visibilitychange",i)}},[])},"dismissTab",0,a=>{c.default.getState().dismissTab(a),l?.readyState===WebSocket.OPEN&&l.send(JSON.stringify({type:"status:tab-dismissed",tabId:a}))},"requestSync",0,()=>{l?.readyState===WebSocket.OPEN&&l.send(JSON.stringify({type:"status:request-sync"}))}],266254),a.i(678240),a.i(626605);var m=a.i(721043);let n=async()=>{try{let a=await navigator.serviceWorker.ready,b=await a.pushManager.getSubscription();return b?.endpoint??null}catch{return null}},o=async a=>{fetch("/api/push/register-session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({endpoint:await n(),sessionId:a}),keepalive:!0}).catch(()=>{})};a.s(["default",0,()=>{(0,b.useRef)(!1),(0,b.useEffect)(()=>{m.default},[]),(0,b.useEffect)(()=>{},[])},"registerPushTarget",0,o],409679)}];
1
+ module.exports=[760644,a=>{"use strict";var b=a.i(4873);let c={terminalConnected:!1,claudeStatus:"unknown",claudeStatusCheckedAt:0,cliState:"inactive",isTimelineLoading:!0,isRestarting:!1,isResuming:!1,workspaceId:""},d=(a,b,c)=>{let d=a[b];return d?{...a,[b]:{...d,...c}}:a},e=(0,b.create)(a=>({tabs:{},tabOrders:{},statusWsConnected:!1,initTab:(b,d)=>a(a=>{let e=a.tabs[b],f={...c,...e,...d};return e?.cliState==="ready-for-review"&&"ready-for-review"!==f.cliState&&(f.cliState="ready-for-review",f.readyForReviewAt=e.readyForReviewAt),{tabs:{...a.tabs,[b]:f}}}),removeTab:b=>a(a=>{let{[b]:c,...d}=a.tabs;return{tabs:d}}),setTerminalConnected:(b,c)=>a(a=>{let e=a.tabs[b];return e&&e.terminalConnected!==c?{tabs:d(a.tabs,b,{terminalConnected:c})}:a}),setClaudeStatus:(b,c,e)=>a(a=>{let f=a.tabs[b];if(!f||f.claudeStatusCheckedAt>e||f.claudeStatus===c||"running"===f.claudeStatus&&"starting"===c)return a;let g={claudeStatus:c,claudeStatusCheckedAt:e};return("running"===f.claudeStatus||"starting"===f.claudeStatus)&&"running"!==c&&"starting"!==c&&f.isResuming&&(g.isResuming=!1),{tabs:d(a.tabs,b,g)}}),setTimelineLoading:(b,c)=>a(a=>{let e=a.tabs[b];return e&&e.isTimelineLoading!==c?{tabs:d(a.tabs,b,{isTimelineLoading:c})}:a}),setRestarting:(b,c)=>a(a=>{let e=a.tabs[b];return e&&e.isRestarting!==c?{tabs:d(a.tabs,b,{isRestarting:c})}:a}),cancelTab:b=>a(a=>{let c=a.tabs[b];return c&&"cancelled"!==c.cliState?{tabs:d(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:d(a.tabs,b,{cliState:"idle",dismissedAt:Date.now()})}:a}),setResuming:(b,c)=>a(a=>{let e=a.tabs[b];return e&&e.isResuming!==c?{tabs:d(a.tabs,b,{isResuming:c})}:a}),setWorkspaceId:(b,c)=>a(a=>{let e=a.tabs[b];return e&&e.workspaceId!==c?{tabs:d(a.tabs,b,{workspaceId:c})}:a}),setPanelType:(b,c)=>a(a=>{let e=a.tabs[b];return e&&e.panelType!==c?{tabs:d(a.tabs,b,{panelType:c})}:a}),setCurrentProcess:(b,c)=>a(a=>{let e=a.tabs[b];if(!e)return a;let f=c??void 0;return e.currentProcess===f?a:{tabs:d(a.tabs,b,{currentProcess:f,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 d=Date.now(),e={};for(let[f,g]of Object.entries(b)){let b=a.tabs[f];if(b?.cliState==="cancelled"){e[f]=b;continue}b?.localUpdatedAt&&d-b.localUpdatedAt<3e4?e[f]={...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?e[f]={...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}:e[f]={...c,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))e[b]||(e[b]=c);return{tabs:e}}),updateFromServer:(b,e)=>a(a=>{if(null===e.cliState){let{[b]:c,...d}=a.tabs;return{tabs:d}}let f=a.tabs[b];if(f){if("cancelled"===f.cliState)return a;let c=void 0!==e.eventSeq&&(void 0===f.eventSeq||e.eventSeq>=f.eventSeq)?{lastEvent:e.lastEvent,eventSeq:e.eventSeq}:{};return{tabs:d(a.tabs,b,{cliState:e.cliState,workspaceId:e.workspaceId,tabName:e.tabName,panelType:e.panelType??f.panelType,terminalStatus:e.terminalStatus,listeningPorts:e.listeningPorts,currentProcess:e.currentProcess,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,...c})}}return{tabs:{...a.tabs,[b]:{...c,cliState:e.cliState,workspaceId:e.workspaceId,tabName:e.tabName,panelType:e.panelType,terminalStatus:e.terminalStatus,listeningPorts:e.listeningPorts,currentProcess:e.currentProcess,claudeSummary:e.claudeSummary,lastUserMessage:e.lastUserMessage,lastAssistantMessage:e.lastAssistantMessage,readyForReviewAt:e.readyForReviewAt,busySince:e.busySince,dismissedAt:e.dismissedAt,claudeSessionId:e.claudeSessionId,compactingSince:e.compactingSince,lastEvent:e.lastEvent,eventSeq:e.eventSeq}}}}),applyHookEvent:(b,c)=>a(a=>{let e=a.tabs[b];return!e||void 0!==e.eventSeq&&c.seq<=e.eventSeq?a:{tabs:d(a.tabs,b,{lastEvent:c,eventSeq:c.seq})}})}));a.s(["default",0,e,"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(", :")}])},484682,a=>{"use strict";var b=a.i(127669);let c=(a,b)=>{let c=a instanceof Map?a:new Map(a.entries()),d=b instanceof Map?b:new Map(b.entries());if(c.size!==d.size)return!1;for(let[a,b]of c)if(!d.has(a)||!Object.is(b,d.get(a)))return!1;return!0};a.s(["useShallow",0,function(a){let d=b.default.useRef(void 0);return b=>{let e=a(b);return!function(a,b){if(Object.is(a,b))return!0;if("object"!=typeof a||null===a||"object"!=typeof b||null===b||Object.getPrototypeOf(a)!==Object.getPrototypeOf(b))return!1;if(Symbol.iterator in a&&Symbol.iterator in b){if("entries"in a&&"entries"in b)return c(a,b);let d=a[Symbol.iterator](),e=b[Symbol.iterator](),f=d.next(),g=e.next();for(;!f.done&&!g.done;){if(!Object.is(f.value,g.value))return!1;f=d.next(),g=e.next()}return!!f.done&&!!g.done}return c({entries:()=>Object.entries(a)},{entries:()=>Object.entries(b)})}(d.current,e)?d.current=e:d.current}}],484682)},959709,912251,a=>{"use strict";var b=a.i(127669),c=a.i(510414),d=a.i(892209),e=a.i(760644);let f=new Set(["/new","/clear"]),g=a=>`pt-input-draft:${a}`,h=a=>{try{localStorage.removeItem(g(a))}catch{}};a.s(["clearInputDraft",0,h,"default",0,(a,i,j,k)=>{let l=k?.tabId,[m,n]=(0,b.useState)(()=>l?(a=>{try{return localStorage.getItem(g(a))??""}catch{return""}})(l):""),o=(0,b.useRef)(null),p=(0,b.useMemo)(()=>(0,e.isCliIdle)(a)||"unknown"===a?"input":"busy"===a||"needs-input"===a?"interrupt":"disabled",[a]),q=k?.onRestartSession,r=k?.onMessageSent,s=(0,b.useRef)(null);(0,b.useEffect)(()=>{if(l)return s.current&&clearTimeout(s.current),s.current=setTimeout(()=>((a,b)=>{try{b?localStorage.setItem(g(a),b):localStorage.removeItem(g(a))}catch{}})(l,m),300),()=>{s.current&&clearTimeout(s.current)}},[l,m]);let t=(0,b.useCallback)(()=>{if("disabled"===p)return void c.toast.error("Claude Code가 실행 중이 아닙니다");if(!j)return void c.toast.error((0,d.t)("connection","terminalDisconnected"));if(""!==m.trim()){if(f.has(m.trim().toLowerCase())){q?.(),n(""),l&&h(l);return}m.includes("\n")?(i(`\x1b[200~${m}\x1b[201~\r`),setTimeout(()=>i("\r"),500)):(i(m),setTimeout(()=>i("\r"),50)),m.trim().startsWith("/")||r?.(m.trim()),n(""),l&&h(l)}},[p,m,i,j,q,r,l]),u=(0,b.useCallback)(()=>{j?i("\x1b\x1b"):c.toast.error((0,d.t)("connection","terminalDisconnected"))},[i,j]),v=(0,b.useCallback)(()=>{let a=o.current;if(!a)return;a.focus();let b=a.value.length;a.setSelectionRange(b,b)},[]),[w,x]=(0,b.useState)(p);w!==p&&(x(p),"disabled"===p&&n(""));let y="disabled"!==p&&j;return{value:m,setValue:n,mode:p,canSend:y,send:t,interrupt:u,textareaRef:o,focusInput:v}}],959709);var i=a.i(4873);let j=[],k=!0,l=a=>{},m=a=>{fetch("/api/workspace/active",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({activeWorkspaceId:a})}).catch(()=>{})},n=(a,b)=>b&&a.some(a=>a.id===b)?b:a[0]?.id??null,o=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}`)})},p=(0,i.create)((a,b)=>({workspaces:j,activeWorkspaceId:j.length>0?n(j):null,sidebarCollapsed:!1,sidebarWidth:240,sidebarTab:"workspace",isLoading:k,error:null,hydrate:b=>{let c=n(b.workspaces,b.activeWorkspaceId);l(c),c&&m(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=n(c.workspaces,c.activeWorkspaceId);l(d),a({workspaces:c.workspaces,activeWorkspaceId:d,sidebarCollapsed:c.sidebarCollapsed??!1,sidebarWidth:c.sidebarWidth??240,isLoading:!1})}catch{a({error:(0,d.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,e,f)=>{try{let c=await fetch("/api/workspace",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({directory:b,name:e,resumeSessionId:f})});if(!c.ok){let a=await c.json();throw Error(a.error||(0,d.t)("workspace","createFailed"))}let g=await c.json();return a(a=>({workspaces:[...a.workspaces,g]})),g}catch(b){let a=b instanceof Error?b.message:(0,d.t)("workspace","createFailed");return c.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 c.toast.error((0,d.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&&(l(e),e&&m(e)),{workspaces:c,activeWorkspaceId:e}})},switchWorkspace:b=>{a({activeWorkspaceId:b}),l(b),m(b)},renameWorkspace:async(e,f)=>{let g=b().workspaces.find(a=>a.id===e),h=g?.name??"";a(a=>({workspaces:a.workspaces.map(a=>a.id===e?{...a,name:f}:a)}));try{if(!(await fetch(`/api/workspace/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f})})).ok)throw Error();return!0}catch{return a(a=>({workspaces:a.workspaces.map(a=>a.id===e?{...a,name:h}:a)})),c.toast.error((0,d.t)("workspace","renameFailed")),!1}},reorderWorkspaces:(e,f)=>{let g=[...b().workspaces],[h]=g.splice(e,1);g.splice(f,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(()=>{c.toast.error((0,d.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 o({sidebarCollapsed:b}),{sidebarCollapsed:b}})},setSidebarWidth:b=>{a({sidebarWidth:b})},saveSidebarWidth:a=>{o({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,d.t)("workspace","validateFailed")}}}}));a.s(["default",0,p],912251)},626605,a=>{"use strict";a.s(["default",()=>C,"navigateToTab",()=>A,"navigateToTabOrCreate",()=>B,"useLayoutStore",()=>z]);var b=a.i(127669),c=a.i(41910),d=a.i(4873),e=a.i(484682),f=a.i(510414),g=a.i(892209),h=a.i(959709),i=a.i(760644),j=a.i(912251),k=a.i(199462),l=a.i(144784);let m="pt-active-pane-",n="pt-active-tab-",o=a=>{try{return sessionStorage.getItem(`${n}${a}`)}catch{return null}},p=null,q=null,r=null,s=!1,t=(a,b)=>{if(!b)return a;let c=a.includes("?")?"&":"?";return`${a}${c}workspace=${b}`},u=(a,b)=>{let c=a?(0,l.collectPanes)(a.root).length:0;return{paneCount:c,canSplit:c<10&&!b}},v=(a,b,c)=>{a({layout:c,...u(c,b().isSplitting)})},w=(a,b,c)=>{let d=b().layout;if(d){let a=(0,l.collectPanes)(c.root);for(let b of(d.activePaneId&&a.some(a=>a.id===d.activePaneId)&&(c.activePaneId=d.activePaneId),a)){let a=(0,l.findPane)(d.root,b.id);a?.activeTabId&&b.tabs.some(b=>b.id===a.activeTabId)&&(b.activeTabId=a.activeTabId)}}a({layout:c,...u(c,b().isSplitting)})},x=(a,b,c,d)=>{let{layout:e}=b();if(!e)return;let f=(0,l.updatePaneInTree)(e.root,c,d);f!==e.root&&v(a,b,{...e,root:f})},y=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}},z=(0,d.create)((a,b)=>({layout:null,isLoading:!0,error:null,isSplitting:!1,workspaceId:null,retryCount:0,paneCount:0,canSplit:!1,pendingFocusTabId:null,setWorkspaceId:b=>{s=!1,a({workspaceId:b})},setLayout:c=>{v(a,b,c)},fetchLayout:async(c,d)=>{if(s)return;let e=c??b().workspaceId;if(!e)return;p?.abort();let h=new AbortController;p=h,b().layout||a({isLoading:!0,error:null});try{let c=await fetch(t("/api/layout",e),{signal:h.signal});if(!c.ok)throw Error();let f=await c.json();if(h.signal.aborted)return;let g=b().layout;if(!1!==d){let a=(0,l.collectPanes)(f.root);if(g)for(let b of(g.activePaneId&&a.some(a=>a.id===g.activePaneId)&&(f.activePaneId=g.activePaneId),a)){let a=(0,l.findPane)(g.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(`${m}${a}`)}catch{return null}})(e);for(let c of(b&&a.some(a=>a.id===b)&&(f.activePaneId=b),a)){let a=o(c.id);a&&c.tabs.some(b=>b.id===a)&&(c.activeTabId=a)}}}if(g){let c={root:g.root,activePaneId:g.activePaneId},d={root:f.root,activePaneId:f.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,l.collectPanes)(f.root)))if(b.tabs.some(a=>a.id===i)){f.activePaneId=b.id,b.activeTabId=i,j=b.id;break}}a({layout:f,retryCount:0,...u(f,b().isSplitting)}),j&&(y(t("/api/layout",e),{activePaneId:j}),y(t(`/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(t("/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(),h={root:{type:"pane",id:d,tabs:[e],activeTabId:e.id},activePaneId:d,updatedAt:new Date().toISOString()};a({layout:h,...u(h,b().isSplitting)}),f.toast.info((0,g.t)("terminal","fallbackLayout")),a({retryCount:0});return}}catch{}a({error:(0,g.t)("terminal","layoutFetchError")}),q?.()}finally{h.signal.aborted||a({isLoading:!1})}},splitPane:async(c,d)=>{let{layout:e,isSplitting:h,workspaceId:i}=b();if(e&&!h&&!((0,l.collectPanes)(e.root).length>=10)){a({isSplitting:!0,canSplit:!1});try{let f,g,h=(0,l.findPane)(e.root,c),j=h?.tabs.find(a=>a.id===h.activeTabId);if(j){g=j.panelType;try{let a=await fetch(t(`/api/layout/cwd?session=${j.sessionName}`,i));a.ok&&(f=(await a.json()).cwd)}catch{}}let k=await fetch(t("/api/layout/pane",i),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourcePaneId:c,orientation:d,cwd:f,panelType:g})});if(!k.ok)throw Error();let m=await k.json();v(a,b,m)}catch{f.toast.error((0,g.t)("terminal","splitFailed"))}finally{a(a=>({isSplitting:!1,canSplit:a.paneCount<10}))}}},closePane:async c=>{let{layout:d,workspaceId:e}=b();if(d&&!((0,l.collectPanes)(d.root).length<=1))try{let d=await fetch(t(`/api/layout/pane/${c}`,e),{method:"DELETE"});if(!d.ok)throw Error();let f=await d.json();v(a,b,f)}catch{f.toast.error("Pane을 닫을 수 없습니다")}},focusPane:c=>{let{layout:d,workspaceId:e}=b();d&&d.activePaneId!==c&&(a({layout:{...d,activePaneId:c}}),y(t("/api/layout",e),{activePaneId:c}).then(c=>{c&&w(a,b,c)}))},updateRatio:(c,d)=>{let{layout:e,workspaceId:f}=b();e&&(a({layout:{...e,root:(0,l.updateRatioAtPath)(e.root,c,d)}}),r&&clearTimeout(r),r=setTimeout(()=>{r=null,y(t("/api/layout",f),{ratioUpdate:{path:c,ratio:d}}).then(c=>{c&&w(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,l.findPane)(i.root,d),k=(0,l.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,l.collectPanes)(i.root).length>1&&(0,l.removePaneWithFocus)(i,d),i.activePaneId=e,v(a,b,i)}}fetch(t(`/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=>{c.ok?w(a,b,await c.json()):await b().fetchLayout(void 0,!1)}).catch(()=>b().fetchLayout(void 0,!1))},createTabInPane:async(c,d,e)=>{let{layout:h,workspaceId:j}=b();try{let f,g=d,m=h?(0,l.findPane)(h.root,c):void 0,n=m?.tabs.find(a=>a.id===m.activeTabId);!g&&n&&(g=n.panelType),"web-browser"!==g&&n&&(f=k.default.getState().metadata[n.id]?.cwd);let o=await fetch(t(`/api/layout/pane/${c}/tabs`,j),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:f,panelType:g,command:e})});if(!o.ok)throw Error();let p=await o.json();return e&&i.default.getState().initTab(p.id,{panelType:g,isRestarting:!0}),x(a,b,c,a=>({...a,tabs:[...a.tabs,p],activeTabId:p.id})),b().fetchLayout(),p}catch{return f.toast.error((0,g.t)("terminal","tabCreateFailed")),null}},deleteTabInPane:async(c,d)=>{(0,h.clearInputDraft)(d),i.default.getState().cancelTab(d),x(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(t(`/api/layout/pane/${c}/tabs/${d}`,e),{method:"DELETE"});a.ok||404===a.status||(f.toast.error((0,g.t)("terminal","tabDeleteError")),await b().fetchLayout())}catch{f.toast.error((0,g.t)("terminal","tabDeleteError")),await b().fetchLayout()}},restartTabInPane:async(a,c,d)=>{let{workspaceId:e}=b();try{return(await fetch(t(`/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 f.toast.error((0,g.t)("terminal","sessionRestartFailed")),!1}},switchTabInPane:(c,d)=>{x(a,b,c,a=>({...a,activeTabId:d}));let{workspaceId:e}=b();y(t(`/api/layout/pane/${c}`,e),{activeTabId:d}).then(c=>{c&&w(a,b,c)})},renameTabInPane:async(c,d,e)=>{x(a,b,c,a=>({...a,tabs:a.tabs.map(a=>a.id===d?{...a,name:e}:a)}));let{workspaceId:h}=b(),i=await y(t(`/api/layout/pane/${c}/tabs/${d}`,h),{name:e});i?w(a,b,i):f.toast.error((0,g.t)("terminal","tabRenameFailed"))},reorderTabsInPane:(c,d)=>{x(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();y(t(`/api/layout/pane/${c}/tabs/order`,e),{tabIds:d}).then(c=>{c&&w(a,b,c)})},removeTabLocally:(a,c)=>{(0,h.clearInputDraft)(c);let{workspaceId:d}=b();fetch(t(`/api/layout/pane/${a}/tabs/${c}`,d),{method:"DELETE"}).then(()=>b().fetchLayout()).catch(()=>{console.log("[layout] removeTabLocally failed")})},equalizeRatios:()=>{let{workspaceId:c}=b();y(t("/api/layout",c),{equalize:!0}).then(c=>{c&&w(a,b,c)})},updateTabPanelType:(c,d,e)=>{x(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})})),i.default.getState().setPanelType(d,e);let{workspaceId:f}=b();y(t(`/api/layout/pane/${c}/tabs/${d}`,f),{panelType:e}).then(c=>{c&&w(a,b,c)})},clearLayout:()=>{s=!0,p?.abort(),a({layout:null,paneCount:0,canSplit:!1})},focusTab:a=>{let{layout:c}=b();if(!c)return!1;for(let d of(0,l.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,l.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,l.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,l.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)}}));z.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(`${m}${c}`,d.activePaneId),(0,l.collectPanes)(d.root)))a.activeTabId&&sessionStorage.setItem(`${n}${a.id}`,a.activeTabId)}catch{}}});let A=(a,b)=>{let d=z.getState();if("/"!==c.default.pathname){z.setState({pendingFocusTabId:b}),j.default.getState().switchWorkspace(a),c.default.push("/");return}a===d.workspaceId?d.focusTab(b):(d.clearLayout(),z.setState({pendingFocusTabId:b}),j.default.getState().switchWorkspace(a))},B=async(a,b,c,d,e)=>{let f=j.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(t("/api/layout",g));if(!b.ok)return;let h=await b.json(),j=(0,l.collectAllTabs)(h.root)[0];if(!j)return;c&&i.default.getState().initTab(j.id,{panelType:"claude-code",isResuming:!0}),A(g,j.id);return}let k=await fetch(t("/api/layout",g));if(!k.ok)return;let m=await k.json();if((0,l.collectAllTabs)(m.root).some(a=>a.id===b))return void A(g,b);let n=m.activePaneId??(0,l.getFirstPaneId)(m.root),o={panelType:"claude-code",cwd:h.directories[0]};c&&(o.resumeSessionId=c);let p=await fetch(t(`/api/layout/pane/${n}/tabs`,g),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(!p.ok)return;let q=await p.json();c&&i.default.getState().initTab(q.id,{panelType:"claude-code",isResuming:!0}),g===z.getState().workspaceId?(z.setState({pendingFocusTabId:q.id}),z.getState().fetchLayout()):A(g,q.id)},C=({workspaceId:a,onFetchError:c})=>((0,b.useEffect)(()=>{q=c??null},[c]),(0,b.useEffect)(()=>{if(a){let b=z.getState();b.setWorkspaceId(a),b.fetchLayout(a)}},[a]),(0,b.useEffect)(()=>z.subscribe(a=>{let b=a.workspaceId;if(!b||!a.layout?.root)return;let c=(0,l.collectPanes)(a.layout.root).flatMap(a=>a.tabs.map(a=>a.id));i.default.getState().setTabOrder(b,c)}),[]),z((0,e.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}))))},199462,a=>{"use strict";a.s(["default",()=>j]);var b=a.i(4873),c=a.i(626605),d=a.i(144784),e=a.i(912251);let f=null,g="",h=()=>{f&&clearTimeout(f),f=setTimeout(()=>{f=null;let{metadata:a}=i.getState(),b=c.useLayoutStore.getState().layout,h=c.useLayoutStore.getState().workspaceId;if(!b||!h)return;let j=`?workspace=${h}`;for(let c of(0,d.collectPanes)(b.root))for(let b of c.tabs){let d=a[b.id];if(!d)continue;let e={};void 0!==d.title&&d.title!==b.title&&(e.title=d.title),void 0!==d.cwd&&d.cwd!==b.cwd&&(e.cwd=d.cwd),void 0!==d.lastCommand&&(d.lastCommand??null)!==(b.lastCommand??null)&&(e.lastCommand=d.lastCommand??null),Object.keys(e).length>0&&fetch(`/api/layout/pane/${c.id}/tabs/${b.id}${j}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).catch(a=>{console.log(`[tab-metadata] sync failed: ${a instanceof Error?a.message:a}`)})}let k=[...new Set(Object.values(a).map(a=>a.cwd).filter(a=>!!a))],l=k.join("\0");if(l!==g){g=l;let{activeWorkspaceId:a,updateDirectories:b}=e.default.getState();a&&k.length>0&&b(a,k)}},100)},i=(0,b.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}}}}),h()},setCwd:(b,c)=>{a(a=>{let d=a.metadata[b];return d?.cwd===c?a:{metadata:{...a.metadata,[b]:{...d,cwd:c}}}}),h()},setLastCommand:(b,c)=>{a(a=>{let d=a.metadata[b];return d?.lastCommand===c?a:{metadata:{...a.metadata,[b]:{...d,lastCommand:c}}}}),h()},removeTab:b=>{a(a=>{let{[b]:c,...d}=a.metadata;return{metadata:d}}),h()},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}}),g=""},retainOnly:b=>{a(a=>{let c={};for(let d of b)a.metadata[d]&&(c[d]=a.metadata[d]);return{metadata:c}})},reset:()=>{f&&clearTimeout(f),f=null,g="",a({metadata:{}})}})),j=i},266254,168711,175679,206456,409679,a=>{"use strict";var b=a.i(127669),c=a.i(760644),d=a.i(199462),e=a.i(4873);let f=(0,e.create)(a=>({data:null,setData:b=>a({data:b})}));a.s(["default",0,f],168711);let g=(0,e.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,g],175679);let h=new Set(["zsh","bash","fish","sh","-zsh","-bash","-fish","-sh"]),i=a=>{if("~"===a||"/"===a)return a;let b=a.replace(/\/$/,"").split("/");return b[b.length-1]||a},j=a=>{let b=a.trim();if(!b)return null;let c=b.indexOf("|");return c>0?b.slice(0,c):null},k=a=>{let b=a.trim();if(!b)return"";let c=j(a);if(null!==c){let a=b.slice(b.indexOf("|")+1);return h.has(c)?i(a):c}let d=b.match(/@[^:]+:\s*(.*)/);if(d)return i(d[1].trim());if(b.startsWith("/")||b.startsWith("~"))return i(b);let e=b.split(/\s+/)[0];return h.has(e)?"":e||""};a.s(["formatTabTitle",0,k,"parseCurrentCommand",0,j],206456);let l=null;a.s(["ackNotificationInput",0,(a,b)=>{l?.readyState===WebSocket.OPEN&&l.send(JSON.stringify({type:"status:ack-notification",tabId:a,seq:b}))},"default",0,()=>{let a=(0,b.useRef)(0),e=(0,b.useRef)(null),h=(0,b.useRef)(!0);(0,b.useEffect)(()=>{h.current=!0;let b=()=>{if(!h.current)return;let i="https:"===location.protocol?"wss:":"ws:",j=new WebSocket(`${i}//${location.host}/api/status`);l=j,j.onopen=()=>{h.current&&(a.current=0,c.default.getState().setStatusWsConnected(!0))},j.onmessage=a=>{if(h.current)try{let b=JSON.parse(a.data);switch(b.type){case"status:sync":for(let[a,e]of(c.default.getState().syncAllFromServer(b.tabs),Object.entries(b.tabs)))e.paneTitle&&!d.default.getState().metadata[a]?.title&&d.default.getState().setTitle(a,k(e.paneTitle));break;case"status:update":c.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&&d.default.getState().setTitle(b.tabId,k(b.paneTitle));break;case"status:hook-event":c.default.getState().applyHookEvent(b.tabId,b.event);break;case"rate-limits:update":f.getState().setData(b.data);break;case"session-history:sync":g.getState().syncFromServer(b.entries);break;case"session-history:update":g.getState().upsertEntry(b.entry)}}catch{}},j.onclose=()=>{if(!h.current)return;c.default.getState().setStatusWsConnected(!1),l=null;let d=Math.min(1e3*Math.pow(2,a.current),3e4);a.current++,e.current=setTimeout(b,d)},j.onerror=()=>{}};b();let i=()=>{if("visible"!==document.visibilityState)return;let c=l?.readyState;c!==WebSocket.OPEN&&c!==WebSocket.CONNECTING&&(e.current&&(clearTimeout(e.current),e.current=null),a.current=0,b())};return document.addEventListener("visibilitychange",i),()=>{h.current=!1,e.current&&(clearTimeout(e.current),e.current=null),l&&(l.close(),l=null),document.removeEventListener("visibilitychange",i)}},[])},"dismissTab",0,a=>{c.default.getState().dismissTab(a),l?.readyState===WebSocket.OPEN&&l.send(JSON.stringify({type:"status:tab-dismissed",tabId:a}))},"requestSync",0,()=>{l?.readyState===WebSocket.OPEN&&l.send(JSON.stringify({type:"status:request-sync"}))}],266254),a.i(986013),a.i(678240),a.i(626605);var m=a.i(721043);let n=async()=>{try{let a=await navigator.serviceWorker.ready,b=await a.pushManager.getSubscription();return b?.endpoint??null}catch{return null}},o=async a=>{fetch("/api/push/register-session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({endpoint:await n(),sessionId:a}),keepalive:!0}).catch(()=>{})};a.s(["default",0,()=>{(0,b.useRef)(!1),(0,b.useEffect)(()=>{m.default},[]),(0,b.useEffect)(()=>{},[])},"registerPushTarget",0,o],409679)}];
2
2
 
3
3
  //# sourceMappingURL=_0-xx2s1._.js.map