watchbell 1.2.2 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (921) hide show
  1. package/bin/watchbell.mjs +5 -2
  2. package/package.json +1 -1
  3. package/server/.next/BUILD_ID +1 -1
  4. package/server/.next/build-manifest.json +105 -105
  5. package/server/.next/prerender-manifest.json +4 -4
  6. package/server/.next/server/app/(console)/(private)/ai/agents/page/build-manifest.json +3 -3
  7. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +32 -22
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +73 -72
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  11. package/server/.next/server/app/(console)/(private)/ai/ask/page/build-manifest.json +3 -3
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +30 -20
  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/build-manifest.json +3 -3
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +28 -18
  18. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +72 -71
  19. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  21. package/server/.next/server/app/(console)/(private)/ai/keys/page/build-manifest.json +3 -3
  22. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +34 -24
  23. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +72 -71
  24. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  25. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  26. package/server/.next/server/app/(console)/(private)/ai/logs/page/build-manifest.json +3 -3
  27. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +30 -20
  28. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +72 -71
  29. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  30. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  31. package/server/.next/server/app/(console)/(private)/ai/models/page/build-manifest.json +3 -3
  32. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +48 -38
  33. package/server/.next/server/app/(console)/(private)/ai/models/page.js +72 -71
  34. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  35. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/page/build-manifest.json +3 -3
  37. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +28 -18
  38. package/server/.next/server/app/(console)/(private)/ai/page.js +72 -71
  39. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  41. package/server/.next/server/app/(console)/(private)/ai/playground/page/build-manifest.json +3 -3
  42. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +34 -24
  43. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +72 -71
  44. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  45. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  46. package/server/.next/server/app/(console)/(private)/ai/providers/page/build-manifest.json +3 -3
  47. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +40 -30
  48. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +73 -72
  49. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  50. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  51. package/server/.next/server/app/(console)/(private)/ai/quota/page/build-manifest.json +3 -3
  52. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +30 -20
  53. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +74 -73
  54. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  55. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  56. package/server/.next/server/app/(console)/(private)/ai/usage/page/build-manifest.json +3 -3
  57. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +30 -20
  58. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +76 -74
  59. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  60. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  61. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/build-manifest.json +3 -3
  62. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +28 -18
  63. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +72 -71
  64. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  65. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  66. package/server/.next/server/app/(console)/(private)/auto-actions/page/build-manifest.json +3 -3
  67. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +30 -20
  68. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +72 -71
  69. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  70. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  71. package/server/.next/server/app/(console)/alerts/page/build-manifest.json +3 -3
  72. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +74 -44
  73. package/server/.next/server/app/(console)/alerts/page.js +75 -73
  74. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  75. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  76. package/server/.next/server/app/(console)/apps/[id]/page/build-manifest.json +3 -3
  77. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +62 -52
  78. package/server/.next/server/app/(console)/apps/[id]/page.js +78 -77
  79. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  80. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  81. package/server/.next/server/app/(console)/apps/page/build-manifest.json +3 -3
  82. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +34 -24
  83. package/server/.next/server/app/(console)/apps/page.js +74 -73
  84. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  85. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  86. package/server/.next/server/app/(console)/backups/page/build-manifest.json +3 -3
  87. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +34 -24
  88. package/server/.next/server/app/(console)/backups/page.js +75 -74
  89. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  90. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  91. package/server/.next/server/app/(console)/catalog/page/build-manifest.json +3 -3
  92. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +28 -18
  93. package/server/.next/server/app/(console)/catalog/page.js +73 -72
  94. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  95. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  96. package/server/.next/server/app/(console)/connections/page/build-manifest.json +3 -3
  97. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +50 -40
  98. package/server/.next/server/app/(console)/connections/page.js +76 -75
  99. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  100. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  101. package/server/.next/server/app/(console)/d1/page/build-manifest.json +3 -3
  102. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +28 -18
  103. package/server/.next/server/app/(console)/d1/page.js +74 -73
  104. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  105. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  106. package/server/.next/server/app/(console)/deployments/page/build-manifest.json +3 -3
  107. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +40 -30
  108. package/server/.next/server/app/(console)/deployments/page.js +74 -73
  109. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  110. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  111. package/server/.next/server/app/(console)/dns/page/build-manifest.json +3 -3
  112. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +42 -32
  113. package/server/.next/server/app/(console)/dns/page.js +77 -76
  114. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  115. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  116. package/server/.next/server/app/(console)/domains/page/build-manifest.json +3 -3
  117. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +32 -22
  118. package/server/.next/server/app/(console)/domains/page.js +76 -75
  119. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  120. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  121. package/server/.next/server/app/(console)/events/page/build-manifest.json +3 -3
  122. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +28 -18
  123. package/server/.next/server/app/(console)/events/page.js +73 -72
  124. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  125. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  126. package/server/.next/server/app/(console)/firebase/page/build-manifest.json +3 -3
  127. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +42 -32
  128. package/server/.next/server/app/(console)/firebase/page.js +75 -74
  129. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  130. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  131. package/server/.next/server/app/(console)/logs/page/build-manifest.json +3 -3
  132. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +30 -20
  133. package/server/.next/server/app/(console)/logs/page.js +72 -71
  134. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  135. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  136. package/server/.next/server/app/(console)/manage/sections/page/build-manifest.json +3 -3
  137. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +30 -20
  138. package/server/.next/server/app/(console)/manage/sections/page.js +72 -71
  139. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  140. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  141. package/server/.next/server/app/(console)/neon/page/build-manifest.json +3 -3
  142. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +50 -40
  143. package/server/.next/server/app/(console)/neon/page.js +77 -76
  144. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  145. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  146. package/server/.next/server/app/(console)/overview/page/build-manifest.json +3 -3
  147. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +44 -34
  148. package/server/.next/server/app/(console)/overview/page.js +81 -80
  149. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  150. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  151. package/server/.next/server/app/(console)/repos/[id]/page/build-manifest.json +3 -3
  152. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +30 -20
  153. package/server/.next/server/app/(console)/repos/[id]/page.js +75 -74
  154. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  155. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  156. package/server/.next/server/app/(console)/repos/page/build-manifest.json +3 -3
  157. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +28 -18
  158. package/server/.next/server/app/(console)/repos/page.js +72 -71
  159. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  160. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  161. package/server/.next/server/app/(console)/settings/page/build-manifest.json +3 -3
  162. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +48 -38
  163. package/server/.next/server/app/(console)/settings/page.js +73 -72
  164. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  165. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  166. package/server/.next/server/app/(console)/sql/page/build-manifest.json +3 -3
  167. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +42 -32
  168. package/server/.next/server/app/(console)/sql/page.js +72 -71
  169. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  170. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  171. package/server/.next/server/app/(console)/status/page/build-manifest.json +3 -3
  172. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +28 -18
  173. package/server/.next/server/app/(console)/status/page.js +75 -73
  174. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  175. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  176. package/server/.next/server/app/(console)/supabase/page/build-manifest.json +3 -3
  177. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +66 -56
  178. package/server/.next/server/app/(console)/supabase/page.js +82 -82
  179. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  180. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  181. package/server/.next/server/app/(console)/topology/page/build-manifest.json +3 -3
  182. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +28 -18
  183. package/server/.next/server/app/(console)/topology/page.js +74 -73
  184. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  185. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  186. package/server/.next/server/app/(console)/turso/page/build-manifest.json +3 -3
  187. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +28 -18
  188. package/server/.next/server/app/(console)/turso/page.js +73 -72
  189. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  190. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  191. package/server/.next/server/app/(console)/upstash/page/build-manifest.json +3 -3
  192. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +28 -18
  193. package/server/.next/server/app/(console)/upstash/page.js +73 -72
  194. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  195. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  196. package/server/.next/server/app/(console)/uptime/page/build-manifest.json +3 -3
  197. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +56 -46
  198. package/server/.next/server/app/(console)/uptime/page.js +75 -74
  199. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  200. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  201. package/server/.next/server/app/(console)/welcome/page/build-manifest.json +3 -3
  202. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +38 -28
  203. package/server/.next/server/app/(console)/welcome/page.js +72 -71
  204. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  205. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  206. package/server/.next/server/app/_global-error/page/build-manifest.json +3 -3
  207. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  208. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  209. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  210. package/server/.next/server/app/_global-error.html +1 -1
  211. package/server/.next/server/app/_global-error.rsc +3 -3
  212. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  213. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  214. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  215. package/server/.next/server/app/_not-found/page/build-manifest.json +3 -3
  216. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  217. package/server/.next/server/app/_not-found/page.js +14 -11
  218. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  219. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  220. package/server/.next/server/app/_not-found.html +1 -1
  221. package/server/.next/server/app/_not-found.rsc +28 -23
  222. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +28 -23
  223. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +26 -23
  224. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  225. package/server/.next/server/app/account/password/page/build-manifest.json +3 -3
  226. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  227. package/server/.next/server/app/account/password/page.js +17 -18
  228. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  229. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  230. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  231. package/server/.next/server/app/api/collect/route.js +1 -1
  232. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  233. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  234. package/server/.next/server/app/api/daily/route.js +1 -1
  235. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  236. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  237. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  238. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
  239. package/server/.next/server/app/api/telegram/webhook/route.js +1 -1
  240. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  241. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  242. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  243. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  244. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  245. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  246. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  247. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  248. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  249. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  250. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  251. package/server/.next/server/app/api/watchdog/route.js +13 -13
  252. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  253. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  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.nft.json +1 -1
  256. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  257. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  258. package/server/.next/server/app/invite/page/build-manifest.json +3 -3
  259. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  260. package/server/.next/server/app/invite/page.js +22 -22
  261. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  262. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  263. package/server/.next/server/app/mfa/page/build-manifest.json +3 -3
  264. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  265. package/server/.next/server/app/mfa/page.js +31 -32
  266. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  267. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  268. package/server/.next/server/app/mfa/setup/page/build-manifest.json +3 -3
  269. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  270. package/server/.next/server/app/mfa/setup/page.js +31 -32
  271. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  272. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  273. package/server/.next/server/app/page/build-manifest.json +3 -3
  274. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  275. package/server/.next/server/app/page.js +14 -11
  276. package/server/.next/server/app/page.js.nft.json +1 -1
  277. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  278. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  279. package/server/.next/server/app/s/[slug]/page/build-manifest.json +3 -3
  280. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  281. package/server/.next/server/app/s/[slug]/page.js +21 -20
  282. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  283. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  284. package/server/.next/server/app/setup/page/build-manifest.json +3 -3
  285. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  286. package/server/.next/server/app/setup/page.js +20 -18
  287. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  288. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  289. package/server/.next/server/app/signin/page/build-manifest.json +3 -3
  290. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  291. package/server/.next/server/app/signin/page.js +28 -28
  292. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  293. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  294. package/server/.next/server/chunks/{[root-of-the-server]__1xxmlb3soqzom._.js → [root-of-the-server]__02n6y6aa6qp1b._.js} +2 -2
  295. package/server/.next/server/chunks/{[root-of-the-server]__1w7dv8zm-k_oa._.js → [root-of-the-server]__09odxyho_9vk_._.js} +2 -2
  296. package/server/.next/server/chunks/{[root-of-the-server]__0_nljmqhjcept._.js → [root-of-the-server]__0bmyll20mg_gf._.js} +1 -1
  297. package/server/.next/server/chunks/{[root-of-the-server]__14ou3bydfm0ms._.js → [root-of-the-server]__0btybbrsr4abf._.js} +1 -1
  298. package/server/.next/server/chunks/{[root-of-the-server]__0awtaloe4_8am._.js → [root-of-the-server]__0c-33noc8yn1-._.js} +1 -1
  299. package/server/.next/server/chunks/{[root-of-the-server]__15dhjj384tuw_._.js → [root-of-the-server]__0d99wclm2suox._.js} +2 -2
  300. package/server/.next/server/chunks/{[root-of-the-server]__10wbld2tja51-._.js → [root-of-the-server]__0gox66sv0bx47._.js} +2 -2
  301. package/server/.next/server/chunks/{[root-of-the-server]__0u3un538__ca5._.js → [root-of-the-server]__0ku7nva3gxa9p._.js} +2 -2
  302. package/server/.next/server/chunks/{[root-of-the-server]__1mim39ea6-dm1._.js → [root-of-the-server]__0nqbue6i0l3qs._.js} +2 -2
  303. package/server/.next/server/chunks/[root-of-the-server]__0s5b-tdq7rndj._.js +3 -0
  304. package/server/.next/server/chunks/{[root-of-the-server]__0zmvf4j8e2gno._.js → [root-of-the-server]__0wp6j3irilu76._.js} +1 -1
  305. package/server/.next/server/chunks/{[root-of-the-server]__1dh4di29mjq9y._.js → [root-of-the-server]__16lfk1wg0ejaa._.js} +2 -2
  306. package/server/.next/server/chunks/{[root-of-the-server]__0q-x05ekhpohj._.js → [root-of-the-server]__1c653f_8qzrpd._.js} +1 -1
  307. package/server/.next/server/chunks/{[root-of-the-server]__1v4i7ytwadml8._.js → [root-of-the-server]__1hv3hk5182t-o._.js} +1 -1
  308. package/server/.next/server/chunks/{[root-of-the-server]__1p0zd1rtbkj9r._.js → [root-of-the-server]__1j6xniw630fg0._.js} +1 -1
  309. package/server/.next/server/chunks/{[root-of-the-server]__1zg653esm3__p._.js → [root-of-the-server]__1nu5isiy7d832._.js} +2 -2
  310. package/server/.next/server/chunks/{[root-of-the-server]__0lu91s5izfu0p._.js → [root-of-the-server]__1s4bwjevs4hd-._.js} +2 -2
  311. package/server/.next/server/chunks/{[root-of-the-server]__0s8vjz6urzn76._.js → [root-of-the-server]__1uox9a0td-o0-._.js} +1 -1
  312. package/server/.next/server/chunks/{[root-of-the-server]__1dbz126yujh44._.js → [root-of-the-server]__1wpdlr4uh1un4._.js} +2 -2
  313. package/server/.next/server/chunks/{[root-of-the-server]__1brl5otpkvgd3._.js → [root-of-the-server]__1y2qf8ltxhk0o._.js} +2 -2
  314. package/server/.next/server/chunks/{[root-of-the-server]__0ihedjvt-l2-u._.js → [root-of-the-server]__1z_0gt-w6bx9v._.js} +2 -2
  315. package/server/.next/server/chunks/_0-fp57b-utmuw._.js +1 -1
  316. package/server/.next/server/chunks/_004j-wbs3yn84._.js +1 -1
  317. package/server/.next/server/chunks/_03qlijpos6a21._.js +1 -1
  318. package/server/.next/server/chunks/_06lf75x-xhl7v._.js +1 -1
  319. package/server/.next/server/chunks/_0brb2454uen18._.js +1 -1
  320. package/server/.next/server/chunks/_0dkhprw6wsizx._.js +1 -1
  321. package/server/.next/server/chunks/_0duxuj4kmjibl._.js +13 -8
  322. package/server/.next/server/chunks/{_0if5sw58tii_3._.js → _0q9a3ettj_h2s._.js} +2 -2
  323. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +1 -1
  324. package/server/.next/server/chunks/_0ry4553j-m5fp._.js +2 -2
  325. package/server/.next/server/chunks/_0s2odl9xacsg0._.js +1 -1
  326. package/server/.next/server/chunks/_0sy878k2ywjbq._.js +1 -1
  327. package/server/.next/server/chunks/_0xf7mtsrkgc9e._.js +2 -2
  328. package/server/.next/server/chunks/_0zj10_al6r59j._.js +1 -1
  329. package/server/.next/server/chunks/_1-pw7jw52sbti._.js +1 -1
  330. package/server/.next/server/chunks/_113ebzq_9i756._.js +13 -8
  331. package/server/.next/server/chunks/_16urxazbgm48y._.js +2 -2
  332. package/server/.next/server/chunks/_17aiz6zt-yv52._.js +2 -2
  333. package/server/.next/server/chunks/_18p-vw2zmdx9f._.js +1 -1
  334. package/server/.next/server/chunks/_1_son1yzo5xvl._.js +1 -1
  335. package/server/.next/server/chunks/_1_xsrlijknnh3._.js +1 -1
  336. package/server/.next/server/chunks/_1e_rbkrukj0x9._.js +1 -1
  337. package/server/.next/server/chunks/_1g8r-7wcf8sy3._.js +2 -2
  338. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +1 -1
  339. package/server/.next/server/chunks/_1h73gul79s8pi._.js +1 -1
  340. package/server/.next/server/chunks/_1ihndlef8r00f._.js +13 -8
  341. package/server/.next/server/chunks/_1mwb214-ablfo._.js +13 -8
  342. package/server/.next/server/chunks/node_modules_drizzle-orm_entity_1-0q2stnw2ab8.js +1 -1
  343. package/server/.next/server/chunks/{src_09cgjvch02173._.js → src_00ixvrjrk_2h4._.js} +2 -2
  344. package/server/.next/server/chunks/src_088gmyaew7ds0._.js +1 -1
  345. package/server/.next/server/chunks/{src_0c7qu5adpm3gv._.js → src_0tdn7mun5rvc6._.js} +2 -2
  346. package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +1 -1
  347. package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +1 -1
  348. package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +1 -1
  349. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +1 -1
  350. package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +1 -1
  351. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +1 -1
  352. package/server/.next/server/chunks/src_lib_0ayxuk4ftzf2f._.js +1 -1
  353. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  354. package/server/.next/server/chunks/src_lib_0krdzz8eu9xh3._.js +1 -1
  355. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +16 -11
  356. package/server/.next/server/chunks/src_lib_1-u7dbsavbtb0._.js +1 -1
  357. package/server/.next/server/chunks/src_lib_103kimc1xvc_0._.js +3 -3
  358. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +16 -11
  359. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +16 -11
  360. package/server/.next/server/chunks/src_lib_1sdusf16f07x-._.js +3 -3
  361. package/server/.next/server/chunks/src_lib_206j7lyff31-g._.js +1 -1
  362. package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  363. package/server/.next/server/chunks/src_lib_auth_ts_11yt3pae6wy-o._.js +1 -1
  364. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +4 -4
  365. package/server/.next/server/chunks/src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js +1 -1
  366. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +6 -6
  367. package/server/.next/server/chunks/src_lib_local-auth_setup_ts_10d8-k_e6pvft._.js +2 -2
  368. package/server/.next/server/chunks/src_lib_view_databases_ts_1ovdbo8spjhf9._.js +1 -1
  369. package/server/.next/server/chunks/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  370. package/server/.next/server/chunks/src_private_assist_questions-db_ts_1l-wvmlexd7tr._.js +1 -1
  371. package/server/.next/server/chunks/src_private_assist_questions-db_ts_1pc4g504t-qmu._.js +1 -1
  372. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  373. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +3 -0
  374. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +3 -0
  375. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +4 -0
  376. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +3 -0
  377. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +3 -0
  378. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +3 -0
  379. package/server/.next/server/chunks/ssr/{[externals]__0et8619os7o06._.js → [externals]__00tbi838eotwu._.js} +1 -1
  380. package/server/.next/server/chunks/ssr/{[externals]__0jv_q8g96gubg._.js → [externals]__01kgu896o9-9t._.js} +1 -1
  381. package/server/.next/server/chunks/ssr/{[externals]__1neu6qld_ilyx._.js → [externals]__078uqm46tk5mo._.js} +1 -1
  382. package/server/.next/server/chunks/ssr/{[externals]__1d_fn156y1kzg._.js → [externals]__0i0hmh-a743jn._.js} +1 -1
  383. package/server/.next/server/chunks/ssr/{[externals]__0yzs5m5hot2o2._.js → [externals]__0qc7l-41h018j._.js} +1 -1
  384. package/server/.next/server/chunks/ssr/[externals]__194b54tqm6qaq._.js +3 -0
  385. package/server/.next/server/chunks/ssr/[externals]__1_ttbfsdm3x1-._.js +3 -0
  386. package/server/.next/server/chunks/ssr/{[externals]__0x50_fipcza3k._.js → [externals]__1devsqn7ez77y._.js} +1 -1
  387. package/server/.next/server/chunks/ssr/[externals]__1prfp5pzeoflz._.js +3 -0
  388. package/server/.next/server/chunks/ssr/[externals]__1zxtjc2qr2epg._.js +3 -0
  389. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0p7d9dfmuhnvv._.js → [root-of-the-server]__004q78ed0nf0_._.js} +2 -2
  390. package/server/.next/server/chunks/ssr/[root-of-the-server]__01zthkv8nrlct._.js +3 -0
  391. package/server/.next/server/chunks/ssr/{[root-of-the-server]__00wwav5k7xmy0._.js → [root-of-the-server]__04_prmhm_cts4._.js} +2 -2
  392. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0-jx3t8dg8n5t._.js → [root-of-the-server]__04nc91kiy757l._.js} +2 -2
  393. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1xwqrik2sugmi._.js → [root-of-the-server]__09blzlbsxqvy9._.js} +2 -2
  394. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0-o5i-5pqjk5v._.js → [root-of-the-server]__0_6on4a5w76va._.js} +1 -1
  395. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1tco2ec6ha1k6._.js → [root-of-the-server]__0a3n6wzq8xui9._.js} +2 -2
  396. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ptdec0sozaqm._.js → [root-of-the-server]__0an0wsglj2bhh._.js} +2 -2
  397. package/server/.next/server/chunks/ssr/{[root-of-the-server]__18xb7pbdmiyiz._.js → [root-of-the-server]__0ban7lwqlko9y._.js} +2 -2
  398. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0khp_gsot3jh_._.js → [root-of-the-server]__0c_q6tvcmsmt9._.js} +2 -2
  399. package/server/.next/server/chunks/ssr/{[root-of-the-server]__050d99bknjdvq._.js → [root-of-the-server]__0ct4apye0sfmc._.js} +2 -2
  400. package/server/.next/server/chunks/ssr/{[root-of-the-server]__15keslh0ov5mv._.js → [root-of-the-server]__0d2ry7-u1cv8c._.js} +2 -2
  401. package/server/.next/server/chunks/ssr/[root-of-the-server]__0e8ya6wyy2plv._.js +3 -0
  402. package/server/.next/server/chunks/ssr/[root-of-the-server]__0h0txd7z3sxq7._.js +3 -0
  403. package/server/.next/server/chunks/ssr/{[root-of-the-server]__08w3ad-xux1g4._.js → [root-of-the-server]__0h1vffivfh242._.js} +1 -1
  404. package/server/.next/server/chunks/ssr/{[root-of-the-server]__05hw89gap74cw._.js → [root-of-the-server]__0i0_6dnnf0hov._.js} +2 -2
  405. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0khvq0xdah931._.js → [root-of-the-server]__0jgapr1cnvhi6._.js} +2 -2
  406. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0_1130gx52k-9._.js → [root-of-the-server]__0jn0o2e32mwcp._.js} +2 -2
  407. package/server/.next/server/chunks/ssr/{[root-of-the-server]__11ham42w_feik._.js → [root-of-the-server]__0k29b_kblv6sv._.js} +1 -1
  408. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0bn_thc_vtf_i._.js → [root-of-the-server]__0keo0-hwsnkw9._.js} +2 -2
  409. package/server/.next/server/chunks/ssr/[root-of-the-server]__0klc2dyzyjeba._.js +3 -0
  410. package/server/.next/server/chunks/ssr/{[root-of-the-server]__16jkttbe1yoai._.js → [root-of-the-server]__0l50vsk8enxzj._.js} +2 -2
  411. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nlfip3wc3l2z._.js +2 -2
  412. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0y84mqfn13ss4._.js → [root-of-the-server]__0o0cpvobd-u0n._.js} +1 -1
  413. package/server/.next/server/chunks/ssr/{[root-of-the-server]__10rhqv5xq9jaj._.js → [root-of-the-server]__0paolyy3xkow9._.js} +2 -2
  414. package/server/.next/server/chunks/ssr/[root-of-the-server]__0qnly-gjvfntd._.js +3 -0
  415. package/server/.next/server/chunks/ssr/[root-of-the-server]__0qqcz9ynsgmgl._.js +3 -0
  416. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1k_hi9mbd4_by._.js → [root-of-the-server]__0qwds8dkahd2_._.js} +1 -1
  417. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ejxk0jlgi4eb._.js → [root-of-the-server]__0rdf04ziqasfz._.js} +2 -2
  418. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0_677ii9bahoy._.js → [root-of-the-server]__0ronqmm1xpldk._.js} +2 -2
  419. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +3 -0
  420. package/server/.next/server/chunks/ssr/[root-of-the-server]__0uxychcp_pldy._.js +3 -0
  421. package/server/.next/server/chunks/ssr/[root-of-the-server]__0vnfx03nb5vku._.js +3 -0
  422. package/server/.next/server/chunks/ssr/[root-of-the-server]__0x7w-5h8or6qr._.js +3 -0
  423. package/server/.next/server/chunks/ssr/{[root-of-the-server]__15wwi1pda8ims._.js → [root-of-the-server]__0xpkzaqer75i-._.js} +2 -2
  424. package/server/.next/server/chunks/ssr/[root-of-the-server]__0y6psx1_d7fkt._.js +3 -0
  425. package/server/.next/server/chunks/ssr/{[root-of-the-server]__04klr3-4qi7-t._.js → [root-of-the-server]__107gjehjdhw8p._.js} +2 -2
  426. package/server/.next/server/chunks/ssr/[root-of-the-server]__10kuehp7saz8h._.js +3 -0
  427. package/server/.next/server/chunks/ssr/[root-of-the-server]__113zn8es2wp67._.js +3 -0
  428. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0p5znbfo0wgsu._.js → [root-of-the-server]__13fabu66slkfb._.js} +2 -2
  429. package/server/.next/server/chunks/ssr/[root-of-the-server]__14ept-_l8j32m._.js +1 -1
  430. package/server/.next/server/chunks/ssr/[root-of-the-server]__15s9onrf73-k8._.js +3 -0
  431. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0kr_tvfgqtb-o._.js → [root-of-the-server]__191t_hhtr-k27._.js} +2 -2
  432. package/server/.next/server/chunks/ssr/[root-of-the-server]__19l_r5vy3kxo1._.js +3 -0
  433. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1kieqcc6kdywx._.js → [root-of-the-server]__1_b_k8wgqyxy7._.js} +2 -2
  434. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  435. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0exp042uqhyqs._.js → [root-of-the-server]__1a7x--bos5pv8._.js} +2 -2
  436. package/server/.next/server/chunks/ssr/[root-of-the-server]__1adcmllk9wt5l._.js +3 -0
  437. package/server/.next/server/chunks/ssr/[root-of-the-server]__1d5tbv79yjhqm._.js +3 -0
  438. package/server/.next/server/chunks/ssr/[root-of-the-server]__1fj33_xkainxk._.js +2 -2
  439. package/server/.next/server/chunks/ssr/[root-of-the-server]__1itgt83qo1e77._.js +3 -0
  440. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ua-p_wz8epv9._.js → [root-of-the-server]__1mumjk3h0om80._.js} +2 -2
  441. package/server/.next/server/chunks/ssr/[root-of-the-server]__1nat8lbog5imr._.js +1 -1
  442. package/server/.next/server/chunks/ssr/[root-of-the-server]__1p2oghl9lfgmk._.js +3 -0
  443. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1tcu4-eowz9vt._.js → [root-of-the-server]__1pwd99rch8xyl._.js} +2 -2
  444. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0llh-w4ta1qbp._.js → [root-of-the-server]__1sw2q1p1t59y8._.js} +2 -2
  445. package/server/.next/server/chunks/ssr/{[root-of-the-server]__06uaa_2zbg57p._.js → [root-of-the-server]__1tj-iwvrxfd1a._.js} +2 -2
  446. package/server/.next/server/chunks/ssr/{[root-of-the-server]__12-a3tcnfdcyq._.js → [root-of-the-server]__1u_13nhw3kuz3._.js} +2 -2
  447. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0tjab3yn0asf7._.js → [root-of-the-server]__1uojs0x42k86p._.js} +1 -1
  448. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1096-q3_trmm9._.js → [root-of-the-server]__1yx8ayym979jd._.js} +2 -2
  449. package/server/.next/server/chunks/ssr/[root-of-the-server]__1zmavjo5fhryp._.js +3 -0
  450. package/server/.next/server/chunks/ssr/[root-of-the-server]__20of6xa16fwqa._.js +1 -1
  451. package/server/.next/server/chunks/ssr/_0-wc6f6p0c8lv._.js +3 -0
  452. package/server/.next/server/chunks/ssr/{_04ltmruop4rt3._.js → _02eudwc8ieb2r._.js} +3 -3
  453. package/server/.next/server/chunks/ssr/_034fv8o7kws2k._.js +3 -0
  454. package/server/.next/server/chunks/ssr/_03od6e8ibcxtf._.js +3 -0
  455. package/server/.next/server/chunks/ssr/_042ow6smd_1gj._.js +3 -0
  456. package/server/.next/server/chunks/ssr/{_090fib2x989oc._.js → _08xqk3eibu5aw._.js} +2 -2
  457. package/server/.next/server/chunks/ssr/{_01irlde8uxva8._.js → _0_8v3-nq-b4ug._.js} +2 -2
  458. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  459. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  460. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  461. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  462. package/server/.next/server/chunks/ssr/{_1ag8axv14phju._.js → _0cbbks0ms7i_u._.js} +3 -3
  463. package/server/.next/server/chunks/ssr/_0cukja7zcxh7e._.js +1 -1
  464. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  465. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +4 -0
  466. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  467. package/server/.next/server/chunks/ssr/{_1gk334l49puy-._.js → _0fq8thje0tuch._.js} +2 -2
  468. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +4 -0
  469. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +4 -0
  470. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +4 -0
  471. package/server/.next/server/chunks/ssr/{_0tqc0bsnybvva._.js → _0ipnb60-_660b._.js} +2 -2
  472. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +3 -0
  473. package/server/.next/server/chunks/ssr/{_1_gydx19bikgo._.js → _0kxkg0dbp42ai._.js} +2 -2
  474. package/server/.next/server/chunks/ssr/_0mp5aext18ijx._.js +3 -0
  475. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  476. package/server/.next/server/chunks/ssr/{_18lgd6o04ugow._.js → _0oub-njkja8gu._.js} +3 -3
  477. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +4 -0
  478. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
  479. package/server/.next/server/chunks/ssr/_0qo8tc43kjsf_._.js +1 -1
  480. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +4 -0
  481. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +4 -0
  482. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +1 -1
  483. package/server/.next/server/chunks/ssr/_0wb79bnj96x0g._.js +3 -0
  484. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  485. package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +4 -0
  486. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  487. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  488. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  489. package/server/.next/server/chunks/ssr/_11llsmv578p2i._.js +3 -0
  490. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +4 -0
  491. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  492. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  493. package/server/.next/server/chunks/ssr/_1_xsrlijknnh3._.js +1 -1
  494. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +4 -0
  495. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  496. package/server/.next/server/chunks/ssr/_1de6e6l7599fp._.js +1 -1
  497. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +4 -0
  498. package/server/.next/server/chunks/ssr/_1e47r3tlad52r._.js +3 -0
  499. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +4 -0
  500. package/server/.next/server/chunks/ssr/{_1w_rq6clcs0ft._.js → _1fuywfexex2s8._.js} +3 -3
  501. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  502. package/server/.next/server/chunks/ssr/_1gl78598hz_ku._.js +1 -1
  503. package/server/.next/server/chunks/ssr/_1h93joqd_-1og._.js +1 -1
  504. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +4 -0
  505. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  506. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  507. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +4 -0
  508. package/server/.next/server/chunks/ssr/{_0hmxyfx7su4uk._.js → _1m4km_w39x5e9._.js} +2 -2
  509. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +4 -0
  510. package/server/.next/server/chunks/ssr/_1qdox4yn1u4pc._.js +1 -1
  511. package/server/.next/server/chunks/ssr/_1qdqc9j_skd1q._.js +1 -1
  512. package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +1 -1
  513. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +4 -0
  514. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  515. package/server/.next/server/chunks/ssr/_20wy2moxkzhf0._.js +3 -0
  516. package/server/.next/server/chunks/ssr/{_026w_ig6vy9bt._.js → _218164gkxgum_._.js} +2 -2
  517. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +3 -0
  518. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +3 -0
  519. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +3 -0
  520. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_0y5m8cul6d7kk.js +3 -0
  521. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +3 -0
  522. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +3 -0
  523. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +3 -0
  524. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +3 -0
  525. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +3 -0
  526. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +3 -0
  527. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +3 -0
  528. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +3 -0
  529. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +3 -0
  530. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +3 -0
  531. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  532. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  533. package/server/.next/server/chunks/ssr/node_modules_0bqq4kab3lt4c._.js +3 -0
  534. package/server/.next/server/chunks/ssr/{node_modules_05z64qbskywkh._.js → node_modules_1-uce_v-roeci._.js} +1 -1
  535. package/server/.next/server/chunks/ssr/node_modules_@base-ui_react_dialog_index_parts_mjs_0wvx70_xziwkw._.js +3 -0
  536. package/server/.next/server/chunks/ssr/node_modules_next_dist_client_components_0p8s4lhdi0ir6._.js +3 -0
  537. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-kkewzcx4540.js +3 -0
  538. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00t5_cu_8xco2.js +3 -0
  539. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_028rm32yw9745.js +3 -0
  540. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_02tytjla8gfpw.js +3 -0
  541. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_05tff2l0grv3d.js +3 -0
  542. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08qavwdx-gipt.js +3 -0
  543. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09jdr97vksmwk.js +3 -0
  544. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0c3z69fbbz6-a.js +3 -0
  545. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d4hxwzkts-8z.js +3 -0
  546. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dq-zslzf2s94.js +3 -0
  547. package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_1q_82vyl-q7u6.js → node_modules_next_dist_esm_build_templates_app-page_0e-rjmezj0qkk.js} +2 -2
  548. package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_0ivgh76j_tu2x.js → node_modules_next_dist_esm_build_templates_app-page_0e50mslm8ys4t.js} +2 -2
  549. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0esqulnipbhj7.js +3 -0
  550. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0icasmc2qvtfa.js +3 -0
  551. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0idohkgskbja5.js +3 -0
  552. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ii2a6tud83pj.js +3 -0
  553. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ivr2dcq7hh5t.js +3 -0
  554. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mcwghl-di24f.js +3 -0
  555. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0n05qgf2t9o6n.js +3 -0
  556. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ntej2bo95ns3.js +3 -0
  557. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0o1l93c0tj-p8.js +3 -0
  558. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ollx_iq739y6.js +3 -0
  559. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0v16m5nv0x43b.js +3 -0
  560. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0wa_9ywaoqxrf.js +3 -0
  561. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0y94b-zvw0vrq.js +3 -0
  562. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ydzswpddtx9q.js +3 -0
  563. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0zwpkpyuh6z99.js +3 -0
  564. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14t5-0abqp0sm.js +3 -0
  565. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18h3ke4tl-fzl.js +3 -0
  566. package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_14-4y3i6c1vxc.js → node_modules_next_dist_esm_build_templates_app-page_19kqs-fc2i0zv.js} +2 -2
  567. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_s_25znkg8mz.js +3 -0
  568. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_ysa6fs0tt59.js +3 -0
  569. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1b4hixza89i52.js +3 -0
  570. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1brrqdx4msjzf.js +3 -0
  571. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1e74o7dar2z12.js +3 -0
  572. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1eqpqmdz9jgs0.js +3 -0
  573. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1f3932777ye1o.js +3 -0
  574. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kx1n5-wqjvko.js +3 -0
  575. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1l6umnmh89nvy.js +3 -0
  576. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mdyuengydtxm.js +3 -0
  577. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qmm1wm-dfm_v.js +3 -0
  578. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1t-fn8blx1hp8.js +3 -0
  579. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1tf9xiz17b3cq.js +3 -0
  580. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1tffdbiasnszd.js +3 -0
  581. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uisz6sszlhwp.js +3 -0
  582. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1umag21mbk-rs.js +3 -0
  583. package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_0i3p3qfjihm3f.js → node_modules_next_dist_esm_build_templates_app-page_1vakvu0qtsn07.js} +2 -2
  584. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1wmviw4zw6t_r.js +3 -0
  585. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1xq449tjypb4s.js +3 -0
  586. package/server/.next/server/chunks/ssr/src_02ynbzyh8nn02._.js +3 -0
  587. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +3 -0
  588. package/server/.next/server/chunks/ssr/{src_1nse4o3frj33x._.js → src_05kvmrkq5nfyh._.js} +2 -2
  589. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  590. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  591. package/server/.next/server/chunks/ssr/{src_0905fjqu0qv57._.js → src_097wa6oc_utgr._.js} +2 -2
  592. package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +1 -1
  593. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  594. package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +3 -0
  595. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  596. package/server/.next/server/chunks/ssr/src_0xh3xicmff6ws._.js +1 -1
  597. package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +1 -1
  598. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  599. package/server/.next/server/chunks/ssr/{src_071xsnvnzlvj8._.js → src_1751lvujjc-tz._.js} +2 -2
  600. package/server/.next/server/chunks/ssr/src_1f1x6508qetmp._.js +3 -0
  601. package/server/.next/server/chunks/ssr/{src_0oagnv9_4qww7._.js → src_1fomo1_as1-ea._.js} +2 -2
  602. package/server/.next/server/chunks/ssr/src_1koc8y1nfdlw3._.js +1 -1
  603. package/server/.next/server/chunks/ssr/src_1pd5lqhm1x4yf._.js +1 -1
  604. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  605. package/server/.next/server/chunks/ssr/src_1sv5tf2pk5-pn._.js +3 -0
  606. package/server/.next/server/chunks/ssr/{src_0widudneyf0oq._.js → src_1wnx8vxv7nd04._.js} +2 -2
  607. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  608. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  609. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  610. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  611. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +2 -2
  612. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  613. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  614. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  615. package/server/.next/server/chunks/ssr/src_app_(console)_0p2-zm5eewkqo._.js +3 -0
  616. package/server/.next/server/chunks/ssr/src_app_(console)_1za4o0--zhso5._.js +3 -0
  617. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +1 -1
  618. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_1t61z2wktki-v._.js +1 -1
  619. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1jme7fm7ej_lr._.js +3 -0
  620. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  621. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  622. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  623. package/server/.next/server/chunks/ssr/src_app_(console)_connections_02upf_c41dauw._.js +1 -1
  624. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  625. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  626. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  627. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  628. package/server/.next/server/chunks/ssr/src_app_(console)_d1_page_tsx_167hwnq_9uh81._.js +1 -1
  629. package/server/.next/server/chunks/ssr/src_app_(console)_dns_0d1uyir4fe7pc._.js +1 -1
  630. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  631. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  632. package/server/.next/server/chunks/ssr/src_app_(console)_domains_1ut499n11u8_r._.js +1 -1
  633. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  634. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  635. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_17htk-vea5fna._.js +1 -1
  636. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  637. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  638. package/server/.next/server/chunks/ssr/src_app_(console)_overview_page_tsx_0se3f3ln9q-42._.js +1 -1
  639. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  640. package/server/.next/server/chunks/ssr/src_app_(console)_repos_[id]_page_tsx_1nkxthc4ethrj._.js +2 -2
  641. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  642. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  643. package/server/.next/server/chunks/ssr/src_app_(console)_status_page_tsx_1zvj799nv4kah._.js +1 -1
  644. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  645. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_1ofufib3-zzt-._.js +1 -1
  646. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  647. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  648. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  649. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  650. package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
  651. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  652. package/server/.next/server/chunks/ssr/{src_app_signin_0hb58isfg-2yx._.js → src_app_signin_11vigmz4xm91m._.js} +2 -2
  653. package/server/.next/server/chunks/ssr/src_components_0-x11r8_844pu._.js +1 -1
  654. package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +1 -1
  655. package/server/.next/server/chunks/ssr/src_components_0_xymno8nakru._.js +3 -0
  656. package/server/.next/server/chunks/ssr/src_components_0ozvphxxwb7d-._.js +3 -0
  657. package/server/.next/server/chunks/ssr/src_components_0tmtbf2etsx03._.js +1 -1
  658. package/server/.next/server/chunks/ssr/src_components_charts_tsx_0u0c5sxi3-7ug._.js +1 -1
  659. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  660. package/server/.next/server/chunks/ssr/src_components_live_tsx_1p2s3b807w0jt._.js +1 -1
  661. package/server/.next/server/chunks/ssr/src_components_ui_dialog_tsx_1tn-i_6d3rhzt._.js +1 -1
  662. package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +7 -2
  663. package/server/.next/server/chunks/ssr/src_lib_1zgor_vrwl5kt._.js +5 -0
  664. package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  665. package/server/.next/server/chunks/ssr/src_lib_auth_ts_11yt3pae6wy-o._.js +1 -1
  666. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +1 -1
  667. package/server/.next/server/chunks/ssr/src_lib_collector_self-update_ts_18m5vmptpjhtg._.js +3 -0
  668. package/server/.next/server/chunks/ssr/src_lib_data_github-db_ts_02xuh84m-__8z._.js +1 -1
  669. package/server/.next/server/chunks/ssr/src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js +1 -1
  670. package/server/.next/server/chunks/ssr/{src_lib_demo_1wu-a6lubzph6._.js → src_lib_demo_07uq47fhms-3d._.js} +2 -2
  671. package/server/.next/server/chunks/ssr/src_lib_local-auth_setup_ts_05zj7z33ne4f5._.js +1 -1
  672. package/server/.next/server/chunks/ssr/src_lib_security_node-runtime_ts_1jei00s21d6v0._.js +3 -0
  673. package/server/.next/server/chunks/ssr/src_lib_view_databases_ts_1ovdbo8spjhf9._.js +1 -1
  674. package/server/.next/server/chunks/ssr/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  675. package/server/.next/server/chunks/ssr/src_lib_view_network_ts_0toa7t-gw9cup._.js +1 -1
  676. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  677. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  678. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  679. package/server/.next/server/chunks/ssr/src_private_assist_questions-db_ts_1l-wvmlexd7tr._.js +1 -1
  680. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  681. package/server/.next/server/middleware-build-manifest.js +105 -105
  682. package/server/.next/server/pages/404.html +1 -1
  683. package/server/.next/server/pages/500.html +1 -1
  684. package/server/.next/server/preview-props.json +3 -3
  685. package/server/.next/server/server-reference-manifest.js +1 -1
  686. package/server/.next/server/server-reference-manifest.json +858 -672
  687. package/server/.next/static/chunks/04ospu_w--6p9.js +1 -0
  688. package/server/.next/static/chunks/06a83nde7riq-.js +1 -0
  689. package/server/.next/static/chunks/088c6cw88jmlb.js +7 -0
  690. package/server/.next/static/chunks/08f1euchlacye.js +1 -0
  691. package/server/.next/static/chunks/09e-vdlax9bp6.js +1 -0
  692. package/server/.next/static/chunks/{0rgn3-cks0udn.js → 0a-rekt06v0sv.js} +1 -1
  693. package/server/.next/static/chunks/{3u3h2mlon2qu7.js → 0a4b85ckxbprh.js} +1 -1
  694. package/server/.next/static/chunks/0buwzrf7dpagn.js +1 -0
  695. package/server/.next/static/chunks/0dmql-jz-o69o.js +1 -0
  696. package/server/.next/static/chunks/{3xo5igjfumqip.js → 0jf5lpzwq4vh1.js} +1 -1
  697. package/server/.next/static/chunks/0p6hja9octhrd.js +1 -0
  698. package/server/.next/static/chunks/{3orhi-m-n-ra4.js → 0qoql97izcn4l.js} +1 -1
  699. package/server/.next/static/chunks/0qsk0bb1x81nc.js +1 -0
  700. package/server/.next/static/chunks/0wkv5e-c430ea.js +33 -0
  701. package/server/.next/static/chunks/0x41o1ud_ksl1.js +1 -0
  702. package/server/.next/static/chunks/0x_wb_w6fgkyt.js +1 -0
  703. package/server/.next/static/chunks/{319s97ka6eaex.js → 12bbufru1ui37.js} +1 -1
  704. package/server/.next/static/chunks/{1pre7l9hmk-b6.js → 12zasgv1xisb5.js} +1 -1
  705. package/server/.next/static/chunks/{2yjh4ytp-sedv.js → 149lk0boxihnl.js} +1 -1
  706. package/server/.next/static/chunks/17lwu-2id6c_-.js +1 -0
  707. package/server/.next/static/chunks/{36js6cf9c-53b.js → 1_93oj1b-nrla.js} +1 -1
  708. package/server/.next/static/chunks/1bt81ubbahkh6.js +1 -0
  709. package/server/.next/static/chunks/1c0s-ejiwfy2u.js +1 -0
  710. package/server/.next/static/chunks/1g_kip3m3h9q6.js +1 -0
  711. package/server/.next/static/chunks/1i8i1ieoh738i.js +1 -0
  712. package/server/.next/static/chunks/1s0s32oqy-54t.js +1 -0
  713. package/server/.next/static/chunks/1ss-6-h8nloc9.js +1 -0
  714. package/server/.next/static/chunks/1t8fe3w70uapo.js +1 -0
  715. package/server/.next/static/chunks/1t9f2pdc3crnr.js +1 -0
  716. package/server/.next/static/chunks/1urtw14pwufsv.js +1 -0
  717. package/server/.next/static/chunks/1wh-ps6a57yj1.js +1 -0
  718. package/server/.next/static/chunks/20ujg0hz_need.js +1 -0
  719. package/server/.next/static/chunks/{05p62k_8g05pm.js → 23b9tctw1mn5a.js} +11 -11
  720. package/server/.next/static/chunks/292uz-rsh422k.js +1 -0
  721. package/server/.next/static/chunks/{12fo0pcbpv7lw.js → 29xg947lkf4-x.js} +1 -1
  722. package/server/.next/static/chunks/2ac9gyn8mzqp4.js +1 -0
  723. package/server/.next/static/chunks/2fze_cnwk8j76.js +1 -0
  724. package/server/.next/static/chunks/2g9dossbqnlr7.js +1 -0
  725. package/server/.next/static/chunks/{0i8-ofb4wfcch.js → 2l4upq4bwgvvu.js} +1 -1
  726. package/server/.next/static/chunks/{0a5vchcarwyam.js → 2pi0r5spn0slc.js} +1 -1
  727. package/server/.next/static/chunks/2rpa_j81h_45y.js +1 -0
  728. package/server/.next/static/chunks/2szc6dvuj3gxy.js +1 -0
  729. package/server/.next/static/chunks/2u3iceaxpiiws.js +1 -0
  730. package/server/.next/static/chunks/2z21xxtcmsmhe.js +1 -0
  731. package/server/.next/static/chunks/315s21b2dd7lg.js +1 -0
  732. package/server/.next/static/chunks/35to2q1uretcv.js +1 -0
  733. package/server/.next/static/chunks/{2q88116332v43.js → 37zqf9hef7g0k.js} +1 -1
  734. package/server/.next/static/chunks/38-ay595f3xie.js +1 -0
  735. package/server/.next/static/chunks/38ao1jq4zw-nd.js +1 -0
  736. package/server/.next/static/chunks/38conxv_f-pgo.js +1 -0
  737. package/server/.next/static/chunks/3cyesi3hi6l1g.js +5 -0
  738. package/server/.next/static/chunks/{1qxc6cck2xkbs.js → 3efi_dyz4y0lj.js} +1 -1
  739. package/server/.next/static/chunks/3qjirj3rjf5mu.js +1 -0
  740. package/server/.next/static/chunks/3vpy-ra0rib9m.js +1 -0
  741. package/server/.next/static/chunks/{1o1lidcbrrh92.js → 3xxcpv79l5tnh.js} +1 -1
  742. package/server/.next/static/chunks/3ybb15n1q3f-o.css +3 -0
  743. package/server/drizzle-selfhost/0007_webhook_channel.sql +5 -0
  744. package/server/drizzle-selfhost/meta/_journal.json +7 -0
  745. package/tools/reset-login.mjs +1 -1
  746. package/server/.next/server/chunks/[root-of-the-server]__0hedtycoyydoc._.js +0 -3
  747. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_1q6nc5chwn5k4.js +0 -3
  748. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +0 -3
  749. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +0 -4
  750. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +0 -3
  751. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +0 -3
  752. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +0 -3
  753. package/server/.next/server/chunks/ssr/[externals]__1hqh7fi0-rtlc._.js +0 -3
  754. package/server/.next/server/chunks/ssr/[externals]__1mmmc4yhx5fm6._.js +0 -3
  755. package/server/.next/server/chunks/ssr/[externals]__1nv-uycpa6_lh._.js +0 -3
  756. package/server/.next/server/chunks/ssr/[externals]__1p5zuqwmfkoo1._.js +0 -3
  757. package/server/.next/server/chunks/ssr/[root-of-the-server]__01mgajn73iwc7._.js +0 -5
  758. package/server/.next/server/chunks/ssr/[root-of-the-server]__05q-laapy00sk._.js +0 -3
  759. package/server/.next/server/chunks/ssr/[root-of-the-server]__0dd9rci1isdjf._.js +0 -3
  760. package/server/.next/server/chunks/ssr/[root-of-the-server]__0lehuiyzxp78t._.js +0 -3
  761. package/server/.next/server/chunks/ssr/[root-of-the-server]__0tp9vtckbkk9o._.js +0 -3
  762. package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +0 -3
  763. package/server/.next/server/chunks/ssr/[root-of-the-server]__10y2ig7dg3f-k._.js +0 -3
  764. package/server/.next/server/chunks/ssr/[root-of-the-server]__194546bqpq02e._.js +0 -3
  765. package/server/.next/server/chunks/ssr/[root-of-the-server]__1bvp2ia3h9qbs._.js +0 -3
  766. package/server/.next/server/chunks/ssr/[root-of-the-server]__1dyjzbqwy6o12._.js +0 -3
  767. package/server/.next/server/chunks/ssr/[root-of-the-server]__1l695djsioelp._.js +0 -3
  768. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pfk0fqey3ipf._.js +0 -3
  769. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pgpryg9lkmoz._.js +0 -3
  770. package/server/.next/server/chunks/ssr/[root-of-the-server]__1rvdnoxnu0ddf._.js +0 -3
  771. package/server/.next/server/chunks/ssr/[root-of-the-server]__1t4thrxlv4zre._.js +0 -3
  772. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tuftf7fags7x._.js +0 -5
  773. package/server/.next/server/chunks/ssr/[root-of-the-server]__1vyste6xyyu37._.js +0 -3
  774. package/server/.next/server/chunks/ssr/[root-of-the-server]__1yf4_oyl-3xp7._.js +0 -3
  775. package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +0 -4
  776. package/server/.next/server/chunks/ssr/_06kn13xh_13da._.js +0 -3
  777. package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +0 -4
  778. package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +0 -4
  779. package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +0 -4
  780. package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +0 -4
  781. package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +0 -4
  782. package/server/.next/server/chunks/ssr/_0qcvpnwa1u3vr._.js +0 -3
  783. package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +0 -3
  784. package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +0 -4
  785. package/server/.next/server/chunks/ssr/_0wzg8e30al7bu._.js +0 -3
  786. package/server/.next/server/chunks/ssr/_0ymtfa6vo-yz5._.js +0 -3
  787. package/server/.next/server/chunks/ssr/_0yn1xeumiigj0._.js +0 -3
  788. package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +0 -4
  789. package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +0 -4
  790. package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +0 -4
  791. package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +0 -4
  792. package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +0 -4
  793. package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +0 -4
  794. package/server/.next/server/chunks/ssr/_1e5zfwgdf0mm5._.js +0 -3
  795. package/server/.next/server/chunks/ssr/_1gvbcfoah__sl._.js +0 -3
  796. package/server/.next/server/chunks/ssr/_1h5tfqxzqd2tz._.js +0 -3
  797. package/server/.next/server/chunks/ssr/_1i77n2n-wb98v._.js +0 -4
  798. package/server/.next/server/chunks/ssr/_1k8rjvzlscs56._.js +0 -3
  799. package/server/.next/server/chunks/ssr/_1l-vlfiltmzu3._.js +0 -3
  800. package/server/.next/server/chunks/ssr/_1rf_mwfkk_9oa._.js +0 -3
  801. package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +0 -4
  802. package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +0 -4
  803. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +0 -3
  804. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +0 -3
  805. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +0 -3
  806. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +0 -3
  807. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1zw_mdh2ep6vs.js +0 -3
  808. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_06a1fnrawxlh1.js +0 -3
  809. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +0 -3
  810. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +0 -3
  811. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_217-u-dmlzx6a.js +0 -3
  812. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +0 -3
  813. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_0ven9q46d3d7s.js +0 -3
  814. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +0 -3
  815. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +0 -3
  816. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +0 -3
  817. package/server/.next/server/chunks/ssr/node_modules_1_u5afwqp6brs._.js +0 -3
  818. package/server/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js +0 -3
  819. package/server/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js +0 -3
  820. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-kg_ige9ehqj.js +0 -3
  821. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00k37tbaia8dh.js +0 -3
  822. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00z_p6szkga15.js +0 -3
  823. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_01-utr59mtfg1.js +0 -3
  824. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_055hw7kwif935.js +0 -3
  825. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06fg_efdkc3kx.js +0 -3
  826. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08f3d08smwt6_.js +0 -3
  827. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08lcfro9qovjn.js +0 -3
  828. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0c8wd69fns_0d.js +0 -3
  829. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0cha-3kg99u4h.js +0 -3
  830. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d_0he72lzkh9.js +0 -3
  831. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0f6chw8z5cuyg.js +0 -3
  832. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j9-_xhs21abp.js +0 -3
  833. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0kwpdjujljna-.js +0 -3
  834. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rer2akuum5r-.js +0 -3
  835. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0umt_achusjjb.js +0 -3
  836. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0un7wq602mt3n.js +0 -3
  837. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vrdl9n7guitd.js +0 -3
  838. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vse2cboy4cms.js +0 -3
  839. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0x7ey4_8b48_o.js +0 -3
  840. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0z8l8t55t65t_.js +0 -3
  841. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0zap6p0vuv-fp.js +0 -3
  842. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-m49cfu6a7gl.js +0 -3
  843. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-w3hswsbrppl.js +0 -3
  844. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1167zbjp4ys_a.js +0 -3
  845. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_129serqqq3xyq.js +0 -3
  846. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12en3pdvxu0dy.js +0 -3
  847. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1596hk9t3r1a5.js +0 -3
  848. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17us24ry0om-z.js +0 -3
  849. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_8xi22-aoxu1.js +0 -3
  850. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_l32aoya75_m.js +0 -3
  851. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ar0v26274uhj.js +0 -3
  852. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dkgfjoaf_1g3.js +0 -3
  853. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1eg14m09zdg__.js +0 -3
  854. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1h_y671y1la_8.js +0 -3
  855. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mkokmyyp47hd.js +0 -3
  856. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1msjiuu45famw.js +0 -3
  857. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mw7isdchouml.js +0 -3
  858. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1n4cotiug2a_r.js +0 -3
  859. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1njl24pr6dwrt.js +0 -3
  860. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o1_3bydb-3j5.js +0 -3
  861. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1pjor42_s9imf.js +0 -3
  862. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qta4yeufzpz7.js +0 -3
  863. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qxbl6k6dji0s.js +0 -3
  864. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_21a3kf8buivxw.js +0 -3
  865. package/server/.next/server/chunks/ssr/src_0f_ip1ke7i9r7._.js +0 -3
  866. package/server/.next/server/chunks/ssr/src_0jdurlhzhcg5x._.js +0 -3
  867. package/server/.next/server/chunks/ssr/src_0ley8c3htc2q9._.js +0 -3
  868. package/server/.next/server/chunks/ssr/src_0p0fk07bj9gpq._.js +0 -3
  869. package/server/.next/server/chunks/ssr/src_0ubtruqmercw2._.js +0 -3
  870. package/server/.next/server/chunks/ssr/src_12sdm7skn8fr1._.js +0 -3
  871. package/server/.next/server/chunks/ssr/src_16lx0qdi44evh._.js +0 -3
  872. package/server/.next/server/chunks/ssr/src_17yq6_bqlwgvy._.js +0 -3
  873. package/server/.next/server/chunks/ssr/src_1n-6pz04odixj._.js +0 -3
  874. package/server/.next/server/chunks/ssr/src_app_(console)_08pmfte22v8vg._.js +0 -3
  875. package/server/.next/server/chunks/ssr/src_app_(console)_1rx84pcbevbbk._.js +0 -3
  876. package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.js +0 -3
  877. package/server/.next/server/chunks/ssr/src_components_1yp2m9j9dnsv-._.js +0 -3
  878. package/server/.next/server/chunks/ssr/src_components_ui_dropdown-menu_tsx_1xyz_k6bpdu_5._.js +0 -3
  879. package/server/.next/server/chunks/ssr/src_lib_collector_node-runtime_ts_0778fef3fi3zj._.js +0 -3
  880. package/server/.next/static/chunks/0-_zjfssid86w.js +0 -33
  881. package/server/.next/static/chunks/02-edmd1oolf2.css +0 -3
  882. package/server/.next/static/chunks/02e07gc948zdh.js +0 -1
  883. package/server/.next/static/chunks/073u0a0mfexc8.js +0 -1
  884. package/server/.next/static/chunks/09fx7h5vm68up.js +0 -1
  885. package/server/.next/static/chunks/0ao7_ov9mlvqp.js +0 -1
  886. package/server/.next/static/chunks/0cvmbpyjages7.js +0 -5
  887. package/server/.next/static/chunks/0hnhf3barhk90.js +0 -1
  888. package/server/.next/static/chunks/0id261ol_gl6f.js +0 -1
  889. package/server/.next/static/chunks/0q2ogu5cn9q9p.js +0 -1
  890. package/server/.next/static/chunks/0z_fqwq62_95p.js +0 -1
  891. package/server/.next/static/chunks/12l7tr29-a97t.js +0 -1
  892. package/server/.next/static/chunks/16d1ws92me6_q.js +0 -1
  893. package/server/.next/static/chunks/1__8cm_-lydee.js +0 -1
  894. package/server/.next/static/chunks/1hmur12m0hx3z.js +0 -1
  895. package/server/.next/static/chunks/205s3z3_jvp5m.js +0 -1
  896. package/server/.next/static/chunks/20cpkauaj8e6x.js +0 -7
  897. package/server/.next/static/chunks/23scyaimkowfl.js +0 -1
  898. package/server/.next/static/chunks/25meucm7i1e7b.js +0 -1
  899. package/server/.next/static/chunks/2oy7awlquezq_.js +0 -1
  900. package/server/.next/static/chunks/2pj8subq20y-_.js +0 -1
  901. package/server/.next/static/chunks/2qcurt9u9shwc.js +0 -1
  902. package/server/.next/static/chunks/2scf40c-_g_q1.js +0 -1
  903. package/server/.next/static/chunks/2tnx5isef9ryw.js +0 -1
  904. package/server/.next/static/chunks/2v_f39dz8sa3-.js +0 -1
  905. package/server/.next/static/chunks/2whojv56qi3ke.js +0 -1
  906. package/server/.next/static/chunks/2wlen-jacsbqv.js +0 -1
  907. package/server/.next/static/chunks/36bqhxadlfbfn.js +0 -1
  908. package/server/.next/static/chunks/372gugw4ldy47.js +0 -1
  909. package/server/.next/static/chunks/39n_1gky-xh0a.js +0 -1
  910. package/server/.next/static/chunks/3fv862m8cvcoe.js +0 -1
  911. package/server/.next/static/chunks/3g73nar6-7bqk.js +0 -1
  912. package/server/.next/static/chunks/3sg_npfod25zq.js +0 -1
  913. package/server/.next/static/chunks/3vacue9vhoqag.js +0 -1
  914. package/server/.next/static/chunks/3x8-w_p0n-gsd.js +0 -1
  915. package/server/.next/static/chunks/3yljsdgzvrkdf.js +0 -1
  916. package/server/.next/static/chunks/415ijq-anmr2o.js +0 -1
  917. package/server/.next/static/chunks/43wm4_0-0-eej.js +0 -1
  918. package/server/.next/static/chunks/44bizq7fli9cp.js +0 -1
  919. /package/server/.next/static/{90CuiGzddaxNn9lvRkGlH → rBXBlxKpaOHcc5KZDIhAL}/_buildManifest.js +0 -0
  920. /package/server/.next/static/{90CuiGzddaxNn9lvRkGlH → rBXBlxKpaOHcc5KZDIhAL}/_clientMiddlewareManifest.js +0 -0
  921. /package/server/.next/static/{90CuiGzddaxNn9lvRkGlH → rBXBlxKpaOHcc5KZDIhAL}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[856951,a=>{"use strict";var b=a.i(907997),c=a.i(803681),d=a.i(685865),e=a.i(605826),f=a.i(954296),g=a.i(686251),h=a.i(791444),i=a.i(109307),j=a.i(532620),k=a.i(46396),l=a.i(139138);let m=["Provider",(0,b.jsxs)("span",{children:["Status",(0,b.jsx)(f.Src,{kind:"api"})]},"s"),"Feed","Checked"];async function n(){await (0,i.I)();let a=new Date,f=(0,k.u)(await (0,j.B)(),a);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.AutoRefresh,{at:a.getTime()}),(0,b.jsx)(c.L,{crumbs:[{label:"Home"},{label:"Provider status"}],title:"Provider status",sub:"Public status feeds, polled every 5 minutes. When a provider has an incident, its alerts are labelled so you know the problem isn't your app. Cloudflare data centres (outages and maintenance) count only for SIN and CGK; an open incident is coloured by its own impact."}),(0,b.jsx)(c.N,{flush:!0,children:(0,b.jsx)(e.PlainTable,{head:m,rows:f.map(a=>({key:a.provider,state:a.state,text:`${a.label} ${a.text}`,row:(0,b.jsxs)("tr",{className:h.C,children:[(0,b.jsx)("td",{className:h.z,children:(0,b.jsx)("b",{className:"font-medium",children:a.label})}),(0,b.jsxs)("td",{className:(0,l.f)(h.z,h.M),children:[(0,b.jsx)(g.F,{state:a.state,children:a.text}),a.incidents.map(a=>(0,b.jsxs)("div",{className:"mt-0.5 text-[12.5px] text-ink-faint",children:[a.name,a.url&&(0,b.jsxs)(b.Fragment,{children:[" · ",(0,b.jsx)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"text-brand hover:underline",children:"Open status page"})]})]},`${a.name}${a.startedAt}`))]}),(0,b.jsx)("td",{className:(0,l.f)(h.z,"text-ink-soft"),children:a.feedText}),(0,b.jsx)("td",{className:(0,l.f)(h.z,"text-ink-soft"),children:a.checked})]})}))})})]})}a.s(["default",0,n])},399924,function(a){a.n(a.i(856951))}];
1
+ module.exports=[856951,a=>{"use strict";var b=a.i(907997),c=a.i(803681),d=a.i(685865),e=a.i(605826),f=a.i(954296),g=a.i(686251),h=a.i(791444),i=a.i(109307),j=a.i(532620),k=a.i(46396),l=a.i(23195),m=a.i(139138);let n=["Provider",(0,b.jsxs)("span",{children:["Status",(0,b.jsx)(f.Src,{kind:"api"})]},"s"),"Feed","Checked"];async function o(){await (0,i.I)();let a=new Date,f=(0,k.u)(await (0,j.B)(),a);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.AutoRefresh,{at:a.getTime()}),(0,b.jsx)(c.L,{crumbs:[{label:"Home"},{label:"Provider status"}],title:"Provider status",sub:"Your providers' public status pages, read every 5 minutes, so you know when a problem isn't your app.",more:"Alerts raised during a provider's incident are labelled with it. Cloudflare data centres (outages and maintenance) count only for SIN and CGK; an open incident is coloured by its own impact. An incident on something Watchbell doesn't watch (Firebase Test Lab, the Supabase dashboard or Management API) shows in grey."}),(0,b.jsx)(c.N,{flush:!0,children:(0,b.jsx)(e.PlainTable,{head:n,rows:f.map(c=>({key:c.provider,state:c.state,text:`${c.label} ${c.text}`,row:(0,b.jsxs)("tr",{className:h.C,children:[(0,b.jsx)("td",{className:h.z,children:(0,b.jsx)("b",{className:"font-medium",children:c.label})}),(0,b.jsxs)("td",{className:(0,m.f)(h.z,h.M),children:[(0,b.jsx)(g.F,{state:c.state,children:c.text}),c.incidents.map(d=>{let e=(0,l.C)(d,c.text,a);return(0,b.jsxs)("div",{className:"mt-0.5 text-[12.5px] text-ink-faint",children:[e,d.url&&(0,b.jsxs)(b.Fragment,{children:[e&&" · ",(0,b.jsx)("a",{href:d.url,target:"_blank",rel:"noopener noreferrer",className:"text-brand hover:underline",children:"Open status page"})]})]},`${d.name}${d.startedAt}`)})]}),(0,b.jsx)("td",{className:(0,m.f)(h.z,"text-ink-soft"),children:c.feedText}),(0,b.jsx)("td",{className:(0,m.f)(h.z,"text-ink-soft"),children:c.checked})]})}))})})]})}a.s(["default",0,o])},399924,function(a){a.n(a.i(856951))}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_status_page_tsx_1zvj799nv4kah._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[28358,a=>{var b=a.i(187924),c=a.i(196790),d=a.i(572131),e=a.i(823292),f=a.i(611619),g=a.i(619089),h=a.i(507504),i=a.i(814574),j=a.i(405050);let k=(0,j.createServerReference)("40b5a1fd9cf26117c36d16e425c4207264c756755d",j.callServer,void 0,j.findSourceMapURL,"deleteMetricsKey"),l=(0,j.createServerReference)("706f7a7378ab5cc3ca8976c2746d4b0f79523089bd",j.callServer,void 0,j.findSourceMapURL,"setMetricsKey");function m({id:a,projectRef:f,alias:j,hasKey:k,open:n,onOpenChange:o,trigger:p}){let[q,r]=(0,d.useState)(!1),s=n??q,[t,u]=(0,d.useState)(""),[v,w]=(0,d.useState)(),[x,y]=(0,d.useTransition)();function z(a){x||(u(""),w(void 0),void 0===n&&r(a),o?.(a))}return(0,h.useHoldRefresh)(s),(0,b.jsxs)(i.N,{open:s,onOpenChange:z,children:[p&&(0,b.jsx)(i.a,{render:p}),(0,b.jsxs)(i.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsxs)(i.F,{className:"text-base",children:[k?"Replace":"Add"," metrics key for ",j]}),(0,b.jsx)(i.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"CPU, RAM, disk and connections come from Supabase's Metrics API (beta), which needs a Secret API key of this project."})]})]}),(0,b.jsxs)("form",{onSubmit:b=>{b.preventDefault(),y(async()=>{try{let b=await l(a,f,t);if(!b.ok){w(b.fieldErrors?.key??b.error),e.c.error(b.error);return}let c=b.message?.includes("test call failed");e.c.success(`Metrics key saved for ${j}`,{description:c?"The test call failed; the Compute panel shows why.":"CPU shows after the next scrape, in about 5 minutes."}),u(""),z(!1)}catch{e.c.error("Something went wrong. Try again.")}})},children:[(0,b.jsxs)("div",{className:"px-[18px] pt-2 text-[13px] text-ink-soft",children:[(0,b.jsxs)("ol",{className:"mb-3 list-decimal space-y-1 pl-5",children:[(0,b.jsxs)("li",{children:["In Supabase, open ",(0,b.jsx)("b",{className:"font-medium text-ink",children:"Project Settings → API Keys"})," for this project and create a new Secret API key named ",(0,b.jsx)("span",{className:"font-mono text-ink",children:"watchbell-metrics"}),"."]}),(0,b.jsx)("li",{children:"Paste it below. A secret key has full database power, so the console stores it encrypted, never shows it again and only sends it to this project's metrics endpoint."}),(0,b.jsx)("li",{children:"You can revoke it in Supabase at any time; the panel then shows the error and you can add a new one."})]}),(0,b.jsx)(g.O,{id:`mk-${a}`,label:"Secret API key",error:v,help:"Starts with sb_secret_. Saving makes one test call to the metrics endpoint.",children:(0,b.jsx)("input",{id:`mk-${a}`,type:"password",className:`${g.S} font-mono`,autoComplete:"off",spellCheck:!1,placeholder:"sb_secret_…",value:t,onChange:a=>{u(a.target.value),w(void 0)}})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(g.K,{type:"button",onClick:()=>z(!1),disabled:x,children:"Cancel"}),(0,b.jsx)(g.K,{type:"submit",variant:"primary",disabled:x||!t.trim(),children:x?"Testing…":k?"Replace key":"Save key"})]})]})]})]})}a.s(["MetricsKeyButtons",0,function({id:a,projectRef:c,alias:d,hasKey:e}){return(0,b.jsxs)("span",{className:"inline-flex gap-1.5",children:[(0,b.jsx)(m,{id:a,projectRef:c,alias:d,hasKey:e,trigger:(0,b.jsx)(g.K,{size:"sm",children:e?"Replace key":"Add metrics key"})}),e&&(0,b.jsx)(f.f,{trigger:(0,b.jsx)(g.K,{size:"sm",variant:"ghost",children:"Remove"}),danger:!0,title:`Remove the metrics key of ${d}?`,cta:"Remove key",body:"The console deletes the stored key and this project's compute history. Revoke the key in Supabase (Project Settings → API Keys) too.",onConfirm:async()=>{let b=await k(a);return b.ok?{ok:!0,message:`Metrics key removed for ${d}.`}:{ok:!1,message:b.error}}})]})},"MetricsKeyDialog",0,m],28358)},103113,a=>{var b=a.i(187924),c=a.i(908161),d=a.i(572131),e=a.i(823292),f=a.i(771378),g=a.i(611619),h=a.i(619089),i=a.i(507504),j=a.i(54901),k=a.i(188406),l=a.i(814574),m=a.i(405050);let n=(0,m.createServerReference)("60bbc6a09d9c43fa23b0c11e6e1cf08911330a94ae",m.callServer,void 0,m.findSourceMapURL,"checkServicesAction"),o=(0,m.createServerReference)("60c93d7ea36c13ef879a30d8385522051c2461529e",m.callServer,void 0,m.findSourceMapURL,"pauseAction"),p=(0,m.createServerReference)("60046ca7d2b9290377e0c6c368bd821dbd0d59fe07",m.callServer,void 0,m.findSourceMapURL,"restoreAction"),q=(0,m.createServerReference)("606824869fd30fee512fdf6e8a3c71cf8cc978b9ee",m.callServer,void 0,m.findSourceMapURL,"setAutoRestore"),r=(0,m.createServerReference)("604e98f58a27cf74c7676897683f3f3943a98053f8",m.callServer,void 0,m.findSourceMapURL,"setKeepActive");var s=a.i(28358);function t({alias:a,account:g,choices:j}){let[k,m]=(0,d.useState)(!1),[n,p]=(0,d.useState)(j.at(-1)?.id??""),[q,r]=(0,d.useTransition)(),s=(0,f.useMask)();(0,i.useHoldRefresh)(k);let u=j.find(a=>a.id===n);return(0,b.jsxs)(l.N,{open:k,onOpenChange:a=>{!q&&(m(a),a&&p(j.at(-1)?.id??""))},children:[(0,b.jsx)(l.a,{render:(0,b.jsx)(h.K,{size:"sm",children:"Restore"})}),(0,b.jsxs)(l.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsxs)(l.F,{className:"text-base",children:["Restore ",a,"?"]}),(0,b.jsxs)(l.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["Account ",(0,b.jsx)(f.Masked,{kind:"account",real:g})," already uses both free slots. Pick a project to pause first."]})]})]}),(0,b.jsxs)("div",{className:"px-[18px] pb-2",children:[j.length?(0,b.jsx)("div",{className:"max-h-[260px] overflow-y-auto",children:j.map(a=>(0,b.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 border-b border-line px-1 py-[9px] last:border-b-0 hover:bg-hover",children:[(0,b.jsx)("input",{type:"radio",name:"pause-first",className:"size-4 accent-brand",checked:n===a.id,onChange:()=>p(a.id)}),(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"block truncate",children:["Pause ",a.alias]}),(0,b.jsxs)("span",{className:"block truncate text-[12px] text-ink-faint",children:["Last API traffic ",a.traffic,a.usedBy.length?` \xb7 used by ${a.usedBy.map(a=>s("app",a)).join(", ")}`:""]})]})]},a.id))}):(0,b.jsx)("p",{className:"my-2 text-[13px] text-ink-soft",children:"The console doesn't watch this account's active projects, so pause one in Supabase first."}),(0,b.jsxs)("p",{className:"mb-2 mt-3 text-[13px] text-ink-soft",children:["Apps that use the paused project get errors until you restore it. You can also move ",a," to another account with a free slot instead."]}),(0,b.jsx)("p",{className:"mb-3 text-[13px] text-ink-soft",children:"Restore stays blocked until the project you pause shows Paused (about 2 minutes). Then press Restore again."})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(h.K,{onClick:()=>m(!1),disabled:q,children:"Cancel"}),(0,b.jsx)(h.K,{variant:"danger",disabled:q||!u,onClick:function(){u&&r(async()=>{try{let b=await o(u.id,u.ref);if(!b.ok)return void e.c.error(b.error);e.c.success("Pause started",{description:`Pausing ${u.alias}. Restore ${a} once ${u.alias} shows Paused, about 2 minutes.`}),m(!1)}catch{e.c.error("Something went wrong. Try again.")}})},children:q?"Working…":"Pause selected"})]})]})]})}let u={keep:(a,b)=>b?`${a}: warning from day 5 without API traffic, and one keep-alive query a day.`:`${a} may pause after 7 idle days.`,autoRestore:(a,b)=>b?`${a} is restored automatically when its account has a free slot.`:`${a} is no longer restored automatically.`};a.s(["ActiveRowMenu",0,function({id:a,projectRef:c,alias:f,label:g,metrics:h,dashboard:i=!0}){let{open:l,dialog:m}=(0,j.W)(),[p,q]=(0,d.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(k.RowMenu,{label:g,items:[...i?[{label:"Open in Supabase",href:`https://supabase.com/dashboard/project/${encodeURIComponent(c)}`}]:[],{label:"Check services",onSelect:()=>{let b;return b=e.c.loading(`Checking ${f}'s services…`),void n(a,c).then(a=>a.ok?e.c.success(`${f}: services healthy`,{id:b,description:a.message}):e.c.error(`${f}: services`,{id:b,description:a.error})).catch(()=>e.c.error("Something went wrong. Try again.",{id:b}))}},...h?[{label:h.hasKey?"Replace metrics key":"Add metrics key",onSelect:()=>q(!0)}]:[],"---",{label:"Pause project",danger:!0,onSelect:()=>l({title:`Pause ${f}?`,body:"Supabase stops the project in about 2 minutes. Apps that use this database get errors until it's restored (possible for 1 year). Pausing frees one of this account's 2 free slots. Nothing is deleted.",cta:"Pause project",danger:!0,run:async()=>{let b;return(b=`Pausing ${f}. It takes about 2 minutes.`,a=>a.ok?{ok:!0,message:b}:a)(await o(a,c))}})}]}),m,h&&(0,b.jsx)(s.MetricsKeyDialog,{id:a,projectRef:c,alias:f,hasKey:h.hasKey,open:p,onOpenChange:q})]})},"KeepActiveBoxes",0,function({id:a,alias:c,keep:f,autoRestore:g,owner:h,sent:i}){let[j,k]=(0,d.useState)({keep:f,autoRestore:g}),[l,m]=(0,d.useTransition)(),n=(d,f)=>(0,b.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",title:h?void 0:"Owner only",children:[(0,b.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:j[d],disabled:!h||l,onChange:b=>{var f;return f=b.target.checked,void(k({...j,[d]:f}),m(async()=>{try{let b=await ("keep"===d?r:q)(a,f);if(!b.ok){k(j),e.c.error(b.error);return}e.c.success("Keep active saved",{description:u[d](c,f)})}catch{k(j),e.c.error("Something went wrong. Try again.")}}))}}),f]});return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[n("keep","Keep active"),n("autoRestore","Auto-restore")]}),i&&(0,b.jsxs)("div",{className:"text-[12px] text-ink-faint",children:["Keep-alive sent ",i]})]})},"RestoreButton",0,function({id:a,projectRef:c,alias:d,account:e,slotsLeft:f,choices:i}){return f>0?(0,b.jsx)(g.f,{trigger:(0,b.jsx)(h.K,{size:"sm",children:"Restore"}),title:`Restore ${d}?`,body:"Supabase brings the project back in about 2 minutes. Apps that use it start working again after that.",cta:"Restore",onConfirm:async()=>{let b=await p(a,c);return b.ok?{ok:!0,message:`Restoring ${d}. It takes about 2 minutes.`}:{ok:!1,message:b.error}}}):(0,b.jsx)(t,{alias:d,account:e,choices:i})}],103113)}]})();
1
+ (()=>{"use strict";module.exports=[28358,a=>{var b=a.i(187924),c=a.i(196790),d=a.i(572131),e=a.i(823292),f=a.i(611619),g=a.i(619089),h=a.i(507504),i=a.i(814574),j=a.i(405050);let k=(0,j.createServerReference)("40115fdf138d0ee28d258182dbdc2077e487593058",j.callServer,void 0,j.findSourceMapURL,"deleteMetricsKey"),l=(0,j.createServerReference)("706cba9a63fd033f5a744cbde6d861b8750b5ad95b",j.callServer,void 0,j.findSourceMapURL,"setMetricsKey");function m({id:a,projectRef:f,alias:j,hasKey:k,open:n,onOpenChange:o,trigger:p}){let[q,r]=(0,d.useState)(!1),s=n??q,[t,u]=(0,d.useState)(""),[v,w]=(0,d.useState)(),[x,y]=(0,d.useTransition)();function z(a){x||(u(""),w(void 0),void 0===n&&r(a),o?.(a))}return(0,h.useHoldRefresh)(s),(0,b.jsxs)(i.N,{open:s,onOpenChange:z,children:[p&&(0,b.jsx)(i.a,{render:p}),(0,b.jsxs)(i.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsxs)(i.F,{className:"text-base",children:[k?"Replace":"Add"," metrics key for ",j]}),(0,b.jsx)(i.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"CPU, RAM, disk and connections come from Supabase's Metrics API (beta), which needs a Secret API key of this project."})]})]}),(0,b.jsxs)("form",{onSubmit:b=>{b.preventDefault(),y(async()=>{try{let b=await l(a,f,t);if(!b.ok){w(b.fieldErrors?.key??b.error),e.c.error(b.error);return}let c=b.message?.includes("test call failed");e.c.success(`Metrics key saved for ${j}`,{description:c?"The test call failed; the Compute panel shows why.":"CPU shows after the next scrape, in about 5 minutes."}),u(""),z(!1)}catch{e.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:[(0,b.jsxs)("div",{className:"px-[18px] pt-2 text-[13px] text-ink-soft",children:[(0,b.jsxs)("ol",{className:"mb-3 list-decimal space-y-1 pl-5",children:[(0,b.jsxs)("li",{children:["In Supabase, open ",(0,b.jsx)("b",{className:"font-medium text-ink",children:"Project Settings → API Keys"})," for this project and create a new Secret API key named ",(0,b.jsx)("span",{className:"font-mono text-ink",children:"watchbell-metrics"}),"."]}),(0,b.jsx)("li",{children:"Paste it below. A secret key has full database power, so the console stores it encrypted, never shows it again and only sends it to this project's metrics endpoint."}),(0,b.jsx)("li",{children:"You can revoke it in Supabase at any time; the panel then shows the error and you can add a new one."})]}),(0,b.jsx)(g.O,{id:`mk-${a}`,label:"Secret API key",error:v,help:"Starts with sb_secret_. Saving makes one test call to the metrics endpoint.",children:(0,b.jsx)("input",{id:`mk-${a}`,type:"password",className:`${g.S} font-mono`,autoComplete:"off",spellCheck:!1,placeholder:"sb_secret_…",value:t,onChange:a=>{u(a.target.value),w(void 0)}})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(g.K,{type:"button",onClick:()=>z(!1),disabled:x,children:"Cancel"}),(0,b.jsx)(g.K,{type:"submit",variant:"primary",disabled:x||!t.trim(),children:x?"Testing…":k?"Replace key":"Save key"})]})]})]})]})}a.s(["MetricsKeyButtons",0,function({id:a,projectRef:c,alias:d,hasKey:e}){return(0,b.jsxs)("span",{className:"inline-flex gap-1.5",children:[(0,b.jsx)(m,{id:a,projectRef:c,alias:d,hasKey:e,trigger:(0,b.jsx)(g.K,{size:"sm",children:e?"Replace key":"Add metrics key"})}),e&&(0,b.jsx)(f.f,{trigger:(0,b.jsx)(g.K,{size:"sm",variant:"ghost",children:"Remove"}),danger:!0,title:`Remove the metrics key of ${d}?`,cta:"Remove key",body:"The console deletes the stored key and this project's compute history. Revoke the key in Supabase (Project Settings → API Keys) too.",onConfirm:async()=>{let b=await k(a);return b.ok?{ok:!0,message:`Metrics key removed for ${d}.`}:{ok:!1,message:b.error}}})]})},"MetricsKeyDialog",0,m],28358)},103113,a=>{var b=a.i(187924),c=a.i(908161),d=a.i(572131),e=a.i(823292),f=a.i(771378),g=a.i(611619),h=a.i(619089),i=a.i(507504),j=a.i(54901),k=a.i(188406),l=a.i(814574),m=a.i(405050);let n=(0,m.createServerReference)("60a0d6edc34b5fa720c582cde7ffa04b88b663085e",m.callServer,void 0,m.findSourceMapURL,"checkServicesAction"),o=(0,m.createServerReference)("60679cc1bd380ce52a1f4e1a39e37a39f71c1a628b",m.callServer,void 0,m.findSourceMapURL,"pauseAction"),p=(0,m.createServerReference)("605f95444825039353ddfd515e1517ef49d260f393",m.callServer,void 0,m.findSourceMapURL,"restoreAction"),q=(0,m.createServerReference)("609cfa5181357e87c4cd51a5be6caa6a419b88cf67",m.callServer,void 0,m.findSourceMapURL,"setAutoRestore"),r=(0,m.createServerReference)("6075b32b60e684c0b363564f3aa81d86422e27ec76",m.callServer,void 0,m.findSourceMapURL,"setKeepActive");var s=a.i(28358);function t({alias:a,account:g,choices:j}){let[k,m]=(0,d.useState)(!1),[n,p]=(0,d.useState)(j.at(-1)?.id??""),[q,r]=(0,d.useTransition)(),s=(0,f.useMask)();(0,i.useHoldRefresh)(k);let u=j.find(a=>a.id===n);return(0,b.jsxs)(l.N,{open:k,onOpenChange:a=>{!q&&(m(a),a&&p(j.at(-1)?.id??""))},children:[(0,b.jsx)(l.a,{render:(0,b.jsx)(h.K,{size:"sm",children:"Restore"})}),(0,b.jsxs)(l.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsxs)(l.F,{className:"text-base",children:["Restore ",a,"?"]}),(0,b.jsxs)(l.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["Account ",(0,b.jsx)(f.Masked,{kind:"account",real:g})," already uses both free slots. Pick a project to pause first."]})]})]}),(0,b.jsxs)("div",{className:"px-[18px] pb-2",children:[j.length?(0,b.jsx)("div",{className:"max-h-[260px] overflow-y-auto",children:j.map(a=>(0,b.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 border-b border-line px-1 py-[9px] last:border-b-0 hover:bg-hover",children:[(0,b.jsx)("input",{type:"radio",name:"pause-first",className:"size-4 accent-brand",checked:n===a.id,onChange:()=>p(a.id)}),(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"block truncate",children:["Pause ",a.alias]}),(0,b.jsxs)("span",{className:"block truncate text-[12px] text-ink-faint",children:["Last API traffic ",a.traffic,a.usedBy.length?` \xb7 used by ${a.usedBy.map(a=>s("app",a)).join(", ")}`:""]})]})]},a.id))}):(0,b.jsx)("p",{className:"my-2 text-[13px] text-ink-soft",children:"The console doesn't watch this account's active projects, so pause one in Supabase first."}),(0,b.jsxs)("p",{className:"mb-2 mt-3 text-[13px] text-ink-soft",children:["Apps that use the paused project get errors until you restore it. You can also move ",a," to another account with a free slot instead."]}),(0,b.jsx)("p",{className:"mb-3 text-[13px] text-ink-soft",children:"Restore stays blocked until the project you pause shows Paused (about 2 minutes). Then press Restore again."})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(h.K,{onClick:()=>m(!1),disabled:q,children:"Cancel"}),(0,b.jsx)(h.K,{variant:"danger",disabled:q||!u,onClick:function(){u&&r(async()=>{try{let b=await o(u.id,u.ref);if(!b.ok)return void e.c.error(b.error);e.c.success("Pause started",{description:`Pausing ${u.alias}. Restore ${a} once ${u.alias} shows Paused, about 2 minutes.`}),m(!1)}catch{e.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},children:q?"Working…":"Pause selected"})]})]})]})}let u={keep:(a,b)=>b?`${a}: warning from day 5 without API traffic, and one keep-alive query a day.`:`${a} may pause after 7 idle days.`,autoRestore:(a,b)=>b?`${a} is restored automatically when its account has a free slot.`:`${a} is no longer restored automatically.`};a.s(["ActiveRowMenu",0,function({id:a,projectRef:c,alias:f,label:g,metrics:h,dashboard:i=!0}){let{open:l,dialog:m}=(0,j.W)(),[p,q]=(0,d.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(k.RowMenu,{label:g,items:[...i?[{label:"Open in Supabase",href:`https://supabase.com/dashboard/project/${encodeURIComponent(c)}`}]:[],{label:"Check services",onSelect:()=>{let b;return b=e.c.loading(`Checking ${f}'s services…`),void n(a,c).then(a=>a.ok?e.c.success(`${f}: services healthy`,{id:b,description:a.message}):e.c.error(`${f}: services`,{id:b,description:a.error})).catch(()=>e.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:b}))}},...h?[{label:h.hasKey?"Replace metrics key":"Add metrics key",onSelect:()=>q(!0)}]:[],"---",{label:"Pause project",danger:!0,onSelect:()=>l({title:`Pause ${f}?`,body:"Supabase stops the project in about 2 minutes. Apps that use this database get errors until it's restored (possible for 1 year). Pausing frees one of this account's 2 free slots. Nothing is deleted.",cta:"Pause project",danger:!0,run:async()=>{let b;return(b=`Pausing ${f}. It takes about 2 minutes.`,a=>a.ok?{ok:!0,message:b}:a)(await o(a,c))}})}]}),m,h&&(0,b.jsx)(s.MetricsKeyDialog,{id:a,projectRef:c,alias:f,hasKey:h.hasKey,open:p,onOpenChange:q})]})},"KeepActiveBoxes",0,function({id:a,alias:c,keep:f,autoRestore:g,owner:h,sent:i}){let[j,k]=(0,d.useState)({keep:f,autoRestore:g}),[l,m]=(0,d.useTransition)(),n=(d,f)=>(0,b.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",title:h?void 0:"Owner only",children:[(0,b.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:j[d],disabled:!h||l,onChange:b=>{var f;return f=b.target.checked,void(k({...j,[d]:f}),m(async()=>{try{let b=await ("keep"===d?r:q)(a,f);if(!b.ok){k(j),e.c.error(b.error);return}e.c.success("Keep active saved",{description:u[d](c,f)})}catch{k(j),e.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}))}}),f]});return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[n("keep","Keep active"),n("autoRestore","Auto-restore")]}),i&&(0,b.jsxs)("div",{className:"text-[12px] text-ink-faint",children:["Keep-alive sent ",i]})]})},"RestoreButton",0,function({id:a,projectRef:c,alias:d,account:e,slotsLeft:f,choices:i}){return f>0?(0,b.jsx)(g.f,{trigger:(0,b.jsx)(h.K,{size:"sm",children:"Restore"}),title:`Restore ${d}?`,body:"Supabase brings the project back in about 2 minutes. Apps that use it start working again after that.",cta:"Restore",onConfirm:async()=>{let b=await p(a,c);return b.ok?{ok:!0,message:`Restoring ${d}. It takes about 2 minutes.`}:{ok:!1,message:b.error}}}):(0,b.jsx)(t,{alias:d,account:e,choices:i})}],103113)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_supabase_0ib3m2ch9gu-4._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[[758173,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call MetricsKeyButtons() from the server but MetricsKeyButtons is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/supabase/metrics-key-dialog.tsx","MetricsKeyButtons");(0,b.registerClientReference)(function(){throw Error("Attempted to call MetricsKeyDialog() from the server but MetricsKeyDialog is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/supabase/metrics-key-dialog.tsx","MetricsKeyDialog"),a.s(["MetricsKeyButtons",0,c])},140698,a=>{var b=a.i(758173);a.n(b)},491641,a=>{var b=a.i(907997),c=a.i(175038),d=a.i(395936),e=a.i(701702),f=a.i(803681),g=a.i(959581),h=a.i(685865),i=a.i(154756),j=a.i(954296),k=a.i(686251),l=a.i(791444),m=a.i(109307),n=a.i(532620),o=a.i(560954),p=a.i(612990),q=a.i(863858),r=a.i(371289),s=a.i(658932),t=a.i(367623),u=a.i(367247),v=a.i(245710),w=a.i(139138),x=a.i(887923),y=a.i(715208),z=a.i(556987),A=a.i(505237),B=a.i(179806),C=a.i(252302),D=a.i(140698);let E="text-[12px] text-ink-faint";function F({blocks:a,owner:c}){return a.length?(0,b.jsxs)(f.N,{title:"Compute",meta:(0,b.jsx)(j.Src,{kind:"api",children:"Metrics API · 5 min"}),children:[(0,b.jsx)("p",{className:"mb-3 text-[12.5px] text-ink-soft",children:"From Supabase's Metrics API (beta) with a per-project Secret API key the owner adds. Bars are now; the line is the hourly average over 24 h. Egress and monthly active users aren't readable per project through the Management API: see Usage in the Supabase dashboard."}),(0,b.jsx)("div",{className:"flex flex-col divide-y divide-line",children:a.map(a=>(0,b.jsx)(G,{b:a,owner:c},a.id))})]}):null}function G({b:a,owner:c}){let d=a.panel,e="none"!==d.kind;return(0,b.jsxs)("div",{className:"py-3 first:pt-0 last:pb-0",children:[(0,b.jsxs)("div",{className:"mb-2 flex flex-wrap items-center gap-x-3 gap-y-1",children:[(0,b.jsx)(i.F,{kind:"db",name:a.name,dbId:a.id}),"ok"===d.kind&&(0,b.jsxs)("span",{className:(0,w.f)(E,d.stale&&"text-warn"),children:["as of ",d.asOf,d.stale?" · not updating":""]}),c&&(0,b.jsx)("span",{className:"ml-auto",children:(0,b.jsx)(D.MetricsKeyButtons,{id:a.id,projectRef:a.ref,alias:a.alias,hasKey:e})})]}),"none"===d.kind&&(0,b.jsxs)("p",{className:"text-[13px] text-ink-soft",children:[a.paused?"Paused: no compute to read. ":"","No metrics key yet",c?". Add one to see CPU, RAM, disk and connections.":". An owner can add one."]}),"waiting"===d.kind&&(0,b.jsx)("p",{className:"text-[13px] text-ink-soft",children:d.note}),"ok"===d.kind&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"grid grid-cols-2 gap-x-6 gap-y-3 min-[1001px]:grid-cols-4",children:d.gauges.map(a=>(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:a.label}),(0,b.jsx)("span",{className:"ml-auto font-mono text-[15px] font-semibold",children:a.value})]}),(0,b.jsx)(f.e,{pct:a.pct??0,tone:a.tone}),(0,b.jsx)("div",{className:"mt-1.5",children:(0,b.jsx)(C.t,{values:a.series,width:160,height:28,fluid:!0,label:`${a.label}, hourly average over the last 24 hours`})}),(0,b.jsx)("div",{className:E,children:a.peak??"24 h"})]},a.label))}),d.error&&(0,b.jsxs)("p",{className:"mt-2 text-[12.5px] text-warn",children:["Last scrape failed: ",d.error]})]})]})}var H=a.i(228796),I=a.i(722061),J=a.i(221802);let K="text-[12px] text-ink-faint";async function L({searchParams:a}){let C=await (0,m.I)(),{create:D}=await a,E=new Date,G=(0,A.z)(C.role),[M,N,O]=await Promise.all([(0,n.R)("supabase_project"),(0,n.V)(),(0,n.e)()]),P=(0,y.Y)(M,E,O),Q=(0,y.d)(N),R=(0,y.i)(P),S="owner"===C.role,[T,U,V,W]=await Promise.all([(0,o.A)(P.map(a=>a.id)),(0,u.d)(P.map(a=>a.id),E),S?(0,t.Q)(P.map(a=>a.id)):new Set,(0,r.r)()?(0,p.H)():Promise.resolve(null)]),X=P.filter(a=>S||U.has(a.id)).map(a=>({id:a.id,name:a.name,alias:a.alias,ref:a.ref,paused:a.paused,panel:(0,B.j)(U.get(a.id),E)}));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.AutoRefresh,{at:E.getTime()}),(0,b.jsx)(f.L,{crumbs:[{label:"Database"},{label:"Supabase"}],title:"Supabase",sub:"Status comes from the Management API, which doesn't touch your database. Database size is read once a day, and only while a project is already active. Keep active (owner, per project): warns from day 5 without API traffic and sends one keep-alive query a day. Auto-restore brings a paused project back only when its account has a free slot.",actions:"owner"===C.role?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.default,{href:"/connections",className:(0,f.R)(),children:"Manage accounts"}),(0,b.jsx)(H.CreateButton,{type:"supabase_project",target:"",targetName:"Supabase",label:"New project"})]}):void 0}),(0,b.jsx)(I.f,{member:C,types:["supabase_project"],focus:D??null}),Q.length>0&&(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-4 min-[1001px]:grid-cols-3",children:[Q.map(a=>(0,b.jsxs)(f.N,{title:(0,b.jsxs)(b.Fragment,{children:["Account ",(0,b.jsx)(e.Masked,{kind:"account",real:a.account})]}),children:[(0,b.jsxs)("span",{className:"text-[26px] font-semibold tracking-tight",children:[a.used,(0,b.jsxs)("small",{className:"ml-1 text-[13px] font-normal text-ink-soft",children:["of ",a.total," free slots"]})]}),(0,b.jsx)(f.e,{pct:Math.min(a.used,a.total)/a.total*100,tone:0===a.left?"warn":void 0}),(0,b.jsxs)("p",{className:"mt-2 text-[12.5px] text-ink-soft",children:["Paused projects don't use a slot. Counted from the projects this token can see",a.planUnknown?"; plan unknown, counted as free":"","."]})]},a.account)),W&&(0,b.jsx)(s.f,{pool:W,owner:S}),(0,b.jsxs)(f.N,{title:"Storage",children:[(0,b.jsxs)("span",{className:"text-[26px] font-semibold tracking-tight",children:[R.text,(0,b.jsxs)("small",{className:"ml-1 text-[13px] font-normal text-ink-soft",children:["across ",R.count," project",1===R.count?"":"s"]})]}),(0,b.jsx)("p",{className:"mt-2 text-[12.5px] text-ink-soft",children:"Free limit is 500 MB per project."})]})]}),(0,b.jsx)(f.N,{flush:!0,children:0===P.length?(0,b.jsx)(f.k,{icon:c.f,title:"No Supabase projects watched yet",action:"owner"===C.role?(0,b.jsx)(d.default,{href:"/connections",className:(0,f.R)({size:"sm"}),children:"Open connections"}):void 0,children:"owner"===C.role?"Connect a Supabase account, then press Sync and tick the projects to watch.":"An owner picks the projects to watch in Connections."}):(0,b.jsx)(g.ListFilter,{placeholder:"Filter by name",states:[["ok","Active"],["paused","Paused"]],groups:[...new Set(P.map(a=>a.account))].sort(),head:["Project","Account",(0,b.jsxs)("span",{children:["Status",(0,b.jsx)(j.Src,{kind:"api"})]},"s"),(0,b.jsxs)("span",{children:["Database size",(0,b.jsx)(j.Src,{kind:"api",children:"API · daily"})]},"z"),(0,b.jsxs)("span",{children:["Last API traffic",(0,b.jsx)(j.Src,{kind:"api"})]},"t"),(0,b.jsxs)("span",{children:["Auto-pause risk",(0,b.jsx)(j.Src,{kind:"calc"})]},"r"),"Used by",(0,b.jsxs)("span",{children:["Keep active",(0,b.jsx)(j.Src,{kind:"calc",children:"Owner"})]},"k"),""],rows:P.map(a=>{var c,d;let e,g,h;return{key:a.id,state:a.status.state,group:a.account,text:(0,z.h)([a.alias,(0,z.G)(a.account),a.status.label,a.risk.text,...a.usedBy.map(a=>a.name)],[a.name,a.account]),row:(0,b.jsxs)("tr",{className:(0,w.f)(l.C,a.stale&&"opacity-60"),children:[(0,b.jsxs)("td",{className:l.z,children:[(0,b.jsx)(i.F,{kind:"db",name:a.name,dbId:a.id}),(0,b.jsx)("div",{className:K,children:a.sub})]}),(0,b.jsx)("td",{className:l.z,children:(0,b.jsx)(i.c,{name:a.account})}),(0,b.jsxs)("td",{className:l.z,children:[(0,b.jsx)(k.F,{state:a.status.state,children:a.status.label}),a.since&&(0,b.jsxs)("div",{className:K,children:["since ",a.since]})]}),(0,b.jsx)("td",{className:l.z,children:a.size?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"font-mono",children:a.size.text})," ",(0,b.jsx)("span",{className:"text-ink-faint",children:"/ 500 MB"}),(0,b.jsx)(f.e,{pct:a.size.pct,tone:a.size.pct>=80?"warn":void 0}),(0,b.jsxs)("div",{className:K,children:["as of ",a.size.asOf]})]}):(0,b.jsx)("span",{className:(0,w.f)(K,"whitespace-normal"),children:a.sizeNote})}),(0,b.jsx)("td",{className:(0,w.f)(l.z,"text-ink-soft"),title:a.trafficNote??void 0,children:a.traffic}),(0,b.jsxs)("td",{className:(0,w.f)(l.z,l.M),children:[(0,b.jsx)(k.F,{state:a.risk.state,children:a.risk.text}),a.risk.note&&(0,b.jsx)("div",{className:K,children:a.risk.note})]}),(0,b.jsx)("td",{className:l.z,children:a.usedBy.length?a.usedBy.map(a=>(0,b.jsx)("div",{children:(0,b.jsx)(i.F,{kind:"app",name:a.name,href:`/apps/${a.id}`})},a.id)):(0,b.jsx)("span",{className:"text-ink-faint",children:"Not linked"})}),(0,b.jsx)("td",{className:(0,w.f)(l.z,l.M),children:(0,b.jsx)(J.KeepActiveBoxes,{id:a.id,alias:a.alias,owner:S,...(c=a.id,e=T.get(c),{keep:e?.keep??!1,autoRestore:e?.autoRestore??!1,sent:e?.keep&&e.lastKeepAliveAt?(0,v.$)(e.lastKeepAliveAt,E):null})})}),(0,b.jsxs)("td",{className:l.z,children:[S&&!a.paused&&(0,b.jsx)("div",{className:"mb-1",children:(0,b.jsx)(x.SqlAccessButtons,{id:a.id,alias:a.alias,provider:"supabase",connected:V.has(a.id)})}),G&&(a.paused?(0,b.jsx)(J.RestoreButton,{id:a.id,projectRef:a.ref,alias:a.alias,account:a.account,slotsLeft:(g=a.account,Q.find(a=>a.account===g)?.left??1),choices:(d=a.account,h=new Set(Q.find(a=>a.account===d)?.activeIds??[]),P.filter(a=>h.has(a.id)&&!a.paused).map(a=>({id:a.id,ref:a.ref,alias:a.alias,traffic:a.traffic,usedBy:a.usedBy.map(a=>a.name)})))}):(0,b.jsx)(J.ActiveRowMenu,{id:a.id,projectRef:a.ref,alias:a.alias,label:(0,A.J)(a.alias),metrics:S?{hasKey:U.has(a.id)}:void 0,dashboard:(0,q.f)()}))]})]})}})})}),(0,b.jsx)(F,{blocks:X,owner:S})]})}a.s(["default",0,L,"maxDuration",0,60],491641)},841701,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ActiveRowMenu() from the server but ActiveRowMenu is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/supabase/row-actions.tsx","ActiveRowMenu"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call KeepActiveBoxes() from the server but KeepActiveBoxes is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/supabase/row-actions.tsx","KeepActiveBoxes"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call RestoreButton() from the server but RestoreButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/supabase/row-actions.tsx","RestoreButton");a.s(["ActiveRowMenu",0,c,"KeepActiveBoxes",0,d,"RestoreButton",0,e])},221802,a=>{var b=a.i(841701);a.n(b)}],587058,function(a){a.n(a.i(491641))}];
1
+ module.exports=[[758173,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call MetricsKeyButtons() from the server but MetricsKeyButtons is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/supabase/metrics-key-dialog.tsx","MetricsKeyButtons");(0,b.registerClientReference)(function(){throw Error("Attempted to call MetricsKeyDialog() from the server but MetricsKeyDialog is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/supabase/metrics-key-dialog.tsx","MetricsKeyDialog"),a.s(["MetricsKeyButtons",0,c])},140698,a=>{var b=a.i(758173);a.n(b)},491641,a=>{var b=a.i(907997),c=a.i(175038),d=a.i(395936),e=a.i(701702),f=a.i(803681),g=a.i(959581),h=a.i(685865),i=a.i(154756),j=a.i(954296),k=a.i(686251),l=a.i(791444),m=a.i(109307),n=a.i(532620),o=a.i(560954),p=a.i(612990),q=a.i(863858),r=a.i(371289),s=a.i(658932),t=a.i(367623),u=a.i(367247),v=a.i(245710),w=a.i(139138),x=a.i(887923),y=a.i(715208),z=a.i(556987),A=a.i(505237),B=a.i(179806),C=a.i(252302),D=a.i(140698);let E="text-[12px] text-ink-faint";function F({blocks:a,owner:c}){return a.length?(0,b.jsxs)(f.N,{title:"Compute",meta:(0,b.jsx)(j.Src,{kind:"api",children:"Metrics API · 5 min"}),children:[(0,b.jsx)("p",{className:"mb-3 text-[12.5px] text-ink-soft",children:"From Supabase's Metrics API (beta) with a per-project Secret API key the owner adds. Bars are now; the line is the hourly average over 24 h. Egress and monthly active users aren't readable per project through the Management API: see Usage in the Supabase dashboard."}),(0,b.jsx)("div",{className:"flex flex-col divide-y divide-line",children:a.map(a=>(0,b.jsx)(G,{b:a,owner:c},a.id))})]}):null}function G({b:a,owner:c}){let d=a.panel,e="none"!==d.kind;return(0,b.jsxs)("div",{className:"py-3 first:pt-0 last:pb-0",children:[(0,b.jsxs)("div",{className:"mb-2 flex flex-wrap items-center gap-x-3 gap-y-1",children:[(0,b.jsx)(i.F,{kind:"db",name:a.name,dbId:a.id}),"ok"===d.kind&&(0,b.jsxs)("span",{className:(0,w.f)(E,d.stale&&"text-warn"),children:["as of ",d.asOf,d.stale?" · not updating":""]}),c&&(0,b.jsx)("span",{className:"ml-auto",children:(0,b.jsx)(D.MetricsKeyButtons,{id:a.id,projectRef:a.ref,alias:a.alias,hasKey:e})})]}),"none"===d.kind&&(0,b.jsxs)("p",{className:"text-[13px] text-ink-soft",children:[a.paused?"Paused: no compute to read. ":"","No metrics key yet",c?". Add one to see CPU, RAM, disk and connections.":". An owner can add one."]}),"waiting"===d.kind&&(0,b.jsx)("p",{className:"text-[13px] text-ink-soft",children:d.note}),"ok"===d.kind&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"grid grid-cols-2 gap-x-6 gap-y-3 min-[1001px]:grid-cols-4",children:d.gauges.map(a=>(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:a.label}),(0,b.jsx)("span",{className:"ml-auto font-mono text-[15px] font-semibold",children:a.value})]}),(0,b.jsx)(f.e,{pct:a.pct??0,tone:a.tone}),(0,b.jsx)("div",{className:"mt-1.5",children:(0,b.jsx)(C.t,{values:a.series,width:160,height:28,fluid:!0,label:`${a.label}, hourly average over the last 24 hours`})}),(0,b.jsx)("div",{className:E,children:a.peak??"24 h"})]},a.label))}),d.error&&(0,b.jsxs)("p",{className:"mt-2 text-[12.5px] text-warn",children:["Last scrape failed: ",d.error]})]})]})}var H=a.i(228796),I=a.i(722061),J=a.i(221802);let K="text-[12px] text-ink-faint";async function L({searchParams:a}){let C=await (0,m.I)(),{create:D}=await a,E=new Date,G=(0,A.z)(C.role),[M,N,O]=await Promise.all([(0,n.R)("supabase_project"),(0,n.V)(),(0,n.e)()]),P=(0,y.Y)(M,E,O),Q=(0,y.d)(N),R=(0,y.i)(P),S="owner"===C.role,[T,U,V,W]=await Promise.all([(0,o.A)(P.map(a=>a.id)),(0,u.d)(P.map(a=>a.id),E),S?(0,t.Q)(P.map(a=>a.id)):new Set,(0,r.r)()?(0,p.H)():Promise.resolve(null)]),X=P.filter(a=>S||U.has(a.id)).map(a=>({id:a.id,name:a.name,alias:a.alias,ref:a.ref,paused:a.paused,panel:(0,B.j)(U.get(a.id),E)}));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.AutoRefresh,{at:E.getTime()}),(0,b.jsx)(f.L,{crumbs:[{label:"Database"},{label:"Supabase"}],title:"Supabase",sub:"Read from Supabase's Management API, so watching never wakes your databases.",more:"Database size is read once a day, and only while a project is already active. Keep active (owners, per project) warns from day 5 without API traffic and sends one keep-alive query a day. Auto-restore brings a paused project back only when its account has a free slot.",actions:"owner"===C.role?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.default,{href:"/connections",className:(0,f.R)(),children:"Manage accounts"}),(0,b.jsx)(H.CreateButton,{type:"supabase_project",target:"",targetName:"Supabase",label:"New project"})]}):void 0}),(0,b.jsx)(I.f,{member:C,types:["supabase_project"],focus:D??null}),Q.length>0&&(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-4 min-[1001px]:grid-cols-3",children:[Q.map(a=>(0,b.jsxs)(f.N,{title:(0,b.jsxs)(b.Fragment,{children:["Account ",(0,b.jsx)(e.Masked,{kind:"account",real:a.account})]}),children:[(0,b.jsxs)("span",{className:"text-[26px] font-semibold tracking-tight",children:[a.used,(0,b.jsxs)("small",{className:"ml-1 text-[13px] font-normal text-ink-soft",children:["of ",a.total," free slots"]})]}),(0,b.jsx)(f.e,{pct:Math.min(a.used,a.total)/a.total*100,tone:0===a.left?"warn":void 0}),(0,b.jsxs)("p",{className:"mt-2 text-[12.5px] text-ink-soft",children:["Paused projects don't use a slot. Counted from the projects this token can see",a.planUnknown?"; plan unknown, counted as free":"","."]})]},a.account)),W&&(0,b.jsx)(s.f,{pool:W,owner:S}),(0,b.jsxs)(f.N,{title:"Storage",children:[(0,b.jsxs)("span",{className:"text-[26px] font-semibold tracking-tight",children:[R.text,(0,b.jsxs)("small",{className:"ml-1 text-[13px] font-normal text-ink-soft",children:["across ",R.count," project",1===R.count?"":"s"]})]}),(0,b.jsx)("p",{className:"mt-2 text-[12.5px] text-ink-soft",children:"Free limit is 500 MB per project."})]})]}),(0,b.jsx)(f.N,{flush:!0,children:0===P.length?(0,b.jsx)(f.k,{icon:c.f,title:"No Supabase projects watched yet",action:"owner"===C.role?(0,b.jsx)(d.default,{href:"/connections",className:(0,f.R)({size:"sm"}),children:"Open connections"}):void 0,children:"owner"===C.role?"Connect a Supabase account, then press Sync and tick the projects to watch.":"An owner picks the projects to watch in Connections."}):(0,b.jsx)(g.ListFilter,{placeholder:"Filter by name",states:[["ok","Active"],["paused","Paused"]],groups:[...new Set(P.map(a=>a.account))].sort(),head:["Project","Account",(0,b.jsxs)("span",{children:["Status",(0,b.jsx)(j.Src,{kind:"api"})]},"s"),(0,b.jsxs)("span",{children:["Database size",(0,b.jsx)(j.Src,{kind:"api",children:"API · daily"})]},"z"),(0,b.jsxs)("span",{children:["Last API traffic",(0,b.jsx)(j.Src,{kind:"api"})]},"t"),(0,b.jsxs)("span",{children:["Auto-pause risk",(0,b.jsx)(j.Src,{kind:"calc"})]},"r"),"Used by",(0,b.jsxs)("span",{children:["Keep active",(0,b.jsx)(j.Src,{kind:"calc",children:"Owner"})]},"k"),""],rows:P.map(a=>{var c,d;let e,g,h;return{key:a.id,state:a.status.state,group:a.account,text:(0,z.h)([a.alias,(0,z.G)(a.account),a.status.label,a.risk.text,...a.usedBy.map(a=>a.name)],[a.name,a.account]),row:(0,b.jsxs)("tr",{className:(0,w.f)(l.C,a.stale&&"opacity-60"),children:[(0,b.jsxs)("td",{className:l.z,children:[(0,b.jsx)(i.F,{kind:"db",name:a.name,dbId:a.id}),(0,b.jsx)("div",{className:K,children:a.sub})]}),(0,b.jsx)("td",{className:l.z,children:(0,b.jsx)(i.c,{name:a.account})}),(0,b.jsxs)("td",{className:l.z,children:[(0,b.jsx)(k.F,{state:a.status.state,children:a.status.label}),a.since&&(0,b.jsxs)("div",{className:K,children:["since ",a.since]})]}),(0,b.jsx)("td",{className:l.z,children:a.size?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"font-mono",children:a.size.text})," ",(0,b.jsx)("span",{className:"text-ink-faint",children:"/ 500 MB"}),(0,b.jsx)(f.e,{pct:a.size.pct,tone:a.size.pct>=80?"warn":void 0}),(0,b.jsxs)("div",{className:K,children:["as of ",a.size.asOf]})]}):(0,b.jsx)("span",{className:(0,w.f)(K,"whitespace-normal"),children:a.sizeNote})}),(0,b.jsx)("td",{className:(0,w.f)(l.z,"text-ink-soft"),title:a.trafficNote??void 0,children:a.traffic}),(0,b.jsxs)("td",{className:(0,w.f)(l.z,l.M),children:[(0,b.jsx)(k.F,{state:a.risk.state,children:a.risk.text}),a.risk.note&&(0,b.jsx)("div",{className:K,children:a.risk.note})]}),(0,b.jsx)("td",{className:l.z,children:a.usedBy.length?a.usedBy.map(a=>(0,b.jsx)("div",{children:(0,b.jsx)(i.F,{kind:"app",name:a.name,href:`/apps/${a.id}`})},a.id)):(0,b.jsx)("span",{className:"text-ink-faint",children:"Not linked"})}),(0,b.jsx)("td",{className:(0,w.f)(l.z,l.M),children:(0,b.jsx)(J.KeepActiveBoxes,{id:a.id,alias:a.alias,owner:S,...(c=a.id,e=T.get(c),{keep:e?.keep??!1,autoRestore:e?.autoRestore??!1,sent:e?.keep&&e.lastKeepAliveAt?(0,v.$)(e.lastKeepAliveAt,E):null})})}),(0,b.jsxs)("td",{className:l.z,children:[S&&!a.paused&&(0,b.jsx)("div",{className:"mb-1",children:(0,b.jsx)(x.SqlAccessButtons,{id:a.id,alias:a.alias,provider:"supabase",connected:V.has(a.id)})}),G&&(a.paused?(0,b.jsx)(J.RestoreButton,{id:a.id,projectRef:a.ref,alias:a.alias,account:a.account,slotsLeft:(g=a.account,Q.find(a=>a.account===g)?.left??1),choices:(d=a.account,h=new Set(Q.find(a=>a.account===d)?.activeIds??[]),P.filter(a=>h.has(a.id)&&!a.paused).map(a=>({id:a.id,ref:a.ref,alias:a.alias,traffic:a.traffic,usedBy:a.usedBy.map(a=>a.name)})))}):(0,b.jsx)(J.ActiveRowMenu,{id:a.id,projectRef:a.ref,alias:a.alias,label:(0,A.J)(a.alias),metrics:S?{hasKey:U.has(a.id)}:void 0,dashboard:(0,q.f)()}))]})]})}})})}),(0,b.jsx)(F,{blocks:X,owner:S})]})}a.s(["default",0,L,"maxDuration",0,60],491641)},841701,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ActiveRowMenu() from the server but ActiveRowMenu is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/supabase/row-actions.tsx","ActiveRowMenu"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call KeepActiveBoxes() from the server but KeepActiveBoxes is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/supabase/row-actions.tsx","KeepActiveBoxes"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call RestoreButton() from the server but RestoreButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/supabase/row-actions.tsx","RestoreButton");a.s(["ActiveRowMenu",0,c,"KeepActiveBoxes",0,d,"RestoreButton",0,e])},221802,a=>{var b=a.i(841701);a.n(b)}],587058,function(a){a.n(a.i(491641))}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_supabase_1ofufib3-zzt-._.js.map
@@ -5,6 +5,6 @@ module.exports=[953685,612990,a=>{"use strict";var b=a.i(137936),c=a.i(118558),d
5
5
  select state, extract(epoch from now() - state_change)::int as idle_s, extract(epoch from now() - backend_start)::int as age_s,
6
6
  left(query, 400) as query
7
7
  from pg_stat_activity where usename = current_user and pid <> pg_backend_pid()
8
- order by state_change asc limit 20`),b=(0,i.f)(a).map(a=>({busy:"idle"!==a.state,idleS:Number(a.idle_s),table:l(a.query),ageS:Number(a.age_s)}));return{used:b.length+1,active:b.filter(a=>a.busy).length+1,conns:b}}catch{return null}}a.s(["Y",0,10,"X",0,15,"R",0,k,"H",0,m,"g",0,a=>({pct:Math.min(100,Math.round(a.used/15*100)),warn:a.used>=10})],612990);var n=a.i(371289),o=a.i(312573),p=a.i(323878),q=a.i(713095);let r={requireActionMember:e.g};async function s(){return(0,d.F)("owner",async a=>{if(!(0,n.r)())return{ok:!1,error:"Not available in this mode."};let b=await (0,p.C)(o.t.monitorWrite,a.id);if(!b.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,o.H)(b.retryAfter)}.`};let d=await k(1,5);return await (0,f.f)({kind:"ok",message:`Closed ${d.trimmed} idle database connection${1===d.trimmed?"":"s"} (pool ${d.total}/15)`,resourceId:null,actorUserId:a.userId}).catch(()=>console.warn("audit event failed")),(0,c.refresh)(),{ok:!0,message:`Closed ${d.trimmed} idle connection${1===d.trimmed?"":"s"}.`}},r)}async function t(){await s()}(0,q.ensureServerEntryExports)([s,t]),(0,b.registerServerReference)(s,"008f81709251f97baa934f99de0a3180b8c48767cb",null),(0,b.registerServerReference)(t,"0099a474f7cc300e7c7c2fda3fe16bc0a308bde5f1",null),a.s(["w",0,s,"n",0,t],953685)}];
8
+ order by state_change asc limit 20`),b=(0,i.f)(a).map(a=>({busy:"idle"!==a.state,idleS:Number(a.idle_s),table:l(a.query),ageS:Number(a.age_s)}));return{used:b.length+1,active:b.filter(a=>a.busy).length+1,conns:b}}catch{return null}}a.s(["Y",0,10,"X",0,15,"R",0,k,"H",0,m,"g",0,a=>({pct:Math.min(100,Math.round(a.used/15*100)),warn:a.used>=10})],612990);var n=a.i(371289),o=a.i(312573),p=a.i(323878),q=a.i(713095);let r={requireActionMember:e.g};async function s(){return(0,d.F)("owner",async a=>{if(!(0,n.r)())return{ok:!1,error:"Not available in this mode."};let b=await (0,p.C)(o.t.monitorWrite,a.id);if(!b.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,o.H)(b.retryAfter)}.`};let d=await k(1,5);return await (0,f.f)({kind:"ok",message:`Closed ${d.trimmed} idle database connection${1===d.trimmed?"":"s"} (pool ${d.total}/15)`,resourceId:null,actorUserId:a.userId}).catch(()=>console.warn("audit event failed")),(0,c.refresh)(),{ok:!0,message:`Closed ${d.trimmed} idle connection${1===d.trimmed?"":"s"}.`}},r)}async function t(){await s()}(0,q.ensureServerEntryExports)([s,t]),(0,b.registerServerReference)(s,"000f27641c1780d037a3ffdea1204deecb56c4e1a2",null),(0,b.registerServerReference)(t,"0033a69e219a81a7b4862a69343a2b86432a1e7262",null),a.s(["w",0,s,"n",0,t],953685)}];
9
9
 
10
10
  //# sourceMappingURL=src_app_%28console%29_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[320518,a=>{var b=a.i(187924),c=a.i(249490),d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(507504),h=a.i(814574),i=a.i(941881),j=a.i(147474);let k=[30,60,90,180,360];function l(a){return"all"===a.scope?"all":"app"===a.scope?`app:${a.appId}`:`monitor:${a.monitorId}`}var m=a.i(405050);let n=(0,m.createServerReference)("409c2433a24efd8772bbaf5c98a4e994b7308d876b",m.callServer,void 0,m.findSourceMapURL,"addWindow"),o=(0,m.createServerReference)("60f8622eaf665f4a81b6a57f9b87982824891214d3",m.callServer,void 0,m.findSourceMapURL,"editWindow");function p(a){if("edit"===a.mode){let b=a.win;return{target:l(b),weekly:b.weekly,start:(0,j.S)(b.startsAt),durationMin:String(b.durationMin),note:b.note??""}}return{target:"all",weekly:!1,start:(0,j.S)(new Date(36e5*Math.ceil(Date.now()/36e5))),durationMin:"90",note:""}}a.s(["MaintenanceDialog",0,function(a){let[m,q]=(0,d.useState)(!1),r="edit"===a.mode?a.open:m,[s,t]=(0,d.useState)(()=>p(a)),[u,v]=(0,d.useState)({}),[w,x]=(0,d.useTransition)();function y(b){b&&(t(p(a)),v({})),"edit"===a.mode?a.onOpenChange(b):q(b)}(0,g.useHoldRefresh)(r);let{apps:z,monitors:A}=a.options,B="edit"===a.mode?l(a.win):null,C="all"===B||z.some(a=>`app:${a.id}`===B)||A.some(a=>`monitor:${a.id}`===B),D=u.scope??u.targetId;return(0,b.jsxs)(h.N,{open:r,onOpenChange:a=>{w||y(a)},children:["add"===a.mode&&(0,b.jsx)(h.a,{render:(0,b.jsx)(f.K,{children:"Add maintenance window"})}),(0,b.jsxs)(h.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsx)(h.F,{className:"text-base",children:"add"===a.mode?"Add maintenance window":"Edit maintenance window"}),(0,b.jsxs)(h.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["Checks keep running, but they are left out of uptime % and open no alerts. ",(0,j.n)()]})]})]}),(0,b.jsxs)("form",{onSubmit:b=>{b.preventDefault(),function(){var b,c;let d={...function(a){if("all"===a)return{scope:"all",targetId:""};let b=/^(app|monitor):(.+)$/.exec(a);return b?{scope:b[1],targetId:b[2]}:{scope:"",targetId:""}}(s.target),start:s.start,durationMin:s.durationMin,weekly:s.weekly,note:s.note},f=function(a){let b={},c="all"===a.scope||"app"===a.scope||"monitor"===a.scope?a.scope:null;c||(b.scope="Pick what it applies to.");let d="string"==typeof a.start?a.start:"",e=(0,j.a)(d);e||(b.start="Pick a start time.");let f=Number(a.durationMin);k.includes(f)||(b.durationMin="Pick how long it lasts.");let g="string"==typeof a.targetId?a.targetId:"";if(c&&"all"!==c&&!(0,i.f)(g)&&(b.targetId="app"===c?"Pick an application.":"Pick a monitor."),Object.keys(b).length||!c||!e)return{ok:!1,fieldErrors:b};let h=("string"==typeof a.note?a.note:"").trim().slice(0,120)||null;return{ok:!0,value:{scope:c,appId:"app"===c?g:null,monitorId:"monitor"===c?g:null,startsAt:e,durationMin:f,weekly:!0===a.weekly,note:h}}}(d);if(!f.ok)return v(f.fieldErrors);(b=f.value,c=new Date,!b.weekly&&b.startsAt.getTime()+6e4*b.durationMin<=c.getTime())?v({start:"That window has already ended."}):(v({}),x(async()=>{let b="add"===a.mode?await n(d):await o(a.win.id,d);if(!b.ok){v(b.fieldErrors??{}),e.c.error(b.error);return}e.c.success("Window saved",{description:b.message}),y(!1)}))}()},children:[(0,b.jsxs)("div",{className:"px-[18px] pt-2",children:[(0,b.jsx)(f.O,{id:"mw-scope",label:"Applies to",error:D,children:(0,b.jsxs)("select",{id:"mw-scope",className:f.S,value:s.target,onChange:a=>t({...s,target:a.target.value}),children:[(0,b.jsx)("option",{value:"all",children:"All monitors"}),"edit"===a.mode&&!C&&B&&(0,b.jsx)("option",{value:B,children:a.win.target}),z.length>0&&(0,b.jsx)("optgroup",{label:"Application",children:z.map(a=>(0,b.jsx)("option",{value:`app:${a.id}`,children:a.name},a.id))}),A.length>0&&(0,b.jsx)("optgroup",{label:"One monitor",children:A.map(a=>(0,b.jsx)("option",{value:`monitor:${a.id}`,children:a.label},a.id))})]})}),(0,b.jsxs)("fieldset",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,b.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Repeat"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-x-4 gap-y-1.5",children:[[!1,"Once"],[!0,"Every week"]].map(([a,c])=>(0,b.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",children:[(0,b.jsx)("input",{type:"radio",name:"mw-rep",className:"size-4 accent-brand",checked:s.weekly===a,onChange:()=>t({...s,weekly:a})}),c]},c))})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,b.jsx)(f.O,{id:"mw-start",label:"Starts",error:u.start,children:(0,b.jsx)("input",{id:"mw-start",type:"datetime-local",className:f.S,value:s.start,onChange:a=>t({...s,start:a.target.value})})}),(0,b.jsx)(f.O,{id:"mw-len",label:"Lasts",error:u.durationMin,children:(0,b.jsx)("select",{id:"mw-len",className:f.S,value:s.durationMin,onChange:a=>t({...s,durationMin:a.target.value}),children:k.map(a=>{let c,d;return(0,b.jsx)("option",{value:String(a),children:[(c=Math.floor(a/60))?`${c} h`:"",(d=a%60)?`${d} min`:""].filter(Boolean).join(" ")},a)})})})]}),(0,b.jsx)(f.O,{id:"mw-note",label:"Note (optional)",help:"Shown on the public status page if a monitor there is affected.",children:(0,b.jsx)("input",{id:"mw-note",className:f.S,value:s.note,maxLength:120,placeholder:"Moving DNS to Cloudflare",autoComplete:"off",onChange:a=>t({...s,note:a.target.value})})})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(f.K,{onClick:()=>y(!1),disabled:w,children:"Cancel"}),(0,b.jsx)(f.K,{type:"submit",variant:"primary",disabled:w,children:w?"Saving…":"add"===a.mode?"Add window":"Save"})]})]})]})]})}],320518)},723355,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(611619),e=a.i(188406),f=a.i(742680),g=a.i(405050);let h=(0,g.createServerReference)("40877c218b03049bfc5dc9d61d64670f65d1316a88",g.callServer,void 0,g.findSourceMapURL,"removeWindow");var i=a.i(320518);a.s(["MaintenanceMenu",0,function({win:a,options:g}){let[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(e.RowMenu,{label:(0,f.J)(a.target,"window"),items:[{label:"Edit window",onSelect:()=>k(!0)},"---",{label:"Delete",danger:!0,onSelect:()=>m(!0)}]}),j&&(0,b.jsx)(i.MaintenanceDialog,{mode:"edit",win:a,options:g,open:!0,onOpenChange:k}),(0,b.jsx)(d.f,{open:l,onOpenChange:m,title:"Delete this maintenance window?",body:"Checks count toward uptime % and open alerts again outside any other window.",cta:"Delete",danger:!0,onConfirm:async()=>{let b=await h(a.id);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}})]})}],723355)},642823,855771,a=>{var b=a.i(187924),c=a.i(614548),d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(507504),h=a.i(814574),i=a.i(880305),j=a.i(310412),k=a.i(405050);let l=(0,k.createServerReference)("6090dd7dd3622766cda2d33490c36177fe10f07bbb",k.callServer,void 0,k.findSourceMapURL,"addHeartbeat"),m=(0,k.createServerReference)("605971b2a0651d57c21f9b8f5e84c1a382d5cc9674",k.callServer,void 0,k.findSourceMapURL,"addMonitor"),n=(0,k.createServerReference)("60c54ecbb1b142671c24d844324870f8ed35cceb64",k.callServer,void 0,k.findSourceMapURL,"editHeartbeat"),o=(0,k.createServerReference)("60f4e57c678c0bfe3b3d687ef85f6a1bd590942e36",k.callServer,void 0,k.findSourceMapURL,"editMonitor");var p=a.i(771378);function q(a){return null===a?{ok:!1,text:"Couldn't reach the console"}:a>=200&&a<300?{ok:!0,text:`OK \xb7 ${a}`}:404===a?{ok:!1,text:"Not found · 404"}:429===a?{ok:!1,text:"Too many pings · 429"}:{ok:!1,text:`Failed \xb7 ${a}`}}function r({name:a,url:i,onClose:j}){let k=null!==i,[l,m]=(0,d.useState)(!1),[n,o]=(0,d.useState)(null);async function s(){if(i)try{await navigator.clipboard.writeText(i),e.c.success("Copied.")}catch{e.c.error("Couldn't copy. Select the URL and copy it yourself.")}}async function t(a){let b,c=i?(b=/\/api\/ping\/(hb_[0-9a-f]{32})\/?$/.exec(i))?`/api/ping/${b[1]}${"fail"===a?"/fail":""}`:null:null;if(c&&!l){m(!0),o(null);try{let a=await fetch(c,{method:"GET",cache:"no-store"});o(q(a.status))}catch{o(q(null))}finally{m(!1)}}}function u(){o(null),j()}return(0,g.useHoldRefresh)(k),(0,b.jsx)(h.N,{open:k,onOpenChange:a=>{a||u()},children:(0,b.jsxs)(h.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)(h.F,{className:"text-base",children:["Ping URL for ",(0,b.jsx)(p.Masked,{kind:"text",real:a})]}),(0,b.jsx)(h.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"Copy it now. It is shown once; the console keeps only a hash. Lost it? Make a new one from the monitor's menu."})]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-2",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-center gap-1.5",children:[(0,b.jsx)("code",{className:"min-w-0 flex-1 overflow-x-auto whitespace-nowrap rounded-md border border-line bg-sunken px-2 py-1.5 font-mono text-[12.5px]",children:i&&(0,b.jsx)(p.Masked,{kind:"text",real:i,masked:i.replace(/(\/api\/ping\/).*/,"$1••••••")})}),(0,b.jsx)(f.K,{size:"sm",onClick:s,children:"Copy"})]}),(0,b.jsxs)("div",{className:"mb-3.5 flex flex-wrap items-center gap-2",children:[(0,b.jsx)(f.K,{size:"sm",disabled:l,onClick:()=>t("ok"),children:"Send test ping"}),(0,b.jsx)(f.K,{size:"sm",disabled:l,onClick:()=>t("fail"),children:"Test fail"}),(0,b.jsx)("span",{role:"status","aria-live":"polite",className:`text-[13px] ${n?n.ok?"text-ok":"text-err":"text-ink-soft"}`,children:l?"Sending…":n?.text??""})]}),(0,b.jsxs)("div",{className:"mb-3.5 rounded-lg border border-line bg-surface-2 px-3 py-2.5 text-[13px]",children:[(0,b.jsx)("b",{className:"font-medium",children:"From your job"}),(0,b.jsxs)("ul",{className:"mt-1 list-disc pl-[18px] text-ink-soft",children:[(0,b.jsxs)("li",{children:["When it succeeds: ",(0,b.jsx)("span",{className:"font-mono",children:"curl -fsS -m 10 <url>"})]}),(0,b.jsxs)("li",{children:["When it fails: add ",(0,b.jsx)("span",{className:"font-mono",children:"/fail"})," to the URL"]}),(0,b.jsxs)("li",{children:["When it starts (optional): add ",(0,b.jsx)("span",{className:"font-mono",children:"/start"})]})]})]})]}),(0,b.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,b.jsx)(f.K,{variant:"primary",onClick:u,children:"Done"})})]})})}a.s(["f",0,r],855771);let s={name:"",periodS:"86400",graceS:"3600"},t=[["http","HTTP check","The collector opens a URL every minute"],["heartbeat","Heartbeat","Your cron job or backup script pings a secret URL when it runs"]];function u(a){if("edit"===a.mode){let b=a.monitor;return{appId:"",kind:b.kind,url:"http"===b.kind?b.url:"",expectedStatus:String(b.expectedStatus),timeoutS:String(Math.round(b.timeoutMs/1e3)),bodyContains:b.bodyContains??"",jsonPath:b.jsonPath??"",jsonEquals:b.jsonEquals??"",name:b.name??"",periodS:String(b.periodS??s.periodS),graceS:String(b.graceS??s.graceS)}}let b=a.apps[0];return{appId:b?.id??"",kind:"http",url:b?`https://${b.domain}/api/health`:"",expectedStatus:"200",timeoutS:"5",bodyContains:"",jsonPath:"",jsonEquals:"",...s}}a.s(["MonitorDialog",0,function(a){let[k,p]=(0,d.useState)(!1),q="edit"===a.mode?a.open:k,[s,v]=(0,d.useState)(()=>u(a)),[w,x]=(0,d.useState)({}),[y,z]=(0,d.useTransition)(),[A,B]=(0,d.useState)(null);function C(b){b&&(v(u(a)),x({})),"edit"===a.mode?a.onOpenChange(b):p(b)}(0,g.useHoldRefresh)(q);let D="add"===a.mode?a.apps:[],E="add"===a.mode&&0===D.length,F="heartbeat"===s.kind,G="add"===a.mode?"HTTP checks run every minute from the collector. Heartbeats wait for your job to ping the console.":F?"Your job pings the console; nothing is fetched.":"Checked every minute from the collector.";return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(h.N,{open:q,onOpenChange:a=>{y||C(a)},children:["add"===a.mode&&(E?(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(f.K,{variant:"primary",disabled:!0,children:"Add monitor"}),(0,b.jsx)("span",{className:"text-[12.5px] text-ink-faint",children:"Watch an app first: Connections, then Sync."})]}):(0,b.jsx)(h.a,{render:(0,b.jsx)(f.K,{variant:"primary",children:"Add monitor"})})),(0,b.jsxs)(h.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsx)(h.F,{className:"text-base",children:"add"===a.mode?"Add monitor":"Edit monitor"}),(0,b.jsx)(h.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:G})]})]}),(0,b.jsxs)("form",{onSubmit:b=>{let c,d;b.preventDefault(),(d=(c="heartbeat"===s.kind)?(0,j.a)(s):(0,j.X)(s)).ok?(x({}),z(async()=>{let b=c?"add"===a.mode?await l(s.appId,s):await n(a.monitor.id,s):"add"===a.mode?await m(s.appId,s):await o(a.monitor.id,s);if(!b.ok){x(b.fieldErrors??{}),e.c.error(b.error);return}e.c.success("add"===a.mode?"Monitor added":"Monitor saved",{description:b.message}),C(!1);let d=b.data&&"pingUrl"in b.data?b.data.pingUrl:null;d&&B({name:s.name.trim(),url:d})})):x(d.fieldErrors)},children:[(0,b.jsxs)("div",{className:"px-[18px] pt-2",children:["add"===a.mode&&(0,b.jsxs)("fieldset",{className:"mb-3.5",children:[(0,b.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Type"}),(0,b.jsx)("div",{className:"overflow-hidden rounded-lg border border-line",children:t.map(([a,c,d])=>(0,b.jsxs)("label",{className:"flex cursor-pointer items-start gap-2.5 border-t border-line px-3 py-[9px] first:border-t-0 hover:bg-hover",children:[(0,b.jsx)("input",{type:"radio",name:"mon-kind",value:a,checked:s.kind===a,className:"mt-[3px] accent-brand",onChange:()=>{v({...s,kind:a}),x({})}}),(0,b.jsxs)("span",{children:[c,(0,b.jsx)("small",{className:"block text-xs text-ink-faint",children:d})]})]},a))})]}),(0,b.jsx)(f.O,{id:"mon-app",label:"Application",children:"add"===a.mode?(0,b.jsx)("select",{id:"mon-app",className:f.S,value:s.appId,onChange:a=>{let b=D.find(b=>b.id===a.target.value);v({...s,appId:a.target.value,url:b?`https://${b.domain}/`:s.url})},children:D.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))}):(0,b.jsx)("input",{id:"mon-app",className:f.S,value:a.monitor.appName,disabled:!0})}),F?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.O,{id:"hb-name",label:"Name",error:w.name,children:(0,b.jsx)("input",{id:"hb-name",className:f.S,value:s.name,placeholder:"backup job",maxLength:80,autoComplete:"off",onChange:a=>v({...s,name:a.target.value})})}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,b.jsx)(f.O,{id:"hb-every",label:"Expected every",error:w.periodS,children:(0,b.jsx)("select",{id:"hb-every",className:f.S,value:s.periodS,onChange:a=>v({...s,periodS:a.target.value}),children:i.Q.map(a=>(0,b.jsx)("option",{value:String(a),children:(0,i.v)(a)},a))})}),(0,b.jsx)(f.O,{id:"hb-grace",label:"Grace time",error:w.graceS,children:(0,b.jsx)("select",{id:"hb-grace",className:f.S,value:s.graceS,onChange:a=>v({...s,graceS:a.target.value}),children:i.q.map(a=>(0,b.jsx)("option",{value:String(a),children:(0,i.v)(a)},a))})})]}),(0,b.jsxs)("p",{className:"mb-3 text-[13px] text-ink-soft",children:["Late once the period passes, down after the grace time too.","add"===a.mode?" The ping URL is shown once after you add it.":""]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.O,{id:"mon-url",label:"URL",help:"Must start with https://. A health route that touches nothing heavy works best.",error:w.url,children:(0,b.jsx)("input",{id:"mon-url",className:f.S,value:s.url,autoComplete:"off",spellCheck:!1,onChange:a=>v({...s,url:a.target.value})})}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,b.jsx)(f.O,{id:"mon-code",label:"Expected status",error:w.expectedStatus,children:(0,b.jsx)("input",{id:"mon-code",className:f.S,inputMode:"numeric",value:s.expectedStatus,onChange:a=>v({...s,expectedStatus:a.target.value})})}),(0,b.jsx)(f.O,{id:"mon-timeout",label:"Timeout",error:w.timeoutS,children:(0,b.jsx)("select",{id:"mon-timeout",className:f.S,value:s.timeoutS,onChange:a=>v({...s,timeoutS:a.target.value}),children:j.L.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," s"]},a))})})]}),(0,b.jsx)(f.O,{id:"mon-match",label:"Response must contain (optional)",help:"Plain text, case-sensitive. The first 256 KB of the response is searched and never stored.",error:w.bodyContains,children:(0,b.jsx)("input",{id:"mon-match",className:f.S,value:s.bodyContains??"",placeholder:'e.g. "status":"ok"',autoComplete:"off",spellCheck:!1,onChange:a=>v({...s,bodyContains:a.target.value})})}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,b.jsx)(f.O,{id:"mon-jpath",label:"Or JSON field (optional)",error:w.jsonPath,children:(0,b.jsx)("input",{id:"mon-jpath",className:`${f.S} font-mono`,value:s.jsonPath??"",placeholder:"status or checks.db",autoComplete:"off",spellCheck:!1,onChange:a=>v({...s,jsonPath:a.target.value})})}),(0,b.jsx)(f.O,{id:"mon-jeq",label:"Equals",error:w.jsonEquals,children:(0,b.jsx)("input",{id:"mon-jeq",className:`${f.S} font-mono`,value:s.jsonEquals??"",placeholder:"ok",autoComplete:"off",spellCheck:!1,onChange:a=>v({...s,jsonEquals:a.target.value})})})]}),(0,b.jsx)("p",{className:"mb-3 text-[13px] text-ink-soft",children:"Marked down after 3 failed checks in a row. A missing keyword counts as a failed check."})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(f.K,{onClick:()=>C(!1),disabled:y,children:"Cancel"}),(0,b.jsx)(f.K,{type:"submit",variant:"primary",disabled:y,children:y?"Saving…":"add"===a.mode?"Add monitor":"Save"})]})]})]})]}),(0,b.jsx)(r,{name:A?.name??"",url:A?.url??null,onClose:()=>B(null)})]})}],642823)},788831,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(611619),f=a.i(188406),g=a.i(742680),h=a.i(405050);let i=(0,h.createServerReference)("40dd6fafc5198b09980d3a0e88e9b9edebc4d7d543",h.callServer,void 0,h.findSourceMapURL,"checkNow"),j=(0,h.createServerReference)("4070a969a060b0f4fcc38b0bb97d9d5cdab1d1ef1f",h.callServer,void 0,h.findSourceMapURL,"newPingUrl"),k=(0,h.createServerReference)("6057a46e4652b3111f7098d43961a5d6298b9f0e59",h.callServer,void 0,h.findSourceMapURL,"pauseMonitor"),l=(0,h.createServerReference)("607aefdf2a073db670929304dacef089e641788d09",h.callServer,void 0,h.findSourceMapURL,"recordTestPingAction"),m=(0,h.createServerReference)("400ee85a1301cc4928f4668897765e23553fa0a962",h.callServer,void 0,h.findSourceMapURL,"removeMonitor");var n=a.i(642823),o=a.i(855771);a.s(["MonitorMenu",0,function({monitor:a}){let[h,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(!1),[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(null),[,w]=(0,c.useTransition)(),x=(0,c.useRef)(!1),y="heartbeat"===a.kind,z=y?`${a.appName} \xb7 ${a.path}`:`${a.appName}${a.path}`,A=(a,b)=>{if(x.current)return;x.current=!0;let c=b?d.c.loading(b):void 0;w(async()=>{try{let b=await a();b.ok?b.data?.passed===!1?d.c.warning(b.message??"",{id:c}):d.c.success(b.message??"",{id:c}):d.c.error(b.error,{id:c})}catch{d.c.error("Something went wrong. Try again.",{id:c})}finally{x.current=!1}})},B={label:a.ownerPaused?"Resume":"Pause",onSelect:()=>A(()=>k(a.id,!a.ownerPaused))},C=y?{label:"Show ping URL",onSelect:()=>t(!0)}:{label:"Check now",onSelect:()=>A(()=>i(a.id),`Checking ${z}…`)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.RowMenu,{label:(0,g.J)(a.appName,a.path),items:[C,...y?[{label:"Record a test ping: OK",onSelect:()=>A(()=>l(a.id,"ok"))},{label:"Record a test ping: Fail",onSelect:()=>A(()=>l(a.id,"fail"))}]:[],{label:"Edit monitor",onSelect:()=>p(!0)},B,"---",{label:"Delete",danger:!0,onSelect:()=>r(!0)}]}),h&&(0,b.jsx)(n.MonitorDialog,{mode:"edit",monitor:a,open:!0,onOpenChange:p}),(0,b.jsx)(e.f,{open:q,onOpenChange:r,title:`Delete ${z}?`,body:y?"Its ping URL stops working. This can't be undone.":"This can't be undone.",cta:"Delete",danger:!0,onConfirm:async()=>{let b=await m(a.id);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}}),y&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(e.f,{open:s,onOpenChange:t,title:`New ping URL for ${a.path}?`,body:"Make a new ping URL? The old one stops working, so update your job.",cta:"Make a new URL",onConfirm:async()=>{let b=await j(a.id);return b.ok&&b.data?.pingUrl&&v(b.data.pingUrl),{ok:b.ok,message:(b.ok?b.message:b.error)??""}}}),(0,b.jsx)(o.f,{name:a.path,url:u,onClose:()=>v(null)})]})]})}],788831)}]})();
1
+ (()=>{"use strict";module.exports=[320518,a=>{var b=a.i(187924),c=a.i(249490),d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(507504),h=a.i(814574),i=a.i(941881),j=a.i(147474);let k=[30,60,90,180,360];function l(a){return"all"===a.scope?"all":"app"===a.scope?`app:${a.appId}`:`monitor:${a.monitorId}`}var m=a.i(405050);let n=(0,m.createServerReference)("40d08c27e0b6bf0312b9110e258d163cd709d8d4a7",m.callServer,void 0,m.findSourceMapURL,"addWindow"),o=(0,m.createServerReference)("60f7106a60ea00f5bfa43e072ec9ffb070d441cf3a",m.callServer,void 0,m.findSourceMapURL,"editWindow");function p(a){if("edit"===a.mode){let b=a.win;return{target:l(b),weekly:b.weekly,start:(0,j.S)(b.startsAt),durationMin:String(b.durationMin),note:b.note??""}}return{target:"all",weekly:!1,start:(0,j.S)(new Date(36e5*Math.ceil(Date.now()/36e5))),durationMin:"90",note:""}}a.s(["MaintenanceDialog",0,function(a){let[m,q]=(0,d.useState)(!1),r="edit"===a.mode?a.open:m,[s,t]=(0,d.useState)(()=>p(a)),[u,v]=(0,d.useState)({}),[w,x]=(0,d.useTransition)();function y(b){b&&(t(p(a)),v({})),"edit"===a.mode?a.onOpenChange(b):q(b)}(0,g.useHoldRefresh)(r);let{apps:z,monitors:A}=a.options,B="edit"===a.mode?l(a.win):null,C="all"===B||z.some(a=>`app:${a.id}`===B)||A.some(a=>`monitor:${a.id}`===B),D=u.scope??u.targetId;return(0,b.jsxs)(h.N,{open:r,onOpenChange:a=>{w||y(a)},children:["add"===a.mode&&(0,b.jsx)(h.a,{render:(0,b.jsx)(f.K,{children:"Add maintenance window"})}),(0,b.jsxs)(h.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsx)(h.F,{className:"text-base",children:"add"===a.mode?"Add maintenance window":"Edit maintenance window"}),(0,b.jsxs)(h.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["Checks keep running, but they are left out of uptime % and open no alerts. ",(0,j.n)()]})]})]}),(0,b.jsxs)("form",{onSubmit:b=>{b.preventDefault(),function(){var b,c;let d={...function(a){if("all"===a)return{scope:"all",targetId:""};let b=/^(app|monitor):(.+)$/.exec(a);return b?{scope:b[1],targetId:b[2]}:{scope:"",targetId:""}}(s.target),start:s.start,durationMin:s.durationMin,weekly:s.weekly,note:s.note},f=function(a){let b={},c="all"===a.scope||"app"===a.scope||"monitor"===a.scope?a.scope:null;c||(b.scope="Pick what it applies to.");let d="string"==typeof a.start?a.start:"",e=(0,j.a)(d);e||(b.start="Pick a start time.");let f=Number(a.durationMin);k.includes(f)||(b.durationMin="Pick how long it lasts.");let g="string"==typeof a.targetId?a.targetId:"";if(c&&"all"!==c&&!(0,i.f)(g)&&(b.targetId="app"===c?"Pick an application.":"Pick a monitor."),Object.keys(b).length||!c||!e)return{ok:!1,fieldErrors:b};let h=("string"==typeof a.note?a.note:"").trim().slice(0,120)||null;return{ok:!0,value:{scope:c,appId:"app"===c?g:null,monitorId:"monitor"===c?g:null,startsAt:e,durationMin:f,weekly:!0===a.weekly,note:h}}}(d);if(!f.ok)return v(f.fieldErrors);(b=f.value,c=new Date,!b.weekly&&b.startsAt.getTime()+6e4*b.durationMin<=c.getTime())?v({start:"That window has already ended."}):(v({}),x(async()=>{let b="add"===a.mode?await n(d):await o(a.win.id,d);if(!b.ok){v(b.fieldErrors??{}),e.c.error(b.error);return}e.c.success("Window saved",{description:b.message}),y(!1)}))}()},children:[(0,b.jsxs)("div",{className:"px-[18px] pt-2",children:[(0,b.jsx)(f.O,{id:"mw-scope",label:"Applies to",error:D,children:(0,b.jsxs)("select",{id:"mw-scope",className:f.S,value:s.target,onChange:a=>t({...s,target:a.target.value}),children:[(0,b.jsx)("option",{value:"all",children:"All monitors"}),"edit"===a.mode&&!C&&B&&(0,b.jsx)("option",{value:B,children:a.win.target}),z.length>0&&(0,b.jsx)("optgroup",{label:"Application",children:z.map(a=>(0,b.jsx)("option",{value:`app:${a.id}`,children:a.name},a.id))}),A.length>0&&(0,b.jsx)("optgroup",{label:"One monitor",children:A.map(a=>(0,b.jsx)("option",{value:`monitor:${a.id}`,children:a.label},a.id))})]})}),(0,b.jsxs)("fieldset",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,b.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Repeat"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-x-4 gap-y-1.5",children:[[!1,"Once"],[!0,"Every week"]].map(([a,c])=>(0,b.jsxs)("label",{className:"flex items-center gap-1.5 text-[13px]",children:[(0,b.jsx)("input",{type:"radio",name:"mw-rep",className:"size-4 accent-brand",checked:s.weekly===a,onChange:()=>t({...s,weekly:a})}),c]},c))})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,b.jsx)(f.O,{id:"mw-start",label:"Starts",error:u.start,children:(0,b.jsx)("input",{id:"mw-start",type:"datetime-local",className:f.S,value:s.start,onChange:a=>t({...s,start:a.target.value})})}),(0,b.jsx)(f.O,{id:"mw-len",label:"Lasts",error:u.durationMin,children:(0,b.jsx)("select",{id:"mw-len",className:f.S,value:s.durationMin,onChange:a=>t({...s,durationMin:a.target.value}),children:k.map(a=>{let c,d;return(0,b.jsx)("option",{value:String(a),children:[(c=Math.floor(a/60))?`${c} h`:"",(d=a%60)?`${d} min`:""].filter(Boolean).join(" ")},a)})})})]}),(0,b.jsx)(f.O,{id:"mw-note",label:"Note (optional)",help:"Shown on the public status page if a monitor there is affected.",children:(0,b.jsx)("input",{id:"mw-note",className:f.S,value:s.note,maxLength:120,placeholder:"Moving DNS to Cloudflare",autoComplete:"off",onChange:a=>t({...s,note:a.target.value})})})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(f.K,{onClick:()=>y(!1),disabled:w,children:"Cancel"}),(0,b.jsx)(f.K,{type:"submit",variant:"primary",disabled:w,children:w?"Saving…":"add"===a.mode?"Add window":"Save"})]})]})]})]})}],320518)},723355,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(611619),e=a.i(188406),f=a.i(742680),g=a.i(405050);let h=(0,g.createServerReference)("40ad9b75b55ca2b030f2c947fb0f0c8ba5df07519f",g.callServer,void 0,g.findSourceMapURL,"removeWindow");var i=a.i(320518);a.s(["MaintenanceMenu",0,function({win:a,options:g}){let[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(e.RowMenu,{label:(0,f.J)(a.target,"window"),items:[{label:"Edit window",onSelect:()=>k(!0)},"---",{label:"Delete",danger:!0,onSelect:()=>m(!0)}]}),j&&(0,b.jsx)(i.MaintenanceDialog,{mode:"edit",win:a,options:g,open:!0,onOpenChange:k}),(0,b.jsx)(d.f,{open:l,onOpenChange:m,title:"Delete this maintenance window?",body:"Checks count toward uptime % and open alerts again outside any other window.",cta:"Delete",danger:!0,onConfirm:async()=>{let b=await h(a.id);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}})]})}],723355)},642823,855771,a=>{var b=a.i(187924),c=a.i(614548),d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(507504),h=a.i(814574),i=a.i(880305),j=a.i(310412),k=a.i(405050);let l=(0,k.createServerReference)("60b503b19fe7027b20ebe28b015ddf136f9f067373",k.callServer,void 0,k.findSourceMapURL,"addHeartbeat"),m=(0,k.createServerReference)("60af72bb3ae55e65b3ec98e08422c4c949e19f5b1b",k.callServer,void 0,k.findSourceMapURL,"addMonitor"),n=(0,k.createServerReference)("60d06758724b19b0468a12f6e8115ae70c10ca828f",k.callServer,void 0,k.findSourceMapURL,"editHeartbeat"),o=(0,k.createServerReference)("601c2c13987f807989a3b2f9f80ce4ea700874186f",k.callServer,void 0,k.findSourceMapURL,"editMonitor");var p=a.i(771378);function q(a){return null===a?{ok:!1,text:"Couldn't reach the console"}:a>=200&&a<300?{ok:!0,text:`OK \xb7 ${a}`}:404===a?{ok:!1,text:"Not found · 404"}:429===a?{ok:!1,text:"Too many pings · 429"}:{ok:!1,text:`Failed \xb7 ${a}`}}function r({name:a,url:i,onClose:j}){let k=null!==i,[l,m]=(0,d.useState)(!1),[n,o]=(0,d.useState)(null);async function s(){if(i)try{await navigator.clipboard.writeText(i),e.c.success("Copied.")}catch{e.c.error("Couldn't copy. Select the URL and copy it yourself.")}}async function t(a){let b,c=i?(b=/\/api\/ping\/(hb_[0-9a-f]{32})\/?$/.exec(i))?`/api/ping/${b[1]}${"fail"===a?"/fail":""}`:null:null;if(c&&!l){m(!0),o(null);try{let a=await fetch(c,{method:"GET",cache:"no-store"});o(q(a.status))}catch{o(q(null))}finally{m(!1)}}}function u(){o(null),j()}return(0,g.useHoldRefresh)(k),(0,b.jsx)(h.N,{open:k,onOpenChange:a=>{a||u()},children:(0,b.jsxs)(h.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)(h.F,{className:"text-base",children:["Ping URL for ",(0,b.jsx)(p.Masked,{kind:"text",real:a})]}),(0,b.jsx)(h.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"Copy it now. It is shown once; the console keeps only a hash. Lost it? Make a new one from the monitor's menu."})]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-2",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-center gap-1.5",children:[(0,b.jsx)("code",{className:"min-w-0 flex-1 overflow-x-auto whitespace-nowrap rounded-md border border-line bg-sunken px-2 py-1.5 font-mono text-[12.5px]",children:i&&(0,b.jsx)(p.Masked,{kind:"text",real:i,masked:i.replace(/(\/api\/ping\/).*/,"$1••••••")})}),(0,b.jsx)(f.K,{size:"sm",onClick:s,children:"Copy"})]}),(0,b.jsxs)("div",{className:"mb-3.5 flex flex-wrap items-center gap-2",children:[(0,b.jsx)(f.K,{size:"sm",disabled:l,onClick:()=>t("ok"),children:"Send test ping"}),(0,b.jsx)(f.K,{size:"sm",disabled:l,onClick:()=>t("fail"),children:"Test fail"}),(0,b.jsx)("span",{role:"status","aria-live":"polite",className:`text-[13px] ${n?n.ok?"text-ok":"text-err":"text-ink-soft"}`,children:l?"Sending…":n?.text??""})]}),(0,b.jsxs)("div",{className:"mb-3.5 rounded-lg border border-line bg-surface-2 px-3 py-2.5 text-[13px]",children:[(0,b.jsx)("b",{className:"font-medium",children:"From your job"}),(0,b.jsxs)("ul",{className:"mt-1 list-disc pl-[18px] text-ink-soft",children:[(0,b.jsxs)("li",{children:["When it succeeds: ",(0,b.jsx)("span",{className:"font-mono",children:"curl -fsS -m 10 <url>"})]}),(0,b.jsxs)("li",{children:["When it fails: add ",(0,b.jsx)("span",{className:"font-mono",children:"/fail"})," to the URL"]}),(0,b.jsxs)("li",{children:["When it starts (optional): add ",(0,b.jsx)("span",{className:"font-mono",children:"/start"})]})]})]})]}),(0,b.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,b.jsx)(f.K,{variant:"primary",onClick:u,children:"Done"})})]})})}a.s(["f",0,r],855771);let s={name:"",periodS:"86400",graceS:"3600"},t=[["http","HTTP check","The collector opens a URL every minute"],["heartbeat","Heartbeat","Your cron job or backup script pings a secret URL when it runs"]];function u(a){if("edit"===a.mode){let b=a.monitor;return{appId:"",kind:b.kind,url:"http"===b.kind?b.url:"",expectedStatus:String(b.expectedStatus),timeoutS:String(Math.round(b.timeoutMs/1e3)),bodyContains:b.bodyContains??"",jsonPath:b.jsonPath??"",jsonEquals:b.jsonEquals??"",name:b.name??"",periodS:String(b.periodS??s.periodS),graceS:String(b.graceS??s.graceS)}}let b=a.apps[0];return{appId:b?.id??"",kind:"http",url:b?`https://${b.domain}/api/health`:"",expectedStatus:"200",timeoutS:"5",bodyContains:"",jsonPath:"",jsonEquals:"",...s}}a.s(["MonitorDialog",0,function(a){let[k,p]=(0,d.useState)(!1),q="edit"===a.mode?a.open:k,[s,v]=(0,d.useState)(()=>u(a)),[w,x]=(0,d.useState)({}),[y,z]=(0,d.useTransition)(),[A,B]=(0,d.useState)(null);function C(b){b&&(v(u(a)),x({})),"edit"===a.mode?a.onOpenChange(b):p(b)}(0,g.useHoldRefresh)(q);let D="add"===a.mode?a.apps:[],E="add"===a.mode&&0===D.length,F="heartbeat"===s.kind,G="add"===a.mode?"HTTP checks run every minute from the collector. Heartbeats wait for your job to ping the console.":F?"Your job pings the console; nothing is fetched.":"Checked every minute from the collector.";return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(h.N,{open:q,onOpenChange:a=>{y||C(a)},children:["add"===a.mode&&(E?(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(f.K,{variant:"primary",disabled:!0,children:"Add monitor"}),(0,b.jsx)("span",{className:"text-[12.5px] text-ink-faint",children:"Watch an app first: Connections, then Sync."})]}):(0,b.jsx)(h.a,{render:(0,b.jsx)(f.K,{variant:"primary",children:"Add monitor"})})),(0,b.jsxs)(h.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,b.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,b.jsx)(c.f,{size:19})}),(0,b.jsxs)("div",{children:[(0,b.jsx)(h.F,{className:"text-base",children:"add"===a.mode?"Add monitor":"Edit monitor"}),(0,b.jsx)(h.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:G})]})]}),(0,b.jsxs)("form",{onSubmit:b=>{let c,d;b.preventDefault(),(d=(c="heartbeat"===s.kind)?(0,j.a)(s):(0,j.X)(s)).ok?(x({}),z(async()=>{let b=c?"add"===a.mode?await l(s.appId,s):await n(a.monitor.id,s):"add"===a.mode?await m(s.appId,s):await o(a.monitor.id,s);if(!b.ok){x(b.fieldErrors??{}),e.c.error(b.error);return}e.c.success("add"===a.mode?"Monitor added":"Monitor saved",{description:b.message}),C(!1);let d=b.data&&"pingUrl"in b.data?b.data.pingUrl:null;d&&B({name:s.name.trim(),url:d})})):x(d.fieldErrors)},children:[(0,b.jsxs)("div",{className:"px-[18px] pt-2",children:["add"===a.mode&&(0,b.jsxs)("fieldset",{className:"mb-3.5",children:[(0,b.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Type"}),(0,b.jsx)("div",{className:"overflow-hidden rounded-lg border border-line",children:t.map(([a,c,d])=>(0,b.jsxs)("label",{className:"flex cursor-pointer items-start gap-2.5 border-t border-line px-3 py-[9px] first:border-t-0 hover:bg-hover",children:[(0,b.jsx)("input",{type:"radio",name:"mon-kind",value:a,checked:s.kind===a,className:"mt-[3px] accent-brand",onChange:()=>{v({...s,kind:a}),x({})}}),(0,b.jsxs)("span",{children:[c,(0,b.jsx)("small",{className:"block text-xs text-ink-faint",children:d})]})]},a))})]}),(0,b.jsx)(f.O,{id:"mon-app",label:"Application",children:"add"===a.mode?(0,b.jsx)("select",{id:"mon-app",className:f.S,value:s.appId,onChange:a=>{let b=D.find(b=>b.id===a.target.value);v({...s,appId:a.target.value,url:b?`https://${b.domain}/`:s.url})},children:D.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))}):(0,b.jsx)("input",{id:"mon-app",className:f.S,value:a.monitor.appName,disabled:!0})}),F?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.O,{id:"hb-name",label:"Name",error:w.name,children:(0,b.jsx)("input",{id:"hb-name",className:f.S,value:s.name,placeholder:"backup job",maxLength:80,autoComplete:"off",onChange:a=>v({...s,name:a.target.value})})}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,b.jsx)(f.O,{id:"hb-every",label:"Expected every",error:w.periodS,children:(0,b.jsx)("select",{id:"hb-every",className:f.S,value:s.periodS,onChange:a=>v({...s,periodS:a.target.value}),children:i.Q.map(a=>(0,b.jsx)("option",{value:String(a),children:(0,i.v)(a)},a))})}),(0,b.jsx)(f.O,{id:"hb-grace",label:"Grace time",error:w.graceS,children:(0,b.jsx)("select",{id:"hb-grace",className:f.S,value:s.graceS,onChange:a=>v({...s,graceS:a.target.value}),children:i.q.map(a=>(0,b.jsx)("option",{value:String(a),children:(0,i.v)(a)},a))})})]}),(0,b.jsxs)("p",{className:"mb-3 text-[13px] text-ink-soft",children:["Late once the period passes, down after the grace time too.","add"===a.mode?" The ping URL is shown once after you add it.":""]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.O,{id:"mon-url",label:"URL",help:"Must start with https://. A health route that touches nothing heavy works best.",error:w.url,children:(0,b.jsx)("input",{id:"mon-url",className:f.S,value:s.url,autoComplete:"off",spellCheck:!1,onChange:a=>v({...s,url:a.target.value})})}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,b.jsx)(f.O,{id:"mon-code",label:"Expected status",error:w.expectedStatus,children:(0,b.jsx)("input",{id:"mon-code",className:f.S,inputMode:"numeric",value:s.expectedStatus,onChange:a=>v({...s,expectedStatus:a.target.value})})}),(0,b.jsx)(f.O,{id:"mon-timeout",label:"Timeout",error:w.timeoutS,children:(0,b.jsx)("select",{id:"mon-timeout",className:f.S,value:s.timeoutS,onChange:a=>v({...s,timeoutS:a.target.value}),children:j.L.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," s"]},a))})})]}),(0,b.jsx)(f.O,{id:"mon-match",label:"Response must contain (optional)",help:"Plain text, case-sensitive. The first 256 KB of the response is searched and never stored.",error:w.bodyContains,children:(0,b.jsx)("input",{id:"mon-match",className:f.S,value:s.bodyContains??"",placeholder:'e.g. "status":"ok"',autoComplete:"off",spellCheck:!1,onChange:a=>v({...s,bodyContains:a.target.value})})}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,b.jsx)(f.O,{id:"mon-jpath",label:"Or JSON field (optional)",error:w.jsonPath,children:(0,b.jsx)("input",{id:"mon-jpath",className:`${f.S} font-mono`,value:s.jsonPath??"",placeholder:"status or checks.db",autoComplete:"off",spellCheck:!1,onChange:a=>v({...s,jsonPath:a.target.value})})}),(0,b.jsx)(f.O,{id:"mon-jeq",label:"Equals",error:w.jsonEquals,children:(0,b.jsx)("input",{id:"mon-jeq",className:`${f.S} font-mono`,value:s.jsonEquals??"",placeholder:"ok",autoComplete:"off",spellCheck:!1,onChange:a=>v({...s,jsonEquals:a.target.value})})})]}),(0,b.jsx)("p",{className:"mb-3 text-[13px] text-ink-soft",children:"Marked down after 3 failed checks in a row. A missing keyword counts as a failed check."})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(f.K,{onClick:()=>C(!1),disabled:y,children:"Cancel"}),(0,b.jsx)(f.K,{type:"submit",variant:"primary",disabled:y,children:y?"Saving…":"add"===a.mode?"Add monitor":"Save"})]})]})]})]}),(0,b.jsx)(r,{name:A?.name??"",url:A?.url??null,onClose:()=>B(null)})]})}],642823)},788831,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(611619),f=a.i(188406),g=a.i(742680),h=a.i(405050);let i=(0,h.createServerReference)("40c42266cbe4ee4ddc78fc7cc9ed53de3a2b13b35b",h.callServer,void 0,h.findSourceMapURL,"checkNow"),j=(0,h.createServerReference)("40b4d9b26b142d7239a54c1aeaf6a9004a42d90246",h.callServer,void 0,h.findSourceMapURL,"newPingUrl"),k=(0,h.createServerReference)("6024484dd700198059efc921f012d5b2523880850a",h.callServer,void 0,h.findSourceMapURL,"pauseMonitor"),l=(0,h.createServerReference)("60f464a3fe87a733927ac684d76b40f8cfbabe915d",h.callServer,void 0,h.findSourceMapURL,"recordTestPingAction"),m=(0,h.createServerReference)("4053ce9dcc19911f894a83351b4129c17160f06498",h.callServer,void 0,h.findSourceMapURL,"removeMonitor");var n=a.i(642823),o=a.i(855771);a.s(["MonitorMenu",0,function({monitor:a}){let[h,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(!1),[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(null),[,w]=(0,c.useTransition)(),x=(0,c.useRef)(!1),y="heartbeat"===a.kind,z=y?`${a.appName} \xb7 ${a.path}`:`${a.appName}${a.path}`,A=(a,b)=>{if(x.current)return;x.current=!0;let c=b?d.c.loading(b):void 0;w(async()=>{try{let b=await a();b.ok?b.data?.passed===!1?d.c.warning(b.message??"",{id:c}):d.c.success(b.message??"",{id:c}):d.c.error(b.error,{id:c})}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:c})}finally{x.current=!1}})},B={label:a.ownerPaused?"Resume":"Pause",onSelect:()=>A(()=>k(a.id,!a.ownerPaused))},C=y?{label:"Show ping URL",onSelect:()=>t(!0)}:{label:"Check now",onSelect:()=>A(()=>i(a.id),`Checking ${z}…`)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.RowMenu,{label:(0,g.J)(a.appName,a.path),items:[C,...y?[{label:"Record a test ping: OK",onSelect:()=>A(()=>l(a.id,"ok"))},{label:"Record a test ping: Fail",onSelect:()=>A(()=>l(a.id,"fail"))}]:[],{label:"Edit monitor",onSelect:()=>p(!0)},B,"---",{label:"Delete",danger:!0,onSelect:()=>r(!0)}]}),h&&(0,b.jsx)(n.MonitorDialog,{mode:"edit",monitor:a,open:!0,onOpenChange:p}),(0,b.jsx)(e.f,{open:q,onOpenChange:r,title:`Delete ${z}?`,body:y?"Its ping URL stops working. This can't be undone.":"This can't be undone.",cta:"Delete",danger:!0,onConfirm:async()=>{let b=await m(a.id);return{ok:b.ok,message:(b.ok?b.message:b.error)??""}}}),y&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(e.f,{open:s,onOpenChange:t,title:`New ping URL for ${a.path}?`,body:"Make a new ping URL? The old one stops working, so update your job.",cta:"Make a new URL",onConfirm:async()=>{let b=await j(a.id);return b.ok&&b.data?.pingUrl&&v(b.data.pingUrl),{ok:b.ok,message:(b.ok?b.message:b.error)??""}}}),(0,b.jsx)(o.f,{name:a.path,url:u,onClose:()=>v(null)})]})]})}],788831)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_uptime_1mnnkfi-2zv-k._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[429852,a=>{"use strict";var b=a.i(137936),c=a.i(600079),d=a.i(109307),e=a.i(858806),f=a.i(322145),g=a.i(915598),h=a.i(683439),i=a.i(75105),j=a.i(572134),k=a.i(288666);let l={truncated:!1,lines:[{at:null,kind:"delimiter",text:"Running build in Washington, D.C., USA (East) – iad1"},{at:null,kind:"stdout",text:"Cloning github.com/example/shop (Branch: main, Commit: 4f2a9c1)"},{at:null,kind:"command",text:"npm install"},{at:null,kind:"stdout",text:"added 412 packages in 18s"},{at:null,kind:"command",text:"npm run build"},{at:null,kind:"stdout",text:"> next build"},{at:null,kind:"stdout",text:" ▲ Next.js 16.4.1"},{at:null,kind:"stdout",text:" Creating an optimized production build ..."},{at:null,kind:"stderr",text:"Failed to compile."},{at:null,kind:"stderr",text:"./app/checkout/page.tsx:12:7"},{at:null,kind:"stderr",text:"Type error: Property 'total' does not exist on type 'Cart'."},{at:null,kind:"stderr",text:'Error: Command "npm run build" exited with 1'}]},m=["stdout","stderr","command","delimiter"],n=/\u001b\[[0-9;?]*[A-Za-z]/g,o=a=>a&&"object"==typeof a&&!Array.isArray(a)?a:null;async function p(a,b,c,d={}){let e=new URLSearchParams({teamId:b,builds:"1",direction:"backward",limit:String(2e3)}),f=await (0,k.R)("Vercel",`https://api.vercel.com/v3/deployments/${encodeURIComponent(c)}/events?${e}`,{token:a},{timeoutMs:1e4,...d});if(!f.ok)return f;let g=function(a){if(!Array.isArray(a))return null;let b=[];for(let c of a){let a=o(c);if(!a||!m.includes(a.type))continue;let d=o(a.payload),e="string"==typeof d?.text?d.text:"string"==typeof a.text?a.text:null;if(null===e)continue;let f="number"==typeof a.created?a.created:"number"==typeof d?.date?d.date:null,g=e.replace(n,"").replace(/\r/g,"").split("\n");for(let c of(g.length>1&&""===g.at(-1)&&g.pop(),g))b.push({at:f,kind:a.type,text:c})}return b}(f.data);if(!g||!Array.isArray(f.data))return(0,k.t)("Vercel","the build log");let h=function(a,b=2e3){return a.length>b?{lines:a.slice(a.length-b),truncated:!0}:{lines:a,truncated:!1}}(g.every(a=>null!==a.at)?g.map((a,b)=>({l:a,i:b})).sort((a,b)=>a.l.at-b.l.at||a.i-b.i).map(a=>a.l):[...g].reverse());return{ok:!0,data:{lines:h.lines,truncated:h.truncated||f.data.length>=2e3}}}var q=a.i(657582),r=a.i(713095);let s={requireActionMember:d.g};async function t(a,b){return(0,c.F)("operator",async c=>(0,h.f)(a)&&"string"==typeof b&&g.T.test(b)?(0,g.B)(c,a,b):{ok:!1,error:i.w},s)}async function u(a){return(0,c.F)("operator",async b=>{if(!(0,h.f)(a))return{ok:!1,error:i.w};let c=await (0,e.R)(a);return c?(0,g.B)(b,a,c):{ok:!1,error:"No current production deployment"}},s)}async function v(a,b){return(0,c.F)("operator",async()=>{if(!(0,h.f)(a)||"string"!=typeof b||!g.T.test(b)||!await (0,e.C)(a,b))return{ok:!1,error:i.w};let c=await (0,f.p)(a,"app"),d=c?.resource.meta.teamId;if(!c||"string"!=typeof d||!d)return{ok:!1,error:g.u};let j=await p(c.token,d,b);return j.ok?{ok:!0,data:j.data}:{ok:!1,error:`Couldn't read the build log: ${j.error}`}},s,async()=>({ok:!0,data:l}))}async function w(a,b){return(0,c.F)("operator",async c=>(0,h.f)(a)&&"string"==typeof b&&g.T.test(b)?(0,g.U)(c,a,b):{ok:!1,error:i.w},s)}async function x(a,b){return(0,c.F)("operator",async c=>{if(!(0,h.f)(a)||"string"!=typeof b||!g.T.test(b))return{ok:!1,error:i.w};let d=await (0,g.p)(c,"promote",a);if("string"==typeof d)return(0,f.W)((0,g.O)(d),c,"");let e=await (0,g.X)(d);if(!e.ok)return(0,f.W)((0,g.O)(e.error),c,d.t.account.id);if(e.data.currentId===b)return(0,f.W)((0,g.O)(g.f),c,d.t.account.id);let k=e.data.production.find(a=>a.id===b);if(!k||"staged"!==(0,q.U)(k,e.data.currentId,e.data.production))return(0,f.W)((0,g.O)(g.v),c,d.t.account.id);let l=(0,g.C)(k,b),m=await (0,j.u)(d.t.token,d.teamId,d.projectId,b);return(0,g.J)(d,m,{message:`Promoted ${l}. New pushes to ${d.app} go live again.`,audit:`Promoted \xb7 ${d.app} → ${l}`},`Promote failed \xb7 ${d.app} → ${l}`)},s)}async function y(a,b){return(0,c.F)("operator",async c=>{if(!(0,h.f)(a)||"string"!=typeof b||!g.T.test(b))return{ok:!1,error:i.w};let d=await (0,g.p)(c,"cancel",a);if("string"==typeof d)return(0,f.W)((0,g.O)(d),c,"");let e=await (0,j.S)(d.t.token,{id:d.teamId,slug:d.teamSlug,name:d.teamSlug},b);if(!e.ok)return(0,f.W)((0,g.O)(404===e.status?"Vercel can't find that build any more.":e.error),c,d.t.account.id);if(e.data.projectId!==d.projectId)return(0,f.W)((0,g.O)(i.w),c,d.t.account.id);if(!g.o.has(e.data.rawState))return(0,f.W)((0,g.O)("This build already finished."),c,d.t.account.id);let k=(0,g.C)(e.data,b),l=await (0,j.T)(d.t.token,d.teamId,b);return(0,g.J)(d,l,{message:"Build canceled. The current production deployment stays live.",audit:`Build canceled \xb7 ${d.app} \xb7 ${k}`},`Cancel failed \xb7 ${d.app} \xb7 ${k}`)},s)}async function z(a,b){return(0,c.F)("operator",async c=>{if(!(0,h.f)(a)||"string"!=typeof b||!g.T.test(b))return{ok:!1,error:i.w};let d=await (0,g.p)(c,"promote-preview",a);if("string"==typeof d)return(0,f.W)((0,g.O)(d),c,"");let e=await (0,j.S)(d.t.token,{id:d.teamId,slug:d.teamSlug,name:d.teamSlug},b);if(!e.ok)return(0,f.W)((0,g.O)(404===e.status?g.G:e.error),c,d.t.account.id);if(e.data.projectId!==d.projectId)return(0,f.W)((0,g.O)(i.w),c,d.t.account.id);if("preview"!==e.data.target||"READY"!==e.data.rawState)return(0,f.W)((0,g.O)(g.l),c,d.t.account.id);let k=await (0,g.X)(d);if(!k.ok)return(0,f.W)((0,g.O)(k.error),c,d.t.account.id);if(k.data.production.some(a=>"staged"===(0,q.U)(a,k.data.currentId,k.data.production)))return(0,f.W)((0,g.O)(g.S),c,d.t.account.id);let l=await (0,j.N)(d.t.token,d.teamId,d.projectId);if(!l.ok)return(0,f.W)((0,g.O)(l.error),c,d.t.account.id);if(l.data)return(0,f.W)((0,g.O)(`A production build of ${d.app} is already running.`),c,d.t.account.id);let m=(0,g.C)(e.data,b),n=await (0,j.l)(d.t.token,d.teamId,{projectId:d.projectId,name:k.data.name,deploymentId:b});return(0,g.J)(d,n,{message:`Promoting ${m} to production. Vercel is building ${d.app} with the production environment variables; it goes live when the build is ready.`,audit:`Preview promoted \xb7 ${d.app} \xb7 ${m}`},`Preview promote failed \xb7 ${d.app} \xb7 ${m}`)},s)}(0,r.ensureServerEntryExports)([t,u,v,w,x,y,z]),(0,b.registerServerReference)(t,"602cb079aa790e16ea19167eba40830d6c08c0b1fd",null),(0,b.registerServerReference)(u,"4099037ab6341405c4e2a0854bfc31c1767a9e5081",null),(0,b.registerServerReference)(v,"60252179b2cdeae52a032ad3a892e77538b0e1b841",null),(0,b.registerServerReference)(w,"60533fb4e5182651671fbfa30df5880c0731f9e75c",null),(0,b.registerServerReference)(x,"60865708d5a5bc688c74b6e4cf4b65321b87491175",null),(0,b.registerServerReference)(y,"608b682929d1b66dc8ec085312646ab3768493bd3e",null),(0,b.registerServerReference)(z,"603c4306edfc8590aea062360360e6644e0ccb004c",null),a.s(["m",0,v,"x",0,y,"j",0,x,"Y",0,z,"t",0,t,"n",0,u,"d",0,w],429852)}];
1
+ module.exports=[429852,a=>{"use strict";var b=a.i(137936),c=a.i(600079),d=a.i(109307),e=a.i(858806),f=a.i(322145),g=a.i(915598),h=a.i(683439),i=a.i(75105),j=a.i(572134),k=a.i(288666);let l={truncated:!1,lines:[{at:null,kind:"delimiter",text:"Running build in Washington, D.C., USA (East) – iad1"},{at:null,kind:"stdout",text:"Cloning github.com/example/shop (Branch: main, Commit: 4f2a9c1)"},{at:null,kind:"command",text:"npm install"},{at:null,kind:"stdout",text:"added 412 packages in 18s"},{at:null,kind:"command",text:"npm run build"},{at:null,kind:"stdout",text:"> next build"},{at:null,kind:"stdout",text:" ▲ Next.js 16.4.1"},{at:null,kind:"stdout",text:" Creating an optimized production build ..."},{at:null,kind:"stderr",text:"Failed to compile."},{at:null,kind:"stderr",text:"./app/checkout/page.tsx:12:7"},{at:null,kind:"stderr",text:"Type error: Property 'total' does not exist on type 'Cart'."},{at:null,kind:"stderr",text:'Error: Command "npm run build" exited with 1'}]},m=["stdout","stderr","command","delimiter"],n=/\u001b\[[0-9;?]*[A-Za-z]/g,o=a=>a&&"object"==typeof a&&!Array.isArray(a)?a:null;async function p(a,b,c,d={}){let e=new URLSearchParams({teamId:b,builds:"1",direction:"backward",limit:String(2e3)}),f=await (0,k.R)("Vercel",`https://api.vercel.com/v3/deployments/${encodeURIComponent(c)}/events?${e}`,{token:a},{timeoutMs:1e4,...d});if(!f.ok)return f;let g=function(a){if(!Array.isArray(a))return null;let b=[];for(let c of a){let a=o(c);if(!a||!m.includes(a.type))continue;let d=o(a.payload),e="string"==typeof d?.text?d.text:"string"==typeof a.text?a.text:null;if(null===e)continue;let f="number"==typeof a.created?a.created:"number"==typeof d?.date?d.date:null,g=e.replace(n,"").replace(/\r/g,"").split("\n");for(let c of(g.length>1&&""===g.at(-1)&&g.pop(),g))b.push({at:f,kind:a.type,text:c})}return b}(f.data);if(!g||!Array.isArray(f.data))return(0,k.t)("Vercel","the build log");let h=function(a,b=2e3){return a.length>b?{lines:a.slice(a.length-b),truncated:!0}:{lines:a,truncated:!1}}(g.every(a=>null!==a.at)?g.map((a,b)=>({l:a,i:b})).sort((a,b)=>a.l.at-b.l.at||a.i-b.i).map(a=>a.l):[...g].reverse());return{ok:!0,data:{lines:h.lines,truncated:h.truncated||f.data.length>=2e3}}}var q=a.i(657582),r=a.i(713095);let s={requireActionMember:d.g};async function t(a,b){return(0,c.F)("operator",async c=>(0,h.f)(a)&&"string"==typeof b&&g.T.test(b)?(0,g.B)(c,a,b):{ok:!1,error:i.w},s)}async function u(a){return(0,c.F)("operator",async b=>{if(!(0,h.f)(a))return{ok:!1,error:i.w};let c=await (0,e.R)(a);return c?(0,g.B)(b,a,c):{ok:!1,error:"No current production deployment"}},s)}async function v(a,b){return(0,c.F)("operator",async()=>{if(!(0,h.f)(a)||"string"!=typeof b||!g.T.test(b)||!await (0,e.C)(a,b))return{ok:!1,error:i.w};let c=await (0,f.p)(a,"app"),d=c?.resource.meta.teamId;if(!c||"string"!=typeof d||!d)return{ok:!1,error:g.u};let j=await p(c.token,d,b);return j.ok?{ok:!0,data:j.data}:{ok:!1,error:`Couldn't read the build log: ${j.error}`}},s,async()=>({ok:!0,data:l}))}async function w(a,b){return(0,c.F)("operator",async c=>(0,h.f)(a)&&"string"==typeof b&&g.T.test(b)?(0,g.U)(c,a,b):{ok:!1,error:i.w},s)}async function x(a,b){return(0,c.F)("operator",async c=>{if(!(0,h.f)(a)||"string"!=typeof b||!g.T.test(b))return{ok:!1,error:i.w};let d=await (0,g.p)(c,"promote",a);if("string"==typeof d)return(0,f.W)((0,g.O)(d),c,"");let e=await (0,g.X)(d);if(!e.ok)return(0,f.W)((0,g.O)(e.error),c,d.t.account.id);if(e.data.currentId===b)return(0,f.W)((0,g.O)(g.f),c,d.t.account.id);let k=e.data.production.find(a=>a.id===b);if(!k||"staged"!==(0,q.U)(k,e.data.currentId,e.data.production))return(0,f.W)((0,g.O)(g.v),c,d.t.account.id);let l=(0,g.C)(k,b),m=await (0,j.u)(d.t.token,d.teamId,d.projectId,b);return(0,g.J)(d,m,{message:`Promoted ${l}. New pushes to ${d.app} go live again.`,audit:`Promoted \xb7 ${d.app} → ${l}`},`Promote failed \xb7 ${d.app} → ${l}`)},s)}async function y(a,b){return(0,c.F)("operator",async c=>{if(!(0,h.f)(a)||"string"!=typeof b||!g.T.test(b))return{ok:!1,error:i.w};let d=await (0,g.p)(c,"cancel",a);if("string"==typeof d)return(0,f.W)((0,g.O)(d),c,"");let e=await (0,j.S)(d.t.token,{id:d.teamId,slug:d.teamSlug,name:d.teamSlug},b);if(!e.ok)return(0,f.W)((0,g.O)(404===e.status?"Vercel can't find that build any more.":e.error),c,d.t.account.id);if(e.data.projectId!==d.projectId)return(0,f.W)((0,g.O)(i.w),c,d.t.account.id);if(!g.o.has(e.data.rawState))return(0,f.W)((0,g.O)("This build already finished."),c,d.t.account.id);let k=(0,g.C)(e.data,b),l=await (0,j.T)(d.t.token,d.teamId,b);return(0,g.J)(d,l,{message:"Build canceled. The current production deployment stays live.",audit:`Build canceled \xb7 ${d.app} \xb7 ${k}`},`Cancel failed \xb7 ${d.app} \xb7 ${k}`)},s)}async function z(a,b){return(0,c.F)("operator",async c=>{if(!(0,h.f)(a)||"string"!=typeof b||!g.T.test(b))return{ok:!1,error:i.w};let d=await (0,g.p)(c,"promote-preview",a);if("string"==typeof d)return(0,f.W)((0,g.O)(d),c,"");let e=await (0,j.S)(d.t.token,{id:d.teamId,slug:d.teamSlug,name:d.teamSlug},b);if(!e.ok)return(0,f.W)((0,g.O)(404===e.status?g.G:e.error),c,d.t.account.id);if(e.data.projectId!==d.projectId)return(0,f.W)((0,g.O)(i.w),c,d.t.account.id);if("preview"!==e.data.target||"READY"!==e.data.rawState)return(0,f.W)((0,g.O)(g.l),c,d.t.account.id);let k=await (0,g.X)(d);if(!k.ok)return(0,f.W)((0,g.O)(k.error),c,d.t.account.id);if(k.data.production.some(a=>"staged"===(0,q.U)(a,k.data.currentId,k.data.production)))return(0,f.W)((0,g.O)(g.S),c,d.t.account.id);let l=await (0,j.N)(d.t.token,d.teamId,d.projectId);if(!l.ok)return(0,f.W)((0,g.O)(l.error),c,d.t.account.id);if(l.data)return(0,f.W)((0,g.O)(`A production build of ${d.app} is already running.`),c,d.t.account.id);let m=(0,g.C)(e.data,b),n=await (0,j.l)(d.t.token,d.teamId,{projectId:d.projectId,name:k.data.name,deploymentId:b});return(0,g.J)(d,n,{message:`Promoting ${m} to production. Vercel is building ${d.app} with the production environment variables; it goes live when the build is ready.`,audit:`Preview promoted \xb7 ${d.app} \xb7 ${m}`},`Preview promote failed \xb7 ${d.app} \xb7 ${m}`)},s)}(0,r.ensureServerEntryExports)([t,u,v,w,x,y,z]),(0,b.registerServerReference)(t,"60c2c2b029bb186d7e38be0b9de23ad51b73f49a9c",null),(0,b.registerServerReference)(u,"401e9fb3aad22634e10eb1573d6fe2463a351ff31d",null),(0,b.registerServerReference)(v,"60ae1483af405892538e28635318991479a6241c82",null),(0,b.registerServerReference)(w,"60b9586d0ba185fb488147d28037e70b09fef7154d",null),(0,b.registerServerReference)(x,"6015dd589a5afaae2b2030daff881bfe114b12de8d",null),(0,b.registerServerReference)(y,"605b7387a897f12eb733b6ae4701dcfc17ab0a107a",null),(0,b.registerServerReference)(z,"60ac493930aaf8547fa6c8e526f2d93cc58abe0ca9",null),a.s(["m",0,v,"x",0,y,"j",0,x,"Y",0,z,"t",0,t,"n",0,u,"d",0,w],429852)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_%28console%29_vercel-actions_ts_0wpk1yo9v632d._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[829254,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(619089),e=a.i(405050);let f=(0,e.createServerReference)("60097e5843fd036fa8c58aa8a39bc38da519804ffc",e.callServer,void 0,e.findSourceMapURL,"confirmMfaEnrollment"),g=(0,e.createServerReference)("001fcedda00515e89b3057f42768f76ba7b4048607",e.callServer,void 0,e.findSourceMapURL,"startMfaEnrollment");var h=a.i(756540);a.s(["SetupFlow",0,function(){let[a,e]=(0,c.useState)(null),[i,j]=(0,c.useTransition)(),[k,l,m]=(0,c.useActionState)(f,{status:"idle"});(0,h.f)(k);let n="done"===k.status;return a&&a.ok?(0,b.jsxs)("form",{action:l,children:[(0,b.jsxs)("ol",{className:"mb-3 list-decimal pl-5 text-[13px] text-ink-soft",children:[(0,b.jsx)("li",{children:"Scan this QR code with your authenticator app."}),(0,b.jsx)("li",{children:"Type the 6-digit code it shows."})]}),(0,b.jsx)("img",{src:a.qr,alt:"QR code for your authenticator app",className:"mx-auto mb-3 size-44 rounded-lg bg-white p-2"}),(0,b.jsxs)("p",{className:"mb-3 text-center text-[12.5px] text-ink-soft",children:["Can't scan? Enter this key: ",(0,b.jsx)("code",{className:"font-mono break-all text-ink",children:a.secret})]}),(0,b.jsx)("input",{type:"hidden",name:"factorId",value:a.factorId}),(0,b.jsx)(d.O,{id:"code",label:"Code",error:"error"===k.status?k.message:void 0,children:(0,b.jsx)("input",{id:"code",name:"code",inputMode:"numeric",autoComplete:"one-time-code",pattern:"[0-9 ]{6,7}",maxLength:7,required:!0,className:`${d.S} font-mono tracking-widest`,placeholder:"123456"})}),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:m||n,children:n?"Opening the console…":m?"Checking…":"Turn on"})]}):(0,b.jsxs)(b.Fragment,{children:[a&&!a.ok&&(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(d.M,{tone:"danger",title:a.error})}),(0,b.jsx)(d.K,{variant:"primary",className:"w-full justify-center",disabled:i,onClick:()=>j(async()=>e(await g())),children:i?"Preparing…":"Set up authenticator"})]})}],829254)}];
1
+ module.exports=[829254,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(619089),e=a.i(405050);let f=(0,e.createServerReference)("608e2d67090a15afe5a13f645dcc83eecbdf73bc2b",e.callServer,void 0,e.findSourceMapURL,"confirmMfaEnrollment"),g=(0,e.createServerReference)("007f58e430253d14af5d1102584e20ea6341e6b638",e.callServer,void 0,e.findSourceMapURL,"startMfaEnrollment");var h=a.i(756540);a.s(["SetupFlow",0,function(){let[a,e]=(0,c.useState)(null),[i,j]=(0,c.useTransition)(),[k,l,m]=(0,c.useActionState)(f,{status:"idle"});(0,h.f)(k);let n="done"===k.status;return a&&a.ok?(0,b.jsxs)("form",{action:l,children:[(0,b.jsxs)("ol",{className:"mb-3 list-decimal pl-5 text-[13px] text-ink-soft",children:[(0,b.jsx)("li",{children:"Scan this QR code with your authenticator app."}),(0,b.jsx)("li",{children:"Type the 6-digit code it shows."})]}),(0,b.jsx)("img",{src:a.qr,alt:"QR code for your authenticator app",className:"mx-auto mb-3 size-44 rounded-lg bg-white p-2"}),(0,b.jsxs)("p",{className:"mb-3 text-center text-[12.5px] text-ink-soft",children:["Can't scan? Enter this key: ",(0,b.jsx)("code",{className:"font-mono break-all text-ink",children:a.secret})]}),(0,b.jsx)("input",{type:"hidden",name:"factorId",value:a.factorId}),(0,b.jsx)(d.O,{id:"code",label:"Code",error:"error"===k.status?k.message:void 0,children:(0,b.jsx)("input",{id:"code",name:"code",inputMode:"numeric",autoComplete:"one-time-code",pattern:"[0-9 ]{6,7}",maxLength:7,required:!0,className:`${d.S} font-mono tracking-widest`,placeholder:"123456"})}),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:m||n,children:n?"Opening the console…":m?"Checking…":"Turn on"})]}):(0,b.jsxs)(b.Fragment,{children:[a&&!a.ok&&(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(d.M,{tone:"danger",title:a.error})}),(0,b.jsx)(d.K,{variant:"primary",className:"w-full justify-center",disabled:i,onClick:()=>j(async()=>e(await g())),children:i?"Preparing…":"Set up authenticator"})]})}],829254)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[779798,a=>{"use strict";var b=a.i(907997),c=a.i(568119);a.i(570396);var d=a.i(673727),e=a.i(800717),f=a.i(252302),g=a.i(686251),h=a.i(149396),i=a.i(470253),j=a.i(245710);async function k(){return[]}let l=(0,e.cache)(async a=>{let b=(0,i.P)(a);return b?(0,h.t)(b,new Date):null});async function m({params:a}){let b=await l((await a).slug);return{title:b?b.title:"No status page here",robots:{index:!1,follow:!1}}}function n({state:a,title:c,children:d}){return(0,b.jsxs)("div",{className:"flex items-start gap-2.5 rounded-lg border border-brand/25 bg-brand-soft px-3.5 py-2.5",role:"status",children:[(0,b.jsx)("span",{className:"mt-px",children:(0,b.jsx)(g.Z,{state:a,size:18})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("b",{className:"block font-medium",children:c}),d&&(0,b.jsx)("p",{className:"mt-0.5 text-[13px] text-ink-soft",children:d})]})]})}async function o({params:a}){let{slug:e}=await a,h=await l(e);h||(0,d.notFound)();let k=(0,i.W)(h.monitors);return(0,b.jsxs)("main",{className:"mx-auto flex max-w-[760px] flex-col gap-4 px-4 pb-12 pt-8",children:[(0,b.jsxs)("header",{className:"flex items-center gap-3",children:[(0,b.jsx)(c.f,{}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"text-[20px]",children:h.title}),(0,b.jsxs)("p",{className:"mt-0.5 text-ink-soft",children:["Updated every minute · times in ",(0,j.D)()]})]})]}),k&&(0,b.jsxs)("p",{className:"m-0 flex items-center gap-2 text-[17px] font-medium",role:"status",children:[(0,b.jsx)(g.Z,{state:k.state,size:20}),k.text]}),h.announcement&&(0,b.jsx)(n,{state:"info",title:h.announcement}),h.maintenance.map((a,c)=>(0,b.jsxs)(n,{state:"maint",title:a.active?"Maintenance now":"Scheduled maintenance",children:[`${a.from}–${a.to} ${(0,j.D)()}.`,a.note&&` ${a.note}`]},c)),(0,b.jsxs)("section",{className:"min-w-0 rounded-lg border border-line bg-surface",children:[0===h.monitors.length&&(0,b.jsx)("p",{className:"px-[18px] py-4 text-ink-soft",children:"Nothing is shown on this page yet."}),h.monitors.map(a=>(0,b.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1.5 border-t border-line px-[18px] py-3 first:border-t-0",children:[(0,b.jsx)("b",{className:"min-w-0 truncate font-medium",children:a.name}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(g.F,{state:a.state,children:a.label}),(0,b.jsx)("span",{className:"font-mono text-[12.5px] text-ink-faint",children:a.uptime})]}),(0,b.jsx)("div",{className:"col-span-full min-w-0 overflow-x-auto",children:(0,b.jsx)(f.n,{bars:a.bars.map((a,b)=>({day:String(b),tone:a.tone,title:a.title}))})})]},a.badge))]}),(0,b.jsx)("p",{className:"m-0 text-[12.5px] text-ink-faint",children:"Last 90 days. Grey means no data, blue means maintenance (not counted)."})]})}a.s(["default",0,o,"dynamicParams",0,!0,"generateMetadata",0,m,"generateStaticParams",0,k,"revalidate",0,60])},475787,function(a){a.n(a.i(779798))}];
1
+ module.exports=[779798,a=>{"use strict";var b=a.i(907997),c=a.i(568119);a.i(570396);var d=a.i(673727),e=a.i(800717),f=a.i(252302),g=a.i(686251),h=a.i(149396),i=a.i(470253),j=a.i(245710);async function k(){return[]}let l=(0,e.cache)(async a=>{let b=(0,i.P)(a);return b?(0,h.t)(b,new Date):null});async function m({params:a}){let b=await l((await a).slug);return{title:b?b.title:"No status page here",robots:{index:!1,follow:!1}}}function n({state:a,title:c,children:d}){return(0,b.jsxs)("div",{className:"flex items-start gap-2.5 rounded-lg border border-brand/25 bg-brand-soft px-3.5 py-2.5",role:"status",children:[(0,b.jsx)("span",{className:"mt-px",children:(0,b.jsx)(g.Z,{state:a,size:18})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("b",{className:"block font-medium",children:c}),d&&(0,b.jsx)("p",{className:"mt-0.5 text-[13px] text-ink-soft",children:d})]})]})}async function o({params:a}){let{slug:e}=await a,h=await l(e);h||(0,d.notFound)();let k=(0,i.W)(h.monitors);return(0,b.jsxs)("main",{className:"mx-auto flex max-w-[760px] flex-col gap-4 px-4 pb-12 pt-8",children:[(0,b.jsxs)("header",{className:"flex items-center gap-3",children:[(0,b.jsx)(c.f,{}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"text-[20px]",children:h.title}),(0,b.jsxs)("p",{className:"mt-0.5 text-ink-soft",children:["Updated every minute · times in ",(0,j.D)()]})]})]}),k&&(0,b.jsxs)("p",{className:"m-0 flex items-center gap-2 text-[17px] font-medium",role:"status",children:[(0,b.jsx)(g.Z,{state:k.state,size:20}),k.text]}),h.announcement&&(0,b.jsx)(n,{state:"info",title:h.announcement}),h.maintenance.map((a,c)=>(0,b.jsxs)(n,{state:"maint",title:a.active?"Maintenance now":"Scheduled maintenance",children:[`${a.from}–${a.to} ${(0,j.D)()}.`,a.note&&` ${a.note}`]},c)),(0,b.jsxs)("section",{className:"min-w-0 rounded-lg border border-line bg-surface",children:[0===h.monitors.length&&(0,b.jsx)("p",{className:"px-[18px] py-4 text-ink-soft",children:"No services on this page yet."}),h.monitors.map(a=>(0,b.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1.5 border-t border-line px-[18px] py-3 first:border-t-0",children:[(0,b.jsx)("b",{className:"min-w-0 truncate font-medium",children:a.name}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(g.F,{state:a.state,children:a.label}),(0,b.jsx)("span",{className:"font-mono text-[12.5px] text-ink-faint",children:a.uptime})]}),(0,b.jsx)("div",{className:"col-span-full min-w-0 overflow-x-auto",children:(0,b.jsx)(f.n,{bars:a.bars.map((a,b)=>({day:String(b),tone:a.tone,title:a.title}))})})]},a.badge))]}),(0,b.jsx)("p",{className:"m-0 text-[12.5px] text-ink-faint",children:"Last 90 days. Grey means no data, blue means maintenance (not counted)."})]})}a.s(["default",0,o,"dynamicParams",0,!0,"generateMetadata",0,m,"generateStaticParams",0,k,"revalidate",0,60])},475787,function(a){a.n(a.i(779798))}];
2
2
 
3
3
  //# sourceMappingURL=src_app_s_%5Bslug%5D_page_tsx_0jjqe6py82mpb._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[505281,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(619089),e=a.i(405050);let f=(0,e.createServerReference)("60b4f1f52d04fb8e94803ccb4c54c41b6155cf0420",e.callServer,void 0,e.findSourceMapURL,"submitSetup");a.s(["SetupForm",0,function(){let[a,e,g]=(0,c.useActionState)(f,{status:"idle"}),h=b=>"error"===a.status&&a.field===b?a.message:void 0,i="error"===a.status?a:{code:"",email:""},j="error"!==a.status||a.field?void 0:a.message;return(0,b.jsxs)("form",{action:e,children:[(0,b.jsx)(d.O,{id:"code",label:"Setup code",error:h("code"),children:(0,b.jsx)("input",{id:"code",name:"code",autoComplete:"off",spellCheck:!1,defaultValue:i.code,placeholder:"XXXXX-XXXXX",maxLength:20,required:!0,className:`${d.S} font-mono uppercase tracking-widest`})}),(0,b.jsx)(d.O,{id:"email",label:"Email",error:h("email"),children:(0,b.jsx)("input",{id:"email",name:"email",type:"email",defaultValue:i.email,autoComplete:"email",placeholder:"name@example.com",required:!0,className:d.S})}),(0,b.jsx)(d.O,{id:"password",label:"Password",help:"At least 12 characters.",error:h("password"),children:(0,b.jsx)("input",{id:"password",name:"password",type:"password",autoComplete:"new-password",minLength:12,maxLength:200,required:!0,className:d.S})}),(0,b.jsx)(d.O,{id:"confirm",label:"Confirm password",error:h("confirm"),children:(0,b.jsx)("input",{id:"confirm",name:"confirm",type:"password",autoComplete:"new-password",minLength:12,maxLength:200,required:!0,className:d.S})}),j&&(0,b.jsx)("p",{className:"mb-3.5 text-[12.5px] text-err",role:"alert",children:j}),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:g,children:g?"Creating…":"Create owner account"}),(0,b.jsx)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:"Next you'll add an authenticator app. Owners always sign in with a code."})]},"error"===a.status?`${a.message}:${i.code}:${i.email}`:"idle")}],505281)}];
1
+ module.exports=[505281,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(619089),e=a.i(405050);let f=(0,e.createServerReference)("60edd242ae5c409d14f3394ab8d075a3bcc3820764",e.callServer,void 0,e.findSourceMapURL,"submitSetup");a.s(["SetupForm",0,function(){let[a,e,g]=(0,c.useActionState)(f,{status:"idle"}),h=b=>"error"===a.status&&a.field===b?a.message:void 0,i="error"===a.status?a:{code:"",email:""},j="error"!==a.status||a.field?void 0:a.message;return(0,b.jsxs)("form",{action:e,children:[(0,b.jsx)(d.O,{id:"code",label:"Setup code",error:h("code"),children:(0,b.jsx)("input",{id:"code",name:"code",autoComplete:"off",spellCheck:!1,defaultValue:i.code,placeholder:"XXXXX-XXXXX",maxLength:20,required:!0,className:`${d.S} font-mono uppercase tracking-widest`})}),(0,b.jsx)(d.O,{id:"email",label:"Email",error:h("email"),children:(0,b.jsx)("input",{id:"email",name:"email",type:"email",defaultValue:i.email,autoComplete:"email",placeholder:"name@example.com",required:!0,className:d.S})}),(0,b.jsx)(d.O,{id:"password",label:"Password",help:"At least 12 characters.",error:h("password"),children:(0,b.jsx)("input",{id:"password",name:"password",type:"password",autoComplete:"new-password",minLength:12,maxLength:200,required:!0,className:d.S})}),(0,b.jsx)(d.O,{id:"confirm",label:"Confirm password",error:h("confirm"),children:(0,b.jsx)("input",{id:"confirm",name:"confirm",type:"password",autoComplete:"new-password",minLength:12,maxLength:200,required:!0,className:d.S})}),j&&(0,b.jsx)("p",{className:"mb-3.5 text-[12.5px] text-err",role:"alert",children:j}),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:g,children:g?"Creating…":"Create owner account"}),(0,b.jsx)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:"Next you'll add an authenticator app. Owners always sign in with a code."})]},"error"===a.status?`${a.message}:${i.code}:${i.email}`:"idle")}],505281)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_setup_setup-form_tsx_0izoagdur96e1._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[976873,a=>{var b=a.i(405050);let c=(0,b.createServerReference)("6087173b9817b60f95a56bcfa79531e6d9c5e02022",b.callServer,void 0,b.findSourceMapURL,"signInWithPassword");a.s(["f",0,c])},625104,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(619089);let e="demo@watchbell.west-solutions.web.id",f="watchbell-demo";var g=a.i(976873);a.s(["DemoSignInForm",0,function({next:a}){let[h,i,j]=(0,c.useActionState)(g.f,{status:"idle"}),k=(0,c.useRef)(null),l=(0,c.useRef)(null);return(0,b.jsxs)("form",{action:i,children:[(0,b.jsx)("h1",{className:"mb-1 text-xl",children:"Try the Watchbell demo"}),(0,b.jsx)("p",{className:"mb-[18px] text-ink-soft",children:"Sign in with the demo account to look around a console full of made-up data of your own."}),(0,b.jsxs)("div",{className:"mb-[18px] rounded-lg border border-line bg-sunken px-3.5 py-3",children:[(0,b.jsxs)("dl",{className:"mb-2.5 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-[13px]",children:[(0,b.jsx)("dt",{className:"text-ink-soft",children:"Email"}),(0,b.jsx)("dd",{className:"break-all font-mono",children:e}),(0,b.jsx)("dt",{className:"text-ink-soft",children:"Password"}),(0,b.jsx)("dd",{className:"font-mono",children:f})]}),(0,b.jsx)(d.K,{size:"sm",onClick:()=>{k.current&&(k.current.value=e),l.current&&(l.current.value=f),l.current?.focus()},children:"Use demo account"})]}),a&&(0,b.jsx)("input",{type:"hidden",name:"next",value:a}),(0,b.jsx)(d.O,{id:"email",label:"Email",error:"error"===h.status&&"email"===h.field?h.message:void 0,children:(0,b.jsx)("input",{ref:k,id:"email",name:"email",type:"email",autoComplete:"username",placeholder:"name@example.com",required:!0,maxLength:254,defaultValue:"error"===h.status?h.email:void 0,className:d.S})}),(0,b.jsx)(d.O,{id:"password",label:"Password",error:"error"===h.status&&"email"!==h.field?h.message:void 0,children:(0,b.jsx)("input",{ref:l,id:"password",name:"password",type:"password",autoComplete:"current-password",required:!0,maxLength:200,className:d.S})}),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:j,children:j?"Signing in…":"Sign in"}),(0,b.jsx)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:"Or use any email and password. Every sign-in, the demo account too, gets its own made-up data."})]})}],625104)},318465,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(619089),e=a.i(976873);a.s(["PasswordSignInForm",0,function({next:a}){let[f,g,h]=(0,c.useActionState)(e.f,{status:"idle"});return(0,b.jsxs)("form",{action:g,children:[(0,b.jsx)("h1",{className:"mb-1 text-xl",children:"Sign in to Watchbell"}),(0,b.jsx)("p",{className:"mb-[18px] text-ink-soft",children:"Use the email and password an owner set up for you."}),a&&(0,b.jsx)("input",{type:"hidden",name:"next",value:a}),(0,b.jsx)(d.O,{id:"email",label:"Email",children:(0,b.jsx)("input",{id:"email",name:"email",type:"email",autoComplete:"username",placeholder:"name@example.com",required:!0,defaultValue:"error"===f.status?f.email:void 0,className:d.S})}),(0,b.jsx)(d.O,{id:"password",label:"Password",error:"error"===f.status?f.message:void 0,children:(0,b.jsx)("input",{id:"password",name:"password",type:"password",autoComplete:"current-password",required:!0,maxLength:1024,className:d.S})}),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:h,children:h?"Signing in…":"Sign in"}),(0,b.jsxs)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:["Forgot your password? Ask an owner to reset it. If you are the owner, stop Watchbell and run"," ",(0,b.jsx)("code",{className:"font-mono text-ink-soft",children:"watchbell reset-login you@example.com"})," on the machine it runs on (from an installer: ",(0,b.jsx)("code",{className:"font-mono text-ink-soft",children:"npm run reset-login -- you@example.com"})," in its app folder)."]})]})}])},59558,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(619089);let e="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit";function f({siteKey:a}){let d=(0,c.useRef)(null),[g,h]=(0,c.useState)(!1);return((0,c.useEffect)(()=>{let b,c=!1;return(window.turnstile?Promise.resolve(window.turnstile):new Promise((a,b)=>{let c=document.querySelector(`script[src="${e}"]`);c||((c=document.createElement("script")).src=e,c.async=!0,document.head.appendChild(c));let d=c;d.addEventListener("load",()=>window.turnstile?a(window.turnstile):b(Error("turnstile"))),d.addEventListener("error",()=>{d.remove(),b(Error("turnstile"))})})).then(e=>{!c&&d.current&&(b=e.render(d.current,{sitekey:a,action:"signin",theme:"auto"}))}).catch(()=>{console.warn("bot check failed to load"),c||h(!0)}),()=>{c=!0,b&&window.turnstile&&window.turnstile.remove(b)}},[a]),g)?(0,b.jsx)("p",{role:"alert",className:"mb-3.5 text-[13px] text-err",children:"The bot check couldn't load. Check your connection and reload the page."}):(0,b.jsx)("div",{ref:d,className:"mb-3.5 min-h-[65px]"})}var g=a.i(405050);let h=(0,g.createServerReference)("6080237ec09bb832f2fa84fb0019d504c4db3be3e4",g.callServer,void 0,g.findSourceMapURL,"sendSignInLink");a.s(["SignInForm",0,function({siteKey:a}){let[e,g,i]=(0,c.useActionState)(h,{status:"idle"}),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(0);return"sent"!==e.status||j?(0,b.jsxs)("form",{action:a=>{k(!1),m(a=>a+1),g(a)},children:[(0,b.jsx)("h1",{className:"mb-1 text-xl",children:"Sign in to Watchbell"}),(0,b.jsx)("p",{className:"mb-[18px] text-ink-soft",children:"We'll email you a sign-in link. Only invited people can get in."}),(0,b.jsx)(d.O,{id:"email",label:"Email",error:"error"===e.status?e.message:void 0,children:(0,b.jsx)("input",{id:"email",name:"email",type:"email",autoComplete:"email",placeholder:"name@example.com",required:!0,className:d.S})}),(0,b.jsx)(f,{siteKey:a},l),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:i,children:i?"Sending…":"Send sign-in link"}),(0,b.jsx)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:"Can't get in? Ask an owner to invite you."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("h1",{className:"mb-1 text-xl",children:"Check your email"}),(0,b.jsxs)("p",{className:"mb-[18px] text-ink-soft",children:["If ",e.email," is invited, a sign-in link is on its way. It works for 1 hour."]}),(0,b.jsx)(d.K,{className:"w-full justify-center",onClick:()=>k(!0),children:"Use a different email"})]})}],59558)}]})();
1
+ (()=>{"use strict";module.exports=[119052,a=>{var b=a.i(405050);let c=(0,b.createServerReference)("60570d93000d6cee9433b90c18ececc128871f285f",b.callServer,void 0,b.findSourceMapURL,"signInWithPassword");a.s(["f",0,c])},625104,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(619089);let e="demo@watchbell.west-solutions.web.id",f="watchbell-demo";var g=a.i(119052);a.s(["DemoSignInForm",0,function({next:a}){let[h,i,j]=(0,c.useActionState)(g.f,{status:"idle"}),k=(0,c.useRef)(null),l=(0,c.useRef)(null);return(0,b.jsxs)("form",{action:i,children:[(0,b.jsx)("h1",{className:"mb-1 text-xl",children:"Try the Watchbell demo"}),(0,b.jsx)("p",{className:"mb-[18px] text-ink-soft",children:"Sign in with the demo account to look around a console full of made-up data of your own."}),(0,b.jsxs)("div",{className:"mb-[18px] rounded-lg border border-line bg-sunken px-3.5 py-3",children:[(0,b.jsxs)("dl",{className:"mb-2.5 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-[13px]",children:[(0,b.jsx)("dt",{className:"text-ink-soft",children:"Email"}),(0,b.jsx)("dd",{className:"break-all font-mono",children:e}),(0,b.jsx)("dt",{className:"text-ink-soft",children:"Password"}),(0,b.jsx)("dd",{className:"font-mono",children:f})]}),(0,b.jsx)(d.K,{size:"sm",onClick:()=>{k.current&&(k.current.value=e),l.current&&(l.current.value=f),l.current?.focus()},children:"Use demo account"})]}),a&&(0,b.jsx)("input",{type:"hidden",name:"next",value:a}),(0,b.jsx)(d.O,{id:"email",label:"Email",error:"error"===h.status&&"email"===h.field?h.message:void 0,children:(0,b.jsx)("input",{ref:k,id:"email",name:"email",type:"email",autoComplete:"username",placeholder:"name@example.com",required:!0,maxLength:254,defaultValue:"error"===h.status?h.email:void 0,className:d.S})}),(0,b.jsx)(d.O,{id:"password",label:"Password",error:"error"===h.status&&"email"!==h.field?h.message:void 0,children:(0,b.jsx)("input",{ref:l,id:"password",name:"password",type:"password",autoComplete:"current-password",required:!0,maxLength:200,className:d.S})}),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:j,children:j?"Signing in…":"Sign in"}),(0,b.jsx)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:"Or use any email and password. Every sign-in, the demo account too, gets its own made-up data."})]})}],625104)},318465,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(619089),e=a.i(119052);a.s(["PasswordSignInForm",0,function({next:a}){let[f,g,h]=(0,c.useActionState)(e.f,{status:"idle"});return(0,b.jsxs)("form",{action:g,children:[(0,b.jsx)("h1",{className:"mb-1 text-xl",children:"Sign in to Watchbell"}),(0,b.jsx)("p",{className:"mb-[18px] text-ink-soft",children:"Use the email and password an owner set up for you."}),a&&(0,b.jsx)("input",{type:"hidden",name:"next",value:a}),(0,b.jsx)(d.O,{id:"email",label:"Email",children:(0,b.jsx)("input",{id:"email",name:"email",type:"email",autoComplete:"username",placeholder:"name@example.com",required:!0,defaultValue:"error"===f.status?f.email:void 0,className:d.S})}),(0,b.jsx)(d.O,{id:"password",label:"Password",error:"error"===f.status?f.message:void 0,children:(0,b.jsx)("input",{id:"password",name:"password",type:"password",autoComplete:"current-password",required:!0,maxLength:1024,className:d.S})}),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:h,children:h?"Signing in…":"Sign in"}),(0,b.jsxs)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:["Forgot your password? Ask an owner to reset it. If you are the owner, stop Watchbell and run"," ",(0,b.jsx)("code",{className:"font-mono text-ink-soft",children:"watchbell reset-login you@example.com"})," on the machine it runs on (from an installer: ",(0,b.jsx)("code",{className:"font-mono text-ink-soft",children:"npm run reset-login -- you@example.com"})," in its app folder)."]})]})}])},59558,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(619089);let e="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit";function f({siteKey:a}){let d=(0,c.useRef)(null),[g,h]=(0,c.useState)(!1);return((0,c.useEffect)(()=>{let b,c=!1;return(window.turnstile?Promise.resolve(window.turnstile):new Promise((a,b)=>{let c=document.querySelector(`script[src="${e}"]`);c||((c=document.createElement("script")).src=e,c.async=!0,document.head.appendChild(c));let d=c;d.addEventListener("load",()=>window.turnstile?a(window.turnstile):b(Error("turnstile"))),d.addEventListener("error",()=>{d.remove(),b(Error("turnstile"))})})).then(e=>{!c&&d.current&&(b=e.render(d.current,{sitekey:a,action:"signin",theme:"auto"}))}).catch(()=>{console.warn("bot check failed to load"),c||h(!0)}),()=>{c=!0,b&&window.turnstile&&window.turnstile.remove(b)}},[a]),g)?(0,b.jsx)("p",{role:"alert",className:"mb-3.5 text-[13px] text-err",children:"The bot check couldn't load. Check your connection and reload the page."}):(0,b.jsx)("div",{ref:d,className:"mb-3.5 min-h-[65px]"})}var g=a.i(405050);let h=(0,g.createServerReference)("607750fc0cf7d3e2b16833395752ca4b4c1881555b",g.callServer,void 0,g.findSourceMapURL,"sendSignInLink");a.s(["SignInForm",0,function({siteKey:a}){let[e,g,i]=(0,c.useActionState)(h,{status:"idle"}),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(0);return"sent"!==e.status||j?(0,b.jsxs)("form",{action:a=>{k(!1),m(a=>a+1),g(a)},children:[(0,b.jsx)("h1",{className:"mb-1 text-xl",children:"Sign in to Watchbell"}),(0,b.jsx)("p",{className:"mb-[18px] text-ink-soft",children:"We'll email you a sign-in link. Only invited people can get in."}),(0,b.jsx)(d.O,{id:"email",label:"Email",error:"error"===e.status?e.message:void 0,children:(0,b.jsx)("input",{id:"email",name:"email",type:"email",autoComplete:"email",placeholder:"name@example.com",required:!0,className:d.S})}),(0,b.jsx)(f,{siteKey:a},l),(0,b.jsx)(d.K,{type:"submit",variant:"primary",className:"w-full justify-center",disabled:i,children:i?"Sending…":"Send sign-in link"}),(0,b.jsx)("p",{className:"mt-4 text-[12.5px] text-ink-faint",children:"Can't get in? Ask an owner to invite you."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("h1",{className:"mb-1 text-xl",children:"Check your email"}),(0,b.jsxs)("p",{className:"mb-[18px] text-ink-soft",children:["If ",e.email," is invited, a sign-in link is on its way. It works for 1 hour."]}),(0,b.jsx)(d.K,{className:"w-full justify-center",onClick:()=>k(!0),children:"Use a different email"})]})}],59558)}]})();
2
2
 
3
- //# sourceMappingURL=src_app_signin_0hb58isfg-2yx._.js.map
3
+ //# sourceMappingURL=src_app_signin_11vigmz4xm91m._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[345086,a=>{var b=a.i(211857);(0,b.registerClientReference)(function(){throw Error("Attempted to call ConnectGoogleCreateButton() from the server but ConnectGoogleCreateButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/create/create-dialog.tsx","ConnectGoogleCreateButton");let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call CreateButton() from the server but CreateButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/create/create-dialog.tsx","CreateButton"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call DisconnectGoogleCreateButton() from the server but DisconnectGoogleCreateButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/create/create-dialog.tsx","DisconnectGoogleCreateButton");a.s(["CreateButton",0,c,"DisconnectGoogleCreateButton",0,d])},228796,a=>{var b=a.i(345086);a.n(b)},549483,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call CreateRequestList() from the server but CreateRequestList is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/create/create-requests.tsx","CreateRequestList");a.s(["CreateRequestList",0,b])},908088,a=>{var b=a.i(549483);a.n(b)},722061,a=>{var b=a.i(907997),c=a.i(908088);let d=new Set(["requested","approved","running"]);var e=a.i(610247);async function f({member:a,types:g,focus:h,title:i,waitingOnly:j=!1}){let k=await (0,e.O)(a.id,g).catch(()=>[]),l=j?k.filter(a=>"requested"===a.status):function(a,b,c=24,e=5){let f=b.getTime()-36e5*c,g=new Set(a.filter(a=>!d.has(a.status)&&new Date(a.createdAt).getTime()>=f).sort((a,b)=>new Date(b.createdAt).getTime()-new Date(a.createdAt).getTime()).slice(0,e));return a.filter(a=>d.has(a.status)||g.has(a))}(k,new Date);return(0,b.jsx)(c.CreateRequestList,{items:l,owner:"owner"===a.role,focus:h??null,...i?{title:i}:{}})}a.s(["f",0,f],722061)},110434,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call ListFilter() from the server but ListFilter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/list-filter.tsx","ListFilter");a.s(["ListFilter",0,b])},959581,a=>{var b=a.i(110434);a.n(b)},745374,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AutoRefresh() from the server but AutoRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","AutoRefresh");(0,b.registerClientReference)(function(){throw Error("Attempted to call LiveIndicator() from the server but LiveIndicator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","LiveIndicator"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdCount() from the server but holdCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdCount"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdRefresh() from the server but holdRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdRefresh"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdWhile() from the server but holdWhile is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdWhile"),(0,b.registerClientReference)(function(){throw Error("Attempted to call useHoldRefresh() from the server but useHoldRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","useHoldRefresh"),a.s(["AutoRefresh",0,c])},685865,a=>{var b=a.i(745374);a.n(b)}]})();
1
+ (()=>{"use strict";module.exports=[345086,a=>{var b=a.i(211857);(0,b.registerClientReference)(function(){throw Error("Attempted to call ConnectGoogleCreateButton() from the server but ConnectGoogleCreateButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/create/create-dialog.tsx","ConnectGoogleCreateButton");let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call CreateButton() from the server but CreateButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/create/create-dialog.tsx","CreateButton"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call DisconnectGoogleCreateButton() from the server but DisconnectGoogleCreateButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/create/create-dialog.tsx","DisconnectGoogleCreateButton");a.s(["CreateButton",0,c,"DisconnectGoogleCreateButton",0,d])},228796,a=>{var b=a.i(345086);a.n(b)},549483,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call CreateRequestList() from the server but CreateRequestList is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/create/create-requests.tsx","CreateRequestList");a.s(["CreateRequestList",0,b])},908088,a=>{var b=a.i(549483);a.n(b)},722061,a=>{var b=a.i(907997),c=a.i(908088);let d=new Set(["requested","approved","running"]);var e=a.i(610247);async function f({member:a,types:g,focus:h,title:i,waitingOnly:j=!1}){let k=await (0,e.O)(a.id,g).catch(()=>[]),l=j?k.filter(a=>"requested"===a.status):function(a,b,c=24,e=5){let f=b.getTime()-36e5*c,g=new Set(a.filter(a=>!d.has(a.status)&&new Date(a.createdAt).getTime()>=f).sort((a,b)=>new Date(b.createdAt).getTime()-new Date(a.createdAt).getTime()).slice(0,e));return a.filter(a=>d.has(a.status)||g.has(a))}(k,new Date);return(0,b.jsx)(c.CreateRequestList,{items:l,owner:"owner"===a.role,focus:h??null,...i?{title:i}:{}})}a.s(["f",0,f],722061)},110434,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call ListFilter() from the server but ListFilter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/list-filter.tsx","ListFilter");a.s(["ListFilter",0,b])},959581,a=>{var b=a.i(110434);a.n(b)},745374,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AutoRefresh() from the server but AutoRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","AutoRefresh");(0,b.registerClientReference)(function(){throw Error("Attempted to call LiveIndicator() from the server but LiveIndicator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","LiveIndicator"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdCount() from the server but holdCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdCount"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdRefresh() from the server but holdRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdRefresh"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdWhile() from the server but holdWhile is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdWhile"),(0,b.registerClientReference)(function(){throw Error("Attempted to call markCollectorRun() from the server but markCollectorRun is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","markCollectorRun"),(0,b.registerClientReference)(function(){throw Error("Attempted to call setRefreshChoice() from the server but setRefreshChoice is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","setRefreshChoice"),(0,b.registerClientReference)(function(){throw Error("Attempted to call useHoldRefresh() from the server but useHoldRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","useHoldRefresh"),a.s(["AutoRefresh",0,c])},685865,a=>{var b=a.i(745374);a.n(b)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_components_0-x11r8_844pu._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[964887,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(405050);let f=(0,e.createServerReference)("40f23f7bbd1f7130cc76920bfabcdd43b729411f0a",e.callServer,void 0,e.findSourceMapURL,"dismissRecommendation");var g=a.i(619089);a.s(["DismissButton",0,function({recKey:a}){let[e,h]=(0,c.useTransition)();return(0,b.jsx)(g.K,{size:"sm",disabled:e,onClick:()=>h(async()=>{try{let b=await f(a);b.ok?d.c.success(b.message??"Dismissed."):d.c.error(b.error)}catch{d.c.error("Something went wrong. Try again.")}}),children:e?"Dismissing…":"Dismiss"})}],964887)},585709,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(486747),e=a.i(462007),f=a.i(427110);a.s(["PlainTable",0,function({head:a,rows:g}){let[h,i]=(0,c.useState)(1),j=(0,f.$)(g,h);return j.page!==h&&i(j.page),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:a}),(0,b.jsx)("tbody",{children:j.rows.map(a=>(0,b.jsx)(c.Fragment,{children:a.row},a.key))})]})}),(0,b.jsx)(d.f,{page:j.page,pages:j.pages,text:(0,f.z)(j),onPage:i})]})}])},54901,45830,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(771378),e=a.i(611619),f=a.i(619089);function g(a,b=a=>a){return a.ok?{ok:!0,message:b(a.message??"Done.")}:{ok:!1,message:b(a.error)}}function h(){let a=(0,d.useMask)();return b=>g(b,b=>a("text",b))}a.s(["f",0,g],45830),a.s(["p",0,function({label:a,title:c,body:d,cta:g,danger:i=!1,run:j}){let k=h();return(0,b.jsx)(e.f,{trigger:(0,b.jsx)(f.K,{variant:i?"danger":"secondary",children:a}),title:c,body:d,cta:g,danger:i,onConfirm:async()=>k(await j())})},"W",0,function(){let[a,d]=(0,c.useState)(null),f=h(),g=a?(0,b.jsx)(e.f,{open:!0,onOpenChange:a=>{a||d(null)},title:a.title,body:a.body,cta:a.cta,danger:a.danger,onConfirm:async()=>f(await a.run())}):null;return{open:d,dialog:g}}],54901)}]})();
1
+ (()=>{"use strict";module.exports=[964887,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(405050);let f=(0,e.createServerReference)("4008c1ac60e9c2e95560388256503a57de808c893f",e.callServer,void 0,e.findSourceMapURL,"dismissRecommendation");var g=a.i(619089);a.s(["DismissButton",0,function({recKey:a}){let[e,h]=(0,c.useTransition)();return(0,b.jsx)(g.K,{size:"sm",disabled:e,onClick:()=>h(async()=>{try{let b=await f(a);b.ok?d.c.success(b.message??"Dismissed."):d.c.error(b.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:e?"Dismissing…":"Dismiss"})}],964887)},585709,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(486747),e=a.i(462007),f=a.i(427110);a.s(["PlainTable",0,function({head:a,rows:g}){let[h,i]=(0,c.useState)(1),j=(0,f.$)(g,h);return j.page!==h&&i(j.page),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:a}),(0,b.jsx)("tbody",{children:j.rows.map(a=>(0,b.jsx)(c.Fragment,{children:a.row},a.key))})]})}),(0,b.jsx)(d.f,{page:j.page,pages:j.pages,text:(0,f.z)(j),onPage:i})]})}])},54901,45830,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(771378),e=a.i(611619),f=a.i(619089);function g(a,b=a=>a){return a.ok?{ok:!0,message:b(a.message??"Done.")}:{ok:!1,message:b(a.error)}}function h(){let a=(0,d.useMask)();return b=>g(b,b=>a("text",b))}a.s(["f",0,g],45830),a.s(["p",0,function({label:a,title:c,body:d,cta:g,danger:i=!1,run:j}){let k=h();return(0,b.jsx)(e.f,{trigger:(0,b.jsx)(f.K,{variant:i?"danger":"secondary",children:a}),title:c,body:d,cta:g,danger:i,onConfirm:async()=>k(await j())})},"W",0,function(){let[a,d]=(0,c.useState)(null),f=h(),g=a?(0,b.jsx)(e.f,{open:!0,onOpenChange:a=>{a||d(null)},title:a.title,body:a.body,cta:a.cta,danger:a.danger,onConfirm:async()=>f(await a.run())}):null;return{open:d,dialog:g}}],54901)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_components_08d78uqnnmrrh._.js.map
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[745374,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AutoRefresh() from the server but AutoRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","AutoRefresh");(0,b.registerClientReference)(function(){throw Error("Attempted to call LiveIndicator() from the server but LiveIndicator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","LiveIndicator"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdCount() from the server but holdCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdCount"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdRefresh() from the server but holdRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdRefresh"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdWhile() from the server but holdWhile is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdWhile"),(0,b.registerClientReference)(function(){throw Error("Attempted to call markCollectorRun() from the server but markCollectorRun is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","markCollectorRun"),(0,b.registerClientReference)(function(){throw Error("Attempted to call setRefreshChoice() from the server but setRefreshChoice is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","setRefreshChoice"),(0,b.registerClientReference)(function(){throw Error("Attempted to call useHoldRefresh() from the server but useHoldRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","useHoldRefresh"),a.s(["AutoRefresh",0,c])},685865,a=>{var b=a.i(745374);a.n(b)},719207,a=>{var b=a.i(211857);(0,b.registerClientReference)(function(){throw Error("Attempted to call SourcesProvider() from the server but SourcesProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/sources.tsx","SourcesProvider");let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Src() from the server but Src is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/sources.tsx","Src");(0,b.registerClientReference)(function(){throw Error("Attempted to call useSources() from the server but useSources is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/sources.tsx","useSources"),a.s(["Src",0,c])},954296,a=>{var b=a.i(719207);a.n(b)}]})();
2
+
3
+ //# sourceMappingURL=src_components_0_xymno8nakru._.js.map
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[745374,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AutoRefresh() from the server but AutoRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","AutoRefresh");(0,b.registerClientReference)(function(){throw Error("Attempted to call LiveIndicator() from the server but LiveIndicator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","LiveIndicator"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdCount() from the server but holdCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdCount"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdRefresh() from the server but holdRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdRefresh"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdWhile() from the server but holdWhile is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdWhile"),(0,b.registerClientReference)(function(){throw Error("Attempted to call markCollectorRun() from the server but markCollectorRun is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","markCollectorRun"),(0,b.registerClientReference)(function(){throw Error("Attempted to call setRefreshChoice() from the server but setRefreshChoice is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","setRefreshChoice"),(0,b.registerClientReference)(function(){throw Error("Attempted to call useHoldRefresh() from the server but useHoldRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","useHoldRefresh"),a.s(["AutoRefresh",0,c])},685865,a=>{var b=a.i(745374);a.n(b)},21392,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call PlainTable() from the server but PlainTable is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/plain-table.tsx","PlainTable");a.s(["PlainTable",0,b])},605826,a=>{var b=a.i(21392);a.n(b)},293167,a=>{var b=a.i(907997),c=a.i(139138),d=a.i(182357);let e={CRITICAL:"bg-err-soft text-err",HIGH:"bg-err-soft text-err",MODERATE:"bg-warn-soft text-warn",LOW:"bg-brand-soft text-brand",UNKNOWN:"bg-brand-soft text-brand"},f="inline-block whitespace-nowrap rounded-[5px] px-2 py-px text-xs font-medium",g={critical:e.CRITICAL,warning:e.MODERATE,info:e.LOW};a.s(["e",0,function({severity:a}){return(0,b.jsx)("span",{className:(0,c.f)(f,g[a]),children:a[0].toUpperCase()+a.slice(1)})},"N",0,function({tag:a}){return(0,b.jsxs)("span",{title:a.title,className:(0,c.f)(f,"ml-1.5",a.severe?e.CRITICAL:e.MODERATE),children:[a.label,(0,b.jsxs)("span",{className:"sr-only",children:[": ",a.title]})]})},"s",0,function({severity:a}){return(0,b.jsx)("span",{className:(0,c.f)(f,e[a]),children:d.y[a]})}])}]})();
2
+
3
+ //# sourceMappingURL=src_components_0ozvphxxwb7d-._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[745374,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AutoRefresh() from the server but AutoRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","AutoRefresh");(0,b.registerClientReference)(function(){throw Error("Attempted to call LiveIndicator() from the server but LiveIndicator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","LiveIndicator"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdCount() from the server but holdCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdCount"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdRefresh() from the server but holdRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdRefresh"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdWhile() from the server but holdWhile is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdWhile"),(0,b.registerClientReference)(function(){throw Error("Attempted to call useHoldRefresh() from the server but useHoldRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","useHoldRefresh"),a.s(["AutoRefresh",0,c])},685865,a=>{var b=a.i(745374);a.n(b)},154756,a=>{var b=a.i(907997);let c=(0,a.i(377269).f)("outline","user","User",[["path",{d:"M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0",key:"svg-0"}],["path",{d:"M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2",key:"svg-1"}]]);var d=a.i(395936),e=a.i(701702),f=a.i(139138);let g={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"]};function h({kind:a}){let[c,d]=g[a];return(0,b.jsx)("span",{className:(0,f.f)("rounded px-[5px] py-px font-mono text-[10.5px] font-medium tracking-[0.02em]",d),children:c})}let i={app:"app",usr:"email"};a.s(["c",0,function({name:a}){return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] border border-line bg-sunken px-1.5 text-xs text-ink-soft",children:[(0,b.jsx)(c,{size:13,"aria-hidden":!0}),(0,b.jsx)(e.Masked,{kind:"account",real:a})]})},"F",0,function({kind:a,name:c,href:f,dbId:g}){let j=i[a]??"text";return(0,b.jsxs)("span",{className:"inline-flex items-center gap-[7px]",children:[(0,b.jsx)(h,{kind:a}),g?(0,b.jsx)(e.DbName,{id:g,name:c}):f?(0,b.jsx)(d.default,{href:f,children:(0,b.jsx)(e.Masked,{kind:j,real:c,inLink:!0})}):(0,b.jsx)("span",{children:(0,b.jsx)(e.Masked,{kind:j,real:c})})]})},"g",0,h],154756)}]})();
1
+ (()=>{"use strict";module.exports=[745374,a=>{var b=a.i(211857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AutoRefresh() from the server but AutoRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","AutoRefresh");(0,b.registerClientReference)(function(){throw Error("Attempted to call LiveIndicator() from the server but LiveIndicator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","LiveIndicator"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdCount() from the server but holdCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdCount"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdRefresh() from the server but holdRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdRefresh"),(0,b.registerClientReference)(function(){throw Error("Attempted to call holdWhile() from the server but holdWhile is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","holdWhile"),(0,b.registerClientReference)(function(){throw Error("Attempted to call markCollectorRun() from the server but markCollectorRun is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","markCollectorRun"),(0,b.registerClientReference)(function(){throw Error("Attempted to call setRefreshChoice() from the server but setRefreshChoice is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","setRefreshChoice"),(0,b.registerClientReference)(function(){throw Error("Attempted to call useHoldRefresh() from the server but useHoldRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/live.tsx","useHoldRefresh"),a.s(["AutoRefresh",0,c])},685865,a=>{var b=a.i(745374);a.n(b)},154756,a=>{var b=a.i(907997);let c=(0,a.i(377269).f)("outline","user","User",[["path",{d:"M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0",key:"svg-0"}],["path",{d:"M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2",key:"svg-1"}]]);var d=a.i(395936),e=a.i(701702),f=a.i(139138);let g={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"]};function h({kind:a}){let[c,d]=g[a];return(0,b.jsx)("span",{className:(0,f.f)("rounded px-[5px] py-px font-mono text-[10.5px] font-medium tracking-[0.02em]",d),children:c})}let i={app:"app",usr:"email"};a.s(["c",0,function({name:a}){return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[5px] border border-line bg-sunken px-1.5 text-xs text-ink-soft",children:[(0,b.jsx)(c,{size:13,"aria-hidden":!0}),(0,b.jsx)(e.Masked,{kind:"account",real:a})]})},"F",0,function({kind:a,name:c,href:f,dbId:g}){let j=i[a]??"text";return(0,b.jsxs)("span",{className:"inline-flex items-center gap-[7px]",children:[(0,b.jsx)(h,{kind:a}),g?(0,b.jsx)(e.DbName,{id:g,name:c}):f?(0,b.jsx)(d.default,{href:f,children:(0,b.jsx)(e.Masked,{kind:j,real:c,inLink:!0})}):(0,b.jsx)("span",{children:(0,b.jsx)(e.Masked,{kind:j,real:c})})]})},"g",0,h],154756)}]})();
2
2
 
3
3
  //# sourceMappingURL=src_components_0tmtbf2etsx03._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[252302,a=>{"use strict";var b=a.i(907997),c=a.i(139138);function d(a,b,c,d){let e=a.filter(a=>null!==a);if(!e.length)return{line:"",area:"",dots:[]};let f=d?.max??Math.max(...e),g=d?.min??Math.min(...e),h=f-g||1,i=Math.max(1,a.length-1),j=a=>(a/i*b).toFixed(1),k=a=>(c-3-(a-g)/h*(c-6)).toFixed(1),l=[],m=[];a.forEach((a,b)=>{null===a?(m.length&&l.push(m),m=[]):m.push([b,a])}),m.length&&l.push(m);let n=a=>a.map(([a,b],c)=>`${c?"L":"M"}${j(a)},${k(b)}`).join("");return{line:l.map(n).join(""),area:l.filter(a=>a.length>1).map(a=>`${n(a)}L${j(a[a.length-1][0])},${c}L${j(a[0][0])},${c}Z`).join(""),dots:l.filter(a=>1===a.length).map(([[a,c]])=>({x:Math.min(Math.max(Number(j(a)),1.5),Math.max(b-1.5,1.5)),y:Number(k(c))}))}}var e=a.i(631107);let f={none:"bg-line-strong opacity-85",ok:"bg-ok opacity-85",warn:"bg-warn-icon opacity-85",err:"bg-err opacity-85",maint:"bg-brand opacity-45"},g=["bg-brand opacity-90","bg-brand opacity-35","bg-ink-soft opacity-70"];a.s(["k",0,function({hours:a,height:d,label:f}){let g=(0,e.O)(a);return(0,b.jsx)("div",{className:"flex items-end gap-0.5 text-brand",style:{height:d},role:"img","aria-label":f,children:g.map(a=>(0,b.jsx)("span",{title:a.title,className:"flex h-full flex-1 items-end",children:(0,b.jsx)("span",{className:(0,c.f)("block w-full rounded-[1px]",a.pct?"bg-current opacity-85":"bg-line-strong"),style:{height:a.pct?`${a.pct}%`:1}})},a.key))})},"t",0,function({values:a,second:e,ticks:f=[],width:g,height:h,tone:i="accent",fluid:j=!1,label:k}){let l=function(...a){let b=a.flat().filter(a=>null!==a);return b.length?{min:Math.min(...b),max:Math.max(...b)}:null}(a,e??[]),{line:m,area:n,dots:o}=d(a,g,h,l),p=e?d(e,g,h,l):null,q="err"===i?"text-err":"text-brand",r=(0,b.jsxs)(b.Fragment,{children:[f.map(a=>(0,b.jsx)("line",{x1:a.x,x2:a.x,y1:0,y2:h,className:"stroke-ink-faint",strokeWidth:1,vectorEffect:"non-scaling-stroke",children:(0,b.jsx)("title",{children:a.title})},`${a.x}-${a.title}`)),n&&(0,b.jsx)("path",{d:n,fill:"currentColor",opacity:.12}),m&&(0,b.jsx)("path",{d:m,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),p?.line&&(0,b.jsx)("path",{d:p.line,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeDasharray:"4 3",opacity:.7,vectorEffect:"non-scaling-stroke"}),o.map(a=>(0,b.jsx)("path",{d:`M${a.x},${a.y}h0`,stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",vectorEffect:"non-scaling-stroke"},`${a.x},${a.y}`)),p?.dots.map(a=>(0,b.jsx)("path",{d:`M${a.x},${a.y}h0`,stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",opacity:.7,vectorEffect:"non-scaling-stroke"},`m${a.x},${a.y}`))]}),s=j?(0,b.jsx)("svg",{viewBox:`0 0 ${g} ${h}`,preserveAspectRatio:"none",width:"100%",height:h,role:"img","aria-label":k,className:(0,c.f)("block",q),children:r}):(0,b.jsx)("svg",{width:g,height:h,role:"img","aria-label":k,className:(0,c.f)("block",q),children:r});return e||f.length?(0,b.jsxs)(b.Fragment,{children:[s,(0,b.jsxs)("div",{className:"mt-1.5 flex flex-wrap gap-x-3.5 gap-y-1 text-xs text-ink-soft",children:[(0,b.jsxs)("span",{children:[(0,b.jsx)("i",{className:"mr-[5px] inline-block w-3.5 border-t-2 border-current align-middle"}),"p95"]}),e&&(0,b.jsxs)("span",{children:[(0,b.jsx)("i",{className:"mr-[5px] inline-block w-3.5 border-t-2 border-dashed border-current align-middle"}),"p50"]}),f.length>0&&(0,b.jsxs)("span",{children:[(0,b.jsx)("i",{className:"mr-[5px] inline-block h-2.5 border-l border-ink-faint align-middle"}),"Production deploy"]})]})]}):s},"T",0,function({bars:a,parts:d,height:e,label:f}){let h=Math.max(1,...a.map(a=>a.values.reduce((a,b)=>a+b,0)));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex items-end gap-0.5",style:{height:e},role:"img","aria-label":f,children:a.map(a=>{let e=a.values.reduce((a,b)=>a+b,0);return(0,b.jsx)("span",{title:a.title,className:"flex h-full min-w-0 flex-1 flex-col-reverse",children:0===e?(0,b.jsx)("span",{className:"block h-px w-full bg-line-strong"}):a.values.map((a,e)=>a>0&&(0,b.jsx)("span",{className:(0,c.f)("block w-full first:rounded-b-[1px] last:rounded-t-[1px]",g[e%g.length]),style:{height:`${a/h*100}%`}},d[e]))},a.key)})}),d.length>1&&(0,b.jsx)("div",{className:"mt-1.5 flex flex-wrap gap-x-3.5 gap-y-1 text-xs text-ink-soft",children:d.map((a,d)=>(0,b.jsxs)("span",{children:[(0,b.jsx)("i",{className:(0,c.f)("mr-[5px] inline-block size-2.5 rounded-[2px] align-middle",g[d%g.length])}),a]},a))})]})},"n",0,function({bars:a}){let d=b=>a.filter(a=>a.tone===b).length,e=a.filter(a=>a.deploy).length,g=`Last ${a.length} days: ${d("ok")} without failures, ${d("warn")} with 1 or 2 failed checks, ${d("err")} with 3 or more, ${d("none")} without data, ${d("maint")} with only maintenance, ${e} with a production deploy`;return(0,b.jsx)("div",{className:"flex h-6 min-w-[280px] gap-0.5",role:"img","aria-label":g,children:a.map(a=>(0,b.jsx)("span",{title:a.title,className:(0,c.f)("flex-1 rounded-[1px]",f[a.tone],a.deploy&&"shadow-[inset_0_3px_0_var(--color-ink)]")},a.day))})}],252302)}];
1
+ module.exports=[252302,a=>{"use strict";var b=a.i(907997),c=a.i(139138);function d(a,b,c,d){let e=a.filter(a=>null!==a);if(!e.length)return{line:"",area:"",dots:[]};let f=d?.max??Math.max(...e),g=d?.min??Math.min(...e),h=f-g||1,i=Math.max(1,a.length-1),j=a=>(a/i*b).toFixed(1),k=a=>(c-3-(a-g)/h*(c-6)).toFixed(1),l=[],m=[];a.forEach((a,b)=>{null===a?(m.length&&l.push(m),m=[]):m.push([b,a])}),m.length&&l.push(m);let n=a=>a.map(([a,b],c)=>`${c?"L":"M"}${j(a)},${k(b)}`).join("");return{line:l.map(n).join(""),area:l.filter(a=>a.length>1).map(a=>`${n(a)}L${j(a[a.length-1][0])},${c}L${j(a[0][0])},${c}Z`).join(""),dots:l.filter(a=>1===a.length).map(([[a,c]])=>({x:Math.min(Math.max(Number(j(a)),1.5),Math.max(b-1.5,1.5)),y:Number(k(c))}))}}var e=a.i(631107);let f={none:"bg-line-strong opacity-85",ok:"bg-ok opacity-85",warn:"bg-warn-icon opacity-85",err:"bg-err opacity-85",maint:"bg-brand opacity-45"},g=["bg-brand opacity-90","bg-brand opacity-35","bg-ink-soft opacity-70"];a.s(["k",0,function({hours:a,height:d,label:f}){let g=(0,e.O)(a);return(0,b.jsx)("div",{className:"flex items-end gap-0.5 text-brand",style:{height:d},role:"img","aria-label":f,children:g.map(a=>(0,b.jsx)("span",{title:a.title,className:"flex h-full flex-1 items-end",children:(0,b.jsx)("span",{className:(0,c.f)("block w-full rounded-[1px]",a.pct?"bg-current opacity-85":"bg-line-strong"),style:{height:a.pct?`${a.pct}%`:1}})},a.key))})},"t",0,function({values:a,second:e,ticks:f=[],width:g,height:h,tone:i="accent",fluid:j=!1,label:k}){let l=function(...a){let b=a.flat().filter(a=>null!==a);return b.length?{min:Math.min(...b),max:Math.max(...b)}:null}(a,e??[]),{line:m,area:n,dots:o}=d(a,g,h,l),p=e?d(e,g,h,l):null,q="err"===i?a.some(a=>(a??0)>0)?"text-err":"text-ink-faint":"text-brand",r=(0,b.jsxs)(b.Fragment,{children:[f.map(a=>(0,b.jsx)("line",{x1:a.x,x2:a.x,y1:0,y2:h,className:"stroke-ink-faint",strokeWidth:1,vectorEffect:"non-scaling-stroke",children:(0,b.jsx)("title",{children:a.title})},`${a.x}-${a.title}`)),n&&(0,b.jsx)("path",{d:n,fill:"currentColor",opacity:.12}),m&&(0,b.jsx)("path",{d:m,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),p?.line&&(0,b.jsx)("path",{d:p.line,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeDasharray:"4 3",opacity:.7,vectorEffect:"non-scaling-stroke"}),o.map(a=>(0,b.jsx)("path",{d:`M${a.x},${a.y}h0`,stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",vectorEffect:"non-scaling-stroke"},`${a.x},${a.y}`)),p?.dots.map(a=>(0,b.jsx)("path",{d:`M${a.x},${a.y}h0`,stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",opacity:.7,vectorEffect:"non-scaling-stroke"},`m${a.x},${a.y}`))]}),s=j?(0,b.jsx)("svg",{viewBox:`0 0 ${g} ${h}`,preserveAspectRatio:"none",width:"100%",height:h,role:"img","aria-label":k,className:(0,c.f)("block",q),children:r}):(0,b.jsx)("svg",{width:g,height:h,role:"img","aria-label":k,className:(0,c.f)("block",q),children:r});return e||f.length?(0,b.jsxs)(b.Fragment,{children:[s,(0,b.jsxs)("div",{className:"mt-1.5 flex flex-wrap gap-x-3.5 gap-y-1 text-xs text-ink-soft",children:[(0,b.jsxs)("span",{children:[(0,b.jsx)("i",{className:"mr-[5px] inline-block w-3.5 border-t-2 border-current align-middle"}),"p95"]}),e&&(0,b.jsxs)("span",{children:[(0,b.jsx)("i",{className:"mr-[5px] inline-block w-3.5 border-t-2 border-dashed border-current align-middle"}),"p50"]}),f.length>0&&(0,b.jsxs)("span",{children:[(0,b.jsx)("i",{className:"mr-[5px] inline-block h-2.5 border-l border-ink-faint align-middle"}),"Production deploy"]})]})]}):s},"T",0,function({bars:a,parts:d,height:e,label:f}){let h=Math.max(1,...a.map(a=>a.values.reduce((a,b)=>a+b,0)));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex items-end gap-0.5",style:{height:e},role:"img","aria-label":f,children:a.map(a=>{let e=a.values.reduce((a,b)=>a+b,0);return(0,b.jsx)("span",{title:a.title,className:"flex h-full min-w-0 flex-1 flex-col-reverse",children:0===e?(0,b.jsx)("span",{className:"block h-px w-full bg-line-strong"}):a.values.map((a,e)=>a>0&&(0,b.jsx)("span",{className:(0,c.f)("block w-full first:rounded-b-[1px] last:rounded-t-[1px]",g[e%g.length]),style:{height:`${a/h*100}%`}},d[e]))},a.key)})}),d.length>1&&(0,b.jsx)("div",{className:"mt-1.5 flex flex-wrap gap-x-3.5 gap-y-1 text-xs text-ink-soft",children:d.map((a,d)=>(0,b.jsxs)("span",{children:[(0,b.jsx)("i",{className:(0,c.f)("mr-[5px] inline-block size-2.5 rounded-[2px] align-middle",g[d%g.length])}),a]},a))})]})},"n",0,function({bars:a}){let d=b=>a.filter(a=>a.tone===b).length,e=a.filter(a=>a.deploy).length,g=`Last ${a.length} days: ${d("ok")} without failures, ${d("warn")} with 1 or 2 failed checks, ${d("err")} with 3 or more, ${d("none")} without data, ${d("maint")} with only maintenance, ${e} with a production deploy`;return(0,b.jsx)("div",{className:"flex h-6 min-w-[280px] gap-0.5",role:"img","aria-label":g,children:a.map(a=>(0,b.jsx)("span",{title:a.title,className:(0,c.f)("flex-1 rounded-[1px]",f[a.tone],a.deploy&&"shadow-[inset_0_3px_0_var(--color-ink)]")},a.day))})}],252302)}];
2
2
 
3
3
  //# sourceMappingURL=src_components_charts_tsx_0u0c5sxi3-7ug._.js.map