watchbell 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (991) hide show
  1. package/package.json +1 -1
  2. package/server/.next/BUILD_ID +1 -1
  3. package/server/.next/app-path-routes-manifest.json +3 -0
  4. package/server/.next/build-manifest.json +14 -3
  5. package/server/.next/prerender-manifest.json +3 -3
  6. package/server/.next/required-server-files.json +1 -1
  7. package/server/.next/routes-manifest.json +20 -0
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +13 -13
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +72 -71
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  11. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +12 -12
  13. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +72 -71
  14. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  15. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  16. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +11 -11
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +72 -71
  18. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  19. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +14 -14
  21. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +72 -71
  22. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  23. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +12 -12
  25. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +72 -71
  26. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  27. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  28. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +21 -21
  29. package/server/.next/server/app/(console)/(private)/ai/models/page.js +72 -71
  30. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  31. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  32. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +11 -11
  33. package/server/.next/server/app/(console)/(private)/ai/page.js +72 -71
  34. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  35. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +14 -14
  37. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +72 -71
  38. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  39. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +17 -17
  41. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +72 -71
  42. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  43. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  44. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +12 -12
  45. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +72 -71
  46. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  47. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  48. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +12 -12
  49. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +72 -71
  50. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  51. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  52. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +11 -11
  53. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +72 -71
  54. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  55. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  56. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +12 -12
  57. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +72 -71
  58. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  59. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  60. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +27 -27
  61. package/server/.next/server/app/(console)/alerts/page.js +72 -71
  62. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  63. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  64. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +34 -34
  65. package/server/.next/server/app/(console)/apps/[id]/page.js +72 -71
  66. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  67. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  68. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +14 -14
  69. package/server/.next/server/app/(console)/apps/page.js +72 -71
  70. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  71. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  72. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +14 -14
  73. package/server/.next/server/app/(console)/backups/page.js +72 -71
  74. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  75. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  76. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +11 -11
  77. package/server/.next/server/app/(console)/catalog/page.js +72 -71
  78. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  79. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  80. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +22 -22
  81. package/server/.next/server/app/(console)/connections/page.js +72 -71
  82. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  83. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  84. package/server/.next/server/app/(console)/containers/page/server-reference-manifest.json +14 -14
  85. package/server/.next/server/app/(console)/containers/page.js +72 -71
  86. package/server/.next/server/app/(console)/containers/page.js.nft.json +1 -1
  87. package/server/.next/server/app/(console)/containers/page_client-reference-manifest.js +1 -1
  88. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +11 -11
  89. package/server/.next/server/app/(console)/d1/page.js +72 -71
  90. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  91. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  92. package/server/.next/server/app/(console)/deploy/page/server-reference-manifest.json +11 -11
  93. package/server/.next/server/app/(console)/deploy/page.js +72 -71
  94. package/server/.next/server/app/(console)/deploy/page.js.nft.json +1 -1
  95. package/server/.next/server/app/(console)/deploy/page_client-reference-manifest.js +1 -1
  96. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +19 -19
  97. package/server/.next/server/app/(console)/deployments/page.js +72 -71
  98. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  99. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  100. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +18 -18
  101. package/server/.next/server/app/(console)/dns/page.js +72 -71
  102. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  103. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  104. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +13 -13
  105. package/server/.next/server/app/(console)/domains/page.js +72 -71
  106. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  107. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  108. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +11 -11
  109. package/server/.next/server/app/(console)/events/page.js +72 -71
  110. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  111. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  112. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +18 -18
  113. package/server/.next/server/app/(console)/firebase/page.js +72 -71
  114. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  115. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  116. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +12 -12
  117. package/server/.next/server/app/(console)/logs/page.js +72 -71
  118. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  119. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  120. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +12 -12
  121. package/server/.next/server/app/(console)/manage/sections/page.js +72 -71
  122. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  123. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  124. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +22 -22
  125. package/server/.next/server/app/(console)/neon/page.js +72 -71
  126. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  127. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  128. package/server/.next/server/app/(console)/os/page/server-reference-manifest.json +12 -12
  129. package/server/.next/server/app/(console)/os/page.js +72 -71
  130. package/server/.next/server/app/(console)/os/page.js.nft.json +1 -1
  131. package/server/.next/server/app/(console)/os/page_client-reference-manifest.js +1 -1
  132. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +21 -21
  133. package/server/.next/server/app/(console)/overview/page.js +72 -71
  134. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  135. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  136. package/server/.next/server/app/(console)/reports/[id]/pdf/route/app-paths-manifest.json +3 -0
  137. package/server/.next/server/app/(console)/reports/[id]/pdf/route/build-manifest.json +12 -0
  138. package/server/.next/server/app/(console)/reports/[id]/pdf/route/server-reference-manifest.json +4 -0
  139. package/server/.next/server/app/(console)/reports/[id]/pdf/route.js +26 -0
  140. package/server/.next/server/app/(console)/reports/[id]/pdf/route.js.nft.json +1 -0
  141. package/server/.next/server/app/(console)/reports/[id]/pdf/route_client-reference-manifest.js +3 -0
  142. package/server/.next/server/app/(console)/reports/page/app-paths-manifest.json +3 -0
  143. package/server/.next/server/app/(console)/reports/page/build-manifest.json +22 -0
  144. package/server/.next/server/app/(console)/reports/page/next-font-manifest.json +11 -0
  145. package/server/.next/server/app/(console)/reports/page/react-loadable-manifest.json +1 -0
  146. package/server/.next/server/app/(console)/reports/page/server-reference-manifest.json +155 -0
  147. package/server/.next/server/app/(console)/reports/page.js +121 -0
  148. package/server/.next/server/app/(console)/reports/page.js.nft.json +1 -0
  149. package/server/.next/server/app/(console)/reports/page_client-reference-manifest.js +3 -0
  150. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +12 -12
  151. package/server/.next/server/app/(console)/repos/[id]/page.js +72 -71
  152. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  153. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  154. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +11 -11
  155. package/server/.next/server/app/(console)/repos/page.js +72 -71
  156. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  157. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  158. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +62 -42
  159. package/server/.next/server/app/(console)/settings/page.js +75 -74
  160. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  161. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  162. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +18 -18
  163. package/server/.next/server/app/(console)/sql/page.js +72 -71
  164. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  165. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  166. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +11 -11
  167. package/server/.next/server/app/(console)/status/page.js +72 -71
  168. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  169. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  170. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +32 -32
  171. package/server/.next/server/app/(console)/supabase/page.js +72 -71
  172. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  173. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  174. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +11 -11
  175. package/server/.next/server/app/(console)/topology/page.js +72 -71
  176. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  177. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  178. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +11 -11
  179. package/server/.next/server/app/(console)/turso/page.js +72 -71
  180. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  181. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  182. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +11 -11
  183. package/server/.next/server/app/(console)/upstash/page.js +72 -71
  184. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  185. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  186. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +25 -25
  187. package/server/.next/server/app/(console)/uptime/page.js +72 -71
  188. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  189. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  190. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +16 -16
  191. package/server/.next/server/app/(console)/welcome/page.js +72 -71
  192. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  193. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  194. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  195. package/server/.next/server/app/_global-error/page.js +1 -1
  196. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  197. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  198. package/server/.next/server/app/_global-error.html +1 -1
  199. package/server/.next/server/app/_global-error.rsc +3 -3
  200. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  201. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  202. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  203. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  204. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  205. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  206. package/server/.next/server/app/_not-found.html +1 -1
  207. package/server/.next/server/app/_not-found.rsc +4 -4
  208. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  209. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  210. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  211. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  212. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  213. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  214. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +8 -8
  215. package/server/.next/server/app/api/collect/route.js +90 -84
  216. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  217. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +8 -8
  218. package/server/.next/server/app/api/daily/route.js +95 -89
  219. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  220. package/server/.next/server/app/api/health/route.js.nft.json +1 -1
  221. package/server/.next/server/app/api/ping/[...parts]/route.js +9 -8
  222. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  223. package/server/.next/server/app/api/status/route.js +1 -1
  224. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  225. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +8 -8
  226. package/server/.next/server/app/api/telegram/webhook/route.js +85 -80
  227. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  228. package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
  229. package/server/.next/server/app/api/v1/advice/route.js +27 -23
  230. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  231. package/server/.next/server/app/api/v1/ai/chat/completions/route.js +1 -1
  232. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  233. package/server/.next/server/app/api/v1/ai/models/route.js +1 -1
  234. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  235. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js +1 -1
  236. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  237. package/server/.next/server/app/api/v1/ai/questions/route.js +31 -27
  238. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  239. package/server/.next/server/app/api/v1/mcp/route.js +28 -24
  240. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  241. package/server/.next/server/app/api/v1/me/route.js +1 -1
  242. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  243. package/server/.next/server/app/api/v1/openapi.json/route.js +1 -1
  244. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  245. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +27 -23
  246. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  247. package/server/.next/server/app/api/v1/status/route.js +27 -23
  248. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  249. package/server/.next/server/app/api/watchdog/route.js +27 -21
  250. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  251. package/server/.next/server/app/auth/confirm/route.js +1 -1
  252. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  253. package/server/.next/server/app/auth/google/callback/route.js +16 -15
  254. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  255. package/server/.next/server/app/auth/google/create/callback/route.js +1 -1
  256. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  257. package/server/.next/server/app/auth/not-member/route.js +1 -1
  258. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  259. package/server/.next/server/app/auth/session-ended/route.js +1 -1
  260. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  261. package/server/.next/server/app/brand-icon/route/app-paths-manifest.json +3 -0
  262. package/server/.next/server/app/brand-icon/route/build-manifest.json +12 -0
  263. package/server/.next/server/app/brand-icon/route/server-reference-manifest.json +4 -0
  264. package/server/.next/server/app/brand-icon/route.js +15 -0
  265. package/server/.next/server/app/brand-icon/route.js.nft.json +1 -0
  266. package/server/.next/server/app/brand-icon/route_client-reference-manifest.js +3 -0
  267. package/server/.next/server/app/icon.svg/route.js.nft.json +1 -1
  268. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  269. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  270. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  271. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  272. package/server/.next/server/app/mfa/page.js +33 -31
  273. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  274. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  275. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  276. package/server/.next/server/app/mfa/setup/page.js +33 -31
  277. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  278. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  279. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  280. package/server/.next/server/app/page.js.nft.json +1 -1
  281. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  282. package/server/.next/server/app/s/[slug]/badge/[file]/route.js +10 -8
  283. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  284. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  285. package/server/.next/server/app/s/[slug]/page.js +10 -10
  286. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  287. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  288. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  289. package/server/.next/server/app/setup/page.js +1 -1
  290. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  291. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  292. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  293. package/server/.next/server/app/signin/page.js +38 -36
  294. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  295. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  296. package/server/.next/server/app-paths-manifest.json +3 -0
  297. package/server/.next/server/chunks/{[externals]__0n4j2emxdv20_._.js → [externals]__0oqc6ym5k457v._.js} +1 -1
  298. package/server/.next/server/chunks/{[externals]__1hwo1oo04do39._.js → [externals]__1aervsuoo1qe_._.js} +1 -1
  299. package/server/.next/server/chunks/{[externals]__1k12utcf9tvqg._.js → [externals]__1oag9t_9gex2-._.js} +1 -1
  300. package/server/.next/server/chunks/{[root-of-the-server]__1avuwg9wmyh48._.js → [root-of-the-server]__0-ytbad9hn7uc._.js} +1 -1
  301. package/server/.next/server/chunks/[root-of-the-server]__00s0famyfjv1y._.js +3 -0
  302. package/server/.next/server/chunks/{[root-of-the-server]__09l9icaspfmoh._.js → [root-of-the-server]__016wnct3b5iby._.js} +2 -2
  303. package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +1 -1
  304. package/server/.next/server/chunks/[root-of-the-server]__029099rqwqwff._.js +3 -0
  305. package/server/.next/server/chunks/{[root-of-the-server]__03589rgm1a3ks._.js → [root-of-the-server]__02ctwy1u4z3fj._.js} +2 -2
  306. package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.js +1 -1
  307. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  308. package/server/.next/server/chunks/{[root-of-the-server]__06kp2_zqpttyd._.js → [root-of-the-server]__03y8yvaulshnn._.js} +2 -2
  309. package/server/.next/server/chunks/[root-of-the-server]__03z520-siwkv_._.js +3 -0
  310. package/server/.next/server/chunks/{[root-of-the-server]__06l038ifglbqy._.js → [root-of-the-server]__04ogdmf82__0g._.js} +1 -1
  311. package/server/.next/server/chunks/[root-of-the-server]__05qcc-0e8z1u8._.js +1 -1
  312. package/server/.next/server/chunks/{[root-of-the-server]__09msxcjw3tlue._.js → [root-of-the-server]__05s9-538s47_e._.js} +1 -1
  313. package/server/.next/server/chunks/{[root-of-the-server]__1xdi98xyay6bn._.js → [root-of-the-server]__05vm5cxqq2-pg._.js} +1 -1
  314. package/server/.next/server/chunks/[root-of-the-server]__06od3qx7q00rc._.js +3 -0
  315. package/server/.next/server/chunks/{[root-of-the-server]__0uz_r72zdnwdd._.js → [root-of-the-server]__06rlokvpk450w._.js} +2 -2
  316. package/server/.next/server/chunks/{[root-of-the-server]__0ao4b2jjkcvo1._.js → [root-of-the-server]__070v8547b4qpa._.js} +1 -1
  317. package/server/.next/server/chunks/[root-of-the-server]__07eo--c90cju2._.js +1 -1
  318. package/server/.next/server/chunks/{[root-of-the-server]__0fii83nfm0bsk._.js → [root-of-the-server]__07gjmfv5mi33j._.js} +1 -1
  319. package/server/.next/server/chunks/[root-of-the-server]__07u2g5ccvst94._.js +3 -0
  320. package/server/.next/server/chunks/{[root-of-the-server]__205cmd-k6g2kc._.js → [root-of-the-server]__096q5ufradttx._.js} +1 -1
  321. package/server/.next/server/chunks/[root-of-the-server]__09bwtkv2iniyt._.js +3 -0
  322. package/server/.next/server/chunks/[root-of-the-server]__0_2fr1g7uby1m._.js +3 -0
  323. package/server/.next/server/chunks/{[root-of-the-server]__0g0rd65zoitrb._.js → [root-of-the-server]__0aazgg7203ez1._.js} +1 -1
  324. package/server/.next/server/chunks/{[root-of-the-server]__0ebkmgcs7v0c8._.js → [root-of-the-server]__0afpn-tk2qlu0._.js} +2 -2
  325. package/server/.next/server/chunks/[root-of-the-server]__0b7xflnrk4amk._.js +3 -0
  326. package/server/.next/server/chunks/[root-of-the-server]__0bb8xnocnnbt8._.js +3 -0
  327. package/server/.next/server/chunks/[root-of-the-server]__0bxqqjjy9ckvm._.js +3 -0
  328. package/server/.next/server/chunks/[root-of-the-server]__0c0drtvym6hf4._.js +3 -0
  329. package/server/.next/server/chunks/{[root-of-the-server]__0c_mpay_m5kbm._.js → [root-of-the-server]__0erdelc9_06nk._.js} +1 -1
  330. package/server/.next/server/chunks/{[root-of-the-server]__0ww7a-9fnx2rv._.js → [root-of-the-server]__0eyd4kffoz9ex._.js} +1 -1
  331. package/server/.next/server/chunks/[root-of-the-server]__0frz3wu-qcv-d._.js +3 -0
  332. package/server/.next/server/chunks/{[root-of-the-server]__0uyc9w7f_r10u._.js → [root-of-the-server]__0g0-q56cumuup._.js} +1 -1
  333. package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +1 -1
  334. package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +1 -1
  335. package/server/.next/server/chunks/{[root-of-the-server]__0s3b61ttgb9if._.js → [root-of-the-server]__0gv3v5775wfmw._.js} +2 -2
  336. package/server/.next/server/chunks/{[root-of-the-server]__1y9gsf61fh1fv._.js → [root-of-the-server]__0hm-azhxs9ted._.js} +2 -2
  337. package/server/.next/server/chunks/{[root-of-the-server]__0vdm37x30hr6p._.js → [root-of-the-server]__0ieq7-dtcg06b._.js} +1 -1
  338. package/server/.next/server/chunks/{[root-of-the-server]__0r0zrp3s_n614._.js → [root-of-the-server]__0iicsi0n7tfa5._.js} +1 -1
  339. package/server/.next/server/chunks/{[root-of-the-server]__1tlivd99uri0t._.js → [root-of-the-server]__0jevd1p5unnre._.js} +2 -2
  340. package/server/.next/server/chunks/{[root-of-the-server]__0vclan952l_ty._.js → [root-of-the-server]__0jz91oppmwtiq._.js} +2 -2
  341. package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +1 -1
  342. package/server/.next/server/chunks/{[root-of-the-server]__10d4a34z0js-f._.js → [root-of-the-server]__0mg6rmq22tf26._.js} +1 -1
  343. package/server/.next/server/chunks/[root-of-the-server]__0n-u6p8-hd-89._.js +3 -0
  344. package/server/.next/server/chunks/{[root-of-the-server]__20qirklw1sgj0._.js → [root-of-the-server]__0ng-t81zeeipc._.js} +2 -2
  345. package/server/.next/server/chunks/{[root-of-the-server]__1r2ei065xk141._.js → [root-of-the-server]__0nkfi6x2c4c5p._.js} +1 -1
  346. package/server/.next/server/chunks/{[root-of-the-server]__192br5y94wzhx._.js → [root-of-the-server]__0nyxfjn368366._.js} +1 -1
  347. package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.js +1 -1
  348. package/server/.next/server/chunks/[root-of-the-server]__0p2n1_qp53y51._.js +3 -0
  349. package/server/.next/server/chunks/[root-of-the-server]__0p8j8b2tg73dq._.js +3 -0
  350. package/server/.next/server/chunks/[root-of-the-server]__0p955ekgdwy_c._.js +3 -0
  351. package/server/.next/server/chunks/{[root-of-the-server]__0g3v-ty9-xstp._.js → [root-of-the-server]__0p_rkszoindlf._.js} +1 -1
  352. package/server/.next/server/chunks/{[root-of-the-server]__1tefe1f5835t_._.js → [root-of-the-server]__0pammm8f5qxtv._.js} +2 -2
  353. package/server/.next/server/chunks/{[root-of-the-server]__0c41pzboxtjvz._.js → [root-of-the-server]__0pm83e1a3wwlw._.js} +1 -1
  354. package/server/.next/server/chunks/[root-of-the-server]__0q9s7rbt0e-cf._.js +3 -0
  355. package/server/.next/server/chunks/{[root-of-the-server]__1mbm_bvk1oat7._.js → [root-of-the-server]__0qhyj1r9qcxp3._.js} +2 -2
  356. package/server/.next/server/chunks/[root-of-the-server]__0ra3lgjt0yuyy._.js +3 -0
  357. package/server/.next/server/chunks/{[root-of-the-server]__1z1fgf8k8icw8._.js → [root-of-the-server]__0ra_bw8zg6kmk._.js} +2 -2
  358. package/server/.next/server/chunks/[root-of-the-server]__0sgumm0843o2j._.js +3 -0
  359. package/server/.next/server/chunks/{[root-of-the-server]__0016p4j5uh74t._.js → [root-of-the-server]__0t6rge6laz89-._.js} +2 -2
  360. package/server/.next/server/chunks/{[root-of-the-server]__04v42ls1mfjd2._.js → [root-of-the-server]__0tsly874_mafr._.js} +2 -2
  361. package/server/.next/server/chunks/{[root-of-the-server]__1iruoalu93dg7._.js → [root-of-the-server]__0u4o6oo428rvf._.js} +2 -2
  362. package/server/.next/server/chunks/{[root-of-the-server]__0a7moaa91ctod._.js → [root-of-the-server]__0ux78ppoct5b_._.js} +2 -2
  363. package/server/.next/server/chunks/[root-of-the-server]__0vg5zp6z094qr._.js +3 -0
  364. package/server/.next/server/chunks/{[root-of-the-server]__1ji_xmb_m6fam._.js → [root-of-the-server]__0vhq-__j8umfu._.js} +1 -1
  365. package/server/.next/server/chunks/[root-of-the-server]__0vjvvirn6-fx-._.js +3 -0
  366. package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
  367. package/server/.next/server/chunks/{[root-of-the-server]__10ts7p_9fu3ge._.js → [root-of-the-server]__0vuirlylhcyzm._.js} +2 -2
  368. package/server/.next/server/chunks/{[root-of-the-server]__06zmu7jjyw1qw._.js → [root-of-the-server]__0w1iqt-rpp_3h._.js} +1 -1
  369. package/server/.next/server/chunks/[root-of-the-server]__0welpj78704um._.js +3 -0
  370. package/server/.next/server/chunks/{[root-of-the-server]__20056vw370xom._.js → [root-of-the-server]__0xd_bgjy5_tr5._.js} +1 -1
  371. package/server/.next/server/chunks/[root-of-the-server]__0xnag1k7mnvoh._.js +3 -0
  372. package/server/.next/server/chunks/[root-of-the-server]__0yhki59n8zyjb._.js +1 -1
  373. package/server/.next/server/chunks/[root-of-the-server]__0ymf9ppvpsffe._.js +3 -0
  374. package/server/.next/server/chunks/[root-of-the-server]__0zpo6n_av-p7a._.js +3 -0
  375. package/server/.next/server/chunks/{[root-of-the-server]__1hrcyozojb6ot._.js → [root-of-the-server]__0zs-wkvv1cs0i._.js} +1 -1
  376. package/server/.next/server/chunks/[root-of-the-server]__0zxrhqtvpoio4._.js +3 -0
  377. package/server/.next/server/chunks/[root-of-the-server]__1-9vvc9y0qqhf._.js +3 -0
  378. package/server/.next/server/chunks/[root-of-the-server]__1-bbb_srnbm5x._.js +3 -0
  379. package/server/.next/server/chunks/[root-of-the-server]__10-4cctiab73h._.js +3 -0
  380. package/server/.next/server/chunks/[root-of-the-server]__11300e77grhx6._.js +3 -0
  381. package/server/.next/server/chunks/{[root-of-the-server]__0tshehtsx7229._.js → [root-of-the-server]__11a8fxlpahjy2._.js} +1 -1
  382. package/server/.next/server/chunks/[root-of-the-server]__11tzj3jzqzk6v._.js +3 -0
  383. package/server/.next/server/chunks/{[root-of-the-server]__1ghx3ayy7tm73._.js → [root-of-the-server]__11yn1ky7yixd7._.js} +2 -2
  384. package/server/.next/server/chunks/[root-of-the-server]__12m0p1vyef6d5._.js +3 -0
  385. package/server/.next/server/chunks/[root-of-the-server]__12w6gylk59cym._.js +3 -0
  386. package/server/.next/server/chunks/[root-of-the-server]__13-qqkdecmwba._.js +3 -0
  387. package/server/.next/server/chunks/{[root-of-the-server]__19jalyhtntk8p._.js → [root-of-the-server]__135cn1pmljq9j._.js} +1 -1
  388. package/server/.next/server/chunks/[root-of-the-server]__13i4zx_j8zugt._.js +3 -0
  389. package/server/.next/server/chunks/[root-of-the-server]__1412kx9qb_j46._.js +3 -0
  390. package/server/.next/server/chunks/[root-of-the-server]__1420nm1i823v8._.js +3 -0
  391. package/server/.next/server/chunks/[root-of-the-server]__1426to_m4prqh._.js +1 -1
  392. package/server/.next/server/chunks/{[root-of-the-server]__1a563imf6ya2l._.js → [root-of-the-server]__14bynsn7eae8y._.js} +1 -1
  393. package/server/.next/server/chunks/[root-of-the-server]__14cb1pomeg0x7._.js +3 -0
  394. package/server/.next/server/chunks/[root-of-the-server]__177l2p7kcj-16._.js +1 -1
  395. package/server/.next/server/chunks/[root-of-the-server]__1_iy7tzpesarf._.js +3 -0
  396. package/server/.next/server/chunks/[root-of-the-server]__1akvpmbiap6nf._.js +1 -1
  397. package/server/.next/server/chunks/[root-of-the-server]__1c78cu7kb9vkl._.js +1 -1
  398. package/server/.next/server/chunks/[root-of-the-server]__1cnmxehqzmqq_._.js +3 -0
  399. package/server/.next/server/chunks/[root-of-the-server]__1d1zkp1q80t6q._.js +3 -0
  400. package/server/.next/server/chunks/[root-of-the-server]__1f84fftr_6_6n._.js +3 -0
  401. package/server/.next/server/chunks/[root-of-the-server]__1fteaav9qn2kq._.js +3 -0
  402. package/server/.next/server/chunks/{[root-of-the-server]__10-v22hv1sxrv._.js → [root-of-the-server]__1gl0-1oziw-g0._.js} +2 -2
  403. package/server/.next/server/chunks/{[root-of-the-server]__02y9yjf7lp37-._.js → [root-of-the-server]__1gufo2kz88z04._.js} +1 -1
  404. package/server/.next/server/chunks/{[root-of-the-server]__1ons16gam6qb7._.js → [root-of-the-server]__1hcn00gn9mapd._.js} +2 -2
  405. package/server/.next/server/chunks/[root-of-the-server]__1i_vd8w3df3i6._.js +3 -0
  406. package/server/.next/server/chunks/{[root-of-the-server]__0x5vp_8n6xvpw._.js → [root-of-the-server]__1ia-rts7ilt7c._.js} +2 -2
  407. package/server/.next/server/chunks/[root-of-the-server]__1igmx9-fdh2wd._.js +3 -0
  408. package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +1 -1
  409. package/server/.next/server/chunks/[root-of-the-server]__1jcr8cc_tlvfc._.js +3 -0
  410. package/server/.next/server/chunks/[root-of-the-server]__1kp2wois-47bg._.js +3 -0
  411. package/server/.next/server/chunks/{[root-of-the-server]__0qlf-so9k6401._.js → [root-of-the-server]__1kr6f03r82mk6._.js} +1 -1
  412. package/server/.next/server/chunks/[root-of-the-server]__1lcszcm98v484._.js +3 -0
  413. package/server/.next/server/chunks/[root-of-the-server]__1le7r_1_00km1._.js +3 -0
  414. package/server/.next/server/chunks/{[root-of-the-server]__0exruft64u1hg._.js → [root-of-the-server]__1lvf4tk_1td0a._.js} +2 -2
  415. package/server/.next/server/chunks/[root-of-the-server]__1mqv7anx5l3yq._.js +3 -0
  416. package/server/.next/server/chunks/[root-of-the-server]__1mufebnwyxlwx._.js +3 -0
  417. package/server/.next/server/chunks/[root-of-the-server]__1o0lvy6ek0v5d._.js +3 -0
  418. package/server/.next/server/chunks/[root-of-the-server]__1ozfk4_3lx1o7._.js +1 -1
  419. package/server/.next/server/chunks/{[root-of-the-server]__09yvavo991rdd._.js → [root-of-the-server]__1p1e6x-mb7ro2._.js} +2 -2
  420. package/server/.next/server/chunks/[root-of-the-server]__1pu84qy7loc8o._.js +3 -0
  421. package/server/.next/server/chunks/{[root-of-the-server]__0_vtp19_2frgj._.js → [root-of-the-server]__1pyc-ezfujjcp._.js} +1 -1
  422. package/server/.next/server/chunks/{[root-of-the-server]__1yxxfmyk3649a._.js → [root-of-the-server]__1pyhos8be90-4._.js} +1 -1
  423. package/server/.next/server/chunks/[root-of-the-server]__1qelr0qe50xap._.js +3 -0
  424. package/server/.next/server/chunks/[root-of-the-server]__1qqdsrhuw0z-w._.js +3 -0
  425. package/server/.next/server/chunks/[root-of-the-server]__1qwy7s_95k9k-._.js +3 -0
  426. package/server/.next/server/chunks/{[root-of-the-server]__0vb1_m_h5hi0z._.js → [root-of-the-server]__1qxm3lqqdbyy7._.js} +2 -2
  427. package/server/.next/server/chunks/[root-of-the-server]__1rusbj8ktmzj0._.js +3 -0
  428. package/server/.next/server/chunks/[root-of-the-server]__1rxaooz-d8jfs._.js +3 -0
  429. package/server/.next/server/chunks/[root-of-the-server]__1s8f1ovcj5r99._.js +3 -0
  430. package/server/.next/server/chunks/[root-of-the-server]__1tdb11b6vn4qm._.js +3 -0
  431. package/server/.next/server/chunks/[root-of-the-server]__1ti5-6okt7fur._.js +3 -0
  432. package/server/.next/server/chunks/{[root-of-the-server]__1cdt67d022uf1._.js → [root-of-the-server]__1ugnox9gcdhvm._.js} +2 -2
  433. package/server/.next/server/chunks/{[root-of-the-server]__090n04cg_br7j._.js → [root-of-the-server]__1vvg0ur3_7o0p._.js} +1 -1
  434. package/server/.next/server/chunks/[root-of-the-server]__1w_ga9n2lj53n._.js +3 -0
  435. package/server/.next/server/chunks/{[root-of-the-server]__0vsafetdvsfhj._.js → [root-of-the-server]__1wjsjh-1i-sn6._.js} +1 -1
  436. package/server/.next/server/chunks/[root-of-the-server]__1x4u0cdsl_81t._.js +3 -0
  437. package/server/.next/server/chunks/[root-of-the-server]__1xe_98y-j38aq._.js +3 -0
  438. package/server/.next/server/chunks/[root-of-the-server]__1xku6cma1a_kb._.js +3 -0
  439. package/server/.next/server/chunks/{[root-of-the-server]__0pi_camvun8ak._.js → [root-of-the-server]__1xnqsy7nud--q._.js} +2 -2
  440. package/server/.next/server/chunks/[root-of-the-server]__1yk1psrx0yy4n._.js +3 -0
  441. package/server/.next/server/chunks/{[root-of-the-server]__19o-a03uklyrw._.js → [root-of-the-server]__1ywvdsk_bmws0._.js} +2 -2
  442. package/server/.next/server/chunks/[root-of-the-server]__1z9kl-irij2lu._.js +3 -0
  443. package/server/.next/server/chunks/[root-of-the-server]__1zmoy4u_xb_yi._.js +3 -0
  444. package/server/.next/server/chunks/[root-of-the-server]__1zq2zv2ogn3ot._.js +3 -0
  445. package/server/.next/server/chunks/[root-of-the-server]__202mmzv3u-hk1._.js +3 -0
  446. package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +1 -1
  447. package/server/.next/server/chunks/[root-of-the-server]__20tvyorpg49kd._.js +3 -0
  448. package/server/.next/server/chunks/{[root-of-the-server]__1i841w7a3057h._.js → [root-of-the-server]__212_l7y-180xi._.js} +1 -1
  449. package/server/.next/server/chunks/{[root-of-the-server]__1vfvw1pmssxww._.js → [root-of-the-server]__217jp1b3psyq_._.js} +1 -1
  450. package/server/.next/server/chunks/_0-sqv2nbaba7h._.js +3 -0
  451. package/server/.next/server/chunks/_00t02v1a9nfr1._.js +3 -0
  452. package/server/.next/server/chunks/_01epotkqa90nv._.js +3 -0
  453. package/server/.next/server/chunks/_04oi0m63biyjd._.js +3 -0
  454. package/server/.next/server/chunks/_05kxcc393c_0z._.js +3 -0
  455. package/server/.next/server/chunks/_08q7x7rdbiaql._.js +49 -0
  456. package/server/.next/server/chunks/_0apakqacgawy4._.js +3 -0
  457. package/server/.next/server/chunks/_0bki3kju_1u1f._.js +3 -0
  458. package/server/.next/server/chunks/_0d29nzne5jrwy._.js +49 -0
  459. package/server/.next/server/chunks/_0djze-128wsu0._.js +3 -0
  460. package/server/.next/server/chunks/_0dq_vw-kky70h._.js +3 -0
  461. package/server/.next/server/chunks/_0hm72d9am2vfs._.js +3 -0
  462. package/server/.next/server/chunks/_0huryxihjw6tl._.js +49 -0
  463. package/server/.next/server/chunks/{_0ehqx1pkh20px._.js → _0lboyl6w4kfx4._.js} +3 -3
  464. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  465. package/server/.next/server/chunks/_0ou2tylxx1ltw._.js +10 -0
  466. package/server/.next/server/chunks/_0rqil_klxfz3j._.js +3 -0
  467. package/server/.next/server/chunks/_10mj3f1wis1ld._.js +3 -0
  468. package/server/.next/server/chunks/_15f0c7f46zkh3._.js +3 -0
  469. package/server/.next/server/chunks/_17u84tg9ibxp9._.js +3 -0
  470. package/server/.next/server/chunks/_1e4rch26scbhq._.js +49 -0
  471. package/server/.next/server/chunks/_1g-4oov0uynv-._.js +3 -0
  472. package/server/.next/server/chunks/_1iugpfonxri3e._.js +3 -0
  473. package/server/.next/server/chunks/_1iunyzyr-tfdj._.js +31 -0
  474. package/server/.next/server/chunks/{_0zj8nj1f2phf5._.js → _1n4labwyv5msc._.js} +1 -1
  475. package/server/.next/server/chunks/_1nuny071s602h._.js +3 -0
  476. package/server/.next/server/chunks/_1ohb_bmawpjlz._.js +10 -0
  477. package/server/.next/server/chunks/_1qcal07c71omr._.js +3 -0
  478. package/server/.next/server/chunks/_1sx70w_rurjin._.js +3 -0
  479. package/server/.next/server/chunks/_1tl0532dffdm-._.js +3 -0
  480. package/server/.next/server/chunks/{_0jiq3ns7681pv._.js → _1txqs5b7jg9so._.js} +3 -3
  481. package/server/.next/server/chunks/{_1t46m15axa4b4._.js → _1w9di5m91vtjk._.js} +3 -3
  482. package/server/.next/server/chunks/_20ounk93z_b6h._.js +3 -0
  483. package/server/.next/server/chunks/_next-internal_server_app_(console)_reports_[id]_pdf_route_actions_1z8w14-7mvvj9.js +3 -0
  484. package/server/.next/server/chunks/_next-internal_server_app_brand-icon_route_actions_1d7gd59j_572y.js +3 -0
  485. package/server/.next/server/chunks/{node_modules_drizzle-orm_0p2-_xghnn-0j._.js → node_modules_drizzle-orm_0ac-0bknpndrl._.js} +2 -2
  486. package/server/.next/server/chunks/{node_modules_drizzle-orm_0pxdj1u-i8py9._.js → node_modules_drizzle-orm_0k-yqdh9heao6._.js} +2 -2
  487. package/server/.next/server/chunks/{node_modules_drizzle-orm_15o96osca_ezd._.js → node_modules_drizzle-orm_0k7__h1lfq5ug._.js} +2 -2
  488. package/server/.next/server/chunks/{node_modules_drizzle-orm_1hvomr2ymp14o._.js → node_modules_drizzle-orm_0pv-kejmwhhk-._.js} +2 -2
  489. package/server/.next/server/chunks/node_modules_drizzle-orm_1emqi6ca48q0m._.js +4 -0
  490. package/server/.next/server/chunks/node_modules_drizzle-orm_entity_1-0q2stnw2ab8.js +3 -3
  491. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  492. package/server/.next/server/chunks/src_0-s0huszb29pj._.js +3 -0
  493. package/server/.next/server/chunks/src_05jrvcsgaq5ek._.js +1 -1
  494. package/server/.next/server/chunks/src_06tyytf_c_hlu._.js +1 -1
  495. package/server/.next/server/chunks/src_0_9n02bmhtk4z._.js +1 -1
  496. package/server/.next/server/chunks/src_0c-owt8q0lyj3._.js +1 -1
  497. package/server/.next/server/chunks/src_0dxbyz8iemj_5._.js +1 -1
  498. package/server/.next/server/chunks/src_0frmhaaejchbk._.js +3 -0
  499. package/server/.next/server/chunks/src_0kihmyo3yghxy._.js +3 -0
  500. package/server/.next/server/chunks/src_0qnh_ndxnflja._.js +3 -0
  501. package/server/.next/server/chunks/src_0r3j66vbc5g4f._.js +3 -0
  502. package/server/.next/server/chunks/src_0u2zbz77uh__q._.js +1 -1
  503. package/server/.next/server/chunks/src_0ud2mqnh4emxz._.js +1 -1
  504. package/server/.next/server/chunks/src_10vyvp9vy_69h._.js +1 -1
  505. package/server/.next/server/chunks/src_16t2uefmdlh8d._.js +3 -0
  506. package/server/.next/server/chunks/src_17j4dgvb7rx7k._.js +3 -0
  507. package/server/.next/server/chunks/{src_05be6wzefzaky._.js → src_1_y0pxtbr6e04._.js} +2 -2
  508. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  509. package/server/.next/server/chunks/src_1cvp6ubs-3z6l._.js +1 -1
  510. package/server/.next/server/chunks/src_1d-0nhc193soh._.js +3 -0
  511. package/server/.next/server/chunks/src_1d1ewqrujfp03._.js +3 -0
  512. package/server/.next/server/chunks/src_1il7wg_qjxny7._.js +1 -1
  513. package/server/.next/server/chunks/{src_0cdn5fuk8f_x2._.js → src_1mwttl5ainte0._.js} +2 -2
  514. package/server/.next/server/chunks/src_1s913pql1_n-f._.js +3 -0
  515. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +1 -1
  516. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  517. package/server/.next/server/chunks/src_1wmb2yl3tn-dd._.js +1 -1
  518. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +1 -1
  519. package/server/.next/server/chunks/src_20xyhmuf0y6_v._.js +3 -0
  520. package/server/.next/server/chunks/src_db_client_ts_0vckux1-linlc._.js +23 -0
  521. package/server/.next/server/chunks/src_lib_02-wqy78_rn85._.js +3 -0
  522. package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
  523. package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +1 -1
  524. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  525. package/server/.next/server/chunks/src_lib_0hw2g5g295xx0._.js +12 -0
  526. package/server/.next/server/chunks/src_lib_0iqdlrya6vfc_._.js +3 -0
  527. package/server/.next/server/chunks/src_lib_0kjik9nmtqlf5._.js +7 -0
  528. package/server/.next/server/chunks/src_lib_0krbxej8kykyp._.js +7 -0
  529. package/server/.next/server/chunks/src_lib_0o9m8m1sm5759._.js +5 -0
  530. package/server/.next/server/chunks/src_lib_0pyyxm3m1rttg._.js +1 -1
  531. package/server/.next/server/chunks/src_lib_0sd9c_cjgc4ro._.js +3 -0
  532. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +17 -17
  533. package/server/.next/server/chunks/src_lib_0xfwnbkxb4z5s._.js +7 -0
  534. package/server/.next/server/chunks/src_lib_11ky6rv8zte7m._.js +7 -0
  535. package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +1 -1
  536. package/server/.next/server/chunks/src_lib_1550ey8j96v9n._.js +1 -1
  537. package/server/.next/server/chunks/src_lib_1hveabvnpk83x._.js +12 -0
  538. package/server/.next/server/chunks/src_lib_1n_d25awwz8ga._.js +3 -0
  539. package/server/.next/server/chunks/src_lib_1onr7b4_kglpt._.js +1 -1
  540. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +17 -17
  541. package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
  542. package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  543. package/server/.next/server/chunks/src_lib_branding_ts_03ns4y_8z0-6e._.js +3 -0
  544. package/server/.next/server/chunks/src_lib_branding_ts_0jfv9nur5alvy._.js +3 -0
  545. package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +6 -3
  546. package/server/.next/server/chunks/src_lib_collector_deploy-days_ts_087kwe68m4i93._.js +3 -0
  547. package/server/.next/server/chunks/src_lib_data_report-db_ts_0b5f4dpxn08gk._.js +3 -0
  548. package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
  549. package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +11 -11
  550. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +11 -11
  551. package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +11 -11
  552. package/server/.next/server/chunks/src_lib_local-auth_proxy_ts_1g9krhdh2rnt2._.js +1 -21
  553. package/server/.next/server/chunks/src_lib_maintenance_ts_0voja6l8yogbf._.js +3 -0
  554. package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +1 -1
  555. package/server/.next/server/chunks/src_lib_rate-limit_ts_09dzyftcadggh._.js +1 -1
  556. package/server/.next/server/chunks/src_lib_rate-limit_ts_0r-eu6to05vyx._.js +1 -1
  557. package/server/.next/server/chunks/src_lib_rate-limit_ts_1ahtm4quu2rri._.js +1 -1
  558. package/server/.next/server/chunks/src_lib_sections_ts_0r8u4nvlpdkgq._.js +1 -1
  559. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  560. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
  561. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
  562. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
  563. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
  564. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
  565. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
  566. package/server/.next/server/chunks/ssr/{[externals]__0summv9f9jkob._.js → [externals]__02peoq6kft9oz._.js} +1 -1
  567. package/server/.next/server/chunks/ssr/{[externals]__1q1drb4oske-9._.js → [externals]__0byytapt83qke._.js} +1 -1
  568. package/server/.next/server/chunks/ssr/{[externals]__00hge8tjqv73a._.js → [externals]__0gb_9a2m3eqk5._.js} +1 -1
  569. package/server/.next/server/chunks/ssr/{[externals]__1jdljyrzmqoz0._.js → [externals]__1baveo0r8_hf1._.js} +1 -1
  570. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
  571. package/server/.next/server/chunks/ssr/{[root-of-the-server]__12t9_ndr9z-2d._.js → [root-of-the-server]__004q78ed0nf0_._.js} +1 -1
  572. package/server/.next/server/chunks/ssr/[root-of-the-server]__01o65-2jgmg9x._.js +3 -0
  573. package/server/.next/server/chunks/ssr/{[root-of-the-server]__157kjredkf1pa._.js → [root-of-the-server]__041mpme_x36vq._.js} +1 -1
  574. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0n4bkq-45z4aa._.js → [root-of-the-server]__04_prmhm_cts4._.js} +1 -1
  575. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1a5760tg4iits._.js → [root-of-the-server]__05uxv6qwfpp79._.js} +2 -2
  576. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0423qjo9c2t9-._.js → [root-of-the-server]__077-acap7g4ck._.js} +1 -1
  577. package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
  578. package/server/.next/server/chunks/ssr/{[root-of-the-server]__05s2n35zn4go-._.js → [root-of-the-server]__0ct4apye0sfmc._.js} +1 -1
  579. package/server/.next/server/chunks/ssr/{[root-of-the-server]__139ya3ejh6htx._.js → [root-of-the-server]__0hgf7si8htevx._.js} +1 -1
  580. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
  581. package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
  582. package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
  583. package/server/.next/server/chunks/ssr/[root-of-the-server]__0mvauw9r_4qss._.js +1 -1
  584. package/server/.next/server/chunks/ssr/{[root-of-the-server]__07zuxj3veqm14._.js → [root-of-the-server]__0q7rssq_3unbc._.js} +1 -1
  585. package/server/.next/server/chunks/ssr/{[root-of-the-server]__13phmsw9wsyrs._.js → [root-of-the-server]__0qhbs-or7q-om._.js} +1 -1
  586. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
  587. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
  588. package/server/.next/server/chunks/ssr/{[root-of-the-server]__02lkybw6gg3ln._.js → [root-of-the-server]__0rrnk3_fb0l_9._.js} +2 -2
  589. package/server/.next/server/chunks/ssr/[root-of-the-server]__0u-o_v_v6y58o._.js +3 -0
  590. package/server/.next/server/chunks/ssr/{[root-of-the-server]__10r0u-q18z71i._.js → [root-of-the-server]__0uxychcp_pldy._.js} +1 -1
  591. package/server/.next/server/chunks/ssr/{[root-of-the-server]__16jfs8j29r4b5._.js → [root-of-the-server]__0vqae5m2ntd34._.js} +2 -2
  592. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1nk87bg9lne35._.js → [root-of-the-server]__10y2ig7dg3f-k._.js} +1 -1
  593. package/server/.next/server/chunks/ssr/[root-of-the-server]__11yadiuejywcz._.js +3 -0
  594. package/server/.next/server/chunks/ssr/[root-of-the-server]__12c2r19g75dyy._.js +3 -0
  595. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1iqedr7nfvayk._.js → [root-of-the-server]__13x0qmv4fm_1p._.js} +1 -1
  596. package/server/.next/server/chunks/ssr/[root-of-the-server]__18dcfrlpoapw9._.js +3 -0
  597. package/server/.next/server/chunks/ssr/{[root-of-the-server]__183_36tj3p645._.js → [root-of-the-server]__1_axyb404w3bf._.js} +2 -2
  598. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  599. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_q3kww244pif._.js +3 -0
  600. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ev5rocipbkjw._.js +3 -0
  601. package/server/.next/server/chunks/ssr/[root-of-the-server]__1g6kynby65m0v._.js +3 -0
  602. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0z5ucbis8ik32._.js → [root-of-the-server]__1gkcoq0cmmax1._.js} +2 -2
  603. package/server/.next/server/chunks/ssr/{[root-of-the-server]__07_efq7yhxfj-._.js → [root-of-the-server]__1itgt83qo1e77._.js} +1 -1
  604. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1d1ksu1dlha3r._.js → [root-of-the-server]__1k8mxdm-cxfg_._.js} +2 -2
  605. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0no6c0whevi73._.js → [root-of-the-server]__1mbb917mrz5c-._.js} +1 -1
  606. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1knbzqo0nba_q._.js → [root-of-the-server]__1n-rcmbkk7duv._.js} +2 -2
  607. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pafj7m_b8m14._.js +3 -0
  608. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1mah0p09qrkpu._.js → [root-of-the-server]__1pr-neo8jutji._.js} +2 -2
  609. package/server/.next/server/chunks/ssr/{[root-of-the-server]__14e0j38785glf._.js → [root-of-the-server]__1q6iypbn6yagc._.js} +2 -2
  610. package/server/.next/server/chunks/ssr/[root-of-the-server]__1rzolbt5ior_s._.js +3 -0
  611. package/server/.next/server/chunks/ssr/{[root-of-the-server]__18gw74mr2vto3._.js → [root-of-the-server]__1sw2q1p1t59y8._.js} +2 -2
  612. package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
  613. package/server/.next/server/chunks/ssr/[root-of-the-server]__1vgliw2256_6l._.js +4 -0
  614. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0gyvfp6c-_edw._.js → [root-of-the-server]__1xkfr7qk7oxjf._.js} +2 -2
  615. package/server/.next/server/chunks/ssr/[root-of-the-server]__1z3vauqrf2l-_._.js +3 -0
  616. package/server/.next/server/chunks/ssr/{[root-of-the-server]__06bgklzuef-ya._.js → [root-of-the-server]__1z_pt3d8lty_n._.js} +2 -2
  617. package/server/.next/server/chunks/ssr/{[root-of-the-server]__092gsphy4oz6k._.js → [root-of-the-server]__1zsqu1mecqptt._.js} +2 -2
  618. package/server/.next/server/chunks/ssr/_008i8a0_8skrp._.js +1 -1
  619. package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
  620. package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
  621. package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +3 -0
  622. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  623. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  624. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  625. package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
  626. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  627. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
  628. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  629. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
  630. package/server/.next/server/chunks/ssr/_0gmw45sb1llld._.js +1 -1
  631. package/server/.next/server/chunks/ssr/_0hqya_yuov5jw._.js +3 -0
  632. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
  633. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
  634. package/server/.next/server/chunks/ssr/_0iy27gi4y9-fe._.js +1 -1
  635. package/server/.next/server/chunks/ssr/{_0rsh9v4b3yj0b._.js → _0j_qqta7rirh5._.js} +1 -1
  636. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
  637. package/server/.next/server/chunks/ssr/_0kk0of-t4vhyh._.js +4 -0
  638. package/server/.next/server/chunks/ssr/{_08rjac8cutbcs._.js → _0kq3wqx86yyhb._.js} +2 -2
  639. package/server/.next/server/chunks/ssr/{_1ykegy3wzl3mu._.js → _0lg6_we0pe3nk._.js} +2 -2
  640. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  641. package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
  642. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
  643. package/server/.next/server/chunks/ssr/_0r7_a5m55a1jy._.js +3 -0
  644. package/server/.next/server/chunks/ssr/_0rqil_klxfz3j._.js +3 -0
  645. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
  646. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
  647. package/server/.next/server/chunks/ssr/_0uz60lk-7e_cj._.js +2 -2
  648. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  649. package/server/.next/server/chunks/ssr/{_17tabyg0mhxlx._.js → _0xkl4rb1wydtd._.js} +2 -2
  650. package/server/.next/server/chunks/ssr/_0xmud7u5hdnqu._.js +2 -2
  651. package/server/.next/server/chunks/ssr/_1-4401bfn50mf._.js +1 -1
  652. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  653. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  654. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  655. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
  656. package/server/.next/server/chunks/ssr/{_0u5_d3o0i72tq._.js → _170okt24rw1yx._.js} +2 -2
  657. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  658. package/server/.next/server/chunks/ssr/_19dldpcnzhkuw._.js +1 -1
  659. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  660. package/server/.next/server/chunks/ssr/_1bijvrgqfyij6._.js +5 -0
  661. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
  662. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  663. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
  664. package/server/.next/server/chunks/ssr/_1dp5bgqob29-f._.js +1 -1
  665. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
  666. package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
  667. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  668. package/server/.next/server/chunks/ssr/{_13bpjk3g0tp2e._.js → _1ge8mluhma23o._.js} +2 -2
  669. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
  670. package/server/.next/server/chunks/ssr/_1ioq9f389jnco._.js +3 -0
  671. package/server/.next/server/chunks/ssr/_1iugpfonxri3e._.js +3 -0
  672. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  673. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  674. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
  675. package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
  676. package/server/.next/server/chunks/ssr/_1ong0a252wcvc._.js +13 -0
  677. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
  678. package/server/.next/server/chunks/ssr/_1q0i7-4d4iyye._.js +3 -0
  679. package/server/.next/server/chunks/ssr/_1q3fi6a4gklq6._.js +1 -1
  680. package/server/.next/server/chunks/ssr/_1qcal07c71omr._.js +3 -0
  681. package/server/.next/server/chunks/ssr/_1r2516zqb3e67._.js +3 -0
  682. package/server/.next/server/chunks/ssr/_1ul3og9l7vp32._.js +2 -2
  683. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
  684. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  685. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
  686. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
  687. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
  688. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_1myo_rodrlg3a.js +2 -2
  689. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
  690. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
  691. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_containers_page_actions_1ainjsbrnl360.js +1 -1
  692. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
  693. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
  694. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
  695. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
  696. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
  697. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1363m-cfkgyvr.js +3 -0
  698. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
  699. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
  700. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  701. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  702. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kr0-100zz257.js +3 -0
  703. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
  704. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  705. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  706. package/server/.next/server/chunks/ssr/{src_0jxjbvkvg0bjg._.js → src_09q8lx_19nta6._.js} +2 -2
  707. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  708. package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
  709. package/server/.next/server/chunks/ssr/src_0kls100c13ocf._.js +3 -0
  710. package/server/.next/server/chunks/ssr/src_0ovx2ogvlz2eh._.js +1 -1
  711. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  712. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  713. package/server/.next/server/chunks/ssr/src_18m06fg8u7_73._.js +3 -0
  714. package/server/.next/server/chunks/ssr/{src_1_9q6-wstn038._.js → src_18ofj2_oxqb0g._.js} +2 -2
  715. package/server/.next/server/chunks/ssr/{src_0632mrev4i__u._.js → src_1ldp01vcphvw5._.js} +2 -2
  716. package/server/.next/server/chunks/ssr/src_1maoe8g5gnv0u._.js +1 -1
  717. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  718. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  719. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  720. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  721. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  722. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  723. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  724. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  725. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  726. package/server/.next/server/chunks/ssr/src_app_(console)_03s-e0b0zsqqr._.js +3 -0
  727. package/server/.next/server/chunks/ssr/{src_app_(console)_0gw9o1og9hq_4._.js → src_app_(console)_0eh38ymzn-s-m._.js} +2 -2
  728. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
  729. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_08in-j3xp5mbn._.js +1 -1
  730. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  731. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  732. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  733. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  734. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  735. package/server/.next/server/chunks/ssr/src_app_(console)_containers_containers-view_tsx_1xkcrw5gx53xo._.js +1 -1
  736. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  737. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  738. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  739. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  740. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  741. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  742. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  743. package/server/.next/server/chunks/ssr/src_app_(console)_os_os-view_tsx_0xr69f5vtstls._.js +1 -1
  744. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  745. package/server/.next/server/chunks/ssr/src_app_(console)_reports_reports-view_tsx_1l0apba6g810q._.js +3 -0
  746. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  747. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  748. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  749. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  750. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  751. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  752. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  753. package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
  754. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  755. package/server/.next/server/chunks/ssr/src_app_signin_1-h17es4-y1-k._.js +3 -0
  756. package/server/.next/server/chunks/ssr/src_app_signin_1_sp0qx8_z7c9._.js +1 -1
  757. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  758. package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +1 -1
  759. package/server/.next/server/chunks/ssr/src_lib_0etkz1wbvfw-k._.js +3 -0
  760. package/server/.next/server/chunks/ssr/src_lib_0jnv54-8idu07._.js +3 -0
  761. package/server/.next/server/chunks/ssr/{src_lib_1zgor_vrwl5kt._.js → src_lib_0o9m8m1sm5759._.js} +2 -2
  762. package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
  763. package/server/.next/server/chunks/ssr/src_lib_1myex-iv3tu5w._.js +23 -0
  764. package/server/.next/server/chunks/ssr/src_lib_1x__dvajr3xvs._.js +3 -0
  765. package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  766. package/server/.next/server/chunks/ssr/src_lib_branding_ts_03ns4y_8z0-6e._.js +3 -0
  767. package/server/.next/server/chunks/ssr/src_lib_collector_self-update_ts_18m5vmptpjhtg._.js +1 -1
  768. package/server/.next/server/chunks/ssr/{src_lib_demo_15e3gnqzod0tj._.js → src_lib_demo_0r3c3k5102jja._.js} +2 -2
  769. package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
  770. package/server/.next/server/chunks/ssr/src_lib_network_dns-edit_ts_0xtxlbd-uwncx._.js +1 -1
  771. package/server/.next/server/chunks/ssr/src_lib_rate-limit_ts_0r-eu6to05vyx._.js +1 -1
  772. package/server/.next/server/chunks/ssr/src_lib_sections_ts_0r8u4nvlpdkgq._.js +1 -1
  773. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  774. package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +6 -0
  775. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  776. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  777. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  778. package/server/.next/server/middleware-build-manifest.js +14 -3
  779. package/server/.next/server/middleware.js +1 -1
  780. package/server/.next/server/next-font-manifest.js +1 -1
  781. package/server/.next/server/next-font-manifest.json +4 -0
  782. package/server/.next/server/pages/404.html +1 -1
  783. package/server/.next/server/pages/500.html +1 -1
  784. package/server/.next/server/preview-props.json +3 -3
  785. package/server/.next/server/server-reference-manifest.js +1 -1
  786. package/server/.next/server/server-reference-manifest.json +279 -175
  787. package/server/.next/static/chunks/{00e1aosyzj6rl.js → 05c15dcfh7cxm.js} +1 -1
  788. package/server/.next/static/chunks/{3u2qewigse-a4.js → 07_cb192ydsaj.js} +1 -1
  789. package/server/.next/static/chunks/{3_6-4h_qltoii.js → 0_xoojw9q_nof.js} +1 -1
  790. package/server/.next/static/chunks/{0viea3-xdb4uv.js → 0a9mqrzg8420n.js} +1 -1
  791. package/server/.next/static/chunks/{2-ijilf6lbw4f.js → 0dn6fty1ilg-n.js} +1 -1
  792. package/server/.next/static/chunks/{2kmw3ug2__8y3.js → 0gxxyq5l_0rp2.js} +1 -1
  793. package/server/.next/static/chunks/0s00_-em3cj00.js +1 -0
  794. package/server/.next/static/chunks/{308vk5n0anqam.js → 0valedxcn7j8k.js} +2 -2
  795. package/server/.next/static/chunks/{28fzu8z0ofyw0.js → 0ynyx3s7s4mv7.js} +1 -1
  796. package/server/.next/static/chunks/{3lc-hq-bpg71u.js → 0zwq-z8jt5hpz.js} +1 -1
  797. package/server/.next/static/chunks/10y41_ed7ty6e.js +1 -0
  798. package/server/.next/static/chunks/{11r8k-t1ijjkn.js → 1416wraxs5p8g.js} +1 -1
  799. package/server/.next/static/chunks/16gt7hkgltvf7.js +1 -0
  800. package/server/.next/static/chunks/{3w5rrc-0xud6m.js → 1_uuog1-u6y0t.js} +1 -1
  801. package/server/.next/static/chunks/{0cc9ahw1xs0ny.js → 1azdri14ocjgg.js} +11 -11
  802. package/server/.next/static/chunks/{1fk-rtgxvtdso.js → 1cd-2y1kwqosv.js} +1 -1
  803. package/server/.next/static/chunks/{1d4i_v63pyozl.js → 1j_hduntj28ij.js} +1 -1
  804. package/server/.next/static/chunks/{17zst1h7smcce.js → 1nqpnndfmw0tc.js} +1 -1
  805. package/server/.next/static/chunks/{0hths0sijlql2.js → 1nv_9c1bate-f.js} +1 -1
  806. package/server/.next/static/chunks/1sjgdu3r0baj-.js +1 -0
  807. package/server/.next/static/chunks/1velx-cd3d5y1.js +1 -0
  808. package/server/.next/static/chunks/{0v-0yvs2o_ibn.js → 1vt_t7dg_-pyu.js} +1 -1
  809. package/server/.next/static/chunks/1w51uxl19faw3.js +1 -0
  810. package/server/.next/static/chunks/1xydxxektmjgr.js +1 -0
  811. package/server/.next/static/chunks/{3f1selgoqszyq.js → 1yyigrxptb7jm.js} +2 -2
  812. package/server/.next/static/chunks/{0rblb2d9s6x__.js → 28_88x_e_ynaj.js} +1 -1
  813. package/server/.next/static/chunks/{1kyz-ah3_ho6c.js → 28qjoy38cp5by.js} +1 -1
  814. package/server/.next/static/chunks/{2crsj9_2h2nzh.js → 2azwg3my8wh40.js} +1 -1
  815. package/server/.next/static/chunks/{1y_o3hc2z85sh.js → 2co8kv2tj776w.js} +1 -1
  816. package/server/.next/static/chunks/{26exu0f7ok41j.js → 2db0smm21dva_.js} +1 -1
  817. package/server/.next/static/chunks/{1a0rdqp6soc92.js → 2gk24b05q4q57.js} +1 -1
  818. package/server/.next/static/chunks/{3xulo5x1hbsw-.js → 2i5_2zcei6rqr.js} +1 -1
  819. package/server/.next/static/chunks/2jflssspiz3-i.js +1 -0
  820. package/server/.next/static/chunks/{356b00huilj4q.js → 2n198u7xx1koh.js} +1 -1
  821. package/server/.next/static/chunks/{1qjg48qu3j1w4.js → 2sr03gtef27q0.js} +1 -1
  822. package/server/.next/static/chunks/{2k4z-oed_6g2l.js → 2txgb9zusks-w.js} +1 -1
  823. package/server/.next/static/chunks/3-789qaoce7ff.js +1 -0
  824. package/server/.next/static/chunks/{1rgved8vjyay2.js → 3-us-wg44ohoc.js} +1 -1
  825. package/server/.next/static/chunks/{1fh3cq_v5nqtp.js → 31fs88f_h861n.js} +1 -1
  826. package/server/.next/static/chunks/36ykgce0otv4r.css +3 -0
  827. package/server/.next/static/chunks/{1a7zdd51t9mil.js → 378ttzg87hows.js} +1 -1
  828. package/server/.next/static/chunks/{3wfyge_-2qnyj.js → 3aglnkhgcl_kq.js} +1 -1
  829. package/server/.next/static/chunks/3bvj3-0xltkjo.js +1 -0
  830. package/server/.next/static/chunks/{1d5651gcd0bfq.js → 3cti7pgg_jjlx.js} +1 -1
  831. package/server/.next/static/chunks/{14f5pn2krqoyh.js → 3dktq-qmj2q5b.js} +1 -1
  832. package/server/.next/static/chunks/{2-vu-7596xgz-.js → 3ic7ri5b4ifjp.js} +2 -2
  833. package/server/.next/static/chunks/{3ezef0voy5xju.js → 3ic9vbadne9of.js} +1 -1
  834. package/server/.next/static/chunks/{2pa65sxfnzj4k.js → 3lw5n6yzs0665.js} +1 -1
  835. package/server/.next/static/chunks/3mgd5b39ghc-w.js +1 -0
  836. package/server/.next/static/chunks/{3g0ywdith98z2.js → 3n98m8tj20wcf.js} +1 -1
  837. package/server/.next/static/chunks/{44hkyor0suthy.js → 3u1v2wpzthilq.js} +1 -1
  838. package/server/drizzle-selfhost/0011_reports.sql +56 -0
  839. package/server/drizzle-selfhost/0012_report_send_rule.sql +2 -0
  840. package/server/drizzle-selfhost/meta/_journal.json +14 -0
  841. package/server/server.js +1 -1
  842. package/server/src/lib/report/fonts/Geist-Regular.ttf +0 -0
  843. package/server/src/lib/report/fonts/Geist-SemiBold.ttf +0 -0
  844. package/server/src/lib/report/fonts/GeistMono-Regular.ttf +0 -0
  845. package/server/src/lib/report/fonts/OFL.txt +92 -0
  846. package/tools/reset-login.mjs +2 -0
  847. package/server/.next/server/chunks/[root-of-the-server]__00oxbw3nfl_kd._.js +0 -3
  848. package/server/.next/server/chunks/[root-of-the-server]__04q-9779vl4kn._.js +0 -3
  849. package/server/.next/server/chunks/[root-of-the-server]__04u9e45_g1jdi._.js +0 -3
  850. package/server/.next/server/chunks/[root-of-the-server]__05b18nw2k-7-4._.js +0 -3
  851. package/server/.next/server/chunks/[root-of-the-server]__06nrq_1pbp3z-._.js +0 -3
  852. package/server/.next/server/chunks/[root-of-the-server]__06uaa_2zbg57p._.js +0 -3
  853. package/server/.next/server/chunks/[root-of-the-server]__081hh3_un4awi._.js +0 -3
  854. package/server/.next/server/chunks/[root-of-the-server]__09gla7jgbw2bs._.js +0 -3
  855. package/server/.next/server/chunks/[root-of-the-server]__0a0st8-rftztn._.js +0 -3
  856. package/server/.next/server/chunks/[root-of-the-server]__0at6fxe9efr-x._.js +0 -3
  857. package/server/.next/server/chunks/[root-of-the-server]__0dfx2psnngcys._.js +0 -3
  858. package/server/.next/server/chunks/[root-of-the-server]__0di45l_tnq1pm._.js +0 -3
  859. package/server/.next/server/chunks/[root-of-the-server]__0ej4hdoyogtji._.js +0 -3
  860. package/server/.next/server/chunks/[root-of-the-server]__0eqrtvr3uqlqf._.js +0 -3
  861. package/server/.next/server/chunks/[root-of-the-server]__0g81f_2ecmg8a._.js +0 -3
  862. package/server/.next/server/chunks/[root-of-the-server]__0glhrm7zmrvi2._.js +0 -3
  863. package/server/.next/server/chunks/[root-of-the-server]__0jma907r441wi._.js +0 -3
  864. package/server/.next/server/chunks/[root-of-the-server]__0jpktq0f88rvz._.js +0 -3
  865. package/server/.next/server/chunks/[root-of-the-server]__0myf9g_uv3bia._.js +0 -3
  866. package/server/.next/server/chunks/[root-of-the-server]__0puji-hw0xtk7._.js +0 -3
  867. package/server/.next/server/chunks/[root-of-the-server]__0ruici82tzf0w._.js +0 -3
  868. package/server/.next/server/chunks/[root-of-the-server]__0t0dd5t5rch1i._.js +0 -3
  869. package/server/.next/server/chunks/[root-of-the-server]__0ty2qkszfdr5t._.js +0 -3
  870. package/server/.next/server/chunks/[root-of-the-server]__0ugx1i8km15fl._.js +0 -3
  871. package/server/.next/server/chunks/[root-of-the-server]__0ux1hi2fgqxu7._.js +0 -3
  872. package/server/.next/server/chunks/[root-of-the-server]__12tmfv427e9cb._.js +0 -3
  873. package/server/.next/server/chunks/[root-of-the-server]__1481y3utu_a_o._.js +0 -3
  874. package/server/.next/server/chunks/[root-of-the-server]__14e0j38785glf._.js +0 -3
  875. package/server/.next/server/chunks/[root-of-the-server]__14yq_wf4xemgd._.js +0 -3
  876. package/server/.next/server/chunks/[root-of-the-server]__1_0vd5-tvmsg8._.js +0 -3
  877. package/server/.next/server/chunks/[root-of-the-server]__1_goy0uhapvk9._.js +0 -3
  878. package/server/.next/server/chunks/[root-of-the-server]__1ac-dzt5bffr2._.js +0 -3
  879. package/server/.next/server/chunks/[root-of-the-server]__1ajyr5xvo1-x5._.js +0 -3
  880. package/server/.next/server/chunks/[root-of-the-server]__1ey2qia7rofoc._.js +0 -3
  881. package/server/.next/server/chunks/[root-of-the-server]__1hlvqq0azku2x._.js +0 -3
  882. package/server/.next/server/chunks/[root-of-the-server]__1hrviq7s700td._.js +0 -3
  883. package/server/.next/server/chunks/[root-of-the-server]__1ifov-udw6__d._.js +0 -3
  884. package/server/.next/server/chunks/[root-of-the-server]__1ig0p-frprcbm._.js +0 -3
  885. package/server/.next/server/chunks/[root-of-the-server]__1ksyvvsf32jfg._.js +0 -3
  886. package/server/.next/server/chunks/[root-of-the-server]__1kzi1du1sliqb._.js +0 -3
  887. package/server/.next/server/chunks/[root-of-the-server]__1mvibnqor6lx_._.js +0 -3
  888. package/server/.next/server/chunks/[root-of-the-server]__1o-zo4qebuqwy._.js +0 -3
  889. package/server/.next/server/chunks/[root-of-the-server]__1po33h2u2o4e_._.js +0 -3
  890. package/server/.next/server/chunks/[root-of-the-server]__1qps9ushddgwe._.js +0 -3
  891. package/server/.next/server/chunks/[root-of-the-server]__1qrj37m-5y-56._.js +0 -3
  892. package/server/.next/server/chunks/[root-of-the-server]__1qyz1wi13rxxb._.js +0 -3
  893. package/server/.next/server/chunks/[root-of-the-server]__1r8mzvf7_9d2k._.js +0 -3
  894. package/server/.next/server/chunks/[root-of-the-server]__1rxke2_vpd7np._.js +0 -3
  895. package/server/.next/server/chunks/[root-of-the-server]__1sjp750034q4j._.js +0 -3
  896. package/server/.next/server/chunks/[root-of-the-server]__1wbnule0tzwdu._.js +0 -3
  897. package/server/.next/server/chunks/[root-of-the-server]__1wcnj2xtesyd9._.js +0 -3
  898. package/server/.next/server/chunks/[root-of-the-server]__1won_frdj9jms._.js +0 -3
  899. package/server/.next/server/chunks/[root-of-the-server]__1wvp6wau5ueb9._.js +0 -3
  900. package/server/.next/server/chunks/[root-of-the-server]__1yxudc_keazqo._.js +0 -3
  901. package/server/.next/server/chunks/[root-of-the-server]__1z_l9mj3s_6tu._.js +0 -3
  902. package/server/.next/server/chunks/[root-of-the-server]__1zvy7u_y3fzbz._.js +0 -3
  903. package/server/.next/server/chunks/[root-of-the-server]__208znvanagmpr._.js +0 -3
  904. package/server/.next/server/chunks/[root-of-the-server]__20qdu-env7wgt._.js +0 -3
  905. package/server/.next/server/chunks/[root-of-the-server]__212-4r-w6a9sm._.js +0 -3
  906. package/server/.next/server/chunks/_0-5pjvqu672_v._.js +0 -49
  907. package/server/.next/server/chunks/_02qrz1g8sdvhe._.js +0 -49
  908. package/server/.next/server/chunks/_03qlijpos6a21._.js +0 -3
  909. package/server/.next/server/chunks/_06gv0srpbf_lk._.js +0 -3
  910. package/server/.next/server/chunks/_06lf75x-xhl7v._.js +0 -3
  911. package/server/.next/server/chunks/_0cbxgnkxr1uj8._.js +0 -3
  912. package/server/.next/server/chunks/_0sy878k2ywjbq._.js +0 -3
  913. package/server/.next/server/chunks/_0vjggb8yo5b9f._.js +0 -3
  914. package/server/.next/server/chunks/_0wval7co8z-pk._.js +0 -3
  915. package/server/.next/server/chunks/_103ai6ybnpq1k._.js +0 -3
  916. package/server/.next/server/chunks/_108e86rhye0o1._.js +0 -3
  917. package/server/.next/server/chunks/_12g2m3a5e94_5._.js +0 -3
  918. package/server/.next/server/chunks/_1_son1yzo5xvl._.js +0 -3
  919. package/server/.next/server/chunks/_1ap0upnvy5i_1._.js +0 -49
  920. package/server/.next/server/chunks/_1b-88djuoexz1._.js +0 -49
  921. package/server/.next/server/chunks/_1ctwjh8q__6_g._.js +0 -3
  922. package/server/.next/server/chunks/_1f14qy3kb8iac._.js +0 -3
  923. package/server/.next/server/chunks/_1fj4vzjpusyn8._.js +0 -5
  924. package/server/.next/server/chunks/_1i8u10u8nrzy2._.js +0 -3
  925. package/server/.next/server/chunks/_1k3v1-vgvzm_o._.js +0 -3
  926. package/server/.next/server/chunks/_1kcmwgs544mo-._.js +0 -3
  927. package/server/.next/server/chunks/_1ptcxyn1tzm9r._.js +0 -3
  928. package/server/.next/server/chunks/_1rskctyr7yt-b._.js +0 -3
  929. package/server/.next/server/chunks/node_modules_drizzle-orm_1oeq7sl_gbxs5._.js +0 -4
  930. package/server/.next/server/chunks/node_modules_drizzle-orm_1tmqw7vk5a4ik._.js +0 -4
  931. package/server/.next/server/chunks/src_063xvouojxyoa._.js +0 -3
  932. package/server/.next/server/chunks/src_088gmyaew7ds0._.js +0 -3
  933. package/server/.next/server/chunks/src_08fq45_-8xq5o._.js +0 -3
  934. package/server/.next/server/chunks/src_0hx0sol2clocu._.js +0 -3
  935. package/server/.next/server/chunks/src_0j84o_hkkaeg-._.js +0 -3
  936. package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +0 -3
  937. package/server/.next/server/chunks/src_1-6a00bmwlymu._.js +0 -3
  938. package/server/.next/server/chunks/src_13n1vi7uew4iu._.js +0 -3
  939. package/server/.next/server/chunks/src_1_fnzi0em_6er._.js +0 -3
  940. package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +0 -3
  941. package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +0 -3
  942. package/server/.next/server/chunks/src_lib_0-fln6xaazo-9._.js +0 -12
  943. package/server/.next/server/chunks/src_lib_0ma36vqcze7a9._.js +0 -7
  944. package/server/.next/server/chunks/src_lib_0ps7mu81f-6s1._.js +0 -7
  945. package/server/.next/server/chunks/src_lib_14grv5a5_n9o0._.js +0 -7
  946. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +0 -23
  947. package/server/.next/server/chunks/src_lib_1jlvdx5ho171c._.js +0 -12
  948. package/server/.next/server/chunks/src_lib_1znb-e7g8dkgc._.js +0 -7
  949. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +0 -21
  950. package/server/.next/server/chunks/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +0 -3
  951. package/server/.next/server/chunks/src_lib_demo_11p30f_ci6ie2._.js +0 -3
  952. package/server/.next/server/chunks/ssr/[root-of-the-server]__03xevz8n-mc20._.js +0 -4
  953. package/server/.next/server/chunks/ssr/[root-of-the-server]__0de1senl_kfo5._.js +0 -3
  954. package/server/.next/server/chunks/ssr/[root-of-the-server]__0y6psx1_d7fkt._.js +0 -3
  955. package/server/.next/server/chunks/ssr/[root-of-the-server]__19twn3g5nv5q1._.js +0 -3
  956. package/server/.next/server/chunks/ssr/[root-of-the-server]__19wvac83zh5-9._.js +0 -3
  957. package/server/.next/server/chunks/ssr/[root-of-the-server]__1m38od9tgaroe._.js +0 -3
  958. package/server/.next/server/chunks/ssr/[root-of-the-server]__1mxpszbk1aup8._.js +0 -4
  959. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tj-iwvrxfd1a._.js +0 -3
  960. package/server/.next/server/chunks/ssr/[root-of-the-server]__1zmuaump_n9c1._.js +0 -3
  961. package/server/.next/server/chunks/ssr/_01n29sxn-py3x._.js +0 -3
  962. package/server/.next/server/chunks/ssr/_03d3sxmob-gr7._.js +0 -3
  963. package/server/.next/server/chunks/ssr/_0c8kew3jsb-yb._.js +0 -3
  964. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +0 -4
  965. package/server/.next/server/chunks/ssr/_0rw2pberdmaa5._.js +0 -3
  966. package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +0 -3
  967. package/server/.next/server/chunks/ssr/_16vvfyez78u5k._.js +0 -3
  968. package/server/.next/server/chunks/ssr/_1d0anr0hjs5k5._.js +0 -3
  969. package/server/.next/server/chunks/ssr/_1fj4vzjpusyn8._.js +0 -5
  970. package/server/.next/server/chunks/ssr/_1rskctyr7yt-b._.js +0 -3
  971. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +0 -3
  972. package/server/.next/server/chunks/ssr/src_1emolu5lrse98._.js +0 -6
  973. package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +0 -3
  974. package/server/.next/server/chunks/ssr/src_app_(console)_0_odx13qcz9o1._.js +0 -3
  975. package/server/.next/server/chunks/ssr/src_app_signin_1u2md84o5b6td._.js +0 -3
  976. package/server/.next/server/chunks/ssr/src_lib_0nbad7vu413-f._.js +0 -23
  977. package/server/.next/server/chunks/ssr/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +0 -3
  978. package/server/.next/static/chunks/0hzw1rqyz-ith.js +0 -1
  979. package/server/.next/static/chunks/0ps76fyk0mlud.js +0 -1
  980. package/server/.next/static/chunks/1qmrzxeff7esb.js +0 -1
  981. package/server/.next/static/chunks/1yjrm8ekqlzfy.js +0 -1
  982. package/server/.next/static/chunks/2d7luax7loip3.js +0 -1
  983. package/server/.next/static/chunks/2j24hsy45xi-u.js +0 -1
  984. package/server/.next/static/chunks/2zzk4wxiacgja.css +0 -3
  985. package/server/.next/static/chunks/35vilzb1p9yjf.js +0 -1
  986. package/server/.next/static/chunks/39a3uxexc-wqm.js +0 -1
  987. package/server/.next/static/chunks/3a9toq_3nqe93.js +0 -1
  988. package/server/.next/static/chunks/3qudv985iqmz7.js +0 -1
  989. /package/server/.next/static/{g_rE0bq_ZZa-pl4RulWXV → NUZVcU60U-vXVedu_GB0w}/_buildManifest.js +0 -0
  990. /package/server/.next/static/{g_rE0bq_ZZa-pl4RulWXV → NUZVcU60U-vXVedu_GB0w}/_clientMiddlewareManifest.js +0 -0
  991. /package/server/.next/static/{g_rE0bq_ZZa-pl4RulWXV → NUZVcU60U-vXVedu_GB0w}/_ssgManifest.js +0 -0
@@ -1,21 +0,0 @@
1
- module.exports=[380167,e=>{"use strict";var t=e.i(533102),a=e.i(406212),r=e.i(200123),n=e.i(595262);async function s(){let e=await (0,a.db)().execute(t.sql`
2
- select pid, state, extract(epoch from now() - state_change)::int as idle_s,
3
- coalesce(extract(epoch from now() - query_start)::int, 0) as run_s, left(query, 400) as query
4
- from pg_stat_activity where usename = current_user and pid <> pg_backend_pid()`);return(0,r.f)(e).map(e=>{var t;let a;return{pid:Number(e.pid),state:e.state,idleS:Number(e.idle_s),runS:Number(e.run_s),table:(t=e.query,(a=/(?:from|into|update|join)\s+"?ops"?\."?([a-z_]+)"?/i.exec(t??""))?a[1]:null)}})}async function o(e=10,i=10){let l=await s(),d=function(e,t=10,a=10){let r=function(e){let t=new Set,a=[];for(let r of e.filter(e=>"idle"===e.state&&e.table).sort((e,t)=>e.idleS-t.idleS))t.has(r.table)?r.idleS>=60&&a.push(r):t.add(r.table);return a}(e),n=e.filter(e=>!r.includes(e)),s=Math.max(0,n.length+1-t);return s?[...r,...[...n.filter(e=>"idle"===e.state&&e.idleS>=a).sort((e,t)=>t.idleS-e.idleS),...n.filter(e=>"idle"!==e.state&&e.runS>60).sort((e,t)=>t.runS-e.runS)].slice(0,s)]:r}(l,e,i),u=0;if(d.length){let e=d.map(e=>e.pid).filter(e=>Number.isInteger(e)&&e>0),n=await (0,a.db)().execute(t.sql`select pg_terminate_backend(pid) as ok from unnest(array[${t.sql.raw(e.join(","))}]::int[]) as pid`);u=(0,r.f)(n).filter(e=>e.ok).length}let c=function(e){let t=new Map;for(let a of e)t.set(a.table??"unknown",(t.get(a.table??"unknown")??0)+1);return[...t.entries()].sort((e,t)=>t[1]-e[1]).map(([e,t])=>`${e} \xd7${t}`)}(d);return u>0&&(console.info(`pool guard: ${l.length+1} connections, closed ${u} (${c.join(", ")})`),await (0,n.f)({kind:"ok",message:`Pool guard: closed ${u} of ${l.length+1} database connections`,detail:c.join(", ").slice(0,300),resourceId:null,actorUserId:null}).catch(()=>void 0)),{total:l.length+1,trimmed:u,culprits:c}}var i=e.i(90879),l=e.i(638809),d=e.i(366171);let u=[{name:"pool-guard",run:async()=>{(0,i.isCloud)()&&await o().catch(e=>console.warn("pool guard failed:",e instanceof Error?e.message.slice(0,160):"error"))}},{name:"supabase-metrics",run:async(e,t)=>{(await (0,l.I)()).has("database")||await (0,d.E)(e,t?.deadline??e.getTime()+3e4)}}];var c=e.i(928755),p=e.i(336763),f=e.i(157406),m=e.i(668304);function h(e){if((0,i.isCloud)())for(let t of new Set(e))try{let e;e=t,(0,m.revalidateTag)(e,{expire:0})}catch(e){console.warn(`cache: couldn't expire ${t}: ${e instanceof Error?e.message.slice(0,120):"unknown"}`)}}var w=e.i(188477),g=e.i(530298),y=e.i(396918),b=e.i(727028),k=e.i(728335),v=e.i(760859);let I="Watchbell backups",$="Watchpost backups",A=["Overview","Applications","Incidents","Databases","Domains"],S=["January","February","March","April","May","June","July","August","September","October","November","December"];function D(e){let t=(0,k.zonedParts)(e);return`${t.year}-${String(t.month).padStart(2,"0")}`}function E(e){return{start:(0,k.dayStart)(`${e}-01`),end:(0,k.dayStart)(`${function(e){let[t,a]=e.split("-").map(Number);return 12===a?`${t+1}-01`:`${t}-${String(a+1).padStart(2,"0")}`}(e)}-01`)}}function x(e){let[t,a]=e.split("-").map(Number);return 1===a?`${t-1}-12`:`${t}-${String(a-1).padStart(2,"0")}`}function j(e){let[t,a]=e.split("-").map(Number);return`${S[a-1]} ${t}`}let T=e=>`Watchbell \xb7 ${e}`;function M(e){if(!e)return"";let t=(0,k.zonedParts)(e),a=e=>String(e).padStart(2,"0");return`${t.year}-${a(t.month)}-${a(t.day)} ${a(t.hour)}:${a(t.minute)}`}let O=(e,t)=>e>0?Math.round((e-t)/e*1e5)/1e3:"",z=e=>{if(!e.length)return null;let t=[...e].sort((e,t)=>e-t),a=Math.floor(t.length/2);return t.length%2?t[a]:Math.round((t[a-1]+t[a])/2)},C=e=>e.reduce((e,t)=>e+t,0),N=e=>"production"===e.target,R=e=>"ERROR"===e.state,_={supabase_project:"Supabase",neon_project:"Neon",firestore:"Firebase"};function q(e,t){if(!e)return"";let a=Date.parse(e);return Number.isFinite(a)?Math.floor((a-t.getTime())/864e5):""}let P=e=>null===e?"":Math.round(e/1048576*10)/10;function F(e){if(null===e)return"";if("number"==typeof e||"boolean"==typeof e)return String(e);let t=/^[=+\-@\t\r]/.test(e)?`'${e}`:e;return/[",\r\n]/.test(t)?`"${t.replace(/"/g,'""')}"`:t}let U=["record","at","subject","resource_id","checks","failures","p50_ms","p95_ms","max_ms","status_5xx","maintenance","type","kind","reason","count","message","detail"];var B=e.i(803237),G=e.i(788264),L=e.i(93387),W=e.i(857799),H=e.i(503313),V=e.i(827439);let J="backup.folder";async function K(){let[e]=await (0,a.db)().select().from(g.accounts).where((0,p.eq)(g.accounts.provider,"drive")).orderBy((0,y.asc)(g.accounts.createdAt)).limit(1);if(!e)return null;let t=(0,B.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},(0,L.serverEnv)().OPS_ENCRYPTION_KEY);return{id:e.id,status:e.status,lastError:e.lastError,lastTestAt:e.lastTestAt,refreshToken:t}}async function Y(e,t){let r=new Date;await (0,a.db)().update(g.accounts).set({...t,lastTestAt:r,updatedAt:r}).where((0,p.eq)(g.accounts.id,e))}async function X(){return(0,a.db)().select().from(g.backups).orderBy((0,y.desc)(g.backups.month)).limit(120)}async function Q(e){let[t]=await (0,a.db)().select().from(g.backups).where((0,p.eq)(g.backups.month,e)).limit(1);return t??null}async function Z(e,t){let r=new Date;await (0,a.db)().insert(g.backups).values({month:e,...t,updatedAt:r}).onConflictDoUpdate({target:g.backups.month,set:{...t,updatedAt:r}})}async function ee(){let[e]=await (0,a.db)().select().from(g.settings).where((0,p.eq)(g.settings.key,J)).limit(1),t=e?.value;return"string"==typeof t?.id&&t.id?{id:t.id,name:"string"==typeof t.name&&t.name?t.name:null}:null}async function et(e,t){let r=t?{id:e,name:t}:{id:e};await (0,a.db)().insert(g.settings).values({key:J,value:r}).onConflictDoUpdate({target:g.settings.key,set:{value:r,updatedAt:new Date}})}let ea=e=>"number"==typeof e&&Number.isFinite(e)?e:null;async function er(e,t,r){let{start:n,end:s}=E(e),o=t&&r<s?r:s,[i,l,d,u,c,f,m,h]=await Promise.all([(0,H.f)(),(0,a.db)().select({id:g.resources.id,name:g.resources.name}).from(g.resources).where((0,p.and)((0,p.eq)(g.resources.kind,"app"),(0,p.eq)(g.resources.monitored,!0),(0,p.isNull)(g.resources.goneAt))).orderBy((0,y.asc)(g.resources.name)).limit(500),(0,a.db)().select({r:g.rollupsHourly,appId:g.monitors.resourceId,app:g.resources.name,url:g.monitors.url,kind:g.monitors.kind,name:g.monitors.name}).from(g.rollupsHourly).innerJoin(g.monitors,(0,p.eq)(g.monitors.id,g.rollupsHourly.monitorId)).innerJoin(g.resources,(0,p.eq)(g.resources.id,g.monitors.resourceId)).where((0,p.and)((0,p.gte)(g.rollupsHourly.hour,n),(0,p.lt)(g.rollupsHourly.hour,o))).orderBy((0,y.asc)(g.rollupsHourly.hour)).limit(5e4),(0,a.db)().select({e:g.events,resource:g.resources.name}).from(g.events).leftJoin(g.resources,(0,p.eq)(g.resources.id,g.events.resourceId)).where((0,p.and)((0,p.gte)(g.events.at,n),(0,p.lt)(g.events.at,o))).orderBy((0,y.asc)(g.events.at)).limit(5e4),(0,a.db)().select().from(g.alerts).where((0,p.and)((0,p.gte)(g.alerts.startedAt,n),(0,p.lt)(g.alerts.startedAt,o))).orderBy((0,y.asc)(g.alerts.startedAt)).limit(5e3),(0,a.db)().select({appId:g.deployments.resourceId,target:g.deployments.target,state:g.deployments.state,createdAt:g.deployments.createdAtProvider}).from(g.deployments).where((0,p.and)((0,p.gte)(g.deployments.createdAtProvider,n),(0,p.lt)(g.deployments.createdAtProvider,o))).limit(1e4),(0,a.db)().select({r:g.resources,s:g.snapshots,account:g.accounts.label}).from(g.resources).innerJoin(g.accounts,(0,p.eq)(g.accounts.id,g.resources.accountId)).leftJoin(g.snapshots,(0,p.eq)(g.snapshots.resourceId,g.resources.id)).where((0,p.and)((0,p.inArray)(g.resources.kind,[...W.H]),(0,p.eq)(g.resources.monitored,!0),(0,p.isNull)(g.resources.goneAt))).limit(500),(0,V.p)()]),w=m.map(({r:e,s:t,account:a})=>{let r=t?.data??{},n=e.kind,s="neon_project"===n?(0,G.k)(G.s,r):null,o="supabase_project"===n?ea((0,G.k)(G.B,r).sizeBytes):s?(s.branches??[]).reduce((e,t)=>null===t.logicalSize?e:(e??0)+t.logicalSize,null):null;return{id:e.id,kind:n,account:a,state:t?.state??"unknown",sizeBytes:o,cuHours:s&&null!==ea(s.computeSeconds)?Math.round(s.computeSeconds/3600*10)/10:null,reads:"firestore"===n?ea((0,G.k)(G.w,r).reads):null}}),b=h.map(e=>({name:e.name,app:e.appName,tlsExpires:e.tls?.notAfter??null,domainExpires:e.rdap?.expiresAt??null,registrar:e.rdap?.registrar??null}));return{month:e,partial:t,generatedAt:r,book:i,apps:l,rollups:d.map(({r:e,appId:t,app:a,url:r,kind:n,name:s})=>({monitorId:e.monitorId,appId:t,app:a,path:(e=>{if("heartbeat"===e.kind)return` heartbeat ${e.name??""}`.trimEnd();try{return new URL(e.url).pathname}catch{return e.url}})({kind:n,name:s,url:r}),hour:e.hour,checks:e.checks,failures:e.failures,p50Ms:e.p50Ms,p95Ms:e.p95Ms,maxMs:e.maxMs,status5xx:e.status5xx,maintenance:e.maintenance})),events:u.map(({e,resource:t})=>({at:e.at,resourceId:e.resourceId,resource:t,type:e.type,kind:e.kind,reason:e.reason,count:e.count,message:e.message,detail:e.detail})),alerts:c.map(e=>({ruleKey:e.ruleKey,severity:e.severity,title:e.title,message:e.message,resourceId:e.resourceId,startedAt:e.startedAt,resolvedAt:e.resolvedAt})),deployments:f,databases:w,domains:b}}var en=e.i(75064),es=e.i(909592),eo=e.i(684330),ei=e.i(492973),el=e.i(246517),ed=e.i(260417),eu=e.i(978071);let ec="application/vnd.google-apps.folder",ep="https://www.googleapis.com/drive/v3/files",ef="https://www.googleapis.com/upload/drive/v3/files",em="https://sheets.googleapis.com/v4/spreadsheets",eh=en.z.object({error:en.z.object({errors:es.z.array(eo.z.looseObject({reason:ei.z.string().optional()})).optional(),status:ei.z.string().optional()})});async function ew(e,t,a,r,n){let s,o,i=n.timeoutMs??1e4,l={Authorization:`Bearer ${a}`,Accept:"application/json"};r?.raw?(l["Content-Type"]=r.contentType??"application/octet-stream",s=new Uint8Array(r.raw)):r&&void 0!==r.json&&(l["Content-Type"]="application/json",s=JSON.stringify(r.json));try{o=await (n.fetch??fetch)(t,{method:e,headers:l,body:s,signal:AbortSignal.timeout(i),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?`Google Drive didn't answer within ${Math.round(i/1e3)} seconds.`:"Couldn't reach Google Drive."}}let d=await o.json().catch(()=>null);if(o.ok)return{ok:!0,data:d};let u=eh.safeParse(d),c=u.success?u.data.error.errors?.find(e=>e.reason)?.reason??u.data.error.status:void 0;return 401===o.status?{ok:!1,kind:"auth",status:401,error:"Google Drive rejected the access token (401)."}:404===o.status?{ok:!1,kind:"missing",status:404,error:"Google Drive doesn't know this file (404)."}:403===o.status&&"storageQuotaExceeded"===c?{ok:!1,kind:"full",status:403,error:"Your Google Drive is full. Free some space; the next run tries again."}:429===o.status||o.status>=500||403===o.status&&/rateLimit/i.test(c??"")?{ok:!1,kind:"transient",status:o.status,error:`Google Drive is busy (${o.status}). The next run tries again.`}:{ok:!1,kind:403===o.status?"denied":"format",status:o.status,error:`Google Drive refused the request (${o.status}${c?` ${c}`:""}).`}}let eg=en.z.object({id:ei.z.string().min(1)}),ey=e=>({ok:!1,kind:"format",error:`Google Drive answered ${e} in a format the console doesn't recognise.`});function eb(e,t){if(!e.ok)return e;let a=eg.safeParse(e.data);return a.success?{ok:!0,data:a.data.id}:ey(t)}async function ek(e,t,a={}){let r=`name = '${t.replace(/['\\]/g,"\\$&")}' and mimeType = '${ec}' and trashed = false`,n=await ew("GET",`${ep}?${new URLSearchParams({q:r,fields:"files(id,name)",spaces:"drive",pageSize:"10"})}`,e,null,a);if(!n.ok)return n;let s=en.z.object({files:es.z.array(eg)}).safeParse(n.data);return s.success?{ok:!0,data:s.data.files[0]?.id??null}:ey("the folder search")}async function ev(e,t,a={}){let r=await ew("GET",`${ep}/${encodeURIComponent(t)}?fields=id,trashed,name`,e,null,a);if(!r.ok)return"missing"===r.kind||"denied"===r.kind?{ok:!0,data:{usable:!1,name:null}}:r;let n=en.z.object({id:ei.z.string(),trashed:el.z.boolean().optional(),name:ei.z.string().optional()}).safeParse(r.data);return n.success?{ok:!0,data:{usable:!n.data.trashed,name:n.data.name?.trim()||null}}:ey("the folder")}async function eI(e,t,a={}){return eb(await ew("POST",`${ep}?fields=id`,e,{json:{name:t,mimeType:ec}},a),"the new folder")}async function e$(e,t,a,r={}){return eb(await ew("POST",`${ep}?fields=id`,e,{json:{name:t,mimeType:"application/vnd.google-apps.spreadsheet",parents:[a]}},r),"the new spreadsheet")}let eA=e=>`'${e.replace(/'/g,"''")}'`;async function eS(e,t,a,r={}){let n=await ew("GET",`${em}/${encodeURIComponent(t)}?fields=sheets.properties(sheetId,title)`,e,null,r);if(!n.ok)return n;let s=en.z.object({sheets:es.z.array(en.z.object({properties:en.z.object({sheetId:ed.z.number(),title:ei.z.string()})})).default([])}).safeParse(n.data);if(!s.success)return ey("the spreadsheet's tabs");let o=s.data.sheets.map(e=>e.properties),i=new Set(o.map(e=>e.title)),l=[],d=a.filter(e=>!i.has(e)),u=o[0];for(let e of(u&&d.length&&!a.includes(u.title)&&(l.push({updateSheetProperties:{properties:{sheetId:u.sheetId,title:d[0]},fields:"title"}}),d.shift()),d))l.push({addSheet:{properties:{title:e}}});if(!l.length)return{ok:!0,data:void 0};let c=await ew("POST",`${em}/${encodeURIComponent(t)}:batchUpdate`,e,{json:{requests:l}},r);return c.ok?{ok:!0,data:void 0}:c}async function eD(e,t,a,r={}){let n=encodeURIComponent(t),s=await ew("POST",`${em}/${n}/values:batchClear`,e,{json:{ranges:a.map(e=>eA(e.title))}},r);if(!s.ok)return s;let o=a.map(e=>({range:`${eA(e.title)}!A1`,majorDimension:"ROWS",values:e.rows.map(e=>e.map(e=>e??""))})),i=await ew("POST",`${em}/${n}/values:batchUpdate`,e,{json:{valueInputOption:"RAW",data:o}},r);return i.ok?{ok:!0,data:void 0}:i}let eE="watchbell-backup-part";function ex(e,t,a){return Buffer.concat([Buffer.from(`--${eE}\r
5
- Content-Type: application/json; charset=UTF-8\r
6
- \r
7
- ${JSON.stringify(e)}\r
8
- --${eE}\r
9
- Content-Type: ${a}\r
10
- \r
11
- `),t,Buffer.from(`\r
12
- --${eE}--`)])}async function ej(e,t,a={}){let r=`multipart/related; boundary=${eE}`,n=e=>{if(!e.ok)return e;let a=en.z.object({id:ei.z.string().min(1),size:eu.z.union([ei.z.string(),ed.z.number()]).optional()}).safeParse(e.data);return a.success?{ok:!0,data:{id:a.data.id,size:Number(a.data.size??t.content.length)||t.content.length}}:ey("the upload")};if(t.fileId){let s=ex({name:t.name,mimeType:t.mimeType},t.content,t.mimeType),o=await ew("PATCH",`${ef}/${encodeURIComponent(t.fileId)}?uploadType=multipart&fields=id,size`,e,{raw:s,contentType:r},a);if(o.ok||"missing"!==o.kind&&"denied"!==o.kind)return n(o)}let s=ex({name:t.name,mimeType:t.mimeType,parents:[t.folderId]},t.content,t.mimeType);return n(await ew("POST",`${ef}?uploadType=multipart&fields=id,size`,e,{raw:s,contentType:r},a))}async function eT(e,t,a={}){let r=await ew("PATCH",`${ep}/${encodeURIComponent(t)}?fields=id,trashed`,e,{json:{trashed:!0}},a);return r.ok||"missing"===r.kind?{ok:!0,data:void 0}:r}var eM=e.i(666680),eO=e.i(547963);let ez=eO.n.notSet("GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET",!0),eC="invalid_grant: Google Drive access was removed or has expired. Reconnect Google Drive.",eN=en.z.object({error:ei.z.string()});async function eR(e,t){let a,r=t.timeoutMs??1e4;try{a=await (t.fetch??fetch)("https://oauth2.googleapis.com/token",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"},body:e.toString(),signal:AbortSignal.timeout(r),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?`Google didn't answer within ${Math.round(r/1e3)} seconds.`:"Couldn't reach Google."}}let n=await a.json().catch(()=>null);if(a.ok)return{ok:!0,body:n};let s=eN.safeParse(n).success?n.error:null;return"invalid_grant"===s?{ok:!1,kind:"revoked",error:eC}:"invalid_client"===s||"unauthorized_client"===s?{ok:!1,kind:"client",error:`Google refused the OAuth client. Check GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET ${eO.n.checkWhere}.`}:429===a.status||a.status>=500?{ok:!1,kind:"transient",error:`Google returned an error (${a.status}). The next run tries again.`}:{ok:!1,kind:"format",error:`Google refused the request (${s??a.status}).`}}en.z.object({refresh_token:ei.z.string().min(1),scope:ei.z.string().optional()});let e_=en.z.object({access_token:ei.z.string().min(1)});async function eq(e,t,a={}){let r=await eR(new URLSearchParams({grant_type:"refresh_token",refresh_token:t,client_id:e.clientId,client_secret:e.clientSecret}),a);if(!r.ok)return r;let n=e_.safeParse(r.body);return n.success?{ok:!0,accessToken:n.data.access_token}:{ok:!1,kind:"format",error:"Google answered the token request in a format the console doesn't recognise."}}class eP extends Error{kind;constructor(e,t){super(t),this.kind=e}}async function eF(e){let{month:t,partial:a,now:r}=e,n=function(e=process.env){let t=e.GOOGLE_CLIENT_ID?.trim()??"",a=e.GOOGLE_CLIENT_SECRET?.trim()??"";return a&&/^[\w.-]+\.apps\.googleusercontent\.com$/.test(t)?{clientId:t,clientSecret:a}:null}();if(!n)return{ok:!1,month:t,kind:"env",error:ez};let s=await K();if(!s)return{ok:!1,month:t,kind:"not-connected",error:"Google Drive isn't connected."};if(!s.refreshToken){let e="The stored Google Drive token can't be read (the encryption key changed). Reconnect Google Drive.";return await Y(s.id,{status:"error",lastError:e}),{ok:!1,month:t,kind:"failed",error:e}}let o=await Q(t),i={sheetFileId:o?.sheetFileId??null,csvFileId:o?.csvFileId??null,driveFolderId:o?.driveFolderId??null},l=o?.status??"error";await Z(t,{status:l,attempts:(o?.attempts??0)+1,startedAt:r});let d=e=>(i={...i,...e},Z(t,{status:l,...e})),u={fetch:e.fetch},c=()=>{if(Date.now()>e.deadline)throw new eP("time","Stopped at the daily job's time budget; the next daily run continues where this one stopped.")},p=e=>{if(!e.ok)throw new eP("failed",e.error);return e.data};try{let o,l=await eq(n,s.refreshToken,u);if(!l.ok){if("revoked"===l.kind)throw await Y(s.id,{status:"error",lastError:eC}),new eP("revoked",eC);throw new eP("failed",l.error)}"error"===s.status&&await Y(s.id,{status:"ok",lastError:null});let f=l.accessToken;c();let m=await ee(),h=m?.id??null;if(m){let e=p(await ev(f,m.id,u));e.usable?e.name&&e.name!==m.name&&await et(m.id,e.name):h=null}if(!h){c();let e=p(await ek(f,I,u)),t=e?null:p(await ek(f,$,u));h=e??t??p(await eI(f,I,u)),await et(h,t?$:I)}let w=await er(t,a,r);c(),i.sheetFileId||await d({sheetFileId:p(await e$(f,T(t),h,u)),driveFolderId:h}),c();let g=await eS(f,i.sheetFileId,A,u);g.ok||"missing"!==g.kind&&"denied"!==g.kind||(await d({sheetFileId:p(await e$(f,T(t),h,u)),driveFolderId:h}),c(),g=await eS(f,i.sheetFileId,A,u)),p(g),c(),p(await eD(f,i.sheetFileId,function(e){let{start:t,end:a}=E(e.month),r=e.partial&&e.generatedAt<a?e.generatedAt:a,n=e.deployments.filter(N),s=C(e.rollups.map(e=>e.checks)),o=C(e.rollups.map(e=>e.failures)),i=e=>(0,v.G)(e),l=[["Watchbell backup",e.month],["Covers",`${M(t)} to ${M(r)} ${(0,k.zoneName)()}${e.partial?" (month so far)":""}`],["Kind",e.partial?"Partial: Back up now":"Full month"],["Generated",`${M(e.generatedAt)} ${(0,k.zoneName)()}`],[],["Applications watched",e.apps.length],["Uptime, all monitors (%)",O(s,o)],["Checks (rolled-up hours)",s],["Failed checks",o],["Incidents (alerts opened)",e.alerts.length],["Critical incidents",e.alerts.filter(e=>"critical"===e.severity).length],["Production deployments",n.length],["Failed production deployments",n.filter(R).length],["Events",C(e.events.map(e=>e.count))]],d=[["Application","Monitors","Checks","Uptime (%)","p95 response, typical hour (ms)","p95 response, worst hour (ms)","5xx responses","Production deploys","Failed production deploys"]];for(let t of[...e.apps].sort((e,t)=>e.name.localeCompare(t.name))){let a=e.rollups.filter(e=>e.appId===t.id),r=a.map(e=>e.p95Ms).filter(e=>null!==e),s=n.filter(e=>e.appId===t.id);d.push([i(t.name),new Set(a.map(e=>e.monitorId)).size,C(a.map(e=>e.checks)),O(C(a.map(e=>e.checks)),C(a.map(e=>e.failures))),z(r),r.length?Math.max(...r):null,C(a.map(e=>e.status5xx)),s.length,s.filter(R).length])}let u=[["Rule","Severity","Subject",`Started (${(0,k.zoneName)()})`,`Resolved (${(0,k.zoneName)()})`,"Duration","Message"]];for(let t of[...e.alerts].sort((e,t)=>e.startedAt.getTime()-t.startedAt.getTime())){let a=(0,v.o)({title:t.title,message:t.message,causedBy:null,resourceId:t.resourceId},e.book);u.push([t.ruleKey,t.severity,a.title,M(t.startedAt),M(t.resolvedAt),function(e,t,a){let r=Math.max(0,Math.round(((t??a).getTime()-e.getTime())/6e4)),n=r<60?`${r} min`:r<2880?`${Math.floor(r/60)} h ${r%60} min`:`${Math.round(r/1440)} days`;return t?n:`${n} (still open)`}(t.startedAt,t.resolvedAt,r),a.message])}let c=[["Database","Provider","Account","State at backup","Status changes this month","Size (MB)","Neon CU-hours this period","Firestore reads (last reading)"]];for(let t of[...e.databases].sort((t,a)=>(0,v.X)(e.book,t.id).localeCompare((0,v.X)(e.book,a.id)))){let a=C(e.events.filter(e=>"database"===e.type&&e.resourceId===t.id).map(e=>e.count));c.push([(0,v.X)(e.book,t.id),_[t.kind],i(t.account),t.state,a,P(t.sizeBytes),t.cuHours,t.reads])}let p=[["Domain","Application","TLS certificate expires","TLS days left at month end","Domain expires (RDAP)","Domain days left at month end","Registrar"]];for(let t of[...e.domains].sort((e,t)=>e.name.localeCompare(t.name)))p.push([t.name,t.app?i(t.app):"",t.tlsExpires??"",q(t.tlsExpires,r),t.domainExpires??"",q(t.domainExpires,r),t.registrar??""]);return[{title:"Overview",rows:l},{title:"Applications",rows:d},{title:"Incidents",rows:u},{title:"Databases",rows:c},{title:"Domains",rows:p}]}(w),u)),c();let y=(o=function(e){let t=[U.join(",")];for(let a of[...e.rollups].sort((e,t)=>e.hour.getTime()-t.hour.getTime()||e.monitorId.localeCompare(t.monitorId)))t.push(["rollup",a.hour.toISOString(),(0,v.G)(`${a.app}${a.path}`),a.appId,a.checks,a.failures,a.p50Ms,a.p95Ms,a.maxMs,a.status5xx,a.maintenance,null,null,null,null,null,null].map(F).join(","));for(let a of[...e.events].sort((e,t)=>e.at.getTime()-t.at.getTime())){let r=a.resourceId&&e.book.db.some(e=>e.id===a.resourceId)?(0,v.X)(e.book,a.resourceId):(0,v.J)(a.resource??"",e.book);t.push(["event",a.at.toISOString(),r,a.resourceId,null,null,null,null,null,null,null,a.type,a.kind,a.reason,a.count,(0,v.J)(a.message,e.book,a.resourceId),(0,v.J)(a.detail,e.book,a.resourceId)].map(F).join(","))}return`${t.join("\r\n")}\r
13
- `}(w),(0,b.gzipSync)(Buffer.from(o,"utf8"),{level:9})),S=p(await ej(f,{name:`watchbell-${t}-raw.csv.gz`,mimeType:"application/gzip",folderId:h,content:y,fileId:i.csvFileId},u));await d({csvFileId:S.id}),await Z(t,{status:a?"partial":"ok",sizeBytes:S.size,error:null,finishedAt:new Date});let D=a?null:await eU(f,r,e.deadline,u);return{ok:!0,month:t,retention:D,message:`${j(t)}${a?" so far":""} saved to Google Drive.`}}catch(n){let e=n instanceof eP?n:new eP("failed","The backup failed. The next daily run tries again.");n instanceof eP||console.error("backup failed:",n instanceof Error?n.name:"unknown");let r=a&&"partial"===l?"partial":"error";return await Z(t,{status:r,error:e.message.slice(0,500),finishedAt:new Date}).catch(()=>void 0),{ok:!1,month:t,kind:e.kind,error:e.message}}}async function eU(e,t,a,r){let n=function(e,t){let a=D(t),r=e.filter(e=>"ok"===e.status&&e.month<a).map(e=>e.month).sort().reverse().slice(0,3);if(r.length<3)return[];let n=r[r.length-1];return e.filter(e=>!e.trashedAt&&e.month<n&&(e.sheetFileId||e.csvFileId))}(await X(),t),s=[];for(let o of n){if(Date.now()>a)break;let n=!0;for(let t of[o.sheetFileId,o.csvFileId])t&&((await eT(e,t,r)).ok||(n=!1));n&&(await Z(o.month,{status:o.status,trashedAt:t}),s.push(j(o.month)))}return s.length?`Moved to Drive trash: ${s.join(", ")}.`:null}async function eB(e,t,a={}){let r=await K();if(!r||"error"===r.status&&r.lastError?.startsWith("invalid_grant"))return null;let n=function(e,t){let a=x(D(t)),r=new Map(e.map(e=>[e.month,e.status]));if("ok"!==r.get(a))return a;let n=a;for(let e=1;e<3;e++)if(n=x(n),"error"===r.get(n))return n;return null}(await X(),e);if(!n)return null;let s=await eF({month:n,partial:!1,now:e,deadline:t,...a});return s.ok?null:`${j(n)}: ${s.error}`}var eG=e.i(455891),eL=e.i(889234),eW=e.i(328586),eH=e.i(333407),eV=e.i(459702),eJ=e.i(200346),eK=e.i(368230),eY=e.i(584820),eX=e.i(902509),eQ=e.i(668141),eZ=e.i(242960),e0=e.i(112515),e1=e.i(185890);function e3(e){if(!e)return null;if("unknown"!==e.state)return e.state;let t=e.data?.lastGoodState;return"string"==typeof t&&e1.f.includes(t)?t:null}let e4={turso_database:"Turso database",upstash_redis:"Upstash Redis",d1_database:"D1 database"};function e5(e,t){return"auth"===e.kind?"auth":"scope"===e.kind?t?"auth":"column":"missing"===e.kind?t?"unknown":"column":"unknown"}var e2=e.i(35048),e6=e.i(516464),e8=e.i(88316),e9=e.i(437122),e7=e.i(319718),te=e.i(941536),tt=e.i(686454),ta=e.i(122603);let tr="skipped the rest, time budget used";function tn(e){let t=e.deadline-Date.now()-500;if(t<250)throw Error(tr);return{timeoutMs:Math.min(5e3,t)}}async function ts(e,t,a){let r=!1;return{out:await (0,ta.P)(t,3,async t=>{let n;try{n=tn(e)}catch{r=!0;return}return a(t,n)}),skipped:r}}function to(e){if(e)throw Error(tr)}async function ti(e){let t=await (0,a.db)().select().from(g.accounts).where((0,p.and)((0,p.eq)(g.accounts.provider,e),(0,p.eq)(g.accounts.status,"ok"))),r=(0,L.serverEnv)().OPS_ENCRYPTION_KEY;return t.map(e=>({acc:e,credential:(0,B.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},r)}))}function tl(e,t){return(0,a.db)().select({r:g.resources,s:g.snapshots}).from(g.resources).leftJoin(g.snapshots,(0,p.eq)(g.snapshots.resourceId,g.resources.id)).where((0,p.and)((0,p.eq)(g.resources.accountId,e),(0,p.eq)(g.resources.kind,t),(0,p.eq)(g.resources.monitored,!0),(0,p.isNull)(g.resources.goneAt))).limit(100)}let td=e=>t.sql`${g.snapshots.data} || ${JSON.stringify(e)}::jsonb`;async function tu(e,t,r){let n=e3(e.s?{state:e.s.state,data:e.s.data}:null),s="unknown"===t.state,o=s?n?{lastGoodState:n}:{}:{...t.patch,lastGoodState:t.state},i=!s&&n!==t.state;return await (0,a.db)().insert(g.snapshots).values({resourceId:e.r.id,state:t.state,data:o,collectedAt:r,stateSince:r}).onConflictDoUpdate({target:g.snapshots.resourceId,set:{state:t.state,data:td(o),...s?{}:{collectedAt:r},...i?{stateSince:r}:{}}}),s?null:function(e){let{prev:t,next:a}=e;if(null===t||"unknown"===t||"unknown"===a||t===a)return null;let r={resourceId:e.resourceId,type:"database",at:e.at};if("supabase_project"===e.kind)return"paused"===a?{...r,reason:"DatabasePaused",kind:"paused",message:"Supabase project paused",detail:"Status changed to INACTIVE"}:"ok"===a?{...r,reason:"DatabaseRestored",kind:"ok",message:"Supabase project active again",detail:"Status changed to ACTIVE_HEALTHY"}:"warn"===a?{...r,reason:"DatabaseUnhealthy",kind:"warn",message:"Supabase project unhealthy",detail:e.label}:"err"===a?{...r,reason:"DatabaseFailed",kind:"err",message:`Supabase project: ${e.label.toLowerCase()}`,detail:e.label}:null;if("neon_project"===e.kind)return"err"===a?{...r,reason:"NeonSuspended",kind:"err",message:"Neon compute suspended",detail:e.label}:"err"===t&&("ok"===a||"idle"===a)?{...r,reason:"NeonAvailable",kind:"ok",message:"Neon compute available again",detail:e.label}:null;let n=e4[e.kind];if(n)return"err"===a?{...r,reason:"DatabaseFailed",kind:"err",message:`${n}: ${e.label.toLowerCase()}`,detail:e.label}:"off"===a?{...r,reason:"DatabaseMissing",kind:"off",message:`${n} missing`,detail:e.label}:"ok"===a&&("err"===t||"off"===t)?{...r,reason:"DatabaseRestored",kind:"ok",message:`${n} available again`,detail:e.label}:null;if("err"===a){let t="Daily quota used up"===e.label;return{...r,reason:t?"FirestoreQuotaUsedUp":"FirestoreUnreachable",kind:"err",message:t?"Firestore daily quota used up":"Firestore not reachable",detail:e.label}}return"off"===a?{...r,reason:"FirestoreMissing",kind:"off",message:"Firestore database missing",detail:e.label}:"ok"===a&&("err"===t||"off"===t)?{...r,reason:"FirestoreReachable",kind:"ok",message:"Firestore reachable again",detail:e.label}:null}({kind:e.r.kind,resourceId:e.r.id,prev:n,next:t.state,label:t.label,at:r})}async function tc(e,t){await (0,a.db)().update(g.snapshots).set({data:td(t)}).where((0,p.eq)(g.snapshots.resourceId,e.r.id))}let tp=e=>(0,eH.f)(e);async function tf(e,t,r,n,s){if("auth"===e5(n,!0)){let e=(0,e0.E)({ok:!1,kind:"auth",error:n.error});e&&await (0,a.db)().update(g.accounts).set({...e,updatedAt:s.now}).where((0,p.eq)(g.accounts.id,t.id))}for(let e of r)await tu(e,{state:"unknown",label:"Unknown",patch:{}},s.now);s.errors.push(`${e}/${t.label}: ${n.error}`)}let tm=e=>e.toISOString();async function th(e){return e.length?new Set((await (0,a.db)().select({app:g.links.fromResourceId,state:g.snapshots.state,data:g.snapshots.data}).from(g.links).innerJoin(g.resources,(0,p.eq)(g.resources.id,g.links.toResourceId)).innerJoin(g.snapshots,(0,p.eq)(g.snapshots.resourceId,g.resources.id)).where((0,p.and)((0,p.eq)(g.links.kind,"uses_db"),(0,p.inArray)(g.links.fromResourceId,e),(0,p.eq)(g.resources.monitored,!0),(0,p.isNull)(g.resources.goneAt)))).filter(e=>"paused"===e.state||"unknown"===e.state&&"paused"===e.data.lastGoodState).map(e=>e.app)):new Set}async function tw(e){if(!e.protectOnly||await (0,eJ.g)())for(let{acc:t,credential:a}of(await ti("supabase"))){if(tn(e),!a){e.errors.push(`supabase/${t.label}: credential can't be read`);continue}let r=await tl(t.id,"supabase_project");if(!r.length)continue;let n=await (0,tt.W)(a,tn(e));if(!n.ok){e.protectOnly?e.errors.push(`supabase/${t.label}: ${n.error}`):await tf("supabase",t,r,n,e);continue}let s=new Map(n.data.map(e=>[e.ref,e])),o=[];for(let t of e.protectOnly?[]:r){let a=s.get(t.r.externalId);if(!a){o.push(await tu(t,{state:"off",label:"Not found",patch:{status:"REMOVED"}},e.now));continue}let r=(0,e8.P)(a.status),n=e3(t.s?{state:t.s.state,data:t.s.data}:null),i={status:a.status,region:a.region,pgVersion:a.pgVersion,orgSlug:a.orgSlug};"paused"===r.state&&"paused"!==n&&(i.pausedBeforeSeen=null===n),o.push(await tu(t,{state:r.state,label:r.label,patch:i},e.now))}await tp(o);let i=new Map(r.map(e=>[e.r.externalId,e.r.id])),l=n.data.map(e=>({resourceId:i.get(e.ref)??null,accountId:t.id,status:e.status,orgSlug:e.orgSlug}));await (0,eJ.z)(e.now,l,e.deadline).catch(()=>{console.warn("auto-restore failed"),e.errors.push("auto-restore failed")})}}async function tg(e){for(let{acc:t,credential:a}of(await ti("supabase"))){if(tn(e),!a)continue;let r=await tl(t.id,"supabase_project");if(!r.length)continue;let n=new Map(r.map(e=>[e.r.id,(0,G.k)(G.B,e.s?.data)])),s=new Map;for(let r of new Set([...n.values()].map(e=>e.orgSlug).filter(e=>!!e))){let n=await (0,tt.K)(a,r,tn(e));s.set(r,n.ok&&null!==n.data?"free"===n.data:null),n.ok||"scope"===n.kind||e.errors.push(`supabase/${t.label} plan: ${n.error}`)}let{skipped:o}=await ts(e,r,async(t,r)=>{let o=n.get(t.r.id),i={freeOrg:o.orgSlug?s.get(o.orgSlug)??null:null};if((o.status??"").startsWith("ACTIVE_")){let[n,s]=await Promise.all([(0,tt.F)(a,t.r.externalId,r),(0,tt.Z)(a,t.r.externalId,r)]);n.ok?Object.assign(i,{health:n.data.map(({name:e,status:t})=>({name:e,status:t})),healthAt:tm(e.now),healthError:null}):"column"===e5(n,!1)?i.healthError=n.error:e.errors.push(`supabase/${t.r.name} health: ${n.error}`),s.ok?Object.assign(i,{lastTrafficAt:(0,e8.H)(s.data)?.toISOString()??null,trafficAt:tm(e.now),trafficError:null}):"column"===e5(s,!1)?i.trafficError=s.error:e.errors.push(`supabase/${t.r.name} traffic: ${s.error}`)}await tc(t,i)});to(o)}}async function ty(e){for(let{acc:t,credential:a}of(await ti("neon"))){if(tn(e),!a){e.errors.push(`neon/${t.label}: credential can't be read`);continue}let r=await tl(t.id,"neon_project");if(!r.length)continue;let{out:n,skipped:s}=await ts(e,r,(e,t)=>Promise.all([(0,te.Z)(a,e.r.externalId,t),(0,te.k)(a,e.r.externalId,t),(0,te.e)(a,e.r.externalId,t)])),o=n.flat().find(e=>void 0!==e&&!e.ok&&"auth"===e.kind);if(o){await tf("neon",t,r,o,e);continue}let i=[];for(let[t,a]of r.entries()){let r=n[t];if(!r)continue;let[s,o,l]=r;if(!s.ok||!o.ok||!l.ok){let t=[s,o,l].find(e=>!e.ok);"missing"===t.kind?i.push(await tu(a,{state:"off",label:"Not found",patch:{}},e.now)):(await tu(a,{state:"unknown",label:"Unknown",patch:{}},e.now),e.errors.push(`neon/${a.r.name}: ${t.error}`));continue}let d=(0,e6.p)({endpoints:o.data,computeSeconds:s.data.computeSeconds});i.push(await tu(a,{state:d.state,label:d.label,patch:{region:s.data.region,pgVersion:s.data.pgVersion,computeSeconds:s.data.computeSeconds,transferBytes:s.data.transferBytes,activeSeconds:s.data.activeSeconds,periodStart:s.data.periodStart,periodEnd:s.data.periodEnd,endpoints:o.data,branches:l.data}},e.now))}await tp(i),to(s)}}let tb=e=>e.ok?{latencyMs:e.data.latencyMs,pingError:null,pingReason:null,pingKind:null}:{pingError:e.error,pingReason:e.reason??null,pingKind:e.kind};async function tk(e){for(let{acc:t,credential:a}of(await ti("firebase"))){tn(e);let r=a?(0,e7.p)(a):null;if(!r){e.errors.push(`firebase/${t.label}: credential can't be read`);continue}let n=await tl(t.id,"firestore");if(!n.length)continue;let s=await (0,e7.X)(r,tn(e));if(!s.ok){await tf("firebase",t,n,s,e);continue}let{out:o,skipped:i}=await ts(e,n,(e,t)=>(0,e9.G)(s.data,e.r.externalId,t)),l=[];for(let[t,a]of n.entries()){let r=o[t];if(!r)continue;let n=(0,e2.g)(r);"unknown"!==n.state||r.ok||e.errors.push(`firebase/${a.r.name}: ${r.error}`),l.push(await tu(a,{...n,patch:tb(r)},e.now))}await tp(l),to(i)}}async function tv(e){for(let{acc:t,credential:a}of(await ti("firebase"))){tn(e);let r=a?(0,e7.p)(a):null;if(!r)continue;let n=(await tl(t.id,"firestore")).filter(e=>e.s?.state!=="off");if(!n.length)continue;let s=await (0,e7.X)(r,tn(e));if(!s.ok){e.errors.push(`firebase/${t.label}: ${s.error}`);continue}let o=(0,e2.a)(e.now),{skipped:i}=await ts(e,n,async(t,a)=>{let r=await (0,e9.W)(s.data,t.r.externalId,o,e.now,a);r.ok?await tc(t,{...r.data,opsAt:tm(e.now),opsError:null}):"column"===e5(r,!1)?await tc(t,{reads:null,writes:null,deletes:null,opsAt:tm(e.now),opsError:/requires billing/i.test(r.message??"")?"Not available on Spark: Firestore usage needs billing (Blaze plan)":"SERVICE_DISABLED"===r.reason?"Not readable: the Cloud Monitoring API is off in this project":"Not readable: the service account needs monitoring.viewer"}):e.errors.push(`firebase/${t.r.name} usage: ${r.error}`)});to(i)}}async function tI(e){let t=Date.now()+2*Math.max(0,e.deadline-Date.now())/3,a=await t$(()=>tA({...e,deadline:t})),r=await t$(()=>tS(e));if(a)throw a;if(r)throw r}async function t$(e){try{return await e(),null}catch(e){return e instanceof Error?e:Error(String(e))}}async function tA(e){for(let{acc:t,credential:a}of(await ti("supabase")))if(tn(e),a)for(let r of(await tl(t.id,"supabase_project"))){let t=(0,G.k)(G.B,r.s?.data);if(!(0,e8.z)({status:t.status??"",lastTrafficAt:t.lastTrafficAt?new Date(t.lastTrafficAt):null,sizeAt:t.sizeAt?new Date(t.sizeAt):null,now:e.now}))continue;let n=await (0,tt.r)(a,r.r.externalId,tn(e));n.ok?await tc(r,{sizeBytes:n.data,sizeAt:tm(e.now),sizeError:null}):"column"===e5(n,!1)?await tc(r,{sizeError:n.error}):e.errors.push(`supabase/${r.r.name} size: ${n.error}`)}}async function tS(e){for(let{acc:t,credential:a}of(await ti("firebase"))){tn(e);let r=a?(0,e7.p)(a):null;if(!r)continue;let n=(await tl(t.id,"firestore")).filter(e=>e.s?.state!=="off");if(!n.length)continue;let s=await (0,e7.X)(r,tn(e));if(!s.ok){e.errors.push(`firebase/${t.label}: ${s.error}`);continue}let{skipped:o}=await ts(e,n,async(t,a)=>{let r=await (0,e9.q)(s.data,t.r.externalId,a);r.ok?await tc(t,{authUsers:r.data,authAt:tm(e.now),authError:null}):"column"===e5(r,!1)?await tc(t,{authError:"Not readable: the service account needs firebaseauth.viewer"}):e.errors.push(`firebase/${t.r.name} users: ${r.error}`)});to(o)}}var tD=e.i(369179),tE=e.i(476866),tx=e.i(873083),tj=e.i(649297),tT=e.i(541211);let tM={github:"devops",deps:"devops",databases:"database",security:"hosting",os:"devops"};async function tO(e){let[t]=await (0,a.db)().select({hour:(0,f.max)(g.rollupsHourly.hour)}).from(g.rollupsHourly),r=(0,tj.r)(t?.hour??null,e),n=await (0,a.db)().select().from(g.checks).where((0,p.and)((0,p.gte)(g.checks.at,r),(0,p.lt)(g.checks.at,(0,tj.b)(e)))).orderBy(g.checks.at),s=new Map;for(let e of n){let t=`${e.monitorId}|${(0,tj.b)(e.at).toISOString()}`,a=s.get(t);a?a.push(e):s.set(t,[e])}for(let[e,t]of s){let[r,n]=e.split("|"),s=(0,tj.z)(t);await (0,a.db)().insert(g.rollupsHourly).values({monitorId:r,hour:new Date(n),...s}).onConflictDoUpdate({target:[g.rollupsHourly.monitorId,g.rollupsHourly.hour],set:s})}}async function tz(e){let t=await (0,tE.J)().catch(()=>tD.f);await (0,a.db)().delete(g.checks).where((0,p.lt)(g.checks.at,new Date(e.getTime()-864e5*t.checks))),await (0,a.db)().delete(g.rollupsHourly).where((0,p.lt)(g.rollupsHourly.hour,new Date(e.getTime()-864e5*t.rollupsHourly))),await (0,a.db)().delete(g.deployments).where((0,p.and)((0,p.lt)(g.deployments.createdAtProvider,new Date(e.getTime()-864e5*t.deployments)),(0,p.eq)(g.deployments.isCurrent,!1),(0,p.eq)(g.deployments.isPreviousProduction,!1))),await (0,a.db)().delete(g.events).where((0,p.lt)(g.events.at,new Date(e.getTime()-864e5*t.events))),await (0,a.db)().delete(g.alerts).where((0,p.and)((0,p.isNotNull)(g.alerts.resolvedAt),(0,p.lt)(g.alerts.resolvedAt,new Date(e.getTime()-864e5*t.alerts)))),await (0,a.db)().delete(g.collectorRuns).where((0,p.lt)(g.collectorRuns.startedAt,new Date(e.getTime()-864e5*t.collectorRuns))),await (0,a.db)().delete(g.storedLogs).where((0,p.lt)(g.storedLogs.at,new Date(e.getTime()-864e5*t.storedLogs))),await (0,a.db)().delete(g.recommendationDismissals).where((0,p.lt)(g.recommendationDismissals.dismissedAt,new Date(e.getTime()-864e5*t.recommendationDismissals)))}async function tC(){let e=new Date,[t]=await (0,a.db)().insert(g.collectorRuns).values({startedAt:e,trigger:"vercel_cron"}).returning({id:g.collectorRuns.id}),r=[],n=await (0,l.I)(),s=[["rollups",()=>tO(e)],["backup",async()=>{let t=await eB(e,e.getTime()+2e4);t&&r.push(`backup: ${t}`)}],["retention",()=>tz(e)],["sync",async()=>{let t=(await (0,a.db)().select({id:g.accounts.id,label:g.accounts.label,provider:g.accounts.provider}).from(g.accounts).where((0,p.inArray)(g.accounts.provider,eQ.I))).filter(e=>!n.has(tx.D[e.provider]??"manage"));for(let[a,n]of t.entries()){if(Date.now()>e.getTime()+25e3){r.push(`sync: ${t.length-a} account${t.length-a>1?"s":""} left for the next run, time budget used`);break}let s=await (0,eZ.k)(n.id);s.ok?(s.skippedTeams.length&&r.push(`sync ${n.provider}/${n.label}: skipped teams ${s.skippedTeams.join(", ")} (no access)`),s.overLimit&&r.push(`sync ${n.provider}/${n.label}: ${s.overLimit}`)):r.push(`sync ${n.provider}/${n.label}: ${s.error}`)}}],["github",async()=>{let t=await (0,eW.D)(Math.min(Date.now()+6e3,e.getTime()+35e3));t&&r.push(`github: ${t}`)}],["deps",async()=>{let t=await (0,eL.e)(Math.min(Date.now()+eL.o,e.getTime()+eL.R));t&&r.push(`deps: ${t}`)}],["databases",()=>tI({now:e,deadline:Math.min(Date.now()+15e3,e.getTime()+5e4),errors:r})],["keep-active",()=>(0,eJ.V)(e,Math.min(Date.now()+5e3,e.getTime()+5e4),r)],["security",async()=>{for(let t of(await (0,eY.h)((0,eX.F)(e.getTime(),Date.now()))).failed)r.push(`security ${t}`)}],..."on"===(0,c.C)()?[["os",async()=>{let e=await (0,c.W)();if(e.ok){if("unsupported"!==e.data.status){e.data.error&&r.push(`os: ${e.data.error}`);let t=e.data.updates.filter(e=>e.error).length;t&&r.push(`os: Ubuntu's data couldn't be read for ${t} update${1===t?"":"s"}`),e.data.backlog.error&&r.push(`os: ${e.data.backlog.error}`)}}else r.push(`os: ${e.error}`)}]]:[],["advisor",async()=>{await (0,eG.O)(e)}]],o=[];try{for(let[e,t]of s)if(!n.has(tM[e]))try{await t(),o.push(e)}catch(t){r.push(`${e}: ${(0,tT.safeError)(t)}`)}await (0,eH.f)([{type:"system",kind:r.length?"warn":"info",message:r.length?"Daily jobs finished with problems":"Daily jobs finished",detail:"Rollups, the monthly backup when due, retention, a sync of every account, database sizes, the Next.js security check and the Advisor",resourceId:null}])}catch(e){r.push(`events: ${(0,tT.safeError)(e)}`)}finally{h(w.t),await (0,a.db)().update(g.collectorRuns).set({finishedAt:new Date,ok:0===r.length,errorSummary:r.join("\n").slice(0,2e3)||null,durationMs:Date.now()-e.getTime(),tasks:o}).where((0,p.eq)(g.collectorRuns.id,t.id)).catch(()=>void 0)}await tN(r.length>0);let i=Date.now()-e.getTime();return{skipped:!1,ok:0===r.length,tasks:o,checks:0,durationMs:i,errors:r}}async function tN(e){let t=process.env.DAILY_HEARTBEAT_TOKEN;if(!t)return;let a=(0,eK.i)(t);if(!a)return void console.warn("daily heartbeat: DAILY_HEARTBEAT_TOKEN holds no single hb_ token; set it to the heartbeat's token");let r=await (0,eV._)(a,e?"fail":"ok",new Date).catch(e=>(console.warn("daily heartbeat: the ping couldn't be stored:",e instanceof Error?e.name:"error"),null));r?.status==="unknown"?console.warn("daily heartbeat: DAILY_HEARTBEAT_TOKEN matches no heartbeat monitor (was it regenerated?)"):r?.status==="limited"&&console.warn("daily heartbeat: the ping was rate limited")}async function tR(e,t,a=new Date){if(e.skipped||0===t.length)return e;let r=[...e.tasks],n=[...e.errors];for(let e of t)try{await e.run(a),r.push(e.name)}catch(t){n.push(`${e.name}: ${(0,tT.safeError)(t)}`)}return{...e,tasks:r,errors:n,ok:0===n.length}}let t_="collector.cpuDay";async function tq(e,t=new Date){try{var r;let n,s,o,i,l,d,[u]=await (0,a.db)().select({value:g.settings.value}).from(g.settings).where((0,p.eq)(g.settings.key,t_)).limit(1),{next:c,crossed:f}=(r=u?.value,n=t.toISOString().slice(0,10),o=(s=r&&"object"==typeof r?r:{}).day===n&&Number.isFinite(s.ms)&&Number.isFinite(s.runs)?{day:n,ms:s.ms,runs:s.runs,warned:!0===s.warned}:{day:n,ms:0,runs:0,warned:!1},i=Number.isFinite(e)&&e>0?Math.round(e):0,l={...o,ms:o.ms+i,runs:o.runs+1},(d=!o.warned&&l.ms>24e4)&&(l.warned=!0),{next:l,crossed:d});await (0,a.db)().insert(g.settings).values({key:t_,value:c}).onConflictDoUpdate({target:g.settings.key,set:{value:c,updatedAt:t}}),f&&await (0,eH.f)([{type:"system",kind:"warn",message:"Collector CPU high today",detail:`${Math.round(c.ms/1e3)} s in ${c.runs} runs, over 4 min (Vercel Hobby allows about 8 min a day). Check the cron-job.org schedule.`,resourceId:null,at:t}])}catch(e){console.warn("collector cpu count failed:",e instanceof Error?e.name:"error")}}var tP=e.i(978196),tF=e.i(234195),tU=e.i(706959),tB=e.i(451682),tG=e.i(373200),tL=e.i(736337);async function tW(e,r,n=new Map){if(!e.length)return 0;let s=await (0,a.db)().select({app:g.deployments.resourceId,id:g.deployments.externalId,source:g.deployments.source,branch:g.deployments.branch,sha:g.deployments.commitSha}).from(g.deployments).where((0,p.and)((0,p.inArray)(g.deployments.resourceId,e.map(e=>e.id)),(0,p.eq)(g.deployments.isCurrent,!0))),o=0;for(let i of e){let e,l=s.find(e=>e.app===i.id);if(!l)continue;let d=(0,tL.O)(i.meta?.productionSource),u=n.get(l.id),c={source:l.source??null,branch:l.branch??null,sha:l.sha??null};if(!(e=u?(0,tL.s)({...c,branchFrom:u.branchFrom??null,gitDirty:!0===u.gitDirty}):d?.id===l.id?{kind:d.kind,...d.ref?{ref:d.ref}:{},...d.sha?{sha:d.sha}:{}}:"git"===c.source||"cli"===c.source?(0,tL.s)(c):null)){if(d?.at&&d.id!==l.id){let e={...d};delete e.at,await (0,a.db)().update(g.resources).set({meta:t.sql`${g.resources.meta} || ${JSON.stringify({productionSource:e})}::jsonb`}).where((0,p.eq)(g.resources.id,i.id)),o++}continue}e={...e,id:l.id};let f=!!d?.at&&r.getTime()-Date.parse(d.at)<tL.u;if((0,tL.v)(d,e)&&f)continue;let m={...e,at:r.toISOString()};await (0,a.db)().update(g.resources).set({meta:t.sql`${g.resources.meta} || ${JSON.stringify({productionSource:m})}::jsonb`}).where((0,p.eq)(g.resources.id,i.id)),o++}return o}var tH=e.i(753535),tV=e.i(932378),tJ=e.i(313903);let tK=/not enabled/i,tY=(e,t,a={})=>({ok:!1,kind:e,error:t,...a}),tX="Vercel Web Analytics answered in a format the console doesn't recognise.",tQ=en.z.object({data:en.z.object({pageviews:ed.z.number().finite().nonnegative(),visitors:ed.z.number().finite().nonnegative()})}),tZ=en.z.object({data:es.z.array(tV.z.unknown())}),t0=en.z.object({timestamp:ei.z.string().transform((e,t)=>{let a=Date.parse(e);return Number.isNaN(a)?(t.addIssue({code:"custom",message:"bad timestamp"}),tJ.z.NEVER):a}),pageviews:ed.z.number().finite().nonnegative().nullish().catch(null)});async function t1(e,t,a,r){let n=r.since.toISOString(),s=r.until.toISOString(),o=r.fetch??fetch,i=new AbortController,l=setTimeout(()=>i.abort(new DOMException("window","TimeoutError")),r.timeoutMs??8e3),d=r.signal?AbortSignal.any([i.signal,r.signal]):i.signal,u=(0,ta.X)(d);async function c(l,c){let p=new URLSearchParams({projectId:a,teamId:t,...c,since:n,until:s});try{let t=await Promise.race([o(`https://api.vercel.com/v1/query/web-analytics/visits/${l}?${p}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},signal:d,cache:"no-store"}),u]),a=null,r=!1;if(401===t.status||403===t.status)a=tY("auth",`Vercel rejected this credential (${t.status}).`,{status:t.status});else if(429===t.status){let e=Number(t.headers.get("Retry-After"));a=tY("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60})}else if(400===t.status){let e=await Promise.race([t.text(),u]).catch(()=>"");tK.test(e)?r=!0:a=tY("transient","Vercel Web Analytics rejected the request (400).",{status:400})}else t.ok||(a=tY("transient",`Vercel Web Analytics returned an error (${t.status}).`,{status:t.status}));if(r)return{kind:"off"};if(a)return await t.body?.cancel().catch(()=>void 0),{kind:"fail",fail:a};try{return{kind:"body",body:await Promise.race([t.json(),u])}}catch(e){if(d.aborted)throw e;return{kind:"fail",fail:tY("format",tX)}}}catch{return{kind:"fail",fail:d.aborted?i.signal.aborted&&!r.signal?.aborted?tY("transient","Vercel Web Analytics didn't answer in time."):tY("transient","Reading Vercel Web Analytics was cancelled."):tY("transient","Couldn't reach Vercel Web Analytics.")}}}try{let[e,t]=await Promise.all([c("count",{}),c("aggregate",{by:"hour"})]);if("off"===e.kind||"off"===t.kind)return{ok:!0,enabled:!1};let a=[e,t].flatMap(e=>"fail"===e.kind?[e.fail]:[]),r=a.find(e=>"auth"===e.kind);if(r)return r;let n="body"===t.kind?tZ.safeParse(t.body):null,s="fail"===t.kind?t.fail:n?.success?null:tY("format",tX),o=a.find(e=>"transient"===e.kind);if(o)return o;if(s)return s;if(!n?.success)return tY("format",tX);let i="body"===e.kind?tQ.safeParse(e.body):null,l=n.data.data.flatMap(e=>{let t=t0.safeParse(e);return t.success?[t.data]:[]});if(l.length>0&&l.every(e=>null==e.pageviews))return tY("format",tX);let d=new Map;for(let e of l){let t=36e5*Math.floor(e.timestamp/36e5);d.set(t,(d.get(t)??0)+(e.pageviews??0))}let u=[...d].sort((e,t)=>e[0]-t[0]).slice(-24).map(([e,t])=>({at:new Date(e),views:t}));if(i?.success)return{ok:!0,enabled:!0,total:i.data.data.pageviews,visitors:i.data.data.visitors,hourly:u};return{ok:!0,enabled:!0,total:u.reduce((e,t)=>e+t.views,0),visitors:null,hourly:u}}finally{clearTimeout(l),i.abort()}}var t3=e.i(178233);async function t4(e,t,a){let r=await (0,tB.g)(null);if(!r.length)return;let n=new Date(36e5*Math.floor(e.getTime()/36e5)-828e5);await (0,ta.P)(r,3,async r=>{if(Date.now()+8500>t)return;let s=await t1(r.token,r.teamId,r.projectId,{since:n,until:e});if(!s.ok)return void a.push(`pageviews/${r.appName}: ${s.error}`);try{await (0,tH.r)(r.appId,{pageviews:(0,t3.Z)(s,e)},e)}catch{a.push(`pageviews/${r.appName}: couldn't save the page views`)}})}var t5=e.i(628852),t2=e.i(802641);let t6="security.afterDeploy",t8=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),t9=e=>"string"==typeof e&&e.length>0&&e.length<=100;function t7(e){let t={pending:{},checked:{}};if(!t8(e))return t;if(t8(e.pending))for(let[a,r]of Object.entries(e.pending)){if(!(0,t2.f)(a)||!t8(r)||!t9(r.id)||"string"!=typeof r.at||Number.isNaN(Date.parse(r.at)))continue;let e="number"==typeof r.attempts&&Number.isInteger(r.attempts)&&r.attempts>=0?Math.min(r.attempts,3):0;t.pending[a]={id:r.id,at:r.at,attempts:e,...!0===r.next?{next:!0}:{},...!0===r.deps?{deps:!0}:{}}}if(t8(e.checked))for(let[a,r]of Object.entries(e.checked))(0,t2.f)(a)&&t9(r)&&(t.checked[a]=r);return t}function ae(e,t){let a,r={...e.pending},n={...e.checked};for(let e of t){let t=r[e];t&&(delete r[e],delete n[e],n[e]=t.id)}return{pending:r,checked:(a=Object.entries(n)).length<=500?n:Object.fromEntries(a.slice(a.length-500))}}let at=(e,t)=>Object.entries(e.pending).filter(([,e])=>!e[t]).map(([e])=>e),aa="security.slot",ar=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e&&e.length>0&&e.length<=100).slice(0,1e3):[],an=(e,t)=>[...new Set([...e,...t])].slice(0,1e3),as=e=>async()=>{let[t]=await (0,a.db)().select({value:g.settings.value}).from(g.settings).where((0,p.eq)(g.settings.key,e)).limit(1);return t?.value??null},ao=e=>async t=>{await (0,a.db)().insert(g.settings).values({key:e,value:t}).onConflictDoUpdate({target:g.settings.key,set:{value:t,updatedAt:new Date}})},ai={read:as(t6),write:ao(t6),readSlot:as(aa),writeSlot:ao(aa),nextCheck:eY.h,depsStep:(e,t)=>(0,eL.O)(e,t)};async function al(e,t=ai){var a;let r,n=t7(await t.read()),s=(a=e.now,(r=Object.entries(n.pending).filter(([,e])=>a.getTime()-Date.parse(e.at)>216e5).map(([e])=>e)).length?ae(n,r):n),o=!e.paused.has("hosting"),i=!e.paused.has("devops"),l=o?at(s,"next"):[],d=i?at(s,"deps"):[],u=e.early?null:function(e,t){let a=e&&"object"==typeof e&&!Array.isArray(e)?e:{};if(a.slot!==t)return{slot:t,runs:0,next:[],repos:[],cut:{},nextDone:!1,depsDone:!1};let r="number"==typeof a.runs&&Number.isInteger(a.runs)&&a.runs>=0?a.runs:0,n={};if(a.cut&&"object"==typeof a.cut&&!Array.isArray(a.cut))for(let[e,t]of Object.entries(a.cut).slice(0,1e3))e.length<=100&&"number"==typeof t&&Number.isInteger(t)&&t>0&&(n[e]=Math.min(t,2));return{slot:t,runs:r,next:ar(a.next),repos:ar(a.repos),cut:n,nextDone:!0===a.nextDone,depsDone:!0===a.depsDone}}(await t.readSlot(),new Date((0,t5.G)("security",e.now)).toISOString()),c=!!u&&o&&!u.nextDone,p=!!u&&i&&!u.depsDone,f=o&&(l.length>0||c),m=i&&(d.length>0||p),h={hosting:o,devops:i,nextDone:new Set,nextStarted:new Set,depsDone:new Set},w=async()=>{let a=Math.min(Date.now()+eX.y,!u&&m?e.deadline-2*eL.d:e.deadline),r=c?[...u.next,...Object.entries(u.cut).filter(([,e])=>e>=2).map(([e])=>e)]:[],n=c?{first:l,skip:[...new Set(r)].filter(e=>!l.includes(e))}:{only:l},s=await t.nextCheck(a,n);for(let t of s.failed)e.errors.push(`security ${t}`);for(let e of s.done)h.nextDone.add(e);for(let e of l)s.listed.includes(e)||h.nextDone.add(e);for(let e of s.started)h.nextStarted.add(e);if(c){let e=new Set(s.done);for(let t of(u.next=an(u.next,s.done),s.started))e.has(t)||(u.cut[t]=Math.min((u.cut[t]??0)+1,2));u.nextDone=s.listed.every(t=>e.has(t)||(u.cut[t]??0)>=2)}},g=async()=>{let a=await t.depsStep(Math.min(Date.now()+eL.o,e.deadline),p?{marked:d,onlyMarked:!1,skip:u.repos}:{marked:d,onlyMarked:!0});for(let t of(a.problem&&e.errors.push(`security deps: ${a.problem}`),a.settled))h.depsDone.add(t);p&&(u.repos=an(u.repos,a.done),u.depsDone=a.complete)};try{u&&u.runs++,u?(m&&await g(),f&&await w()):(f&&await w(),m&&await g())}finally{let e=null;if(u)try{await t.writeSlot(u)}catch(t){e=t}try{let e=function(e,t){let a={},r=[];for(let[n,s]of Object.entries(e.pending)){let e={...s};t.hosting&&!e.next&&(t.nextDone?.has(n)?e.next=!0:t.nextStarted?.has(n)&&(e.attempts=Math.min(e.attempts+1,3))),t.devops&&!e.deps&&t.depsDone?.has(n)&&(e.deps=!0),a[n]=e,((e.next||!t.hosting)&&(e.deps||!t.devops)||e.attempts>=3)&&r.push(n)}return ae({pending:a,checked:e.checked},r)}(s,h);JSON.stringify(e)!==JSON.stringify(n)&&await t.write(e)}catch(t){e??=t}if(e)throw e}return{complete:!u||(u.nextDone||!o)&&(u.depsDone||!i)||u.runs>=20}}async function ad(e,t,a=ai){if(!e.length)return!1;let{state:r,changed:n}=function(e,t,a){let r={pending:{...e.pending},checked:{...e.checked}},n=!1;for(let e of t)(0,t2.f)(e.appId)&&t9(e.deploymentId)&&r.checked[e.appId]!==e.deploymentId&&r.pending[e.appId]?.id!==e.deploymentId&&(r.pending[e.appId]={id:e.deploymentId,at:a.toISOString(),attempts:0},n=!0);return{state:r,changed:n}}(t7(await a.read()),e,t);return n&&await a.write(r),n}var au=e.i(147100),ac=e.i(764266),ap=e.i(198552),af=e.i(27479),am=e.i(707866),ah=e.i(392710),aw=e.i(582888),ag=e.i(811539),ay=e.i(725321);async function ab(e){let t=[await t$(()=>av(e)),await t$(()=>a$(e)),await t$(()=>aA(e))].find(e=>null!==e);if(t)throw t}let ak=e=>e.toISOString();async function av(e){for(let{acc:t,credential:a}of(await ti("turso"))){if(tn(e),!a){e.errors.push(`turso/${t.label}: credential can't be read`);continue}let r=await tl(t.id,"turso_database");if(!r.length)continue;let n=await (0,aw.u)(a,tn(e));if(!n.ok){await tf("turso",t,r,n,e);continue}let s=new Set(r.map(e=>String(e.r.meta.org??""))),o=[];for(let i of n.data.filter(e=>s.has(e.slug))){let[n,s]=await Promise.all([(0,aw.X)(a,i.slug,tn(e)),(0,aw.d)(a,i.slug,tn(e))]),l=r.filter(e=>e.r.meta.org===i.slug);if(!n.ok){for(let t of l)await tu(t,{state:"unknown",label:"Unknown",patch:{}},e.now);e.errors.push(`turso/${t.label}: ${n.error}`);continue}let d=new Map(n.data.map(e=>[e.id,e]));for(let t of l)o.push(await aI(t,d.get(t.r.externalId),i,s,e))}let i=new Set(n.data.map(e=>e.slug));for(let t of r.filter(e=>!i.has(String(e.r.meta.org??""))))o.push(await tu(t,{state:"off",label:"Organization not visible to this token",patch:{}},e.now));await tp(o)}}async function aI(e,t,a,r,n){if(!t)return tu(e,{state:"off",label:"Not found",patch:{}},n.now);let s=(0,am.h)({blockReads:t.blockReads,blockWrites:t.blockWrites,orgBlockedReads:a.blockedReads,orgBlockedWrites:a.blockedWrites}),o={org:a.slug,group:t.group,primaryRegion:t.primaryRegion,plan:a.plan,blockReads:t.blockReads,blockWrites:t.blockWrites};if(r.ok){let e=r.data.byDb.get(t.id);Object.assign(o,{rowsRead:e?.rowsRead??null,rowsWritten:e?.rowsWritten??null,storageBytes:e?.storageBytes??null,orgRowsRead:r.data.org.rowsRead,orgRowsWritten:r.data.org.rowsWritten,orgStorageBytes:r.data.org.storageBytes,orgDatabases:r.data.org.databases,usageAt:ak(n.now),usageError:null})}else"column"===e5(r,!1)?o.usageError=r.error:n.errors.push(`turso/${e.r.name} usage: ${r.error}`);return tu(e,{...s,patch:o},n.now)}async function a$(e){for(let{acc:t,credential:a}of(await ti("upstash"))){tn(e);let r=a?(0,ag.L)(a):null;if(!r){e.errors.push(`upstash/${t.label}: credential can't be read`);continue}let n=await tl(t.id,"upstash_redis");if(!n.length)continue;let s=await (0,ag.M)(r,tn(e));if(!s.ok){await tf("upstash",t,n,s,e);continue}let o=new Map(s.data.map(e=>[e.id,e])),{out:i,skipped:l}=await ts(e,n,(e,t)=>o.has(e.r.externalId)?(0,ag.Z)(r,e.r.externalId,t):Promise.resolve(null)),d=[];for(let[t,a]of n.entries()){let r=o.get(a.r.externalId);if(!r){d.push(await tu(a,{state:"off",label:"Not found",patch:{}},e.now));continue}let n=(0,am.t)(r.state),s={region:r.region,status:r.state,type:r.type},l=i[t];l?.ok?Object.assign(s,{...l.data,statsAt:ak(e.now),statsError:null}):l&&"column"===e5(l,!1)?s.statsError=l.error:l&&e.errors.push(`upstash/${a.r.name} stats: ${l.error}`),d.push(await tu(a,{...n,patch:s},e.now))}await tp(d),to(l)}}async function aA(e){let t={};for(let{acc:a,credential:r}of(await ti("cloudflare"))){if(tn(e),!r)continue;let n=await aD(a.id,r,e);if(!n.length){t[a.id]={d1:"error",analytics:null,at:ak(e.now),note:"No Cloudflare account found for this token"};continue}let s="ok",o=null;for(let t of n){let n=await (0,ah.L)(r,t,tn(e));if(!n.ok){"error"==(s="scope"===n.kind||"auth"===n.kind?"missing":"error")&&e.errors.push(`d1/${a.label}: ${n.error}`);continue}await aE(a.id,t,n.data,e.now);let i=(await tl(a.id,"d1_database")).filter(e=>e.r.meta.accountId===t);if(!i.length)continue;let l=await (0,ah.t)(r,t,(0,ah.Y)(e.now),tn(e));o=l.ok?o??"ok":"scope"===l.kind?"missing":o??"error",l.ok||"scope"===l.kind||e.errors.push(`d1/${a.label} analytics: ${l.error}`);let{out:d,skipped:u}=await ts(e,i,(e,a)=>(0,ah.m)(r,t,e.r.externalId,a)),c=new Map((l.ok?l.data:[]).map(e=>[e.databaseId,e])),p=d.map(e=>e?.ok?e.data.sizeBytes??0:0),f={accountRowsRead:l.ok?l.data.reduce((e,t)=>e+t.rowsRead,0):null,accountRowsWritten:l.ok?l.data.reduce((e,t)=>e+t.rowsWritten,0):null,accountSizeBytes:d.every(e=>e?.ok)?p.reduce((e,t)=>e+t,0):null,accountDatabases:n.data.length},m=[];for(let[t,a]of i.entries()){let r=d[t];void 0!==r&&m.push(await aS(a,r,c.get(a.r.externalId)??null,l.ok,l.ok?null:l.error,f,e))}await tp(m),to(u)}t[a.id]={d1:s,analytics:o,at:ak(e.now),note:null}}await (0,a.db)().insert(g.settings).values({key:ay.f,value:t}).onConflictDoUpdate({target:g.settings.key,set:{value:t,updatedAt:e.now}})}async function aS(e,t,a,r,n,s,o){let i={accountId:e.r.meta.accountId??null,createdAt:e.r.meta.createdAt??null,accountDatabases:s.accountDatabases};return(t.ok?Object.assign(i,{sizeBytes:t.data.sizeBytes,numTables:t.data.numTables,readReplication:t.data.readReplication,detailsAt:ak(o.now),detailsError:null}):"scope"===t.kind?i.detailsError=t.error:o.errors.push(`d1/${e.r.name}: ${t.error}`),r?Object.assign(i,{rowsRead:a?.rowsRead??0,rowsWritten:a?.rowsWritten??0,readQueries:a?.readQueries??0,writeQueries:a?.writeQueries??0,accountRowsRead:s.accountRowsRead,accountRowsWritten:s.accountRowsWritten,usageDay:(0,ah.Y)(o.now),usageAt:ak(o.now),usageError:null}):i.usageError=n,null!==s.accountSizeBytes&&(i.accountSizeBytes=s.accountSizeBytes),t.ok||"transient"!==t.kind)?tu(e,{...(0,am.c)(r?s:{accountRowsRead:null,accountRowsWritten:null}),patch:i},o.now):tu(e,{state:"unknown",label:"Unknown",patch:{}},o.now)}async function aD(e,t,r){let n=new Set,s=await (0,ah.N)(t,tn(r));if(s.ok)for(let e of s.data)n.add(e.id);for(let t of(await (0,a.db)().select({meta:g.resources.meta}).from(g.resources).where((0,p.and)((0,p.eq)(g.resources.accountId,e),(0,p.eq)(g.resources.kind,"zone"),(0,p.isNull)(g.resources.goneAt))).limit(200)))"string"==typeof t.meta.accountId&&/^[0-9a-f]{32}$/i.test(t.meta.accountId)&&n.add(t.meta.accountId);return[...n].slice(0,5)}async function aE(e,t,r,n){let s=(await (0,a.db)().select({id:g.resources.id,externalId:g.resources.externalId,meta:g.resources.meta,goneAt:g.resources.goneAt}).from(g.resources).where((0,p.and)((0,p.eq)(g.resources.accountId,e),(0,p.eq)(g.resources.kind,"d1_database")))).filter(e=>e.meta.accountId===t),o=new Map(s.map(e=>[e.externalId,e])),i=new Set(r.map(e=>e.uuid));await (0,a.db)().transaction(async a=>{for(let s of r){let r={accountId:t,createdAt:s.createdAt},i=o.get(s.uuid);i?await a.update(g.resources).set({name:s.name,meta:r,lastSeenAt:n,goneAt:null,updatedAt:n}).where((0,p.eq)(g.resources.id,i.id)):await a.insert(g.resources).values({accountId:e,kind:"d1_database",externalId:s.uuid,name:s.name,meta:r,monitored:!0,lastSeenAt:n}).onConflictDoNothing({target:[g.resources.accountId,g.resources.kind,g.resources.externalId]})}let l=s.filter(e=>!i.has(e.externalId)&&!e.goneAt).map(e=>e.id);l.length&&await a.update(g.resources).set({goneAt:n,updatedAt:n}).where((0,p.inArray)(g.resources.id,l))})}async function ax(e=new Date){let n=(0,eM.randomUUID)(),s=new Date(e.getTime()+t5.d).toISOString(),o=await (0,a.db)().execute(t.sql`
14
- insert into ops.settings (key, value) values ('collector.lease', ${JSON.stringify({until:s,owner:n})}::jsonb)
15
- on conflict (key) do update set value = excluded.value, updated_at = now()
16
- where (ops.settings.value->>'until')::timestamptz < ${e.toISOString()}::timestamptz
17
- returning key`);return(0,r.f)(o).length>0?n:null}async function aj(e){await (0,a.db)().execute(t.sql`
18
- update ops.settings set value = jsonb_build_object('until', '1970-01-01T00:00:00Z'), updated_at = now()
19
- where key = 'collector.lease' and value->>'owner' = ${e}`)}var aT=e.i(991219);let aM=/^v?(\d{1,9})\.(\d{1,9})\.(\d{1,9})(?:-([0-9A-Za-z.-]{1,64}))?(?:\+[0-9A-Za-z.-]{1,64})?$/,aO=/^\d{4}-\d{2}-\d{2}$/;function az(e){let t="string"==typeof e?aM.exec(e.trim()):null;if(!t)return null;let[a,r,n]=[t[1],t[2],t[3]].map(Number);return{major:a,minor:r,patch:n,pre:t[4]??null,text:`${a}.${r}.${n}${t[4]?`-${t[4]}`:""}`}}function aC(e,t){return e.major!==t.major?e.major-t.major:e.minor!==t.minor?e.minor-t.minor:e.patch!==t.patch?e.patch-t.patch:e.pre===t.pre?0:null===e.pre?1:null===t.pre||e.pre<t.pre?-1:1}function aN(e){let t=(e&&"object"==typeof e?e:null)?.result?.releases;if(!Array.isArray(t)||0===t.length)return null;let a=[];for(let e of t){if(!e||"object"!=typeof e||"string"!=typeof e.name||"boolean"!=typeof e.isEol||null!=e.eolFrom&&("string"!=typeof e.eolFrom||!aO.test(e.eolFrom)))return null;a.push({name:e.name,isEol:e.isEol,eolFrom:e.eolFrom??null})}return a}var aR=e.i(109709);let a_="runtime.node";function aq(e=process.env){let t=(0,aR.N)(e,"NO_UPDATE_CHECK"),a=t?.value.trim()??"";return{off:""!==a&&!/^(0|false|no|off)$/i.test(a),name:t?.name??"WATCHBELL_NO_UPDATE_CHECK"}}async function aP(e,t,a,r){let n;try{n=await a(e,{method:"GET",headers:{Accept:"application/json","Accept-Encoding":"gzip"},signal:AbortSignal.timeout(r),cache:"no-store"})}catch{return{ok:!1,error:`Couldn't reach ${t}`}}if(!n.ok)return{ok:!1,error:`${t} returned an error (${n.status})`};try{return{ok:!0,body:await n.json()}}catch{return{ok:!1,error:`${t} answered in a format the console doesn't recognise`}}}async function aF(e={}){let t=e.fetch??fetch,a=e.timeoutMs??8e3,[r,n]=await Promise.all([aP("https://nodejs.org/dist/index.json","nodejs.org",t,a),aP("https://endoflife.date/api/v1/products/nodejs/","endoflife.date",t,a)]),s=r.ok?function(e){if(!Array.isArray(e)||0===e.length)return null;let t=[],a=new Map;for(let r of e){if(!r||"object"!=typeof r||"boolean"!=typeof r.security)return null;let e=az(r.version);if(!e||null!==e.pre||!String(r.version).startsWith("v"))return null;r.security&&t.push(e);let n=a.get(e.major);(!n||aC(e,n)>0)&&a.set(e.major,e)}return t.sort((e,t)=>aC(t,e)),{security:t.map(e=>e.text),latest:Object.fromEntries([...a].sort((e,t)=>t[0]-e[0]).map(([e,t])=>[String(e),t.text]))}}(r.body):null,o=n.ok?aN(n.body):null,i=e=>`${e} answered in a format the console doesn't recognise`;return{index:s,indexError:r.ok?s?null:i("nodejs.org"):r.error,cycles:o,cyclesError:n.ok?o?null:i("endoflife.date"):n.error}}let aU=e=>"string"==typeof e&&Number.isFinite(Date.parse(e))?e:null,aB=e=>"string"==typeof e?e:null;async function aG(){var e;let[t]=await (0,a.db)().select({value:g.settings.value}).from(g.settings).where((0,p.eq)(g.settings.key,a_)).limit(1);return t?(e=t.value)&&"object"==typeof e?{index:function(e){let t=e&&"object"==typeof e?e:null;if(!t||!Array.isArray(t.security)||!t.latest||"object"!=typeof t.latest)return null;let a=t.security.map(az),r=Object.entries(t.latest).map(([e,t])=>[e,az(t)]);return a.some(e=>!e)||r.some(([e,t])=>!t||String(t.major)!==e)?null:{security:a.map(e=>e.text),latest:Object.fromEntries(r.map(([e,t])=>[e,t.text]))}}(e.index),indexCheckedAt:aU(e.indexCheckedAt),indexError:aB(e.indexError),cycles:aN({result:{releases:e.cycles}}),cyclesCheckedAt:aU(e.cyclesCheckedAt),cyclesError:aB(e.cyclesError)}:null:null}async function aL(e,t,r,n=process.env){let s;if(aq(n).off)return;let o=t-Date.now();if(o<1e3)throw Error("skipped, time budget used");let i=await aF({timeoutMs:Math.min(8e3,o)}),l=await aG();i.indexError&&r.push(`node: ${i.indexError}`),i.cyclesError&&r.push(`node: ${i.cyclesError}`);let d=(s=e.toISOString(),{index:i.index??l?.index??null,indexCheckedAt:s,indexError:i.indexError,cycles:i.cycles??l?.cycles??null,cyclesCheckedAt:s,cyclesError:i.cyclesError});await (0,a.db)().insert(g.settings).values({key:a_,value:d}).onConflictDoUpdate({target:g.settings.key,set:{value:d,updatedAt:e}})}let aW=/^\d{1,4}\.\d{1,4}\.\d{1,6}$/,aH=e=>"string"==typeof e&&aW.test(e);async function aV(e={}){let t,a=e.fetch??fetch;try{t=await a("https://registry.npmjs.org/watchbell/latest",{method:"GET",headers:{Accept:"application/json","Accept-Encoding":"gzip"},signal:AbortSignal.timeout(e.timeoutMs??6e3),cache:"no-store"})}catch{return{ok:!1,error:"Couldn't reach registry.npmjs.org"}}if(!t.ok)return{ok:!1,error:`registry.npmjs.org returned an error (${t.status})`};try{let e=await t.json();return aH(e.version)?{ok:!0,version:e.version}:{ok:!1,error:"registry.npmjs.org answered without a version"}}catch{return{ok:!1,error:"registry.npmjs.org answered in a format the console doesn't recognise"}}}async function aJ(e,t,r,n=process.env,s){let o=function(e=process.env){let t=e.WATCHBELL_VERSION?.trim();return aH(t)?t:null}(n);if(!o||"selfhost"!==(0,i.mode)(n)||aq(n).off)return;let l=t-Date.now();if(l<1e3)return;let d=await aV({fetch:s,timeoutMs:Math.min(6e3,l)});if(d.ok){let t={version:d.version,checkedAt:e.toISOString()};await (0,a.db)().insert(g.settings).values({key:"watchbell.latest",value:t}).onConflictDoUpdate({target:g.settings.key,set:{value:t,updatedAt:e}})}else r.push(`update check: ${d.error}`);await (0,a.db)().insert(g.settings).values({key:"watchbell.seenVersion",value:{version:o}}).onConflictDoNothing({target:g.settings.key})}var aK=e.i(149398),aY=e.i(467404),aX=e.i(816173);e.i(247714);let aQ="collector.lastRun",aZ="vercel.backoffUntil",a0="vercel.currentMiss",a1={supabase:tw,supabaseUsage:tg,neon:ty,firebase:tk,firebaseUsage:tv,extraDbs:ab};async function a3(){let e=await (0,a.db)().select({key:g.settings.key,value:g.settings.value}).from(g.settings).where((0,p.inArray)(g.settings.key,[aQ,t6])).limit(2);return{lastRun:e.find(e=>e.key===aQ)?.value??{},afterDeploy:e.find(e=>e.key===t6)?.value??null}}async function a4(e){await (0,a.db)().insert(g.settings).values({key:aQ,value:e}).onConflictDoUpdate({target:g.settings.key,set:{value:e,updatedAt:new Date}})}let a5=e=>(0,eH.f)(e);async function a2(e,r,n,s,o=[]){let i=(await (0,a.db)().select({m:g.monitors,app:g.resources}).from(g.monitors).innerJoin(g.resources,(0,p.eq)(g.resources.id,g.monitors.resourceId)).where((0,p.and)((0,p.eq)(g.monitors.kind,"http"),(0,p.eq)(g.monitors.paused,!1),(0,p.eq)(g.monitors.ownerPaused,!1),(0,p.eq)(g.resources.monitored,!0),(0,p.isNull)(g.resources.goneAt))).orderBy(t.sql`${g.monitors.lastCheckedAt} asc nulls first`,g.monitors.id)).filter(({m:t})=>(0,t5.B)(t.lastCheckedAt,e,s));if(!i.length)return 0;let l=await (0,ta.P)(i,6,({m:e})=>{let t=(0,t5.P)(e.timeoutMs,r,Date.now());return null===t?Promise.resolve(null):(0,ta.b)(e.url,{expectedStatus:e.expectedStatus,timeoutMs:t,body:(0,aK.C)(e)})}),d=i.flatMap((e,t)=>l[t]?[{...e,r:l[t]}]:[]);if(d.length<i.length&&n.push(`checks: ${i.length-d.length} monitors skipped, time budget used`),!d.length)return 0;let u=[];for(let t of d)await (0,aY.j)(t.m,t.r,e)&&u.push(t);return u.length?(await (0,a.db)().insert(g.checks).values(u.map(({m:t,app:a,r})=>({monitorId:t.id,at:e,ok:r.ok,statusCode:r.statusCode,latencyMs:r.latencyMs,error:r.error,inMaintenance:null!==(0,ac.x)(o,{monitorId:t.id,appId:a.id},e)}))),await a5(u.map(({m:t,app:a,r})=>(0,aX.F)({resourceId:a.id,path:(0,af.K)(t.url),prev:t.state,next:(0,aX.G)(t.failStreak,r).state,code:r.statusCode,error:r.error,at:e}))),u.length):0}let a6=["checks","heartbeats"];async function a8(e,t,a=tU.f){if(!a6.some(t=>e.includes(t)))return[];try{return await a()}catch(e){return t.push(`maintenance: ${(0,tT.safeError)(e)}`),[]}}async function a9(e){let[t]=await (0,a.db)().select().from(g.settings).where((0,p.eq)(g.settings.key,aZ)).limit(1),r=t?.value?.until;return!!r&&e.getTime()<new Date(r).getTime()}async function a7(e,t){if("transient"!==e.kind||!e.retryAfterS)return!1;let r={until:new Date(t.getTime()+1e3*Math.min(e.retryAfterS,3600)).toISOString()};return await (0,a.db)().insert(g.settings).values({key:aZ,value:r}).onConflictDoUpdate({target:g.settings.key,set:{value:r,updatedAt:t}}),!0}let re=e=>t.sql`coalesce(${g.deployments.externalId} = ${e}::text, false)`;async function rt(e,r,n,s,o=ad){let i=[];try{for(let o of e){let e=r.filter(e=>e.resourceId===o.id),{currentId:l,previousId:d}=(0,af.a)(e.map(e=>({id:e.id,createdAt:e.createdAt??new Date(0)})),(o.externalId?n.get(o.externalId):null)??null),u=await (0,a.db)().update(g.deployments).set({isCurrent:re(l),isPreviousProduction:re(d),updatedAt:s.now}).where((0,p.and)((0,p.eq)(g.deployments.resourceId,o.id),(0,p.or)(t.sql`${g.deployments.isCurrent} is distinct from ${re(l)}`,t.sql`${g.deployments.isPreviousProduction} is distinct from ${re(d)}`))).returning({id:g.deployments.externalId}),c=function(e){var t,a;let r=e.currentId;return r&&e.state.checked[e.appId]!==r&&e.state.pending[e.appId]?.id!==r&&(t=e.changedIds,((a=r)&&t.includes(a)?a:null)||e.createdAt&&e.now.getTime()-e.createdAt.getTime()<=216e5)?r:null}({appId:o.id,currentId:l,changedIds:u.map(e=>e.id),createdAt:e.find(e=>e.id===l)?.createdAt??null,state:s.afterDeploy,now:s.now});c&&i.push({appId:o.id,deploymentId:c})}}finally{if(i.length)try{await o(i,s.now)}catch(e){s.errors.push(`vercel/${s.label}: after-deploy security check not scheduled: ${(0,tT.safeError)(e)}`)}}}let ra=e=>new Map(e.map(e=>[e.id,{...e.branchFrom?{branchFrom:e.branchFrom}:{},...e.gitDirty?{gitDirty:!0}:{}}]));async function rr(e,t,a,r,n=new Map,s=tW){try{await s(e,t,n)}catch(e){a.push(`vercel/${r}: production source not saved: ${(0,tT.safeError)(e)}`)}}async function rn(e,t,r,n){if(await a9(e))return;let s=(0,L.serverEnv)().OPS_ENCRYPTION_KEY;for(let o of(await (0,a.db)().select().from(g.accounts).where((0,p.and)((0,p.eq)(g.accounts.provider,"vercel"),(0,p.eq)(g.accounts.status,"ok"))))){let i=(0,B.V)({ciphertext:o.credentialCiphertext,iv:o.credentialIv},s);if((0,e0.A)(i)||!i){r.push(`vercel/${o.label}: credential can't be read`);continue}let l=await (0,a.db)().select().from(g.resources).where((0,p.and)((0,p.eq)(g.resources.accountId,o.id),(0,p.eq)(g.resources.kind,"app"),(0,p.eq)(g.resources.monitored,!0),(0,p.isNull)(g.resources.goneAt)));if(!l.length)continue;let d=new Map(l.map(e=>[e.externalId,e])),u=await (0,ap.X)(i);if(!u.ok){let t=(0,e0.E)({ok:!1,kind:u.kind,error:u.error});if(t&&await (0,a.db)().update(g.accounts).set({...t,updatedAt:e}).where((0,p.eq)(g.accounts.id,o.id)),r.push(`vercel/${o.label}: ${u.error}`),await a7(u,e))return;continue}let c=new Set(l.map(e=>String(e.meta.teamId)));for(let s of u.data.filter(e=>c.has(e.id))){if(Date.now()>t)return void r.push("vercel: skipped remaining teams, time budget used");let[o,u]=await Promise.all([(0,ap.W)(i,s),(0,ap.K)(i,s,{since:e.getTime()-6048e5,limit:100})]);if(!o.ok||!u.ok){let t=o.ok?u:o;if(r.push(`vercel/${s.name}: ${t.error}`),await a7(t,e))return;continue}let c=new Map(o.data.map(e=>[e.id,e.currentDeploymentId])),f=u.data.filter(e=>d.has(e.projectId)),m=ra(f),h=new Map((f.length?await (0,a.db)().select({externalId:g.deployments.externalId,state:g.deployments.state,target:g.deployments.target,branch:g.deployments.branch,commitSha:g.deployments.commitSha,commitMessage:g.deployments.commitMessage,source:g.deployments.source,url:g.deployments.url,buildingAt:g.deployments.buildingAt,readyAt:g.deployments.readyAt}).from(g.deployments).where((0,p.inArray)(g.deployments.externalId,f.map(e=>e.id))):[]).map(e=>[e.externalId,e])),w=[];for(let t of f){let r=d.get(t.projectId),n=h.get(t.id),s={state:t.state,target:t.target,branch:t.branch,commitSha:t.sha,commitMessage:t.message,source:t.source,url:t.url,buildingAt:t.buildingAt,readyAt:t.readyAt};if((0,af.E)(n,s)){let n={resourceId:r.id,externalId:t.id,...s,createdAtProvider:t.createdAt,updatedAt:e};await (0,a.db)().insert(g.deployments).values(n).onConflictDoUpdate({target:g.deployments.externalId,set:n})}w.push((0,aX.L)(n?.state,t,r.id,e))}await a5(w);let y=l.filter(e=>String(e.meta.teamId)===s.id),b=await (0,a.db)().select({resourceId:g.deployments.resourceId,id:g.deployments.externalId,createdAt:g.deployments.createdAtProvider}).from(g.deployments).where((0,p.and)((0,p.inArray)(g.deployments.resourceId,y.map(e=>e.id)),(0,p.eq)(g.deployments.target,"production"),(0,p.eq)(g.deployments.state,"ready"))),[k]=await (0,a.db)().select().from(g.settings).where((0,p.eq)(g.settings.key,a0)).limit(1),v=[],I=()=>v.length?(0,a.db)().insert(g.settings).values({key:a0,value:(0,af.Y)(k?.value,v,e)}).onConflictDoUpdate({target:g.settings.key,set:{value:(0,af.Y)(k?.value,v,e),updatedAt:e}}):Promise.resolve();for(let n of(0,af.Q)(y,c,b,(0,af.S)(k?.value,e))){if(Date.now()>t)break;let o=await (0,ap.S)(i,s,n.deploymentId);if(!o.ok){if(r.push(`vercel/${s.name}: current deployment: ${o.error}`),await a7(o,e))return void await I();v.push(n.deploymentId);continue}let l=o.data;for(let[e,t]of ra([l]))m.set(e,t);let d={resourceId:n.appId,externalId:l.id,state:l.state,target:l.target,branch:l.branch,commitSha:l.sha,commitMessage:l.message,source:l.source,url:l.url,buildingAt:l.buildingAt,readyAt:l.readyAt,createdAtProvider:l.createdAt,updatedAt:e};await (0,a.db)().insert(g.deployments).values(d).onConflictDoUpdate({target:g.deployments.externalId,set:d}),"ready"===l.state&&"production"===l.target?b.push({resourceId:n.appId,id:l.id,createdAt:l.createdAt}):v.push(n.deploymentId)}await I(),await rt(y,b,c,{now:e,afterDeploy:n,errors:r,label:s.name}),await rr(y,e,r,s.name,m)}}}async function rs(e){let r=await (0,a.db)().select().from(g.resources).where((0,p.and)((0,p.eq)(g.resources.kind,"app"),(0,p.eq)(g.resources.monitored,!0),(0,p.isNull)(g.resources.goneAt)));if(!r.length)return;let n=await (0,a.db)().select().from(g.monitors).where((0,p.and)((0,p.inArray)(g.monitors.resourceId,r.map(e=>e.id)),(0,p.eq)(g.monitors.paused,!1),(0,p.eq)(g.monitors.ownerPaused,!1))),s=new Set((await (0,a.db)().select({r:g.deployments.resourceId}).from(g.deployments).where((0,p.and)((0,p.inArray)(g.deployments.resourceId,r.map(e=>e.id)),(0,p.eq)(g.deployments.target,"production"),(0,p.eq)(g.deployments.state,"building"),(0,p.gte)(g.deployments.createdAtProvider,new Date(e.getTime()-36e5))))).map(e=>e.r)),o=await th(r.map(e=>e.id)),i=new Map((await (0,a.db)().select().from(g.snapshots).where((0,p.inArray)(g.snapshots.resourceId,r.map(e=>e.id)))).map(e=>[e.resourceId,e])),l=new Map(r.map(e=>[e.id,e])),d=(0,tP.P)(n.map(e=>({id:e.id,kind:e.kind,url:e.url,appId:e.resourceId,appName:l.get(e.resourceId)?.name??"",appMeta:l.get(e.resourceId)?.meta,lastError:e.lastError})),r),u=e=>d.has(e.id)&&"err"===e.state?"warn":e.state;for(let[e,s]of(0,tP.R)(n.map(e=>({id:e.id,kind:e.kind,url:e.url,appId:e.resourceId,appName:l.get(e.resourceId)?.name??"",appMeta:l.get(e.resourceId)?.meta,lastError:e.lastError})),r))await (0,a.db)().update(g.resources).set({meta:t.sql`${g.resources.meta} || ${JSON.stringify({pastDomains:s})}::jsonb`}).where((0,p.eq)(g.resources.id,e));for(let l of r){let r=n.filter(e=>e.resourceId===l.id),d=(0,aX.V)({monitors:r.map(u),building:s.has(l.id),dbPaused:o.has(l.id)}),c=r.find(e=>"err"===e.state)??r.find(e=>"warn"===e.state),p={code:c?.lastStatus??null,latencyMs:r.find(e=>"heartbeat"!==e.kind)?.lastLatencyMs??null,dbPaused:o.has(l.id)},f=i.get(l.id);await (0,a.db)().insert(g.snapshots).values({resourceId:l.id,state:d,data:p,collectedAt:e,stateSince:e}).onConflictDoUpdate({target:g.snapshots.resourceId,set:{state:d,data:t.sql`${g.snapshots.data} || ${JSON.stringify(p)}::jsonb`,collectedAt:e,...f?.state!==d?{stateSince:e}:{}}})}}async function ro(e,t={}){let a={writeLastRun:a4,refreshApps:rs,refreshNetwork:aT.x,invalidate:h,...t};try{await a.writeLastRun({...e.lastRun,...Object.fromEntries(e.done.map(t=>[t,e.started.toISOString()]))});try{await a.refreshApps(new Date)}catch(t){e.errors.push(`app-snapshots: ${(0,tT.safeError)(t)}`)}if(e.done.some(e=>aT.p.includes(e)))try{await a.refreshNetwork(new Date)}catch(t){e.errors.push(`network-states: ${(0,tT.safeError)(t)}`)}}finally{a.invalidate((0,w.o)(e.tried??e.done))}}async function ri(e,t,a,r={evaluate:tF.$,deliver:tG.q,digest:tG.J}){let n=[];if(e.includes("alerts"))if(Date.now()>t)a.push("alerts: skipped, time budget used");else{let e=!0;try{await r.evaluate(new Date),console.info("collector alerts evaluated")}catch(t){e=!1,a.push(`alerts: ${(0,tT.safeError)(t)}`)}try{await r.deliver(new Date,t),console.info("collector notifications delivered")}catch(t){e=!1,a.push(`notify: ${(0,tT.safeError)(t)}`)}e&&n.push("alerts")}if(e.includes("digest")&&(0,t5.z)("digest",t,Date.now()))try{await r.digest(new Date),console.info("collector digest done"),n.push("digest")}catch(e){a.push(`digest: ${(0,tT.safeError)(e)}`)}return n}async function rl(e,t,a,r){let n=[],s=[];for(let o of e){if(Date.now()>t){a.push(`${o}: skipped, time budget used`);continue}if((0,t5.z)(o,t,Date.now())){s.push(o);try{await r(o),n.push(o)}catch(e){a.push(`${o}: ${(0,tT.safeError)(e)}`)}}}return{done:n,tried:s}}async function rd(e){let t,r=new Date,n=await ax(r);if(!n)return{skipped:!0,ok:!0,tasks:[],checks:0,durationMs:0,errors:[]};try{[t]=await (0,a.db)().insert(g.collectorRuns).values({startedAt:r,trigger:"builtin"===e?"manual":e}).returning({id:g.collectorRuns.id})}catch(e){throw await aj(n).catch(()=>void 0),e}let s=[],o=[],i=0,d=r.getTime()+t5.p,u=process.cpuUsage(),c=()=>{let e=process.cpuUsage(u);return Math.round((e.user+e.system)/1e3)},f=e=>console.info(`collector ${e} +${Date.now()-r.getTime()}ms cpu ${c()}ms`);try{var m;f("start");let{lastRun:t,afterDeploy:a}=await a3(),n="cron_job_org"!==e&&"builtin"!==e,u=await (0,l.I)(),{due:c,early:p}=(0,t5._)((0,t5.S)(t,r,n,u),(m=t7(a),Object.keys(m.pending).length>0),u),h=!1,w=e=>p||!h?e.filter(e=>"security"!==e):e,g=c.filter(e=>t5.u.includes(e)),y=g.includes("alerts")?d-t5.X:d,b=await a8(c,s);f(`due ${c.join(",")}`);let{done:k,tried:v}=await rl(c.filter(e=>!t5.u.includes(e)),y,s,async e=>{if(f(`task ${e}`),"heartbeats"===e){let e=new Date;i+=await (0,eV.r)(e,(t,a)=>null!==(0,ac.x)(b,{monitorId:t,appId:a},e),n)}"checks"===e&&(i+=await a2(new Date,y,s,n,b)),"vercel"===e&&await rn(new Date,y,s,t7(a));let t=a1[e];t&&await t({now:new Date,deadline:y,errors:s,protectOnly:(0,t5.$)(e,u)}),"cloudflare"===e&&await (0,aT.h)(new Date,y,s),"domains"===e&&await (0,aT.H)(new Date,y,s),"tls"===e&&await (0,aT.V)(new Date,y,s),"rdap"===e&&await (0,aT.W)(new Date,y,s),"eol"===e&&await (0,aT.i)(new Date,y,s),"node"===e&&(await aL(new Date,y,s),await aJ(new Date,y,s)),"status"===e&&await (0,au.i)(new Date),"logs"===e&&await (0,tB._)(new Date,y,s),"pageviews"===e&&await t4(new Date,y,s),"security"===e&&(h=(await al({now:r,deadline:y,errors:s,paused:u,early:p})).complete)});o.push(...k),f("main done"),await ro({lastRun:t,done:w(o),tried:v,started:r,errors:s}),f("settled");let I=await ri(g,d,s);f("post done"),I.length&&await a4({...t,...Object.fromEntries(w([...o,...I]).map(e=>[e,r.toISOString()]))}),o.push(...I)}catch(e){s.push(`run: ${(0,tT.safeError)(e)}`)}finally{let e=Date.now()-r.getTime();await (0,a.db)().update(g.collectorRuns).set({finishedAt:new Date,ok:0===s.length,errorSummary:s.join("\n").slice(0,2e3)||null,durationMs:e,tasks:o,checks:i}).where((0,p.eq)(g.collectorRuns.id,t.id)).catch(()=>void 0),await aj(n).catch(()=>void 0),process.env.VERCEL&&await tq(c())}return{skipped:!1,ok:0===s.length,tasks:o,checks:i,durationMs:Date.now()-r.getTime(),errors:s}}var ru=e.i(486118);async function rc(e){let t=[...u,...ru.extensions.minuteSteps??[]];if(!t.length)return;let a=new Date,r={deadline:e+6e4-5e3};for(let e of t)try{await e.run(a,r)}catch{console.warn(`minute step ${e.name} failed`)}}async function rp(e,t=Date.now()){let a=await rd(e);return await rc(t),a}async function rf(){return tR(await tC(),ru.extensions.dailySteps??[])}e.s(["runDailyAll",0,rf,"runMinute",0,rp],380167)}];
20
-
21
- //# sourceMappingURL=src_lib_collector_runners_ts_12z4gtgikss74._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[513701,e=>{"use strict";var t=e.i(93321),r=e.i(258261),o=e.i(351674),n=e.i(548734),s=e.i(837137),i=e.i(245710),c=e.i(968715),u=e.i(910697);let a=(e,t)=>"string"==typeof t?o.B`to_char(${e} at time zone ${t}, 'YYYY-MM-DD')`:o.B`to_char((${e} at time zone 'UTC') + ${o.B.raw(`interval '${Math.trunc(t.offsetMinutes)} minutes'`)}, 'YYYY-MM-DD')`,l=o.B.raw("2"),m=(e,t)=>o.B`(extract(epoch from date_bin(${o.B.raw(`'${e}'`)}::interval, ${t}, timestamptz '2000-01-01 00:00:00+00')) * 1000)::float8`,h=o.B`percentile_cont(0.95) within group (order by ${s.checks.latencyMs})`,d=o.B`percentile_cont(0.5) within group (order by ${s.checks.latencyMs})`,p=o.B`(count(*) filter (where not ${s.checks.ok}))::int`,f=(0,t.u)(s.checks.inMaintenance,!1),y=o.B`(count(*) filter (where ${s.checks.statusCode} >= 500))::int`,k=o.B`count(*)::int`;async function w(){let[e]=await (0,n.f)().select({h:(0,r.y)(s.rollupsHourly.hour)}).from(s.rollupsHourly);return e?.h?new Date(e.h.getTime()+36e5):null}async function B(e,t,r=(0,i.C)()){if(!e.length)return new Map;try{return await I(e,t,r)}catch(n){if(!function(e){let t=e;for(let e=0;e<4&&t&&"object"==typeof t;e++,t=t.cause){let{code:e,message:r}=t;if("22023"===e&&"string"==typeof r&&/time zone .* not recognized/i.test(r))return!0}return!1}(n))throw n;let o=globalThis;return o.__watchbellPgZoneWarned||(o.__watchbellPgZoneWarned=!0,console.warn(`Watchbell: the database doesn't know the time zone ${r}; uptime days use its current UTC offset instead.`)),I(e,t,{offsetMinutes:(0,i.c)(t)})}}async function I(e,r,m){let h=(0,i.y)((0,c.W)(r,c.F)[0]),d=await w(),p=new Date(Math.max(h.getTime(),d?.getTime()??0,r.getTime()-u.A.rawChecksMs)),f=a(s.rollupsHourly.hour,m),y=a(s.checks.at,m),[k,B]=await Promise.all([d?(0,n.f)().select({monitorId:s.rollupsHourly.monitorId,day:f,checks:o.B`sum(${s.rollupsHourly.checks})::int`,failures:o.B`sum(${s.rollupsHourly.failures})::int`,maint:o.B`sum(${s.rollupsHourly.maintenance})::int`}).from(s.rollupsHourly).where((0,t.b)((0,t.y)(s.rollupsHourly.monitorId,e),(0,t.B)(s.rollupsHourly.hour,h),(0,t.S)(s.rollupsHourly.hour,d))).groupBy(s.rollupsHourly.monitorId,l):Promise.resolve([]),(0,n.f)().select({monitorId:s.checks.monitorId,day:y,checks:o.B`(count(*) filter (where not ${s.checks.inMaintenance}))::int`,failures:o.B`(count(*) filter (where not ${s.checks.ok} and not ${s.checks.inMaintenance}))::int`,maint:o.B`(count(*) filter (where ${s.checks.inMaintenance}))::int`}).from(s.checks).where((0,t.b)((0,t.y)(s.checks.monitorId,e),(0,t.B)(s.checks.at,p))).groupBy(s.checks.monitorId,l)]);return(0,c.C)([...k,...B])}async function g(e,r){if(!e.length)return new Map;let o=u.A.responseHours,i=(0,c.D)(r,36e5,o),a=m("1 hour",s.checks.at),l=(0,t.b)((0,t.y)(s.monitors.resourceId,e),(0,t.B)(s.checks.at,new Date(i)),f),[p,y]=await Promise.all([(0,n.f)().select({appId:s.monitors.resourceId,t:a,v:h}).from(s.checks).innerJoin(s.monitors,(0,t.u)(s.monitors.id,s.checks.monitorId)).where(l).groupBy(s.monitors.resourceId,a),(0,n.f)().select({appId:s.monitors.resourceId,v:h,m:d}).from(s.checks).innerJoin(s.monitors,(0,t.u)(s.monitors.id,s.checks.monitorId)).where(l).groupBy(s.monitors.resourceId)]);return new Map(e.map(e=>[e,{hourly:(0,c.f)(p.filter(t=>t.appId===e),i,36e5,o),p95:y.find(t=>t.appId===e)?.v??null,p50:y.find(t=>t.appId===e)?.m??null}]))}async function M(e,r){let o=u.A.metricBuckets,i=(0,c.D)(r,18e5,o),a=m("30 minutes",s.checks.at),l=await (0,n.f)().select({t:a,p95:h,p50:d,s5xx:y}).from(s.checks).innerJoin(s.monitors,(0,t.u)(s.monitors.id,s.checks.monitorId)).where((0,t.b)((0,t.u)(s.monitors.resourceId,e),(0,t.B)(s.checks.at,new Date(i)),f)).groupBy(a);return{response:(0,c.f)(l.map(e=>({t:e.t,v:e.p95})),i,18e5,o),median:(0,c.f)(l.map(e=>({t:e.t,v:e.p50})),i,18e5,o),errors:(0,c.f)(l.map(e=>({t:e.t,v:e.s5xx})),i,18e5,o,0),first:i,sizeMs:18e5}}async function $(e,r){return(0,n.f)().select({at:s.deployments.createdAtProvider,sha:s.deployments.commitSha,state:s.deployments.state}).from(s.deployments).where((0,t.b)((0,t.u)(s.deployments.resourceId,e),(0,t.u)(s.deployments.target,"production"),(0,t.B)(s.deployments.createdAtProvider,r))).orderBy(s.deployments.createdAtProvider).limit(200)}async function v(e){let r=u.A.healthBuckets,o=(0,c.D)(e,288e4,r),i=new Date(o),a=(0,t.b)((0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt)),l=m("48 minutes",s.checks.at),d=m("48 minutes",s.deployments.createdAtProvider),[w,[B],I]=await Promise.all([(0,n.f)().select({t:l,checks:k,failures:p,s5xx:y,p95:h}).from(s.checks).innerJoin(s.monitors,(0,t.u)(s.monitors.id,s.checks.monitorId)).innerJoin(s.resources,(0,t.u)(s.resources.id,s.monitors.resourceId)).where((0,t.b)(a,(0,t.B)(s.checks.at,i),f)).groupBy(l),(0,n.f)().select({checks:k,failures:p,s5xx:y,p95:h}).from(s.checks).innerJoin(s.monitors,(0,t.u)(s.monitors.id,s.checks.monitorId)).innerJoin(s.resources,(0,t.u)(s.resources.id,s.monitors.resourceId)).where((0,t.b)(a,(0,t.B)(s.checks.at,i),f)),(0,n.f)().select({t:d,n:k}).from(s.deployments).innerJoin(s.resources,(0,t.u)(s.resources.id,s.deployments.resourceId)).where((0,t.b)(a,(0,t.B)(s.deployments.createdAtProvider,i))).groupBy(d)]),g=(e,t)=>e?(e-t)/e*100:null;return{uptime:B?g(B.checks,B.failures):null,p95:B?.p95??null,s5xx:B?.s5xx??0,deploys:I.reduce((e,t)=>e+t.n,0),series:{uptime:(0,c.f)(w.map(e=>({t:e.t,v:g(e.checks,e.failures)})),o,288e4,r),p95:(0,c.f)(w.map(e=>({t:e.t,v:e.p95})),o,288e4,r),s5xx:(0,c.f)(w.map(e=>({t:e.t,v:e.s5xx})),o,288e4,r,0),deploys:(0,c.f)(I.map(e=>({t:e.t,v:e.n})),o,288e4,r,0)}}}e.s(["P",0,M,"Q",0,g,"j",0,v,"_",0,B,"M",0,$])}];
2
-
3
- //# sourceMappingURL=src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[7985,e=>{var t=e.i(666680),r=e.i(187481);let n="wp_demo",o=/^[0-9a-f]{32}$/,i=/^[A-Za-z0-9_-]+$/;e.s(["DEMO_COOKIE",0,n,"clearDemoCookie",0,function(e,t){e.set(n,"",{...function(e=process.env.SITE_URL){return{...(0,r.X)(e),maxAge:604800}}(t),maxAge:0})},"demoCookieKey",0,function(e){return(0,t.createHmac)("sha256",Buffer.from(e,"base64")).update("watchpost:demo-cookie:v1").digest()},"verifyDemoCookie",0,function(e,r,n=Date.now()){let a;if(!e||e.length>1024)return null;let s=e.split(".");if(2!==s.length||!i.test(s[0])||!i.test(s[1]))return null;let[u,l]=s,f=Buffer.from(l,"base64url"),c=(0,t.createHmac)("sha256",r).update(u).digest();if(f.length!==c.length||!(0,t.timingSafeEqual)(f,c))return null;try{a=JSON.parse(Buffer.from(u,"base64url").toString("utf8"))}catch{return null}let{email:m,seed:g,iat:h}=a??{};if("string"!=typeof m||!m||m.length>254||m!==m.toLowerCase()||"string"!=typeof g||!o.test(g)||"number"!=typeof h||!Number.isInteger(h))return null;let y=Math.floor(n/1e3);return h>y+300||y-h>604800?null:{email:m,seed:g}}])},271622,e=>{let t;var r=e.i(37294);e.i(989112);var n=e.i(66389),o=e.i(910931),i=e.i(93387),a=e.i(7985),s=e.i(484817);let u=()=>(0,a.demoCookieKey)((0,i.serverEnv)().OPS_ENCRYPTION_KEY),l=(0,o.cache)(async()=>t?t():(0,a.verifyDemoCookie)((await (0,r.cookies)()).get(a.DEMO_COOKIE)?.value,u()));async function f(){let e=await l();if(!e)throw Error("Not signed in to the demo");return e}async function c(){return(await f()).seed}async function m(){return(await f()).email}async function g(){try{return(0,s.g)(await (0,r.headers)())}catch(e){return(0,n.unstable_rethrow)(e),s.p}}e.s(["R",0,g,"_",0,m,"U",0,c,"V",0,f,"H",0,l,"T",0,u,"O",0,function(e){if(!process.env.VITEST)throw Error("setDemoVisitorResolverForTests is for tests only");t=e}])}]})();
2
-
3
- //# sourceMappingURL=src_lib_demo_11p30f_ci6ie2._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[[452587,a=>{var b=a.i(903769),c=a.i(803767);a.S([b,"008b6dbed199d0deb40e431c4e4f3d7746a8c4835f,f",0,c,"002363cc93971e2d918df13c67696a807b1a926ef3,N,605f270483dc8d7b3b11dbd8c2a95ebaf2b6aaebad,p"],452587)},713095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},903769,a=>{var b=a.i(137936);a.i(570396);var c=a.i(673727),d=a.i(366443);async function e(){await (0,d.f)().signOut(),(0,c.redirect)("/signin")}(0,a.i(713095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"008b6dbed199d0deb40e431c4e4f3d7746a8c4835f",null),a.s(["f",0,e])}],224361,(a,b,c)=>{b.exports=a.x("util",()=>require("util"))},406461,(a,b,c)=>{b.exports=a.x("zlib",()=>require("zlib"))},461750,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0gyvfp6c-_edw._.js","server/chunks/ssr/src_db_pglite_ts_0r1r9wqxilnam._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(614755)))},73710,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_cookie_ts_0a12-0n1novgh._.js"].map(b=>a.l(b))).then(()=>b(716983)))},871289,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0z5ucbis8ik32._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(204048)))},522169,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_seed_members_ts_0pz2fa9295pvm._.js"].map(b=>a.l(b))).then(()=>b(615089)))},372153,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_session_ts_0rwvb3aun41zx._.js","server/chunks/ssr/src_lib_demo_0mr090huk17s8._.js"].map(b=>a.l(b))).then(()=>b(765161)))}];
3
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__03xevz8n-mc20._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[[263251,a=>{a.s(["f",0,function(a){if(Array.isArray(a))return a;let b=a?.rows;return Array.isArray(b)?b:[]}])},655206,a=>{a.s(["f",0,{checks:7,rollupsHourly:90,deployments:30,events:90,alerts:90,collectorRuns:14,storedLogs:7,recommendationDismissals:90}])},460565,a=>{a.s(["B",0,3e5,"X",0,function(a){return"number"==typeof a&&Number.isFinite(a)&&a>0?6e4*a:3e5}])},656298,a=>{function b(a){return"RESOURCE_EXHAUSTED"===a.reason?{state:"err",label:"Daily quota used up"}:"SERVICE_DISABLED"===a.reason?{state:"err",label:"Firestore API is off in this project"}:"scope"===a.kind||"PERMISSION_DENIED"===a.reason||"scope"===a.reason?{state:"err",label:"No access: needs datastore.viewer"}:{state:"unknown",label:"Unknown"}}a.s(["T",0,{reads:5e4,writes:2e4,deletes:2e4},"_",0,"The stored data size (1 GiB free) isn't read on any plan: the row's Open usage page shows it in the Firebase console.","f",0,"Storage (1 GiB): not read; the Firebase console's usage page shows it.","z",0,b,"g",0,function(a){return a.ok?a.data.noDatabase?{state:"off",label:"No Firestore database"}:{state:"ok",label:`Reachable \xb7 ${a.data.latencyMs} ms`}:b(a)},"a",0,function(a){let b=new Intl.DateTimeFormat("en-US",{timeZone:"America/Los_Angeles",hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23"}).formatToParts(a),c=a=>Number(b.find(b=>b.type===a)?.value??0),d=(3600*c("hour")+60*c("minute")+c("second"))*1e3+a.getUTCMilliseconds();return new Date(a.getTime()-d)}])},688275,a=>{let b={cuHours:100,storageBytes:0x40000000,transferBytes:0x140000000,branches:10,scaleToZeroMin:5};function c(a){return a.disabled?{state:"err",label:"Suspended"}:"init"===a.state||a.pendingState&&a.pendingState!==a.state?{state:"build",label:"Starting"}:"active"===a.state?{state:"ok",label:"Active"}:"idle"===a.state?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}a.s(["a",0,b,"c",0,(a,b)=>a===b?`${a} CU`:`${a}–${b} CU`,"g",0,a=>Math.round(a/360)/10,"T",0,c,"p",0,function(a){if((a.computeSeconds??0)>=3600*b.cuHours)return{state:"err",label:"CU-hours used up"};if(!a.endpoints.length)return{state:"unknown",label:"No compute"};let d=a.endpoints.map(c);return d.some(a=>"err"===a.state)?{state:"err",label:"Compute suspended"}:d.some(a=>"ok"===a.state)?{state:"ok",label:"Active"}:d.some(a=>"build"===a.state)?{state:"build",label:"Starting"}:d.every(a=>"idle"===a.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}])},84877,a=>{function b(a){let[b,...c]=a.trim().split("-"),d=b.split(".").map(a=>Number.parseInt(a,10)||0);return{nums:[d[0]??0,d[1]??0,d[2]??0],pre:c.length?c.join("-").split("."):[]}}a.s(["f",0,function(a,c){let d=b(a),e=b(c);for(let a=0;a<3;a++)if(d.nums[a]!==e.nums[a])return d.nums[a]-e.nums[a];return function(a,b){if(!a.length||!b.length)return a.length?-1:+!!b.length;for(let c=0;c<Math.max(a.length,b.length);c++){if(void 0===a[c])return -1;if(void 0===b[c])return 1;let d=/^\d+$/.test(a[c])?Number(a[c]):null,e=/^\d+$/.test(b[c])?Number(b[c]):null;if(null!==d&&null!==e){if(d!==e)return d-e}else if(null!==d||null!==e)return null!==d?-1:1;else if(a[c]!==b[c])return a[c]<b[c]?-1:1}return 0}(d.pre,e.pre)}])}],874533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},300794,(a,b,c)=>{b.exports=a.x("node:dns/promises",()=>require("node:dns/promises"))},912714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},761095,(a,b,c)=>{b.exports=a.x("node:net",()=>require("node:net"))},685560,(a,b,c)=>{b.exports=a.x("node:tls",()=>require("node:tls"))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0de1senl_kfo5._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[[751409,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReflectAdapter",{enumerable:!0,get:function(){return d}});class d{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},4712,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0});var d={ActionDidNotRevalidate:function(){return f},ActionDidRevalidateDynamicOnly:function(){return h},ActionDidRevalidateStaticAndDynamic:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=0,g=1,h=2},159203,a=>{let b=a=>void 0!==a&&""!==a.trim();function c(a,c){let d=`WATCHBELL_${c}`,e=`WATCHPOST_${c}`,f=a[d];if(b(f))return{name:d,value:f};let g=a[e];return b(g)?{name:e,value:g}:void 0!==f?{name:d,value:f}:void 0!==g?{name:e,value:g}:void 0}a.s(["d",0,function(a,b){return c(a,b)?.value},"N",0,c])},32950,a=>{let b="wp_session";function c(a=process.env.SITE_URL){return{httpOnly:!0,sameSite:"lax",secure:function(a){try{return"https:"===new URL(a??"").protocol}catch{return!1}}(a),path:"/",maxAge:2592e3}}a.s(["J",0,b,"N",0,function(a,d){a.set(b,"",{...c(d),maxAge:0})},"X",0,c,"V",0,function(a,d,e){a.set(b,d,c(e))}])}],254799,(a,b,c)=>{b.exports=a.x("crypto",()=>require("crypto"))},522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},504446,(a,b,c)=>{b.exports=a.x("net",()=>require("net"))},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},324725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},559043,(a,b,c)=>{b.exports=a.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},446786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},60438,(a,b,c)=>{b.exports=a.x("perf_hooks",()=>require("perf_hooks"))},688947,(a,b,c)=>{b.exports=a.x("stream",()=>require("stream"))},755004,(a,b,c)=>{b.exports=a.x("tls",()=>require("tls"))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0y6psx1_d7fkt._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))},260815,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_fs_promises_03norioyty3bq._.js"].map(b=>a.l(b))).then(()=>b(924868)))},12147,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_module_1ddxq771bq236._.js"].map(b=>a.l(b))).then(()=>b(362562)))},902157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},722369,a=>{a.v(a=>Promise.resolve().then(()=>a(688947)))},866997,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_stream_promises_0i0hwr0w3t6vs._.js"].map(b=>a.l(b))).then(()=>b(28065)))},534777,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_util_1jlmhhygpp07l._.js"].map(b=>a.l(b))).then(()=>b(224361)))},534107,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_zlib_0o2m2z71hzc7c._.js"].map(b=>a.l(b))).then(()=>b(406461)))},440408,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0no6c0whevi73._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(265181)))},340060,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__1q1drb4oske-9._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_fs_opfs-ahp_1joe_5q8jm7k7.js"].map(b=>a.l(b))).then(()=>b(683494)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__19twn3g5nv5q1._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[254799,(a,b,c)=>{b.exports=a.x("crypto",()=>require("crypto"))},270406,(a,b,c)=>{b.exports=a.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},324725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},559043,(a,b,c)=>{b.exports=a.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},874533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},300794,(a,b,c)=>{b.exports=a.x("node:dns/promises",()=>require("node:dns/promises"))},912714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},761095,(a,b,c)=>{b.exports=a.x("node:net",()=>require("node:net"))},81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))},685560,(a,b,c)=>{b.exports=a.x("node:tls",()=>require("node:tls"))},609007,a=>{"use strict";let b=[[/(?:\b|(?<=%2F))hb(?:_|%5F)[0-9a-f]{32}\b/gi,"hb_[hidden]"],[/(\/api(?:\/|%2F)ping(?:\/|%2F))(?!hb_\[hidden\])[^/?#\s]+/gi,"$1[hidden]"],[/\b(postgres(?:ql)?|mysql|mongodb(?:\+srv)?|redis|rediss):\/\/\S+/gi,"$1://[hidden]"],[/\b(https?):\/\/[^\s/@:]+:[^\s/@]+@/gi,"$1://[hidden]@"],[/\b(Bearer|Basic)\s+[^\s"',;]+/gi,"$1 [hidden]"],[/\b((?:access_|refresh_|id_)?token|secret|password|passwd|pwd|api[_-]?key|apikey|authorization|cookie|session|private_key)(["']?\s*[:=]\s*["']?)(?!Bearer\b|Basic\b)([^\s"'&,;}]+)/gi,"$1$2[hidden]"],[/\beyJ[\w-]{8,}\.[\w-]{8,}\.[\w-]{8,}/g,"[jwt]"],[/\b[\w.+-]+@[\w-]+(?:\.[\w-]+)+\b/g,"[email]"],[/\b[A-Fa-f0-9]{40,}\b/g,"[redacted]"],[/\b(?=[A-Za-z0-9_-]*\d)(?=[A-Za-z0-9_-]*[A-Za-z])[A-Za-z0-9_-]{40,}\b/g,"[redacted]"]];function c(a,b){return a.length>b?`${a.slice(0,b-1)}…`:a}a.s(["l",0,c,"n",0,function(a){return null===a?null:c(a.split(/[?#]/)[0]||"/",512)},"h",0,function(a){return b.reduce((a,[b,c])=>a.replace(b,c),a)}])},425238,a=>{"use strict";var b=a.i(609007),c=a.i(556987);let d=/(?<![\p{L}\p{N}_])(?:w[bp]_[A-Za-z0-9]{6,}|hb_[0-9a-f]{6,}|sk-[A-Za-z0-9_-]{6,}|gsk_[A-Za-z0-9]{6,}|AIza[0-9A-Za-z_-]{8,}|AQ\.[A-Za-z0-9_-]{8,})/gu,e=/\b[a-z][a-z0-9+.-]*:\/\/[^\s/?#"'<>)]*(\/[^\s?#"'<>)]*)?(?:[?#][^\s"'<>)]*)?/gi,f="[\\p{L}\\p{N}_-]",g=a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),h=new WeakMap,i=[RegExp(d.source,"u"),/\b(?:Bearer|Basic)\s+[A-Za-z0-9._~+/=-]{12,}/i,/\beyJ[\w-]{8,}\.[\w-]{8,}\.[\w-]{8,}/,/\b[a-z][a-z0-9+.-]*:\/\/[^\s/@:]+:[^\s/@]+@/i,/\b[A-Fa-f0-9]{40,}\b/,/\b(?=[A-Za-z0-9_-]*\d)(?=[A-Za-z0-9_-]*[A-Za-z])[A-Za-z0-9_-]{40,}\b/];a.s(["G",0,function(a){return i.some(b=>b.test(a))},"F",0,function(a,i){let j=(0,b.h)(a);j=(0,c.J)(j,i);let k=function(a){if(h.has(a))return h.get(a);let b=new Map((a.account??[]).filter(a=>a.name.trim().length>=2).map(a=>[a.name.toLowerCase(),a.alias])),c=[...b.keys()].sort((a,b)=>b.length-a.length),d=c.length?{re:RegExp(`(?<!${f})(?:${c.map(g).join("|")})(?!${f})`,"giu"),alias:b}:null;return h.set(a,d),d}(i);return k&&(j=j.replace(k.re,a=>k.alias.get(a.toLowerCase())??a)),(j=(j=(j=j.replace(d,"[hidden]")).replace(/hb_\[hidden\]/g,"[hidden]")).replace(e,(a,b)=>b??"[url]")).replace(/@/g,"(at)")}])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__19wvac83zh5-9._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[[689963,a=>{var b=a.i(954757);a.s(["z",0,b])},83931,a=>{var b=a.i(954757);a.s(["z",0,b])},811365,a=>{var b=a.i(954757);a.s(["z",0,b])},460565,a=>{a.s(["B",0,3e5,"X",0,function(a){return"number"==typeof a&&Number.isFinite(a)&&a>0?6e4*a:3e5}])},358179,a=>{var b=a.i(666680);let c="aes-256-gcm";function d(a){let b=Buffer.from(a,"base64");if(32!==b.length)throw Error("Encryption key must be 32 bytes, base64-encoded.");return b}function e(a,e){let f=Buffer.from(a.ciphertext,"base64");if(f.length<16)throw Error("Stored credential is damaged.");let g=(0,b.createDecipheriv)(c,d(e),Buffer.from(a.iv,"base64"));return g.setAuthTag(f.subarray(f.length-16)),Buffer.concat([g.update(f.subarray(0,f.length-16)),g.final()]).toString("utf8")}a.s(["K",0,e,"V",0,function(a,b){try{return e(a,b)}catch{return null}},"l",0,function(a,e,f=1){let g=(0,b.randomBytes)(12),h=(0,b.createCipheriv)(c,d(e),g),i=Buffer.concat([h.update(a,"utf8"),h.final()]);return{ciphertext:Buffer.concat([i,h.getAuthTag()]).toString("base64"),iv:g.toString("base64"),keyVersion:f}}])},745614,a=>{let b="The demo is busy right now. Try again in a minute.",c="Too many new demo sessions from your network. Try again in a few minutes.",d=new Map([["watchbell-demo-busy",b],["watchbell-demo-too-many",c]]),e=new Map([...d].map(([a,b])=>[b,a]));a.s(["L",0,b,"_",0,c,"f",0,function(a){return Object.assign(Error(a),{digest:e.get(a)})},"E",0,function(a){for(let c=a,e=0;c&&e<5;c=c.cause,e++){var b;let a="string"==typeof(b=c.digest)?d.get(b)??null:null;if(a&&c instanceof Error&&c.message===a)return a}return null}])},19809,a=>{var b=a.i(371289);let c="Not available in the demo";a.s(["v",0,"This is the Watchbell demo, so no AI model was asked. In your own install, this answer comes from the AI provider you connect under AI Gateway.","Y",0,c,"r",0,"Simulated in the demo: nothing was sent to a provider.","h",0,function(a,d=process.env){return(0,b.W)(d)&&a instanceof Error&&a.message===c},"M",0,function(a,b=Math.random){return{ok:!0,statusCode:a,latencyMs:90+Math.round(260*b()),error:null}}])},753682,a=>{a.s(["f",0,function(a){return"aal2"===a.aal?"ok":a.hasVerifiedFactor?"challenge":"owner"===a.role||"operator"===a.role?"setup":"ok"}])}],300794,(a,b,c)=>{b.exports=a.x("node:dns/promises",()=>require("node:dns/promises"))},761095,(a,b,c)=>{b.exports=a.x("node:net",()=>require("node:net"))},685560,(a,b,c)=>{b.exports=a.x("node:tls",()=>require("node:tls"))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1m38od9tgaroe._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[[836042,a=>{var b=a.i(903769),c=a.i(803767);a.S([b,"008b6dbed199d0deb40e431c4e4f3d7746a8c4835f,f",0,c,"602f58df435a4e62a1fcb193c047c71ca7b67e170c,n"],836042)},713095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},903769,a=>{var b=a.i(137936);a.i(570396);var c=a.i(673727),d=a.i(366443);async function e(){await (0,d.f)().signOut(),(0,c.redirect)("/signin")}(0,a.i(713095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"008b6dbed199d0deb40e431c4e4f3d7746a8c4835f",null),a.s(["f",0,e])}],224361,(a,b,c)=>{b.exports=a.x("util",()=>require("util"))},406461,(a,b,c)=>{b.exports=a.x("zlib",()=>require("zlib"))},461750,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1d1ksu1dlha3r._.js","server/chunks/ssr/src_db_pglite_ts_0r1r9wqxilnam._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(614755)))},73710,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_cookie_ts_0a12-0n1novgh._.js"].map(b=>a.l(b))).then(()=>b(716983)))},871289,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__06bgklzuef-ya._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(204048)))},522169,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_seed_members_ts_0pz2fa9295pvm._.js"].map(b=>a.l(b))).then(()=>b(615089)))},372153,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_demo_session_ts_0rwvb3aun41zx._.js","server/chunks/ssr/src_lib_demo_0mr090huk17s8._.js"].map(b=>a.l(b))).then(()=>b(765161)))}];
3
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__1mxpszbk1aup8._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[[751409,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReflectAdapter",{enumerable:!0,get:function(){return d}});class d{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},4712,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0});var d={ActionDidNotRevalidate:function(){return f},ActionDidRevalidateDynamicOnly:function(){return h},ActionDidRevalidateStaticAndDynamic:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=0,g=1,h=2},159203,a=>{let b=a=>void 0!==a&&""!==a.trim();function c(a,c){let d=`WATCHBELL_${c}`,e=`WATCHPOST_${c}`,f=a[d];if(b(f))return{name:d,value:f};let g=a[e];return b(g)?{name:e,value:g}:void 0!==f?{name:d,value:f}:void 0!==g?{name:e,value:g}:void 0}a.s(["d",0,function(a,b){return c(a,b)?.value},"N",0,c])},19809,a=>{var b=a.i(371289);let c="Not available in the demo";a.s(["v",0,"This is the Watchbell demo, so no AI model was asked. In your own install, this answer comes from the AI provider you connect under AI Gateway.","Y",0,c,"r",0,"Simulated in the demo: nothing was sent to a provider.","h",0,function(a,d=process.env){return(0,b.W)(d)&&a instanceof Error&&a.message===c},"M",0,function(a,b=Math.random){return{ok:!0,statusCode:a,latencyMs:90+Math.round(260*b()),error:null}}])},32950,a=>{let b="wp_session";function c(a=process.env.SITE_URL){return{httpOnly:!0,sameSite:"lax",secure:function(a){try{return"https:"===new URL(a??"").protocol}catch{return!1}}(a),path:"/",maxAge:2592e3}}a.s(["J",0,b,"N",0,function(a,d){a.set(b,"",{...c(d),maxAge:0})},"X",0,c,"V",0,function(a,d,e){a.set(b,d,c(e))}])},753682,a=>{a.s(["f",0,function(a){return"aal2"===a.aal?"ok":a.hasVerifiedFactor?"challenge":"owner"===a.role||"operator"===a.role?"setup":"ok"}])}],522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},504446,(a,b,c)=>{b.exports=a.x("net",()=>require("net"))},666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},446786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},60438,(a,b,c)=>{b.exports=a.x("perf_hooks",()=>require("perf_hooks"))},688947,(a,b,c)=>{b.exports=a.x("stream",()=>require("stream"))},755004,(a,b,c)=>{b.exports=a.x("tls",()=>require("tls"))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1tj-iwvrxfd1a._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[[263251,a=>{a.s(["f",0,function(a){if(Array.isArray(a))return a;let b=a?.rows;return Array.isArray(b)?b:[]}])},655206,a=>{a.s(["f",0,{checks:7,rollupsHourly:90,deployments:30,events:90,alerts:90,collectorRuns:14,storedLogs:7,recommendationDismissals:90}])},615089,988866,109505,a=>{var b=a.i(837137);a.s(["h",0,864e5,"w",0,36e5,"E",0,6e4,"$",0,(a,b)=>new Date(a.getTime()-b),"_",0,a=>`{${a.map(a=>null===a?"NULL":"boolean"==typeof a?a?"t":"f":String(a)).join(",")}}`],988866);var c=a.i(666680);let d=(...a)=>(0,c.createHash)("sha256").update(a.join("\0")).digest();function e(a,...b){let c=d(a,"id",...b);c[6]=15&c[6]|64,c[8]=63&c[8]|128;let f=c.subarray(0,16).toString("hex");return`${f.slice(0,8)}-${f.slice(8,12)}-${f.slice(12,16)}-${f.slice(16,20)}-${f.slice(20)}`}function f(a){return e(a,"member","user")}function g(a){return e(a,"member","row")}async function h(a){let{now:c,seed:d}=a,e=new Date(c.getTime()-35424e6);await a.db.insert(b.members).values({id:g(d),userId:f(d),email:a.email,role:"owner",lastSeenAt:c,createdAt:e,updatedAt:e})}a.s(["k",0,function(a,...b){let c,e=(c=d(a,...b).readUInt32LE(0)>>>0,()=>{let a=c=c+0x6d2b79f5>>>0;return a=Math.imul(a^a>>>15,1|a),(((a^=a+Math.imul(a^a>>>7,61|a))^a>>>14)>>>0)/0x100000000});return{next:e,int:(a,b)=>a+Math.floor(e()*(b-a+1)),pick:a=>a[Math.floor(e()*a.length)],chance:a=>e()<a,shuffle:a=>{let b=[...a];for(let a=b.length-1;a>0;a--){let c=Math.floor(e()*(a+1));[b[a],b[c]]=[b[c],b[a]]}return b}}},"p",0,function(a,b,...c){let e="";for(let f=0;e.length<a;f++)e+=d(b,"hex",f,...c).toString("hex");return e.slice(0,a)},"T",0,e,"g",0,function(a,b,...c){let e="";for(let f=0;e.length<a;f++)for(let a of d(b,"token",f,...c))e+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[a%62];return e.slice(0,a)}],109505),a.s(["demoUserId",0,f,"memberRowId",0,g,"seedMember",0,h],615089)},904370,a=>{let b="shared";function c(a){if(!a.includes(":")||a.includes("."))return a;let[b,c]=a.toLowerCase().split("::"),d=b?b.split(":"):[],e=void 0===c?[]:c?c.split(":"):[],f=void 0===c?d:[...d,...Array(Math.max(0,8-d.length-e.length)).fill("0"),...e];return 8===f.length&&f.every(a=>/^[0-9a-f]{1,4}$/.test(a))?`${f.slice(0,4).map(a=>a.replace(/^0+(?=.)/,"")).join(":")}::/64`:a}function d(a,c=6e5){let e=new Map;return{take(d,f,g=Date.now()){let h=e.get(d);if(h){var i=h;for(let[a,b]of i)g-b>=c&&i.delete(a);e.delete(d)}else h=new Map;return e.set(d,h),e.size>1e4&&e.delete(e.keys().next().value),!!h.has(f)||!(h.size>=(d===b?a.shared:a.perClient))&&(h.set(f,g),!0)},reset(){e.clear()}}}let e=globalThis.__watchpostDemoLimits??={creations:d({perClient:5,shared:60}),signIns:d({perClient:10,shared:120})},f=e.creations,g=e.signIns;a.s(["CREATIONS_PER_CLIENT",0,5,"CREATIONS_SHARED",0,60,"DEMO_LIMIT_WINDOW_MS",0,6e5,"DEMO_SIGN_IN_LIMITED",0,"Too many demo sign-ins from your network. Try again in a few minutes.","SHARED_CLIENT",0,b,"SIGN_INS_PER_CLIENT",0,10,"SIGN_INS_SHARED",0,120,"clientNetwork",0,c,"demoClientKey",0,function(a,d=process.env){if("1"!==d.VERCEL)return b;let e=a.get("x-forwarded-for")?.split(",")[0]?.trim();return`ip:${e?c(e):"unknown"}`},"demoCreations",0,f,"demoSignIns",0,g,"resetDemoLimitsForTests",0,function(){if(!process.env.VITEST)throw Error("resetDemoLimitsForTests is for tests only");f.reset(),g.reset()},"windowLimiter",0,d])}],727028,(a,b,c)=>{b.exports=a.x("node:zlib",()=>require("node:zlib"))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1zmuaump_n9c1._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[94276,a=>{let b=(0,a.i(449862).f)("outline","user-plus","UserPlus",[["path",{d:"M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0",key:"svg-0"}],["path",{d:"M16 19h6",key:"svg-1"}],["path",{d:"M19 16v6",key:"svg-2"}],["path",{d:"M6 21v-2a4 4 0 0 1 4 -4h4",key:"svg-3"}]]);a.s(["f",0,b],94276)},929358,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("40c5f8349eb74cc92dc024b2e254837e8876b31a6b",f.callServer,void 0,f.findSourceMapURL,"setActionsRepoAction");a.s(["ActionsRepoForm",0,function({current:a}){let[f,h]=(0,c.useState)(a??""),[i,j]=(0,c.useTransition)();return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("input",{className:`${e.S} w-72 font-mono`,placeholder:"yourname/watchbell-actions",value:f,onChange:a=>h(a.target.value),"aria-label":"Actions repository"}),(0,b.jsx)(e.K,{size:"sm",onClick:()=>j(async()=>{let a=await g(f);a.ok?d.c.success(a.message??"Saved."):d.c.error(a.error)}),disabled:i||f.trim()===(a??""),children:i?"Saving…":"Save"})]})}],929358)},620966,a=>{var b=a.i(187924),c=a.i(94276),d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(814574),h=a.i(405050);let i=(0,h.createServerReference)("6077adc7f4580b8301626b6d59c34ad8dd9931dd38",h.callServer,void 0,h.findSourceMapURL,"addMember"),j=[["owner","Owner","Everything, including connections, users, and settings"],["operator","Operator","Sees everything and can redeploy, restore, wake, and silence alerts"],["viewer","Viewer","Read-only. No logs and no actions"]];function k({added:a,onDone:c}){let[h,i]=(0,d.useState)(!1),j=async()=>{try{await navigator.clipboard.writeText(a.password),i(!0)}catch{e.c.error("Couldn't copy. Select the password and copy it yourself.")}};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsxs)(g.F,{className:"text-base",children:[a.email," was added"]}),(0,b.jsx)(g.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"Share this temporary password with them privately (not in a group chat or a ticket). It is shown only now and works for 7 days; they choose their own at their first sign-in."})]}),(0,b.jsx)("div",{className:"px-[18px] pb-3.5 pt-1.5",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-line bg-surface-2 px-3 py-2",children:[(0,b.jsx)("code",{className:"flex-1 select-all break-all font-mono text-[14px] tracking-wide","aria-label":"Temporary password",children:a.password}),(0,b.jsx)(f.K,{size:"sm",onClick:j,children:h?"Copied":"Copy"})]})}),(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:c,children:"Done"})})]})}function l({onDone:a}){let[h,m,n]=(0,d.useActionState)(async(a,b)=>{let c=await i(a,b);return c.ok||c.fieldErrors||e.c.error(c.error),c},null);if(h?.ok&&h.data)return(0,b.jsx)(k,{added:h.data,onDone:a});let o=h&&!h.ok?h.fieldErrors??{}:{};return(0,b.jsxs)("form",{action:m,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)(g.F,{className:"text-base",children:"Add member"}),(0,b.jsx)(g.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"This creates their account with a temporary password, shown once on the next screen."})]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsx)(f.O,{id:"add-email",label:"Email",error:o.email,children:(0,b.jsx)("input",{id:"add-email",name:"email",type:"email",placeholder:"name@example.com",className:f.S})}),(0,b.jsxs)("fieldset",{className:"mb-3.5",children:[(0,b.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Role"}),(0,b.jsx)("div",{className:"overflow-hidden rounded-lg border border-line",children:j.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:"role",value:a,defaultChecked:"viewer"===a,className:"mt-[3px] accent-brand"}),(0,b.jsxs)("span",{children:[c,(0,b.jsx)("small",{className:"block text-xs text-ink-faint",children:d})]})]},a))}),o.role&&(0,b.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:o.role})]})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(f.K,{onClick:a,disabled:n,children:"Cancel"}),(0,b.jsx)(f.K,{type:"submit",variant:"primary",disabled:n,children:n?"Adding…":"Add member"})]})]})}a.s(["AddMemberDialog",0,function(){let[a,c]=(0,d.useState)(!1);return(0,b.jsxs)(g.N,{open:a,onOpenChange:c,children:[(0,b.jsx)(g.a,{render:(0,b.jsx)(f.K,{variant:"primary",size:"sm",className:"ml-auto"}),children:"Add member"}),(0,b.jsx)(g.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:(0,b.jsx)(l,{onDone:()=>c(!1)})})]})}],620966)},164933,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(611619),f=a.i(619089);let g={qstashPerDay:1e3,webAnalyticsEvents:5e4,vercelInvocations:1e6,vercelCpuHours:4,vercelMemoryGbH:360,warnPct:70,errPct:90},h=[{key:"qstashPerDay",label:"Upstash QStash messages",unit:"a day",min:1,max:1e7},{key:"webAnalyticsEvents",label:"Vercel Web Analytics events",unit:"a month",min:1,max:1e8},{key:"vercelInvocations",label:"Vercel function invocations",unit:"a month",min:1,max:1e9},{key:"vercelCpuHours",label:"Vercel active CPU",unit:"hours a month",min:1,max:1e4},{key:"vercelMemoryGbH",label:"Vercel provisioned memory",unit:"GB-hours a month",min:1,max:1e5},{key:"warnPct",label:"Warn from",unit:"% used",min:10,max:99},{key:"errPct",label:"Alarm from",unit:"% used",min:11,max:100}];var i=a.i(368114),j=a.i(405050);let k=(0,j.createServerReference)("006a7182d079bb38072c62af939b9f46a404039396",j.callServer,void 0,j.findSourceMapURL,"resetBudget"),l=(0,j.createServerReference)("40c316bd1e1d2f9b632acc27c10eb8c7ff1b2129d1",j.callServer,void 0,j.findSourceMapURL,"saveBudget"),m=a=>Object.fromEntries(h.map(b=>[b.key,String(a[b.key])]));a.s(["BudgetForm",0,function({saved:a}){let[j,n]=(0,c.useState)(m(a)),[o,p]=(0,c.useState)({}),[q,r]=(0,c.useTransition)(),s=h.some(b=>j[b.key]!==String(a[b.key])),t=h.every(b=>a[b.key]===g[b.key]);return(0,b.jsxs)("div",{children:[h.map(a=>(0,b.jsxs)("div",{className:"grid grid-cols-[260px_minmax(0,1fr)] items-center gap-4 border-b border-line py-2.5 last:border-b-0 max-[720px]:grid-cols-1 max-[720px]:gap-1",children:[(0,b.jsxs)("label",{htmlFor:`bud-${a.key}`,className:"font-medium",children:[a.label,(0,b.jsxs)("span",{className:"mt-0.5 block text-[12.5px] font-normal text-ink-soft",children:["Published free limit: ",g[a.key].toLocaleString("en-US")," ",a.unit]})]}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{id:`bud-${a.key}`,inputMode:"numeric",className:(0,i.f)(f.S,"w-[160px] font-mono text-[12.5px]"),value:j[a.key],"aria-invalid":!!o[a.key],onChange:b=>n(c=>({...c,[a.key]:b.target.value}))}),(0,b.jsx)("span",{className:"text-[12.5px] text-ink-soft",children:a.unit})]}),o[a.key]&&(0,b.jsx)("span",{className:"mt-1 block text-[12.5px] text-err",role:"alert",children:o[a.key]})]})]},a.key)),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-3",children:[(0,b.jsx)(f.K,{variant:"primary",onClick:function(){r(async()=>{let a=await l(j);p(a.ok?{}:a.fieldErrors??{}),a.ok?d.c.success(a.message??"Saved."):d.c.error(a.error)})},disabled:q||!s,children:q?"Saving…":"Save"}),s&&(0,b.jsx)(f.K,{variant:"ghost",onClick:()=>{n(m(a)),p({})},children:"Cancel"}),!t&&(0,b.jsx)(e.f,{trigger:(0,b.jsx)(f.K,{children:"Reset to defaults"}),title:"Reset the free tier limits?",body:"The table goes back to the published free plans as last checked.",cta:"Reset",onConfirm:async()=>{let a=await k();return a.ok&&n(m(g)),{ok:a.ok,message:(a.ok?a.message:a.error)??""}}})]})]})}],164933)},417336,a=>{var b=a.i(187924),c=a.i(94276),d=a.i(572131),e=a.i(823292),f=a.i(619089),g=a.i(814574),h=a.i(405050);let i=(0,h.createServerReference)("603eee60954ce6d4dea02c0ca85802b4e2b39789d6",h.callServer,void 0,h.findSourceMapURL,"inviteUser"),j=[["owner","Owner","Everything, including connections, users, and settings"],["operator","Operator","Sees everything and can redeploy, restore, wake, and silence alerts"],["viewer","Viewer","Read-only. No logs and no actions"]];function k({onDone:a}){let[h,l,m]=(0,d.useActionState)(async(b,c)=>{let d=await i(b,c);return d.ok?(e.c.success(d.message??"Invite saved."),a()):d.fieldErrors||e.c.error(d.error),d},null),n=h&&!h.ok?h.fieldErrors??{}:{};return(0,b.jsxs)("form",{action:l,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)(g.F,{className:"text-base",children:"Invite user"}),(0,b.jsx)(g.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:"They sign in at the console's sign-in page with this email. The invite lasts 7 days."})]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsx)(f.O,{id:"inv-email",label:"Email",error:n.email,children:(0,b.jsx)("input",{id:"inv-email",name:"email",type:"email",placeholder:"name@example.com",className:f.S})}),(0,b.jsxs)("fieldset",{className:"mb-3.5",children:[(0,b.jsx)("legend",{className:"mb-[5px] text-[13px] font-medium",children:"Role"}),(0,b.jsx)("div",{className:"overflow-hidden rounded-lg border border-line",children:j.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:"role",value:a,defaultChecked:"viewer"===a,className:"mt-[3px] accent-brand"}),(0,b.jsxs)("span",{children:[c,(0,b.jsx)("small",{className:"block text-xs text-ink-faint",children:d})]})]},a))}),n.role&&(0,b.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:n.role})]})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(f.K,{onClick:a,disabled:m,children:"Cancel"}),(0,b.jsx)(f.K,{type:"submit",variant:"primary",disabled:m,children:m?"Saving…":"Save invite"})]})]})}a.s(["InviteDialog",0,function(){let[a,c]=(0,d.useState)(!1);return(0,b.jsxs)(g.N,{open:a,onOpenChange:c,children:[(0,b.jsx)(g.a,{render:(0,b.jsx)(f.K,{variant:"primary",size:"sm",className:"ml-auto"}),children:"Invite user"}),(0,b.jsx)(g.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:(0,b.jsx)(k,{onDone:()=>c(!1)})})]})}],417336)},365369,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(611619),e=a.i(619089);let f={owner:"Owner",operator:"Operator",viewer:"Viewer"};var g=a.i(405050);let h=(0,g.createServerReference)("6050d031c93f85975b82703c4b6eda3670cce2a83b",g.callServer,void 0,g.findSourceMapURL,"changeRole"),i=(0,g.createServerReference)("40c050bbf1fba94c315b6f0d38bcd6067bead0d289",g.callServer,void 0,g.findSourceMapURL,"removeMember"),j=(0,g.createServerReference)("4046546a6b5e775de54ebbdc0be2b5fa15db2a3d75",g.callServer,void 0,g.findSourceMapURL,"revokeInvite"),k=a=>({ok:a.ok,message:(a.ok?a.message:a.error)??""});a.s(["RemoveMember",0,function({memberId:a,email:c,deletesAccount:f=!1}){return(0,b.jsx)(d.f,{trigger:(0,b.jsx)(e.K,{size:"sm",children:"Remove"}),title:`Remove ${c}?`,body:f?"They lose access right away. Their account and sessions are deleted.":"They lose access right away. Nothing else changes.",cta:"Remove",danger:!0,onConfirm:async()=>k(await i(a))})},"RevokeInvite",0,function({inviteId:a,email:c}){return(0,b.jsx)(d.f,{trigger:(0,b.jsx)(e.K,{size:"sm",children:"Withdraw"}),title:`Withdraw the invite for ${c}?`,body:"They can no longer join with the email they received.",cta:"Withdraw",danger:!0,onConfirm:async()=>k(await j(a))})},"RoleSelect",0,function({memberId:a,email:g,role:i}){let j,[l,m]=(0,c.useState)(i),n=(j={owner:"Owners can manage connections, users, and settings, including removing other owners.",operator:"They can redeploy, restore, wake, and silence alerts. They can't change connections, users, or settings.",viewer:"They become read-only, with no logs and no actions."},{title:"owner"===l?`Make ${g} an Owner?`:`Change ${g} to ${f[l]}?`,body:"owner"===i?`They lose access to connections, users, and settings. ${j[l]}`:j[l],cta:"owner"===l?"Make Owner":`Change to ${f[l]}`,danger:"owner"===l||"owner"===i});return(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("select",{"aria-label":`Role for ${g}`,value:l,className:"rounded-md border border-line-strong bg-surface px-2 py-1 text-[13px]",onChange:a=>m(a.target.value),children:[(0,b.jsx)("option",{value:"owner",children:"Owner"}),(0,b.jsx)("option",{value:"operator",children:"Operator"}),(0,b.jsx)("option",{value:"viewer",children:"Viewer"})]}),l!==i&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.f,{trigger:(0,b.jsx)(e.K,{size:"sm",variant:"primary",children:"Save"}),title:n.title,body:n.body,cta:n.cta,danger:n.danger,onConfirm:async()=>k(await h(a,l))}),(0,b.jsx)(e.K,{size:"sm",variant:"ghost",onClick:()=>m(i),children:"Cancel"})]})]})}],365369)},252778,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(462007);let g={checks:[3,7,14],rollupsHourly:[60,90,180],storedLogs:[3,7,14],deployments:[30,45,60,90],events:[60,90,180],alerts:[60,90,180],collectorRuns:[7,14,30],recommendationDismissals:[30,90,180]},h=Object.keys(g);var i=a.i(368114),j=a.i(405050);let k=(0,j.createServerReference)("40cd23e240c5a4d8147165aaccc4f1bec68103aec8",j.callServer,void 0,j.findSourceMapURL,"saveRetention");a.s(["RetentionForm",0,function({saved:a,rows:j}){let[l,m]=(0,c.useState)(a),[n,o]=(0,c.useState)({}),[p,q]=(0,c.useTransition)(),r=h.some(b=>l[b]!==a[b]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:f.o,children:[(0,b.jsx)(f.U,{head:["Data","Kept for","Notes"]}),(0,b.jsx)("tbody",{children:j.map(a=>(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{className:f.z,children:(0,b.jsx)("label",{htmlFor:`ret-${a.key}`,children:a.kind})}),(0,b.jsxs)("td",{className:f.z,children:[(0,b.jsx)("select",{id:`ret-${a.key}`,className:(0,i.f)(e.S,"w-[130px]"),value:l[a.key],"aria-invalid":!!n[a.key],onChange:b=>m(c=>({...c,[a.key]:Number(b.target.value)})),children:g[a.key].map(a=>(0,b.jsxs)("option",{value:a,children:[a," days"]},a))}),n[a.key]&&(0,b.jsx)("span",{className:"mt-1 block text-[12.5px] text-err",role:"alert",children:n[a.key]})]}),(0,b.jsx)("td",{className:`${f.z} whitespace-normal text-ink-soft`,children:a.note})]},a.key))})]})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 px-[18px] py-3",children:[(0,b.jsx)(e.K,{variant:"primary",onClick:function(){q(async()=>{let a=await k(Object.fromEntries(h.map(a=>[a,String(l[a])])));o(a.ok?{}:a.fieldErrors??{}),a.ok?d.c.success(a.message??"Saved."):d.c.error(a.error)})},disabled:p||!r,children:p?"Saving…":"Save"}),r&&(0,b.jsx)(e.K,{variant:"ghost",onClick:()=>{m(a),o({})},children:"Cancel"})]})]})}],252778)},736159,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(771378),f=a.i(619089),g=a.i(683874),h=a.i(462007),i=a.i(941881);let j=/^[a-z0-9-]{3,40}$/;function k(a){return a.toLowerCase().normalize("NFKD").replace(/[^a-z0-9]+/g,"-").replace(/^-+/,"").slice(0,40).replace(/-+$/,"")||"monitor"}var l=a.i(368114),m=a.i(405050);let n=(0,m.createServerReference)("4004beb3a0a753dee9e81c7a1e2032a96656281dbf",m.callServer,void 0,m.findSourceMapURL,"saveStatusPageSettings"),o="min-w-0 overflow-x-auto whitespace-nowrap rounded-md border border-line bg-sunken px-2 py-1.5 font-mono text-[12.5px]";function p({id:a,label:c,help:d,error:e,children:f}){return(0,b.jsxs)("div",{className:"grid grid-cols-[260px_minmax(0,1fr)] items-center gap-4 border-b border-line py-3 last:border-b-0 max-[720px]:grid-cols-1 max-[720px]:gap-1",children:[(0,b.jsxs)("label",{htmlFor:a,className:"font-medium",children:[c,d&&(0,b.jsx)("span",{className:"mt-0.5 block text-[12.5px] font-normal text-ink-soft",children:d})]}),(0,b.jsxs)("div",{className:"min-w-0",children:[f,e&&(0,b.jsx)("span",{className:"mt-1 block text-[12.5px] text-err",role:"alert",children:e})]})]})}a.s(["StatusPageTab",0,function({settings:a,siteUrl:m}){let q=a.page,[r,s]=(0,c.useState)(q?.published??!1),[t,u]=(0,c.useState)(q?.slug??""),[v,w]=(0,c.useState)(q?.title??""),[x,y]=(0,c.useState)(q?.announcement??""),[z,A]=(0,c.useState)(a.monitors),[B,C]=(0,c.useState)({}),[D,E]=(0,c.useTransition)(),F=m.replace(/\/+$/,""),G=`${F}/s/${t||"{slug}"}`,H=z.find(a=>a.shown&&a.displayName.trim()),I=`${G}/badge/${H?k(H.displayName):"{name}"}.svg`,J=(a,b)=>A(c=>c.map(c=>c.id===a?{...c,...b}:c));return(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)(f.N,{title:"Public status page",children:[(0,b.jsx)(p,{id:"sp-published",label:"Status page",help:"The console's only page without sign-in. It shows the names you choose, the current state, 90-day bars and maintenance. Never addresses, error text or provider names.",children:(0,b.jsxs)("label",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("input",{id:"sp-published",type:"checkbox",className:"size-4 accent-brand",checked:r,onChange:a=>s(a.target.checked)}),"Published"]})}),(0,b.jsx)(p,{id:"sp-slug",label:"Address",help:"3–40 lowercase letters, digits or dashes.",error:B.slug,children:(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("input",{id:"sp-slug",className:(0,l.f)(f.S,"max-w-[200px] font-mono text-[12.5px]"),value:t,maxLength:40,placeholder:"my-apps",autoComplete:"off",spellCheck:!1,"aria-invalid":!!B.slug,onChange:a=>u(a.target.value.toLowerCase())}),(0,b.jsx)("code",{className:o,children:(0,b.jsx)(e.MaskedText,{text:G})}),q?.published&&(0,b.jsx)("a",{className:(0,f.R)({size:"sm"}),href:`/s/${q.slug}`,target:"_blank",rel:"noopener noreferrer",children:"Preview"})]})}),(0,b.jsx)(p,{id:"sp-title",label:"Title",error:B.title,children:(0,b.jsx)("input",{id:"sp-title",className:(0,l.f)(f.S,"max-w-[320px]"),value:v,maxLength:80,placeholder:"e.g. My apps","aria-invalid":!!B.title,onChange:a=>w(a.target.value)})}),(0,b.jsx)(p,{id:"sp-note",label:"Announcement",help:"Optional. Shown at the top until you clear it.",children:(0,b.jsx)("input",{id:"sp-note",className:(0,l.f)(f.S,"max-w-[420px]"),value:x,maxLength:200,placeholder:"e.g. Moving to a new database tonight",onChange:a=>y(a.target.value)})}),(0,b.jsx)(p,{label:"Badges",help:"Uptime badge per monitor, for READMEs. Cached 5 minutes.",children:(0,b.jsx)("code",{className:(0,l.f)(o,"block"),children:(0,b.jsx)(e.MaskedText,{text:I})})})]}),(0,b.jsxs)(f.N,{title:"Monitors on the page",flush:!0,meta:`${z.filter(a=>a.shown).length} shown`,children:[(0,b.jsx)("p",{className:"px-[18px] pb-2.5 text-[12.5px] text-ink-soft",children:"Visitors see only the public name, never the app, its address or its database. The page lists them in this order."}),B.monitors&&(0,b.jsx)("p",{className:"px-[18px] pb-2.5 text-[12.5px] text-err",role:"alert",children:B.monitors}),0===z.length?(0,b.jsx)("p",{className:"px-[18px] pb-4 text-ink-soft",children:"No monitors yet. Add one on the Uptime page first."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:h.o,children:[(0,b.jsx)(h.U,{head:["Show","Monitor","Public name"]}),(0,b.jsx)("tbody",{children:z.map(a=>(0,b.jsxs)("tr",{children:[(0,b.jsx)("td",{className:(0,l.f)(h.z,"w-[60px]"),children:(0,b.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:a.shown,"aria-label":`Show ${a.path} on the public page`,onChange:b=>J(a.id,{shown:b.target.checked})})}),(0,b.jsx)("td",{className:h.z,children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-[7px]",children:[(0,b.jsx)(g.f,{kind:"mon"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(e.Masked,{kind:"app",real:a.appName}),(0,b.jsx)("span",{className:"text-ink-faint",children:"heartbeat"===a.kind?` \xb7 ${a.path}`:a.path})]}),"heartbeat"===a.kind&&(0,b.jsx)(f.E,{children:"Heartbeat"})]})}),(0,b.jsx)("td",{className:h.z,children:(0,b.jsx)("input",{className:(0,l.f)(f.S,"w-[220px]"),value:a.displayName,maxLength:60,placeholder:a.shown?"Public name":"","aria-label":"Public name",disabled:!a.shown,onChange:b=>J(a.id,{displayName:b.target.value})})})]},a.id))})]})}),(0,b.jsx)("div",{className:"px-[18px] py-3",children:(0,b.jsx)(f.K,{variant:"primary",onClick:function(){var a;let b,c,e,f,g,h,l,m={slug:t,title:v,announcement:x,published:r,monitors:z.filter(a=>a.shown).map(a=>({monitorId:a.id,displayName:a.displayName}))},o=(b=m&&"object"==typeof m&&!Array.isArray(m)?m:{},c={},(e="string"==typeof(a=b.slug)&&j.test(a)?a:null)||(c.slug="Use 3–40 lowercase letters, digits or dashes."),(f=("string"==typeof b.title?b.title:"").trim().slice(0,80))||(c.title="Give the page a title."),g=("string"==typeof b.announcement?b.announcement:"").trim().slice(0,200)||null,l=((h=Array.isArray(b.monitors)?b.monitors:void 0===b.monitors?[]:null)??[]).map((a,b)=>{let c=a&&"object"==typeof a?a:{};return{monitorId:"string"==typeof c.monitorId?c.monitorId:"",displayName:("string"==typeof c.displayName?c.displayName:"").trim().slice(0,60),position:b}}),(!h||l.some(a=>!(0,i.f)(a.monitorId)||!a.displayName)?c.monitors="Every monitor needs a public name.":l.length>30?c.monitors="A status page can show at most 30 monitors.":new Set(l.map(a=>a.monitorId)).size!==l.length?c.monitors="A monitor can be on the page only once.":new Set(l.map(a=>k(a.displayName))).size!==l.length&&(c.monitors="Two monitors can't share a public name."),Object.keys(c).length||!e)?{ok:!1,fieldErrors:c}:{ok:!0,value:{slug:e,title:f,announcement:g,published:!0===b.published,monitors:l}});o.ok?(C({}),E(async()=>{let a=await n(m);if(!a.ok){C(a.fieldErrors??{}),d.c.error(a.error);return}d.c.success(a.message??"Status page saved. It updates within a minute.")})):C(o.fieldErrors)},disabled:D,children:D?"Saving…":"Save"})})]})]})}],736159)}]})();
2
-
3
- //# sourceMappingURL=_01n29sxn-py3x._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[258261,a=>{var b=a.i(494415),c=a.i(163227),d=a.i(351674);a.s(["H",0,function(a){return d.B`count(${a||d.B.raw("*")})`.mapWith(Number)},"y",0,function(a){return d.B`max(${a})`.mapWith((0,c.f)(a,b.f)?a:String)}])},689963,a=>{var b=a.i(954757);a.s(["z",0,b])},83931,a=>{var b=a.i(954757);a.s(["z",0,b])},811365,a=>{var b=a.i(954757);a.s(["z",0,b])},358179,a=>{var b=a.i(666680);let c="aes-256-gcm";function d(a){let b=Buffer.from(a,"base64");if(32!==b.length)throw Error("Encryption key must be 32 bytes, base64-encoded.");return b}function e(a,e){let f=Buffer.from(a.ciphertext,"base64");if(f.length<16)throw Error("Stored credential is damaged.");let g=(0,b.createDecipheriv)(c,d(e),Buffer.from(a.iv,"base64"));return g.setAuthTag(f.subarray(f.length-16)),Buffer.concat([g.update(f.subarray(0,f.length-16)),g.final()]).toString("utf8")}a.s(["K",0,e,"V",0,function(a,b){try{return e(a,b)}catch{return null}},"l",0,function(a,e,f=1){let g=(0,b.randomBytes)(12),h=(0,b.createCipheriv)(c,d(e),g),i=Buffer.concat([h.update(a,"utf8"),h.final()]);return{ciphertext:Buffer.concat([i,h.getAuthTag()]).toString("base64"),iv:g.toString("base64"),keyVersion:f}}])},19809,a=>{var b=a.i(371289);let c="Not available in the demo";a.s(["v",0,"This is the Watchbell demo, so no AI model was asked. In your own install, this answer comes from the AI provider you connect under AI Gateway.","Y",0,c,"r",0,"Simulated in the demo: nothing was sent to a provider.","h",0,function(a,d=process.env){return(0,b.W)(d)&&a instanceof Error&&a.message===c},"M",0,function(a,b=Math.random){return{ok:!0,statusCode:a,latencyMs:90+Math.round(260*b()),error:null}}])},683439,a=>{let b=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;a.s(["f",0,a=>"string"==typeof a&&b.test(a)])},753682,a=>{a.s(["f",0,function(a){return"aal2"===a.aal?"ok":a.hasVerifiedFactor?"challenge":"owner"===a.role||"operator"===a.role?"setup":"ok"}])}]})();
2
-
3
- //# sourceMappingURL=_03d3sxmob-gr7._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[689963,a=>{var b=a.i(954757);a.s(["z",0,b])},83931,a=>{var b=a.i(954757);a.s(["z",0,b])},149310,a=>{var b=a.i(954757);a.s(["z",0,b])},811365,a=>{var b=a.i(954757);a.s(["z",0,b])},460565,a=>{a.s(["B",0,3e5,"X",0,function(a){return"number"==typeof a&&Number.isFinite(a)&&a>0?6e4*a:3e5}])},133289,a=>{var b=a.i(245710),c=a.i(460565);a.s(["e",0,"Demo · no live collector","m",0,function(a,b,d=c.B){if(!a)return{state:"idle",text:"Collector hasn't run yet"};let e=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3)),f=Math.floor(e/60),g=d>c.B,h=g?Math.round(.8*d/1e3):120,i=g?Math.round(d/1e3):300;return e<60?{state:"ok",text:`Collector ran ${e}s ago`}:e<h?{state:"ok",text:`Collector ran ${f} min ago`}:e<i?{state:"warn",text:`Collector late \xb7 ran ${f} min ago`}:{state:"err",text:`Collector stopped ${f} min ago`}},"i",0,function(a,c,d){if(!a.finishedAt)return c.getTime()-a.startedAt.getTime()<12e4?{state:"build",text:"Running now"}:{state:"err",text:`Last run didn't finish (started ${(0,b.$)(a.startedAt,c)})`};let e=(0,b.$)(a.finishedAt,c);return!1===a.ok?{state:"warn",text:`Last run ${e} \xb7 finished with problems`}:c.getTime()-a.finishedAt.getTime()>=d?{state:"warn",text:`Last run ${e} \xb7 late`}:{state:"ok",text:`Last run ${e}`}}])},656298,a=>{function b(a){return"RESOURCE_EXHAUSTED"===a.reason?{state:"err",label:"Daily quota used up"}:"SERVICE_DISABLED"===a.reason?{state:"err",label:"Firestore API is off in this project"}:"scope"===a.kind||"PERMISSION_DENIED"===a.reason||"scope"===a.reason?{state:"err",label:"No access: needs datastore.viewer"}:{state:"unknown",label:"Unknown"}}a.s(["T",0,{reads:5e4,writes:2e4,deletes:2e4},"_",0,"The stored data size (1 GiB free) isn't read on any plan: the row's Open usage page shows it in the Firebase console.","f",0,"Storage (1 GiB): not read; the Firebase console's usage page shows it.","z",0,b,"g",0,function(a){return a.ok?a.data.noDatabase?{state:"off",label:"No Firestore database"}:{state:"ok",label:`Reachable \xb7 ${a.data.latencyMs} ms`}:b(a)},"a",0,function(a){let b=new Intl.DateTimeFormat("en-US",{timeZone:"America/Los_Angeles",hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23"}).formatToParts(a),c=a=>Number(b.find(b=>b.type===a)?.value??0),d=(3600*c("hour")+60*c("minute")+c("second"))*1e3+a.getUTCMilliseconds();return new Date(a.getTime()-d)}])},688275,a=>{let b={cuHours:100,storageBytes:0x40000000,transferBytes:0x140000000,branches:10,scaleToZeroMin:5};function c(a){return a.disabled?{state:"err",label:"Suspended"}:"init"===a.state||a.pendingState&&a.pendingState!==a.state?{state:"build",label:"Starting"}:"active"===a.state?{state:"ok",label:"Active"}:"idle"===a.state?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}a.s(["a",0,b,"c",0,(a,b)=>a===b?`${a} CU`:`${a}–${b} CU`,"g",0,a=>Math.round(a/360)/10,"T",0,c,"p",0,function(a){if((a.computeSeconds??0)>=3600*b.cuHours)return{state:"err",label:"CU-hours used up"};if(!a.endpoints.length)return{state:"unknown",label:"No compute"};let d=a.endpoints.map(c);return d.some(a=>"err"===a.state)?{state:"err",label:"Compute suspended"}:d.some(a=>"ok"===a.state)?{state:"ok",label:"Active"}:d.some(a=>"build"===a.state)?{state:"build",label:"Starting"}:d.every(a=>"idle"===a.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}])},745614,a=>{let b="The demo is busy right now. Try again in a minute.",c="Too many new demo sessions from your network. Try again in a few minutes.",d=new Map([["watchbell-demo-busy",b],["watchbell-demo-too-many",c]]),e=new Map([...d].map(([a,b])=>[b,a]));a.s(["L",0,b,"_",0,c,"f",0,function(a){return Object.assign(Error(a),{digest:e.get(a)})},"E",0,function(a){for(let c=a,e=0;c&&e<5;c=c.cause,e++){var b;let a="string"==typeof(b=c.digest)?d.get(b)??null:null;if(a&&c instanceof Error&&c.message===a)return a}return null}])}]})();
2
-
3
- //# sourceMappingURL=_0c8kew3jsb-yb._.js.map
@@ -1,4 +0,0 @@
1
- (()=>{"use strict";module.exports=[713095,(a,b,c)=>{function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`)}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)},903769,a=>{var b=a.i(137936);a.i(570396);var c=a.i(673727),d=a.i(366443);async function e(){await (0,d.f)().signOut(),(0,c.redirect)("/signin")}(0,a.i(713095).ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"008b6dbed199d0deb40e431c4e4f3d7746a8c4835f",null),a.s(["f",0,e])},963499,a=>{var b=a.i(159203);a.s(["f",0,function(a,c=process.env){let d=((0,b.d)(c,"TRUSTED_PROXY_HOPS")??"").trim();if(!/^\d+$/.test(d))return null;let e=Number(d);if(e<1)return null;let f=(a.get("x-forwarded-for")??"").split(",").map(a=>a.trim()).filter(Boolean);return f.length<e?null:f[f.length-e]}])},473483,a=>{var b=a.i(666680);function c(a,c,d,e,f){let g={N:d,r:e,p:f,maxmem:0x4000000};return new Promise((d,e)=>{(0,b.scrypt)(a.normalize("NFKC"),c,32,g,(a,b)=>a?e(a):d(b))})}async function d(a){let d=(0,b.randomBytes)(16),e=await c(a,d,32768,8,1);return`scrypt$32768$8$1$${d.toString("base64")}$${e.toString("base64")}`}async function e(a,d){let e,f=d.split("$");if(6!==f.length||"scrypt"!==f[0]||!/^\d+$/.test(f[1])||!/^\d+$/.test(f[2])||!/^\d+$/.test(f[3])||32768!==Number(f[1])||8!==Number(f[2])||1!==Number(f[3])||a.length>1024)return!1;let g=Buffer.from(f[4],"base64"),h=Buffer.from(f[5],"base64");if(0===g.length||32!==h.length)return!1;try{e=await c(a,g,32768,8,1)}catch{return!1}return(0,b.timingSafeEqual)(e,h)}let f=Buffer.alloc(16,1);async function g(){await c("watchbell-dummy-password",f,32768,8,1)}a.s(["T",0,"This temporary password has expired. Ask an owner for a new one.","u",0,g,"Z",0,d,"M",0,function(){return Array.from((0,b.randomBytes)(20),a=>"abcdefghijkmnpqrstuvwxyz23456789"[31&a]).join("")},"H",0,function(a){return a.length<12?"Use at least 12 characters.":a.length>200?"Use at most 200 characters.":null},"_",0,(a=new Date)=>new Date(a.getTime()+6048e5),"B",0,e])}]})();
3
-
4
- //# sourceMappingURL=_0qhvl_fw4qetx._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[805594,a=>{var b=a.i(777001);a.s(["f",0,function(a,c){return new Proxy(a,new b.e(c,!1))}])},714530,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(805594),f=a.i(548734),g=a.i(837137),h=a.i(646324),i=a.i(519051);let j={ok:!1,error:"That maintenance window no longer exists."},k={ok:!1,error:`You can have at most ${i.J} maintenance windows. Delete one first.`},l=a=>({id:a.id,scope:a.scope,appId:a.resourceId,monitorId:a.monitorId,startsAt:a.startsAt,durationMin:a.durationMin,weekly:a.weekly,note:a.note}),m=a=>`${a.appName??"Removed app"}${"heartbeat"===a.kind?` \xb7 ${a.name??""}`:(0,h.K)(a.url??"")}`,n=d.B`(${g.maintenanceWindows.weekly} or ${g.maintenanceWindows.startsAt} + ${g.maintenanceWindows.durationMin} * interval '1 minute' > now())`;async function o(){return(await (0,f.f)().select().from(g.maintenanceWindows).where(n).orderBy((0,c.M)(g.maintenanceWindows.startsAt),(0,c.M)(g.maintenanceWindows.id)).limit(i.J)).map(l)}let p=(0,e.f)(g.resources,"mon_app");function q(){return(0,f.f)().select({w:g.maintenanceWindows,appName:g.resources.name,monApp:p.name,monAppId:g.monitors.resourceId,monUrl:g.monitors.url,monKind:g.monitors.kind,monName:g.monitors.name}).from(g.maintenanceWindows).leftJoin(g.resources,(0,b.u)(g.resources.id,g.maintenanceWindows.resourceId)).leftJoin(g.monitors,(0,b.u)(g.monitors.id,g.maintenanceWindows.monitorId)).leftJoin(p,(0,b.u)(p.id,g.monitors.resourceId))}let r=a=>"all"===a.w.scope?"All monitors":"app"===a.w.scope?a.appName??"Removed app":m({appName:a.monApp,url:a.monUrl,kind:a.monKind,name:a.monName});async function s(){return(await q().orderBy(d.B`${n} desc`,(0,c.A)(g.maintenanceWindows.startsAt),(0,c.A)(g.maintenanceWindows.id)).limit(2*i.J)).map(a=>({...l(a.w),target:r(a)})).sort((a,b)=>a.startsAt.getTime()-b.startsAt.getTime()||(a.id<b.id?-1:+(a.id>b.id)))}async function t(a,c){if("all"===c.scope)return{name:"All monitors",resourceId:null};if("app"===c.scope){let[d]=await a.select({id:g.resources.id,name:g.resources.name}).from(g.resources).where((0,b.b)((0,b.u)(g.resources.id,c.appId??""),(0,b.u)(g.resources.kind,"app"))).limit(1);return d?{name:d.name,resourceId:d.id}:{error:"That application no longer exists."}}let[d]=await a.select({appId:g.monitors.resourceId,appName:g.resources.name,url:g.monitors.url,kind:g.monitors.kind,name:g.monitors.name}).from(g.monitors).innerJoin(g.resources,(0,b.u)(g.resources.id,g.monitors.resourceId)).where((0,b.u)(g.monitors.id,c.monitorId??"")).limit(1);return d?{name:m(d),resourceId:d.appId}:{error:"That monitor no longer exists."}}let u=a=>({scope:a.scope,resourceId:"app"===a.scope?a.appId:null,monitorId:"monitor"===a.scope?a.monitorId:null,startsAt:a.startsAt,durationMin:a.durationMin,weekly:a.weekly,note:a.note}),v=a=>a.execute(d.B`select pg_advisory_xact_lock(hashtext('ops.maintenance_windows'))`);async function w(a,c){let[e]=await a.select({n:d.B`count(*)::int`}).from(g.maintenanceWindows).where(c?(0,b.b)((0,b.c)(g.maintenanceWindows.id,c),n):n);return e?.n??0}async function x(a,b){return(0,f.f)().transaction(async c=>{if(await v(c),await w(c)>=i.J)return k;let d=await t(c,a);return"error"in d?{ok:!1,error:d.error}:(await c.insert(g.maintenanceWindows).values({...u(a),createdBy:b}).returning({id:g.maintenanceWindows.id}),{ok:!0,message:"Maintenance window added.",audit:{message:`Maintenance window added: ${d.name}`,resourceId:d.resourceId}})})}async function y(a,c){return(0,f.f)().transaction(async d=>{if(await v(d),await w(d,a)>=i.J)return k;let e=await t(d,c);return"error"in e?{ok:!1,error:e.error}:(await d.update(g.maintenanceWindows).set({...u(c),updatedAt:new Date}).where((0,b.u)(g.maintenanceWindows.id,a)).returning({id:g.maintenanceWindows.id})).length?{ok:!0,message:"Maintenance window saved.",audit:{message:`Maintenance window changed: ${e.name}`,resourceId:e.resourceId}}:j})}async function z(a){let[c]=await q().where((0,b.u)(g.maintenanceWindows.id,a)).limit(1);if(!c||!(await (0,f.f)().delete(g.maintenanceWindows).where((0,b.u)(g.maintenanceWindows.id,a)).returning({id:g.maintenanceWindows.id})).length)return j;let d="app"===c.w.scope?c.w.resourceId:"monitor"===c.w.scope?c.monAppId:null;return{ok:!0,message:"Maintenance window deleted.",audit:{message:`Maintenance window deleted: ${r(c)}`,resourceId:d}}}a.s(["x",0,x,"f",0,z,"w",0,o,"A",0,s,"u",0,y])},519051,a=>{var b=a.i(683439),c=a.i(245710);let d=[30,60,90,180,360],e=(a,b)=>({start:new Date(a),end:new Date(a+6e4*b.durationMin)}),f=(a,b)=>0===b?a.startsAt.getTime():(0,c._)(a.startsAt,7*b).getTime();function g(a,b){let c=Math.floor((b-a.startsAt.getTime())/6048e5),d=f(a,c);for(;c>0&&d>b;)d=f(a,--c);for(let e=f(a,c+1);e<=b;e=f(a,c+1))c++,d=e;return{k:c,start:d}}function h(a,b){let c=b.getTime(),d=a.startsAt.getTime();if(c<d)return null;let f=e(a.weekly?g(a,c).start:d,a);return c<f.end.getTime()?f:null}function i(a,b){let c=h(a,b);if(c)return c;let d=b.getTime(),i=a.startsAt.getTime();if(d<i)return e(i,a);if(!a.weekly)return null;let j=g(a,d);return e(j.start===d?j.start:f(a,j.k+1),a)}function j(a,b){return"all"===a.scope||"app"===a.scope&&a.appId===b.appId||"monitor"===a.scope&&a.monitorId===b.monitorId}let k=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];a.s(["X",0,"That window has already ended.","J",0,20,"x",0,function(a,b,c){let d=null;for(let e of a){let a=j(e,b)?h(e,c):null;a&&(!d||a.end>d.end)&&(d={window:e,end:a.end})}return d},"Y",0,j,"K",0,function(a,b){return!a.weekly&&a.startsAt.getTime()+6e4*a.durationMin<=b.getTime()},"u",0,function(a,b,c,d=[]){let e=new Set,f=a.filter(a=>null!==h(a,c));for(let a of f)if("app"===a.scope&&a.appId&&e.add(a.appId),"all"===a.scope)for(let a of d)e.add(a);for(let a of b)for(let b of f)j(b,{monitorId:a.id,appId:a.appId})&&(e.add(a.id),"monitor"!==b.scope&&e.add(a.appId));return e},"S",0,i,"a",0,function(a){let e={},f="all"===a.scope||"app"===a.scope||"monitor"===a.scope?a.scope:null;f||(e.scope="Pick what it applies to.");let g="string"==typeof a.start?a.start:"",h=(0,c.a)(g);h||(e.start="Pick a start time.");let i=Number(a.durationMin);d.includes(i)||(e.durationMin="Pick how long it lasts.");let j="string"==typeof a.targetId?a.targetId:"";if(f&&"all"!==f&&!(0,b.f)(j)&&(e.targetId="app"===f?"Pick an application.":"Pick a monitor."),Object.keys(e).length||!f||!h)return{ok:!1,fieldErrors:e};let k=("string"==typeof a.note?a.note:"").trim().slice(0,120)||null;return{ok:!0,value:{scope:f,appId:"app"===f?j:null,monitorId:"monitor"===f?j:null,startsAt:h,durationMin:i,weekly:!0===a.weekly,note:k}}},"y",0,function(a,b){let d=new Date(a.startsAt.getTime()+6e4*a.durationMin),e=a.weekly?`Every ${k[(0,c.z)(a.startsAt).weekday]} ${(0,c.U)(a.startsAt)}–${(0,c.U)(d)}`:`${(0,c.L)(a.startsAt)} ${(0,c.U)(a.startsAt)}–${(0,c.U)(d)}`,f=h(a,b);if(f)return{when:e,status:{state:"maint",text:`Active \xb7 until ${(0,c.U)(f.end)}`}};let g=i(a,b);return{when:e,status:g?{state:"off",text:`Next: ${(0,c.L)(g.start)} ${(0,c.U)(g.start)}`}:{state:"off",text:"Over"}}}])},910697,a=>{a.s(["O",0,{events:200,deployments:200,apps:200,monitors:200,domains:200,databases:200,recentEvents:5,ongoingBuilds:5},"A",0,{rawChecksMs:6048e5,healthBuckets:30,metricBuckets:48,responseHours:24}])}]})();
2
-
3
- //# sourceMappingURL=_0rw2pberdmaa5._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[522368,a=>{var b=a.i(954757);a.s(["z",0,b])},264906,a=>{var b=a.i(530385),c=a.i(93321),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(496843),h=a.i(910697);let i=d.B`coalesce(${f.events.lastAt}, ${f.events.at})`;async function j(a=h.O.events,d={}){return(await (0,e.f)().select({e:f.events,name:f.resources.name}).from(f.events).leftJoin(f.resources,(0,c.u)(f.resources.id,f.events.resourceId)).where(d.excludeActions?(0,c.c)(f.events.type,"action"):void 0).orderBy((0,b.A)(i)).limit(Math.max(1,Math.min(Number.isFinite(a)?Math.floor(a):h.O.events,h.O.events)))).map(({e:a,name:b})=>({id:a.id,at:a.at,lastAt:a.lastAt??null,count:a.count??1,reason:a.reason??null,type:a.type,kind:a.kind,message:a.message,detail:a.detail,resourceId:a.resourceId??null,resource:(0,g.L)({type:a.type,reason:a.reason??null,message:a.message,resource:b})}))}a.s(["f",0,j])},484458,a=>{var b=a.i(708636),c=a.i(434711);let d=async()=>({report:null,prefs:{disabled:[],defaultModel:null},allowed:c._}),e=async()=>null,f=async()=>(0,b.C)(null),g=async()=>({conns:[],summary:{listed:0,added:0,removed:0,returned:0,tested:0,ready:0},pending:!1});a.s(["T",0,"ag/","S",0,{modelSync:!1},"d",0,()=>null,"_",0,()=>[],"U",0,()=>!1,"y",0,d,"b",0,f,"V",0,e,"X",0,g])},434711,a=>{let b=["gemini","antigravity","@cf/google/gemma","claude"];function c(a,d=b){if(!a)return!1;let e=a.toLowerCase();return d.some(a=>a.length>0&&e.startsWith(a.toLowerCase()))}let d=/^[A-Za-z0-9@._:/+ ()[\]-]{1,120}$/,e=/^[a-z0-9@._:/+-]{1,120}$/;function f(a){if("string"!=typeof a)return null;let b=a.trim();if(!d.test(b))return null;let c=b.toLowerCase().replace(/[\s()[\]]+/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"");return e.test(c)?c:null}function g(a){let b=a.trim();if(b.startsWith("@"))return b;let c=b.indexOf("/");return c<0?b:b.slice(c+1)}a.s(["_",0,b,"L",0,"ai.defaultModel","I",0,/^[a-z0-9@/._-]{1,80}$/,"e",0,e,"h",0,function(a,d=b){let e=f(a);return e&&c(g(e),d)?e:null},"S",0,c,"R",0,f,"M",0,g])},86657,a=>{var b=a.i(371289),c=a.i(363652),d=a.i(501634);let e={provider:async()=>{if((0,b.W)())return{name:"Demo",model:"demo"};try{let a=await (0,c.M)();return{name:a.conn.name,model:a.publicId}}catch{return null}},appSnapshot:d.w,advice:d.y,complete:c.X};a.s(["f",0,e])}]})();
2
-
3
- //# sourceMappingURL=_0zkmkbrbc96-h._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[149310,a=>{var b=a.i(954757);a.s(["z",0,b])},460565,a=>{a.s(["B",0,3e5,"X",0,function(a){return"number"==typeof a&&Number.isFinite(a)&&a>0?6e4*a:3e5}])},133289,a=>{var b=a.i(245710),c=a.i(460565);a.s(["e",0,"Demo · no live collector","m",0,function(a,b,d=c.B){if(!a)return{state:"idle",text:"Collector hasn't run yet"};let e=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3)),f=Math.floor(e/60),g=d>c.B,h=g?Math.round(.8*d/1e3):120,i=g?Math.round(d/1e3):300;return e<60?{state:"ok",text:`Collector ran ${e}s ago`}:e<h?{state:"ok",text:`Collector ran ${f} min ago`}:e<i?{state:"warn",text:`Collector late \xb7 ran ${f} min ago`}:{state:"err",text:`Collector stopped ${f} min ago`}},"i",0,function(a,c,d){if(!a.finishedAt)return c.getTime()-a.startedAt.getTime()<12e4?{state:"build",text:"Running now"}:{state:"err",text:`Last run didn't finish (started ${(0,b.$)(a.startedAt,c)})`};let e=(0,b.$)(a.finishedAt,c);return!1===a.ok?{state:"warn",text:`Last run ${e} \xb7 finished with problems`}:c.getTime()-a.finishedAt.getTime()>=d?{state:"warn",text:`Last run ${e} \xb7 late`}:{state:"ok",text:`Last run ${e}`}}])},221084,a=>{var b=a.i(601219);async function c(a){await (0,b.f)([{type:"action",kind:a.kind,message:a.message,detail:a.detail??null,resourceId:a.resourceId,actorUserId:a.actorUserId,at:new Date}])}a.s(["f",0,c])},745614,a=>{let b="The demo is busy right now. Try again in a minute.",c="Too many new demo sessions from your network. Try again in a few minutes.",d=new Map([["watchbell-demo-busy",b],["watchbell-demo-too-many",c]]),e=new Map([...d].map(([a,b])=>[b,a]));a.s(["L",0,b,"_",0,c,"f",0,function(a){return Object.assign(Error(a),{digest:e.get(a)})},"E",0,function(a){for(let c=a,e=0;c&&e<5;c=c.cause,e++){var b;let a="string"==typeof(b=c.digest)?d.get(b)??null:null;if(a&&c instanceof Error&&c.message===a)return a}return null}])},631107,a=>{var b=a.i(245710);let c=a=>"number"==typeof a&&Number.isFinite(a)&&a>=0?a:null;a.s(["Z",0,(a,b)=>b.getTime()-a.getTime()>72e5,"O",0,function(a){let c=Math.max(0,...a.map(a=>a.views));return a.map(a=>({key:a.at.toISOString(),pct:0===a.views||0===c?0:Math.max(4,Math.round(a.views/c*100)),title:`${(0,b.U)(a.at)} \xb7 ${a.views} view${1===a.views?"":"s"}`}))},"G",0,function(a){let b=a&&"object"==typeof a?a.pageviews:null;if(!b||"object"!=typeof b)return null;let d="string"==typeof b.readAt?Date.parse(b.readAt):0/0;if(Number.isNaN(d)||"boolean"!=typeof b.enabled)return null;if(!b.enabled)return{enabled:!1,readAt:new Date(d)};let e=c(b.total24h),f=null===b.visitors24h?null:c(b.visitors24h);if(null===e||null===f&&null!==b.visitors24h)return null;let g=36e5*Math.floor(d/36e5),h=new Map;for(let a of Array.isArray(b.hourly)?b.hourly:[]){if(!Array.isArray(a))continue;let b="string"==typeof a[0]?Date.parse(a[0]):0/0,d=c(a[1]);if(Number.isNaN(b)||null===d)continue;let e=36e5*Math.floor(b/36e5);h.set(e,(h.get(e)??0)+d)}return{enabled:!0,total:e,visitors:f,hours:Array.from({length:24},(a,b)=>{let c=g-(23-b)*36e5;return{at:new Date(c),views:h.get(c)??0}}),readAt:new Date(d)}},"R",0,function(a){return!a.gone&&a.teamId&&a.accountOk?a.hasProductionDeploy?null:"Not read: this app has no production deployment yet.":"Not read: this app isn't in a connected Vercel account."},"a",0,function(a,b){return a.enabled?{enabled:!0,total24h:a.total,visitors24h:a.visitors,readAt:b.toISOString(),hourly:a.hourly.slice(-24).map(a=>[a.at.toISOString(),a.views])}:{enabled:!1,readAt:b.toISOString()}}])}]})();
2
-
3
- //# sourceMappingURL=_16vvfyez78u5k._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[689963,a=>{var b=a.i(954757);a.s(["z",0,b])},83931,a=>{var b=a.i(954757);a.s(["z",0,b])},811365,a=>{var b=a.i(954757);a.s(["z",0,b])},358179,a=>{var b=a.i(666680);let c="aes-256-gcm";function d(a){let b=Buffer.from(a,"base64");if(32!==b.length)throw Error("Encryption key must be 32 bytes, base64-encoded.");return b}function e(a,e){let f=Buffer.from(a.ciphertext,"base64");if(f.length<16)throw Error("Stored credential is damaged.");let g=(0,b.createDecipheriv)(c,d(e),Buffer.from(a.iv,"base64"));return g.setAuthTag(f.subarray(f.length-16)),Buffer.concat([g.update(f.subarray(0,f.length-16)),g.final()]).toString("utf8")}a.s(["K",0,e,"V",0,function(a,b){try{return e(a,b)}catch{return null}},"l",0,function(a,e,f=1){let g=(0,b.randomBytes)(12),h=(0,b.createCipheriv)(c,d(e),g),i=Buffer.concat([h.update(a,"utf8"),h.final()]);return{ciphertext:Buffer.concat([i,h.getAuthTag()]).toString("base64"),iv:g.toString("base64"),keyVersion:f}}])},960186,a=>{let b={supabase_project:"supabase",neon_project:"neon",firestore:"firebase",turso_database:"turso",upstash_redis:"upstash",d1_database:"d1"};function c(a){return a.toLowerCase().replace(/^webs?[-_]/,"").replace(/[-_](vercel|web|app|site|fe|frontend)$/,"").replace(/[^a-z0-9]/g,"")}a.s(["H",0,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"],"$",0,{supabase:"Supabase",neon:"Neon",firebase:"Firebase",turso:"Turso",upstash:"Upstash",d1:"Cloudflare D1"},"N",0,a=>`/${b[a]}`,"Z",0,a=>b[a],"U",0,function(a,b){let d=c(a);if(!d)return null;let e=b.filter(a=>c(a.name)===d);if(e.length)return 1===e.length?e[0].id:null;let f=b.filter(a=>{let b=c(a.name);return b.length>=4&&d.length>=4&&(d.includes(b)||b.includes(d))});return 1===f.length?f[0].id:null}])},968715,a=>{var b=a.i(245710);function c(a,c){let[d,e,f]=(0,b.x)(a).split("-").map(Number);return Array.from({length:c},(a,b)=>new Date(Date.UTC(d,e-1,f-(c-1-b))).toISOString().slice(0,10))}let d=Date.UTC(2e3,0,1);a.s(["F",0,90,"I",0,30,"W",0,c,"D",0,function(a,b,c){return d+Math.floor((a.getTime()-d)/b)*b-(c-1)*b},"w",0,function(a,b,d){return c(b,d).map(b=>a?.get(b))},"C",0,function(a){let b=new Map;for(let c of a){let a=b.get(c.monitorId);a||(a=new Map,b.set(c.monitorId,a));let d=a.get(c.day);a.set(c.day,{day:c.day,checks:(d?.checks??0)+c.checks,failures:(d?.failures??0)+c.failures,maint:(d?.maint??0)+(c.maint??0)})}return b},"f",0,function(a,b,c,d,e=null){let f=Array.from({length:d},()=>e);for(let e of a){let a=Math.round((e.t-b)/c);a>=0&&a<d&&(f[a]=e.v)}return f},"j",0,function(a){let b={ok:0,warn:0,err:0,maint:0,paused:0};for(let c of a)!c.appGone&&("ok"===c.state||"warn"===c.state||"err"===c.state||"maint"===c.state?b[c.state]++:("paused"===c.state||"off"===c.state)&&b.paused++);return b},"h",0,function(a,b,d=90,e){return c(b,d).map((b,c)=>{let f,g=a?.get(b),h=g&&(0!==g.checks||g.maint)?0===g.checks?"maint":0===g.failures?"ok":g.failures<3?"warn":"err":"none",i=0==(f=d-1-c)?"Today":1===f?"1 day ago":`${f} days ago`,j=e?.get(b),k=g&&"none"!==h?"maint"===h?`${i} \xb7 maintenance, not counted`:`${i} \xb7 ${g.failures} failed of ${g.checks}`:`${i} \xb7 no data`;return{day:b,tone:h,title:j?`${k} \xb7 deployed ${j}`:k,deploy:j}})},"Y",0,function(a){let b=0,c=0;for(let d of a)d&&(b+=d.checks,c+=d.failures);return b?(b-c)/b*100:null}])}]})();
2
-
3
- //# sourceMappingURL=_1d0anr0hjs5k5._.js.map
@@ -1,5 +0,0 @@
1
- (()=>{"use strict";module.exports=[258261,a=>{var b=a.i(494415),c=a.i(163227),d=a.i(351674);a.s(["H",0,function(a){return d.B`count(${a||d.B.raw("*")})`.mapWith(Number)},"y",0,function(a){return d.B`max(${a})`.mapWith((0,c.f)(a,b.f)?a:String)}])},601219,496843,a=>{var b=a.i(351674),c=a.i(548734),d=a.i(837137),e=a.i(245710);let f={monitor:{"Monitor down":"MonitorDown","Monitor degraded":"MonitorDegraded","Monitor recovered":"MonitorRecovered"},deployment:{"Deployment started":"DeployStarted","Deployment ready":"DeployReady","Deployment failed":"DeployFailed","Deployment canceled":"DeployCanceled"},system:{"Collector stopped":"CollectorStopped","Daily jobs finished":"DailyFinished","Daily jobs finished with problems":"DailyProblems"}};function g(a){return a.reason?a.reason:"action"===a.type?"Action":f[a.type]?.[a.message]??null}function h(a){return null!==a&&"Action"!==a}let i=/^(.+?) (?:reports an incident|incident resolved)$/;async function j(a,e=(0,c.f)()){for(let c of a){if(!c)continue;let a=c.at??new Date,f=g(c);if(h(f)){let g=new Date(a.getTime()-36e5);if((await e.update(d.events).set({count:b.B`${d.events.count} + 1`,lastAt:b.B`greatest(coalesce(${d.events.lastAt}, ${d.events.at}), ${a.toISOString()}::timestamptz)`,detail:c.detail,kind:c.kind}).where(b.B`${d.events.id} = (select id from ops.events where reason = ${f} and resource_id is not distinct from ${c.resourceId}::uuid
2
- and message = ${c.message}
3
- and coalesce(last_at, at) >= ${g.toISOString()}::timestamptz order by coalesce(last_at, at) desc limit 1)`).returning({id:d.events.id})).length)continue}await e.insert(d.events).values({at:a,resourceId:c.resourceId,type:c.type,kind:c.kind,message:c.message,detail:c.detail,actorUserId:c.actorUserId??null,reason:f,count:1})}}a.s(["t",0,36e5,"L",0,function(a){if(a.resource)return a.resource;if("ProviderIncident"===a.reason||"ProviderRecovered"===a.reason){let b=i.exec(a.message);if(b)return b[1]}return"system"===a.type?"collector":"console"},"y",0,g,"W",0,function(a,b,c){return a<=1||!b?null:`\xd7${a} \xb7 last ${(0,e.$)(b,c)}`},"w",0,h],496843),a.s(["f",0,j],601219)},683439,a=>{let b=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;a.s(["f",0,a=>"string"==typeof a&&b.test(a)])},323878,a=>{var b=a.i(93321),c=a.i(351674),d=a.i(548734),e=a.i(837137),f=a.i(312573);async function g(a,f){let[g]=await (0,d.f)().insert(e.rateLimits).values({key:a,windowStart:f,count:1}).onConflictDoUpdate({target:[e.rateLimits.key,e.rateLimits.windowStart],set:{count:c.B`${e.rateLimits.count} + 1`}}).returning({count:e.rateLimits.count});if(1===g.count)try{await (0,d.f)().delete(e.rateLimits).where((0,b.S)(e.rateLimits.windowStart,new Date(Date.now()-864e5)))}catch{console.warn("rate limit sweep failed")}return g.count}async function h(a,b){let c=new Date,d=0;return{...await (0,f.A)(a,b,{now:c,hit:async(a,b)=>d=await g(a,b)}),windowStart:(0,f.M)(c,a.windowSeconds),count:d}}async function i(a,g,h){await (0,d.f)().update(e.rateLimits).set({count:c.B`${e.rateLimits.count} - 1`}).where((0,b.b)((0,b.u)(e.rateLimits.key,(0,f.P)(a,g)),(0,b.u)(e.rateLimits.windowStart,h),(0,b.H)(e.rateLimits.count,0)))}async function j(a,c){let g=new Date,[h]=await (0,d.f)().select({count:e.rateLimits.count}).from(e.rateLimits).where((0,b.b)((0,b.u)(e.rateLimits.key,(0,f.P)(a,c)),(0,b.u)(e.rateLimits.windowStart,(0,f.M)(g,a.windowSeconds))));return(0,f.J)(a,h?.count??0,g)}a.s(["j",0,h,"C",0,function(a,b){return(0,f.A)(a,b,{hit:g})},"H",0,j,"K",0,i])}]})();
4
-
5
- //# sourceMappingURL=_1fj4vzjpusyn8._.js.map
@@ -1,3 +0,0 @@
1
- (()=>{"use strict";module.exports=[805594,a=>{var b=a.i(777001);a.s(["f",0,function(a,c){return new Proxy(a,new b.e(c,!1))}])},714530,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(805594),f=a.i(548734),g=a.i(837137),h=a.i(646324),i=a.i(519051);let j={ok:!1,error:"That maintenance window no longer exists."},k={ok:!1,error:`You can have at most ${i.J} maintenance windows. Delete one first.`},l=a=>({id:a.id,scope:a.scope,appId:a.resourceId,monitorId:a.monitorId,startsAt:a.startsAt,durationMin:a.durationMin,weekly:a.weekly,note:a.note}),m=a=>`${a.appName??"Removed app"}${"heartbeat"===a.kind?` \xb7 ${a.name??""}`:(0,h.K)(a.url??"")}`,n=d.B`(${g.maintenanceWindows.weekly} or ${g.maintenanceWindows.startsAt} + ${g.maintenanceWindows.durationMin} * interval '1 minute' > now())`;async function o(){return(await (0,f.f)().select().from(g.maintenanceWindows).where(n).orderBy((0,c.M)(g.maintenanceWindows.startsAt),(0,c.M)(g.maintenanceWindows.id)).limit(i.J)).map(l)}let p=(0,e.f)(g.resources,"mon_app");function q(){return(0,f.f)().select({w:g.maintenanceWindows,appName:g.resources.name,monApp:p.name,monAppId:g.monitors.resourceId,monUrl:g.monitors.url,monKind:g.monitors.kind,monName:g.monitors.name}).from(g.maintenanceWindows).leftJoin(g.resources,(0,b.u)(g.resources.id,g.maintenanceWindows.resourceId)).leftJoin(g.monitors,(0,b.u)(g.monitors.id,g.maintenanceWindows.monitorId)).leftJoin(p,(0,b.u)(p.id,g.monitors.resourceId))}let r=a=>"all"===a.w.scope?"All monitors":"app"===a.w.scope?a.appName??"Removed app":m({appName:a.monApp,url:a.monUrl,kind:a.monKind,name:a.monName});async function s(){return(await q().orderBy(d.B`${n} desc`,(0,c.A)(g.maintenanceWindows.startsAt),(0,c.A)(g.maintenanceWindows.id)).limit(2*i.J)).map(a=>({...l(a.w),target:r(a)})).sort((a,b)=>a.startsAt.getTime()-b.startsAt.getTime()||(a.id<b.id?-1:+(a.id>b.id)))}async function t(a,c){if("all"===c.scope)return{name:"All monitors",resourceId:null};if("app"===c.scope){let[d]=await a.select({id:g.resources.id,name:g.resources.name}).from(g.resources).where((0,b.b)((0,b.u)(g.resources.id,c.appId??""),(0,b.u)(g.resources.kind,"app"))).limit(1);return d?{name:d.name,resourceId:d.id}:{error:"That application no longer exists."}}let[d]=await a.select({appId:g.monitors.resourceId,appName:g.resources.name,url:g.monitors.url,kind:g.monitors.kind,name:g.monitors.name}).from(g.monitors).innerJoin(g.resources,(0,b.u)(g.resources.id,g.monitors.resourceId)).where((0,b.u)(g.monitors.id,c.monitorId??"")).limit(1);return d?{name:m(d),resourceId:d.appId}:{error:"That monitor no longer exists."}}let u=a=>({scope:a.scope,resourceId:"app"===a.scope?a.appId:null,monitorId:"monitor"===a.scope?a.monitorId:null,startsAt:a.startsAt,durationMin:a.durationMin,weekly:a.weekly,note:a.note}),v=a=>a.execute(d.B`select pg_advisory_xact_lock(hashtext('ops.maintenance_windows'))`);async function w(a,c){let[e]=await a.select({n:d.B`count(*)::int`}).from(g.maintenanceWindows).where(c?(0,b.b)((0,b.c)(g.maintenanceWindows.id,c),n):n);return e?.n??0}async function x(a,b){return(0,f.f)().transaction(async c=>{if(await v(c),await w(c)>=i.J)return k;let d=await t(c,a);return"error"in d?{ok:!1,error:d.error}:(await c.insert(g.maintenanceWindows).values({...u(a),createdBy:b}).returning({id:g.maintenanceWindows.id}),{ok:!0,message:"Maintenance window added.",audit:{message:`Maintenance window added: ${d.name}`,resourceId:d.resourceId}})})}async function y(a,c){return(0,f.f)().transaction(async d=>{if(await v(d),await w(d,a)>=i.J)return k;let e=await t(d,c);return"error"in e?{ok:!1,error:e.error}:(await d.update(g.maintenanceWindows).set({...u(c),updatedAt:new Date}).where((0,b.u)(g.maintenanceWindows.id,a)).returning({id:g.maintenanceWindows.id})).length?{ok:!0,message:"Maintenance window saved.",audit:{message:`Maintenance window changed: ${e.name}`,resourceId:e.resourceId}}:j})}async function z(a){let[c]=await q().where((0,b.u)(g.maintenanceWindows.id,a)).limit(1);if(!c||!(await (0,f.f)().delete(g.maintenanceWindows).where((0,b.u)(g.maintenanceWindows.id,a)).returning({id:g.maintenanceWindows.id})).length)return j;let d="app"===c.w.scope?c.w.resourceId:"monitor"===c.w.scope?c.monAppId:null;return{ok:!0,message:"Maintenance window deleted.",audit:{message:`Maintenance window deleted: ${r(c)}`,resourceId:d}}}a.s(["x",0,x,"f",0,z,"w",0,o,"A",0,s,"u",0,y])},519051,a=>{var b=a.i(683439),c=a.i(245710);let d=[30,60,90,180,360],e=(a,b)=>({start:new Date(a),end:new Date(a+6e4*b.durationMin)}),f=(a,b)=>0===b?a.startsAt.getTime():(0,c._)(a.startsAt,7*b).getTime();function g(a,b){let c=Math.floor((b-a.startsAt.getTime())/6048e5),d=f(a,c);for(;c>0&&d>b;)d=f(a,--c);for(let e=f(a,c+1);e<=b;e=f(a,c+1))c++,d=e;return{k:c,start:d}}function h(a,b){let c=b.getTime(),d=a.startsAt.getTime();if(c<d)return null;let f=e(a.weekly?g(a,c).start:d,a);return c<f.end.getTime()?f:null}function i(a,b){let c=h(a,b);if(c)return c;let d=b.getTime(),i=a.startsAt.getTime();if(d<i)return e(i,a);if(!a.weekly)return null;let j=g(a,d);return e(j.start===d?j.start:f(a,j.k+1),a)}function j(a,b){return"all"===a.scope||"app"===a.scope&&a.appId===b.appId||"monitor"===a.scope&&a.monitorId===b.monitorId}let k=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];a.s(["X",0,"That window has already ended.","J",0,20,"x",0,function(a,b,c){let d=null;for(let e of a){let a=j(e,b)?h(e,c):null;a&&(!d||a.end>d.end)&&(d={window:e,end:a.end})}return d},"Y",0,j,"K",0,function(a,b){return!a.weekly&&a.startsAt.getTime()+6e4*a.durationMin<=b.getTime()},"u",0,function(a,b,c,d=[]){let e=new Set,f=a.filter(a=>null!==h(a,c));for(let a of f)if("app"===a.scope&&a.appId&&e.add(a.appId),"all"===a.scope)for(let a of d)e.add(a);for(let a of b)for(let b of f)j(b,{monitorId:a.id,appId:a.appId})&&(e.add(a.id),"monitor"!==b.scope&&e.add(a.appId));return e},"S",0,i,"a",0,function(a){let e={},f="all"===a.scope||"app"===a.scope||"monitor"===a.scope?a.scope:null;f||(e.scope="Pick what it applies to.");let g="string"==typeof a.start?a.start:"",h=(0,c.a)(g);h||(e.start="Pick a start time.");let i=Number(a.durationMin);d.includes(i)||(e.durationMin="Pick how long it lasts.");let j="string"==typeof a.targetId?a.targetId:"";if(f&&"all"!==f&&!(0,b.f)(j)&&(e.targetId="app"===f?"Pick an application.":"Pick a monitor."),Object.keys(e).length||!f||!h)return{ok:!1,fieldErrors:e};let k=("string"==typeof a.note?a.note:"").trim().slice(0,120)||null;return{ok:!0,value:{scope:f,appId:"app"===f?j:null,monitorId:"monitor"===f?j:null,startsAt:h,durationMin:i,weekly:!0===a.weekly,note:k}}},"y",0,function(a,b){let d=new Date(a.startsAt.getTime()+6e4*a.durationMin),e=a.weekly?`Every ${k[(0,c.z)(a.startsAt).weekday]} ${(0,c.U)(a.startsAt)}–${(0,c.U)(d)}`:`${(0,c.L)(a.startsAt)} ${(0,c.U)(a.startsAt)}–${(0,c.U)(d)}`,f=h(a,b);if(f)return{when:e,status:{state:"maint",text:`Active \xb7 until ${(0,c.U)(f.end)}`}};let g=i(a,b);return{when:e,status:g?{state:"off",text:`Next: ${(0,c.L)(g.start)} ${(0,c.U)(g.start)}`}:{state:"off",text:"Over"}}}])},910697,a=>{a.s(["O",0,{events:200,deployments:200,apps:200,monitors:200,domains:200,databases:200,recentEvents:5,ongoingBuilds:5},"A",0,{rawChecksMs:6048e5,healthBuckets:30,metricBuckets:48,responseHours:24}])}]})();
2
-
3
- //# sourceMappingURL=_1rskctyr7yt-b._.js.map