watchbell 1.6.1 → 1.7.0

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 (992) hide show
  1. package/package.json +1 -1
  2. package/server/.next/BUILD_ID +1 -1
  3. package/server/.next/app-path-routes-manifest.json +3 -0
  4. package/server/.next/build-manifest.json +14 -3
  5. package/server/.next/prerender-manifest.json +3 -3
  6. package/server/.next/required-server-files.json +1 -1
  7. package/server/.next/routes-manifest.json +20 -0
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +13 -13
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +72 -71
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  11. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +12 -12
  13. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +72 -71
  14. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  15. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  16. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +11 -11
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +72 -71
  18. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  19. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +14 -14
  21. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +72 -71
  22. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  23. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +12 -12
  25. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +72 -71
  26. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  27. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  28. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +21 -21
  29. package/server/.next/server/app/(console)/(private)/ai/models/page.js +72 -71
  30. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  31. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  32. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +11 -11
  33. package/server/.next/server/app/(console)/(private)/ai/page.js +72 -71
  34. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  35. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +14 -14
  37. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +72 -71
  38. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  39. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +17 -17
  41. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +72 -71
  42. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  43. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  44. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +12 -12
  45. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +72 -71
  46. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  47. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  48. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +12 -12
  49. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +72 -71
  50. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  51. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  52. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +11 -11
  53. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +72 -71
  54. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  55. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  56. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +12 -12
  57. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +72 -71
  58. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  59. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  60. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +27 -27
  61. package/server/.next/server/app/(console)/alerts/page.js +72 -71
  62. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  63. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  64. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +34 -34
  65. package/server/.next/server/app/(console)/apps/[id]/page.js +72 -71
  66. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  67. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  68. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +14 -14
  69. package/server/.next/server/app/(console)/apps/page.js +72 -71
  70. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  71. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  72. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +14 -14
  73. package/server/.next/server/app/(console)/backups/page.js +72 -71
  74. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  75. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  76. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +11 -11
  77. package/server/.next/server/app/(console)/catalog/page.js +72 -71
  78. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  79. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  80. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +22 -22
  81. package/server/.next/server/app/(console)/connections/page.js +72 -71
  82. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  83. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  84. package/server/.next/server/app/(console)/containers/page/server-reference-manifest.json +14 -14
  85. package/server/.next/server/app/(console)/containers/page.js +72 -71
  86. package/server/.next/server/app/(console)/containers/page.js.nft.json +1 -1
  87. package/server/.next/server/app/(console)/containers/page_client-reference-manifest.js +1 -1
  88. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +11 -11
  89. package/server/.next/server/app/(console)/d1/page.js +72 -71
  90. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  91. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  92. package/server/.next/server/app/(console)/deploy/page/server-reference-manifest.json +11 -11
  93. package/server/.next/server/app/(console)/deploy/page.js +72 -71
  94. package/server/.next/server/app/(console)/deploy/page.js.nft.json +1 -1
  95. package/server/.next/server/app/(console)/deploy/page_client-reference-manifest.js +1 -1
  96. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +19 -19
  97. package/server/.next/server/app/(console)/deployments/page.js +72 -71
  98. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  99. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  100. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +18 -18
  101. package/server/.next/server/app/(console)/dns/page.js +72 -71
  102. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  103. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  104. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +13 -13
  105. package/server/.next/server/app/(console)/domains/page.js +72 -71
  106. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  107. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  108. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +11 -11
  109. package/server/.next/server/app/(console)/events/page.js +72 -71
  110. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  111. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  112. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +18 -18
  113. package/server/.next/server/app/(console)/firebase/page.js +72 -71
  114. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  115. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  116. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +12 -12
  117. package/server/.next/server/app/(console)/logs/page.js +72 -71
  118. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  119. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  120. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +12 -12
  121. package/server/.next/server/app/(console)/manage/sections/page.js +72 -71
  122. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  123. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  124. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +22 -22
  125. package/server/.next/server/app/(console)/neon/page.js +72 -71
  126. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  127. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  128. package/server/.next/server/app/(console)/os/page/server-reference-manifest.json +12 -12
  129. package/server/.next/server/app/(console)/os/page.js +72 -71
  130. package/server/.next/server/app/(console)/os/page.js.nft.json +1 -1
  131. package/server/.next/server/app/(console)/os/page_client-reference-manifest.js +1 -1
  132. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +21 -21
  133. package/server/.next/server/app/(console)/overview/page.js +72 -71
  134. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  135. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  136. package/server/.next/server/app/(console)/reports/[id]/pdf/route/app-paths-manifest.json +3 -0
  137. package/server/.next/server/app/(console)/reports/[id]/pdf/route/build-manifest.json +12 -0
  138. package/server/.next/server/app/(console)/reports/[id]/pdf/route/server-reference-manifest.json +4 -0
  139. package/server/.next/server/app/(console)/reports/[id]/pdf/route.js +26 -0
  140. package/server/.next/server/app/(console)/reports/[id]/pdf/route.js.nft.json +1 -0
  141. package/server/.next/server/app/(console)/reports/[id]/pdf/route_client-reference-manifest.js +3 -0
  142. package/server/.next/server/app/(console)/reports/page/app-paths-manifest.json +3 -0
  143. package/server/.next/server/app/(console)/reports/page/build-manifest.json +22 -0
  144. package/server/.next/server/app/(console)/reports/page/next-font-manifest.json +11 -0
  145. package/server/.next/server/app/(console)/reports/page/react-loadable-manifest.json +1 -0
  146. package/server/.next/server/app/(console)/reports/page/server-reference-manifest.json +155 -0
  147. package/server/.next/server/app/(console)/reports/page.js +121 -0
  148. package/server/.next/server/app/(console)/reports/page.js.nft.json +1 -0
  149. package/server/.next/server/app/(console)/reports/page_client-reference-manifest.js +3 -0
  150. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +12 -12
  151. package/server/.next/server/app/(console)/repos/[id]/page.js +72 -71
  152. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  153. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  154. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +11 -11
  155. package/server/.next/server/app/(console)/repos/page.js +72 -71
  156. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  157. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  158. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +62 -42
  159. package/server/.next/server/app/(console)/settings/page.js +75 -74
  160. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  161. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  162. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +18 -18
  163. package/server/.next/server/app/(console)/sql/page.js +72 -71
  164. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  165. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  166. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +11 -11
  167. package/server/.next/server/app/(console)/status/page.js +72 -71
  168. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  169. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  170. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +32 -32
  171. package/server/.next/server/app/(console)/supabase/page.js +72 -71
  172. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  173. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  174. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +11 -11
  175. package/server/.next/server/app/(console)/topology/page.js +72 -71
  176. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  177. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  178. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +11 -11
  179. package/server/.next/server/app/(console)/turso/page.js +72 -71
  180. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  181. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  182. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +11 -11
  183. package/server/.next/server/app/(console)/upstash/page.js +72 -71
  184. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  185. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  186. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +25 -25
  187. package/server/.next/server/app/(console)/uptime/page.js +72 -71
  188. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  189. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  190. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +16 -16
  191. package/server/.next/server/app/(console)/welcome/page.js +72 -71
  192. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  193. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  194. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  195. package/server/.next/server/app/_global-error/page.js +1 -1
  196. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  197. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  198. package/server/.next/server/app/_global-error.html +1 -1
  199. package/server/.next/server/app/_global-error.rsc +3 -3
  200. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  201. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  202. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  203. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  204. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  205. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  206. package/server/.next/server/app/_not-found.html +1 -1
  207. package/server/.next/server/app/_not-found.rsc +4 -4
  208. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  209. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  210. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  211. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  212. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  213. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  214. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +8 -8
  215. package/server/.next/server/app/api/collect/route.js +90 -84
  216. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  217. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +8 -8
  218. package/server/.next/server/app/api/daily/route.js +95 -89
  219. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  220. package/server/.next/server/app/api/health/route.js.nft.json +1 -1
  221. package/server/.next/server/app/api/ping/[...parts]/route.js +9 -8
  222. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  223. package/server/.next/server/app/api/status/route.js +1 -1
  224. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  225. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +8 -8
  226. package/server/.next/server/app/api/telegram/webhook/route.js +85 -80
  227. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  228. package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
  229. package/server/.next/server/app/api/v1/advice/route.js +27 -23
  230. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  231. package/server/.next/server/app/api/v1/ai/chat/completions/route.js +1 -1
  232. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  233. package/server/.next/server/app/api/v1/ai/models/route.js +1 -1
  234. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  235. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js +1 -1
  236. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  237. package/server/.next/server/app/api/v1/ai/questions/route.js +31 -27
  238. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  239. package/server/.next/server/app/api/v1/mcp/route.js +28 -24
  240. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  241. package/server/.next/server/app/api/v1/me/route.js +1 -1
  242. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  243. package/server/.next/server/app/api/v1/openapi.json/route.js +1 -1
  244. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  245. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +27 -23
  246. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  247. package/server/.next/server/app/api/v1/status/route.js +27 -23
  248. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  249. package/server/.next/server/app/api/watchdog/route.js +27 -21
  250. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  251. package/server/.next/server/app/auth/confirm/route.js +1 -1
  252. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  253. package/server/.next/server/app/auth/google/callback/route.js +16 -15
  254. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  255. package/server/.next/server/app/auth/google/create/callback/route.js +1 -1
  256. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  257. package/server/.next/server/app/auth/not-member/route.js +1 -1
  258. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  259. package/server/.next/server/app/auth/session-ended/route.js +1 -1
  260. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  261. package/server/.next/server/app/brand-icon/route/app-paths-manifest.json +3 -0
  262. package/server/.next/server/app/brand-icon/route/build-manifest.json +12 -0
  263. package/server/.next/server/app/brand-icon/route/server-reference-manifest.json +4 -0
  264. package/server/.next/server/app/brand-icon/route.js +15 -0
  265. package/server/.next/server/app/brand-icon/route.js.nft.json +1 -0
  266. package/server/.next/server/app/brand-icon/route_client-reference-manifest.js +3 -0
  267. package/server/.next/server/app/icon.svg/route.js.nft.json +1 -1
  268. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  269. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  270. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  271. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  272. package/server/.next/server/app/mfa/page.js +33 -31
  273. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  274. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  275. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  276. package/server/.next/server/app/mfa/setup/page.js +33 -31
  277. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  278. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  279. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  280. package/server/.next/server/app/page.js.nft.json +1 -1
  281. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  282. package/server/.next/server/app/s/[slug]/badge/[file]/route.js +10 -8
  283. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  284. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  285. package/server/.next/server/app/s/[slug]/page.js +10 -10
  286. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  287. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  288. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  289. package/server/.next/server/app/setup/page.js +1 -1
  290. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  291. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  292. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  293. package/server/.next/server/app/signin/page.js +38 -36
  294. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  295. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  296. package/server/.next/server/app-paths-manifest.json +3 -0
  297. package/server/.next/server/chunks/{[externals]__0n4j2emxdv20_._.js → [externals]__0oqc6ym5k457v._.js} +1 -1
  298. package/server/.next/server/chunks/{[externals]__1hwo1oo04do39._.js → [externals]__1aervsuoo1qe_._.js} +1 -1
  299. package/server/.next/server/chunks/{[externals]__1k12utcf9tvqg._.js → [externals]__1oag9t_9gex2-._.js} +1 -1
  300. package/server/.next/server/chunks/{[root-of-the-server]__1avuwg9wmyh48._.js → [root-of-the-server]__0-ytbad9hn7uc._.js} +1 -1
  301. package/server/.next/server/chunks/[root-of-the-server]__00s0famyfjv1y._.js +3 -0
  302. package/server/.next/server/chunks/{[root-of-the-server]__09l9icaspfmoh._.js → [root-of-the-server]__016wnct3b5iby._.js} +2 -2
  303. package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +1 -1
  304. package/server/.next/server/chunks/[root-of-the-server]__029099rqwqwff._.js +3 -0
  305. package/server/.next/server/chunks/{[root-of-the-server]__03589rgm1a3ks._.js → [root-of-the-server]__02ctwy1u4z3fj._.js} +2 -2
  306. package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.js +1 -1
  307. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  308. package/server/.next/server/chunks/{[root-of-the-server]__06kp2_zqpttyd._.js → [root-of-the-server]__03y8yvaulshnn._.js} +2 -2
  309. package/server/.next/server/chunks/[root-of-the-server]__03z520-siwkv_._.js +3 -0
  310. package/server/.next/server/chunks/{[root-of-the-server]__06l038ifglbqy._.js → [root-of-the-server]__04ogdmf82__0g._.js} +1 -1
  311. package/server/.next/server/chunks/[root-of-the-server]__05qcc-0e8z1u8._.js +1 -1
  312. package/server/.next/server/chunks/{[root-of-the-server]__09msxcjw3tlue._.js → [root-of-the-server]__05s9-538s47_e._.js} +1 -1
  313. package/server/.next/server/chunks/{[root-of-the-server]__1xdi98xyay6bn._.js → [root-of-the-server]__05vm5cxqq2-pg._.js} +1 -1
  314. package/server/.next/server/chunks/[root-of-the-server]__06od3qx7q00rc._.js +3 -0
  315. package/server/.next/server/chunks/{[root-of-the-server]__0uz_r72zdnwdd._.js → [root-of-the-server]__06rlokvpk450w._.js} +2 -2
  316. package/server/.next/server/chunks/{[root-of-the-server]__0ao4b2jjkcvo1._.js → [root-of-the-server]__070v8547b4qpa._.js} +1 -1
  317. package/server/.next/server/chunks/[root-of-the-server]__07eo--c90cju2._.js +1 -1
  318. package/server/.next/server/chunks/{[root-of-the-server]__0fii83nfm0bsk._.js → [root-of-the-server]__07gjmfv5mi33j._.js} +1 -1
  319. package/server/.next/server/chunks/[root-of-the-server]__07u2g5ccvst94._.js +3 -0
  320. package/server/.next/server/chunks/{[root-of-the-server]__205cmd-k6g2kc._.js → [root-of-the-server]__096q5ufradttx._.js} +1 -1
  321. package/server/.next/server/chunks/[root-of-the-server]__09bwtkv2iniyt._.js +3 -0
  322. package/server/.next/server/chunks/[root-of-the-server]__0_2fr1g7uby1m._.js +3 -0
  323. package/server/.next/server/chunks/{[root-of-the-server]__0g0rd65zoitrb._.js → [root-of-the-server]__0aazgg7203ez1._.js} +1 -1
  324. package/server/.next/server/chunks/{[root-of-the-server]__0ebkmgcs7v0c8._.js → [root-of-the-server]__0afpn-tk2qlu0._.js} +2 -2
  325. package/server/.next/server/chunks/[root-of-the-server]__0b7xflnrk4amk._.js +3 -0
  326. package/server/.next/server/chunks/[root-of-the-server]__0bb8xnocnnbt8._.js +3 -0
  327. package/server/.next/server/chunks/[root-of-the-server]__0bxqqjjy9ckvm._.js +3 -0
  328. package/server/.next/server/chunks/[root-of-the-server]__0c0drtvym6hf4._.js +3 -0
  329. package/server/.next/server/chunks/{[root-of-the-server]__0c_mpay_m5kbm._.js → [root-of-the-server]__0erdelc9_06nk._.js} +1 -1
  330. package/server/.next/server/chunks/{[root-of-the-server]__0ww7a-9fnx2rv._.js → [root-of-the-server]__0eyd4kffoz9ex._.js} +1 -1
  331. package/server/.next/server/chunks/[root-of-the-server]__0frz3wu-qcv-d._.js +3 -0
  332. package/server/.next/server/chunks/{[root-of-the-server]__0uyc9w7f_r10u._.js → [root-of-the-server]__0g0-q56cumuup._.js} +1 -1
  333. package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +1 -1
  334. package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +1 -1
  335. package/server/.next/server/chunks/{[root-of-the-server]__0s3b61ttgb9if._.js → [root-of-the-server]__0gv3v5775wfmw._.js} +2 -2
  336. package/server/.next/server/chunks/{[root-of-the-server]__1y9gsf61fh1fv._.js → [root-of-the-server]__0hm-azhxs9ted._.js} +2 -2
  337. package/server/.next/server/chunks/{[root-of-the-server]__0vdm37x30hr6p._.js → [root-of-the-server]__0ieq7-dtcg06b._.js} +1 -1
  338. package/server/.next/server/chunks/{[root-of-the-server]__0r0zrp3s_n614._.js → [root-of-the-server]__0iicsi0n7tfa5._.js} +1 -1
  339. package/server/.next/server/chunks/{[root-of-the-server]__1tlivd99uri0t._.js → [root-of-the-server]__0jevd1p5unnre._.js} +2 -2
  340. package/server/.next/server/chunks/{[root-of-the-server]__0vclan952l_ty._.js → [root-of-the-server]__0jz91oppmwtiq._.js} +2 -2
  341. package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +1 -1
  342. package/server/.next/server/chunks/{[root-of-the-server]__10d4a34z0js-f._.js → [root-of-the-server]__0mg6rmq22tf26._.js} +1 -1
  343. package/server/.next/server/chunks/[root-of-the-server]__0n-u6p8-hd-89._.js +3 -0
  344. package/server/.next/server/chunks/{[root-of-the-server]__20qirklw1sgj0._.js → [root-of-the-server]__0ng-t81zeeipc._.js} +2 -2
  345. package/server/.next/server/chunks/{[root-of-the-server]__1r2ei065xk141._.js → [root-of-the-server]__0nkfi6x2c4c5p._.js} +1 -1
  346. package/server/.next/server/chunks/{[root-of-the-server]__192br5y94wzhx._.js → [root-of-the-server]__0nyxfjn368366._.js} +1 -1
  347. package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.js +1 -1
  348. package/server/.next/server/chunks/[root-of-the-server]__0p2n1_qp53y51._.js +3 -0
  349. package/server/.next/server/chunks/[root-of-the-server]__0p8j8b2tg73dq._.js +3 -0
  350. package/server/.next/server/chunks/[root-of-the-server]__0p955ekgdwy_c._.js +3 -0
  351. package/server/.next/server/chunks/{[root-of-the-server]__0g3v-ty9-xstp._.js → [root-of-the-server]__0p_rkszoindlf._.js} +1 -1
  352. package/server/.next/server/chunks/{[root-of-the-server]__1tefe1f5835t_._.js → [root-of-the-server]__0pammm8f5qxtv._.js} +2 -2
  353. package/server/.next/server/chunks/{[root-of-the-server]__0c41pzboxtjvz._.js → [root-of-the-server]__0pm83e1a3wwlw._.js} +1 -1
  354. package/server/.next/server/chunks/[root-of-the-server]__0q9s7rbt0e-cf._.js +3 -0
  355. package/server/.next/server/chunks/{[root-of-the-server]__1mbm_bvk1oat7._.js → [root-of-the-server]__0qhyj1r9qcxp3._.js} +2 -2
  356. package/server/.next/server/chunks/[root-of-the-server]__0ra3lgjt0yuyy._.js +3 -0
  357. package/server/.next/server/chunks/{[root-of-the-server]__1z1fgf8k8icw8._.js → [root-of-the-server]__0ra_bw8zg6kmk._.js} +2 -2
  358. package/server/.next/server/chunks/[root-of-the-server]__0sgumm0843o2j._.js +3 -0
  359. package/server/.next/server/chunks/{[root-of-the-server]__0016p4j5uh74t._.js → [root-of-the-server]__0t6rge6laz89-._.js} +2 -2
  360. package/server/.next/server/chunks/{[root-of-the-server]__04v42ls1mfjd2._.js → [root-of-the-server]__0tsly874_mafr._.js} +2 -2
  361. package/server/.next/server/chunks/{[root-of-the-server]__1iruoalu93dg7._.js → [root-of-the-server]__0u4o6oo428rvf._.js} +2 -2
  362. package/server/.next/server/chunks/{[root-of-the-server]__0a7moaa91ctod._.js → [root-of-the-server]__0ux78ppoct5b_._.js} +2 -2
  363. package/server/.next/server/chunks/[root-of-the-server]__0vg5zp6z094qr._.js +3 -0
  364. package/server/.next/server/chunks/{[root-of-the-server]__1ji_xmb_m6fam._.js → [root-of-the-server]__0vhq-__j8umfu._.js} +1 -1
  365. package/server/.next/server/chunks/[root-of-the-server]__0vjvvirn6-fx-._.js +3 -0
  366. package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
  367. package/server/.next/server/chunks/{[root-of-the-server]__10ts7p_9fu3ge._.js → [root-of-the-server]__0vuirlylhcyzm._.js} +2 -2
  368. package/server/.next/server/chunks/{[root-of-the-server]__06zmu7jjyw1qw._.js → [root-of-the-server]__0w1iqt-rpp_3h._.js} +1 -1
  369. package/server/.next/server/chunks/[root-of-the-server]__0welpj78704um._.js +3 -0
  370. package/server/.next/server/chunks/{[root-of-the-server]__20056vw370xom._.js → [root-of-the-server]__0xd_bgjy5_tr5._.js} +1 -1
  371. package/server/.next/server/chunks/[root-of-the-server]__0xnag1k7mnvoh._.js +3 -0
  372. package/server/.next/server/chunks/[root-of-the-server]__0yhki59n8zyjb._.js +1 -1
  373. package/server/.next/server/chunks/[root-of-the-server]__0ymf9ppvpsffe._.js +3 -0
  374. package/server/.next/server/chunks/[root-of-the-server]__0zpo6n_av-p7a._.js +3 -0
  375. package/server/.next/server/chunks/{[root-of-the-server]__1hrcyozojb6ot._.js → [root-of-the-server]__0zs-wkvv1cs0i._.js} +1 -1
  376. package/server/.next/server/chunks/[root-of-the-server]__0zxrhqtvpoio4._.js +3 -0
  377. package/server/.next/server/chunks/[root-of-the-server]__1-9vvc9y0qqhf._.js +3 -0
  378. package/server/.next/server/chunks/[root-of-the-server]__1-bbb_srnbm5x._.js +3 -0
  379. package/server/.next/server/chunks/[root-of-the-server]__10-4cctiab73h._.js +3 -0
  380. package/server/.next/server/chunks/[root-of-the-server]__11300e77grhx6._.js +3 -0
  381. package/server/.next/server/chunks/{[root-of-the-server]__0tshehtsx7229._.js → [root-of-the-server]__11a8fxlpahjy2._.js} +1 -1
  382. package/server/.next/server/chunks/[root-of-the-server]__11tzj3jzqzk6v._.js +3 -0
  383. package/server/.next/server/chunks/{[root-of-the-server]__1ghx3ayy7tm73._.js → [root-of-the-server]__11yn1ky7yixd7._.js} +2 -2
  384. package/server/.next/server/chunks/[root-of-the-server]__12m0p1vyef6d5._.js +3 -0
  385. package/server/.next/server/chunks/[root-of-the-server]__12w6gylk59cym._.js +3 -0
  386. package/server/.next/server/chunks/[root-of-the-server]__13-qqkdecmwba._.js +3 -0
  387. package/server/.next/server/chunks/{[root-of-the-server]__19jalyhtntk8p._.js → [root-of-the-server]__135cn1pmljq9j._.js} +1 -1
  388. package/server/.next/server/chunks/[root-of-the-server]__13i4zx_j8zugt._.js +3 -0
  389. package/server/.next/server/chunks/[root-of-the-server]__1412kx9qb_j46._.js +3 -0
  390. package/server/.next/server/chunks/[root-of-the-server]__1420nm1i823v8._.js +3 -0
  391. package/server/.next/server/chunks/[root-of-the-server]__1426to_m4prqh._.js +1 -1
  392. package/server/.next/server/chunks/{[root-of-the-server]__1a563imf6ya2l._.js → [root-of-the-server]__14bynsn7eae8y._.js} +1 -1
  393. package/server/.next/server/chunks/[root-of-the-server]__14cb1pomeg0x7._.js +3 -0
  394. package/server/.next/server/chunks/[root-of-the-server]__177l2p7kcj-16._.js +1 -1
  395. package/server/.next/server/chunks/[root-of-the-server]__1_iy7tzpesarf._.js +3 -0
  396. package/server/.next/server/chunks/[root-of-the-server]__1akvpmbiap6nf._.js +1 -1
  397. package/server/.next/server/chunks/[root-of-the-server]__1c78cu7kb9vkl._.js +1 -1
  398. package/server/.next/server/chunks/[root-of-the-server]__1cnmxehqzmqq_._.js +3 -0
  399. package/server/.next/server/chunks/[root-of-the-server]__1d1zkp1q80t6q._.js +3 -0
  400. package/server/.next/server/chunks/[root-of-the-server]__1f84fftr_6_6n._.js +3 -0
  401. package/server/.next/server/chunks/[root-of-the-server]__1fteaav9qn2kq._.js +3 -0
  402. package/server/.next/server/chunks/{[root-of-the-server]__10-v22hv1sxrv._.js → [root-of-the-server]__1gl0-1oziw-g0._.js} +2 -2
  403. package/server/.next/server/chunks/{[root-of-the-server]__02y9yjf7lp37-._.js → [root-of-the-server]__1gufo2kz88z04._.js} +1 -1
  404. package/server/.next/server/chunks/{[root-of-the-server]__1ons16gam6qb7._.js → [root-of-the-server]__1hcn00gn9mapd._.js} +2 -2
  405. package/server/.next/server/chunks/[root-of-the-server]__1i_vd8w3df3i6._.js +3 -0
  406. package/server/.next/server/chunks/{[root-of-the-server]__0x5vp_8n6xvpw._.js → [root-of-the-server]__1ia-rts7ilt7c._.js} +2 -2
  407. package/server/.next/server/chunks/[root-of-the-server]__1igmx9-fdh2wd._.js +3 -0
  408. package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +1 -1
  409. package/server/.next/server/chunks/[root-of-the-server]__1jcr8cc_tlvfc._.js +3 -0
  410. package/server/.next/server/chunks/[root-of-the-server]__1kp2wois-47bg._.js +3 -0
  411. package/server/.next/server/chunks/{[root-of-the-server]__0qlf-so9k6401._.js → [root-of-the-server]__1kr6f03r82mk6._.js} +1 -1
  412. package/server/.next/server/chunks/[root-of-the-server]__1lcszcm98v484._.js +3 -0
  413. package/server/.next/server/chunks/[root-of-the-server]__1le7r_1_00km1._.js +3 -0
  414. package/server/.next/server/chunks/{[root-of-the-server]__0exruft64u1hg._.js → [root-of-the-server]__1lvf4tk_1td0a._.js} +2 -2
  415. package/server/.next/server/chunks/[root-of-the-server]__1mqv7anx5l3yq._.js +3 -0
  416. package/server/.next/server/chunks/[root-of-the-server]__1mufebnwyxlwx._.js +3 -0
  417. package/server/.next/server/chunks/[root-of-the-server]__1o0lvy6ek0v5d._.js +3 -0
  418. package/server/.next/server/chunks/[root-of-the-server]__1ozfk4_3lx1o7._.js +1 -1
  419. package/server/.next/server/chunks/{[root-of-the-server]__09yvavo991rdd._.js → [root-of-the-server]__1p1e6x-mb7ro2._.js} +2 -2
  420. package/server/.next/server/chunks/[root-of-the-server]__1pu84qy7loc8o._.js +3 -0
  421. package/server/.next/server/chunks/{[root-of-the-server]__0_vtp19_2frgj._.js → [root-of-the-server]__1pyc-ezfujjcp._.js} +1 -1
  422. package/server/.next/server/chunks/{[root-of-the-server]__1yxxfmyk3649a._.js → [root-of-the-server]__1pyhos8be90-4._.js} +1 -1
  423. package/server/.next/server/chunks/[root-of-the-server]__1qelr0qe50xap._.js +3 -0
  424. package/server/.next/server/chunks/[root-of-the-server]__1qqdsrhuw0z-w._.js +3 -0
  425. package/server/.next/server/chunks/[root-of-the-server]__1qwy7s_95k9k-._.js +3 -0
  426. package/server/.next/server/chunks/{[root-of-the-server]__0vb1_m_h5hi0z._.js → [root-of-the-server]__1qxm3lqqdbyy7._.js} +2 -2
  427. package/server/.next/server/chunks/[root-of-the-server]__1rusbj8ktmzj0._.js +3 -0
  428. package/server/.next/server/chunks/[root-of-the-server]__1rxaooz-d8jfs._.js +3 -0
  429. package/server/.next/server/chunks/[root-of-the-server]__1s8f1ovcj5r99._.js +3 -0
  430. package/server/.next/server/chunks/[root-of-the-server]__1tdb11b6vn4qm._.js +3 -0
  431. package/server/.next/server/chunks/[root-of-the-server]__1ti5-6okt7fur._.js +3 -0
  432. package/server/.next/server/chunks/{[root-of-the-server]__1cdt67d022uf1._.js → [root-of-the-server]__1ugnox9gcdhvm._.js} +2 -2
  433. package/server/.next/server/chunks/{[root-of-the-server]__090n04cg_br7j._.js → [root-of-the-server]__1vvg0ur3_7o0p._.js} +1 -1
  434. package/server/.next/server/chunks/[root-of-the-server]__1w_ga9n2lj53n._.js +3 -0
  435. package/server/.next/server/chunks/{[root-of-the-server]__0vsafetdvsfhj._.js → [root-of-the-server]__1wjsjh-1i-sn6._.js} +1 -1
  436. package/server/.next/server/chunks/[root-of-the-server]__1x4u0cdsl_81t._.js +3 -0
  437. package/server/.next/server/chunks/[root-of-the-server]__1xe_98y-j38aq._.js +3 -0
  438. package/server/.next/server/chunks/[root-of-the-server]__1xku6cma1a_kb._.js +3 -0
  439. package/server/.next/server/chunks/{[root-of-the-server]__0pi_camvun8ak._.js → [root-of-the-server]__1xnqsy7nud--q._.js} +2 -2
  440. package/server/.next/server/chunks/[root-of-the-server]__1yk1psrx0yy4n._.js +3 -0
  441. package/server/.next/server/chunks/{[root-of-the-server]__19o-a03uklyrw._.js → [root-of-the-server]__1ywvdsk_bmws0._.js} +2 -2
  442. package/server/.next/server/chunks/[root-of-the-server]__1z9kl-irij2lu._.js +3 -0
  443. package/server/.next/server/chunks/[root-of-the-server]__1zmoy4u_xb_yi._.js +3 -0
  444. package/server/.next/server/chunks/[root-of-the-server]__1zq2zv2ogn3ot._.js +3 -0
  445. package/server/.next/server/chunks/[root-of-the-server]__202mmzv3u-hk1._.js +3 -0
  446. package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +1 -1
  447. package/server/.next/server/chunks/[root-of-the-server]__20tvyorpg49kd._.js +3 -0
  448. package/server/.next/server/chunks/{[root-of-the-server]__1i841w7a3057h._.js → [root-of-the-server]__212_l7y-180xi._.js} +1 -1
  449. package/server/.next/server/chunks/{[root-of-the-server]__1vfvw1pmssxww._.js → [root-of-the-server]__217jp1b3psyq_._.js} +1 -1
  450. package/server/.next/server/chunks/_0-sqv2nbaba7h._.js +3 -0
  451. package/server/.next/server/chunks/_00t02v1a9nfr1._.js +3 -0
  452. package/server/.next/server/chunks/_01epotkqa90nv._.js +3 -0
  453. package/server/.next/server/chunks/_04oi0m63biyjd._.js +3 -0
  454. package/server/.next/server/chunks/_05kxcc393c_0z._.js +3 -0
  455. package/server/.next/server/chunks/_08q7x7rdbiaql._.js +49 -0
  456. package/server/.next/server/chunks/_0apakqacgawy4._.js +3 -0
  457. package/server/.next/server/chunks/_0bki3kju_1u1f._.js +3 -0
  458. package/server/.next/server/chunks/_0d29nzne5jrwy._.js +49 -0
  459. package/server/.next/server/chunks/_0djze-128wsu0._.js +3 -0
  460. package/server/.next/server/chunks/_0dq_vw-kky70h._.js +3 -0
  461. package/server/.next/server/chunks/_0hm72d9am2vfs._.js +3 -0
  462. package/server/.next/server/chunks/_0huryxihjw6tl._.js +49 -0
  463. package/server/.next/server/chunks/{_0ehqx1pkh20px._.js → _0lboyl6w4kfx4._.js} +3 -3
  464. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  465. package/server/.next/server/chunks/_0ou2tylxx1ltw._.js +10 -0
  466. package/server/.next/server/chunks/_0rqil_klxfz3j._.js +3 -0
  467. package/server/.next/server/chunks/_10mj3f1wis1ld._.js +3 -0
  468. package/server/.next/server/chunks/_15f0c7f46zkh3._.js +3 -0
  469. package/server/.next/server/chunks/_17u84tg9ibxp9._.js +3 -0
  470. package/server/.next/server/chunks/_1e4rch26scbhq._.js +49 -0
  471. package/server/.next/server/chunks/_1g-4oov0uynv-._.js +3 -0
  472. package/server/.next/server/chunks/_1iugpfonxri3e._.js +3 -0
  473. package/server/.next/server/chunks/_1iunyzyr-tfdj._.js +31 -0
  474. package/server/.next/server/chunks/{_0zj8nj1f2phf5._.js → _1n4labwyv5msc._.js} +1 -1
  475. package/server/.next/server/chunks/_1nuny071s602h._.js +3 -0
  476. package/server/.next/server/chunks/_1ohb_bmawpjlz._.js +10 -0
  477. package/server/.next/server/chunks/_1qcal07c71omr._.js +3 -0
  478. package/server/.next/server/chunks/_1sx70w_rurjin._.js +3 -0
  479. package/server/.next/server/chunks/_1tl0532dffdm-._.js +3 -0
  480. package/server/.next/server/chunks/{_0jiq3ns7681pv._.js → _1txqs5b7jg9so._.js} +3 -3
  481. package/server/.next/server/chunks/{_1t46m15axa4b4._.js → _1w9di5m91vtjk._.js} +3 -3
  482. package/server/.next/server/chunks/_20ounk93z_b6h._.js +3 -0
  483. package/server/.next/server/chunks/_next-internal_server_app_(console)_reports_[id]_pdf_route_actions_1z8w14-7mvvj9.js +3 -0
  484. package/server/.next/server/chunks/_next-internal_server_app_brand-icon_route_actions_1d7gd59j_572y.js +3 -0
  485. package/server/.next/server/chunks/{node_modules_drizzle-orm_0p2-_xghnn-0j._.js → node_modules_drizzle-orm_0ac-0bknpndrl._.js} +2 -2
  486. package/server/.next/server/chunks/{node_modules_drizzle-orm_0pxdj1u-i8py9._.js → node_modules_drizzle-orm_0k-yqdh9heao6._.js} +2 -2
  487. package/server/.next/server/chunks/{node_modules_drizzle-orm_15o96osca_ezd._.js → node_modules_drizzle-orm_0k7__h1lfq5ug._.js} +2 -2
  488. package/server/.next/server/chunks/{node_modules_drizzle-orm_1hvomr2ymp14o._.js → node_modules_drizzle-orm_0pv-kejmwhhk-._.js} +2 -2
  489. package/server/.next/server/chunks/node_modules_drizzle-orm_1emqi6ca48q0m._.js +4 -0
  490. package/server/.next/server/chunks/node_modules_drizzle-orm_entity_1-0q2stnw2ab8.js +3 -3
  491. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  492. package/server/.next/server/chunks/src_0-s0huszb29pj._.js +3 -0
  493. package/server/.next/server/chunks/src_05jrvcsgaq5ek._.js +1 -1
  494. package/server/.next/server/chunks/src_06tyytf_c_hlu._.js +1 -1
  495. package/server/.next/server/chunks/src_0_9n02bmhtk4z._.js +1 -1
  496. package/server/.next/server/chunks/src_0c-owt8q0lyj3._.js +1 -1
  497. package/server/.next/server/chunks/src_0dxbyz8iemj_5._.js +1 -1
  498. package/server/.next/server/chunks/src_0frmhaaejchbk._.js +3 -0
  499. package/server/.next/server/chunks/src_0kihmyo3yghxy._.js +3 -0
  500. package/server/.next/server/chunks/src_0qnh_ndxnflja._.js +3 -0
  501. package/server/.next/server/chunks/src_0r3j66vbc5g4f._.js +3 -0
  502. package/server/.next/server/chunks/src_0u2zbz77uh__q._.js +1 -1
  503. package/server/.next/server/chunks/src_0ud2mqnh4emxz._.js +1 -1
  504. package/server/.next/server/chunks/src_10vyvp9vy_69h._.js +1 -1
  505. package/server/.next/server/chunks/src_16t2uefmdlh8d._.js +3 -0
  506. package/server/.next/server/chunks/src_17j4dgvb7rx7k._.js +3 -0
  507. package/server/.next/server/chunks/{src_05be6wzefzaky._.js → src_1_y0pxtbr6e04._.js} +2 -2
  508. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  509. package/server/.next/server/chunks/src_1cvp6ubs-3z6l._.js +1 -1
  510. package/server/.next/server/chunks/src_1d-0nhc193soh._.js +3 -0
  511. package/server/.next/server/chunks/src_1d1ewqrujfp03._.js +3 -0
  512. package/server/.next/server/chunks/src_1il7wg_qjxny7._.js +1 -1
  513. package/server/.next/server/chunks/{src_0cdn5fuk8f_x2._.js → src_1mwttl5ainte0._.js} +2 -2
  514. package/server/.next/server/chunks/src_1s913pql1_n-f._.js +3 -0
  515. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +1 -1
  516. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  517. package/server/.next/server/chunks/src_1wmb2yl3tn-dd._.js +1 -1
  518. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +1 -1
  519. package/server/.next/server/chunks/src_20xyhmuf0y6_v._.js +3 -0
  520. package/server/.next/server/chunks/src_db_client_ts_0vckux1-linlc._.js +23 -0
  521. package/server/.next/server/chunks/src_lib_02-wqy78_rn85._.js +3 -0
  522. package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
  523. package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +1 -1
  524. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  525. package/server/.next/server/chunks/src_lib_0hw2g5g295xx0._.js +12 -0
  526. package/server/.next/server/chunks/src_lib_0iqdlrya6vfc_._.js +3 -0
  527. package/server/.next/server/chunks/src_lib_0kjik9nmtqlf5._.js +7 -0
  528. package/server/.next/server/chunks/src_lib_0krbxej8kykyp._.js +7 -0
  529. package/server/.next/server/chunks/src_lib_0o9m8m1sm5759._.js +5 -0
  530. package/server/.next/server/chunks/src_lib_0pyyxm3m1rttg._.js +1 -1
  531. package/server/.next/server/chunks/src_lib_0sd9c_cjgc4ro._.js +3 -0
  532. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +17 -17
  533. package/server/.next/server/chunks/src_lib_0xfwnbkxb4z5s._.js +7 -0
  534. package/server/.next/server/chunks/src_lib_11ky6rv8zte7m._.js +7 -0
  535. package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +1 -1
  536. package/server/.next/server/chunks/src_lib_1550ey8j96v9n._.js +1 -1
  537. package/server/.next/server/chunks/src_lib_1hveabvnpk83x._.js +12 -0
  538. package/server/.next/server/chunks/src_lib_1n_d25awwz8ga._.js +3 -0
  539. package/server/.next/server/chunks/src_lib_1onr7b4_kglpt._.js +1 -1
  540. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +17 -17
  541. package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
  542. package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  543. package/server/.next/server/chunks/src_lib_branding_ts_03ns4y_8z0-6e._.js +3 -0
  544. package/server/.next/server/chunks/src_lib_branding_ts_0jfv9nur5alvy._.js +3 -0
  545. package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +6 -3
  546. package/server/.next/server/chunks/src_lib_collector_deploy-days_ts_087kwe68m4i93._.js +3 -0
  547. package/server/.next/server/chunks/src_lib_data_report-db_ts_0b5f4dpxn08gk._.js +3 -0
  548. package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
  549. package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +11 -11
  550. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +11 -11
  551. package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +11 -11
  552. package/server/.next/server/chunks/src_lib_local-auth_proxy_ts_1g9krhdh2rnt2._.js +1 -21
  553. package/server/.next/server/chunks/src_lib_maintenance_ts_0voja6l8yogbf._.js +3 -0
  554. package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +1 -1
  555. package/server/.next/server/chunks/src_lib_rate-limit_ts_09dzyftcadggh._.js +1 -1
  556. package/server/.next/server/chunks/src_lib_rate-limit_ts_0r-eu6to05vyx._.js +1 -1
  557. package/server/.next/server/chunks/src_lib_rate-limit_ts_1ahtm4quu2rri._.js +1 -1
  558. package/server/.next/server/chunks/src_lib_sections_ts_0r8u4nvlpdkgq._.js +1 -1
  559. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  560. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
  561. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
  562. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
  563. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
  564. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
  565. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
  566. package/server/.next/server/chunks/ssr/{[externals]__0summv9f9jkob._.js → [externals]__02peoq6kft9oz._.js} +1 -1
  567. package/server/.next/server/chunks/ssr/{[externals]__1q1drb4oske-9._.js → [externals]__0byytapt83qke._.js} +1 -1
  568. package/server/.next/server/chunks/ssr/{[externals]__00hge8tjqv73a._.js → [externals]__0gb_9a2m3eqk5._.js} +1 -1
  569. package/server/.next/server/chunks/ssr/{[externals]__1jdljyrzmqoz0._.js → [externals]__1baveo0r8_hf1._.js} +1 -1
  570. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
  571. package/server/.next/server/chunks/ssr/{[root-of-the-server]__12t9_ndr9z-2d._.js → [root-of-the-server]__004q78ed0nf0_._.js} +1 -1
  572. package/server/.next/server/chunks/ssr/[root-of-the-server]__01o65-2jgmg9x._.js +3 -0
  573. package/server/.next/server/chunks/ssr/{[root-of-the-server]__157kjredkf1pa._.js → [root-of-the-server]__041mpme_x36vq._.js} +1 -1
  574. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0n4bkq-45z4aa._.js → [root-of-the-server]__04_prmhm_cts4._.js} +1 -1
  575. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1a5760tg4iits._.js → [root-of-the-server]__05uxv6qwfpp79._.js} +2 -2
  576. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0423qjo9c2t9-._.js → [root-of-the-server]__077-acap7g4ck._.js} +1 -1
  577. package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
  578. package/server/.next/server/chunks/ssr/{[root-of-the-server]__05s2n35zn4go-._.js → [root-of-the-server]__0ct4apye0sfmc._.js} +1 -1
  579. package/server/.next/server/chunks/ssr/{[root-of-the-server]__139ya3ejh6htx._.js → [root-of-the-server]__0hgf7si8htevx._.js} +1 -1
  580. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
  581. package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
  582. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
  583. package/server/.next/server/chunks/ssr/[root-of-the-server]__0mvauw9r_4qss._.js +1 -1
  584. package/server/.next/server/chunks/ssr/{[root-of-the-server]__07zuxj3veqm14._.js → [root-of-the-server]__0q7rssq_3unbc._.js} +1 -1
  585. package/server/.next/server/chunks/ssr/{[root-of-the-server]__13phmsw9wsyrs._.js → [root-of-the-server]__0qhbs-or7q-om._.js} +1 -1
  586. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
  587. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
  588. package/server/.next/server/chunks/ssr/{[root-of-the-server]__02lkybw6gg3ln._.js → [root-of-the-server]__0rrnk3_fb0l_9._.js} +2 -2
  589. package/server/.next/server/chunks/ssr/[root-of-the-server]__0u-o_v_v6y58o._.js +3 -0
  590. package/server/.next/server/chunks/ssr/{[root-of-the-server]__10r0u-q18z71i._.js → [root-of-the-server]__0uxychcp_pldy._.js} +1 -1
  591. package/server/.next/server/chunks/ssr/{[root-of-the-server]__16jfs8j29r4b5._.js → [root-of-the-server]__0vqae5m2ntd34._.js} +2 -2
  592. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1nk87bg9lne35._.js → [root-of-the-server]__10y2ig7dg3f-k._.js} +1 -1
  593. package/server/.next/server/chunks/ssr/[root-of-the-server]__11yadiuejywcz._.js +3 -0
  594. package/server/.next/server/chunks/ssr/[root-of-the-server]__12c2r19g75dyy._.js +3 -0
  595. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1iqedr7nfvayk._.js → [root-of-the-server]__13x0qmv4fm_1p._.js} +1 -1
  596. package/server/.next/server/chunks/ssr/[root-of-the-server]__18dcfrlpoapw9._.js +3 -0
  597. package/server/.next/server/chunks/ssr/{[root-of-the-server]__183_36tj3p645._.js → [root-of-the-server]__1_axyb404w3bf._.js} +2 -2
  598. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  599. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_q3kww244pif._.js +3 -0
  600. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ev5rocipbkjw._.js +3 -0
  601. package/server/.next/server/chunks/ssr/[root-of-the-server]__1g6kynby65m0v._.js +3 -0
  602. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0z5ucbis8ik32._.js → [root-of-the-server]__1gkcoq0cmmax1._.js} +2 -2
  603. package/server/.next/server/chunks/ssr/{[root-of-the-server]__07_efq7yhxfj-._.js → [root-of-the-server]__1itgt83qo1e77._.js} +1 -1
  604. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1d1ksu1dlha3r._.js → [root-of-the-server]__1k8mxdm-cxfg_._.js} +2 -2
  605. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0no6c0whevi73._.js → [root-of-the-server]__1mbb917mrz5c-._.js} +1 -1
  606. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1knbzqo0nba_q._.js → [root-of-the-server]__1n-rcmbkk7duv._.js} +2 -2
  607. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pafj7m_b8m14._.js +3 -0
  608. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1mah0p09qrkpu._.js → [root-of-the-server]__1pr-neo8jutji._.js} +2 -2
  609. package/server/.next/server/chunks/ssr/{[root-of-the-server]__14e0j38785glf._.js → [root-of-the-server]__1q6iypbn6yagc._.js} +2 -2
  610. package/server/.next/server/chunks/ssr/[root-of-the-server]__1rzolbt5ior_s._.js +3 -0
  611. package/server/.next/server/chunks/ssr/{[root-of-the-server]__18gw74mr2vto3._.js → [root-of-the-server]__1sw2q1p1t59y8._.js} +2 -2
  612. package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
  613. package/server/.next/server/chunks/ssr/[root-of-the-server]__1vgliw2256_6l._.js +4 -0
  614. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0gyvfp6c-_edw._.js → [root-of-the-server]__1xkfr7qk7oxjf._.js} +2 -2
  615. package/server/.next/server/chunks/ssr/[root-of-the-server]__1z3vauqrf2l-_._.js +3 -0
  616. package/server/.next/server/chunks/ssr/{[root-of-the-server]__06bgklzuef-ya._.js → [root-of-the-server]__1z_pt3d8lty_n._.js} +2 -2
  617. package/server/.next/server/chunks/ssr/{[root-of-the-server]__092gsphy4oz6k._.js → [root-of-the-server]__1zsqu1mecqptt._.js} +2 -2
  618. package/server/.next/server/chunks/ssr/_008i8a0_8skrp._.js +1 -1
  619. package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
  620. package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
  621. package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +3 -0
  622. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  623. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  624. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  625. package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
  626. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  627. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
  628. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  629. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
  630. package/server/.next/server/chunks/ssr/_0gmw45sb1llld._.js +1 -1
  631. package/server/.next/server/chunks/ssr/_0hqya_yuov5jw._.js +3 -0
  632. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
  633. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
  634. package/server/.next/server/chunks/ssr/_0iy27gi4y9-fe._.js +1 -1
  635. package/server/.next/server/chunks/ssr/{_0rsh9v4b3yj0b._.js → _0j_qqta7rirh5._.js} +1 -1
  636. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
  637. package/server/.next/server/chunks/ssr/_0kk0of-t4vhyh._.js +4 -0
  638. package/server/.next/server/chunks/ssr/{_1vlm9990gr64r._.js → _0kq3wqx86yyhb._.js} +2 -2
  639. package/server/.next/server/chunks/ssr/{_0c9_fa5ejth12._.js → _0lg6_we0pe3nk._.js} +2 -2
  640. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  641. package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
  642. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
  643. package/server/.next/server/chunks/ssr/_0r7_a5m55a1jy._.js +3 -0
  644. package/server/.next/server/chunks/ssr/_0rqil_klxfz3j._.js +3 -0
  645. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
  646. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
  647. package/server/.next/server/chunks/ssr/_0uz60lk-7e_cj._.js +2 -2
  648. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  649. package/server/.next/server/chunks/ssr/{_18sg0ilz439y6._.js → _0xkl4rb1wydtd._.js} +2 -2
  650. package/server/.next/server/chunks/ssr/_0xmud7u5hdnqu._.js +2 -2
  651. package/server/.next/server/chunks/ssr/_1-4401bfn50mf._.js +1 -1
  652. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  653. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  654. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  655. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
  656. package/server/.next/server/chunks/ssr/{_0fl2-fao_ye7t._.js → _170okt24rw1yx._.js} +2 -2
  657. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  658. package/server/.next/server/chunks/ssr/_19dldpcnzhkuw._.js +1 -1
  659. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  660. package/server/.next/server/chunks/ssr/_1bijvrgqfyij6._.js +5 -0
  661. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
  662. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  663. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
  664. package/server/.next/server/chunks/ssr/_1dp5bgqob29-f._.js +1 -1
  665. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
  666. package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
  667. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  668. package/server/.next/server/chunks/ssr/{_19q2vj_ppgsu4._.js → _1ge8mluhma23o._.js} +2 -2
  669. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
  670. package/server/.next/server/chunks/ssr/_1ioq9f389jnco._.js +3 -0
  671. package/server/.next/server/chunks/ssr/_1iugpfonxri3e._.js +3 -0
  672. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  673. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  674. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
  675. package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
  676. package/server/.next/server/chunks/ssr/_1ong0a252wcvc._.js +13 -0
  677. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
  678. package/server/.next/server/chunks/ssr/_1q0i7-4d4iyye._.js +3 -0
  679. package/server/.next/server/chunks/ssr/_1q3fi6a4gklq6._.js +1 -1
  680. package/server/.next/server/chunks/ssr/_1qcal07c71omr._.js +3 -0
  681. package/server/.next/server/chunks/ssr/_1r2516zqb3e67._.js +3 -0
  682. package/server/.next/server/chunks/ssr/_1ul3og9l7vp32._.js +2 -2
  683. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
  684. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  685. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
  686. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
  687. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
  688. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_1myo_rodrlg3a.js +2 -2
  689. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
  690. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
  691. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_containers_page_actions_1ainjsbrnl360.js +1 -1
  692. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
  693. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
  694. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
  695. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
  696. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
  697. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1363m-cfkgyvr.js +3 -0
  698. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
  699. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
  700. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  701. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  702. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kr0-100zz257.js +3 -0
  703. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
  704. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  705. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  706. package/server/.next/server/chunks/ssr/{src_0jxjbvkvg0bjg._.js → src_09q8lx_19nta6._.js} +2 -2
  707. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  708. package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
  709. package/server/.next/server/chunks/ssr/src_0kls100c13ocf._.js +3 -0
  710. package/server/.next/server/chunks/ssr/src_0ovx2ogvlz2eh._.js +1 -1
  711. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  712. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  713. package/server/.next/server/chunks/ssr/src_18m06fg8u7_73._.js +3 -0
  714. package/server/.next/server/chunks/ssr/{src_1_9q6-wstn038._.js → src_18ofj2_oxqb0g._.js} +2 -2
  715. package/server/.next/server/chunks/ssr/{src_0632mrev4i__u._.js → src_1ldp01vcphvw5._.js} +2 -2
  716. package/server/.next/server/chunks/ssr/src_1maoe8g5gnv0u._.js +1 -1
  717. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  718. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  719. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  720. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  721. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  722. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  723. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  724. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  725. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  726. package/server/.next/server/chunks/ssr/{src_app_(console)_0ohoun7l5f2tb._.js → src_app_(console)_03s-e0b0zsqqr._.js} +2 -2
  727. package/server/.next/server/chunks/ssr/{src_app_(console)_0krr6t05xs2tn._.js → src_app_(console)_0eh38ymzn-s-m._.js} +2 -2
  728. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
  729. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_08in-j3xp5mbn._.js +1 -1
  730. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  731. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  732. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  733. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  734. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  735. package/server/.next/server/chunks/ssr/src_app_(console)_containers_containers-view_tsx_1xkcrw5gx53xo._.js +1 -1
  736. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  737. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  738. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  739. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  740. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  741. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  742. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  743. package/server/.next/server/chunks/ssr/src_app_(console)_os_os-view_tsx_0xr69f5vtstls._.js +1 -1
  744. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  745. package/server/.next/server/chunks/ssr/src_app_(console)_reports_reports-view_tsx_1l0apba6g810q._.js +3 -0
  746. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  747. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  748. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  749. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  750. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_148phfjye0539._.js +1 -1
  751. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  752. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  753. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  754. package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
  755. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  756. package/server/.next/server/chunks/ssr/src_app_signin_1-h17es4-y1-k._.js +3 -0
  757. package/server/.next/server/chunks/ssr/src_app_signin_1_sp0qx8_z7c9._.js +1 -1
  758. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  759. package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +1 -1
  760. package/server/.next/server/chunks/ssr/src_lib_0etkz1wbvfw-k._.js +3 -0
  761. package/server/.next/server/chunks/ssr/src_lib_0jnv54-8idu07._.js +3 -0
  762. package/server/.next/server/chunks/ssr/{src_lib_1zgor_vrwl5kt._.js → src_lib_0o9m8m1sm5759._.js} +2 -2
  763. package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
  764. package/server/.next/server/chunks/ssr/src_lib_1myex-iv3tu5w._.js +23 -0
  765. package/server/.next/server/chunks/ssr/src_lib_1x__dvajr3xvs._.js +3 -0
  766. package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  767. package/server/.next/server/chunks/ssr/src_lib_branding_ts_03ns4y_8z0-6e._.js +3 -0
  768. package/server/.next/server/chunks/ssr/src_lib_collector_self-update_ts_18m5vmptpjhtg._.js +1 -1
  769. package/server/.next/server/chunks/ssr/{src_lib_demo_15e3gnqzod0tj._.js → src_lib_demo_0r3c3k5102jja._.js} +2 -2
  770. package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
  771. package/server/.next/server/chunks/ssr/src_lib_network_dns-edit_ts_0xtxlbd-uwncx._.js +1 -1
  772. package/server/.next/server/chunks/ssr/src_lib_rate-limit_ts_0r-eu6to05vyx._.js +1 -1
  773. package/server/.next/server/chunks/ssr/src_lib_sections_ts_0r8u4nvlpdkgq._.js +1 -1
  774. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  775. package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +6 -0
  776. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  777. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  778. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  779. package/server/.next/server/middleware-build-manifest.js +14 -3
  780. package/server/.next/server/middleware.js +1 -1
  781. package/server/.next/server/next-font-manifest.js +1 -1
  782. package/server/.next/server/next-font-manifest.json +4 -0
  783. package/server/.next/server/pages/404.html +1 -1
  784. package/server/.next/server/pages/500.html +1 -1
  785. package/server/.next/server/preview-props.json +3 -3
  786. package/server/.next/server/server-reference-manifest.js +1 -1
  787. package/server/.next/server/server-reference-manifest.json +279 -175
  788. package/server/.next/static/chunks/05c15dcfh7cxm.js +1 -0
  789. package/server/.next/static/chunks/{2-uaya1_uxlg8.js → 07_cb192ydsaj.js} +1 -1
  790. package/server/.next/static/chunks/{1c9eb592ho0-l.js → 0_xoojw9q_nof.js} +1 -1
  791. package/server/.next/static/chunks/{1truzt17f0fce.js → 0a9mqrzg8420n.js} +1 -1
  792. package/server/.next/static/chunks/{0mbt6eam4qr2f.js → 0dn6fty1ilg-n.js} +1 -1
  793. package/server/.next/static/chunks/{0dq-2wtk0h5u7.js → 0gxxyq5l_0rp2.js} +1 -1
  794. package/server/.next/static/chunks/0s00_-em3cj00.js +1 -0
  795. package/server/.next/static/chunks/{3m3vl3n5xs039.js → 0valedxcn7j8k.js} +2 -2
  796. package/server/.next/static/chunks/{2ze-y3he5_bb0.js → 0ynyx3s7s4mv7.js} +1 -1
  797. package/server/.next/static/chunks/{0matuoy08desx.js → 0zwq-z8jt5hpz.js} +1 -1
  798. package/server/.next/static/chunks/10y41_ed7ty6e.js +1 -0
  799. package/server/.next/static/chunks/{2-xolk9x48-v1.js → 1416wraxs5p8g.js} +1 -1
  800. package/server/.next/static/chunks/16gt7hkgltvf7.js +1 -0
  801. package/server/.next/static/chunks/{0l61-etojd65n.js → 1_uuog1-u6y0t.js} +1 -1
  802. package/server/.next/static/chunks/{3gmm9g54vx4w0.js → 1azdri14ocjgg.js} +11 -11
  803. package/server/.next/static/chunks/{3jqmm62dbykt1.js → 1cd-2y1kwqosv.js} +1 -1
  804. package/server/.next/static/chunks/{33_2mbxu9wufm.js → 1j_hduntj28ij.js} +1 -1
  805. package/server/.next/static/chunks/{1r99dm6-o5qw2.js → 1nqpnndfmw0tc.js} +1 -1
  806. package/server/.next/static/chunks/{3aou6xwhz8z6a.js → 1nv_9c1bate-f.js} +1 -1
  807. package/server/.next/static/chunks/1sjgdu3r0baj-.js +1 -0
  808. package/server/.next/static/chunks/1velx-cd3d5y1.js +1 -0
  809. package/server/.next/static/chunks/{2yc4qzglai5fq.js → 1vt_t7dg_-pyu.js} +1 -1
  810. package/server/.next/static/chunks/1w51uxl19faw3.js +1 -0
  811. package/server/.next/static/chunks/1xydxxektmjgr.js +1 -0
  812. package/server/.next/static/chunks/{2am77mhkx46hz.js → 1yyigrxptb7jm.js} +2 -2
  813. package/server/.next/static/chunks/{0y99dm8mesqe9.js → 28_88x_e_ynaj.js} +1 -1
  814. package/server/.next/static/chunks/{0-o-4ilzkrd38.js → 28qjoy38cp5by.js} +1 -1
  815. package/server/.next/static/chunks/{2fvh4wg2kp4c2.js → 2azwg3my8wh40.js} +1 -1
  816. package/server/.next/static/chunks/2co8kv2tj776w.js +1 -0
  817. package/server/.next/static/chunks/{0ey7akdab5tu8.js → 2db0smm21dva_.js} +1 -1
  818. package/server/.next/static/chunks/{0v97o46v-74gw.js → 2gk24b05q4q57.js} +1 -1
  819. package/server/.next/static/chunks/{1935vuszybg7i.js → 2i5_2zcei6rqr.js} +1 -1
  820. package/server/.next/static/chunks/2jflssspiz3-i.js +1 -0
  821. package/server/.next/static/chunks/{01euc4zjlprz5.js → 2n198u7xx1koh.js} +1 -1
  822. package/server/.next/static/chunks/{3gkm-ynu4fq5u.js → 2sr03gtef27q0.js} +1 -1
  823. package/server/.next/static/chunks/{02kly5fiyvt77.js → 2txgb9zusks-w.js} +1 -1
  824. package/server/.next/static/chunks/{2m8-ctreu-y-r.js → 3-789qaoce7ff.js} +1 -1
  825. package/server/.next/static/chunks/3-us-wg44ohoc.js +1 -0
  826. package/server/.next/static/chunks/{2szchf79vnxgd.js → 31fs88f_h861n.js} +1 -1
  827. package/server/.next/static/chunks/36ykgce0otv4r.css +3 -0
  828. package/server/.next/static/chunks/{22ygzud_kp29f.js → 378ttzg87hows.js} +1 -1
  829. package/server/.next/static/chunks/{0xz55932e19r8.js → 3aglnkhgcl_kq.js} +1 -1
  830. package/server/.next/static/chunks/{0ge2nkna7o16p.js → 3bvj3-0xltkjo.js} +1 -1
  831. package/server/.next/static/chunks/{3e-0ejqqa7jwn.js → 3cti7pgg_jjlx.js} +1 -1
  832. package/server/.next/static/chunks/{0xlfzxnboj4f1.js → 3dktq-qmj2q5b.js} +1 -1
  833. package/server/.next/static/chunks/{3ursfc8kxp2ak.js → 3ic7ri5b4ifjp.js} +2 -2
  834. package/server/.next/static/chunks/{1pogexbz36ij8.js → 3ic9vbadne9of.js} +1 -1
  835. package/server/.next/static/chunks/{3dk6a5gl9glxo.js → 3lw5n6yzs0665.js} +1 -1
  836. package/server/.next/static/chunks/3mgd5b39ghc-w.js +1 -0
  837. package/server/.next/static/chunks/{1u8mo8jflotrt.js → 3n98m8tj20wcf.js} +1 -1
  838. package/server/.next/static/chunks/{2p8bv7d7t08z1.js → 3u1v2wpzthilq.js} +1 -1
  839. package/server/drizzle-selfhost/0011_reports.sql +56 -0
  840. package/server/drizzle-selfhost/0012_report_send_rule.sql +2 -0
  841. package/server/drizzle-selfhost/meta/_journal.json +14 -0
  842. package/server/server.js +1 -1
  843. package/server/src/lib/report/fonts/Geist-Regular.ttf +0 -0
  844. package/server/src/lib/report/fonts/Geist-SemiBold.ttf +0 -0
  845. package/server/src/lib/report/fonts/GeistMono-Regular.ttf +0 -0
  846. package/server/src/lib/report/fonts/OFL.txt +92 -0
  847. package/tools/reset-login.mjs +2 -0
  848. package/server/.next/server/chunks/[root-of-the-server]__00oxbw3nfl_kd._.js +0 -3
  849. package/server/.next/server/chunks/[root-of-the-server]__04q-9779vl4kn._.js +0 -3
  850. package/server/.next/server/chunks/[root-of-the-server]__04u9e45_g1jdi._.js +0 -3
  851. package/server/.next/server/chunks/[root-of-the-server]__05b18nw2k-7-4._.js +0 -3
  852. package/server/.next/server/chunks/[root-of-the-server]__06nrq_1pbp3z-._.js +0 -3
  853. package/server/.next/server/chunks/[root-of-the-server]__06uaa_2zbg57p._.js +0 -3
  854. package/server/.next/server/chunks/[root-of-the-server]__081hh3_un4awi._.js +0 -3
  855. package/server/.next/server/chunks/[root-of-the-server]__09gla7jgbw2bs._.js +0 -3
  856. package/server/.next/server/chunks/[root-of-the-server]__0a0st8-rftztn._.js +0 -3
  857. package/server/.next/server/chunks/[root-of-the-server]__0at6fxe9efr-x._.js +0 -3
  858. package/server/.next/server/chunks/[root-of-the-server]__0dfx2psnngcys._.js +0 -3
  859. package/server/.next/server/chunks/[root-of-the-server]__0di45l_tnq1pm._.js +0 -3
  860. package/server/.next/server/chunks/[root-of-the-server]__0ej4hdoyogtji._.js +0 -3
  861. package/server/.next/server/chunks/[root-of-the-server]__0eqrtvr3uqlqf._.js +0 -3
  862. package/server/.next/server/chunks/[root-of-the-server]__0g81f_2ecmg8a._.js +0 -3
  863. package/server/.next/server/chunks/[root-of-the-server]__0glhrm7zmrvi2._.js +0 -3
  864. package/server/.next/server/chunks/[root-of-the-server]__0jma907r441wi._.js +0 -3
  865. package/server/.next/server/chunks/[root-of-the-server]__0jpktq0f88rvz._.js +0 -3
  866. package/server/.next/server/chunks/[root-of-the-server]__0myf9g_uv3bia._.js +0 -3
  867. package/server/.next/server/chunks/[root-of-the-server]__0puji-hw0xtk7._.js +0 -3
  868. package/server/.next/server/chunks/[root-of-the-server]__0ruici82tzf0w._.js +0 -3
  869. package/server/.next/server/chunks/[root-of-the-server]__0t0dd5t5rch1i._.js +0 -3
  870. package/server/.next/server/chunks/[root-of-the-server]__0ty2qkszfdr5t._.js +0 -3
  871. package/server/.next/server/chunks/[root-of-the-server]__0ugx1i8km15fl._.js +0 -3
  872. package/server/.next/server/chunks/[root-of-the-server]__0ux1hi2fgqxu7._.js +0 -3
  873. package/server/.next/server/chunks/[root-of-the-server]__12tmfv427e9cb._.js +0 -3
  874. package/server/.next/server/chunks/[root-of-the-server]__1481y3utu_a_o._.js +0 -3
  875. package/server/.next/server/chunks/[root-of-the-server]__14e0j38785glf._.js +0 -3
  876. package/server/.next/server/chunks/[root-of-the-server]__14yq_wf4xemgd._.js +0 -3
  877. package/server/.next/server/chunks/[root-of-the-server]__1_0vd5-tvmsg8._.js +0 -3
  878. package/server/.next/server/chunks/[root-of-the-server]__1_goy0uhapvk9._.js +0 -3
  879. package/server/.next/server/chunks/[root-of-the-server]__1ac-dzt5bffr2._.js +0 -3
  880. package/server/.next/server/chunks/[root-of-the-server]__1ajyr5xvo1-x5._.js +0 -3
  881. package/server/.next/server/chunks/[root-of-the-server]__1ey2qia7rofoc._.js +0 -3
  882. package/server/.next/server/chunks/[root-of-the-server]__1hlvqq0azku2x._.js +0 -3
  883. package/server/.next/server/chunks/[root-of-the-server]__1hrviq7s700td._.js +0 -3
  884. package/server/.next/server/chunks/[root-of-the-server]__1ifov-udw6__d._.js +0 -3
  885. package/server/.next/server/chunks/[root-of-the-server]__1ig0p-frprcbm._.js +0 -3
  886. package/server/.next/server/chunks/[root-of-the-server]__1ksyvvsf32jfg._.js +0 -3
  887. package/server/.next/server/chunks/[root-of-the-server]__1kzi1du1sliqb._.js +0 -3
  888. package/server/.next/server/chunks/[root-of-the-server]__1mvibnqor6lx_._.js +0 -3
  889. package/server/.next/server/chunks/[root-of-the-server]__1o-zo4qebuqwy._.js +0 -3
  890. package/server/.next/server/chunks/[root-of-the-server]__1po33h2u2o4e_._.js +0 -3
  891. package/server/.next/server/chunks/[root-of-the-server]__1qps9ushddgwe._.js +0 -3
  892. package/server/.next/server/chunks/[root-of-the-server]__1qrj37m-5y-56._.js +0 -3
  893. package/server/.next/server/chunks/[root-of-the-server]__1qyz1wi13rxxb._.js +0 -3
  894. package/server/.next/server/chunks/[root-of-the-server]__1r8mzvf7_9d2k._.js +0 -3
  895. package/server/.next/server/chunks/[root-of-the-server]__1rxke2_vpd7np._.js +0 -3
  896. package/server/.next/server/chunks/[root-of-the-server]__1sjp750034q4j._.js +0 -3
  897. package/server/.next/server/chunks/[root-of-the-server]__1wbnule0tzwdu._.js +0 -3
  898. package/server/.next/server/chunks/[root-of-the-server]__1wcnj2xtesyd9._.js +0 -3
  899. package/server/.next/server/chunks/[root-of-the-server]__1won_frdj9jms._.js +0 -3
  900. package/server/.next/server/chunks/[root-of-the-server]__1wvp6wau5ueb9._.js +0 -3
  901. package/server/.next/server/chunks/[root-of-the-server]__1yxudc_keazqo._.js +0 -3
  902. package/server/.next/server/chunks/[root-of-the-server]__1z_l9mj3s_6tu._.js +0 -3
  903. package/server/.next/server/chunks/[root-of-the-server]__1zvy7u_y3fzbz._.js +0 -3
  904. package/server/.next/server/chunks/[root-of-the-server]__208znvanagmpr._.js +0 -3
  905. package/server/.next/server/chunks/[root-of-the-server]__20qdu-env7wgt._.js +0 -3
  906. package/server/.next/server/chunks/[root-of-the-server]__212-4r-w6a9sm._.js +0 -3
  907. package/server/.next/server/chunks/_0-5pjvqu672_v._.js +0 -49
  908. package/server/.next/server/chunks/_02qrz1g8sdvhe._.js +0 -49
  909. package/server/.next/server/chunks/_03qlijpos6a21._.js +0 -3
  910. package/server/.next/server/chunks/_06gv0srpbf_lk._.js +0 -3
  911. package/server/.next/server/chunks/_06lf75x-xhl7v._.js +0 -3
  912. package/server/.next/server/chunks/_0cbxgnkxr1uj8._.js +0 -3
  913. package/server/.next/server/chunks/_0sy878k2ywjbq._.js +0 -3
  914. package/server/.next/server/chunks/_0vjggb8yo5b9f._.js +0 -3
  915. package/server/.next/server/chunks/_0wval7co8z-pk._.js +0 -3
  916. package/server/.next/server/chunks/_103ai6ybnpq1k._.js +0 -3
  917. package/server/.next/server/chunks/_108e86rhye0o1._.js +0 -3
  918. package/server/.next/server/chunks/_12g2m3a5e94_5._.js +0 -3
  919. package/server/.next/server/chunks/_1_son1yzo5xvl._.js +0 -3
  920. package/server/.next/server/chunks/_1ap0upnvy5i_1._.js +0 -49
  921. package/server/.next/server/chunks/_1b-88djuoexz1._.js +0 -49
  922. package/server/.next/server/chunks/_1ctwjh8q__6_g._.js +0 -3
  923. package/server/.next/server/chunks/_1f14qy3kb8iac._.js +0 -3
  924. package/server/.next/server/chunks/_1fj4vzjpusyn8._.js +0 -5
  925. package/server/.next/server/chunks/_1i8u10u8nrzy2._.js +0 -3
  926. package/server/.next/server/chunks/_1k3v1-vgvzm_o._.js +0 -3
  927. package/server/.next/server/chunks/_1kcmwgs544mo-._.js +0 -3
  928. package/server/.next/server/chunks/_1ptcxyn1tzm9r._.js +0 -3
  929. package/server/.next/server/chunks/_1rskctyr7yt-b._.js +0 -3
  930. package/server/.next/server/chunks/node_modules_drizzle-orm_1oeq7sl_gbxs5._.js +0 -4
  931. package/server/.next/server/chunks/node_modules_drizzle-orm_1tmqw7vk5a4ik._.js +0 -4
  932. package/server/.next/server/chunks/src_063xvouojxyoa._.js +0 -3
  933. package/server/.next/server/chunks/src_088gmyaew7ds0._.js +0 -3
  934. package/server/.next/server/chunks/src_08fq45_-8xq5o._.js +0 -3
  935. package/server/.next/server/chunks/src_0hx0sol2clocu._.js +0 -3
  936. package/server/.next/server/chunks/src_0j84o_hkkaeg-._.js +0 -3
  937. package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +0 -3
  938. package/server/.next/server/chunks/src_1-6a00bmwlymu._.js +0 -3
  939. package/server/.next/server/chunks/src_13n1vi7uew4iu._.js +0 -3
  940. package/server/.next/server/chunks/src_1_fnzi0em_6er._.js +0 -3
  941. package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +0 -3
  942. package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +0 -3
  943. package/server/.next/server/chunks/src_lib_0-fln6xaazo-9._.js +0 -12
  944. package/server/.next/server/chunks/src_lib_0ma36vqcze7a9._.js +0 -7
  945. package/server/.next/server/chunks/src_lib_0ps7mu81f-6s1._.js +0 -7
  946. package/server/.next/server/chunks/src_lib_14grv5a5_n9o0._.js +0 -7
  947. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +0 -23
  948. package/server/.next/server/chunks/src_lib_1jlvdx5ho171c._.js +0 -12
  949. package/server/.next/server/chunks/src_lib_1znb-e7g8dkgc._.js +0 -7
  950. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +0 -21
  951. package/server/.next/server/chunks/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +0 -3
  952. package/server/.next/server/chunks/src_lib_demo_11p30f_ci6ie2._.js +0 -3
  953. package/server/.next/server/chunks/ssr/[root-of-the-server]__03xevz8n-mc20._.js +0 -4
  954. package/server/.next/server/chunks/ssr/[root-of-the-server]__0de1senl_kfo5._.js +0 -3
  955. package/server/.next/server/chunks/ssr/[root-of-the-server]__0y6psx1_d7fkt._.js +0 -3
  956. package/server/.next/server/chunks/ssr/[root-of-the-server]__19twn3g5nv5q1._.js +0 -3
  957. package/server/.next/server/chunks/ssr/[root-of-the-server]__19wvac83zh5-9._.js +0 -3
  958. package/server/.next/server/chunks/ssr/[root-of-the-server]__1m38od9tgaroe._.js +0 -3
  959. package/server/.next/server/chunks/ssr/[root-of-the-server]__1mxpszbk1aup8._.js +0 -4
  960. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tj-iwvrxfd1a._.js +0 -3
  961. package/server/.next/server/chunks/ssr/[root-of-the-server]__1zmuaump_n9c1._.js +0 -3
  962. package/server/.next/server/chunks/ssr/_01n29sxn-py3x._.js +0 -3
  963. package/server/.next/server/chunks/ssr/_03d3sxmob-gr7._.js +0 -3
  964. package/server/.next/server/chunks/ssr/_0c8kew3jsb-yb._.js +0 -3
  965. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +0 -4
  966. package/server/.next/server/chunks/ssr/_0rw2pberdmaa5._.js +0 -3
  967. package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +0 -3
  968. package/server/.next/server/chunks/ssr/_16vvfyez78u5k._.js +0 -3
  969. package/server/.next/server/chunks/ssr/_1d0anr0hjs5k5._.js +0 -3
  970. package/server/.next/server/chunks/ssr/_1fj4vzjpusyn8._.js +0 -5
  971. package/server/.next/server/chunks/ssr/_1rskctyr7yt-b._.js +0 -3
  972. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +0 -3
  973. package/server/.next/server/chunks/ssr/src_1emolu5lrse98._.js +0 -6
  974. package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +0 -3
  975. package/server/.next/server/chunks/ssr/src_app_signin_12a3ifphkkcs7._.js +0 -3
  976. package/server/.next/server/chunks/ssr/src_lib_0nbad7vu413-f._.js +0 -23
  977. package/server/.next/server/chunks/ssr/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +0 -3
  978. package/server/.next/static/chunks/028g933xfv8jn.js +0 -1
  979. package/server/.next/static/chunks/0utjdzwgd7zw2.js +0 -1
  980. package/server/.next/static/chunks/1sa-1lde5_ikt.js +0 -1
  981. package/server/.next/static/chunks/1uk98c6r9i2bn.js +0 -1
  982. package/server/.next/static/chunks/2zzk4wxiacgja.css +0 -3
  983. package/server/.next/static/chunks/33avmrae70_xs.js +0 -1
  984. package/server/.next/static/chunks/363mcu9nd9znh.js +0 -1
  985. package/server/.next/static/chunks/3bwwwv3sp7uyn.js +0 -1
  986. package/server/.next/static/chunks/3lvz18snt6489.js +0 -1
  987. package/server/.next/static/chunks/3qv9klayap1tz.js +0 -1
  988. package/server/.next/static/chunks/3xkvsl4vbpm41.js +0 -1
  989. package/server/.next/static/chunks/3yu0azvye6wr_.js +0 -1
  990. /package/server/.next/static/{fogXXBSOhoHV3eIf8_j28 → NUZVcU60U-vXVedu_GB0w}/_buildManifest.js +0 -0
  991. /package/server/.next/static/{fogXXBSOhoHV3eIf8_j28 → NUZVcU60U-vXVedu_GB0w}/_clientMiddlewareManifest.js +0 -0
  992. /package/server/.next/static/{fogXXBSOhoHV3eIf8_j28 → NUZVcU60U-vXVedu_GB0w}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,239647,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(846696),n=e.i(177106),r=e.i(95187);let i=(0,r.createServerReference)("60a8ab808862ce49915cac0a3330ea801e810e46b5",r.callServer,void 0,r.findSourceMapURL,"silence");e.s(["AlertMenu",0,function({id:e,label:r,silenced:l,resourceHref:o}){let[,d]=(0,a.useTransition)(),c=(0,a.useRef)(!1),h=t=>{c.current||(c.current=!0,d(async()=>{try{let a=await i(e,t);a.ok?s.c.success(a.message??""):s.c.error(a.error)}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}finally{c.current=!1}}))},u=o?[{label:"View resource",href:o}]:[];return(0,t.jsx)(n.RowMenu,{label:`Actions for ${r}`,items:l?[{label:"Unsilence",onSelect:()=>h("off")},...u]:[{label:"Silence 1 hour",onSelect:()=>h("1h")},{label:"Silence until resolved",onSelect:()=>h("resolved")},...u]})}],239647)},108608,e=>{var t=e.i(843476),a=e.i(33550);let s=(0,a.f)("outline","brand-discord","BrandDiscord",[["path",{d:"M8 12a1 1 0 1 0 2 0a1 1 0 0 0 -2 0",key:"svg-0"}],["path",{d:"M14 12a1 1 0 1 0 2 0a1 1 0 0 0 -2 0",key:"svg-1"}],["path",{d:"M15.5 17c0 1 1.5 3 2 3c1.5 0 2.833 -1.667 3.5 -3c.667 -1.667 .5 -5.833 -1.5 -11.5c-1.457 -1.015 -3 -1.34 -4.5 -1.5l-.972 1.923a11.913 11.913 0 0 0 -4.053 0l-.975 -1.923c-1.5 .16 -3.043 .485 -4.5 1.5c-2 5.667 -2.167 9.833 -1.5 11.5c.667 1.333 2 3 3.5 3c.5 0 2 -2 2 -3",key:"svg-2"}],["path",{d:"M7 16.5c3.5 1 6.5 1 10 0",key:"svg-3"}]]),n=(0,a.f)("outline","brand-telegram","BrandTelegram",[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]]),r=(0,a.f)("outline","mail","Mail",[["path",{d:"M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10",key:"svg-0"}],["path",{d:"M3 7l9 6l9 -6",key:"svg-1"}]]),i=(0,a.f)("outline","webhook","Webhook",[["path",{d:"M4.876 13.61a4 4 0 1 0 6.124 3.39h6",key:"svg-0"}],["path",{d:"M15.066 20.502a4 4 0 1 0 1.934 -7.502c-.706 0 -1.424 .179 -2 .5l-3 -5.5",key:"svg-1"}],["path",{d:"M16 8a4 4 0 1 0 -8 0c0 1.506 .77 2.818 2 3.5l-3 5.5",key:"svg-2"}]]);var l=e.i(944971),o=e.i(271645),d=e.i(846696),c=e.i(428325),h=e.i(500443),u=e.i(776639),p=e.i(357772);function m({id:e,onChange:a}){let[s,n]=(0,o.useState)([]),[r,i]=(0,o.useState)(""),l=(e,t)=>{n(e),i(t),a([...e,t.trim()].filter(Boolean).join(", "))},d=e=>{var t;let a;return l((t=[...s,e].join(","),a=new Set,t.split(/[\s,;]+/).filter(e=>e&&!a.has(e.toLowerCase())&&a.add(e.toLowerCase()))),"")};return(0,t.jsxs)("div",{className:"flex min-h-[34px] flex-wrap items-center gap-1.5 rounded-md border border-line-strong bg-surface px-1.5 py-1 focus-within:border-brand focus-within:ring-2 focus-within:ring-brand/40",children:[s.map((e,a)=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-line bg-sunken py-0.5 pl-2.5 pr-1 text-[12.5px]",children:[e,(0,t.jsx)("button",{type:"button",className:"grid size-4 place-items-center rounded-full text-ink-soft hover:text-ink","aria-label":`Remove ${e}`,onClick:()=>l(s.filter((e,t)=>t!==a),r),children:(0,t.jsx)(p.f,{size:12,"aria-hidden":!0})})]},e)),(0,t.jsx)("input",{id:e,className:"min-w-[160px] flex-1 bg-transparent px-1 py-0.5 text-ink outline-none",type:"text",inputMode:"email",autoComplete:"off",placeholder:s.length?s.length<10?"Add another":"":"you@example.com",value:r,onChange:e=>/[\s,;]/.test(e.target.value)?d(e.target.value):l(s,e.target.value),onKeyDown:e=>{"Enter"===e.key&&r.trim()?(e.preventDefault(),d(r)):"Backspace"===e.key&&!r&&s.length&&l(s.slice(0,-1),s.at(-1))},onBlur:()=>{r.trim()&&d(r)}})]})}var x=e.i(95187);let b=(0,x.createServerReference)("403d9e8d73c65cb0b8889ac242b2d159baf391dedc",x.callServer,void 0,x.findSourceMapURL,"saveDigest"),g=(0,x.createServerReference)("408b1aa4d8906c65e39ae45ede59d2c74707eecfe4",x.callServer,void 0,x.findSourceMapURL,"saveDiscord"),f=(0,x.createServerReference)("4050bfcd8849be68504cba28173b7ea130110c043c",x.callServer,void 0,x.findSourceMapURL,"saveSmtp"),v=(0,x.createServerReference)("60ab9b90c64d3ec3d2bd56861da456ad6c3c29c8d2",x.callServer,void 0,x.findSourceMapURL,"saveTelegram"),y=(0,x.createServerReference)("6004ef9ecd16198ec924f458f07d6910e8ae400ec1",x.callServer,void 0,x.findSourceMapURL,"saveWebhook"),k=(0,x.createServerReference)("40eb29379f394ebc724a9a33e29187c0f6625f41d8",x.callServer,void 0,x.findSourceMapURL,"sendTest"),S=(0,x.createServerReference)("6048cff6328812981eb48ffb09ed15ccbadb844cbd",x.callServer,void 0,x.findSourceMapURL,"setChannelEnabled"),w=(0,x.createServerReference)("0084e973b1d2ae850311b5831e7ee1e9678cbcdda2",x.callServer,void 0,x.findSourceMapURL,"telegramChats"),j={telegram:{icon:n,title:"Connect Telegram",name:"Telegram",about:`The bot token is ${l.n.setting} (TELEGRAM_BOT_TOKEN). Here you only choose the chat.`},discord:{icon:s,title:"Connect Discord",name:"Discord",about:"Discord → Channel settings → Integrations → Webhooks → New webhook → Copy URL."},webhook:{icon:i,title:"Connect a webhook",name:"Webhook",about:"Watchbell POSTs JSON to this address for every alert message. It must be https on a public host (port 443); Watchbell doesn't post into private networks or follow redirects."},smtp:{icon:r,title:"Email through your mail server",name:"Email (SMTP)",about:"Port 587 or 2525 with STARTTLS, or 465 with TLS; the password only ever goes over TLS. The server must be on the public internet. Office 365: smtp.office365.com, 587, and an app password if your account has MFA."},email_digest:{icon:r,title:"Daily email digest",name:"Daily email digest",about:`Sent through Resend from the address in DIGEST_FROM. The API key is ${l.n.setting} (RESEND_API_KEY).`}},C={telegram:"Telegram",discord:"Discord",webhook:"Webhook",smtp:"Email (SMTP)",email_digest:"Daily email digest"};e.s(["ChannelControls",0,function({kind:e,connected:a,enabled:s,envMissing:n}){let[r,i]=(0,o.useState)(!1),[l,p]=(0,o.useState)([]),[x,N]=(0,o.useState)(""),[R,T]=(0,o.useState)(""),[M,L]=(0,o.useState)(""),[D,E]=(0,o.useState)(""),[$,A]=(0,o.useState)({host:"",port:"587",user:"",pass:"",from:"",to:""}),[O,U]=(0,o.useState)({}),[W,P]=(0,o.useTransition)(),[F,z]=(0,o.useTransition)(),[K,H]=(0,o.useTransition)();(0,h.useHoldRefresh)(r);let I=j[e],_=I.icon;function B(e){e&&(p([]),N(""),T(""),L(""),E(""),A({host:"",port:"587",user:"",pass:"",from:"",to:""}),U({})),i(e)}function V(e,t){H(async()=>{try{let a=await e();a.ok?d.c.success(t,{description:a.message}):d.c.error(a.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})}return(0,t.jsxs)("span",{className:"inline-flex flex-wrap items-center gap-2",children:[(0,t.jsxs)(u.N,{open:r,onOpenChange:e=>{W||B(e)},children:[(0,t.jsx)(u.a,{render:(0,t.jsx)(c.K,{size:"sm",disabled:null!==n,children:a?"Change":"Connect"})}),(0,t.jsxs)(u.d,{className:"max-h-[92vh] gap-0 overflow-y-auto p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(_,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(u.F,{className:"text-base",children:I.title}),(0,t.jsx)(u.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:I.about})]})]}),(0,t.jsxs)("form",{onSubmit:t=>{let a;t.preventDefault(),a={},"telegram"!==e||x||(a.chat="Press Find chats, then pick one."),"discord"!==e||R.trim()||(a.url="Paste the whole webhook URL from Discord."),"webhook"!==e||R.trim()||(a.url="Paste the whole address, starting with https://."),"smtp"!==e||$.host.trim()||(a.host="Enter the server name, for example smtp.office365.com."),"smtp"!==e||$.to.trim()||(a.to="Enter the address that gets the alerts."),"email_digest"!==e||M.trim()||(a.to="Enter a valid email address."),U(a),Object.keys(a).length||P(async()=>{try{let t=l.find(e=>e.id===x)?.label??"",a="telegram"===e?await v(x,t):"discord"===e?await g(R):"webhook"===e?await y(R,D):"smtp"===e?await f({...$,port:Number($.port)}):await b(M);if(!a.ok){U(a.fieldErrors??{}),a.fieldErrors||d.c.error(a.error);return}d.c.success("Channel saved",{description:a.message}),i(!1)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,t.jsxs)("div",{className:"px-[18px] pt-2",children:["telegram"===e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.O,{id:"ch-chat",label:"Chat",help:"Send /start to your bot in Telegram first.",error:O.chat,children:(0,t.jsxs)("select",{id:"ch-chat",className:c.S,value:x,onChange:e=>N(e.target.value),children:[0===l.length&&(0,t.jsx)("option",{value:"",children:"Press Find chats after you message the bot"}),l.map(e=>(0,t.jsx)("option",{value:e.id,children:e.label},e.id))]})}),(0,t.jsx)("p",{className:"mb-3",children:(0,t.jsx)(c.K,{size:"sm",onClick:function(){z(async()=>{try{let e=await w();if(!e.ok)return void d.c.error(e.error);let t=e.data?.chats??[];p(t),N(t[0]?.id??""),U({}),t.length?d.c.success(`Found ${t.length} chat${1===t.length?"":"s"}: ${t.map(e=>e.label).join(", ")}.`):d.c.info("No chats yet",{description:e.message??"Send /start to your bot in Telegram, then try again."})}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:F,children:F?"Looking…":"Find chats"})})]}),"discord"===e&&(0,t.jsx)(c.O,{id:"ch-hook",label:"Webhook URL",help:"Encrypted before it's saved and never shown again.",error:O.url,children:(0,t.jsx)("input",{id:"ch-hook",className:c.S,type:"password",autoComplete:"off",placeholder:"https://discord.com/api/webhooks/…",value:R,onChange:e=>T(e.target.value)})}),"webhook"===e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.O,{id:"ch-wh",label:"Address",help:"Encrypted before it's saved and never shown again; the console shows only its host.",error:O.url,children:(0,t.jsx)("input",{id:"ch-wh",className:c.S,type:"url",autoComplete:"off",placeholder:"https://n8n.example.com/webhook/…",value:R,onChange:e=>T(e.target.value)})}),(0,t.jsx)(c.O,{id:"ch-wh-secret",label:"Secret (optional)",help:"16 to 200 characters. Each body is signed with it: header X-Watchbell-Signature = sha256 HMAC of the timestamp, a dot and the body.",error:O.secret,children:(0,t.jsx)("input",{id:"ch-wh-secret",className:c.S,type:"password",autoComplete:"off",value:D,onChange:e=>E(e.target.value)})})]}),"smtp"===e&&(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-x-3 max-[520px]:grid-cols-1",children:[(0,t.jsx)(c.O,{id:"ch-sm-host",label:"Server",error:O.host,children:(0,t.jsx)("input",{id:"ch-sm-host",className:c.S,autoComplete:"off",placeholder:"smtp.office365.com",value:$.host,onChange:e=>A({...$,host:e.target.value})})}),(0,t.jsx)(c.O,{id:"ch-sm-port",label:"Port",error:O.port,children:(0,t.jsxs)("select",{id:"ch-sm-port",className:c.S,value:$.port,onChange:e=>A({...$,port:e.target.value}),children:[(0,t.jsx)("option",{value:"587",children:"587 · STARTTLS"}),(0,t.jsx)("option",{value:"465",children:"465 · TLS"}),(0,t.jsx)("option",{value:"2525",children:"2525 · STARTTLS"})]})}),(0,t.jsx)(c.O,{id:"ch-sm-user",label:"User name",error:O.user,children:(0,t.jsx)("input",{id:"ch-sm-user",className:c.S,autoComplete:"off",value:$.user,onChange:e=>A({...$,user:e.target.value})})}),(0,t.jsx)(c.O,{id:"ch-sm-pass",label:"Password",help:a?"Leave empty to keep the saved one.":"Encrypted before it's saved and never shown again.",error:O.pass,children:(0,t.jsx)("input",{id:"ch-sm-pass",className:c.S,type:"password",autoComplete:"off",value:$.pass,onChange:e=>A({...$,pass:e.target.value})})}),(0,t.jsx)(c.O,{id:"ch-sm-from",label:"From",error:O.from,children:(0,t.jsx)("input",{id:"ch-sm-from",className:c.S,type:"email",autoComplete:"off",placeholder:"alerts@example.com",value:$.from,onChange:e=>A({...$,from:e.target.value})})}),(0,t.jsxs)("div",{className:"col-span-2 max-[520px]:col-span-1",children:[(0,t.jsx)(c.O,{id:"ch-sm-to",label:"Send to",help:"Up to 10 addresses; each one gets the same email. Press Enter or a comma after each.",error:O.to,children:(0,t.jsx)(m,{id:"ch-sm-to",onChange:e=>A(t=>({...t,to:e}))})}),"onboarding@resend.dev"===$.from.trim().toLowerCase()&&$.to.includes(",")&&(0,t.jsx)("p",{className:"-mt-2 mb-3.5 rounded-md border border-warn/40 bg-warn-soft px-2.5 py-2 text-[12.5px]",children:"Resend's test sender (onboarding@resend.dev) only delivers to your own Resend account address. Verify a domain in Resend and send from it to reach other people."})]})]}),"email_digest"===e&&(0,t.jsx)(c.O,{id:"ch-to",label:"Send to",error:O.to,children:(0,t.jsx)("input",{id:"ch-to",className:c.S,type:"email",autoComplete:"off",placeholder:"name@example.com",value:M,onChange:e=>L(e.target.value)})})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(c.K,{onClick:()=>B(!1),disabled:W,children:"Cancel"}),(0,t.jsx)(c.K,{type:"submit",variant:"primary",disabled:W,children:W?"Saving…":"Save"})]})]})]})]}),a&&s&&null===n&&(0,t.jsx)(c.K,{size:"sm",disabled:K,onClick:()=>V(()=>k(e),`${C[e]} test`),children:K?"Sending…":"Send test"}),a&&(0,t.jsx)(c.K,{size:"sm",variant:"ghost",disabled:K,onClick:()=>V(()=>S(e,!s),C[e]),children:s?"Turn off":"Turn on"})]})}],108608)},274224,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(846696),n=e.i(428325),r=e.i(95187);let i=(0,r.createServerReference)("606ce6c4a10f11f377bbec5d6a30a27ab11f75b0e5",r.callServer,void 0,r.findSourceMapURL,"setNotifyLanguage");e.s(["LanguageSelect",0,function({channel:e,label:r,saved:l}){let[o,d]=(0,a.useState)(l),[c,h]=(0,a.useTransition)();return(0,t.jsxs)("select",{"aria-label":`${r} language`,className:`${n.S} w-auto min-w-[160px]`,value:o,disabled:c,onChange:t=>{var a;d(a="id"===t.target.value?"id":"en"),h(async()=>{try{let t=await i(e,a);t.ok?s.c.success(`${r} language saved`,{description:t.message}):(d(o),s.c.error(t.error))}catch{d(o),s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,t.jsx)("option",{value:"en",children:"English"}),(0,t.jsx)("option",{value:"id",children:"Bahasa Indonesia"})]})}],274224)},689721,e=>{var t=e.i(843476),a=e.i(668029),s=e.i(271645),n=e.i(846696),r=e.i(428325),i=e.i(500443),l=e.i(776639);let o=e=>(e??0).toLocaleString("en-US"),d={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:e=>`${o(e)} failed checks in a row`},CollectorStale:{key:"CollectorStale",severity:"critical",threshold:5,bounds:[3,60],source:"own",needs:null,sampled:!1,condition:e=>`No collector run for ${o(e)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:e=>`Slowest 5% of checks over ${o(e)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A production deploy fails"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase pauses the project"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:e=>`TLS certificate expires in < ${o(e)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:e=>`Domain expires in < ${o(e)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Database size > ${o(e)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:e=>`> ${o(e)} of 100 CU-hours this month`},FirestoreQuotaHigh:{key:"FirestoreQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"test",needs:"databases",sampled:!1,condition:e=>`Daily reads > ${o(e)}% of 50k`},AutoPauseRisk:{key:"AutoPauseRisk",severity:"info",threshold:4,bounds:[1,6],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase project without API traffic for ${o(e)}+ days`},DnsProxiedToVercel:{key:"DnsProxiedToVercel",severity:"info",threshold:null,bounds:null,source:"api",needs:"dns",sampled:!1,condition:()=>"Cloudflare record proxied in front of Vercel"},ComputeHigh:{key:"ComputeHigh",severity:"warning",threshold:80,bounds:[50,95],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase CPU > ${o(e)}% for 15 min, RAM > ${o(Math.min(99,(e??80)+10))}%, disk > ${o(e)}% or connections > ${o(e)}% of max`},DbQuotaHigh:{key:"DbQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Turso, Upstash or D1 usage > ${o(e)}% of a free-plan quota`},CredentialExpiring:{key:"CredentialExpiring",severity:"warning",threshold:14,bounds:[1,60],source:"api",needs:null,sampled:!1,condition:e=>`Account credential expires in < ${o(e)} days`},VulnerableDependency:{key:"VulnerableDependency",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A dependency has a critical or high advisory, or a moderate one on a direct dependency (OSV.dev)"},FrameworkVulnerable:{key:"FrameworkVulnerable",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The app's Next.js version has a known advisory (OSV.dev)"},CiFailing:{key:"CiFailing",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"The latest GitHub Actions run on the default branch failed"},OsSecurityUpdate:{key:"OsSecurityUpdate",severity:"warning",threshold:7,bounds:[0,10],source:"own",needs:null,sampled:!1,condition:e=>`A waiting security update fixes a CVE scored ${(e??7).toFixed(1)}+ (CVSS), or a new kernel waits for a reboot`},MonitorDomainMoved:{key:"MonitorDomainMoved",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The monitor's domain is no longer one of the app's domains"}};Object.keys(d),e.i(684496);let c=[["critical","Critical"],["warning","Warning"],["info","Info"]];var h=e.i(95187);let u=(0,h.createServerReference)("60f3c3029279219d908e4964347ace788c2a073de1",h.callServer,void 0,h.findSourceMapURL,"editRule"),p=(0,h.createServerReference)("607dba40591fba6589aa4c7c851d1d4e2eb17c3de2",h.callServer,void 0,h.findSourceMapURL,"testRule"),m=["status","severity","rule","target","detail","cause","step","since","threshold"],x=["id","en"],b={status:"FIRING, REPEAT or RESOLVED (MUNCUL, ULANG, PULIH in Indonesian)",severity:"critical, warning or info",rule:"the rule's key, like MonitorDown",target:"what the alert is about: an app, a database, a domain",detail:"Watchbell's sentence about what it saw",cause:"the alert that caused this one, or a provider incident",step:"Watchbell's next step for rules that have one",since:"when the alert started: the time and the time zone",threshold:"the rule's number from Threshold"},g={en:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nNext step: {step}\nsince {since}",id:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nYang perlu kamu lakukan: {step}\nsejak {since}"},f={en:"Test message: Watchbell's sentence about what it saw goes here.",id:"Pesan tes: di sini nanti kalimat Watchbell soal apa yang dilihatnya."},v=/\{([a-zA-Z_]+)\}/g,y=e=>e.replace(/\r\n?/g,"\n").replace(/[ \t]+$/gm,"").trim();function k(e,t){let a="string"==typeof e?y(e):"";return a&&a!==g[t]?a:null}let S={id:"Bahasa Indonesia",en:"English"},w={en:"FIRING",id:"MUNCUL"},j={en:{critical:"critical",warning:"warning",info:"info"},id:{critical:"kritis",warning:"peringatan",info:"info"}},C={en:"1 firing",id:"1 aktif"},N={en:"Open alerts",id:"Buka Alerts"},R=e=>({id:e.id??g.id,en:e.en??g.en});function T({ruleKey:e,severity:a,threshold:n,sample:i,texts:l,onChange:o,errors:d}){let[c,h]=(0,s.useState)("id"),u=(0,s.useRef)(null),p=l[c],R=null!==k(p,c),M={status:w[c],severity:j[c][a]??a,rule:e,target:"my-app",detail:f[c],cause:"",step:i.step[c]??"",since:i.since,threshold:n},[L="",...D]=y(p).split("\n").flatMap(e=>{let t=[...e.matchAll(v)].map(e=>e[1]).filter(e=>Object.hasOwn(M,e));return t.length&&t.every(e=>!M[e].trim())?[]:[e.replace(v,(e,t)=>Object.hasOwn(M,t)?M[t]:e)]}).join("\n").replace(/\n{3,}/g,"\n\n").trim().split("\n");return(0,t.jsxs)("fieldset",{className:"mb-3.5 flex flex-col gap-[5px] border-t border-line pt-3.5",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,t.jsx)("legend",{className:"text-[13px] font-medium",children:"Message"}),(0,t.jsx)("span",{className:`rounded-full border px-2 py-px text-[11.5px] ${R?"border-brand/40 text-brand":"border-line text-ink-soft"}`,children:R?"Changed":"Watchbell's wording"})]}),(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"Word the notification yourself. Left as it is, the rule keeps Watchbell's wording, including later fixes to it."}),(0,t.jsx)("div",{role:"tablist",className:"mt-1 flex gap-1 border-b border-line",children:x.map(e=>(0,t.jsxs)("button",{type:"button",role:"tab","aria-selected":e===c,onClick:()=>h(e),className:`-mb-px border-b-2 px-2.5 py-1.5 text-[13px] ${e===c?"border-brand font-medium text-ink":"border-transparent text-ink-soft hover:text-ink"}`,children:[S[e],null!==k(l[e],e)?" · changed":""]},e))}),(0,t.jsx)("textarea",{ref:u,id:`rule-msg-${c}`,"aria-label":`Message in ${S[c]}`,className:`${r.S} min-h-[124px] resize-y font-mono text-[12.5px] leading-relaxed`,maxLength:1200,value:p,onChange:e=>o({...l,[c]:e.target.value})}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:m.map(e=>(0,t.jsx)("button",{type:"button",title:b[e],onClick:()=>{let t,a,s,n;return t=u.current,a=t?.selectionStart??p.length,s=t?.selectionEnd??a,n=`{${e}}`,void(o({...l,[c]:p.slice(0,a)+n+p.slice(s)}),requestAnimationFrame(()=>{t?.focus(),t?.setSelectionRange(a+n.length,a+n.length)}))},className:"rounded border border-line-strong bg-sunken px-1.5 py-px font-mono text-[12px] text-ink hover:border-brand",children:`{${e}}`},e))}),d[`template_${c}`]&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:d[`template_${c}`]}),x.filter(e=>e!==c&&d[`template_${e}`]).map(e=>(0,t.jsxs)("span",{className:"text-[12.5px] text-err",role:"alert",children:[S[e],": ",d[`template_${e}`]]},e)),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"A line whose fields are all empty is left out."}),(0,t.jsx)("button",{type:"button",className:"text-[12.5px] text-link underline disabled:opacity-50 disabled:no-underline",disabled:!R,onClick:()=>o({...l,[c]:g[c]}),children:"Back to Watchbell's wording"})]}),(0,t.jsxs)("div",{className:"mt-1 rounded-md border border-line bg-sunken px-3 py-2.5 text-[13px] leading-relaxed",children:[(0,t.jsx)("div",{className:"mb-1 text-[11.5px] uppercase tracking-wide text-ink-faint",children:"Preview, with sample values"}),(0,t.jsxs)("div",{className:"whitespace-pre-wrap break-words",children:[(0,t.jsx)("b",{children:"Watchbell"}),": ",C[c]," · ",i.since,"\n\n",(0,t.jsx)("b",{children:L}),D.length?`
2
- ${D.join("\n")}`:"","\n",(0,t.jsx)("span",{className:"text-link",children:N[c]})]})]})]})}let M=[["telegram","Telegram"],["discord","Discord"],["webhook","Webhook"],["smtp","Email (SMTP)"],["email_digest","Daily email digest"]],L=e=>({severity:e.severity,threshold:null===e.threshold?"":e.threshold.toLocaleString("en-US"),channels:[...e.channels],enabled:e.enabled});e.s(["RuleActions",0,function({rule:e,condition:o,templates:h,sample:m}){let[x,b]=(0,s.useState)(!1),[g,f]=(0,s.useState)(()=>L(e)),[v,y]=(0,s.useState)(()=>R(h)),[k,S]=(0,s.useState)({}),[w,j]=(0,s.useTransition)(),[C,N]=(0,s.useTransition)();(0,i.useHoldRefresh)(x);let D=d[e.key].bounds;function E(t){t&&(f(L(e)),y(R(h)),S({})),b(t)}function $(t,a){j(async()=>{try{let s=await u(e.key,t);if(!s.ok){S(s.fieldErrors??{}),n.c.error(s.error);return}a(s.message??""),b(!1)}catch{n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})}return(0,t.jsxs)("span",{className:"inline-flex gap-1.5",children:[(0,t.jsxs)(l.N,{open:x,onOpenChange:e=>{w||E(e)},children:[(0,t.jsx)(l.a,{render:(0,t.jsx)(r.K,{size:"sm",children:"Edit"})}),(0,t.jsxs)(l.d,{className:"max-h-[92vh] gap-0 overflow-y-auto p-0 sm:max-w-[620px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(a.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsxs)(l.F,{className:"text-base",children:["Edit ",e.key]}),(0,t.jsx)(l.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:o})]})]}),(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),$({...g,templates:v},e=>n.c.success("Rule saved",{description:e}))},children:[(0,t.jsxs)("div",{className:"px-[18px] pt-2",children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,t.jsx)(r.O,{id:"rule-sev",label:"Severity",error:k.severity,children:(0,t.jsx)("select",{id:"rule-sev",className:r.S,value:g.severity,onChange:e=>f({...g,severity:e.target.value}),children:c.map(([e,a])=>(0,t.jsx)("option",{value:e,children:a},e))})}),D&&(0,t.jsx)(r.O,{id:"rule-num",label:"Threshold",help:`Replaces ${e.threshold?.toLocaleString("en-US")??"the number"} in the condition.`,error:k.threshold,children:(0,t.jsx)("input",{id:"rule-num",className:r.S,inputMode:"numeric",autoComplete:"off",value:g.threshold,onChange:e=>f({...g,threshold:e.target.value})})})]}),(0,t.jsxs)("fieldset",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,t.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Send to"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-x-4 gap-y-1.5",children:M.map(([e,a])=>(0,t.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:g.channels.includes(e),onChange:t=>{let a;return a=t.target.checked,f({...g,channels:a?[...g.channels,e]:g.channels.filter(t=>t!==e)})}}),a]},e))}),(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"Opens and resolves are sent once; a still-firing alert repeats every 6 hours unless silenced."}),k.channels&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:k.channels})]}),(0,t.jsxs)("label",{className:"mb-3.5 flex items-center gap-1.5 text-[13px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:g.enabled,onChange:e=>f({...g,enabled:e.target.checked})}),"Rule is on"]}),(0,t.jsx)(T,{ruleKey:e.key,severity:g.severity,threshold:g.threshold,sample:m,texts:v,onChange:y,errors:k})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(r.K,{className:"mr-auto",disabled:w||C||!g.channels.some(e=>"email_digest"!==e),onClick:function(){N(async()=>{try{let t=await p(e.key,{...g,templates:v});S(t.ok?{}:t.fieldErrors??{}),t.ok?n.c.success("Test sent",{description:t.message}):n.c.error(t.error)}catch{n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},title:"Sends this message, as a made-up alert, to the ticked channels (not the daily digest)",children:C?"Sending…":"Send test"}),(0,t.jsx)(r.K,{onClick:()=>E(!1),disabled:w,children:"Cancel"}),(0,t.jsx)(r.K,{type:"submit",variant:"primary",disabled:w,children:w?"Saving…":"Save rule"})]})]})]})]}),(0,t.jsx)(r.K,{size:"sm",disabled:w,onClick:()=>$({...L(e),enabled:!e.enabled},t=>e.enabled?n.c.success(`${e.key} disabled. It won't fire until you enable it again.`):n.c.success(`${e.key} enabled.`,{description:t})),children:e.enabled?"Disable":"Enable"})]})}],689721)},582429,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(846696),n=e.i(428325),r=e.i(684496),i=e.i(95187);let l=(0,i.createServerReference)("00e0de83cc18ec8156d86a1654a38d4036b4a490af",i.callServer,void 0,i.findSourceMapURL,"approvalsStatus"),o=(0,i.createServerReference)("0045a72950083821e1e2374c5248fa4f22a6d2fd74",i.callServer,void 0,i.findSourceMapURL,"disableApprovals"),d=(0,i.createServerReference)("00958f9dc6d453492285a10eb43db391b7949ad3a0",i.callServer,void 0,i.findSourceMapURL,"enableApprovals"),c=(0,i.createServerReference)("000dd3e25ca3857b707990511976433abebd06bb8f",i.callServer,void 0,i.findSourceMapURL,"telegramLinkCode");e.s(["TelegramApprovals",0,function(){let[e,i]=(0,a.useState)(null),[h,u]=(0,a.useState)(null),[p,m]=(0,a.useState)(null),[x,b]=(0,a.useTransition)();function g(e,t){b(async()=>{try{let a=await e();if(!a.ok)return void s.c.error(a.error??"Watchbell didn't answer. Check that it's still running, then try again.");a.data&&i(a.data),t?.(),a.message&&s.c.success("Approval buttons",{description:a.message})}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})}(0,a.useEffect)(()=>{let e=!0;return l().then(t=>{e&&(t.ok&&t.data?i(t.data):u(t.ok?null:t.error))}).catch(()=>e&&u("Couldn't read the status.")),()=>{e=!1}},[]);let f=e?e.on?e.linked?"On · linked to your Telegram account":"On · not linked yet":"Off":h??"Checking…",v=p?(0,r.U)(new Date(p.expiresAt)):"";return(0,t.jsxs)("div",{className:"mt-1 basis-full rounded-md border border-line px-3 py-2 text-[13px]",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium",children:"Approval buttons"}),(0,t.jsx)("span",{className:"text-ink-soft",children:f}),(0,t.jsxs)("span",{className:"ml-auto inline-flex flex-wrap gap-2",children:[e&&!e.on&&(0,t.jsx)(n.K,{size:"sm",disabled:x,onClick:()=>g(d),children:x?"Working…":"Turn on"}),e?.on&&(0,t.jsx)(n.K,{size:"sm",disabled:x,onClick:function(){b(async()=>{try{let e=await c();e.ok&&e.data?m(e.data):s.c.error(e.ok?"Watchbell didn't answer. Check that it's still running, then try again.":e.error)}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:e.linked?"Link again":"Show link code"}),e?.on&&(0,t.jsx)(n.K,{size:"sm",variant:"ghost",disabled:x,onClick:()=>g(o,()=>m(null)),children:"Turn off"})]})]}),(0,t.jsx)("p",{className:"mt-1 text-[12.5px] text-ink-soft",children:"Proposal notices get ✅ Approve / ❌ Reject buttons that only your linked Telegram account can use; risky actions ask twice. While this is on, Telegram sends updates to the console instead of holding them, so Find chats lists the chats the bot has seen since then."}),e?.problem&&(0,t.jsx)("p",{className:"mt-1 text-[12.5px] text-err",children:e.problem}),p&&(0,t.jsxs)("p",{className:"mt-1 text-[12.5px]",children:["Send ",(0,t.jsxs)("code",{className:"rounded bg-sunken px-1 font-mono",children:["/link ",p.code]})," in the connected chat before ",v,". The code works once."]})]})}],582429)}])})();
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,239647,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(846696),n=e.i(177106),r=e.i(95187);let i=(0,r.createServerReference)("602a14bc6a200a3108460ccd80b9431bf975a6d36b",r.callServer,void 0,r.findSourceMapURL,"silence");e.s(["AlertMenu",0,function({id:e,label:r,silenced:l,resourceHref:o}){let[,c]=(0,a.useTransition)(),d=(0,a.useRef)(!1),h=t=>{d.current||(d.current=!0,c(async()=>{try{let a=await i(e,t);a.ok?s.c.success(a.message??""):s.c.error(a.error)}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}finally{d.current=!1}}))},u=o?[{label:"View resource",href:o}]:[];return(0,t.jsx)(n.RowMenu,{label:`Actions for ${r}`,items:l?[{label:"Unsilence",onSelect:()=>h("off")},...u]:[{label:"Silence 1 hour",onSelect:()=>h("1h")},{label:"Silence until resolved",onSelect:()=>h("resolved")},...u]})}],239647)},108608,e=>{var t=e.i(843476),a=e.i(33550);let s=(0,a.f)("outline","brand-discord","BrandDiscord",[["path",{d:"M8 12a1 1 0 1 0 2 0a1 1 0 0 0 -2 0",key:"svg-0"}],["path",{d:"M14 12a1 1 0 1 0 2 0a1 1 0 0 0 -2 0",key:"svg-1"}],["path",{d:"M15.5 17c0 1 1.5 3 2 3c1.5 0 2.833 -1.667 3.5 -3c.667 -1.667 .5 -5.833 -1.5 -11.5c-1.457 -1.015 -3 -1.34 -4.5 -1.5l-.972 1.923a11.913 11.913 0 0 0 -4.053 0l-.975 -1.923c-1.5 .16 -3.043 .485 -4.5 1.5c-2 5.667 -2.167 9.833 -1.5 11.5c.667 1.333 2 3 3.5 3c.5 0 2 -2 2 -3",key:"svg-2"}],["path",{d:"M7 16.5c3.5 1 6.5 1 10 0",key:"svg-3"}]]),n=(0,a.f)("outline","brand-telegram","BrandTelegram",[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]]),r=(0,a.f)("outline","mail","Mail",[["path",{d:"M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10",key:"svg-0"}],["path",{d:"M3 7l9 6l9 -6",key:"svg-1"}]]),i=(0,a.f)("outline","webhook","Webhook",[["path",{d:"M4.876 13.61a4 4 0 1 0 6.124 3.39h6",key:"svg-0"}],["path",{d:"M15.066 20.502a4 4 0 1 0 1.934 -7.502c-.706 0 -1.424 .179 -2 .5l-3 -5.5",key:"svg-1"}],["path",{d:"M16 8a4 4 0 1 0 -8 0c0 1.506 .77 2.818 2 3.5l-3 5.5",key:"svg-2"}]]);var l=e.i(944971),o=e.i(271645),c=e.i(846696),d=e.i(428325),h=e.i(500443),u=e.i(776639),p=e.i(357772);function m({id:e,onChange:a}){let[s,n]=(0,o.useState)([]),[r,i]=(0,o.useState)(""),l=(e,t)=>{n(e),i(t),a([...e,t.trim()].filter(Boolean).join(", "))},c=e=>{var t;let a;return l((t=[...s,e].join(","),a=new Set,t.split(/[\s,;]+/).filter(e=>e&&!a.has(e.toLowerCase())&&a.add(e.toLowerCase()))),"")};return(0,t.jsxs)("div",{className:"flex min-h-[34px] flex-wrap items-center gap-1.5 rounded-md border border-line-strong bg-surface px-1.5 py-1 focus-within:border-brand focus-within:ring-2 focus-within:ring-brand/40",children:[s.map((e,a)=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-line bg-sunken py-0.5 pl-2.5 pr-1 text-[12.5px]",children:[e,(0,t.jsx)("button",{type:"button",className:"grid size-4 place-items-center rounded-full text-ink-soft hover:text-ink","aria-label":`Remove ${e}`,onClick:()=>l(s.filter((e,t)=>t!==a),r),children:(0,t.jsx)(p.f,{size:12,"aria-hidden":!0})})]},e)),(0,t.jsx)("input",{id:e,className:"min-w-[160px] flex-1 bg-transparent px-1 py-0.5 text-ink outline-none",type:"text",inputMode:"email",autoComplete:"off",placeholder:s.length?s.length<10?"Add another":"":"you@example.com",value:r,onChange:e=>/[\s,;]/.test(e.target.value)?c(e.target.value):l(s,e.target.value),onKeyDown:e=>{"Enter"===e.key&&r.trim()?(e.preventDefault(),c(r)):"Backspace"===e.key&&!r&&s.length&&l(s.slice(0,-1),s.at(-1))},onBlur:()=>{r.trim()&&c(r)}})]})}var b=e.i(95187);let f=(0,b.createServerReference)("404e00bacb516a5f6ef5f7f7e7abfc087e4da55a99",b.callServer,void 0,b.findSourceMapURL,"saveDigest"),x=(0,b.createServerReference)("4033b843f1aa276945dea7f4eddc6be5da596f1245",b.callServer,void 0,b.findSourceMapURL,"saveDiscord"),g=(0,b.createServerReference)("40528c606f2322eb6f1acdc0cec11d13b60feec29b",b.callServer,void 0,b.findSourceMapURL,"saveSmtp"),v=(0,b.createServerReference)("6017f6ff729443bfcefcc84cff0c327308424cf385",b.callServer,void 0,b.findSourceMapURL,"saveTelegram"),y=(0,b.createServerReference)("60bc049e9ce957fe35fbb71e868564e80aef2c66b0",b.callServer,void 0,b.findSourceMapURL,"saveWebhook"),k=(0,b.createServerReference)("4090122d2fb416deabb2ad728c130fcefea70bfb5f",b.callServer,void 0,b.findSourceMapURL,"sendTest"),S=(0,b.createServerReference)("6075a0bf43a8a0e076530461a132cf7ecabbed342a",b.callServer,void 0,b.findSourceMapURL,"setChannelEnabled"),w=(0,b.createServerReference)("00fbf679efa5fc91505844949a3733c05b11fd7266",b.callServer,void 0,b.findSourceMapURL,"telegramChats"),j={telegram:{icon:n,title:"Connect Telegram",name:"Telegram",about:`The bot token is ${l.n.setting} (TELEGRAM_BOT_TOKEN). Here you only choose the chat.`},discord:{icon:s,title:"Connect Discord",name:"Discord",about:"Discord → Channel settings → Integrations → Webhooks → New webhook → Copy URL."},webhook:{icon:i,title:"Connect a webhook",name:"Webhook",about:"Watchbell POSTs JSON to this address for every alert message. It must be https on a public host (port 443); Watchbell doesn't post into private networks or follow redirects."},smtp:{icon:r,title:"Email through your mail server",name:"Email (SMTP)",about:"Port 587 or 2525 with STARTTLS, or 465 with TLS; the password only ever goes over TLS. The server must be on the public internet. Office 365: smtp.office365.com, 587, and an app password if your account has MFA."},email_digest:{icon:r,title:"Daily email digest",name:"Daily email digest",about:`Sent through Resend from the address in DIGEST_FROM. The API key is ${l.n.setting} (RESEND_API_KEY).`}},C={telegram:"Telegram",discord:"Discord",webhook:"Webhook",smtp:"Email (SMTP)",email_digest:"Daily email digest"};e.s(["ChannelControls",0,function({kind:e,connected:a,enabled:s,envMissing:n}){let[r,i]=(0,o.useState)(!1),[l,p]=(0,o.useState)([]),[b,N]=(0,o.useState)(""),[R,T]=(0,o.useState)(""),[M,L]=(0,o.useState)(""),[D,E]=(0,o.useState)(""),[$,A]=(0,o.useState)({host:"",port:"587",user:"",pass:"",from:"",to:""}),[O,U]=(0,o.useState)({}),[W,P]=(0,o.useTransition)(),[F,z]=(0,o.useTransition)(),[K,H]=(0,o.useTransition)();(0,h.useHoldRefresh)(r);let I=j[e],_=I.icon;function B(e){e&&(p([]),N(""),T(""),L(""),E(""),A({host:"",port:"587",user:"",pass:"",from:"",to:""}),U({})),i(e)}function V(e,t){H(async()=>{try{let a=await e();a.ok?c.c.success(t,{description:a.message}):c.c.error(a.error)}catch{c.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})}return(0,t.jsxs)("span",{className:"inline-flex flex-wrap items-center gap-2",children:[(0,t.jsxs)(u.N,{open:r,onOpenChange:e=>{W||B(e)},children:[(0,t.jsx)(u.a,{render:(0,t.jsx)(d.K,{size:"sm",disabled:null!==n,children:a?"Change":"Connect"})}),(0,t.jsxs)(u.d,{className:"max-h-[92vh] gap-0 overflow-y-auto p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(_,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(u.F,{className:"text-base",children:I.title}),(0,t.jsx)(u.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:I.about})]})]}),(0,t.jsxs)("form",{onSubmit:t=>{let a;t.preventDefault(),a={},"telegram"!==e||b||(a.chat="Press Find chats, then pick one."),"discord"!==e||R.trim()||(a.url="Paste the whole webhook URL from Discord."),"webhook"!==e||R.trim()||(a.url="Paste the whole address, starting with https://."),"smtp"!==e||$.host.trim()||(a.host="Enter the server name, for example smtp.office365.com."),"smtp"!==e||$.to.trim()||(a.to="Enter the address that gets the alerts."),"email_digest"!==e||M.trim()||(a.to="Enter a valid email address."),U(a),Object.keys(a).length||P(async()=>{try{let t=l.find(e=>e.id===b)?.label??"",a="telegram"===e?await v(b,t):"discord"===e?await x(R):"webhook"===e?await y(R,D):"smtp"===e?await g({...$,port:Number($.port)}):await f(M);if(!a.ok){U(a.fieldErrors??{}),a.fieldErrors||c.c.error(a.error);return}c.c.success("Channel saved",{description:a.message}),i(!1)}catch{c.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,t.jsxs)("div",{className:"px-[18px] pt-2",children:["telegram"===e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.O,{id:"ch-chat",label:"Chat",help:"Send /start to your bot in Telegram first.",error:O.chat,children:(0,t.jsxs)("select",{id:"ch-chat",className:d.S,value:b,onChange:e=>N(e.target.value),children:[0===l.length&&(0,t.jsx)("option",{value:"",children:"Press Find chats after you message the bot"}),l.map(e=>(0,t.jsx)("option",{value:e.id,children:e.label},e.id))]})}),(0,t.jsx)("p",{className:"mb-3",children:(0,t.jsx)(d.K,{size:"sm",onClick:function(){z(async()=>{try{let e=await w();if(!e.ok)return void c.c.error(e.error);let t=e.data?.chats??[];p(t),N(t[0]?.id??""),U({}),t.length?c.c.success(`Found ${t.length} chat${1===t.length?"":"s"}: ${t.map(e=>e.label).join(", ")}.`):c.c.info("No chats yet",{description:e.message??"Send /start to your bot in Telegram, then try again."})}catch{c.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:F,children:F?"Looking…":"Find chats"})})]}),"discord"===e&&(0,t.jsx)(d.O,{id:"ch-hook",label:"Webhook URL",help:"Encrypted before it's saved and never shown again.",error:O.url,children:(0,t.jsx)("input",{id:"ch-hook",className:d.S,type:"password",autoComplete:"off",placeholder:"https://discord.com/api/webhooks/…",value:R,onChange:e=>T(e.target.value)})}),"webhook"===e&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.O,{id:"ch-wh",label:"Address",help:"Encrypted before it's saved and never shown again; the console shows only its host.",error:O.url,children:(0,t.jsx)("input",{id:"ch-wh",className:d.S,type:"url",autoComplete:"off",placeholder:"https://n8n.example.com/webhook/…",value:R,onChange:e=>T(e.target.value)})}),(0,t.jsx)(d.O,{id:"ch-wh-secret",label:"Secret (optional)",help:"16 to 200 characters. Each body is signed with it: header X-Watchbell-Signature = sha256 HMAC of the timestamp, a dot and the body.",error:O.secret,children:(0,t.jsx)("input",{id:"ch-wh-secret",className:d.S,type:"password",autoComplete:"off",value:D,onChange:e=>E(e.target.value)})})]}),"smtp"===e&&(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-x-3 max-[520px]:grid-cols-1",children:[(0,t.jsx)(d.O,{id:"ch-sm-host",label:"Server",error:O.host,children:(0,t.jsx)("input",{id:"ch-sm-host",className:d.S,autoComplete:"off",placeholder:"smtp.office365.com",value:$.host,onChange:e=>A({...$,host:e.target.value})})}),(0,t.jsx)(d.O,{id:"ch-sm-port",label:"Port",error:O.port,children:(0,t.jsxs)("select",{id:"ch-sm-port",className:d.S,value:$.port,onChange:e=>A({...$,port:e.target.value}),children:[(0,t.jsx)("option",{value:"587",children:"587 · STARTTLS"}),(0,t.jsx)("option",{value:"465",children:"465 · TLS"}),(0,t.jsx)("option",{value:"2525",children:"2525 · STARTTLS"})]})}),(0,t.jsx)(d.O,{id:"ch-sm-user",label:"User name",error:O.user,children:(0,t.jsx)("input",{id:"ch-sm-user",className:d.S,autoComplete:"off",value:$.user,onChange:e=>A({...$,user:e.target.value})})}),(0,t.jsx)(d.O,{id:"ch-sm-pass",label:"Password",help:a?"Leave empty to keep the saved one.":"Encrypted before it's saved and never shown again.",error:O.pass,children:(0,t.jsx)("input",{id:"ch-sm-pass",className:d.S,type:"password",autoComplete:"off",value:$.pass,onChange:e=>A({...$,pass:e.target.value})})}),(0,t.jsx)(d.O,{id:"ch-sm-from",label:"From",error:O.from,children:(0,t.jsx)("input",{id:"ch-sm-from",className:d.S,type:"email",autoComplete:"off",placeholder:"alerts@example.com",value:$.from,onChange:e=>A({...$,from:e.target.value})})}),(0,t.jsxs)("div",{className:"col-span-2 max-[520px]:col-span-1",children:[(0,t.jsx)(d.O,{id:"ch-sm-to",label:"Send to",help:"Up to 10 addresses; each one gets the same email. Press Enter or a comma after each.",error:O.to,children:(0,t.jsx)(m,{id:"ch-sm-to",onChange:e=>A(t=>({...t,to:e}))})}),"onboarding@resend.dev"===$.from.trim().toLowerCase()&&$.to.includes(",")&&(0,t.jsx)("p",{className:"-mt-2 mb-3.5 rounded-md border border-warn/40 bg-warn-soft px-2.5 py-2 text-[12.5px]",children:"Resend's test sender (onboarding@resend.dev) only delivers to your own Resend account address. Verify a domain in Resend and send from it to reach other people."})]})]}),"email_digest"===e&&(0,t.jsx)(d.O,{id:"ch-to",label:"Send to",error:O.to,children:(0,t.jsx)("input",{id:"ch-to",className:d.S,type:"email",autoComplete:"off",placeholder:"name@example.com",value:M,onChange:e=>L(e.target.value)})})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(d.K,{onClick:()=>B(!1),disabled:W,children:"Cancel"}),(0,t.jsx)(d.K,{type:"submit",variant:"primary",disabled:W,children:W?"Saving…":"Save"})]})]})]})]}),a&&s&&null===n&&(0,t.jsx)(d.K,{size:"sm",disabled:K,onClick:()=>V(()=>k(e),`${C[e]} test`),children:K?"Sending…":"Send test"}),a&&(0,t.jsx)(d.K,{size:"sm",variant:"ghost",disabled:K,onClick:()=>V(()=>S(e,!s),C[e]),children:s?"Turn off":"Turn on"})]})}],108608)},274224,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(846696),n=e.i(428325),r=e.i(95187);let i=(0,r.createServerReference)("60f4741147491c94cedb79bcb580521f4785d36151",r.callServer,void 0,r.findSourceMapURL,"setNotifyLanguage");e.s(["LanguageSelect",0,function({channel:e,label:r,saved:l}){let[o,c]=(0,a.useState)(l),[d,h]=(0,a.useTransition)();return(0,t.jsxs)("select",{"aria-label":`${r} language`,className:`${n.S} w-auto min-w-[160px]`,value:o,disabled:d,onChange:t=>{var a;c(a="id"===t.target.value?"id":"en"),h(async()=>{try{let t=await i(e,a);t.ok?s.c.success(`${r} language saved`,{description:t.message}):(c(o),s.c.error(t.error))}catch{c(o),s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,t.jsx)("option",{value:"en",children:"English"}),(0,t.jsx)("option",{value:"id",children:"Bahasa Indonesia"})]})}],274224)},689721,e=>{var t=e.i(843476),a=e.i(668029),s=e.i(271645),n=e.i(846696),r=e.i(428325),i=e.i(500443),l=e.i(776639);let o=e=>(e??0).toLocaleString("en-US"),c={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:e=>`${o(e)} failed checks in a row`},CollectorStale:{key:"CollectorStale",severity:"critical",threshold:5,bounds:[3,60],source:"own",needs:null,sampled:!1,condition:e=>`No collector run for ${o(e)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:e=>`Slowest 5% of checks over ${o(e)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A production deploy fails"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase pauses the project"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:e=>`TLS certificate expires in < ${o(e)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:e=>`Domain expires in < ${o(e)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Database size > ${o(e)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:e=>`> ${o(e)} of 100 CU-hours this month`},FirestoreQuotaHigh:{key:"FirestoreQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"test",needs:"databases",sampled:!1,condition:e=>`Daily reads > ${o(e)}% of 50k`},AutoPauseRisk:{key:"AutoPauseRisk",severity:"info",threshold:4,bounds:[1,6],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase project without API traffic for ${o(e)}+ days`},DnsProxiedToVercel:{key:"DnsProxiedToVercel",severity:"info",threshold:null,bounds:null,source:"api",needs:"dns",sampled:!1,condition:()=>"Cloudflare record proxied in front of Vercel"},ComputeHigh:{key:"ComputeHigh",severity:"warning",threshold:80,bounds:[50,95],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase CPU > ${o(e)}% for 15 min, RAM > ${o(Math.min(99,(e??80)+10))}%, disk > ${o(e)}% or connections > ${o(e)}% of max`},DbQuotaHigh:{key:"DbQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Turso, Upstash or D1 usage > ${o(e)}% of a free-plan quota`},CredentialExpiring:{key:"CredentialExpiring",severity:"warning",threshold:14,bounds:[1,60],source:"api",needs:null,sampled:!1,condition:e=>`Account credential expires in < ${o(e)} days`},VulnerableDependency:{key:"VulnerableDependency",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A dependency has a critical or high advisory, or a moderate one on a direct dependency (OSV.dev)"},FrameworkVulnerable:{key:"FrameworkVulnerable",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The app's Next.js version has a known advisory (OSV.dev)"},CiFailing:{key:"CiFailing",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"The latest GitHub Actions run on the default branch failed"},OsSecurityUpdate:{key:"OsSecurityUpdate",severity:"warning",threshold:7,bounds:[0,10],source:"own",needs:null,sampled:!1,condition:e=>`A waiting security update fixes a CVE scored ${(e??7).toFixed(1)}+ (CVSS), or a new kernel waits for a reboot`},ReportSendFailed:{key:"ReportSendFailed",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"A monthly client report couldn't be emailed after 3 tries"},MonitorDomainMoved:{key:"MonitorDomainMoved",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The monitor's domain is no longer one of the app's domains"}};Object.keys(c),e.i(684496);let d=[["critical","Critical"],["warning","Warning"],["info","Info"]];var h=e.i(95187);let u=(0,h.createServerReference)("60e7fe4e34c4f103d7c3dd6b400a830b278e5ea540",h.callServer,void 0,h.findSourceMapURL,"editRule"),p=(0,h.createServerReference)("60eb5a520cf444af6b194af0e841b130ecd86cf89d",h.callServer,void 0,h.findSourceMapURL,"testRule"),m=["status","severity","rule","target","detail","cause","step","since","threshold"],b=["id","en"],f={status:"FIRING, REPEAT or RESOLVED (MUNCUL, ULANG, PULIH in Indonesian)",severity:"critical, warning or info",rule:"the rule's key, like MonitorDown",target:"what the alert is about: an app, a database, a domain",detail:"Watchbell's sentence about what it saw",cause:"the alert that caused this one, or a provider incident",step:"Watchbell's next step for rules that have one",since:"when the alert started: the time and the time zone",threshold:"the rule's number from Threshold"},x={en:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nNext step: {step}\nsince {since}",id:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nYang perlu kamu lakukan: {step}\nsejak {since}"},g={en:"Test message: Watchbell's sentence about what it saw goes here.",id:"Pesan tes: di sini nanti kalimat Watchbell soal apa yang dilihatnya."},v=/\{([a-zA-Z_]+)\}/g,y=e=>e.replace(/\r\n?/g,"\n").replace(/[ \t]+$/gm,"").trim();function k(e,t){let a="string"==typeof e?y(e):"";return a&&a!==x[t]?a:null}let S={id:"Bahasa Indonesia",en:"English"},w={en:"FIRING",id:"MUNCUL"},j={en:{critical:"critical",warning:"warning",info:"info"},id:{critical:"kritis",warning:"peringatan",info:"info"}},C={en:"1 firing",id:"1 aktif"},N={en:"Open alerts",id:"Buka Alerts"},R=e=>({id:e.id??x.id,en:e.en??x.en});function T({ruleKey:e,severity:a,threshold:n,sample:i,texts:l,onChange:o,errors:c}){let[d,h]=(0,s.useState)("id"),u=(0,s.useRef)(null),p=l[d],R=null!==k(p,d),M={status:w[d],severity:j[d][a]??a,rule:e,target:"my-app",detail:g[d],cause:"",step:i.step[d]??"",since:i.since,threshold:n},[L="",...D]=y(p).split("\n").flatMap(e=>{let t=[...e.matchAll(v)].map(e=>e[1]).filter(e=>Object.hasOwn(M,e));return t.length&&t.every(e=>!M[e].trim())?[]:[e.replace(v,(e,t)=>Object.hasOwn(M,t)?M[t]:e)]}).join("\n").replace(/\n{3,}/g,"\n\n").trim().split("\n");return(0,t.jsxs)("fieldset",{className:"mb-3.5 flex flex-col gap-[5px] border-t border-line pt-3.5",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,t.jsx)("legend",{className:"text-[13px] font-medium",children:"Message"}),(0,t.jsx)("span",{className:`rounded-full border px-2 py-px text-[11.5px] ${R?"border-brand/40 text-brand":"border-line text-ink-soft"}`,children:R?"Changed":"Watchbell's wording"})]}),(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"Word the notification yourself. Left as it is, the rule keeps Watchbell's wording, including later fixes to it."}),(0,t.jsx)("div",{role:"tablist",className:"mt-1 flex gap-1 border-b border-line",children:b.map(e=>(0,t.jsxs)("button",{type:"button",role:"tab","aria-selected":e===d,onClick:()=>h(e),className:`-mb-px border-b-2 px-2.5 py-1.5 text-[13px] ${e===d?"border-brand font-medium text-ink":"border-transparent text-ink-soft hover:text-ink"}`,children:[S[e],null!==k(l[e],e)?" · changed":""]},e))}),(0,t.jsx)("textarea",{ref:u,id:`rule-msg-${d}`,"aria-label":`Message in ${S[d]}`,className:`${r.S} min-h-[124px] resize-y font-mono text-[12.5px] leading-relaxed`,maxLength:1200,value:p,onChange:e=>o({...l,[d]:e.target.value})}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:m.map(e=>(0,t.jsx)("button",{type:"button",title:f[e],onClick:()=>{let t,a,s,n;return t=u.current,a=t?.selectionStart??p.length,s=t?.selectionEnd??a,n=`{${e}}`,void(o({...l,[d]:p.slice(0,a)+n+p.slice(s)}),requestAnimationFrame(()=>{t?.focus(),t?.setSelectionRange(a+n.length,a+n.length)}))},className:"rounded border border-line-strong bg-sunken px-1.5 py-px font-mono text-[12px] text-ink hover:border-brand",children:`{${e}}`},e))}),c[`template_${d}`]&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:c[`template_${d}`]}),b.filter(e=>e!==d&&c[`template_${e}`]).map(e=>(0,t.jsxs)("span",{className:"text-[12.5px] text-err",role:"alert",children:[S[e],": ",c[`template_${e}`]]},e)),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"A line whose fields are all empty is left out."}),(0,t.jsx)("button",{type:"button",className:"text-[12.5px] text-link underline disabled:opacity-50 disabled:no-underline",disabled:!R,onClick:()=>o({...l,[d]:x[d]}),children:"Back to Watchbell's wording"})]}),(0,t.jsxs)("div",{className:"mt-1 rounded-md border border-line bg-sunken px-3 py-2.5 text-[13px] leading-relaxed",children:[(0,t.jsx)("div",{className:"mb-1 text-[11.5px] uppercase tracking-wide text-ink-faint",children:"Preview, with sample values"}),(0,t.jsxs)("div",{className:"whitespace-pre-wrap break-words",children:[(0,t.jsx)("b",{children:"Watchbell"}),": ",C[d]," · ",i.since,"\n\n",(0,t.jsx)("b",{children:L}),D.length?`
2
+ ${D.join("\n")}`:"","\n",(0,t.jsx)("span",{className:"text-link",children:N[d]})]})]})]})}let M=[["telegram","Telegram"],["discord","Discord"],["webhook","Webhook"],["smtp","Email (SMTP)"],["email_digest","Daily email digest"]],L=e=>({severity:e.severity,threshold:null===e.threshold?"":e.threshold.toLocaleString("en-US"),channels:[...e.channels],enabled:e.enabled});e.s(["RuleActions",0,function({rule:e,condition:o,templates:h,sample:m}){let[b,f]=(0,s.useState)(!1),[x,g]=(0,s.useState)(()=>L(e)),[v,y]=(0,s.useState)(()=>R(h)),[k,S]=(0,s.useState)({}),[w,j]=(0,s.useTransition)(),[C,N]=(0,s.useTransition)();(0,i.useHoldRefresh)(b);let D=c[e.key].bounds;function E(t){t&&(g(L(e)),y(R(h)),S({})),f(t)}function $(t,a){j(async()=>{try{let s=await u(e.key,t);if(!s.ok){S(s.fieldErrors??{}),n.c.error(s.error);return}a(s.message??""),f(!1)}catch{n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})}return(0,t.jsxs)("span",{className:"inline-flex gap-1.5",children:[(0,t.jsxs)(l.N,{open:b,onOpenChange:e=>{w||E(e)},children:[(0,t.jsx)(l.a,{render:(0,t.jsx)(r.K,{size:"sm",children:"Edit"})}),(0,t.jsxs)(l.d,{className:"max-h-[92vh] gap-0 overflow-y-auto p-0 sm:max-w-[620px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(a.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsxs)(l.F,{className:"text-base",children:["Edit ",e.key]}),(0,t.jsx)(l.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:o})]})]}),(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),$({...x,templates:v},e=>n.c.success("Rule saved",{description:e}))},children:[(0,t.jsxs)("div",{className:"px-[18px] pt-2",children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,t.jsx)(r.O,{id:"rule-sev",label:"Severity",error:k.severity,children:(0,t.jsx)("select",{id:"rule-sev",className:r.S,value:x.severity,onChange:e=>g({...x,severity:e.target.value}),children:d.map(([e,a])=>(0,t.jsx)("option",{value:e,children:a},e))})}),D&&(0,t.jsx)(r.O,{id:"rule-num",label:"Threshold",help:`Replaces ${e.threshold?.toLocaleString("en-US")??"the number"} in the condition.`,error:k.threshold,children:(0,t.jsx)("input",{id:"rule-num",className:r.S,inputMode:"numeric",autoComplete:"off",value:x.threshold,onChange:e=>g({...x,threshold:e.target.value})})})]}),(0,t.jsxs)("fieldset",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,t.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Send to"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-x-4 gap-y-1.5",children:M.map(([e,a])=>(0,t.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:x.channels.includes(e),onChange:t=>{let a;return a=t.target.checked,g({...x,channels:a?[...x.channels,e]:x.channels.filter(t=>t!==e)})}}),a]},e))}),(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:"Opens and resolves are sent once; a still-firing alert repeats every 6 hours unless silenced."}),k.channels&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:k.channels})]}),(0,t.jsxs)("label",{className:"mb-3.5 flex items-center gap-1.5 text-[13px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:x.enabled,onChange:e=>g({...x,enabled:e.target.checked})}),"Rule is on"]}),(0,t.jsx)(T,{ruleKey:e.key,severity:x.severity,threshold:x.threshold,sample:m,texts:v,onChange:y,errors:k})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(r.K,{className:"mr-auto",disabled:w||C||!x.channels.some(e=>"email_digest"!==e),onClick:function(){N(async()=>{try{let t=await p(e.key,{...x,templates:v});S(t.ok?{}:t.fieldErrors??{}),t.ok?n.c.success("Test sent",{description:t.message}):n.c.error(t.error)}catch{n.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},title:"Sends this message, as a made-up alert, to the ticked channels (not the daily digest)",children:C?"Sending…":"Send test"}),(0,t.jsx)(r.K,{onClick:()=>E(!1),disabled:w,children:"Cancel"}),(0,t.jsx)(r.K,{type:"submit",variant:"primary",disabled:w,children:w?"Saving…":"Save rule"})]})]})]})]}),(0,t.jsx)(r.K,{size:"sm",disabled:w,onClick:()=>$({...L(e),enabled:!e.enabled},t=>e.enabled?n.c.success(`${e.key} disabled. It won't fire until you enable it again.`):n.c.success(`${e.key} enabled.`,{description:t})),children:e.enabled?"Disable":"Enable"})]})}],689721)},582429,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(846696),n=e.i(428325),r=e.i(684496),i=e.i(95187);let l=(0,i.createServerReference)("0048ab075af2143b86634385dba833523ecc3d68bc",i.callServer,void 0,i.findSourceMapURL,"approvalsStatus"),o=(0,i.createServerReference)("00c979bccccc577024717c71443df06656b8197bad",i.callServer,void 0,i.findSourceMapURL,"disableApprovals"),c=(0,i.createServerReference)("0032382d89718b90d6463db003d7ae5c4bf502bec7",i.callServer,void 0,i.findSourceMapURL,"enableApprovals"),d=(0,i.createServerReference)("00605c26b3c4d33f1942e7a9882654e41d359d5d40",i.callServer,void 0,i.findSourceMapURL,"telegramLinkCode");e.s(["TelegramApprovals",0,function(){let[e,i]=(0,a.useState)(null),[h,u]=(0,a.useState)(null),[p,m]=(0,a.useState)(null),[b,f]=(0,a.useTransition)();function x(e,t){f(async()=>{try{let a=await e();if(!a.ok)return void s.c.error(a.error??"Watchbell didn't answer. Check that it's still running, then try again.");a.data&&i(a.data),t?.(),a.message&&s.c.success("Approval buttons",{description:a.message})}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})}(0,a.useEffect)(()=>{let e=!0;return l().then(t=>{e&&(t.ok&&t.data?i(t.data):u(t.ok?null:t.error))}).catch(()=>e&&u("Couldn't read the status.")),()=>{e=!1}},[]);let g=e?e.on?e.linked?"On · linked to your Telegram account":"On · not linked yet":"Off":h??"Checking…",v=p?(0,r.U)(new Date(p.expiresAt)):"";return(0,t.jsxs)("div",{className:"mt-1 basis-full rounded-md border border-line px-3 py-2 text-[13px]",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium",children:"Approval buttons"}),(0,t.jsx)("span",{className:"text-ink-soft",children:g}),(0,t.jsxs)("span",{className:"ml-auto inline-flex flex-wrap gap-2",children:[e&&!e.on&&(0,t.jsx)(n.K,{size:"sm",disabled:b,onClick:()=>x(c),children:b?"Working…":"Turn on"}),e?.on&&(0,t.jsx)(n.K,{size:"sm",disabled:b,onClick:function(){f(async()=>{try{let e=await d();e.ok&&e.data?m(e.data):s.c.error(e.ok?"Watchbell didn't answer. Check that it's still running, then try again.":e.error)}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:e.linked?"Link again":"Show link code"}),e?.on&&(0,t.jsx)(n.K,{size:"sm",variant:"ghost",disabled:b,onClick:()=>x(o,()=>m(null)),children:"Turn off"})]})]}),(0,t.jsx)("p",{className:"mt-1 text-[12.5px] text-ink-soft",children:"Proposal notices get ✅ Approve / ❌ Reject buttons that only your linked Telegram account can use; risky actions ask twice. While this is on, Telegram sends updates to the console instead of holding them, so Find chats lists the chats the bot has seen since then."}),e?.problem&&(0,t.jsx)("p",{className:"mt-1 text-[12.5px] text-err",children:e.problem}),p&&(0,t.jsxs)("p",{className:"mt-1 text-[12.5px]",children:["Send ",(0,t.jsxs)("code",{className:"rounded bg-sunken px-1 font-mono",children:["/link ",p.code]})," in the connected chat before ",v,". The code works once."]})]})}],582429)}])})();
@@ -1 +1 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,590246,e=>{let t=(0,e.i(33550).f)("outline","external-link","ExternalLink",[["path",{d:"M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6",key:"svg-0"}],["path",{d:"M11 13l9 -9",key:"svg-1"}],["path",{d:"M15 4h5v5",key:"svg-2"}]]);e.s(["f",0,t],590246)},617708,e=>{let t=(0,e.i(33550).f)("outline","plus","Plus",[["path",{d:"M12 5l0 14",key:"svg-0"}],["path",{d:"M5 12l14 0",key:"svg-1"}]]);e.s(["f",0,t],617708)},518716,e=>{let t=(0,e.i(33550).f)("outline","refresh","Refresh",[["path",{d:"M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4",key:"svg-0"}],["path",{d:"M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4",key:"svg-1"}]]);e.s(["f",0,t],518716)},225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.f;e.s(["f",0,(e,t)=>s=>{var o;if((null==t?void 0:t.variants)==null)return n(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:r,defaultVariants:i}=t,d=Object.keys(r).map(e=>{let t=null==s?void 0:s[e],n=null==i?void 0:i[e];if(null===t)return null;let o=a(t)||a(n);return r[e][o]}),c=s&&Object.entries(s).reduce((e,t)=>{let[a,n]=t;return void 0===n||(e[a]=n),e},{});return n(e,d,null==t||null==(o=t.compoundVariants)?void 0:o.reduce((e,t)=>{let{class:a,className:n,...s}=t;return Object.entries(s).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...i,...c}[t]):({...i,...c})[t]===a})?[...e,a,n]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}])},66930,e=>{var t=e.i(843476),a=e.i(49601),n=e.i(386770),s=e.i(38156),o=e.i(213756),r=e.i(590246),i=e.i(504962),d=e.i(617708);let c=(0,e.i(33550).f)("outline","triangle","Triangle",[["path",{d:"M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0",key:"svg-0"}]]);var l=e.i(271645),u=e.i(846696),p=e.i(54131),h=e.i(428325),m=e.i(220806),f=e.i(776639);let g={vercel:{createUrl:"https://vercel.com/account/settings/tokens",needs:["Scope: your account","An expiry date. The console warns you 14 days before it ends."],checked:"2026-10-21",name:"Vercel",icon:"triangle",credentialKind:"Access token",accessNote:"Full account (no read-only option)",multiAccount:!1,note:"One account. Tokens can't be read-only, so actions always ask for confirmation."},supabase:{createUrl:"https://supabase.com/dashboard/account/tokens",needs:["Projects read: status, region, Postgres version","Project admin read: service health","Analytics usage read: last API traffic and auto-pause risk","Organization admin read: free plan, for the free-slot count","Database read: database size, once a day (checked at the first daily read, because testing it would query your database)","Project admin write, only if you want pause and restore (stage 6)"],checked:"2026-10-21",name:"Supabase",icon:"bolt",credentialKind:"Scoped access token",accessNote:"Projects, health, analytics, organization and database read",multiAccount:!0,note:"Each account gets 2 free active projects. Use scoped tokens: read-only, plus project admin if you want pause and restore."},neon:{createUrl:"https://console.neon.tech/app/settings/api-keys",needs:["A personal or project API key. Neon has no read-only keys."],checked:"2026-10-21",name:"Neon",icon:"database",credentialKind:"API key",accessNote:"All projects (no read-only option)",multiAccount:!0,note:"No read-only keys exist, so keys stay on the server."},firebase:{createUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts",needs:["Roles on each project: firebase.viewer, datastore.viewer, monitoring.viewer, firebaseauth.viewer","Turn on the Cloud Monitoring API in the project for reads, writes, and deletes today"],checked:"2026-10-21",name:"Firebase",icon:"flame",credentialKind:"Service account JSON",accessNote:"firebase.viewer, datastore.viewer, monitoring.viewer, firebaseauth.viewer",multiAccount:!0,json:!0,note:"One service account per Google account, with viewer roles only."},turso:{createUrl:"https://app.turso.tech/account/api-tokens",needs:["A platform API token limited to one organization (turso auth api-tokens mint watchbell --org <your-org>)","Turso has no read-only platform tokens; the console only lists databases and reads usage","Not a database token: database and group tokens can't list anything"],checked:"2026-10-21",name:"Turso",icon:"database",credentialKind:"Platform API token",accessNote:"One organization: databases and usage (no read-only option)",multiAccount:!0,note:"Lists databases and reads this month's rows read and written and storage against the free plan. Keys stay on the server."},upstash:{createUrl:"https://console.upstash.com/account/api",needs:["A Developer API key created as Read Only (Account → Management API)","Paste it as your-email:API_KEY (Upstash signs API calls with the account email and the key)","Native Upstash accounts only: a database made through the Vercel integration can't be read this way"],checked:"2026-10-21",name:"Upstash",icon:"bolt",credentialKind:"Developer API key",accessNote:"Read-only Developer API key: Redis databases and stats",multiAccount:!0,note:"Redis databases with their region, commands this month and data size against the free plan. QStash is budgeted in Settings."},cloudflare:{createUrl:"https://dash.cloudflare.com/profile/api-tokens",needs:["Zone: Read, DNS: Read, SSL and Certificates: Read","Zone Settings: Read, to show each zone's SSL/TLS mode (optional)","Zone → DNS → Edit, only if the owner wants to edit records from the DNS records page (never create or delete)","Account → D1 → Read, to watch Cloudflare D1 databases (size and tables); add Account → Account Analytics → Read for their rows read and written (optional)","Not needed: Registrar (domain expiry comes from RDAP)"],checked:"2026-10-21",name:"Cloudflare",icon:"cloud",credentialKind:"API token",accessNote:"Zone, DNS, SSL and Certificates read",multiAccount:!0,note:"A read-only API token is enough to watch. Add DNS Edit only to change records from the console. Domain expiry comes from RDAP, so Registrar access isn't needed."},github:{createUrl:"https://github.com/settings/personal-access-tokens/new",needs:["A fine-grained token (it starts with github_pat_); classic tokens can't be limited to read-only","Repository access: all repositories, or only the ones your apps deploy from","Repository permissions, each Read-only: Metadata, Contents, Actions. Nothing else","An expiry date. The console warns you 14 days before it ends."],checked:"2026-10-21",name:"GitHub",icon:"github",credentialKind:"Fine-grained token",accessNote:"Metadata, Contents and Actions read",multiAccount:!1,note:"A read-only fine-grained token. Sync lists your repositories; apps are linked to theirs, and their GitHub Actions status shows on the app page."},github_write:{createUrl:"https://github.com/settings/personal-access-tokens/new",needs:["A separate fine-grained token (it starts with github_pat_), not the read-only one above","Repository access: Only select repositories, the ones you want update PRs for","Repository permissions: Contents: Read and write, Pull requests: Read and write, Commit statuses: Read (for automatic merges). Nothing else (Metadata read is added by GitHub)","An expiry date. The console warns you 14 days before it ends."],checked:"2026-10-21",name:"GitHub (PR write)",icon:"github",credentialKind:"Fine-grained token",accessNote:"Contents and Pull requests read and write, Commit statuses read, chosen repositories",multiAccount:!1,note:"Optional. Opens pull requests that update vulnerable packages (when you approve one, or by itself with Automatic security fixes) and, with automatic fixes and auto-rollback on, squash-merges Watchbell's own PRs once CI, the Vercel preview and its smoke test pass. It never pushes to the default branch directly."}};var x=e.i(95187);let b=(0,x.createServerReference)("70c12c81152147f3dd4dda167e34045b4c401e4a8c",x.callServer,void 0,x.findSourceMapURL,"addAccount"),v=(0,x.createServerReference)("60cf3908ed994df7fb02148bdbdf20653d9e8ae8bc",x.callServer,void 0,x.findSourceMapURL,"checkCredential"),k=(0,x.createServerReference)("602ba8c94e1dd96e855e5ea6994b69f832c8ab0385",x.callServer,void 0,x.findSourceMapURL,"replaceCredential"),y={triangle:c,bolt:a.f,database:o.f,flame:i.f,cloud:s.f,github:n.f};function j({provider:e,replace:a,onDone:n,onCancel:s}){let o=g[e],[i,d]=(0,l.useTransition)(),[c,p]=(0,l.useState)(""),[f,x]=(0,l.useState)(""),[y,w]=(0,l.useState)({}),[N,S]=(0,l.useState)(null),A=`${e}-${a?.id??"new"}`,C=o.credentialKind.toLowerCase();return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"px-[18px] pt-1.5",children:[!a&&(0,t.jsx)(h.O,{id:`${A}-name`,label:"Account name",help:"Shown next to everything that comes from this account.",error:y.label,children:(0,t.jsx)("input",{id:`${A}-name`,value:c,onChange:e=>p(e.target.value),placeholder:"vercel"===e?"acme":"utama",className:h.S})}),(0,t.jsx)(h.O,{id:`${A}-cred`,label:o.credentialKind,error:y.credential,help:(0,t.jsxs)("a",{href:o.createUrl,target:"_blank",rel:"noopener noreferrer",children:[o.guide?"How to create one":"Create one"," ",(0,t.jsx)(r.f,{size:12,className:"inline"})]}),children:o.json?(0,t.jsx)("textarea",{id:`${A}-cred`,spellCheck:!1,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off","data-gramm":"false",value:f,onChange:e=>x(e.target.value),className:`${h.S} min-h-24 font-mono text-[12.5px]`,placeholder:'{ "type": "service_account", "client_email": "…", "private_key": "…" }'}):(0,t.jsx)("input",{id:`${A}-cred`,type:"password",spellCheck:!1,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off","data-gramm":"false",value:f,onChange:e=>x(e.target.value),className:h.S,placeholder:`Paste the ${C}`})}),(0,t.jsxs)("div",{className:"mb-3.5 rounded-lg border border-line bg-surface-2 px-3 py-2.5 text-[13px]",children:[(0,t.jsx)("b",{className:"font-medium",children:"It needs"}),(0,t.jsx)("ul",{className:"mt-1 list-disc pl-[18px] text-ink-soft",children:o.needs.map(e=>(0,t.jsx)("li",{children:e},e))})]}),N&&(0,t.jsxs)("div",{className:`mb-3.5 rounded-lg px-3 py-2.5 text-[13px] ${N.ok?"bg-ok-soft":"bg-err-soft"}`,role:"status",children:[(0,t.jsx)(m.F,{state:N.ok?"ok":"err",children:N.ok?"Connected":"Couldn't connect"}),(0,t.jsx)("ul",{className:"mt-1 list-disc pl-[18px]",children:N.ok?[N.summary,...N.details].map(e=>(0,t.jsx)("li",{children:e},e)):(0,t.jsx)("li",{children:N.error})})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)("span",{className:"mr-auto text-[12.5px] text-ink-faint",children:"Save tests the credential first."}),(0,t.jsx)(h.K,{onClick:function(){d(async()=>{let t=await v(e,f);w(t.ok?{}:t.fieldErrors??{}),S(t.ok?t.data??null:t.fieldErrors?null:{ok:!1,kind:"transient",error:t.error})})},disabled:i,children:"Test connection"}),s&&(0,t.jsx)(h.K,{onClick:s,disabled:i,children:"Cancel"}),(0,t.jsx)(h.K,{variant:"primary",onClick:function(){d(async()=>{let t=a?await k(a.id,f):await b(e,c,f);w(t.ok?{}:t.fieldErrors??{}),t.data&&S(t.data),t.ok?(u.c.success(t.message),p(""),x(""),S(null),n?.()):t.fieldErrors||t.data||u.c.error(t.error)})},disabled:i,children:i?"Working…":"Save"})]})]})}e.s(["AccountDialog",0,function({provider:e,replace:a,triggerLabel:n,primary:s}){let o=g[e],r=y[o.icon],[i,c]=(0,l.useState)(!1),[u,m]=(0,l.useState)(0),x=(0,p.useMask)();function b(e){c(e),e||m(e=>e+1)}return(0,t.jsxs)(f.N,{open:i,onOpenChange:b,children:[(0,t.jsxs)(f.a,{className:(0,h.R)({size:"sm",variant:s?"primary":"secondary"}),children:[!a&&!n&&(0,t.jsx)(d.f,{size:16}),n??(a?"Replace credential":"Add account")]}),(0,t.jsxs)(f.d,{className:"max-w-[640px] gap-0 p-0 sm:max-w-[640px]",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(r,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(f.F,{className:"text-base",children:a?`Replace credential \xb7 ${o.name} \xb7 ${x("account",a.label)}`:`Connect ${o.name}`}),(0,t.jsx)(f.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:a?"The old credential is deleted as soon as the new one works.":"The credential is encrypted before it's saved and never shown again."})]})]}),(0,t.jsx)(j,{provider:e,replace:a,onDone:()=>b(!1),onCancel:()=>b(!1)},u)]})]})},"AccountForm",0,j,"PROVIDER_ICONS",0,y],66930)},618897,e=>{var t=e.i(843476),a=e.i(518716),n=e.i(271645),s=e.i(846696),o=e.i(54131),r=e.i(428325),i=e.i(364440),d=e.i(776639),c=e.i(95187);let l=(0,c.createServerReference)("70f4b0651ad669612a5bb65d57e64042b90fd73f8f",c.callServer,void 0,c.findSourceMapURL,"saveSyncSelection"),u=(0,c.createServerReference)("40738a46eba86d0e74e71ea3f8a36576fe924b1531",c.callServer,void 0,c.findSourceMapURL,"syncNow"),p={app:{what:"projects",looking:"Looking for projects in every team this token can read…",none:"This Vercel account has no projects yet."},zone:{what:"zones",looking:"Looking for zones in this Cloudflare account…",none:"This Cloudflare account has no zones yet."},supabase_project:{what:"projects",looking:"Looking for projects this credential can read…",none:"This account has no projects yet."},neon_project:{what:"projects",looking:"Looking for projects this credential can read…",none:"This account has no projects yet."},firestore:{what:"projects",looking:"Looking for projects this credential can read…",none:"This account has no projects yet."},turso_database:{what:"databases",looking:"Looking for databases in the organizations this token can read…",none:"This Turso account has no databases yet."},upstash_redis:{what:"databases",looking:"Looking for Redis databases this key can read…",none:"This Upstash account has no Redis databases yet."}};e.s(["SyncButton",0,function({accountId:e,title:c,label:h="Sync",primary:m,watchNew:f,kind:g="app"}){let x=p[g],b=(0,o.useMask)(),[v,k]=(0,n.useState)(!1),[y,j]=(0,n.useState)(null),[w,N]=(0,n.useState)(null),[S,A]=(0,n.useState)(new Set),[C,R]=(0,n.useState)(f),[z,P]=(0,n.useTransition)(),[T,M]=(0,n.useTransition)(),U=(0,n.useMemo)(()=>y?.rows??[],[y]);return(0,t.jsxs)(d.N,{open:v,onOpenChange:function(t){k(t),t&&(j(null),N(null),A(new Set),R(f),P(async()=>{let t=await u(e);t.ok&&t.data?(j(t.data),A(new Set(t.data.rows.filter(e=>e.monitored).map(e=>e.id)))):N(t.ok?"Sync returned nothing.":t.error)}))},children:[(0,t.jsxs)(d.a,{className:(0,r.R)({size:"sm",variant:m?"primary":"secondary"}),children:[(0,t.jsx)(a.f,{size:15,"aria-hidden":!0})," ",h]}),(0,t.jsxs)(d.d,{className:"max-w-[640px] gap-0 p-0 sm:max-w-[640px]","aria-label":"Sync resources",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(a.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsxs)(d.F,{className:"text-base",children:["Sync ",b("text",c)]}),(0,t.jsx)(d.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:y?`Found ${U.length} resources just now. Pick the ones the console should watch. Unticked ones are ignored and cost nothing.`:w?`The list of ${x.what} could not be loaded.`:x.looking})]})]}),(0,t.jsxs)("div",{className:"px-[18px] pb-2",children:[w&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsx)(r.M,{tone:"danger",title:"Sync didn't finish",children:w})}),y&&y.skippedTeams.length>0&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsxs)(r.M,{tone:"info",title:"Some teams were skipped",children:["This token can't read ",y.skippedTeams.join(", "),". Create a token with access to them to include their projects."]})}),y?.overLimit&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsx)(r.M,{tone:"warning",title:"Monitor limit reached",children:y.overLimit})}),z&&(0,t.jsx)("p",{className:"py-6 text-center text-[13px] text-ink-soft",children:"Syncing…"}),y&&0===U.length&&(0,t.jsx)(r.k,{title:"Nothing found",children:x.none}),y&&U.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"mb-1.5 flex gap-1.5",children:[(0,t.jsx)(r.K,{size:"sm",onClick:()=>A(new Set(U.map(e=>e.id))),children:"Select all"}),(0,t.jsx)(r.K,{size:"sm",onClick:()=>A(new Set),children:"Select none"})]}),(0,t.jsx)("div",{className:"max-h-[360px] overflow-y-auto rounded-md border border-line",children:U.map(e=>(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 border-b border-line px-3 py-[9px] last:border-b-0 hover:bg-hover",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:S.has(e.id),onChange:()=>{var t;return t=e.id,void A(e=>{let a=new Set(e);return a.has(t)?a.delete(t):a.add(t),a})}}),(0,t.jsx)(i.f,{kind:e.badge}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate",children:"db"===e.badge||"fs"===e.badge?(0,t.jsx)(o.DbName,{id:e.id,name:e.name,alias:e.alias}):(0,t.jsx)(o.Masked,{kind:"app"===e.badge?"app":"text",real:e.name})}),(0,t.jsx)("span",{className:"block truncate text-[12px] text-ink-faint",children:(0,t.jsx)(o.Masked,{kind:"text",real:e.sub})})]}),e.fresh&&(0,t.jsx)("span",{className:"rounded bg-brand-soft px-1.5 py-px font-mono text-[10.5px] text-brand",children:"New"})]},e.id))})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3 border-t border-line px-[18px] py-3",children:[(0,t.jsxs)("span",{className:"text-[12.5px] text-ink-soft",children:[S.size," of ",U.length," selected"]}),(0,t.jsxs)("label",{className:"flex items-center gap-1.5 text-[12.5px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:C,onChange:e=>R(e.target.checked)}),"Watch new ones automatically"]}),(0,t.jsxs)("div",{className:"ml-auto flex gap-2",children:[(0,t.jsx)(r.K,{onClick:()=>k(!1),children:"Cancel"}),(0,t.jsx)(r.K,{variant:"primary",disabled:!y||T,onClick:function(){M(async()=>{let t=await l(e,[...S],C);if(!t.ok)return void s.c.error(t.error);let a=`Watching ${S.size} of ${y?.rows.length??0} resources in ${b("text",c)}. Checks start on the next collector run.`,n=t.data?.overLimit;n?s.c.warning("Selection saved",{description:`${a} ${n}`}):s.c.success("Selection saved",{description:a}),k(!1)})},children:T?"Saving…":"Save selection"})]})]})]})]})}],618897)},364440,e=>{var t=e.i(843476);e.i(522016),e.i(54131);var a=e.i(975157);let n={app:["APP","bg-brand-soft text-brand"],db:["DB","bg-teal-soft text-teal"],br:["BR","bg-teal-soft text-teal"],fs:["FS","bg-teal-soft text-teal"],mon:["MON","bg-amber-soft text-amber"],dpl:["DPL","bg-gray-soft text-ink-soft"],dom:["DOM","bg-gray-soft text-ink-soft"],dns:["DNS","bg-gray-soft text-ink-soft"],usr:["USR","bg-gray-soft text-ink-soft"]};e.s(["f",0,function({kind:e}){let[s,o]=n[e];return(0,t.jsx)("span",{className:(0,a.f)("rounded px-[5px] py-px font-mono text-[10.5px] font-medium tracking-[0.02em]",o),children:s})}])},776639,998218,152744,e=>{var t=e.i(843476),a=e.i(526323),n=e.i(828376);e.s(["f",0,n],998218);var n=n,s=e.i(209977),o=e.i(921637),r=e.i(141708),i=e.i(593480),d=e.i(309169),c=n;e.s(["f",0,c],152744);var c=n,l=e.i(975157),u=e.i(271645),p=e.i(540886),h=e.i(552245);let m=u.forwardRef(function(e,t){let{render:a,className:n,disabled:s=!1,focusableWhenDisabled:o=!1,nativeButton:r=!0,style:i,...d}=e,{getButtonProps:c,buttonRef:l}=(0,p.f)({disabled:s,focusableWhenDisabled:o,native:r});return(0,h.a)("button",e,{state:{disabled:s},ref:[t,l],props:[d,c]})}),f=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function g({className:e,variant:a="default",size:n="default",...s}){return(0,t.jsx)(m,{"data-slot":"button",className:(0,l.f)(f({variant:a,size:n,className:e})),...s})}var x=e.i(456420);let b={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};b.node;let v=(0,x.f)(b);function k({...e}){return(0,t.jsx)(s.f.Portal,{"data-slot":"dialog-portal",...e})}function y({className:e,...a}){return(0,t.jsx)(r.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,l.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}e.s(["N",0,function({...e}){return(0,t.jsx)(a.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:a,showCloseButton:n=!0,...s}){return(0,t.jsxs)(k,{children:[(0,t.jsx)(y,{}),(0,t.jsxs)(i.f.Popup,{"data-slot":"dialog-content",className:(0,l.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...s,children:[a,n&&(0,t.jsxs)(o.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(g,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(v,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...a}){return(0,t.jsx)(c.Description,{"data-slot":"dialog-description",className:(0,l.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...a})},"F",0,function({className:e,...a}){return(0,t.jsx)(d.f.Title,{"data-slot":"dialog-title",className:(0,l.f)("font-heading text-base leading-none font-medium",e),...a})},"a",0,function({...e}){return(0,t.jsx)(n.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)}])})();
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,590246,e=>{let t=(0,e.i(33550).f)("outline","external-link","ExternalLink",[["path",{d:"M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6",key:"svg-0"}],["path",{d:"M11 13l9 -9",key:"svg-1"}],["path",{d:"M15 4h5v5",key:"svg-2"}]]);e.s(["f",0,t],590246)},617708,e=>{let t=(0,e.i(33550).f)("outline","plus","Plus",[["path",{d:"M12 5l0 14",key:"svg-0"}],["path",{d:"M5 12l14 0",key:"svg-1"}]]);e.s(["f",0,t],617708)},518716,e=>{let t=(0,e.i(33550).f)("outline","refresh","Refresh",[["path",{d:"M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4",key:"svg-0"}],["path",{d:"M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4",key:"svg-1"}]]);e.s(["f",0,t],518716)},225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.f;e.s(["f",0,(e,t)=>s=>{var o;if((null==t?void 0:t.variants)==null)return n(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:r,defaultVariants:i}=t,d=Object.keys(r).map(e=>{let t=null==s?void 0:s[e],n=null==i?void 0:i[e];if(null===t)return null;let o=a(t)||a(n);return r[e][o]}),c=s&&Object.entries(s).reduce((e,t)=>{let[a,n]=t;return void 0===n||(e[a]=n),e},{});return n(e,d,null==t||null==(o=t.compoundVariants)?void 0:o.reduce((e,t)=>{let{class:a,className:n,...s}=t;return Object.entries(s).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...i,...c}[t]):({...i,...c})[t]===a})?[...e,a,n]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}])},66930,e=>{var t=e.i(843476),a=e.i(49601),n=e.i(386770),s=e.i(38156),o=e.i(213756),r=e.i(590246),i=e.i(504962),d=e.i(617708);let c=(0,e.i(33550).f)("outline","triangle","Triangle",[["path",{d:"M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0",key:"svg-0"}]]);var l=e.i(271645),u=e.i(846696),p=e.i(54131),h=e.i(428325),m=e.i(220806),f=e.i(776639);let g={vercel:{createUrl:"https://vercel.com/account/settings/tokens",needs:["Scope: your account","An expiry date. The console warns you 14 days before it ends."],checked:"2026-10-21",name:"Vercel",icon:"triangle",credentialKind:"Access token",accessNote:"Full account (no read-only option)",multiAccount:!1,note:"One account. Tokens can't be read-only, so actions always ask for confirmation."},supabase:{createUrl:"https://supabase.com/dashboard/account/tokens",needs:["Projects read: status, region, Postgres version","Project admin read: service health","Analytics usage read: last API traffic and auto-pause risk","Organization admin read: free plan, for the free-slot count","Database read: database size, once a day (checked at the first daily read, because testing it would query your database)","Project admin write, only if you want pause and restore (stage 6)"],checked:"2026-10-21",name:"Supabase",icon:"bolt",credentialKind:"Scoped access token",accessNote:"Projects, health, analytics, organization and database read",multiAccount:!0,note:"Each account gets 2 free active projects. Use scoped tokens: read-only, plus project admin if you want pause and restore."},neon:{createUrl:"https://console.neon.tech/app/settings/api-keys",needs:["A personal or project API key. Neon has no read-only keys."],checked:"2026-10-21",name:"Neon",icon:"database",credentialKind:"API key",accessNote:"All projects (no read-only option)",multiAccount:!0,note:"No read-only keys exist, so keys stay on the server."},firebase:{createUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts",needs:["Roles on each project: firebase.viewer, datastore.viewer, monitoring.viewer, firebaseauth.viewer","Turn on the Cloud Monitoring API in the project for reads, writes, and deletes today"],checked:"2026-10-21",name:"Firebase",icon:"flame",credentialKind:"Service account JSON",accessNote:"firebase.viewer, datastore.viewer, monitoring.viewer, firebaseauth.viewer",multiAccount:!0,json:!0,note:"One service account per Google account, with viewer roles only."},turso:{createUrl:"https://app.turso.tech/account/api-tokens",needs:["A platform API token limited to one organization (turso auth api-tokens mint watchbell --org <your-org>)","Turso has no read-only platform tokens; the console only lists databases and reads usage","Not a database token: database and group tokens can't list anything"],checked:"2026-10-21",name:"Turso",icon:"database",credentialKind:"Platform API token",accessNote:"One organization: databases and usage (no read-only option)",multiAccount:!0,note:"Lists databases and reads this month's rows read and written and storage against the free plan. Keys stay on the server."},upstash:{createUrl:"https://console.upstash.com/account/api",needs:["A Developer API key created as Read Only (Account → Management API)","Paste it as your-email:API_KEY (Upstash signs API calls with the account email and the key)","Native Upstash accounts only: a database made through the Vercel integration can't be read this way"],checked:"2026-10-21",name:"Upstash",icon:"bolt",credentialKind:"Developer API key",accessNote:"Read-only Developer API key: Redis databases and stats",multiAccount:!0,note:"Redis databases with their region, commands this month and data size against the free plan. QStash is budgeted in Settings."},cloudflare:{createUrl:"https://dash.cloudflare.com/profile/api-tokens",needs:["Zone: Read, DNS: Read, SSL and Certificates: Read","Zone Settings: Read, to show each zone's SSL/TLS mode (optional)","Zone → DNS → Edit, only if the owner wants to edit records from the DNS records page (never create or delete)","Account → D1 → Read, to watch Cloudflare D1 databases (size and tables); add Account → Account Analytics → Read for their rows read and written (optional)","Not needed: Registrar (domain expiry comes from RDAP)"],checked:"2026-10-21",name:"Cloudflare",icon:"cloud",credentialKind:"API token",accessNote:"Zone, DNS, SSL and Certificates read",multiAccount:!0,note:"A read-only API token is enough to watch. Add DNS Edit only to change records from the console. Domain expiry comes from RDAP, so Registrar access isn't needed."},github:{createUrl:"https://github.com/settings/personal-access-tokens/new",needs:["A fine-grained token (it starts with github_pat_); classic tokens can't be limited to read-only","Repository access: all repositories, or only the ones your apps deploy from","Repository permissions, each Read-only: Metadata, Contents, Actions. Nothing else","An expiry date. The console warns you 14 days before it ends."],checked:"2026-10-21",name:"GitHub",icon:"github",credentialKind:"Fine-grained token",accessNote:"Metadata, Contents and Actions read",multiAccount:!1,note:"A read-only fine-grained token. Sync lists your repositories; apps are linked to theirs, and their GitHub Actions status shows on the app page."},github_write:{createUrl:"https://github.com/settings/personal-access-tokens/new",needs:["A separate fine-grained token (it starts with github_pat_), not the read-only one above","Repository access: Only select repositories, the ones you want update PRs for","Repository permissions: Contents: Read and write, Pull requests: Read and write, Commit statuses: Read (for automatic merges). Nothing else (Metadata read is added by GitHub)","An expiry date. The console warns you 14 days before it ends."],checked:"2026-10-21",name:"GitHub (PR write)",icon:"github",credentialKind:"Fine-grained token",accessNote:"Contents and Pull requests read and write, Commit statuses read, chosen repositories",multiAccount:!1,note:"Optional. Opens pull requests that update vulnerable packages (when you approve one, or by itself with Automatic security fixes) and, with automatic fixes and auto-rollback on, squash-merges Watchbell's own PRs once CI, the Vercel preview and its smoke test pass. It never pushes to the default branch directly."}};var x=e.i(95187);let b=(0,x.createServerReference)("70a9926db0cd30a055167987e79ae0f8d0fdbc1fc6",x.callServer,void 0,x.findSourceMapURL,"addAccount"),v=(0,x.createServerReference)("60fc49f1147b575fbef1409e238ea3c531a6088147",x.callServer,void 0,x.findSourceMapURL,"checkCredential"),k=(0,x.createServerReference)("60855c6503d69782c9128399ea5c152eea4fec8de8",x.callServer,void 0,x.findSourceMapURL,"replaceCredential"),y={triangle:c,bolt:a.f,database:o.f,flame:i.f,cloud:s.f,github:n.f};function j({provider:e,replace:a,onDone:n,onCancel:s}){let o=g[e],[i,d]=(0,l.useTransition)(),[c,p]=(0,l.useState)(""),[f,x]=(0,l.useState)(""),[y,w]=(0,l.useState)({}),[N,S]=(0,l.useState)(null),A=`${e}-${a?.id??"new"}`,C=o.credentialKind.toLowerCase();return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"px-[18px] pt-1.5",children:[!a&&(0,t.jsx)(h.O,{id:`${A}-name`,label:"Account name",help:"Shown next to everything that comes from this account.",error:y.label,children:(0,t.jsx)("input",{id:`${A}-name`,value:c,onChange:e=>p(e.target.value),placeholder:"vercel"===e?"acme":"utama",className:h.S})}),(0,t.jsx)(h.O,{id:`${A}-cred`,label:o.credentialKind,error:y.credential,help:(0,t.jsxs)("a",{href:o.createUrl,target:"_blank",rel:"noopener noreferrer",children:[o.guide?"How to create one":"Create one"," ",(0,t.jsx)(r.f,{size:12,className:"inline"})]}),children:o.json?(0,t.jsx)("textarea",{id:`${A}-cred`,spellCheck:!1,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off","data-gramm":"false",value:f,onChange:e=>x(e.target.value),className:`${h.S} min-h-24 font-mono text-[12.5px]`,placeholder:'{ "type": "service_account", "client_email": "…", "private_key": "…" }'}):(0,t.jsx)("input",{id:`${A}-cred`,type:"password",spellCheck:!1,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off","data-gramm":"false",value:f,onChange:e=>x(e.target.value),className:h.S,placeholder:`Paste the ${C}`})}),(0,t.jsxs)("div",{className:"mb-3.5 rounded-lg border border-line bg-surface-2 px-3 py-2.5 text-[13px]",children:[(0,t.jsx)("b",{className:"font-medium",children:"It needs"}),(0,t.jsx)("ul",{className:"mt-1 list-disc pl-[18px] text-ink-soft",children:o.needs.map(e=>(0,t.jsx)("li",{children:e},e))})]}),N&&(0,t.jsxs)("div",{className:`mb-3.5 rounded-lg px-3 py-2.5 text-[13px] ${N.ok?"bg-ok-soft":"bg-err-soft"}`,role:"status",children:[(0,t.jsx)(m.F,{state:N.ok?"ok":"err",children:N.ok?"Connected":"Couldn't connect"}),(0,t.jsx)("ul",{className:"mt-1 list-disc pl-[18px]",children:N.ok?[N.summary,...N.details].map(e=>(0,t.jsx)("li",{children:e},e)):(0,t.jsx)("li",{children:N.error})})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)("span",{className:"mr-auto text-[12.5px] text-ink-faint",children:"Save tests the credential first."}),(0,t.jsx)(h.K,{onClick:function(){d(async()=>{let t=await v(e,f);w(t.ok?{}:t.fieldErrors??{}),S(t.ok?t.data??null:t.fieldErrors?null:{ok:!1,kind:"transient",error:t.error})})},disabled:i,children:"Test connection"}),s&&(0,t.jsx)(h.K,{onClick:s,disabled:i,children:"Cancel"}),(0,t.jsx)(h.K,{variant:"primary",onClick:function(){d(async()=>{let t=a?await k(a.id,f):await b(e,c,f);w(t.ok?{}:t.fieldErrors??{}),t.data&&S(t.data),t.ok?(u.c.success(t.message),p(""),x(""),S(null),n?.()):t.fieldErrors||t.data||u.c.error(t.error)})},disabled:i,children:i?"Working…":"Save"})]})]})}e.s(["AccountDialog",0,function({provider:e,replace:a,triggerLabel:n,primary:s}){let o=g[e],r=y[o.icon],[i,c]=(0,l.useState)(!1),[u,m]=(0,l.useState)(0),x=(0,p.useMask)();function b(e){c(e),e||m(e=>e+1)}return(0,t.jsxs)(f.N,{open:i,onOpenChange:b,children:[(0,t.jsxs)(f.a,{className:(0,h.R)({size:"sm",variant:s?"primary":"secondary"}),children:[!a&&!n&&(0,t.jsx)(d.f,{size:16}),n??(a?"Replace credential":"Add account")]}),(0,t.jsxs)(f.d,{className:"max-w-[640px] gap-0 p-0 sm:max-w-[640px]",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(r,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(f.F,{className:"text-base",children:a?`Replace credential \xb7 ${o.name} \xb7 ${x("account",a.label)}`:`Connect ${o.name}`}),(0,t.jsx)(f.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:a?"The old credential is deleted as soon as the new one works.":"The credential is encrypted before it's saved and never shown again."})]})]}),(0,t.jsx)(j,{provider:e,replace:a,onDone:()=>b(!1),onCancel:()=>b(!1)},u)]})]})},"AccountForm",0,j,"PROVIDER_ICONS",0,y],66930)},618897,e=>{var t=e.i(843476),a=e.i(518716),n=e.i(271645),s=e.i(846696),o=e.i(54131),r=e.i(428325),i=e.i(364440),d=e.i(776639),c=e.i(95187);let l=(0,c.createServerReference)("7025c7c0ed44881dc55409597aa849b9ebe174a80d",c.callServer,void 0,c.findSourceMapURL,"saveSyncSelection"),u=(0,c.createServerReference)("4089b1be721fc616221821a6a85e36f3ef970913e0",c.callServer,void 0,c.findSourceMapURL,"syncNow"),p={app:{what:"projects",looking:"Looking for projects in every team this token can read…",none:"This Vercel account has no projects yet."},zone:{what:"zones",looking:"Looking for zones in this Cloudflare account…",none:"This Cloudflare account has no zones yet."},supabase_project:{what:"projects",looking:"Looking for projects this credential can read…",none:"This account has no projects yet."},neon_project:{what:"projects",looking:"Looking for projects this credential can read…",none:"This account has no projects yet."},firestore:{what:"projects",looking:"Looking for projects this credential can read…",none:"This account has no projects yet."},turso_database:{what:"databases",looking:"Looking for databases in the organizations this token can read…",none:"This Turso account has no databases yet."},upstash_redis:{what:"databases",looking:"Looking for Redis databases this key can read…",none:"This Upstash account has no Redis databases yet."}};e.s(["SyncButton",0,function({accountId:e,title:c,label:h="Sync",primary:m,watchNew:f,kind:g="app"}){let x=p[g],b=(0,o.useMask)(),[v,k]=(0,n.useState)(!1),[y,j]=(0,n.useState)(null),[w,N]=(0,n.useState)(null),[S,A]=(0,n.useState)(new Set),[C,R]=(0,n.useState)(f),[z,P]=(0,n.useTransition)(),[T,M]=(0,n.useTransition)(),U=(0,n.useMemo)(()=>y?.rows??[],[y]);return(0,t.jsxs)(d.N,{open:v,onOpenChange:function(t){k(t),t&&(j(null),N(null),A(new Set),R(f),P(async()=>{let t=await u(e);t.ok&&t.data?(j(t.data),A(new Set(t.data.rows.filter(e=>e.monitored).map(e=>e.id)))):N(t.ok?"Sync returned nothing.":t.error)}))},children:[(0,t.jsxs)(d.a,{className:(0,r.R)({size:"sm",variant:m?"primary":"secondary"}),children:[(0,t.jsx)(a.f,{size:15,"aria-hidden":!0})," ",h]}),(0,t.jsxs)(d.d,{className:"max-w-[640px] gap-0 p-0 sm:max-w-[640px]","aria-label":"Sync resources",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(a.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsxs)(d.F,{className:"text-base",children:["Sync ",b("text",c)]}),(0,t.jsx)(d.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:y?`Found ${U.length} resources just now. Pick the ones the console should watch. Unticked ones are ignored and cost nothing.`:w?`The list of ${x.what} could not be loaded.`:x.looking})]})]}),(0,t.jsxs)("div",{className:"px-[18px] pb-2",children:[w&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsx)(r.M,{tone:"danger",title:"Sync didn't finish",children:w})}),y&&y.skippedTeams.length>0&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsxs)(r.M,{tone:"info",title:"Some teams were skipped",children:["This token can't read ",y.skippedTeams.join(", "),". Create a token with access to them to include their projects."]})}),y?.overLimit&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsx)(r.M,{tone:"warning",title:"Monitor limit reached",children:y.overLimit})}),z&&(0,t.jsx)("p",{className:"py-6 text-center text-[13px] text-ink-soft",children:"Syncing…"}),y&&0===U.length&&(0,t.jsx)(r.k,{title:"Nothing found",children:x.none}),y&&U.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"mb-1.5 flex gap-1.5",children:[(0,t.jsx)(r.K,{size:"sm",onClick:()=>A(new Set(U.map(e=>e.id))),children:"Select all"}),(0,t.jsx)(r.K,{size:"sm",onClick:()=>A(new Set),children:"Select none"})]}),(0,t.jsx)("div",{className:"max-h-[360px] overflow-y-auto rounded-md border border-line",children:U.map(e=>(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 border-b border-line px-3 py-[9px] last:border-b-0 hover:bg-hover",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:S.has(e.id),onChange:()=>{var t;return t=e.id,void A(e=>{let a=new Set(e);return a.has(t)?a.delete(t):a.add(t),a})}}),(0,t.jsx)(i.f,{kind:e.badge}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate",children:"db"===e.badge||"fs"===e.badge?(0,t.jsx)(o.DbName,{id:e.id,name:e.name,alias:e.alias}):(0,t.jsx)(o.Masked,{kind:"app"===e.badge?"app":"text",real:e.name})}),(0,t.jsx)("span",{className:"block truncate text-[12px] text-ink-faint",children:(0,t.jsx)(o.Masked,{kind:"text",real:e.sub})})]}),e.fresh&&(0,t.jsx)("span",{className:"rounded bg-brand-soft px-1.5 py-px font-mono text-[10.5px] text-brand",children:"New"})]},e.id))})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3 border-t border-line px-[18px] py-3",children:[(0,t.jsxs)("span",{className:"text-[12.5px] text-ink-soft",children:[S.size," of ",U.length," selected"]}),(0,t.jsxs)("label",{className:"flex items-center gap-1.5 text-[12.5px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:C,onChange:e=>R(e.target.checked)}),"Watch new ones automatically"]}),(0,t.jsxs)("div",{className:"ml-auto flex gap-2",children:[(0,t.jsx)(r.K,{onClick:()=>k(!1),children:"Cancel"}),(0,t.jsx)(r.K,{variant:"primary",disabled:!y||T,onClick:function(){M(async()=>{let t=await l(e,[...S],C);if(!t.ok)return void s.c.error(t.error);let a=`Watching ${S.size} of ${y?.rows.length??0} resources in ${b("text",c)}. Checks start on the next collector run.`,n=t.data?.overLimit;n?s.c.warning("Selection saved",{description:`${a} ${n}`}):s.c.success("Selection saved",{description:a}),k(!1)})},children:T?"Saving…":"Save selection"})]})]})]})]})}],618897)},364440,e=>{var t=e.i(843476);e.i(522016),e.i(54131);var a=e.i(975157);let n={app:["APP","bg-brand-soft text-brand"],db:["DB","bg-teal-soft text-teal"],br:["BR","bg-teal-soft text-teal"],fs:["FS","bg-teal-soft text-teal"],mon:["MON","bg-amber-soft text-amber"],dpl:["DPL","bg-gray-soft text-ink-soft"],dom:["DOM","bg-gray-soft text-ink-soft"],dns:["DNS","bg-gray-soft text-ink-soft"],usr:["USR","bg-gray-soft text-ink-soft"]};e.s(["f",0,function({kind:e}){let[s,o]=n[e];return(0,t.jsx)("span",{className:(0,a.f)("rounded px-[5px] py-px font-mono text-[10.5px] font-medium tracking-[0.02em]",o),children:s})}])},776639,998218,152744,e=>{var t=e.i(843476),a=e.i(526323),n=e.i(828376);e.s(["f",0,n],998218);var n=n,s=e.i(209977),o=e.i(921637),r=e.i(141708),i=e.i(593480),d=e.i(309169),c=n;e.s(["f",0,c],152744);var c=n,l=e.i(975157),u=e.i(271645),p=e.i(540886),h=e.i(552245);let m=u.forwardRef(function(e,t){let{render:a,className:n,disabled:s=!1,focusableWhenDisabled:o=!1,nativeButton:r=!0,style:i,...d}=e,{getButtonProps:c,buttonRef:l}=(0,p.f)({disabled:s,focusableWhenDisabled:o,native:r});return(0,h.a)("button",e,{state:{disabled:s},ref:[t,l],props:[d,c]})}),f=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function g({className:e,variant:a="default",size:n="default",...s}){return(0,t.jsx)(m,{"data-slot":"button",className:(0,l.f)(f({variant:a,size:n,className:e})),...s})}var x=e.i(456420);let b={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};b.node;let v=(0,x.f)(b);function k({...e}){return(0,t.jsx)(s.f.Portal,{"data-slot":"dialog-portal",...e})}function y({className:e,...a}){return(0,t.jsx)(r.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,l.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}e.s(["N",0,function({...e}){return(0,t.jsx)(a.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:a,showCloseButton:n=!0,...s}){return(0,t.jsxs)(k,{children:[(0,t.jsx)(y,{}),(0,t.jsxs)(i.f.Popup,{"data-slot":"dialog-content",className:(0,l.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...s,children:[a,n&&(0,t.jsxs)(o.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(g,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(v,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...a}){return(0,t.jsx)(c.Description,{"data-slot":"dialog-description",className:(0,l.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...a})},"F",0,function({className:e,...a}){return(0,t.jsx)(d.f.Title,{"data-slot":"dialog-title",className:(0,l.f)("font-heading text-base leading-none font-medium",e),...a})},"a",0,function({...e}){return(0,t.jsx)(n.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)}])})();
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,821328,e=>{"use strict";var t=e.i(843476),s=e.i(271645),a=e.i(428325),i=e.i(975157),r=e.i(95187);let c=(0,r.createServerReference)("60a83dc04efbbc5b4afa5615a5399acab94dfd4225",r.callServer,void 0,r.findSourceMapURL,"decideProposalForm");e.s(["DecideForm",0,function({id:e}){let[r,n,o]=(0,s.useActionState)(c,null);return(0,t.jsxs)("form",{action:n,className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("input",{type:"hidden",name:"id",value:e}),(0,t.jsx)("button",{type:"submit",name:"decision",value:"approve",disabled:o,className:(0,a.R)({variant:"primary",size:"sm"}),children:"Approve"}),(0,t.jsx)("button",{type:"submit",name:"decision",value:"reject",disabled:o,className:(0,a.R)({size:"sm"}),children:"Reject"}),o&&(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",role:"status",children:"Working…"}),!o&&r&&(0,t.jsx)("span",{className:(0,i.f)("text-[12.5px]",r.ok?"text-ink-soft":"text-err"),role:r.ok?"status":"alert",children:r.ok?r.message:r.error})]})}],821328)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,821328,e=>{"use strict";var t=e.i(843476),s=e.i(271645),a=e.i(428325),i=e.i(975157),r=e.i(95187);let n=(0,r.createServerReference)("60144963169a910bed3de5832f0394bf2ba4dd03f7",r.callServer,void 0,r.findSourceMapURL,"decideProposalForm");e.s(["DecideForm",0,function({id:e}){let[r,o,l]=(0,s.useActionState)(n,null);return(0,t.jsxs)("form",{action:o,className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("input",{type:"hidden",name:"id",value:e}),(0,t.jsx)("button",{type:"submit",name:"decision",value:"approve",disabled:l,className:(0,a.R)({variant:"primary",size:"sm"}),children:"Approve"}),(0,t.jsx)("button",{type:"submit",name:"decision",value:"reject",disabled:l,className:(0,a.R)({size:"sm"}),children:"Reject"}),l&&(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",role:"status",children:"Working…"}),!l&&r&&(0,t.jsx)("span",{className:(0,i.f)("text-[12.5px]",r.ok?"text-ink-soft":"text-err"),role:r.ok?"status":"alert",children:r.ok?r.message:r.error})]})}],821328)}]);
@@ -0,0 +1 @@
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33550,e=>{var t=e.i(271645),r={outline:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},filled:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",stroke:"none"}};e.s(["f",0,(e,a,n,i)=>{let s=(0,t.forwardRef)(({color:n="currentColor",size:s=24,stroke:l=2,title:o,className:d,children:c,...f},h)=>(0,t.createElement)("svg",{ref:h,...r[e],width:s,height:s,className:["tabler-icon",`tabler-icon-${a}`,d].filter(Boolean).join(" "),..."filled"===e?{fill:n}:{strokeWidth:l,stroke:n},...f},[o&&(0,t.createElement)("title",{key:"svg-title"},o),...i.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(c)?c:[c]]));return s.displayName=`${n}`,s}],33550)},344423,e=>{let t=(0,e.i(33550).f)("outline","alert-circle","AlertCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 8v4",key:"svg-1"}],["path",{d:"M12 16h.01",key:"svg-2"}]]);e.s(["f",0,t],344423)},146874,e=>{let t=(0,e.i(33550).f)("outline","alert-triangle","AlertTriangle",[["path",{d:"M12 9v4",key:"svg-0"}],["path",{d:"M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0",key:"svg-1"}],["path",{d:"M12 16h.01",key:"svg-2"}]]);e.s(["f",0,t],146874)},785642,396455,802480,802874,e=>{var t=e.i(33550);let r=(0,t.f)("outline","circle-check","CircleCheck",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M9 12l2 2l4 -4",key:"svg-1"}]]);e.s(["f",0,r],785642);let a=(0,t.f)("outline","circle-dashed","CircleDashed",[["path",{d:"M8.56 3.69a9 9 0 0 0 -2.92 1.95",key:"svg-0"}],["path",{d:"M3.69 8.56a9 9 0 0 0 -.69 3.44",key:"svg-1"}],["path",{d:"M3.69 15.44a9 9 0 0 0 1.95 2.92",key:"svg-2"}],["path",{d:"M8.56 20.31a9 9 0 0 0 3.44 .69",key:"svg-3"}],["path",{d:"M15.44 20.31a9 9 0 0 0 2.92 -1.95",key:"svg-4"}],["path",{d:"M20.31 15.44a9 9 0 0 0 .69 -3.44",key:"svg-5"}],["path",{d:"M20.31 8.56a9 9 0 0 0 -1.95 -2.92",key:"svg-6"}],["path",{d:"M15.44 3.69a9 9 0 0 0 -3.44 -.69",key:"svg-7"}]]);e.s(["f",0,a],396455);let n=(0,t.f)("outline","circle-x","CircleX",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M10 10l4 4m0 -4l-4 4",key:"svg-1"}]]);e.s(["f",0,n],802480);let i=(0,t.f)("outline","hammer","Hammer",[["path",{d:"M11.414 10l-7.383 7.418a2.091 2.091 0 0 0 0 2.967a2.11 2.11 0 0 0 2.976 0l7.407 -7.385",key:"svg-0"}],["path",{d:"M18.121 15.293l2.586 -2.586a1 1 0 0 0 0 -1.414l-7.586 -7.586a1 1 0 0 0 -1.414 0l-2.586 2.586a1 1 0 0 0 0 1.414l7.586 7.586a1 1 0 0 0 1.414 0",key:"svg-1"}]]);e.s(["f",0,i],802874)},239692,e=>{let t=(0,e.i(33550).f)("outline","help-circle","HelpCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 16v.01",key:"svg-1"}],["path",{d:"M12 13a2 2 0 0 0 .914 -3.782a1.98 1.98 0 0 0 -2.414 .483",key:"svg-2"}]]);e.s(["f",0,t],239692)},39622,e=>{let t=(0,e.i(33550).f)("outline","info-circle","InfoCircle",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 9h.01",key:"svg-1"}],["path",{d:"M11 12h1v4h1",key:"svg-2"}]]);e.s(["f",0,t],39622)},513932,e=>{let t=(0,e.i(33550).f)("outline","loader-2","Loader2",[["path",{d:"M12 3a9 9 0 1 0 9 9",key:"svg-0"}]]);e.s(["f",0,t],513932)},95187,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0});var a={callServer:function(){return i.callServer},createServerReference:function(){return l.createServerReference},findSourceMapURL:function(){return s.findSourceMapURL}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let i=e.r(132120),s=e.r(92245),l=e.r(235326)},48384,e=>{var t=e.i(95187);let r=(0,t.createServerReference)("0043eea022ce71f2997587d2e7b32d5eecd76bd6eb",t.callServer,void 0,t.findSourceMapURL,"signOut");e.s(["f",0,r])},563491,e=>{var t=e.i(843476),r=e.i(16340),a=e.i(171209),n=e.i(301844);e.s(["default",0,function({error:e,retry:i}){return(0,t.jsxs)("html",{lang:"en",suppressHydrationWarning:!0,children:[(0,t.jsxs)("head",{children:[(0,t.jsx)("title",{children:"Something went wrong"}),(0,t.jsx)("script",{dangerouslySetInnerHTML:{__html:n.W}})]}),(0,t.jsxs)("body",{className:"bg-bg font-sans text-ink antialiased",children:[(0,t.jsx)("main",{className:"grid min-h-screen place-items-center px-4 py-6",children:(0,t.jsx)("div",{className:"w-[460px] max-w-full",children:(0,t.jsx)(r.f,{digest:e.digest,retry:i,withSignOut:!0})})}),(0,t.jsx)(a.ThemeKeeper,{})]})]})}])},16340,e=>{var t=e.i(843476),r=e.i(146874),a=e.i(48384),n=e.i(428325);e.s(["f",0,function({digest:e,retry:i,withSignOut:s=!1,note:l,notice:o}){return(0,t.jsx)(n.N,{children:(0,t.jsxs)(n.k,{icon:r.f,title:o?"Try again soon":"This page didn't load",action:(0,t.jsxs)("div",{className:"flex flex-wrap justify-center gap-2",children:[(0,t.jsx)(n.K,{variant:"primary",onClick:()=>i(),children:"Try again"}),s&&(0,t.jsx)("form",{action:a.f,children:(0,t.jsx)(n.K,{type:"submit",children:"Sign out"})})]}),children:[o??"Watchbell couldn't read its database, or a setting is missing. It keeps retrying on its own; the server log has the details (reference below).",l&&(0,t.jsx)("p",{className:"mt-2 text-xs text-ink-soft",role:"status",children:l}),e&&!o&&(0,t.jsxs)("p",{className:"mt-2 font-mono text-xs text-ink-faint",children:["Reference ",e]})]})})}])},428325,e=>{var t=e.i(843476);let r=(0,e.i(33550).f)("outline","inbox","Inbox",[["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",key:"svg-0"}],["path",{d:"M4 13h3l3 3h4l3 -3h3",key:"svg-1"}]]);e.i(522016);var a=e.i(54131),n=e.i(220806),i=e.i(975157);function s({variant:e="secondary",size:t="md"}={}){return(0,i.f)("inline-flex items-center gap-1.5 whitespace-nowrap rounded-md border transition-colors disabled:cursor-not-allowed disabled:opacity-60 hover:no-underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40","sm"===t?"px-[9px] py-[3px] text-[13px]":"px-3 py-1.5","primary"===e&&"border-brand bg-brand text-on-brand hover:bg-brand-hover","secondary"===e&&"border-line-strong bg-surface text-ink hover:bg-hover","ghost"===e&&"border-transparent bg-transparent text-brand hover:bg-brand-soft","danger"===e&&"border-err bg-err text-on-brand hover:brightness-95")}let l={danger:{box:"bg-err-soft border-err/30",state:"err"},warning:{box:"bg-warn-soft border-warn-icon/35",state:"warn"},info:{box:"bg-brand-soft border-brand/25",state:"info"}},o=(e,r)=>"string"==typeof e?(0,t.jsx)(a.MaskedText,{text:e,inLink:r}):e;e.s(["M",0,function({tone:e,title:r,children:a,action:s}){let d=l[e];return(0,t.jsxs)("div",{className:(0,i.f)("flex items-start gap-2.5 rounded-lg border px-3.5 py-2.5",d.box),role:"danger"===e?"alert":"status",children:[(0,t.jsx)("span",{className:"mt-px",children:(0,t.jsx)(n.Z,{state:d.state,size:18})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("b",{className:"block font-medium",children:o(r)}),a&&(0,t.jsx)("p",{className:"mt-0.5 text-[13px] text-ink-soft",children:o(a)})]}),s&&(0,t.jsx)("div",{className:"ml-auto",children:s})]})},"K",0,function({variant:e,size:r,className:a,type:n="button",...l}){return(0,t.jsx)("button",{type:n,className:(0,i.f)(s({variant:e,size:r}),a),...l})},"N",0,function({title:e,meta:r,flush:a,className:n,children:s}){return(0,t.jsxs)("section",{className:(0,i.f)("min-w-0 rounded-lg border border-line bg-surface",n),children:[e&&(0,t.jsxs)("div",{className:(0,i.f)("flex flex-wrap items-center gap-2 px-[18px] pt-3.5",a?"pb-2.5":"pb-1.5"),children:[(0,t.jsx)("h2",{className:"text-[15px]",children:e}),r&&(0,t.jsx)("span",{className:"ml-auto flex items-center gap-1.5 text-[12.5px] text-ink-soft",children:r})]}),a?s:(0,t.jsx)("div",{className:"px-[18px] pb-4 pt-2",children:s})]})},"k",0,function({icon:e=r,title:a,children:n,action:i}){return(0,t.jsxs)("div",{className:"px-4 py-7 text-center text-ink-soft",children:[(0,t.jsx)(e,{size:28,"aria-hidden":!0,className:"mx-auto text-ink-faint"}),(0,t.jsx)("b",{className:"mb-0.5 mt-1.5 block font-medium text-ink",children:a}),n,i&&(0,t.jsx)("div",{className:"mt-3",children:i})]})},"O",0,function({id:e,label:r,help:a,error:n,children:i}){return(0,t.jsxs)("div",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,t.jsx)("label",{htmlFor:e,className:"text-[13px] font-medium",children:r}),i,a&&(0,t.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:a}),n&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:n})]})},"_",0,function({label:e,pressed:r,children:a,...n}){return(0,t.jsx)("button",{type:"button","aria-label":e,title:e,"aria-pressed":r,className:(0,i.f)("relative inline-grid size-[34px] shrink-0 place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",r&&"bg-brand-soft text-brand"),...n,children:a})},"E",0,function({children:e}){return(0,t.jsx)("span",{className:"mr-1 inline-block rounded-[5px] border border-line bg-surface-2 px-1.5 text-xs text-ink-soft",children:e})},"R",0,s,"S",0,"w-full rounded-md border border-line-strong bg-surface px-2.5 py-1.5 text-ink outline-none focus:border-brand focus:ring-2 focus:ring-brand/40"],428325)},220806,914552,615884,e=>{var t=e.i(843476),r=e.i(344423),a=e.i(146874),n=e.i(785642),i=e.i(396455),s=e.i(802480),l=e.i(802874),o=e.i(239692),d=e.i(39622),c=e.i(513932),f=e.i(33550);let h=(0,f.f)("outline","moon","Moon",[["path",{d:"M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454l0 .008",key:"svg-0"}]]);e.s(["f",0,h],914552);let x=(0,f.f)("outline","player-pause","PlayerPause",[["path",{d:"M6 6a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -12",key:"svg-0"}],["path",{d:"M14 6a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -12",key:"svg-1"}]]),p=(0,f.f)("outline","tool","Tool",[["path",{d:"M7 10h3v-3l-3.5 -3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1 -3 3l-6 -6a6 6 0 0 1 -8 -8l3.5 3.5",key:"svg-0"}]]);e.s(["f",0,p],615884);let u={ok:"text-ok",warn:"text-warn-icon",paused:"text-warn-icon",err:"text-err",fail:"text-err",idle:"text-idle",off:"text-idle",unknown:"text-idle",build:"text-brand",info:"text-brand",maint:"text-brand"};var g=e.i(975157);let b={ok:n.f,warn:a.f,err:r.f,idle:h,build:c.f,paused:x,info:d.f,fail:s.f,off:i.f,unknown:o.f,maint:p};function v({state:e,size:r=17,still:a=!1}){let n=a&&"build"===e?l.f:b[e];return(0,t.jsx)(n,{size:r,"aria-hidden":!0,className:(0,g.f)("shrink-0",u[e],"build"===e&&!a&&"animate-spin")})}e.s(["Z",0,v,"F",0,function({state:e,children:r}){return(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 whitespace-nowrap",children:[(0,t.jsx)(v,{state:e}),(0,t.jsx)("span",{children:r})]})}],220806)}])})();
@@ -1 +1 @@
1
- (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,531219,e=>{let t=(0,e.i(33550).f)("outline","filter-off","FilterOff",[["path",{d:"M8 4h12v2.172a2 2 0 0 1 -.586 1.414l-3.914 3.914m-.5 3.5v4l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227",key:"svg-0"}],["path",{d:"M3 3l18 18",key:"svg-1"}]]);e.s(["f",0,t],531219)},225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.f;e.s(["f",0,(e,t)=>s=>{var i;if((null==t?void 0:t.variants)==null)return n(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:r,defaultVariants:l}=t,o=Object.keys(r).map(e=>{let t=null==s?void 0:s[e],n=null==l?void 0:l[e];if(null===t)return null;let i=a(t)||a(n);return r[e][i]}),d=s&&Object.entries(s).reduce((e,t)=>{let[a,n]=t;return void 0===n||(e[a]=n),e},{});return n(e,o,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:a,className:n,...s}=t;return Object.entries(s).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...l,...d}[t]):({...l,...d})[t]===a})?[...e,a,n]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}])},522371,e=>{var t=e.i(843476),a=e.i(618566),n=e.i(271645),s=e.i(846696),i=e.i(46200),r=e.i(428325),l=e.i(500443),o=e.i(177106),d=e.i(776639),c=e.i(95187);let u=(0,c.createServerReference)("40ad1a616d1abebc96d8ad24bd0fc6b869aebc4ca8",c.callServer,void 0,c.findSourceMapURL,"forgetAgentAction"),p=(0,c.createServerReference)("60d07486b20a41a26312cc1233f2dfac9b87abbc94",c.callServer,void 0,c.findSourceMapURL,"renameAgentAction");function x({id:e,current:a,detected:i,onDone:l}){let[o,c]=(0,n.useState)(a===i?"":a),[u,g]=(0,n.useState)(""),[f,h]=(0,n.useTransition)();return(0,t.jsxs)("form",{onSubmit:function(t){t.preventDefault(),h(async()=>{g("");try{let t=await p(e,o);t.ok?(s.c.success(t.message??"Agent renamed."),l()):g(t.fieldErrors?.name??t.error)}catch{g("Watchbell didn't answer. Check that it's still running, then try again.")}})},noValidate:!0,children:[(0,t.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,t.jsxs)(d.F,{className:"text-base",children:["Rename ",i]}),(0,t.jsx)(d.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"Only changes what this page shows. Leave it empty to use the detected name again."})]}),(0,t.jsx)("div",{className:"px-[18px] pt-1.5",children:(0,t.jsx)(r.O,{id:"agent-name",label:"Name",error:u,children:(0,t.jsx)("input",{id:"agent-name",value:o,onChange:e=>c(e.target.value),placeholder:i,autoComplete:"off",spellCheck:!1,className:r.S})})}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(r.K,{onClick:l,disabled:f,children:"Cancel"}),(0,t.jsx)(r.K,{type:"submit",variant:"primary",disabled:f,children:f?"Saving…":"Save name"})]})]})}e.s(["AgentActions",0,function({id:e,name:s,clientName:r,keyRevoked:c}){let p=(0,a.useRouter)(),[g,f]=(0,n.useState)(!1),[h,m]=(0,n.useState)(!1);return(0,l.useHoldRefresh)(g),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.RowMenu,{label:`Actions for ${s}`,items:[...c?[]:[{label:"Rename",onSelect:()=>f(!0)}],{label:"Show logs",onSelect:()=>p.push(`/ai/logs?agent=${encodeURIComponent(e)}`)},"---",{label:"Forget",danger:!0,onSelect:()=>m(!0)}]}),(0,t.jsx)(d.N,{open:g,onOpenChange:f,children:(0,t.jsx)(d.d,{className:"gap-0 p-0 sm:max-w-[520px]",showCloseButton:!1,children:g&&(0,t.jsx)(x,{id:e,current:s,detected:r,onDone:()=>f(!1)})})}),(0,t.jsx)(i.f,{open:h,onOpenChange:m,title:`Forget ${s}?`,body:"Removes it from this list. Its calls stay in the logs for 30 days. It appears again with its next request.",cta:"Forget agent",danger:!0,onConfirm:async()=>{let t=await u(e);return{ok:t.ok,message:(t.ok?t.message:t.error)??""}}})]})}],522371)},58548,e=>{var t=e.i(618566),a=e.i(271645),n=e.i(500443);e.s(["AgentsRefresh",0,function(){let e=(0,t.useRouter)(),[s,i]=(0,a.useTransition)(),r=(0,a.useRef)(!1);return(0,a.useEffect)(()=>{r.current=s},[s]),(0,a.useEffect)(()=>{let t=()=>{if(!r.current){var t;(t={visible:"visible"===document.visibilityState,online:!1!==navigator.onLine,held:(0,n.holdCount)()>0}).visible&&t.online&&!t.held&&i(()=>e.refresh())}},a=setInterval(t,15e3);return document.addEventListener("visibilitychange",t),()=>{clearInterval(a),document.removeEventListener("visibilitychange",t)}},[e]),null}],58548)},46200,e=>{var t=e.i(843476),a=e.i(146874),n=e.i(239692),s=e.i(271645),i=e.i(846696),r=e.i(428325),l=e.i(500443),o=e.i(776639);e.s(["f",0,function({trigger:e,open:d,onOpenChange:c,title:u,body:p,cta:x,danger:g=!1,onConfirm:f}){let[h,m]=(0,s.useState)(!1),v=d??h,[b,j]=(0,s.useTransition)();function y(e){void 0===d&&m(e),c?.(e)}return(0,l.useHoldRefresh)(v),(0,t.jsxs)(o.N,{open:v,onOpenChange:e=>{b||y(e)},children:[void 0!==e&&((0,s.isValidElement)(e)?(0,t.jsx)(o.a,{render:e}):(0,t.jsx)(o.a,{children:e})),(0,t.jsxs)(o.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${g?"text-err":"text-ink-soft"}`,children:g?(0,t.jsx)(a.f,{size:19}):(0,t.jsx)(n.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.F,{className:"text-base",children:u}),(0,t.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:p})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(r.K,{onClick:()=>y(!1),disabled:b,children:"Keep as is"}),(0,t.jsx)(r.K,{variant:g?"danger":"primary",onClick:function(){j(async()=>{try{let e=await f();e.ok?(i.c.success(e.message),y(!1)):i.c.error(e.message)}catch{i.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:b,children:b?"Working…":x})]})]})]})}])},374931,e=>{var t=e.i(843476),a=e.i(531219),n=e.i(357772),s=e.i(271645),i=e.i(54131),r=e.i(428325),l=e.i(541299),o=e.i(691106),d=e.i(975157),c=e.i(322534),u=e.i(495784);e.s(["ListFilter",0,function({placeholder:e,states:p,groups:x,head:g,rows:f,chips:h}){var m,v;let b,[j,y]=(0,s.useState)(""),[k,N]=(0,s.useState)(""),[w,C]=(0,s.useState)(""),[S,z]=(0,s.useState)(""),[R,M]=(0,s.useState)(1),A=(0,i.useMask)(),$=(m=f.map(e=>({...e,text:`${e.text} ${A("text",e.text)}`})),b=(v={text:j,state:k,group:S,tag:w}).text.trim().toLowerCase(),m.filter(e=>(!v.state||e.state===v.state)&&(!v.group||e.group===v.group)&&(!v.tag||(e.tags??[]).includes(v.tag))&&(!b||e.text.toLowerCase().includes(b)))),O=(0,u.$)($,R),F=O.rows;O.page!==R&&M(O.page);let _=p?.find(([e])=>e===k)?.[1];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-[18px] pb-3 pt-3.5 max-[720px]:px-3.5",children:[(0,t.jsx)("input",{className:(0,d.f)(r.S,"w-[240px] max-[720px]:w-full"),placeholder:e,"aria-label":e,value:j,onChange:e=>{y(e.target.value),M(1)}}),p&&(0,t.jsxs)("select",{className:(0,d.f)(r.S,"w-auto"),"aria-label":"State",value:k,onChange:e=>{N(e.target.value),M(1)},children:[(0,t.jsx)("option",{value:"",children:"All states"}),p.map(([e,a])=>(0,t.jsx)("option",{value:e,children:a},e))]}),x&&x.length>1&&(0,t.jsxs)("select",{className:(0,d.f)(r.S,"w-auto"),"aria-label":"Account",value:S,onChange:e=>{z(e.target.value),M(1)},children:[(0,t.jsx)("option",{value:"",children:"All accounts"}),x.map(e=>(0,t.jsx)("option",{value:e,children:A("account",e)},e))]}),h?.map(([e,a])=>(0,t.jsx)("button",{type:"button","aria-pressed":w===e,onClick:()=>{C(w===e?"":e),M(1)},className:(0,d.f)("rounded-[5px] border px-2 py-0.5 text-[12.5px]",w===e?"border-brand bg-brand-soft text-brand":"border-line text-ink-soft hover:bg-hover"),children:a},e)),_&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] bg-brand-soft py-px pl-2 pr-1 text-[12.5px] text-brand",children:["State: ",_,(0,t.jsx)("button",{type:"button","aria-label":"Remove filter",className:"px-0.5",onClick:()=>{N(""),M(1)},children:(0,t.jsx)(n.f,{size:13})})]}),S&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] bg-brand-soft py-px pl-2 pr-1 text-[12.5px] text-brand",children:["Account: ",(0,t.jsx)(i.Masked,{kind:"account",real:S}),(0,t.jsx)("button",{type:"button","aria-label":"Remove account filter",className:"px-0.5",onClick:()=>{z(""),M(1)},children:(0,t.jsx)(n.f,{size:13})})]}),(0,t.jsx)("span",{role:"status",className:"ml-auto text-[12.5px] text-ink-soft",children:(0,c.O)($.length)})]}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:o.o,children:[(0,t.jsx)(o.U,{head:g}),(0,t.jsx)("tbody",{children:F.map(e=>(0,t.jsx)(s.Fragment,{children:e.row},e.key))})]})}),0===$.length&&f.length>0&&(0,t.jsxs)(r.k,{icon:a.f,title:"No results",children:["Nothing matches these filters."," ",(0,t.jsx)("button",{type:"button",className:"text-brand hover:underline",onClick:()=>{y(""),N(""),z(""),C(""),M(1)},children:"Clear filters"})]}),(0,t.jsx)(l.f,{page:O.page,pages:O.pages,text:(0,u.z)(O),onPage:M})]})}],374931)},541299,495784,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(428325),s=e.i(975157);function i(e,t,a=25){let n=e.length,s=Math.max(1,Math.ceil(n/a)),r=Math.min(Math.max(Number.isFinite(t)?Math.floor(t):1,1),s),l=(r-1)*a,o=e.slice(l,l+a);return{rows:o,page:r,pages:s,from:0===n?0:l+1,to:l+o.length,total:n}}e.s(["f",0,function({page:e,pages:i,text:r,onPage:l,bleed:o=!1}){let d=(0,a.useRef)(null),c=(0,a.useRef)(null);if((0,a.useEffect)(()=>{null!==c.current&&(d.current?.querySelectorAll("button")[c.current]?.focus(),c.current=null)},[e]),i<=1)return null;let u=(e,t)=>{(e<=1||e>=i)&&(c.current=t),l(e)};return(0,t.jsxs)("div",{className:(0,s.f)("flex items-center gap-2 border-t border-line px-[18px] py-2.5 text-[12.5px] text-ink-soft",o?"-mx-[18px] -mb-4 mt-2":"max-[720px]:px-3.5"),children:[(0,t.jsx)("span",{role:"status",children:r}),(0,t.jsxs)("span",{ref:d,className:"ml-auto flex gap-1.5",children:[(0,t.jsx)(n.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Previous page",disabled:e<=1,onClick:()=>u(e-1,1),children:"‹ Previous"}),(0,t.jsx)(n.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Next page",disabled:e>=i,onClick:()=>u(e+1,0),children:"Next ›"})]})]})}],541299),e.s(["k",0,function(e,t,a,n){return n<=1?null:t>0&&null!==a?a:e[0]?.id??null},"$",0,i,"f",0,function(e,t,a,n=25){let s=null===a?0:Math.max(0,e.findIndex(e=>e.id===a)),r=i(e.slice(s),t,n);return 0===s||r.page>1?{...r,shift:s}:{...i(e,1,n),shift:0}},"z",0,function(e,t=0,a=e.total){return`${e.from+t}–${e.to+t} of ${a}`}],495784)},177106,e=>{var t=e.i(843476),a=e.i(33550);let n=(0,a.f)("outline","chevron-down","ChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),s=(0,a.f)("outline","dots-vertical","DotsVertical",[["path",{d:"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]);var i=e.i(271645),r=e.i(428325),l=e.i(500443),o=e.i(755146);e.s(["RowMenu",0,function({items:e,button:a=!1,label:d="Actions"}){let[c,u]=(0,i.useState)(!1);return(0,l.useHoldRefresh)(c),(0,t.jsxs)(o.G,{open:c,onOpenChange:u,children:[a?(0,t.jsxs)(o.X,{className:(0,r.R)(),children:[d," ",(0,t.jsx)(n,{size:16,"aria-hidden":!0})]}):(0,t.jsx)(o.X,{"aria-label":d,className:"rounded-[5px] px-1.5 py-1 text-ink-faint hover:bg-sunken hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:(0,t.jsx)(s,{size:17})}),(0,t.jsx)(o.L,{align:"end",className:"min-w-[200px] rounded-[8px] border border-line-strong bg-surface p-1 shadow-[0_8px_24px_rgba(0,0,0,.14)] ring-0",children:e.map((e,a)=>"---"===e?(0,t.jsx)(o.U,{},`sep-${a}`):(0,t.jsxs)(o.r,{disabled:void 0!==e.disabled,variant:e.danger?"destructive":"default",className:"rounded-[5px] px-2.5 py-[7px]",onClick:()=>{e.href?window.open(e.href,"_blank","noopener,noreferrer"):e.onSelect?.()},children:[e.label,void 0!==e.disabled&&(0,t.jsx)("span",{className:"ml-auto pl-3 text-[11px] text-ink-faint",children:e.disabled})]},e.label))})]})}],177106)},776639,998218,152744,e=>{var t=e.i(843476),a=e.i(526323),n=e.i(828376);e.s(["f",0,n],998218);var n=n,s=e.i(209977),i=e.i(921637),r=e.i(141708),l=e.i(593480),o=e.i(309169),d=n;e.s(["f",0,d],152744);var d=n,c=e.i(975157),u=e.i(271645),p=e.i(540886),x=e.i(552245);let g=u.forwardRef(function(e,t){let{render:a,className:n,disabled:s=!1,focusableWhenDisabled:i=!1,nativeButton:r=!0,style:l,...o}=e,{getButtonProps:d,buttonRef:c}=(0,p.f)({disabled:s,focusableWhenDisabled:i,native:r});return(0,x.a)("button",e,{state:{disabled:s},ref:[t,c],props:[o,d]})}),f=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function h({className:e,variant:a="default",size:n="default",...s}){return(0,t.jsx)(g,{"data-slot":"button",className:(0,c.f)(f({variant:a,size:n,className:e})),...s})}var m=e.i(456420);let v={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};v.node;let b=(0,m.f)(v);function j({...e}){return(0,t.jsx)(s.f.Portal,{"data-slot":"dialog-portal",...e})}function y({className:e,...a}){return(0,t.jsx)(r.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}e.s(["N",0,function({...e}){return(0,t.jsx)(a.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:a,showCloseButton:n=!0,...s}){return(0,t.jsxs)(j,{children:[(0,t.jsx)(y,{}),(0,t.jsxs)(l.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...s,children:[a,n&&(0,t.jsxs)(i.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(h,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(b,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...a}){return(0,t.jsx)(d.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...a})},"F",0,function({className:e,...a}){return(0,t.jsx)(o.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...a})},"a",0,function({...e}){return(0,t.jsx)(n.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)},322534,e=>{e.i(684496),e.s(["O",0,e=>`${e} item${1===e?"":"s"}`,"J",0,function(e,t){let a=Math.max(0,t.getTime()-e.getTime());return a<6e4?"now":a<36e5?`${Math.floor(a/6e4)} min ago`:a<864e5?`${Math.floor(a/36e5)} h ago`:`${Math.floor(a/864e5)} d ago`}])}])})();
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,531219,e=>{let t=(0,e.i(33550).f)("outline","filter-off","FilterOff",[["path",{d:"M8 4h12v2.172a2 2 0 0 1 -.586 1.414l-3.914 3.914m-.5 3.5v4l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227",key:"svg-0"}],["path",{d:"M3 3l18 18",key:"svg-1"}]]);e.s(["f",0,t],531219)},225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.f;e.s(["f",0,(e,t)=>s=>{var i;if((null==t?void 0:t.variants)==null)return n(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:r,defaultVariants:l}=t,o=Object.keys(r).map(e=>{let t=null==s?void 0:s[e],n=null==l?void 0:l[e];if(null===t)return null;let i=a(t)||a(n);return r[e][i]}),d=s&&Object.entries(s).reduce((e,t)=>{let[a,n]=t;return void 0===n||(e[a]=n),e},{});return n(e,o,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:a,className:n,...s}=t;return Object.entries(s).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...l,...d}[t]):({...l,...d})[t]===a})?[...e,a,n]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}])},522371,e=>{var t=e.i(843476),a=e.i(618566),n=e.i(271645),s=e.i(846696),i=e.i(46200),r=e.i(428325),l=e.i(500443),o=e.i(177106),d=e.i(776639),c=e.i(95187);let u=(0,c.createServerReference)("401357e01640d8fb90a8b80cd251d7fe224372eda5",c.callServer,void 0,c.findSourceMapURL,"forgetAgentAction"),p=(0,c.createServerReference)("60c3438000f27d98ca4bb0f89dcff605d4f788581a",c.callServer,void 0,c.findSourceMapURL,"renameAgentAction");function x({id:e,current:a,detected:i,onDone:l}){let[o,c]=(0,n.useState)(a===i?"":a),[u,f]=(0,n.useState)(""),[g,h]=(0,n.useTransition)();return(0,t.jsxs)("form",{onSubmit:function(t){t.preventDefault(),h(async()=>{f("");try{let t=await p(e,o);t.ok?(s.c.success(t.message??"Agent renamed."),l()):f(t.fieldErrors?.name??t.error)}catch{f("Watchbell didn't answer. Check that it's still running, then try again.")}})},noValidate:!0,children:[(0,t.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,t.jsxs)(d.F,{className:"text-base",children:["Rename ",i]}),(0,t.jsx)(d.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"Only changes what this page shows. Leave it empty to use the detected name again."})]}),(0,t.jsx)("div",{className:"px-[18px] pt-1.5",children:(0,t.jsx)(r.O,{id:"agent-name",label:"Name",error:u,children:(0,t.jsx)("input",{id:"agent-name",value:o,onChange:e=>c(e.target.value),placeholder:i,autoComplete:"off",spellCheck:!1,className:r.S})})}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(r.K,{onClick:l,disabled:g,children:"Cancel"}),(0,t.jsx)(r.K,{type:"submit",variant:"primary",disabled:g,children:g?"Saving…":"Save name"})]})]})}e.s(["AgentActions",0,function({id:e,name:s,clientName:r,keyRevoked:c}){let p=(0,a.useRouter)(),[f,g]=(0,n.useState)(!1),[h,m]=(0,n.useState)(!1);return(0,l.useHoldRefresh)(f),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.RowMenu,{label:`Actions for ${s}`,items:[...c?[]:[{label:"Rename",onSelect:()=>g(!0)}],{label:"Show logs",onSelect:()=>p.push(`/ai/logs?agent=${encodeURIComponent(e)}`)},"---",{label:"Forget",danger:!0,onSelect:()=>m(!0)}]}),(0,t.jsx)(d.N,{open:f,onOpenChange:g,children:(0,t.jsx)(d.d,{className:"gap-0 p-0 sm:max-w-[520px]",showCloseButton:!1,children:f&&(0,t.jsx)(x,{id:e,current:s,detected:r,onDone:()=>g(!1)})})}),(0,t.jsx)(i.f,{open:h,onOpenChange:m,title:`Forget ${s}?`,body:"Removes it from this list. Its calls stay in the logs for 30 days. It appears again with its next request.",cta:"Forget agent",danger:!0,onConfirm:async()=>{let t=await u(e);return{ok:t.ok,message:(t.ok?t.message:t.error)??""}}})]})}],522371)},58548,e=>{var t=e.i(618566),a=e.i(271645),n=e.i(500443);e.s(["AgentsRefresh",0,function(){let e=(0,t.useRouter)(),[s,i]=(0,a.useTransition)(),r=(0,a.useRef)(!1);return(0,a.useEffect)(()=>{r.current=s},[s]),(0,a.useEffect)(()=>{let t=()=>{if(!r.current){var t;(t={visible:"visible"===document.visibilityState,online:!1!==navigator.onLine,held:(0,n.holdCount)()>0}).visible&&t.online&&!t.held&&i(()=>e.refresh())}},a=setInterval(t,15e3);return document.addEventListener("visibilitychange",t),()=>{clearInterval(a),document.removeEventListener("visibilitychange",t)}},[e]),null}],58548)},46200,e=>{var t=e.i(843476),a=e.i(146874),n=e.i(239692),s=e.i(271645),i=e.i(846696),r=e.i(428325),l=e.i(500443),o=e.i(776639);e.s(["f",0,function({trigger:e,open:d,onOpenChange:c,title:u,body:p,cta:x,danger:f=!1,onConfirm:g}){let[h,m]=(0,s.useState)(!1),v=d??h,[b,j]=(0,s.useTransition)();function y(e){void 0===d&&m(e),c?.(e)}return(0,l.useHoldRefresh)(v),(0,t.jsxs)(o.N,{open:v,onOpenChange:e=>{b||y(e)},children:[void 0!==e&&((0,s.isValidElement)(e)?(0,t.jsx)(o.a,{render:e}):(0,t.jsx)(o.a,{children:e})),(0,t.jsxs)(o.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${f?"text-err":"text-ink-soft"}`,children:f?(0,t.jsx)(a.f,{size:19}):(0,t.jsx)(n.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.F,{className:"text-base",children:u}),(0,t.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:p})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(r.K,{onClick:()=>y(!1),disabled:b,children:"Keep as is"}),(0,t.jsx)(r.K,{variant:f?"danger":"primary",onClick:function(){j(async()=>{try{let e=await g();e.ok?(i.c.success(e.message),y(!1)):i.c.error(e.message)}catch{i.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:b,children:b?"Working…":x})]})]})]})}])},374931,e=>{var t=e.i(843476),a=e.i(531219),n=e.i(357772),s=e.i(271645),i=e.i(54131),r=e.i(428325),l=e.i(541299),o=e.i(691106),d=e.i(975157),c=e.i(322534),u=e.i(495784);e.s(["ListFilter",0,function({placeholder:e,states:p,groups:x,head:f,rows:g,chips:h}){var m,v;let b,[j,y]=(0,s.useState)(""),[k,N]=(0,s.useState)(""),[w,C]=(0,s.useState)(""),[S,z]=(0,s.useState)(""),[R,M]=(0,s.useState)(1),A=(0,i.useMask)(),$=(m=g.map(e=>({...e,text:`${e.text} ${A("text",e.text)}`})),b=(v={text:j,state:k,group:S,tag:w}).text.trim().toLowerCase(),m.filter(e=>(!v.state||e.state===v.state)&&(!v.group||e.group===v.group)&&(!v.tag||(e.tags??[]).includes(v.tag))&&(!b||e.text.toLowerCase().includes(b)))),O=(0,u.$)($,R),F=O.rows;O.page!==R&&M(O.page);let _=p?.find(([e])=>e===k)?.[1];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-[18px] pb-3 pt-3.5 max-[720px]:px-3.5",children:[(0,t.jsx)("input",{className:(0,d.f)(r.S,"w-[240px] max-[720px]:w-full"),placeholder:e,"aria-label":e,value:j,onChange:e=>{y(e.target.value),M(1)}}),p&&(0,t.jsxs)("select",{className:(0,d.f)(r.S,"w-auto"),"aria-label":"State",value:k,onChange:e=>{N(e.target.value),M(1)},children:[(0,t.jsx)("option",{value:"",children:"All states"}),p.map(([e,a])=>(0,t.jsx)("option",{value:e,children:a},e))]}),x&&x.length>1&&(0,t.jsxs)("select",{className:(0,d.f)(r.S,"w-auto"),"aria-label":"Account",value:S,onChange:e=>{z(e.target.value),M(1)},children:[(0,t.jsx)("option",{value:"",children:"All accounts"}),x.map(e=>(0,t.jsx)("option",{value:e,children:A("account",e)},e))]}),h?.map(([e,a])=>(0,t.jsx)("button",{type:"button","aria-pressed":w===e,onClick:()=>{C(w===e?"":e),M(1)},className:(0,d.f)("rounded-[5px] border px-2 py-0.5 text-[12.5px]",w===e?"border-brand bg-brand-soft text-brand":"border-line text-ink-soft hover:bg-hover"),children:a},e)),_&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] bg-brand-soft py-px pl-2 pr-1 text-[12.5px] text-brand",children:["State: ",_,(0,t.jsx)("button",{type:"button","aria-label":"Remove filter",className:"px-0.5",onClick:()=>{N(""),M(1)},children:(0,t.jsx)(n.f,{size:13})})]}),S&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] bg-brand-soft py-px pl-2 pr-1 text-[12.5px] text-brand",children:["Account: ",(0,t.jsx)(i.Masked,{kind:"account",real:S}),(0,t.jsx)("button",{type:"button","aria-label":"Remove account filter",className:"px-0.5",onClick:()=>{z(""),M(1)},children:(0,t.jsx)(n.f,{size:13})})]}),(0,t.jsx)("span",{role:"status",className:"ml-auto text-[12.5px] text-ink-soft",children:(0,c.O)($.length)})]}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:o.o,children:[(0,t.jsx)(o.U,{head:f}),(0,t.jsx)("tbody",{children:F.map(e=>(0,t.jsx)(s.Fragment,{children:e.row},e.key))})]})}),0===$.length&&g.length>0&&(0,t.jsxs)(r.k,{icon:a.f,title:"No results",children:["Nothing matches these filters."," ",(0,t.jsx)("button",{type:"button",className:"text-brand hover:underline",onClick:()=>{y(""),N(""),z(""),C(""),M(1)},children:"Clear filters"})]}),(0,t.jsx)(l.f,{page:O.page,pages:O.pages,text:(0,u.z)(O),onPage:M})]})}],374931)},541299,495784,e=>{var t=e.i(843476),a=e.i(271645),n=e.i(428325),s=e.i(975157);function i(e,t,a=25){let n=e.length,s=Math.max(1,Math.ceil(n/a)),r=Math.min(Math.max(Number.isFinite(t)?Math.floor(t):1,1),s),l=(r-1)*a,o=e.slice(l,l+a);return{rows:o,page:r,pages:s,from:0===n?0:l+1,to:l+o.length,total:n}}e.s(["f",0,function({page:e,pages:i,text:r,onPage:l,bleed:o=!1}){let d=(0,a.useRef)(null),c=(0,a.useRef)(null);if((0,a.useEffect)(()=>{null!==c.current&&(d.current?.querySelectorAll("button")[c.current]?.focus(),c.current=null)},[e]),i<=1)return null;let u=(e,t)=>{(e<=1||e>=i)&&(c.current=t),l(e)};return(0,t.jsxs)("div",{className:(0,s.f)("flex items-center gap-2 border-t border-line px-[18px] py-2.5 text-[12.5px] text-ink-soft",o?"-mx-[18px] -mb-4 mt-2":"max-[720px]:px-3.5"),children:[(0,t.jsx)("span",{role:"status",children:r}),(0,t.jsxs)("span",{ref:d,className:"ml-auto flex gap-1.5",children:[(0,t.jsx)(n.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Previous page",disabled:e<=1,onClick:()=>u(e-1,1),children:"‹ Previous"}),(0,t.jsx)(n.K,{size:"sm",className:"disabled:hover:bg-surface","aria-label":"Next page",disabled:e>=i,onClick:()=>u(e+1,0),children:"Next ›"})]})]})}],541299),e.s(["k",0,function(e,t,a,n){return n<=1?null:t>0&&null!==a?a:e[0]?.id??null},"$",0,i,"f",0,function(e,t,a,n=25){let s=null===a?0:Math.max(0,e.findIndex(e=>e.id===a)),r=i(e.slice(s),t,n);return 0===s||r.page>1?{...r,shift:s}:{...i(e,1,n),shift:0}},"z",0,function(e,t=0,a=e.total){return`${e.from+t}–${e.to+t} of ${a}`}],495784)},177106,e=>{var t=e.i(843476),a=e.i(33550);let n=(0,a.f)("outline","chevron-down","ChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),s=(0,a.f)("outline","dots-vertical","DotsVertical",[["path",{d:"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M11 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M11 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]);var i=e.i(271645),r=e.i(428325),l=e.i(500443),o=e.i(755146);e.s(["RowMenu",0,function({items:e,button:a=!1,label:d="Actions"}){let[c,u]=(0,i.useState)(!1);return(0,l.useHoldRefresh)(c),(0,t.jsxs)(o.G,{open:c,onOpenChange:u,children:[a?(0,t.jsxs)(o.X,{className:(0,r.R)(),children:[d," ",(0,t.jsx)(n,{size:16,"aria-hidden":!0})]}):(0,t.jsx)(o.X,{"aria-label":d,className:"rounded-[5px] px-1.5 py-1 text-ink-faint hover:bg-sunken hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:(0,t.jsx)(s,{size:17})}),(0,t.jsx)(o.L,{align:"end",className:"min-w-[200px] rounded-[8px] border border-line-strong bg-surface p-1 shadow-[0_8px_24px_rgba(0,0,0,.14)] ring-0",children:e.map((e,a)=>"---"===e?(0,t.jsx)(o.U,{},`sep-${a}`):(0,t.jsxs)(o.r,{disabled:void 0!==e.disabled,variant:e.danger?"destructive":"default",className:"rounded-[5px] px-2.5 py-[7px]",onClick:()=>{e.href?window.open(e.href,"_blank","noopener,noreferrer"):e.onSelect?.()},children:[e.label,void 0!==e.disabled&&(0,t.jsx)("span",{className:"ml-auto pl-3 text-[11px] text-ink-faint",children:e.disabled})]},e.label))})]})}],177106)},776639,998218,152744,e=>{var t=e.i(843476),a=e.i(526323),n=e.i(828376);e.s(["f",0,n],998218);var n=n,s=e.i(209977),i=e.i(921637),r=e.i(141708),l=e.i(593480),o=e.i(309169),d=n;e.s(["f",0,d],152744);var d=n,c=e.i(975157),u=e.i(271645),p=e.i(540886),x=e.i(552245);let f=u.forwardRef(function(e,t){let{render:a,className:n,disabled:s=!1,focusableWhenDisabled:i=!1,nativeButton:r=!0,style:l,...o}=e,{getButtonProps:d,buttonRef:c}=(0,p.f)({disabled:s,focusableWhenDisabled:i,native:r});return(0,x.a)("button",e,{state:{disabled:s},ref:[t,c],props:[o,d]})}),g=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function h({className:e,variant:a="default",size:n="default",...s}){return(0,t.jsx)(f,{"data-slot":"button",className:(0,c.f)(g({variant:a,size:n,className:e})),...s})}var m=e.i(456420);let v={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};v.node;let b=(0,m.f)(v);function j({...e}){return(0,t.jsx)(s.f.Portal,{"data-slot":"dialog-portal",...e})}function y({className:e,...a}){return(0,t.jsx)(r.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}e.s(["N",0,function({...e}){return(0,t.jsx)(a.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:a,showCloseButton:n=!0,...s}){return(0,t.jsxs)(j,{children:[(0,t.jsx)(y,{}),(0,t.jsxs)(l.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...s,children:[a,n&&(0,t.jsxs)(i.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(h,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(b,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...a}){return(0,t.jsx)(d.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...a})},"F",0,function({className:e,...a}){return(0,t.jsx)(o.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...a})},"a",0,function({...e}){return(0,t.jsx)(n.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)},322534,e=>{e.i(684496),e.s(["O",0,e=>`${e} item${1===e?"":"s"}`,"J",0,function(e,t){let a=Math.max(0,t.getTime()-e.getTime());return a<6e4?"now":a<36e5?`${Math.floor(a/6e4)} min ago`:a<864e5?`${Math.floor(a/36e5)} h ago`:`${Math.floor(a/864e5)} d ago`}])}])})();
@@ -0,0 +1 @@
1
+ (()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,746154,e=>{var t=e.i(843476),i=e.i(271645),n=e.i(16340),s=e.i(516171),a=e.i(171197);let r=0,o=0;e.s(["default",0,function({error:e,retry:l}){return(0,i.useEffect)(()=>{let e=Date.now();e-o>12e4&&(r=0);let t=setInterval(()=>(function(e,t){if("visible"!==document.visibilityState||!1===navigator.onLine)return;let i=Date.now();i-Math.max(e,o)<(0,a.$)(r)||(r+=1,o=i,t())})(e,l),1e3);return()=>clearInterval(t)},[l]),(0,t.jsx)(n.f,{digest:e.digest,retry:l,note:"Retrying…",notice:(0,s.f)(e.digest)??void 0})}])},16340,e=>{var t=e.i(843476),i=e.i(146874),n=e.i(48384),s=e.i(428325);e.s(["f",0,function({digest:e,retry:a,withSignOut:r=!1,note:o,notice:l}){return(0,t.jsx)(s.N,{children:(0,t.jsxs)(s.k,{icon:i.f,title:l?"Try again soon":"This page didn't load",action:(0,t.jsxs)("div",{className:"flex flex-wrap justify-center gap-2",children:[(0,t.jsx)(s.K,{variant:"primary",onClick:()=>a(),children:"Try again"}),r&&(0,t.jsx)("form",{action:n.f,children:(0,t.jsx)(s.K,{type:"submit",children:"Sign out"})})]}),children:[l??"Watchbell couldn't read its database, or a setting is missing. It keeps retrying on its own; the server log has the details (reference below).",o&&(0,t.jsx)("p",{className:"mt-2 text-xs text-ink-soft",role:"status",children:o}),e&&!l&&(0,t.jsxs)("p",{className:"mt-2 font-mono text-xs text-ink-faint",children:["Reference ",e]})]})})}])},516171,e=>{let t=new Map([["watchbell-demo-busy","The demo is busy right now. Try again in a minute."],["watchbell-demo-too-many","Too many new demo sessions from your network. Try again in a few minutes."]]);new Map([...t].map(([e,t])=>[t,e])),e.s(["f",0,function(e){return"string"==typeof e?t.get(e)??null:null}])}])})();
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,39205,e=>{"use strict";var t=e.i(843476);let r=(0,e.i(33550).f)("outline","download","Download",[["path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2",key:"svg-0"}],["path",{d:"M7 11l5 5l5 -5",key:"svg-1"}],["path",{d:"M12 4l0 12",key:"svg-2"}]]);var o=e.i(271645),a=e.i(846696),c=e.i(428325),i=e.i(95187);let n=(0,i.createServerReference)("401811e23bf9221ba74b844d62b8cbdd342df95647",i.callServer,void 0,i.findSourceMapURL,"exportLogsCsv");e.s(["ExportButton",0,function({params:e}){let[i,s]=(0,o.useTransition)();return(0,t.jsxs)(c.K,{onClick:()=>s(async()=>{try{let t=await n(e);if(!t.ok||!t.data)return void a.c.error(t.ok?"Nothing to export.":t.error);let r=URL.createObjectURL(new Blob(["\uFEFF",t.data.csv],{type:"text/csv;charset=utf-8"})),o=document.createElement("a");o.href=r,o.download=`watchbell-ai-logs-${new Date().toISOString().slice(0,10)}.csv`,document.body.append(o),o.click(),o.remove(),URL.revokeObjectURL(r),a.c.success(t.message??"Exported.")}catch{a.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),disabled:i,children:[(0,t.jsx)(r,{size:16,"aria-hidden":!0}),i?"Exporting...":"Export CSV"]})}],39205)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,39205,e=>{"use strict";var t=e.i(843476);let r=(0,e.i(33550).f)("outline","download","Download",[["path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2",key:"svg-0"}],["path",{d:"M7 11l5 5l5 -5",key:"svg-1"}],["path",{d:"M12 4l0 12",key:"svg-2"}]]);var o=e.i(271645),a=e.i(846696),c=e.i(428325),i=e.i(95187);let n=(0,i.createServerReference)("402462f158221271df42309f948cb966ee33798bc5",i.callServer,void 0,i.findSourceMapURL,"exportLogsCsv");e.s(["ExportButton",0,function({params:e}){let[i,s]=(0,o.useTransition)();return(0,t.jsxs)(c.K,{onClick:()=>s(async()=>{try{let t=await n(e);if(!t.ok||!t.data)return void a.c.error(t.ok?"Nothing to export.":t.error);let r=URL.createObjectURL(new Blob(["\uFEFF",t.data.csv],{type:"text/csv;charset=utf-8"})),o=document.createElement("a");o.href=r,o.download=`watchbell-ai-logs-${new Date().toISOString().slice(0,10)}.csv`,document.body.append(o),o.click(),o.remove(),URL.revokeObjectURL(r),a.c.success(t.message??"Exported.")}catch{a.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),disabled:i,children:[(0,t.jsx)(r,{size:16,"aria-hidden":!0}),i?"Exporting...":"Export CSV"]})}],39205)}]);