watchbell 1.2.0 → 1.2.1

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 (1473) hide show
  1. package/README.md +2 -2
  2. package/package.json +1 -1
  3. package/server/.next/BUILD_ID +1 -1
  4. package/server/.next/app-path-routes-manifest.json +1 -2
  5. package/server/.next/build-manifest.json +3 -14
  6. package/server/.next/prerender-manifest.json +9 -9
  7. package/server/.next/required-server-files.json +1 -1
  8. package/server/.next/routes-manifest.json +14 -18
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +11 -11
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +78 -68
  11. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  12. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  13. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +10 -10
  14. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +78 -68
  15. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  16. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +9 -9
  18. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +78 -68
  19. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  21. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +12 -12
  22. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +78 -68
  23. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  24. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  25. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +10 -10
  26. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +78 -68
  27. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  28. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  29. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +19 -19
  30. package/server/.next/server/app/(console)/(private)/ai/models/page.js +78 -68
  31. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  32. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  33. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +9 -9
  34. package/server/.next/server/app/(console)/(private)/ai/page.js +78 -68
  35. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  37. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +12 -12
  38. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +78 -68
  39. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  41. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +15 -15
  42. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +78 -68
  43. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  44. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  45. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +10 -10
  46. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +78 -68
  47. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  48. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  49. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +10 -10
  50. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +78 -68
  51. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  52. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  53. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +9 -9
  54. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +78 -68
  55. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  56. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  57. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +10 -10
  58. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +78 -68
  59. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  60. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  61. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +22 -22
  62. package/server/.next/server/app/(console)/alerts/page.js +78 -68
  63. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  64. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  65. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +53 -23
  66. package/server/.next/server/app/(console)/apps/[id]/page.js +85 -75
  67. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  68. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  69. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +32 -22
  70. package/server/.next/server/app/(console)/apps/page.js +84 -73
  71. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  72. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  73. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +12 -12
  74. package/server/.next/server/app/(console)/backups/page.js +78 -68
  75. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  76. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  77. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +9 -9
  78. package/server/.next/server/app/(console)/catalog/page.js +78 -68
  79. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  80. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  81. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +20 -20
  82. package/server/.next/server/app/(console)/connections/page.js +78 -68
  83. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  84. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  85. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +9 -9
  86. package/server/.next/server/app/(console)/d1/page.js +79 -69
  87. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  88. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  89. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +24 -14
  90. package/server/.next/server/app/(console)/deployments/page.js +78 -68
  91. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  92. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  93. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +16 -16
  94. package/server/.next/server/app/(console)/dns/page.js +78 -68
  95. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  96. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  97. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +11 -11
  98. package/server/.next/server/app/(console)/domains/page.js +78 -68
  99. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  100. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  101. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +9 -9
  102. package/server/.next/server/app/(console)/events/page.js +78 -68
  103. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  104. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  105. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +40 -30
  106. package/server/.next/server/app/(console)/firebase/page.js +83 -73
  107. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  108. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  109. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +10 -10
  110. package/server/.next/server/app/(console)/logs/page.js +79 -69
  111. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  112. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  113. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +10 -10
  114. package/server/.next/server/app/(console)/manage/sections/page.js +78 -68
  115. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  116. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  117. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +20 -20
  118. package/server/.next/server/app/(console)/neon/page.js +78 -68
  119. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  120. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  121. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +42 -32
  122. package/server/.next/server/app/(console)/overview/page.js +85 -74
  123. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  124. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  125. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +10 -10
  126. package/server/.next/server/app/(console)/repos/[id]/page.js +78 -68
  127. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  128. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  129. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +9 -9
  130. package/server/.next/server/app/(console)/repos/page.js +78 -68
  131. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  132. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  133. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +19 -19
  134. package/server/.next/server/app/(console)/settings/page.js +78 -68
  135. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  136. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  137. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +16 -16
  138. package/server/.next/server/app/(console)/sql/page.js +78 -68
  139. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  140. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  141. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +9 -9
  142. package/server/.next/server/app/(console)/status/page.js +78 -68
  143. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  144. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  145. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +37 -27
  146. package/server/.next/server/app/(console)/supabase/page.js +78 -68
  147. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  148. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  149. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +9 -9
  150. package/server/.next/server/app/(console)/topology/page.js +78 -68
  151. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  152. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  153. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +9 -9
  154. package/server/.next/server/app/(console)/turso/page.js +78 -68
  155. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  156. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  157. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +9 -9
  158. package/server/.next/server/app/(console)/upstash/page.js +78 -68
  159. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  160. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  161. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +32 -22
  162. package/server/.next/server/app/(console)/uptime/page.js +82 -72
  163. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  164. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  165. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +14 -14
  166. package/server/.next/server/app/(console)/welcome/page.js +78 -68
  167. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  168. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  169. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  170. package/server/.next/server/app/_global-error/page.js +5 -5
  171. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  172. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  173. package/server/.next/server/app/_global-error.html +1 -1
  174. package/server/.next/server/app/_global-error.rsc +4 -5
  175. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -6
  176. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +4 -5
  177. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  178. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  179. package/server/.next/server/app/_not-found/page.js +5 -5
  180. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  181. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  182. package/server/.next/server/app/_not-found.html +1 -1
  183. package/server/.next/server/app/_not-found.rsc +5 -5
  184. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +5 -5
  185. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  186. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  187. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  188. package/server/.next/server/app/account/password/page.js +12 -10
  189. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  190. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  191. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  192. package/server/.next/server/app/api/collect/route.js +84 -77
  193. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  194. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  195. package/server/.next/server/app/api/daily/route.js +86 -79
  196. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  197. package/server/.next/server/app/api/ping/[...parts]/route.js +7 -6
  198. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  199. package/server/.next/server/app/api/status/route.js +1 -1
  200. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  201. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
  202. package/server/.next/server/app/api/telegram/webhook/route.js +81 -74
  203. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  204. package/server/.next/server/app/api/v1/advice/route.js +23 -22
  205. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  206. package/server/.next/server/app/api/v1/ai/chat/completions/route.js +11 -10
  207. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  208. package/server/.next/server/app/api/v1/ai/models/route.js +11 -10
  209. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  210. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js +13 -12
  211. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  212. package/server/.next/server/app/api/v1/ai/questions/route.js +27 -26
  213. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  214. package/server/.next/server/app/api/v1/mcp/route.js +26 -25
  215. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  216. package/server/.next/server/app/api/v1/me/route.js +10 -9
  217. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  218. package/server/.next/server/app/api/v1/openapi.json/route.js +7 -6
  219. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  220. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +22 -21
  221. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  222. package/server/.next/server/app/api/v1/status/route.js +22 -21
  223. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  224. package/server/.next/server/app/api/watchdog/route.js +20 -20
  225. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  226. package/server/.next/server/app/auth/confirm/route.js +1 -1
  227. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  228. package/server/.next/server/app/auth/google/callback/route.js +3 -3
  229. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  230. package/server/.next/server/app/auth/google/create/callback/route.js +1 -1
  231. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  232. package/server/.next/server/app/auth/not-member/route.js +1 -1
  233. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  234. package/server/.next/server/app/auth/session-ended/route.js +1 -1
  235. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  236. package/server/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
  237. package/server/.next/server/app/icon.svg/route.js +12 -0
  238. package/server/.next/server/app/icon.svg/route.js.nft.json +1 -0
  239. package/server/.next/server/app/icon.svg.body +17 -0
  240. package/server/.next/server/app/icon.svg.meta +1 -0
  241. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  242. package/server/.next/server/app/invite/page.js +12 -11
  243. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  244. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  245. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  246. package/server/.next/server/app/mfa/page.js +33 -18
  247. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  248. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  249. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  250. package/server/.next/server/app/mfa/setup/page.js +33 -18
  251. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  252. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  253. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  254. package/server/.next/server/app/page.js +6 -6
  255. package/server/.next/server/app/page.js.nft.json +1 -1
  256. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  257. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  258. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  259. package/server/.next/server/app/s/[slug]/page.js +15 -12
  260. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  261. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  262. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  263. package/server/.next/server/app/setup/page.js +7 -6
  264. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  265. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  266. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  267. package/server/.next/server/app/signin/page.js +33 -19
  268. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  269. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  270. package/server/.next/server/app-paths-manifest.json +1 -2
  271. package/server/.next/server/chunks/[externals]__0dolpidprtypa._.js +3 -0
  272. package/server/.next/server/chunks/[externals]__0pfohce9kbhcc._.js +3 -0
  273. package/server/.next/server/chunks/[externals]__1ou2ofma806s1._.js +3 -0
  274. package/server/.next/server/chunks/[root-of-the-server]__00wz8qo4hgq2i._.js +3 -0
  275. package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +3 -0
  276. package/server/.next/server/chunks/[root-of-the-server]__01estsu5k8l4t._.js +3 -0
  277. package/server/.next/server/chunks/[root-of-the-server]__01vos42kjq9nn._.js +3 -0
  278. package/server/.next/server/chunks/[root-of-the-server]__01yzy5zxsekxi._.js +3 -0
  279. package/server/.next/server/chunks/[root-of-the-server]__02ldm_7l9zld8._.js +1 -1
  280. package/server/.next/server/chunks/[root-of-the-server]__02s57amypj_ye._.js +3 -0
  281. package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.js +3 -0
  282. package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
  283. package/server/.next/server/chunks/[root-of-the-server]__0403hy52a1qcu._.js +3 -0
  284. package/server/.next/server/chunks/[root-of-the-server]__042oh4vbosg_5._.js +3 -0
  285. package/server/.next/server/chunks/[root-of-the-server]__04ogdmf82__0g._.js +3 -0
  286. package/server/.next/server/chunks/[root-of-the-server]__04oipax0jupxr._.js +3 -0
  287. package/server/.next/server/chunks/[root-of-the-server]__04ruh9diphqtp._.js +3 -0
  288. package/server/.next/server/chunks/[root-of-the-server]__04zuzs7oruu3o._.js +3 -0
  289. package/server/.next/server/chunks/[root-of-the-server]__05ht00n_eiksb._.js +3 -0
  290. package/server/.next/server/chunks/[root-of-the-server]__05jzukkrp2pvu._.js +3 -0
  291. package/server/.next/server/chunks/[root-of-the-server]__05zj7uswzr0f9._.js +3 -0
  292. package/server/.next/server/chunks/[root-of-the-server]__06jihgo98ek4u._.js +3 -0
  293. package/server/.next/server/chunks/[root-of-the-server]__08k886n7y6f_3._.js +3 -0
  294. package/server/.next/server/chunks/[root-of-the-server]__08vrztky3u2ri._.js +3 -0
  295. package/server/.next/server/chunks/[root-of-the-server]__0_64c807n6q9e._.js +3 -0
  296. package/server/.next/server/chunks/[root-of-the-server]__0ab040lxtt8_d._.js +3 -0
  297. package/server/.next/server/chunks/[root-of-the-server]__0b136ghrklbbn._.js +3 -0
  298. package/server/.next/server/chunks/[root-of-the-server]__0bvdnvpw43au9._.js +3 -0
  299. package/server/.next/server/chunks/[root-of-the-server]__0cskq__p3tja8._.js +3 -0
  300. package/server/.next/server/chunks/[root-of-the-server]__0dc0pz57q73va._.js +3 -0
  301. package/server/.next/server/chunks/[root-of-the-server]__0dltcr407-ow6._.js +3 -0
  302. package/server/.next/server/chunks/[root-of-the-server]__0f5bt0o1k41ft._.js +3 -0
  303. package/server/.next/server/chunks/[root-of-the-server]__0fyucqcukadyv._.js +3 -0
  304. package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +3 -0
  305. package/server/.next/server/chunks/[root-of-the-server]__0gm_zyr-kdgc_._.js +3 -0
  306. package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +3 -0
  307. package/server/.next/server/chunks/[root-of-the-server]__0hvejly8-nlkq._.js +3 -0
  308. package/server/.next/server/chunks/[root-of-the-server]__0i3bs_98vlttu._.js +3 -0
  309. package/server/.next/server/chunks/[root-of-the-server]__0iwp0lu-5xco7._.js +3 -0
  310. package/server/.next/server/chunks/[root-of-the-server]__0iysztx_xio84._.js +3 -0
  311. package/server/.next/server/chunks/[root-of-the-server]__0k7o0hgdraix2._.js +3 -0
  312. package/server/.next/server/chunks/[root-of-the-server]__0kgmy-sltdtb_._.js +3 -0
  313. package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +3 -0
  314. package/server/.next/server/chunks/[root-of-the-server]__0kt0hjvyklnk8._.js +3 -0
  315. package/server/.next/server/chunks/[root-of-the-server]__0kzpzdkpz_nt0._.js +3 -0
  316. package/server/.next/server/chunks/[root-of-the-server]__0l5v9itfv9nhr._.js +3 -0
  317. package/server/.next/server/chunks/[root-of-the-server]__0l601p_x_1hm7._.js +3 -0
  318. package/server/.next/server/chunks/[root-of-the-server]__0m9648az7bkus._.js +3 -0
  319. package/server/.next/server/chunks/[root-of-the-server]__0nssu45m4c8t1._.js +3 -0
  320. package/server/.next/server/chunks/[root-of-the-server]__0o1-xb-h4iivi._.js +3 -0
  321. package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.js +3 -0
  322. package/server/.next/server/chunks/[root-of-the-server]__0po8f1pcqi-db._.js +3 -0
  323. package/server/.next/server/chunks/[root-of-the-server]__0pwn8go30dm_3._.js +3 -0
  324. package/server/.next/server/chunks/[root-of-the-server]__0rpnd7cjqloa-._.js +3 -0
  325. package/server/.next/server/chunks/[root-of-the-server]__0sfnhgc5reef1._.js +3 -0
  326. package/server/.next/server/chunks/[root-of-the-server]__0so_ihc-5tp14._.js +3 -0
  327. package/server/.next/server/chunks/[root-of-the-server]__0t6dea8voaamp._.js +3 -0
  328. package/server/.next/server/chunks/[root-of-the-server]__0t9o5ca5bzg0p._.js +3 -0
  329. package/server/.next/server/chunks/[root-of-the-server]__0twr9duara46x._.js +3 -0
  330. package/server/.next/server/chunks/[root-of-the-server]__0u1wg-wnnhofm._.js +3 -0
  331. package/server/.next/server/chunks/[root-of-the-server]__0uz_r72zdnwdd._.js +3 -0
  332. package/server/.next/server/chunks/[root-of-the-server]__0v1t0gkrsn99q._.js +3 -0
  333. package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
  334. package/server/.next/server/chunks/[root-of-the-server]__0w6pa9lnl93zu._.js +3 -0
  335. package/server/.next/server/chunks/[root-of-the-server]__0w8qhgmo5c23i._.js +3 -0
  336. package/server/.next/server/chunks/[root-of-the-server]__0wbhuhlkn_ueu._.js +3 -0
  337. package/server/.next/server/chunks/[root-of-the-server]__0xd_bgjy5_tr5._.js +3 -0
  338. package/server/.next/server/chunks/[root-of-the-server]__0xgl1cg3z00iz._.js +3 -0
  339. package/server/.next/server/chunks/[root-of-the-server]__0xwv-ydetqjc7._.js +3 -0
  340. package/server/.next/server/chunks/[root-of-the-server]__0ych1y0j6e38k._.js +3 -0
  341. package/server/.next/server/chunks/[root-of-the-server]__0zhzy29i2vylk._.js +3 -0
  342. package/server/.next/server/chunks/[root-of-the-server]__0zs-wkvv1cs0i._.js +3 -0
  343. package/server/.next/server/chunks/[root-of-the-server]__0zwe7i-isx08p._.js +3 -0
  344. package/server/.next/server/chunks/[root-of-the-server]__1-37ctpn8yw_m._.js +3 -0
  345. package/server/.next/server/chunks/[root-of-the-server]__1-9hjrgvj0fpb._.js +3 -0
  346. package/server/.next/server/chunks/[root-of-the-server]__1-bvfylgbkjso._.js +3 -0
  347. package/server/.next/server/chunks/[root-of-the-server]__104ssf9-9v_5n._.js +3 -0
  348. package/server/.next/server/chunks/[root-of-the-server]__10cqzo_4dhr4m._.js +3 -0
  349. package/server/.next/server/chunks/[root-of-the-server]__10ee5dhzx78ne._.js +3 -0
  350. package/server/.next/server/chunks/[root-of-the-server]__10mob-6xfy8b0._.js +3 -0
  351. package/server/.next/server/chunks/[root-of-the-server]__10q3dc485yp4l._.js +3 -0
  352. package/server/.next/server/chunks/[root-of-the-server]__10u93zgn0-c5a._.js +3 -0
  353. package/server/.next/server/chunks/[root-of-the-server]__1147qf6sf3ru4._.js +3 -0
  354. package/server/.next/server/chunks/[root-of-the-server]__115yxhfn37r-k._.js +3 -0
  355. package/server/.next/server/chunks/[root-of-the-server]__11a8fxlpahjy2._.js +3 -0
  356. package/server/.next/server/chunks/[root-of-the-server]__11qvos_7nf8z8._.js +3 -0
  357. package/server/.next/server/chunks/[root-of-the-server]__137wzuow-_36q._.js +3 -0
  358. package/server/.next/server/chunks/[root-of-the-server]__143pob4pwxffi._.js +3 -0
  359. package/server/.next/server/chunks/[root-of-the-server]__14eyo4i2tm93k._.js +3 -0
  360. package/server/.next/server/chunks/[root-of-the-server]__14mz6mbk2m_e0._.js +3 -0
  361. package/server/.next/server/chunks/[root-of-the-server]__14pgqdfdkuopi._.js +3 -0
  362. package/server/.next/server/chunks/[root-of-the-server]__15y82djobfhof._.js +3 -0
  363. package/server/.next/server/chunks/[root-of-the-server]__163-eo1vkbzx1._.js +3 -0
  364. package/server/.next/server/chunks/[root-of-the-server]__165qlmqwvxmzr._.js +3 -0
  365. package/server/.next/server/chunks/[root-of-the-server]__19o8cf83zllm5._.js +3 -0
  366. package/server/.next/server/chunks/[root-of-the-server]__1_or7dycvkseg._.js +3 -0
  367. package/server/.next/server/chunks/[root-of-the-server]__1_zjje9edw0bz._.js +3 -0
  368. package/server/.next/server/chunks/[root-of-the-server]__1a9cd4d9ohf69._.js +3 -0
  369. package/server/.next/server/chunks/[root-of-the-server]__1acps2oi9s0i7._.js +3 -0
  370. package/server/.next/server/chunks/[root-of-the-server]__1akvpmbiap6nf._.js +6 -6
  371. package/server/.next/server/chunks/[root-of-the-server]__1cbg6fvn16har._.js +3 -0
  372. package/server/.next/server/chunks/[root-of-the-server]__1cdt67d022uf1._.js +3 -0
  373. package/server/.next/server/chunks/[root-of-the-server]__1cpee8xi1ig3-._.js +3 -0
  374. package/server/.next/server/chunks/[root-of-the-server]__1cwr95yi8preu._.js +3 -0
  375. package/server/.next/server/chunks/[root-of-the-server]__1dyith2r4bacm._.js +3 -0
  376. package/server/.next/server/chunks/[root-of-the-server]__1erq9v_t5jwp5._.js +3 -0
  377. package/server/.next/server/chunks/[root-of-the-server]__1fj8d0drhw1yx._.js +3 -0
  378. package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +3 -0
  379. package/server/.next/server/chunks/[root-of-the-server]__1ip0gr1i080kn._.js +3 -0
  380. package/server/.next/server/chunks/[root-of-the-server]__1k4cub-5zwl6v._.js +3 -0
  381. package/server/.next/server/chunks/[root-of-the-server]__1kqq90-sj8-op._.js +3 -0
  382. package/server/.next/server/chunks/[root-of-the-server]__1lam0c5a3f224._.js +3 -0
  383. package/server/.next/server/chunks/[root-of-the-server]__1lbmzw1j9jufm._.js +3 -0
  384. package/server/.next/server/chunks/[root-of-the-server]__1lfidps4tcfkg._.js +3 -0
  385. package/server/.next/server/chunks/[root-of-the-server]__1mrpvwofqktnv._.js +3 -0
  386. package/server/.next/server/chunks/[root-of-the-server]__1ozfk4_3lx1o7._.js +3 -0
  387. package/server/.next/server/chunks/[root-of-the-server]__1p1k8nq50cwfy._.js +3 -0
  388. package/server/.next/server/chunks/[root-of-the-server]__1ppnnpydkrs93._.js +3 -0
  389. package/server/.next/server/chunks/[root-of-the-server]__1pyhos8be90-4._.js +3 -0
  390. package/server/.next/server/chunks/[root-of-the-server]__1qdo_hgivrawk._.js +3 -0
  391. package/server/.next/server/chunks/[root-of-the-server]__1qp_dvfy4vvsm._.js +3 -0
  392. package/server/.next/server/chunks/[root-of-the-server]__1qrj37m-5y-56._.js +3 -0
  393. package/server/.next/server/chunks/[root-of-the-server]__1r9j5o80kocvz._.js +3 -0
  394. package/server/.next/server/chunks/[root-of-the-server]__1rk6wb8qem46d._.js +3 -0
  395. package/server/.next/server/chunks/[root-of-the-server]__1ry92m8xlcebk._.js +3 -0
  396. package/server/.next/server/chunks/[root-of-the-server]__1s20vd1etiird._.js +3 -0
  397. package/server/.next/server/chunks/[root-of-the-server]__1s9_nmhp7chvj._.js +3 -0
  398. package/server/.next/server/chunks/[root-of-the-server]__1sb8d4e5b5pdl._.js +3 -0
  399. package/server/.next/server/chunks/[root-of-the-server]__1spds17tpnsgr._.js +3 -0
  400. package/server/.next/server/chunks/[root-of-the-server]__1tzt79v15zvgk._.js +3 -0
  401. package/server/.next/server/chunks/[root-of-the-server]__1uq8blxfaq_23._.js +3 -0
  402. package/server/.next/server/chunks/[root-of-the-server]__1vmls0bkau925._.js +3 -0
  403. package/server/.next/server/chunks/[root-of-the-server]__1vutb2z9gw8el._.js +3 -0
  404. package/server/.next/server/chunks/[root-of-the-server]__1w-yk3b07wcf1._.js +3 -0
  405. package/server/.next/server/chunks/[root-of-the-server]__1w9hei9xe1odr._.js +3 -0
  406. package/server/.next/server/chunks/[root-of-the-server]__1w_wtn9h9eu93._.js +3 -0
  407. package/server/.next/server/chunks/[root-of-the-server]__1wjsjh-1i-sn6._.js +3 -0
  408. package/server/.next/server/chunks/[root-of-the-server]__1wu1dviacf85o._.js +3 -0
  409. package/server/.next/server/chunks/[root-of-the-server]__1x9u88f9545aa._.js +3 -0
  410. package/server/.next/server/chunks/[root-of-the-server]__1xrt934xl5wbd._.js +3 -0
  411. package/server/.next/server/chunks/[root-of-the-server]__1yc_xjjam78sg._.js +3 -0
  412. package/server/.next/server/chunks/[root-of-the-server]__1yzaj148hs9a1._.js +3 -0
  413. package/server/.next/server/chunks/[root-of-the-server]__1zcp6yrat15t5._.js +3 -0
  414. package/server/.next/server/chunks/[root-of-the-server]__1zrqz88a2lkx5._.js +3 -0
  415. package/server/.next/server/chunks/[root-of-the-server]__1zwi7po5_xe8-._.js +3 -0
  416. package/server/.next/server/chunks/[root-of-the-server]__2067x8gf07f-i._.js +3 -0
  417. package/server/.next/server/chunks/[root-of-the-server]__209b5bw0k6-t3._.js +3 -0
  418. package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +3 -0
  419. package/server/.next/server/chunks/[root-of-the-server]__212_l7y-180xi._.js +3 -0
  420. package/server/.next/server/chunks/[root-of-the-server]__213bsllf-9ztc._.js +3 -0
  421. package/server/.next/server/chunks/[root-of-the-server]__217jp1b3psyq_._.js +3 -0
  422. package/server/.next/server/chunks/_0-ow35nqudk5j._.js +1 -1
  423. package/server/.next/server/chunks/_023gjp96a_pq5._.js +3 -0
  424. package/server/.next/server/chunks/_03qlijpos6a21._.js +1 -1
  425. package/server/.next/server/chunks/_060yqv0qyo-lp._.js +4 -0
  426. package/server/.next/server/chunks/_06lf75x-xhl7v._.js +3 -0
  427. package/server/.next/server/chunks/_09l75j3ey14tc._.js +1 -1
  428. package/server/.next/server/chunks/_09s2unlb4r6yf._.js +3 -0
  429. package/server/.next/server/chunks/_0beox3lp9z58-._.js +3 -0
  430. package/server/.next/server/chunks/_0cbxgnkxr1uj8._.js +3 -0
  431. package/server/.next/server/chunks/_0dn7480wo_c3b._.js +3 -0
  432. package/server/.next/server/chunks/_0gobsd0_oxj5v._.js +3 -0
  433. package/server/.next/server/chunks/_0kay0bklv5khp._.js +3 -0
  434. package/server/.next/server/chunks/_0mqce8klmy8-0._.js +3 -0
  435. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  436. package/server/.next/server/chunks/_0nmfe_o9yhlh2._.js +3 -0
  437. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +3 -3
  438. package/server/.next/server/chunks/_0sy878k2ywjbq._.js +1 -1
  439. package/server/.next/server/chunks/_0vjggb8yo5b9f._.js +3 -0
  440. package/server/.next/server/chunks/_0vwctvzwde-sz._.js +37 -0
  441. package/server/.next/server/chunks/_0yzmfi6iwa_sk._.js +3 -0
  442. package/server/.next/server/chunks/_0zj10_al6r59j._.js +120 -0
  443. package/server/.next/server/chunks/_1-ior_ot6mgxg._.js +3 -0
  444. package/server/.next/server/chunks/_1-pw7jw52sbti._.js +1 -1
  445. package/server/.next/server/chunks/_1-yn_of8b2vax._.js +3 -0
  446. package/server/.next/server/chunks/_12die1sn6gq3d._.js +5 -5
  447. package/server/.next/server/chunks/_14dtti1qofqqv._.js +1 -1
  448. package/server/.next/server/chunks/_17wpfa9osjqcw._.js +3 -0
  449. package/server/.next/server/chunks/_1_son1yzo5xvl._.js +1 -1
  450. package/server/.next/server/chunks/_1c3ksp22eq0rw._.js +37 -0
  451. package/server/.next/server/chunks/_1cjfskikk32wj._.js +37 -0
  452. package/server/.next/server/chunks/_1ctwjh8q__6_g._.js +3 -0
  453. package/server/.next/server/chunks/_1d9mf39gz0bv4._.js +3 -0
  454. package/server/.next/server/chunks/_1daeuesc2d2tg._.js +3 -0
  455. package/server/.next/server/chunks/_1dlvqnaceqr-_._.js +3 -0
  456. package/server/.next/server/chunks/_1e_rbkrukj0x9._.js +120 -0
  457. package/server/.next/server/chunks/_1fi6cz4f-ri6d._.js +3 -0
  458. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +3 -3
  459. package/server/.next/server/chunks/_1jveb9aojczvg._.js +3 -0
  460. package/server/.next/server/chunks/_1msi9fy888xna._.js +3 -0
  461. package/server/.next/server/chunks/_1p_978boite-8._.js +1 -1
  462. package/server/.next/server/chunks/_1qw43v448l9e7._.js +37 -0
  463. package/server/.next/server/chunks/_1r719c9unpq-5._.js +1 -1
  464. package/server/.next/server/chunks/_1xs2ya_n7kb04._.js +57 -0
  465. package/server/.next/server/chunks/_1xyr5p_pqp086._.js +3 -0
  466. package/server/.next/server/chunks/_1z8__gxixw-z-._.js +4 -0
  467. package/server/.next/server/chunks/_1zn-ifmqqw-al._.js +3 -0
  468. package/server/.next/server/chunks/_21658fy9dy8ei._.js +3 -0
  469. package/server/.next/server/chunks/_219klbycazlx_._.js +4 -0
  470. package/server/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_1r2h_ubdhjtcp.js +3 -0
  471. package/server/.next/server/chunks/src_0--qn984h6czu._.js +3 -0
  472. package/server/.next/server/chunks/src_0390zcofy42lg._.js +3 -0
  473. package/server/.next/server/chunks/src_05jrvcsgaq5ek._.js +3 -0
  474. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  475. package/server/.next/server/chunks/src_06tyytf_c_hlu._.js +3 -0
  476. package/server/.next/server/chunks/src_07vqa8fdgu9ah._.js +3 -0
  477. package/server/.next/server/chunks/src_088gmyaew7ds0._.js +1 -1
  478. package/server/.next/server/chunks/src_08fq45_-8xq5o._.js +3 -0
  479. package/server/.next/server/chunks/src_0i-1ohush6mui._.js +3 -0
  480. package/server/.next/server/chunks/src_0lcm1yhnzhn2d._.js +3 -0
  481. package/server/.next/server/chunks/src_0u2zbz77uh__q._.js +3 -0
  482. package/server/.next/server/chunks/src_0ud2mqnh4emxz._.js +3 -0
  483. package/server/.next/server/chunks/src_0v67kw2p2wd_c._.js +3 -0
  484. package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +1 -1
  485. package/server/.next/server/chunks/src_0yve3gn52i_mn._.js +3 -0
  486. package/server/.next/server/chunks/src_1-6a00bmwlymu._.js +3 -0
  487. package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +1 -1
  488. package/server/.next/server/chunks/src_12wdz9bdn7a-7._.js +3 -0
  489. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  490. package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +1 -1
  491. package/server/.next/server/chunks/src_1cvp6ubs-3z6l._.js +3 -0
  492. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +3 -3
  493. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +3 -0
  494. package/server/.next/server/chunks/src_1v3tf1ye2jzyk._.js +3 -0
  495. package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +1 -1
  496. package/server/.next/server/chunks/src_1wmb2yl3tn-dd._.js +3 -0
  497. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +3 -3
  498. package/server/.next/server/chunks/src_lib_0-xd6p5793qdu._.js +3 -0
  499. package/server/.next/server/chunks/src_lib_0cbh80jxsdx3n._.js +6 -0
  500. package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
  501. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  502. package/server/.next/server/chunks/src_lib_0lpdyif-edl7i._.js +3 -0
  503. package/server/.next/server/chunks/src_lib_0n1xnas42gur9._.js +1 -1
  504. package/server/.next/server/chunks/src_lib_0qbcg988i_-ee._.js +3 -0
  505. package/server/.next/server/chunks/src_lib_0s_txig7jm3ty._.js +3 -3
  506. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +2 -2
  507. package/server/.next/server/chunks/src_lib_1550ey8j96v9n._.js +4 -0
  508. package/server/.next/server/chunks/src_lib_15wd7ab4u5nrn._.js +3 -3
  509. package/server/.next/server/chunks/src_lib_15y0kwcot_7u0._.js +6 -0
  510. package/server/.next/server/chunks/src_lib_16oqslmhfgod1._.js +3 -0
  511. package/server/.next/server/chunks/src_lib_16y1secb8t9fj._.js +6 -0
  512. package/server/.next/server/chunks/src_lib_18wgdeemqm6gg._.js +3 -0
  513. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +2 -2
  514. package/server/.next/server/chunks/src_lib_1iwyh213u9xts._.js +6 -0
  515. package/server/.next/server/chunks/src_lib_1onr7b4_kglpt._.js +4 -0
  516. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +2 -2
  517. package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
  518. package/server/.next/server/chunks/src_lib_1xwavi_m_li7p._.js +3 -0
  519. package/server/.next/server/chunks/src_lib_1ywf_wup1kxy_._.js +1 -1
  520. package/server/.next/server/chunks/src_lib_1zd1btsqvk1e2._.js +3 -0
  521. package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  522. package/server/.next/server/chunks/src_lib_collector_http-check_ts_0bh0rtjky3u1-._.js +3 -0
  523. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +5 -5
  524. package/server/.next/server/chunks/src_lib_data_advisor-db_ts_0rl1ug3iana24._.js +3 -0
  525. package/server/.next/server/chunks/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +3 -0
  526. package/server/.next/server/chunks/src_lib_data_deployments-db_ts_1shbv_55rwa2-._.js +3 -0
  527. package/server/.next/server/chunks/src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js +3 -0
  528. package/server/.next/server/chunks/src_lib_demo_0a5wqvhuj5hjh._.js +3 -0
  529. package/server/.next/server/chunks/src_lib_demo_0alh_mll9yp9d._.js +3 -0
  530. package/server/.next/server/chunks/src_lib_demo_0rbejiyw_ry41._.js +3 -0
  531. package/server/.next/server/chunks/src_lib_demo_11p30f_ci6ie2._.js +3 -0
  532. package/server/.next/server/chunks/src_lib_demo_21179a6aev-i3._.js +3 -0
  533. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +6 -6
  534. package/server/.next/server/chunks/src_lib_demo_session_ts_01_g7aejuhoq0._.js +3 -0
  535. package/server/.next/server/chunks/src_lib_deps_plan_ts_0bctf8v4qttk5._.js +1 -1
  536. package/server/.next/server/chunks/src_lib_domain-move_ts_04stiet1-xpe2._.js +3 -0
  537. package/server/.next/server/chunks/src_lib_local-auth_proxy_ts_1g9krhdh2rnt2._.js +4 -4
  538. package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +1 -1
  539. package/server/.next/server/chunks/src_lib_rate-limit_ts_09dzyftcadggh._.js +1 -1
  540. package/server/.next/server/chunks/src_lib_rate-limit_ts_0r-eu6to05vyx._.js +1 -1
  541. package/server/.next/server/chunks/src_lib_rate-limit_ts_1ahtm4quu2rri._.js +1 -1
  542. package/server/.next/server/chunks/src_lib_sections_ts_0r8u4nvlpdkgq._.js +3 -0
  543. package/server/.next/server/chunks/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  544. package/server/.next/server/chunks/src_private_1yzfhupl3rlpx._.js +6 -0
  545. package/server/.next/server/chunks/src_private_actions_proposals-settings_ts_16v2x9a4amejq._.js +1 -1
  546. package/server/.next/server/chunks/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  547. package/server/.next/server/chunks/src_private_auth_api-key_ts_1y0tfcmbozpwf._.js +4 -4
  548. package/server/.next/server/chunks/src_private_console_snapshot_ts_17etygjp9dy1t._.js +1 -1
  549. package/server/.next/server/chunks/src_private_mcp_data_ts_0qdp7n8rzp7k7._.js +1 -1
  550. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  551. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_1q6nc5chwn5k4.js +1 -1
  552. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +1 -1
  553. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +1 -1
  554. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +1 -1
  555. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +1 -1
  556. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +1 -1
  557. package/server/.next/server/chunks/ssr/[externals]__0et8619os7o06._.js +3 -0
  558. package/server/.next/server/chunks/ssr/[externals]__0jv_q8g96gubg._.js +3 -0
  559. package/server/.next/server/chunks/ssr/[externals]__0uri0lxk2rh6k._.js +3 -0
  560. package/server/.next/server/chunks/ssr/[externals]__0x50_fipcza3k._.js +3 -0
  561. package/server/.next/server/chunks/ssr/[externals]__0yzs5m5hot2o2._.js +3 -0
  562. package/server/.next/server/chunks/ssr/[externals]__1hqh7fi0-rtlc._.js +3 -0
  563. package/server/.next/server/chunks/ssr/[externals]__1mmmc4yhx5fm6._.js +3 -0
  564. package/server/.next/server/chunks/ssr/[externals]__1neu6qld_ilyx._.js +3 -0
  565. package/server/.next/server/chunks/ssr/[externals]__1nv-uycpa6_lh._.js +3 -0
  566. package/server/.next/server/chunks/ssr/[externals]__1p5zuqwmfkoo1._.js +3 -0
  567. package/server/.next/server/chunks/ssr/[externals]__1thdbok76xtof._.js +3 -0
  568. package/server/.next/server/chunks/ssr/[root-of-the-server]__0-jx3t8dg8n5t._.js +3 -0
  569. package/server/.next/server/chunks/ssr/[root-of-the-server]__0-o5i-5pqjk5v._.js +3 -0
  570. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +3 -0
  571. package/server/.next/server/chunks/ssr/[root-of-the-server]__00wwav5k7xmy0._.js +3 -0
  572. package/server/.next/server/chunks/ssr/[root-of-the-server]__01mgajn73iwc7._.js +5 -0
  573. package/server/.next/server/chunks/ssr/[root-of-the-server]__04klr3-4qi7-t._.js +3 -0
  574. package/server/.next/server/chunks/ssr/[root-of-the-server]__04tkts7c9ylma._.js +3 -0
  575. package/server/.next/server/chunks/ssr/[root-of-the-server]__04zgt2t-w6-75._.js +3 -0
  576. package/server/.next/server/chunks/ssr/[root-of-the-server]__050d99bknjdvq._.js +3 -0
  577. package/server/.next/server/chunks/ssr/[root-of-the-server]__05hw89gap74cw._.js +3 -0
  578. package/server/.next/server/chunks/ssr/[root-of-the-server]__05q-laapy00sk._.js +3 -0
  579. package/server/.next/server/chunks/ssr/[root-of-the-server]__06uaa_2zbg57p._.js +3 -0
  580. package/server/.next/server/chunks/ssr/[root-of-the-server]__081l8lhgoffuc._.js +3 -0
  581. package/server/.next/server/chunks/ssr/[root-of-the-server]__0828947qad6xx._.js +3 -0
  582. package/server/.next/server/chunks/ssr/[root-of-the-server]__08w3ad-xux1g4._.js +3 -0
  583. package/server/.next/server/chunks/ssr/[root-of-the-server]__0_1130gx52k-9._.js +3 -0
  584. package/server/.next/server/chunks/ssr/[root-of-the-server]__0_677ii9bahoy._.js +3 -0
  585. package/server/.next/server/chunks/ssr/[root-of-the-server]__0bn_thc_vtf_i._.js +3 -0
  586. package/server/.next/server/chunks/ssr/[root-of-the-server]__0dd9rci1isdjf._.js +3 -0
  587. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ejxk0jlgi4eb._.js +3 -0
  588. package/server/.next/server/chunks/ssr/[root-of-the-server]__0exp042uqhyqs._.js +3 -0
  589. package/server/.next/server/chunks/ssr/[root-of-the-server]__0fkxv6yyok76e._.js +3 -0
  590. package/server/.next/server/chunks/ssr/[root-of-the-server]__0h2hxe0vl-2x0._.js +3 -0
  591. package/server/.next/server/chunks/ssr/[root-of-the-server]__0hgf7si8htevx._.js +3 -0
  592. package/server/.next/server/chunks/ssr/[root-of-the-server]__0k8k-fbyzfbog._.js +3 -0
  593. package/server/.next/server/chunks/ssr/[root-of-the-server]__0khp_gsot3jh_._.js +3 -0
  594. package/server/.next/server/chunks/ssr/[root-of-the-server]__0khvq0xdah931._.js +3 -0
  595. package/server/.next/server/chunks/ssr/[root-of-the-server]__0kr_tvfgqtb-o._.js +3 -0
  596. package/server/.next/server/chunks/ssr/[root-of-the-server]__0lehuiyzxp78t._.js +3 -0
  597. package/server/.next/server/chunks/ssr/[root-of-the-server]__0llh-w4ta1qbp._.js +3 -0
  598. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nlfip3wc3l2z._.js +4 -0
  599. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nrc_8-wrhf3y._.js +3 -0
  600. package/server/.next/server/chunks/ssr/[root-of-the-server]__0oayb8dm0iu8k._.js +3 -0
  601. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ojywxj06986-._.js +3 -0
  602. package/server/.next/server/chunks/ssr/[root-of-the-server]__0p7d9dfmuhnvv._.js +3 -0
  603. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ptdec0sozaqm._.js +3 -0
  604. package/server/.next/server/chunks/ssr/[root-of-the-server]__0tjab3yn0asf7._.js +3 -0
  605. package/server/.next/server/chunks/ssr/[root-of-the-server]__0tp9vtckbkk9o._.js +3 -0
  606. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ujxsp9l9ad-l._.js +3 -0
  607. package/server/.next/server/chunks/ssr/[root-of-the-server]__0vdb51zrgcnkp._.js +3 -0
  608. package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +1 -1
  609. package/server/.next/server/chunks/ssr/[root-of-the-server]__0yzkcvsekwypa._.js +3 -0
  610. package/server/.next/server/chunks/ssr/[root-of-the-server]__1096-q3_trmm9._.js +3 -0
  611. package/server/.next/server/chunks/ssr/[root-of-the-server]__10rhqv5xq9jaj._.js +3 -0
  612. package/server/.next/server/chunks/ssr/[root-of-the-server]__10y2ig7dg3f-k._.js +3 -0
  613. package/server/.next/server/chunks/ssr/[root-of-the-server]__11ham42w_feik._.js +3 -0
  614. package/server/.next/server/chunks/ssr/[root-of-the-server]__12-a3tcnfdcyq._.js +3 -0
  615. package/server/.next/server/chunks/ssr/[root-of-the-server]__12ymdwm8dphvu._.js +3 -0
  616. package/server/.next/server/chunks/ssr/[root-of-the-server]__133_j0bmsjnzt._.js +3 -0
  617. package/server/.next/server/chunks/ssr/[root-of-the-server]__14ept-_l8j32m._.js +3 -0
  618. package/server/.next/server/chunks/ssr/[root-of-the-server]__15keslh0ov5mv._.js +3 -0
  619. package/server/.next/server/chunks/ssr/[root-of-the-server]__15wwi1pda8ims._.js +3 -0
  620. package/server/.next/server/chunks/ssr/[root-of-the-server]__16ehn8dupt4y_._.js +3 -0
  621. package/server/.next/server/chunks/ssr/[root-of-the-server]__16jkttbe1yoai._.js +3 -0
  622. package/server/.next/server/chunks/ssr/[root-of-the-server]__17bfr3mlfy4ur._.js +3 -0
  623. package/server/.next/server/chunks/ssr/[root-of-the-server]__18xb7pbdmiyiz._.js +3 -0
  624. package/server/.next/server/chunks/ssr/[root-of-the-server]__194546bqpq02e._.js +3 -0
  625. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  626. package/server/.next/server/chunks/ssr/[root-of-the-server]__1a3fyho18xlil._.js +3 -0
  627. package/server/.next/server/chunks/ssr/[root-of-the-server]__1acw8ohqfhez7._.js +3 -0
  628. package/server/.next/server/chunks/ssr/[root-of-the-server]__1bvp2ia3h9qbs._.js +3 -0
  629. package/server/.next/server/chunks/ssr/[root-of-the-server]__1cmcwg6afneet._.js +3 -0
  630. package/server/.next/server/chunks/ssr/[root-of-the-server]__1dyjzbqwy6o12._.js +3 -0
  631. package/server/.next/server/chunks/ssr/[root-of-the-server]__1f9yq2f20_bof._.js +3 -0
  632. package/server/.next/server/chunks/ssr/[root-of-the-server]__1fj33_xkainxk._.js +4 -0
  633. package/server/.next/server/chunks/ssr/[root-of-the-server]__1hmh1-e3z3_dw._.js +3 -0
  634. package/server/.next/server/chunks/ssr/[root-of-the-server]__1jgp7__2zpblj._.js +3 -0
  635. package/server/.next/server/chunks/ssr/[root-of-the-server]__1k_hi9mbd4_by._.js +3 -0
  636. package/server/.next/server/chunks/ssr/[root-of-the-server]__1kieqcc6kdywx._.js +3 -0
  637. package/server/.next/server/chunks/ssr/[root-of-the-server]__1l695djsioelp._.js +3 -0
  638. package/server/.next/server/chunks/ssr/[root-of-the-server]__1nat8lbog5imr._.js +3 -0
  639. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pfk0fqey3ipf._.js +3 -0
  640. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pgpryg9lkmoz._.js +3 -0
  641. package/server/.next/server/chunks/ssr/[root-of-the-server]__1qac3db7p9a38._.js +3 -0
  642. package/server/.next/server/chunks/ssr/[root-of-the-server]__1t4thrxlv4zre._.js +3 -0
  643. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tco2ec6ha1k6._.js +3 -0
  644. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tcu4-eowz9vt._.js +3 -0
  645. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tuftf7fags7x._.js +5 -0
  646. package/server/.next/server/chunks/ssr/[root-of-the-server]__1vyste6xyyu37._.js +3 -0
  647. package/server/.next/server/chunks/ssr/[root-of-the-server]__1xt8hv0dzjv2i._.js +3 -0
  648. package/server/.next/server/chunks/ssr/[root-of-the-server]__1xwqrik2sugmi._.js +3 -0
  649. package/server/.next/server/chunks/ssr/[root-of-the-server]__1yf4_oyl-3xp7._.js +3 -0
  650. package/server/.next/server/chunks/ssr/[root-of-the-server]__20of6xa16fwqa._.js +3 -0
  651. package/server/.next/server/chunks/ssr/[root-of-the-server]__2195hg4329yfp._.js +3 -0
  652. package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +2 -2
  653. package/server/.next/server/chunks/ssr/_022u_nnwo1yb4._.js +3 -0
  654. package/server/.next/server/chunks/ssr/_026w_ig6vy9bt._.js +1 -1
  655. package/server/.next/server/chunks/ssr/_04ltmruop4rt3._.js +4 -0
  656. package/server/.next/server/chunks/ssr/_06kn13xh_13da._.js +3 -0
  657. package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +2 -2
  658. package/server/.next/server/chunks/ssr/_090fib2x989oc._.js +3 -0
  659. package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +3 -0
  660. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  661. package/server/.next/server/chunks/ssr/_0_rtyc4t9xcdo._.js +1 -1
  662. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  663. package/server/.next/server/chunks/ssr/_0ad3y3l77xkxe._.js +3 -0
  664. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  665. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +3 -0
  666. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  667. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  668. package/server/.next/server/chunks/ssr/_0fyag9o6gdcmb._.js +3 -0
  669. package/server/.next/server/chunks/ssr/_0hmxyfx7su4uk._.js +4 -0
  670. package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +2 -2
  671. package/server/.next/server/chunks/ssr/_0i2a_ziqzhyq-._.js +3 -0
  672. package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +2 -2
  673. package/server/.next/server/chunks/ssr/_0k2qpgzlqzc_p._.js +1 -1
  674. package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +2 -2
  675. package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +2 -2
  676. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  677. package/server/.next/server/chunks/ssr/_0qcvpnwa1u3vr._.js +3 -0
  678. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +4 -0
  679. package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +1 -1
  680. package/server/.next/server/chunks/ssr/_0ufjz7kfd4jbd._.js +3 -0
  681. package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +2 -2
  682. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +3 -0
  683. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +4 -0
  684. package/server/.next/server/chunks/ssr/_0ymtfa6vo-yz5._.js +3 -0
  685. package/server/.next/server/chunks/ssr/_0yn1xeumiigj0._.js +3 -0
  686. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  687. package/server/.next/server/chunks/ssr/_1-ior_ot6mgxg._.js +3 -0
  688. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  689. package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +2 -2
  690. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +4 -0
  691. package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +2 -2
  692. package/server/.next/server/chunks/ssr/_14dtti1qofqqv._.js +1 -1
  693. package/server/.next/server/chunks/ssr/_14n2368190qms._.js +3 -0
  694. package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +2 -2
  695. package/server/.next/server/chunks/ssr/_18lgd6o04ugow._.js +2 -2
  696. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  697. package/server/.next/server/chunks/ssr/_19dldpcnzhkuw._.js +3 -0
  698. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  699. package/server/.next/server/chunks/ssr/_1ag8axv14phju._.js +4 -0
  700. package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +2 -2
  701. package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +2 -2
  702. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  703. package/server/.next/server/chunks/ssr/_1dlvqnaceqr-_._.js +3 -0
  704. package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +2 -2
  705. package/server/.next/server/chunks/ssr/_1e5zfwgdf0mm5._.js +3 -0
  706. package/server/.next/server/chunks/ssr/_1g27pa6rivh_s._.js +1 -1
  707. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  708. package/server/.next/server/chunks/ssr/_1h93joqd_-1og._.js +3 -0
  709. package/server/.next/server/chunks/ssr/_1i77n2n-wb98v._.js +2 -2
  710. package/server/.next/server/chunks/ssr/_1i96si4hzn74p._.js +1 -1
  711. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  712. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  713. package/server/.next/server/chunks/ssr/_1nzncndn-1ggb._.js +1 -1
  714. package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +3 -0
  715. package/server/.next/server/chunks/ssr/_1uae0vl2c6fz7._.js +3 -0
  716. package/server/.next/server/chunks/ssr/_1w3eagae2f-2-._.js +1 -1
  717. package/server/.next/server/chunks/ssr/_1w_rq6clcs0ft._.js +4 -0
  718. package/server/.next/server/chunks/ssr/_1wssvwkmxcdn5._.js +3 -0
  719. package/server/.next/server/chunks/ssr/_1y8wer5tpgiqw._.js +3 -0
  720. package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +2 -2
  721. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  722. package/server/.next/server/chunks/ssr/_20gx4od4pnj8d._.js +3 -0
  723. package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +2 -2
  724. package/server/.next/server/chunks/ssr/_217qa04yo70zg._.js +3 -0
  725. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +1 -1
  726. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +1 -1
  727. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +1 -1
  728. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +1 -1
  729. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1zw_mdh2ep6vs.js +3 -0
  730. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_06a1fnrawxlh1.js +1 -1
  731. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +1 -1
  732. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +1 -1
  733. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_217-u-dmlzx6a.js +3 -0
  734. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +1 -1
  735. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_0ven9q46d3d7s.js +1 -1
  736. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +1 -1
  737. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +1 -1
  738. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +1 -1
  739. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  740. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  741. package/server/.next/server/chunks/ssr/node_modules_1_u5afwqp6brs._.js +3 -0
  742. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-kg_ige9ehqj.js +3 -0
  743. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00k37tbaia8dh.js +3 -0
  744. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00z_p6szkga15.js +3 -0
  745. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_01-utr59mtfg1.js +3 -0
  746. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_055hw7kwif935.js +3 -0
  747. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06fg_efdkc3kx.js +3 -0
  748. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08f3d08smwt6_.js +3 -0
  749. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08lcfro9qovjn.js +3 -0
  750. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0c8wd69fns_0d.js +3 -0
  751. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0cha-3kg99u4h.js +3 -0
  752. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d_0he72lzkh9.js +3 -0
  753. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0f6chw8z5cuyg.js +3 -0
  754. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0i3p3qfjihm3f.js +3 -0
  755. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ivgh76j_tu2x.js +3 -0
  756. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j9-_xhs21abp.js +3 -0
  757. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0kwpdjujljna-.js +3 -0
  758. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ns6neau7m6mt.js +3 -0
  759. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rer2akuum5r-.js +3 -0
  760. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0umt_achusjjb.js +3 -0
  761. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0un7wq602mt3n.js +3 -0
  762. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vrdl9n7guitd.js +3 -0
  763. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vse2cboy4cms.js +3 -0
  764. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0x7ey4_8b48_o.js +3 -0
  765. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0z8l8t55t65t_.js +3 -0
  766. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0zap6p0vuv-fp.js +3 -0
  767. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-m49cfu6a7gl.js +3 -0
  768. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-w3hswsbrppl.js +3 -0
  769. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1167zbjp4ys_a.js +3 -0
  770. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_129serqqq3xyq.js +3 -0
  771. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12en3pdvxu0dy.js +3 -0
  772. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14-4y3i6c1vxc.js +3 -0
  773. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1596hk9t3r1a5.js +3 -0
  774. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17us24ry0om-z.js +3 -0
  775. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_8xi22-aoxu1.js +3 -0
  776. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_l32aoya75_m.js +3 -0
  777. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ar0v26274uhj.js +3 -0
  778. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dkgfjoaf_1g3.js +3 -0
  779. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1eg14m09zdg__.js +3 -0
  780. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1h_y671y1la_8.js +3 -0
  781. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mkokmyyp47hd.js +3 -0
  782. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1msjiuu45famw.js +3 -0
  783. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mw7isdchouml.js +3 -0
  784. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1n4cotiug2a_r.js +3 -0
  785. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1njl24pr6dwrt.js +3 -0
  786. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o1_3bydb-3j5.js +3 -0
  787. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1pjor42_s9imf.js +3 -0
  788. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1q_82vyl-q7u6.js +3 -0
  789. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qta4yeufzpz7.js +3 -0
  790. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qxbl6k6dji0s.js +3 -0
  791. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_21a3kf8buivxw.js +3 -0
  792. package/server/.next/server/chunks/ssr/src_0-v68qrxobagw._.js +4 -3
  793. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  794. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  795. package/server/.next/server/chunks/ssr/src_0905fjqu0qv57._.js +3 -0
  796. package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +2 -2
  797. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  798. package/server/.next/server/chunks/ssr/src_0i-1ohush6mui._.js +3 -0
  799. package/server/.next/server/chunks/ssr/src_0ixeyy74fe5jy._.js +3 -0
  800. package/server/.next/server/chunks/ssr/src_0ley8c3htc2q9._.js +3 -0
  801. package/server/.next/server/chunks/ssr/src_0oagnv9_4qww7._.js +3 -0
  802. package/server/.next/server/chunks/ssr/src_0p0fk07bj9gpq._.js +1 -1
  803. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  804. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
  805. package/server/.next/server/chunks/ssr/src_0vi30frvjgri2._.js +3 -0
  806. package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +1 -1
  807. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  808. package/server/.next/server/chunks/ssr/src_12sdm7skn8fr1._.js +3 -0
  809. package/server/.next/server/chunks/ssr/src_13upnysaqwi9a._.js +3 -0
  810. package/server/.next/server/chunks/ssr/src_16lx0qdi44evh._.js +3 -0
  811. package/server/.next/server/chunks/ssr/src_1koc8y1nfdlw3._.js +3 -0
  812. package/server/.next/server/chunks/ssr/src_1nse4o3frj33x._.js +3 -0
  813. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +3 -0
  814. package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +1 -1
  815. package/server/.next/server/chunks/ssr/src_1xjlp4oxlprxb._.js +3 -0
  816. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  817. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  818. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  819. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  820. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
  821. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  822. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_1kor9sy67qpiw._.js +1 -1
  823. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  824. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_1v003vrkwk19w._.js +1 -1
  825. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  826. package/server/.next/server/chunks/ssr/src_app_(console)_05mlxmavgli8_._.js +3 -0
  827. package/server/.next/server/chunks/ssr/src_app_(console)_0u1ec16rmzze6._.js +3 -0
  828. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +1 -1
  829. package/server/.next/server/chunks/ssr/src_app_(console)_apps_1_g9txz3qpxgg._.js +1 -1
  830. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  831. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  832. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  833. package/server/.next/server/chunks/ssr/src_app_(console)_catalog_page_tsx_1u2_-bv4yi5oo._.js +1 -1
  834. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  835. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  836. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  837. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  838. package/server/.next/server/chunks/ssr/src_app_(console)_deployments_06a83hsex1kba._.js +1 -1
  839. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  840. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  841. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_1stlii5cy_hx3._.js +3 -0
  842. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +3 -0
  843. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  844. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_17htk-vea5fna._.js +1 -1
  845. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  846. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  847. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  848. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  849. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  850. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  851. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  852. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_148phfjye0539._.js +1 -1
  853. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  854. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  855. package/server/.next/server/chunks/ssr/src_app_(console)_welcome_page_tsx_1bw0x0riq-oem._.js +1 -1
  856. package/server/.next/server/chunks/ssr/src_app_invite_page_tsx_0mny3a23n5hs9._.js +1 -1
  857. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  858. package/server/.next/server/chunks/ssr/src_app_s_[slug]_not-found_tsx_04_zrw19809g4._.js +3 -0
  859. package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
  860. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  861. package/server/.next/server/chunks/ssr/src_app_signin_06v-xlrxfp079._.js +3 -0
  862. package/server/.next/server/chunks/ssr/src_app_signin_1_sp0qx8_z7c9._.js +1 -1
  863. package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +3 -0
  864. package/server/.next/server/chunks/ssr/src_components_0j11cbzb8mgbx._.js +1 -1
  865. package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.js +1 -1
  866. package/server/.next/server/chunks/ssr/src_components_1pytjhvy4c2mp._.js +1 -1
  867. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  868. package/server/.next/server/chunks/ssr/src_components_row-menu_tsx_0rzpl9elzpy8u._.js +1 -1
  869. package/server/.next/server/chunks/ssr/src_lib_0-xd6p5793qdu._.js +3 -0
  870. package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +1 -1
  871. package/server/.next/server/chunks/ssr/src_lib_033ses2c4-ww-._.js +1 -1
  872. package/server/.next/server/chunks/ssr/src_lib_0br09js6tlkn0._.js +3 -0
  873. package/server/.next/server/chunks/ssr/src_lib_0f_4mvf4-xxst._.js +1 -1
  874. package/server/.next/server/chunks/ssr/src_lib_0n1xnas42gur9._.js +1 -1
  875. package/server/.next/server/chunks/ssr/src_lib_0qbcg988i_-ee._.js +3 -0
  876. package/server/.next/server/chunks/ssr/src_lib_16oqslmhfgod1._.js +3 -0
  877. package/server/.next/server/chunks/ssr/src_lib_18e550s395xn5._.js +3 -0
  878. package/server/.next/server/chunks/ssr/src_lib_18wgdeemqm6gg._.js +3 -0
  879. package/server/.next/server/chunks/ssr/src_lib_1_5ea0kxdn6zt._.js +3 -0
  880. package/server/.next/server/chunks/ssr/src_lib_1xwavi_m_li7p._.js +3 -0
  881. package/server/.next/server/chunks/ssr/src_lib_1ywf_wup1kxy_._.js +1 -1
  882. package/server/.next/server/chunks/ssr/src_lib_20y7pw44m8gs0._.js +1 -1
  883. package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  884. package/server/.next/server/chunks/ssr/src_lib_backoff_ts_1ng2bz5j0w501._.js +3 -0
  885. package/server/.next/server/chunks/ssr/src_lib_collector_db-tasks_ts_1srkgjghwj3ma._.js +3 -0
  886. package/server/.next/server/chunks/ssr/src_lib_collector_http-check_ts_0bh0rtjky3u1-._.js +3 -0
  887. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
  888. package/server/.next/server/chunks/ssr/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +3 -0
  889. package/server/.next/server/chunks/ssr/src_lib_data_deployments-db_ts_1shbv_55rwa2-._.js +3 -0
  890. package/server/.next/server/chunks/ssr/src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js +3 -0
  891. package/server/.next/server/chunks/ssr/src_lib_data_public-status-db_ts_0gvnrjcitruqe._.js +1 -1
  892. package/server/.next/server/chunks/ssr/src_lib_data_supabase-action_ts_0h0b758akvlvd._.js +1 -1
  893. package/server/.next/server/chunks/ssr/src_lib_data_vercel-action_ts_1hvera3nwo5fp._.js +1 -1
  894. package/server/.next/server/chunks/ssr/src_lib_demo_0a5wqvhuj5hjh._.js +3 -0
  895. package/server/.next/server/chunks/ssr/src_lib_demo_0mr090huk17s8._.js +3 -0
  896. package/server/.next/server/chunks/ssr/src_lib_demo_15okweo0amos4._.js +3 -0
  897. package/server/.next/server/chunks/ssr/src_lib_deps_plan_ts_0bctf8v4qttk5._.js +1 -1
  898. package/server/.next/server/chunks/ssr/src_lib_domain-move_ts_04stiet1-xpe2._.js +3 -0
  899. package/server/.next/server/chunks/ssr/src_lib_rate-limit_ts_0r-eu6to05vyx._.js +1 -1
  900. package/server/.next/server/chunks/ssr/src_lib_sections_ts_0r8u4nvlpdkgq._.js +3 -0
  901. package/server/.next/server/chunks/ssr/src_lib_utils_ts_0m4hn6s00gc2u._.js +3 -0
  902. package/server/.next/server/chunks/ssr/src_lib_view_deploy-actions_ts_110iixnn6rdh9._.js +3 -0
  903. package/server/.next/server/chunks/ssr/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  904. package/server/.next/server/chunks/ssr/src_lib_view_usage_ts_1h1tj0m3n2vul._.js +1 -1
  905. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  906. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  907. package/server/.next/server/chunks/ssr/src_private_actions_proposals-settings_ts_16v2x9a4amejq._.js +1 -1
  908. package/server/.next/server/chunks/ssr/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
  909. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  910. package/server/.next/server/chunks/ssr/src_private_ai_usage-analytics_ts_1bxba3xarzol0._.js +1 -1
  911. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  912. package/server/.next/server/middleware-build-manifest.js +3 -14
  913. package/server/.next/server/middleware.js +1 -1
  914. package/server/.next/server/next-font-manifest.js +1 -1
  915. package/server/.next/server/next-font-manifest.json +0 -4
  916. package/server/.next/server/pages/404.html +1 -1
  917. package/server/.next/server/pages/500.html +1 -1
  918. package/server/.next/server/preview-props.json +3 -3
  919. package/server/.next/server/server-reference-manifest.js +1 -1
  920. package/server/.next/server/server-reference-manifest.json +240 -210
  921. package/server/.next/static/chunks/01mhc6kz81iwf.js +1 -0
  922. package/server/.next/static/chunks/02byu0sw5d0g9.js +1 -0
  923. package/server/.next/static/chunks/02e07gc948zdh.js +1 -0
  924. package/server/.next/static/chunks/04lzxilmq17f_.js +1 -0
  925. package/server/.next/static/chunks/04yl9t4cn6zwm.js +1 -0
  926. package/server/.next/static/chunks/08oksl0raetg5.js +1 -0
  927. package/server/.next/static/chunks/0d556cjlmwiq4.js +1 -0
  928. package/server/.next/static/chunks/0foc_dy1j2x52.js +1 -0
  929. package/server/.next/static/chunks/0jm8a63677590.js +1 -0
  930. package/server/.next/static/chunks/0lcmy-_tdtrqk.js +1 -0
  931. package/server/.next/static/chunks/0ld0vtd027il_.js +1 -0
  932. package/server/.next/static/chunks/0qciunoy58a03.js +7 -0
  933. package/server/.next/static/chunks/0r2z8zg4n43pd.js +1 -0
  934. package/server/.next/static/chunks/0xwz6ps1581qa.js +1 -0
  935. package/server/.next/static/chunks/1-zyqj42cr9hy.css +3 -0
  936. package/server/.next/static/chunks/11gctw6uutyd7.js +1 -0
  937. package/server/.next/static/chunks/12l7tr29-a97t.js +1 -0
  938. package/server/.next/static/chunks/160mk2sltxl3e.js +1 -0
  939. package/server/.next/static/chunks/16lnw4itnfhw-.js +1 -0
  940. package/server/.next/static/chunks/177dd6kiifsoi.js +1 -0
  941. package/server/.next/static/chunks/1bn-7bluoi2vi.js +1 -0
  942. package/server/.next/static/chunks/1d0mukiro5klq.js +1 -0
  943. package/server/.next/static/chunks/1jc8ghvf721gg.js +76 -0
  944. package/server/.next/static/chunks/1nfofl7nhy6fx.js +1 -0
  945. package/server/.next/static/chunks/1rt5heq1xn_az.js +1 -0
  946. package/server/.next/static/chunks/1x8bgprfjtt59.js +1 -0
  947. package/server/.next/static/chunks/1yctclvh0qaxz.js +1 -0
  948. package/server/.next/static/chunks/1zyyqxguxs96l.js +1 -0
  949. package/server/.next/static/chunks/22h4lj0gp_6n5.js +1 -0
  950. package/server/.next/static/chunks/22ierqxhqtwn6.js +33 -0
  951. package/server/.next/static/chunks/25r6-t40ok5s9.js +1 -0
  952. package/server/.next/static/chunks/2aerfowxsf234.js +1 -0
  953. package/server/.next/static/chunks/2lfa16b0tlnvj.js +1 -0
  954. package/server/.next/static/chunks/2onhuya5-n3-e.js +1 -0
  955. package/server/.next/static/chunks/2pn16qmann41d.js +1 -0
  956. package/server/.next/static/chunks/2szlo15y09085.js +1 -0
  957. package/server/.next/static/chunks/2v_f39dz8sa3-.js +1 -0
  958. package/server/.next/static/chunks/2wd8yh_ni0lqj.js +1 -0
  959. package/server/.next/static/chunks/2xhx4rma6gx5o.js +1 -0
  960. package/server/.next/static/chunks/37f1rjolzxbiv.js +1 -0
  961. package/server/.next/static/chunks/38c9rnljzl6iw.js +1 -0
  962. package/server/.next/static/chunks/3_erdlvi2tz19.js +1 -0
  963. package/server/.next/static/chunks/3qbk8r6jm8udo.js +5 -0
  964. package/server/.next/static/chunks/3tl9dgour-h9l.js +1 -0
  965. package/server/.next/static/chunks/3vbz762vgy3dx.js +1 -0
  966. package/server/.next/static/chunks/3wi43ltm1e5iy.js +1 -0
  967. package/server/.next/static/chunks/3yljsdgzvrkdf.js +1 -0
  968. package/server/.next/static/chunks/3zaeh5nbkqpyj.js +1 -0
  969. package/server/.next/static/chunks/3zx1pe40m_ddz.js +1 -0
  970. package/server/.next/static/chunks/42z3imsp11da1.js +1 -0
  971. package/server/.next/static/media/icon.17zy5uxei5-yo.svg +17 -0
  972. package/server/drizzle-selfhost/0005_framework_vulnerable_rule.sql +2 -0
  973. package/server/drizzle-selfhost/0006_monitor_domain_moved.sql +4 -0
  974. package/server/drizzle-selfhost/meta/_journal.json +54 -40
  975. package/server/server.js +1 -1
  976. package/tools/reset-login.mjs +29 -2
  977. package/server/.next/server/app/(console)/[...slug]/page/app-paths-manifest.json +0 -3
  978. package/server/.next/server/app/(console)/[...slug]/page/build-manifest.json +0 -22
  979. package/server/.next/server/app/(console)/[...slug]/page/next-font-manifest.json +0 -11
  980. package/server/.next/server/app/(console)/[...slug]/page/react-loadable-manifest.json +0 -1
  981. package/server/.next/server/app/(console)/[...slug]/page/server-reference-manifest.json +0 -95
  982. package/server/.next/server/app/(console)/[...slug]/page.js +0 -103
  983. package/server/.next/server/app/(console)/[...slug]/page.js.nft.json +0 -1
  984. package/server/.next/server/app/(console)/[...slug]/page_client-reference-manifest.js +0 -3
  985. package/server/.next/server/app/favicon.ico/route/app-paths-manifest.json +0 -3
  986. package/server/.next/server/app/favicon.ico/route.js +0 -12
  987. package/server/.next/server/app/favicon.ico/route.js.nft.json +0 -1
  988. package/server/.next/server/app/favicon.ico.body +0 -0
  989. package/server/.next/server/app/favicon.ico.meta +0 -1
  990. package/server/.next/server/chunks/[externals]__0qo8lpb70m87u._.js +0 -3
  991. package/server/.next/server/chunks/[externals]__100hq0n2xtenb._.js +0 -3
  992. package/server/.next/server/chunks/[externals]__1irgb5qz1s3gv._.js +0 -3
  993. package/server/.next/server/chunks/[root-of-the-server]__00hb7hqa7qktx._.js +0 -3
  994. package/server/.next/server/chunks/[root-of-the-server]__01gitcyenl9ge._.js +0 -3
  995. package/server/.next/server/chunks/[root-of-the-server]__02m_c7u17aggg._.js +0 -3
  996. package/server/.next/server/chunks/[root-of-the-server]__049ykc067tlsv._.js +0 -3
  997. package/server/.next/server/chunks/[root-of-the-server]__04rnior8cyxtx._.js +0 -3
  998. package/server/.next/server/chunks/[root-of-the-server]__05eh797cjmgya._.js +0 -3
  999. package/server/.next/server/chunks/[root-of-the-server]__06ek056i_j_uk._.js +0 -3
  1000. package/server/.next/server/chunks/[root-of-the-server]__06f9e4kpi0mw8._.js +0 -3
  1001. package/server/.next/server/chunks/[root-of-the-server]__06jphm4auz_sh._.js +0 -3
  1002. package/server/.next/server/chunks/[root-of-the-server]__06r-019fixp3f._.js +0 -3
  1003. package/server/.next/server/chunks/[root-of-the-server]__07uknh5b-embq._.js +0 -3
  1004. package/server/.next/server/chunks/[root-of-the-server]__07v5e0vzgl4n2._.js +0 -3
  1005. package/server/.next/server/chunks/[root-of-the-server]__07w0ehfomhmm1._.js +0 -3
  1006. package/server/.next/server/chunks/[root-of-the-server]__08fyoixg__c7n._.js +0 -3
  1007. package/server/.next/server/chunks/[root-of-the-server]__091fhe9u6mapu._.js +0 -3
  1008. package/server/.next/server/chunks/[root-of-the-server]__09829lhdhabq5._.js +0 -3
  1009. package/server/.next/server/chunks/[root-of-the-server]__0_rfeg3389imx._.js +0 -3
  1010. package/server/.next/server/chunks/[root-of-the-server]__0a9tv46v8y_c5._.js +0 -3
  1011. package/server/.next/server/chunks/[root-of-the-server]__0aha0ly6g6o_2._.js +0 -3
  1012. package/server/.next/server/chunks/[root-of-the-server]__0b2hzo6nez0we._.js +0 -3
  1013. package/server/.next/server/chunks/[root-of-the-server]__0b9tciqdsctau._.js +0 -3
  1014. package/server/.next/server/chunks/[root-of-the-server]__0b_4w-5x5u7ag._.js +0 -3
  1015. package/server/.next/server/chunks/[root-of-the-server]__0b_jutz-o08fu._.js +0 -3
  1016. package/server/.next/server/chunks/[root-of-the-server]__0bnasoi-x21jc._.js +0 -3
  1017. package/server/.next/server/chunks/[root-of-the-server]__0c4u-u6i71c99._.js +0 -3
  1018. package/server/.next/server/chunks/[root-of-the-server]__0c5w5y-db0jkb._.js +0 -3
  1019. package/server/.next/server/chunks/[root-of-the-server]__0d8ypilha-el8._.js +0 -3
  1020. package/server/.next/server/chunks/[root-of-the-server]__0dlwmjtvf308b._.js +0 -3
  1021. package/server/.next/server/chunks/[root-of-the-server]__0el1c67a5ioz_._.js +0 -3
  1022. package/server/.next/server/chunks/[root-of-the-server]__0evbn4gllmqw9._.js +0 -3
  1023. package/server/.next/server/chunks/[root-of-the-server]__0flqwe7amc3mz._.js +0 -3
  1024. package/server/.next/server/chunks/[root-of-the-server]__0fw19tsgp-vbq._.js +0 -3
  1025. package/server/.next/server/chunks/[root-of-the-server]__0fw7l5y58_xcd._.js +0 -3
  1026. package/server/.next/server/chunks/[root-of-the-server]__0g1tldn4xjewd._.js +0 -3
  1027. package/server/.next/server/chunks/[root-of-the-server]__0grtjjr51j6xe._.js +0 -3
  1028. package/server/.next/server/chunks/[root-of-the-server]__0h1qhdjpfq1d4._.js +0 -3
  1029. package/server/.next/server/chunks/[root-of-the-server]__0h4n81_nqdr4j._.js +0 -3
  1030. package/server/.next/server/chunks/[root-of-the-server]__0h7pbkmsrhlwj._.js +0 -3
  1031. package/server/.next/server/chunks/[root-of-the-server]__0hqkum2r4f0xy._.js +0 -3
  1032. package/server/.next/server/chunks/[root-of-the-server]__0hty-wue10pro._.js +0 -3
  1033. package/server/.next/server/chunks/[root-of-the-server]__0i598fxqi-zy7._.js +0 -3
  1034. package/server/.next/server/chunks/[root-of-the-server]__0jqgfbhrgi28s._.js +0 -3
  1035. package/server/.next/server/chunks/[root-of-the-server]__0l0w4cbvdatmt._.js +0 -3
  1036. package/server/.next/server/chunks/[root-of-the-server]__0m7i0l3nkbdfm._.js +0 -3
  1037. package/server/.next/server/chunks/[root-of-the-server]__0m_6ooqldguxr._.js +0 -3
  1038. package/server/.next/server/chunks/[root-of-the-server]__0mwiq4mkf8pc5._.js +0 -3
  1039. package/server/.next/server/chunks/[root-of-the-server]__0npmbdrxybln5._.js +0 -3
  1040. package/server/.next/server/chunks/[root-of-the-server]__0nqw6z6fp8wad._.js +0 -3
  1041. package/server/.next/server/chunks/[root-of-the-server]__0olmk-rbbhxlo._.js +0 -3
  1042. package/server/.next/server/chunks/[root-of-the-server]__0owyb9lr5t5u-._.js +0 -3
  1043. package/server/.next/server/chunks/[root-of-the-server]__0p3lnkpxf2-xz._.js +0 -3
  1044. package/server/.next/server/chunks/[root-of-the-server]__0p70ujmcgsfif._.js +0 -3
  1045. package/server/.next/server/chunks/[root-of-the-server]__0q6_612vy0cdp._.js +0 -3
  1046. package/server/.next/server/chunks/[root-of-the-server]__0qmkpydmx3ljf._.js +0 -3
  1047. package/server/.next/server/chunks/[root-of-the-server]__0r-zdzq6ki5gr._.js +0 -3
  1048. package/server/.next/server/chunks/[root-of-the-server]__0si9k9jhdc0bm._.js +0 -3
  1049. package/server/.next/server/chunks/[root-of-the-server]__0t8d8b4qkw3y-._.js +0 -3
  1050. package/server/.next/server/chunks/[root-of-the-server]__0thzl_1s30zso._.js +0 -3
  1051. package/server/.next/server/chunks/[root-of-the-server]__0tl5pxttllr4d._.js +0 -3
  1052. package/server/.next/server/chunks/[root-of-the-server]__0ud71z3im7xje._.js +0 -3
  1053. package/server/.next/server/chunks/[root-of-the-server]__0uyh4jgcd9092._.js +0 -3
  1054. package/server/.next/server/chunks/[root-of-the-server]__0v4-g6c-ls39_._.js +0 -3
  1055. package/server/.next/server/chunks/[root-of-the-server]__0vgnlhvdoh3bn._.js +0 -3
  1056. package/server/.next/server/chunks/[root-of-the-server]__0vugeaxly8zvv._.js +0 -3
  1057. package/server/.next/server/chunks/[root-of-the-server]__0wmbz6u3dhwpq._.js +0 -3
  1058. package/server/.next/server/chunks/[root-of-the-server]__0wy38l7k36j6g._.js +0 -3
  1059. package/server/.next/server/chunks/[root-of-the-server]__0xiz361p5kdhf._.js +0 -3
  1060. package/server/.next/server/chunks/[root-of-the-server]__0xmk00qk0z8xm._.js +0 -3
  1061. package/server/.next/server/chunks/[root-of-the-server]__0y4j2b3eu46x_._.js +0 -3
  1062. package/server/.next/server/chunks/[root-of-the-server]__0z-07azr3zk8s._.js +0 -3
  1063. package/server/.next/server/chunks/[root-of-the-server]__0z-41cwvkliev._.js +0 -3
  1064. package/server/.next/server/chunks/[root-of-the-server]__0znfwqxftxq60._.js +0 -3
  1065. package/server/.next/server/chunks/[root-of-the-server]__0zxyfd7u67hmv._.js +0 -3
  1066. package/server/.next/server/chunks/[root-of-the-server]__1-jsquu8mohcz._.js +0 -3
  1067. package/server/.next/server/chunks/[root-of-the-server]__1-rqermjb77se._.js +0 -3
  1068. package/server/.next/server/chunks/[root-of-the-server]__1-zdlu4-l-ku9._.js +0 -3
  1069. package/server/.next/server/chunks/[root-of-the-server]__10-px6moitvbx._.js +0 -3
  1070. package/server/.next/server/chunks/[root-of-the-server]__10c7apgidgs6x._.js +0 -3
  1071. package/server/.next/server/chunks/[root-of-the-server]__10igiswto_7s8._.js +0 -3
  1072. package/server/.next/server/chunks/[root-of-the-server]__10x3lu8jeqgbt._.js +0 -3
  1073. package/server/.next/server/chunks/[root-of-the-server]__11-van59e9p2a._.js +0 -3
  1074. package/server/.next/server/chunks/[root-of-the-server]__110c-t3wz3nzm._.js +0 -3
  1075. package/server/.next/server/chunks/[root-of-the-server]__116b4n13dv75t._.js +0 -3
  1076. package/server/.next/server/chunks/[root-of-the-server]__11k46kam6tbia._.js +0 -3
  1077. package/server/.next/server/chunks/[root-of-the-server]__11tte6au1b-z-._.js +0 -3
  1078. package/server/.next/server/chunks/[root-of-the-server]__127dbd1prkw0n._.js +0 -3
  1079. package/server/.next/server/chunks/[root-of-the-server]__139-2tkq2di_-._.js +0 -3
  1080. package/server/.next/server/chunks/[root-of-the-server]__13_b24n_f4my4._.js +0 -3
  1081. package/server/.next/server/chunks/[root-of-the-server]__145gadwk31inl._.js +0 -3
  1082. package/server/.next/server/chunks/[root-of-the-server]__14luo1ecxoqh-._.js +0 -3
  1083. package/server/.next/server/chunks/[root-of-the-server]__162cm9ds1c5y2._.js +0 -3
  1084. package/server/.next/server/chunks/[root-of-the-server]__16wve14c32m54._.js +0 -3
  1085. package/server/.next/server/chunks/[root-of-the-server]__1815iu1syowit._.js +0 -3
  1086. package/server/.next/server/chunks/[root-of-the-server]__19kwj690b37xf._.js +0 -3
  1087. package/server/.next/server/chunks/[root-of-the-server]__19vsae2naddj5._.js +0 -3
  1088. package/server/.next/server/chunks/[root-of-the-server]__1__rgcmvy4dq_._.js +0 -3
  1089. package/server/.next/server/chunks/[root-of-the-server]__1_l065umy451k._.js +0 -3
  1090. package/server/.next/server/chunks/[root-of-the-server]__1_ow7lgy0u7st._.js +0 -3
  1091. package/server/.next/server/chunks/[root-of-the-server]__1addx81qjp4tj._.js +0 -3
  1092. package/server/.next/server/chunks/[root-of-the-server]__1aza-7l2pl-pm._.js +0 -3
  1093. package/server/.next/server/chunks/[root-of-the-server]__1bfzck-boudpr._.js +0 -3
  1094. package/server/.next/server/chunks/[root-of-the-server]__1bsyavebtmd7w._.js +0 -3
  1095. package/server/.next/server/chunks/[root-of-the-server]__1cju843cjyf1t._.js +0 -3
  1096. package/server/.next/server/chunks/[root-of-the-server]__1cla4k3dqtcfb._.js +0 -3
  1097. package/server/.next/server/chunks/[root-of-the-server]__1d01ycphxl_8c._.js +0 -3
  1098. package/server/.next/server/chunks/[root-of-the-server]__1e31qar_deo52._.js +0 -3
  1099. package/server/.next/server/chunks/[root-of-the-server]__1fm_cwl42xphm._.js +0 -3
  1100. package/server/.next/server/chunks/[root-of-the-server]__1fnsa-f0t7bxj._.js +0 -3
  1101. package/server/.next/server/chunks/[root-of-the-server]__1g1176fer3j4e._.js +0 -3
  1102. package/server/.next/server/chunks/[root-of-the-server]__1h-j2ehta-v8y._.js +0 -3
  1103. package/server/.next/server/chunks/[root-of-the-server]__1hqy35gww7ps2._.js +0 -3
  1104. package/server/.next/server/chunks/[root-of-the-server]__1i92wg2yuvs4c._.js +0 -3
  1105. package/server/.next/server/chunks/[root-of-the-server]__1iv6vg3z9ho81._.js +0 -3
  1106. package/server/.next/server/chunks/[root-of-the-server]__1j3-sv7eqyhjb._.js +0 -3
  1107. package/server/.next/server/chunks/[root-of-the-server]__1j3w0-cp17tx4._.js +0 -3
  1108. package/server/.next/server/chunks/[root-of-the-server]__1j_iy13gp2-on._.js +0 -3
  1109. package/server/.next/server/chunks/[root-of-the-server]__1jx4n51g-4s45._.js +0 -3
  1110. package/server/.next/server/chunks/[root-of-the-server]__1kg91b3sadtoc._.js +0 -3
  1111. package/server/.next/server/chunks/[root-of-the-server]__1kjndfodqqamq._.js +0 -3
  1112. package/server/.next/server/chunks/[root-of-the-server]__1l8s8oe7j06yw._.js +0 -3
  1113. package/server/.next/server/chunks/[root-of-the-server]__1m08l0n-keil9._.js +0 -3
  1114. package/server/.next/server/chunks/[root-of-the-server]__1mami4vb3y5gd._.js +0 -3
  1115. package/server/.next/server/chunks/[root-of-the-server]__1mse65-7gtj-n._.js +0 -3
  1116. package/server/.next/server/chunks/[root-of-the-server]__1nbabbcvq6ftu._.js +0 -3
  1117. package/server/.next/server/chunks/[root-of-the-server]__1o0vizengmvr5._.js +0 -3
  1118. package/server/.next/server/chunks/[root-of-the-server]__1objhlwwrjfjk._.js +0 -3
  1119. package/server/.next/server/chunks/[root-of-the-server]__1pscqm70t9q_6._.js +0 -3
  1120. package/server/.next/server/chunks/[root-of-the-server]__1r-13hkmnpab2._.js +0 -3
  1121. package/server/.next/server/chunks/[root-of-the-server]__1r-kuxxt5svyg._.js +0 -3
  1122. package/server/.next/server/chunks/[root-of-the-server]__1r0czef7apz8a._.js +0 -3
  1123. package/server/.next/server/chunks/[root-of-the-server]__1r6ztpxo08lwp._.js +0 -3
  1124. package/server/.next/server/chunks/[root-of-the-server]__1rw0i4x2ake3x._.js +0 -3
  1125. package/server/.next/server/chunks/[root-of-the-server]__1s5qcgiravzf_._.js +0 -3
  1126. package/server/.next/server/chunks/[root-of-the-server]__1sucr6flncx_f._.js +0 -3
  1127. package/server/.next/server/chunks/[root-of-the-server]__1t0_ibqlvou_d._.js +0 -3
  1128. package/server/.next/server/chunks/[root-of-the-server]__1t9zp524wouer._.js +0 -3
  1129. package/server/.next/server/chunks/[root-of-the-server]__1tezk6eqndp54._.js +0 -3
  1130. package/server/.next/server/chunks/[root-of-the-server]__1tllcx0d90k6q._.js +0 -3
  1131. package/server/.next/server/chunks/[root-of-the-server]__1u1b3a58anm3f._.js +0 -3
  1132. package/server/.next/server/chunks/[root-of-the-server]__1v-789ydxj30e._.js +0 -3
  1133. package/server/.next/server/chunks/[root-of-the-server]__1vi0u2vkv3tk0._.js +0 -3
  1134. package/server/.next/server/chunks/[root-of-the-server]__1w3svzao_gnxp._.js +0 -3
  1135. package/server/.next/server/chunks/[root-of-the-server]__1w53h3d5ptawi._.js +0 -3
  1136. package/server/.next/server/chunks/[root-of-the-server]__1w_73psnce1dd._.js +0 -3
  1137. package/server/.next/server/chunks/[root-of-the-server]__1wuxzuu_xkzl6._.js +0 -3
  1138. package/server/.next/server/chunks/[root-of-the-server]__1wwzyck7gzela._.js +0 -3
  1139. package/server/.next/server/chunks/[root-of-the-server]__1x7ucdyxuh2_k._.js +0 -3
  1140. package/server/.next/server/chunks/[root-of-the-server]__20_1nfa6fiz-q._.js +0 -3
  1141. package/server/.next/server/chunks/[root-of-the-server]__20b_clyk74g5u._.js +0 -3
  1142. package/server/.next/server/chunks/[root-of-the-server]__20ev6t8zggct2._.js +0 -3
  1143. package/server/.next/server/chunks/_008zv66xvj7ey._.js +0 -37
  1144. package/server/.next/server/chunks/_0a-hy32dzrje8._.js +0 -3
  1145. package/server/.next/server/chunks/_0a7533vs89s78._.js +0 -7
  1146. package/server/.next/server/chunks/_0ejcrge5k4quv._.js +0 -120
  1147. package/server/.next/server/chunks/_0gbk60zhuj4js._.js +0 -3
  1148. package/server/.next/server/chunks/_0k4iqzwm6w5_c._.js +0 -37
  1149. package/server/.next/server/chunks/_0m1ll2r1g77ii._.js +0 -3
  1150. package/server/.next/server/chunks/_0mgm3vz_sy8eb._.js +0 -3
  1151. package/server/.next/server/chunks/_0nt4hve0bi30h._.js +0 -37
  1152. package/server/.next/server/chunks/_0qr77omrkuewo._.js +0 -3
  1153. package/server/.next/server/chunks/_0rjh9w2ih3j2h._.js +0 -3
  1154. package/server/.next/server/chunks/_0ucq4nndk_9mb._.js +0 -3
  1155. package/server/.next/server/chunks/_0uxp3uhmyw1h3._.js +0 -3
  1156. package/server/.next/server/chunks/_0wxm_716tjorj._.js +0 -3
  1157. package/server/.next/server/chunks/_0zbvj132mwn12._.js +0 -3
  1158. package/server/.next/server/chunks/_0zkmkbrbc96-h._.js +0 -3
  1159. package/server/.next/server/chunks/_13a44prd3r109._.js +0 -3
  1160. package/server/.next/server/chunks/_14ymj3uzawde4._.js +0 -7
  1161. package/server/.next/server/chunks/_1b7pc6ohhqxs3._.js +0 -120
  1162. package/server/.next/server/chunks/_1b7ufx8anq8rr._.js +0 -3
  1163. package/server/.next/server/chunks/_1i7qkrp3fnx1a._.js +0 -37
  1164. package/server/.next/server/chunks/_1lq5m27p-ilrw._.js +0 -3
  1165. package/server/.next/server/chunks/_1luzeov9x87mg._.js +0 -7
  1166. package/server/.next/server/chunks/_1mnwzh3z9y4th._.js +0 -3
  1167. package/server/.next/server/chunks/_1zx_54or1pubb._.js +0 -57
  1168. package/server/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjlssn1kss.js +0 -3
  1169. package/server/.next/server/chunks/node_modules_next_166oduh3hi1qv._.js +0 -3
  1170. package/server/.next/server/chunks/node_modules_next_1bpl0_13bu-mp._.js +0 -3
  1171. package/server/.next/server/chunks/src_014zbodp4djeb._.js +0 -3
  1172. package/server/.next/server/chunks/src_01jp2f5qmh8e2._.js +0 -3
  1173. package/server/.next/server/chunks/src_04pgj--n_d4w5._.js +0 -3
  1174. package/server/.next/server/chunks/src_0dy4w8f4s56m7._.js +0 -3
  1175. package/server/.next/server/chunks/src_0h2cjsnz9pqi7._.js +0 -3
  1176. package/server/.next/server/chunks/src_0h8_rg_r28y_e._.js +0 -3
  1177. package/server/.next/server/chunks/src_0hhtt0p5ybxni._.js +0 -3
  1178. package/server/.next/server/chunks/src_0kwnhwi77unm7._.js +0 -3
  1179. package/server/.next/server/chunks/src_0ldb1fj5qtl-n._.js +0 -3
  1180. package/server/.next/server/chunks/src_0rh392hbuxnv6._.js +0 -3
  1181. package/server/.next/server/chunks/src_0vffc49o4-382._.js +0 -3
  1182. package/server/.next/server/chunks/src_0xqorb3-ef3ub._.js +0 -3
  1183. package/server/.next/server/chunks/src_10y_2e6znqpoa._.js +0 -3
  1184. package/server/.next/server/chunks/src_17m9gvb5o-w8p._.js +0 -3
  1185. package/server/.next/server/chunks/src_1dsh9rzlos6-1._.js +0 -3
  1186. package/server/.next/server/chunks/src_1hy7u0jtydq_d._.js +0 -3
  1187. package/server/.next/server/chunks/src_1j2o14j0-23xv._.js +0 -3
  1188. package/server/.next/server/chunks/src_1j71dvub05y-4._.js +0 -3
  1189. package/server/.next/server/chunks/src_1no_yh953mran._.js +0 -3
  1190. package/server/.next/server/chunks/src_1s7yll47_n_hy._.js +0 -3
  1191. package/server/.next/server/chunks/src_lib_03a2ehk2-znxl._.js +0 -3
  1192. package/server/.next/server/chunks/src_lib_08u7n7-yunfvd._.js +0 -4
  1193. package/server/.next/server/chunks/src_lib_0d-fifn3g3zp4._.js +0 -3
  1194. package/server/.next/server/chunks/src_lib_0dyhs-qioyjww._.js +0 -3
  1195. package/server/.next/server/chunks/src_lib_0hkrs-q6hzcww._.js +0 -3
  1196. package/server/.next/server/chunks/src_lib_0oz4gm8agoidh._.js +0 -6
  1197. package/server/.next/server/chunks/src_lib_0x4n8swwa3zn7._.js +0 -3
  1198. package/server/.next/server/chunks/src_lib_0y-obfzqjj0c6._.js +0 -6
  1199. package/server/.next/server/chunks/src_lib_10_w0ihgmx4e6._.js +0 -6
  1200. package/server/.next/server/chunks/src_lib_10vqn6q0h8kls._.js +0 -4
  1201. package/server/.next/server/chunks/src_lib_1p21oczr6lh5a._.js +0 -3
  1202. package/server/.next/server/chunks/src_lib_1s-3a-lp7wq7s._.js +0 -3
  1203. package/server/.next/server/chunks/src_lib_1tzoqx44yogsk._.js +0 -4
  1204. package/server/.next/server/chunks/src_lib_1v1ja5mvs12l3._.js +0 -3
  1205. package/server/.next/server/chunks/src_lib_1y3rtb5bjz0-k._.js +0 -3
  1206. package/server/.next/server/chunks/src_lib_1yewk45thnv1h._.js +0 -3
  1207. package/server/.next/server/chunks/src_lib_1z73euz6d3tus._.js +0 -6
  1208. package/server/.next/server/chunks/src_lib_data_0ask_rbmgwlf3._.js +0 -3
  1209. package/server/.next/server/chunks/src_lib_data_0e155tkqeoojm._.js +0 -3
  1210. package/server/.next/server/chunks/src_lib_demo_1vea4wqi-dxio._.js +0 -3
  1211. package/server/.next/server/chunks/src_lib_demo_1w8p39upm6ea2._.js +0 -3
  1212. package/server/.next/server/chunks/src_lib_demo_session_ts_1gjl21ovvq1na._.js +0 -3
  1213. package/server/.next/server/chunks/src_lib_demo_session_ts_1ou6lpswmwykq._.js +0 -3
  1214. package/server/.next/server/chunks/src_lib_security_osv_ts_1fckitwjz25y3._.js +0 -3
  1215. package/server/.next/server/chunks/ssr/[externals]__020te-_1z03yq._.js +0 -3
  1216. package/server/.next/server/chunks/ssr/[externals]__0d_b-rmqrnp-4._.js +0 -3
  1217. package/server/.next/server/chunks/ssr/[externals]__0jneh11f99ndq._.js +0 -3
  1218. package/server/.next/server/chunks/ssr/[externals]__0q1j6etr_np7z._.js +0 -3
  1219. package/server/.next/server/chunks/ssr/[externals]__0tuq6zpflbfiy._.js +0 -3
  1220. package/server/.next/server/chunks/ssr/[externals]__0zvy4iicnrk95._.js +0 -3
  1221. package/server/.next/server/chunks/ssr/[externals]__1-bg5_534qin1._.js +0 -3
  1222. package/server/.next/server/chunks/ssr/[externals]__19ny_glrblslt._.js +0 -3
  1223. package/server/.next/server/chunks/ssr/[externals]__1a1nz9v0djtee._.js +0 -3
  1224. package/server/.next/server/chunks/ssr/[externals]__1ut5w9sjvvugj._.js +0 -3
  1225. package/server/.next/server/chunks/ssr/[externals]__1wps6-uuzn43x._.js +0 -3
  1226. package/server/.next/server/chunks/ssr/[root-of-the-server]__02cq5r26w4itc._.js +0 -3
  1227. package/server/.next/server/chunks/ssr/[root-of-the-server]__02ekfgznq_frg._.js +0 -3
  1228. package/server/.next/server/chunks/ssr/[root-of-the-server]__02qyxz9eh8_eh._.js +0 -3
  1229. package/server/.next/server/chunks/ssr/[root-of-the-server]__02s8g4eagqfmb._.js +0 -3
  1230. package/server/.next/server/chunks/ssr/[root-of-the-server]__04ovk2bqwu87z._.js +0 -3
  1231. package/server/.next/server/chunks/ssr/[root-of-the-server]__052_cprs0alpy._.js +0 -3
  1232. package/server/.next/server/chunks/ssr/[root-of-the-server]__0543ddliluvv3._.js +0 -3
  1233. package/server/.next/server/chunks/ssr/[root-of-the-server]__08479d23kb1xv._.js +0 -3
  1234. package/server/.next/server/chunks/ssr/[root-of-the-server]__08fqg76puqdfr._.js +0 -3
  1235. package/server/.next/server/chunks/ssr/[root-of-the-server]__08lyheht537x7._.js +0 -3
  1236. package/server/.next/server/chunks/ssr/[root-of-the-server]__08r-36gsbhzfl._.js +0 -3
  1237. package/server/.next/server/chunks/ssr/[root-of-the-server]__09-0oydof-7uw._.js +0 -3
  1238. package/server/.next/server/chunks/ssr/[root-of-the-server]__09nm_hn1c8zhf._.js +0 -3
  1239. package/server/.next/server/chunks/ssr/[root-of-the-server]__09zhej94-8cfl._.js +0 -3
  1240. package/server/.next/server/chunks/ssr/[root-of-the-server]__0acmauri7z1sg._.js +0 -3
  1241. package/server/.next/server/chunks/ssr/[root-of-the-server]__0aqyve_ff5w0a._.js +0 -3
  1242. package/server/.next/server/chunks/ssr/[root-of-the-server]__0bk5eahqwy8sh._.js +0 -3
  1243. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ct71emqfru3b._.js +0 -3
  1244. package/server/.next/server/chunks/ssr/[root-of-the-server]__0e9m8up0h1qhl._.js +0 -3
  1245. package/server/.next/server/chunks/ssr/[root-of-the-server]__0eiatxdstconl._.js +0 -3
  1246. package/server/.next/server/chunks/ssr/[root-of-the-server]__0gm7dev9velgg._.js +0 -3
  1247. package/server/.next/server/chunks/ssr/[root-of-the-server]__0go63he_23y9m._.js +0 -3
  1248. package/server/.next/server/chunks/ssr/[root-of-the-server]__0h9gtpapca7i_._.js +0 -3
  1249. package/server/.next/server/chunks/ssr/[root-of-the-server]__0hln97a4qcziv._.js +0 -3
  1250. package/server/.next/server/chunks/ssr/[root-of-the-server]__0jijx2bqn0en9._.js +0 -3
  1251. package/server/.next/server/chunks/ssr/[root-of-the-server]__0krmmz0jerb62._.js +0 -3
  1252. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ksvf4x4zcbpb._.js +0 -3
  1253. package/server/.next/server/chunks/ssr/[root-of-the-server]__0lc7my3iqbrsu._.js +0 -3
  1254. package/server/.next/server/chunks/ssr/[root-of-the-server]__0lt7660aka4d-._.js +0 -3
  1255. package/server/.next/server/chunks/ssr/[root-of-the-server]__0msyy6xoone7-._.js +0 -3
  1256. package/server/.next/server/chunks/ssr/[root-of-the-server]__0n7cj-oti5wct._.js +0 -4
  1257. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ncef7_34ta3-._.js +0 -3
  1258. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nk9sgklibvso._.js +0 -3
  1259. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nlzqp6jk7rac._.js +0 -3
  1260. package/server/.next/server/chunks/ssr/[root-of-the-server]__0op0kqh43wd-a._.js +0 -3
  1261. package/server/.next/server/chunks/ssr/[root-of-the-server]__0qe9gfdyim9-4._.js +0 -3
  1262. package/server/.next/server/chunks/ssr/[root-of-the-server]__0s5ikdxrwjpuv._.js +0 -3
  1263. package/server/.next/server/chunks/ssr/[root-of-the-server]__0tf_y6x-civd1._.js +0 -3
  1264. package/server/.next/server/chunks/ssr/[root-of-the-server]__0z8wbpv0sokm-._.js +0 -3
  1265. package/server/.next/server/chunks/ssr/[root-of-the-server]__1-5oo48nrva5i._.js +0 -3
  1266. package/server/.next/server/chunks/ssr/[root-of-the-server]__1-7rv__xugolc._.js +0 -3
  1267. package/server/.next/server/chunks/ssr/[root-of-the-server]__1-o_iq-ed9vc8._.js +0 -3
  1268. package/server/.next/server/chunks/ssr/[root-of-the-server]__10bkg3o65q6r4._.js +0 -3
  1269. package/server/.next/server/chunks/ssr/[root-of-the-server]__10d1_0sush0ly._.js +0 -3
  1270. package/server/.next/server/chunks/ssr/[root-of-the-server]__119-39ph_0j3f._.js +0 -3
  1271. package/server/.next/server/chunks/ssr/[root-of-the-server]__12qymdfh83hht._.js +0 -3
  1272. package/server/.next/server/chunks/ssr/[root-of-the-server]__13oi70jo-u731._.js +0 -4
  1273. package/server/.next/server/chunks/ssr/[root-of-the-server]__146kj3-h6fkaq._.js +0 -3
  1274. package/server/.next/server/chunks/ssr/[root-of-the-server]__14v88t9px5pb6._.js +0 -3
  1275. package/server/.next/server/chunks/ssr/[root-of-the-server]__15j_u2bz3jc-a._.js +0 -3
  1276. package/server/.next/server/chunks/ssr/[root-of-the-server]__15n-r12rnj61t._.js +0 -3
  1277. package/server/.next/server/chunks/ssr/[root-of-the-server]__16o4p3l21rdq3._.js +0 -3
  1278. package/server/.next/server/chunks/ssr/[root-of-the-server]__171npv87rwei1._.js +0 -3
  1279. package/server/.next/server/chunks/ssr/[root-of-the-server]__176fov12nmg0c._.js +0 -3
  1280. package/server/.next/server/chunks/ssr/[root-of-the-server]__17kocbnwlcw6d._.js +0 -3
  1281. package/server/.next/server/chunks/ssr/[root-of-the-server]__17zzr7zjfaj94._.js +0 -3
  1282. package/server/.next/server/chunks/ssr/[root-of-the-server]__18s2sszcjwz_x._.js +0 -3
  1283. package/server/.next/server/chunks/ssr/[root-of-the-server]__19_nr6j2w-in_._.js +0 -3
  1284. package/server/.next/server/chunks/ssr/[root-of-the-server]__1biup3mh_6gel._.js +0 -3
  1285. package/server/.next/server/chunks/ssr/[root-of-the-server]__1cwrbme6aoi_x._.js +0 -3
  1286. package/server/.next/server/chunks/ssr/[root-of-the-server]__1euvy9wcyro9t._.js +0 -3
  1287. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ews36zthoaro._.js +0 -3
  1288. package/server/.next/server/chunks/ssr/[root-of-the-server]__1f02dck4ff54w._.js +0 -3
  1289. package/server/.next/server/chunks/ssr/[root-of-the-server]__1gh2hxr2l59r6._.js +0 -3
  1290. package/server/.next/server/chunks/ssr/[root-of-the-server]__1gw6334w8y2my._.js +0 -3
  1291. package/server/.next/server/chunks/ssr/[root-of-the-server]__1i69oli51is1u._.js +0 -3
  1292. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ikedn5g4-l15._.js +0 -3
  1293. package/server/.next/server/chunks/ssr/[root-of-the-server]__1k1fmq0-rg3p0._.js +0 -3
  1294. package/server/.next/server/chunks/ssr/[root-of-the-server]__1lrilann8v4wn._.js +0 -3
  1295. package/server/.next/server/chunks/ssr/[root-of-the-server]__1lv3bun_d6qpi._.js +0 -3
  1296. package/server/.next/server/chunks/ssr/[root-of-the-server]__1lx2k37wgre3d._.js +0 -3
  1297. package/server/.next/server/chunks/ssr/[root-of-the-server]__1owrn7crnsybx._.js +0 -3
  1298. package/server/.next/server/chunks/ssr/[root-of-the-server]__1qltiqn0htqnx._.js +0 -3
  1299. package/server/.next/server/chunks/ssr/[root-of-the-server]__1qrlp_d3-c1x9._.js +0 -3
  1300. package/server/.next/server/chunks/ssr/[root-of-the-server]__1s5zrlyqayctz._.js +0 -3
  1301. package/server/.next/server/chunks/ssr/[root-of-the-server]__1w1472ukyh58r._.js +0 -3
  1302. package/server/.next/server/chunks/ssr/[root-of-the-server]__1yfl8wmoazlwo._.js +0 -3
  1303. package/server/.next/server/chunks/ssr/[root-of-the-server]__1zhd84kcbex_x._.js +0 -3
  1304. package/server/.next/server/chunks/ssr/[root-of-the-server]__20ht054m5-_d6._.js +0 -3
  1305. package/server/.next/server/chunks/ssr/_05kq3r87s7p3q._.js +0 -3
  1306. package/server/.next/server/chunks/ssr/_08ph09r66b11v._.js +0 -3
  1307. package/server/.next/server/chunks/ssr/_0_tr9fol2yq33._.js +0 -4
  1308. package/server/.next/server/chunks/ssr/_0_ul4mlc_pj5i._.js +0 -4
  1309. package/server/.next/server/chunks/ssr/_0fxox6h290j6h._.js +0 -3
  1310. package/server/.next/server/chunks/ssr/_0hykblvnwc2ar._.js +0 -3
  1311. package/server/.next/server/chunks/ssr/_0m1ll2r1g77ii._.js +0 -3
  1312. package/server/.next/server/chunks/ssr/_0nutgke9z49bh._.js +0 -3
  1313. package/server/.next/server/chunks/ssr/_0ooh0hh-r_12s._.js +0 -3
  1314. package/server/.next/server/chunks/ssr/_0pn3dn9s9es51._.js +0 -3
  1315. package/server/.next/server/chunks/ssr/_0qnv1uc1_yv28._.js +0 -4
  1316. package/server/.next/server/chunks/ssr/_0r04c1-snv6jw._.js +0 -3
  1317. package/server/.next/server/chunks/ssr/_0rfq_mzyiodmf._.js +0 -3
  1318. package/server/.next/server/chunks/ssr/_0tcmsw8hszixv._.js +0 -3
  1319. package/server/.next/server/chunks/ssr/_0tnfblwwlyvq2._.js +0 -3
  1320. package/server/.next/server/chunks/ssr/_0x1vi7mal3bqd._.js +0 -3
  1321. package/server/.next/server/chunks/ssr/_11w5w9dpxcf1w._.js +0 -3
  1322. package/server/.next/server/chunks/ssr/_14kop_5asppd8._.js +0 -3
  1323. package/server/.next/server/chunks/ssr/_16t9k9e5cjvas._.js +0 -3
  1324. package/server/.next/server/chunks/ssr/_17xmdlg5_8s76._.js +0 -3
  1325. package/server/.next/server/chunks/ssr/_1__gz-j9u_15n._.js +0 -3
  1326. package/server/.next/server/chunks/ssr/_1_ojvke28lw3y._.js +0 -3
  1327. package/server/.next/server/chunks/ssr/_1c28jitsyufnt._.js +0 -4
  1328. package/server/.next/server/chunks/ssr/_1dx207la592b7._.js +0 -4
  1329. package/server/.next/server/chunks/ssr/_1flla16o7o9ba._.js +0 -3
  1330. package/server/.next/server/chunks/ssr/_1nir32qtr99-r._.js +0 -4
  1331. package/server/.next/server/chunks/ssr/_1qt1czw3w8dww._.js +0 -3
  1332. package/server/.next/server/chunks/ssr/_1sq12-1_02tzt._.js +0 -4
  1333. package/server/.next/server/chunks/ssr/_1ykxf4mi60jog._.js +0 -4
  1334. package/server/.next/server/chunks/ssr/_1zr0t31h18f2p._.js +0 -3
  1335. package/server/.next/server/chunks/ssr/_20ln-4gu85-yt._.js +0 -3
  1336. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1uaicj0j8stji.js +0 -3
  1337. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_215m-kkv06r4z.js +0 -3
  1338. package/server/.next/server/chunks/ssr/node_modules_041o69opnip9_._.js +0 -3
  1339. package/server/.next/server/chunks/ssr/node_modules_@base-ui_react_dialog_index_parts_mjs_0wvx70_xziwkw._.js +0 -3
  1340. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00mnhied2lajr.js +0 -3
  1341. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0258fhwe3r49a.js +0 -3
  1342. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_030uvarevc52x.js +0 -3
  1343. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08nk-xg737vfb.js +0 -3
  1344. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08tyiz9d0lm9w.js +0 -3
  1345. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09sjrubxp_rj2.js +0 -3
  1346. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_bt7te8snw13.js +0 -3
  1347. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0_sbp7ay425x_.js +0 -3
  1348. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0b6yug3vz_f5i.js +0 -3
  1349. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d4fbjkqhtcy1.js +0 -3
  1350. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0drw64qqgo4t4.js +0 -3
  1351. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0f1q6zt-_lhr2.js +0 -3
  1352. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j67up203frfc.js +0 -3
  1353. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0m1sh-r1a08nu.js +0 -3
  1354. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0m80vhox8yne_.js +0 -3
  1355. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0madmy1ghn2d_.js +0 -3
  1356. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0oonr-4chwcci.js +0 -3
  1357. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0opsftra4yyso.js +0 -3
  1358. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pz49shx663y1.js +0 -3
  1359. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rb6ju1slcbnm.js +0 -3
  1360. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0re64vewl4bd9.js +0 -3
  1361. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0s9srhxdns9u3.js +0 -3
  1362. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vfaoq0q8fb9j.js +0 -3
  1363. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-a6-p-bbfew5.js +0 -3
  1364. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_105eedqksbfit.js +0 -3
  1365. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10deooxbcl7dn.js +0 -3
  1366. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_10p350-tq8wue.js +0 -3
  1367. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_13zeb30aqtlf2.js +0 -3
  1368. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_163j9d9tcnnjx.js +0 -3
  1369. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18lxgbslt6r8b.js +0 -3
  1370. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_fjxf0k32zmt.js +0 -3
  1371. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_qogypi_aiam.js +0 -3
  1372. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1a04whtr87syz.js +0 -3
  1373. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1b0g9w0uow3x5.js +0 -3
  1374. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1d8w2j-twvhc-.js +0 -3
  1375. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dm4bx5yqfx5d.js +0 -3
  1376. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ejivqe23qgi6.js +0 -3
  1377. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1f4rp6x19w0vu.js +0 -3
  1378. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1g2tu-twl68c2.js +0 -3
  1379. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1jhcfycewcquz.js +0 -3
  1380. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kb_ff04m4p78.js +0 -3
  1381. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kz-w63djss2p.js +0 -3
  1382. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mwwly61gvbnl.js +0 -3
  1383. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1nnmbb1a34pgl.js +0 -3
  1384. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o0p09ki2at8x.js +0 -3
  1385. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1q1pd2kc4g0v1.js +0 -3
  1386. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1vswl-lmn1feb.js +0 -3
  1387. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1wg7_z4bxv6ru.js +0 -3
  1388. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1x6mq0hf94v16.js +0 -3
  1389. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_20dal1y611l3i.js +0 -3
  1390. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_21bzvd4_jyx44.js +0 -3
  1391. package/server/.next/server/chunks/ssr/src_01jp2f5qmh8e2._.js +0 -3
  1392. package/server/.next/server/chunks/ssr/src_0qvu1m5b9qo28._.js +0 -3
  1393. package/server/.next/server/chunks/ssr/src_0t6-d5hmzrbp1._.js +0 -3
  1394. package/server/.next/server/chunks/ssr/src_1717pig1-y5th._.js +0 -3
  1395. package/server/.next/server/chunks/ssr/src_1iyzhhf1u_gwo._.js +0 -3
  1396. package/server/.next/server/chunks/ssr/src_1ottjkdvhje3g._.js +0 -3
  1397. package/server/.next/server/chunks/ssr/src_1x6t-w3_nu4w7._.js +0 -3
  1398. package/server/.next/server/chunks/ssr/src_app_(console)_1l7irblrb5fae._.js +0 -3
  1399. package/server/.next/server/chunks/ssr/src_app_(console)_[___slug]_page_tsx_0b007i3c1v_vg._.js +0 -3
  1400. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_088bs149wsgca._.js +0 -3
  1401. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_page_tsx_0g20hm13dvbc-._.js +0 -3
  1402. package/server/.next/server/chunks/ssr/src_app_signin_1tg6pswa99jbe._.js +0 -3
  1403. package/server/.next/server/chunks/ssr/src_lib_03a2ehk2-znxl._.js +0 -3
  1404. package/server/.next/server/chunks/ssr/src_lib_0etkz1wbvfw-k._.js +0 -3
  1405. package/server/.next/server/chunks/ssr/src_lib_0hkrs-q6hzcww._.js +0 -3
  1406. package/server/.next/server/chunks/ssr/src_lib_0x4n8swwa3zn7._.js +0 -3
  1407. package/server/.next/server/chunks/ssr/src_lib_1coh17dmjagw1._.js +0 -3
  1408. package/server/.next/server/chunks/ssr/src_lib_1nkahiclbn55q._.js +0 -3
  1409. package/server/.next/server/chunks/ssr/src_lib_1p21oczr6lh5a._.js +0 -3
  1410. package/server/.next/server/chunks/ssr/src_lib_1v1jkqs0kbvmq._.js +0 -3
  1411. package/server/.next/server/chunks/ssr/src_lib_1yewk45thnv1h._.js +0 -3
  1412. package/server/.next/server/chunks/ssr/src_lib_demo_0hdl7pzdqejqx._.js +0 -3
  1413. package/server/.next/server/chunks/ssr/src_lib_demo_1w8p39upm6ea2._.js +0 -3
  1414. package/server/.next/server/chunks/ssr/src_lib_demo_visitor-limits_ts_1bx0-ks0r5_gj._.js +0 -3
  1415. package/server/.next/server/chunks/ssr/src_lib_security_osv_ts_1fckitwjz25y3._.js +0 -3
  1416. package/server/.next/static/chunks/08dak2kh1c6_7.js +0 -1
  1417. package/server/.next/static/chunks/0b9slopuz4e8a.js +0 -76
  1418. package/server/.next/static/chunks/0dp-tuwkw7xf8.js +0 -33
  1419. package/server/.next/static/chunks/0fhj_pu5ntcfo.js +0 -1
  1420. package/server/.next/static/chunks/0h9i512dn01kj.js +0 -1
  1421. package/server/.next/static/chunks/0ic6_-0gkd6p7.js +0 -1
  1422. package/server/.next/static/chunks/0icohez16w-ei.js +0 -1
  1423. package/server/.next/static/chunks/0j1wzqg4ukm70.js +0 -1
  1424. package/server/.next/static/chunks/0j_5norjm-kef.js +0 -1
  1425. package/server/.next/static/chunks/0kscmnb071fci.js +0 -1
  1426. package/server/.next/static/chunks/0ld78j1d4j201.js +0 -1
  1427. package/server/.next/static/chunks/0qlb-l1uyqku5.js +0 -1
  1428. package/server/.next/static/chunks/0udh0u8c6ovgf.css +0 -3
  1429. package/server/.next/static/chunks/0y1ss0tjq0nq0.js +0 -1
  1430. package/server/.next/static/chunks/1-oetq3mwlhds.js +0 -1
  1431. package/server/.next/static/chunks/11ywzwmfd_pt0.js +0 -1
  1432. package/server/.next/static/chunks/1jaozq01v9r6e.js +0 -1
  1433. package/server/.next/static/chunks/1ky5exl-c1kbo.js +0 -1
  1434. package/server/.next/static/chunks/1lsu_fxiyaeiz.js +0 -1
  1435. package/server/.next/static/chunks/1o3_amrh-sxr3.js +0 -1
  1436. package/server/.next/static/chunks/1w9o_jo_pejc5.js +0 -1
  1437. package/server/.next/static/chunks/1yvbs41m8_4nc.js +0 -7
  1438. package/server/.next/static/chunks/22alexnun_rdm.js +0 -1
  1439. package/server/.next/static/chunks/27qwmt1w6-iri.js +0 -1
  1440. package/server/.next/static/chunks/29humkd2-_1oo.js +0 -1
  1441. package/server/.next/static/chunks/29j96yfhxsf41.js +0 -1
  1442. package/server/.next/static/chunks/29qnnsjsgsia6.js +0 -1
  1443. package/server/.next/static/chunks/2ii8j9xuvv604.js +0 -1
  1444. package/server/.next/static/chunks/2m0ftj__ody0m.js +0 -1
  1445. package/server/.next/static/chunks/2rbtw3em5hkt4.js +0 -1
  1446. package/server/.next/static/chunks/2sdyov_lz1uj4.js +0 -1
  1447. package/server/.next/static/chunks/2toeyr9b_nk0e.js +0 -1
  1448. package/server/.next/static/chunks/2w7qxt7ux-m1-.js +0 -1
  1449. package/server/.next/static/chunks/2zc1osymeruya.js +0 -1
  1450. package/server/.next/static/chunks/33fbppn5fotpk.js +0 -1
  1451. package/server/.next/static/chunks/3auw1gobgv94g.js +0 -1
  1452. package/server/.next/static/chunks/3b1p-xm7iow1_.js +0 -1
  1453. package/server/.next/static/chunks/3gl2k6v182lli.js +0 -5
  1454. package/server/.next/static/chunks/3gurl_36kr7sg.js +0 -1
  1455. package/server/.next/static/chunks/3h-i_hcaaf7vs.js +0 -1
  1456. package/server/.next/static/chunks/3kznplgmzot89.js +0 -1
  1457. package/server/.next/static/chunks/3n_n6yeienmn-.js +0 -1
  1458. package/server/.next/static/chunks/3nqciag05fif0.js +0 -1
  1459. package/server/.next/static/chunks/3r3mt51wqymgs.js +0 -1
  1460. package/server/.next/static/chunks/3shbvizselyoq.js +0 -1
  1461. package/server/.next/static/chunks/3vpy-ra0rib9m.js +0 -1
  1462. package/server/.next/static/chunks/3xxagngfonh62.js +0 -1
  1463. package/server/.next/static/chunks/3yv-enyk37whg.js +0 -1
  1464. package/server/.next/static/media/favicon.117ezoe8m31dk.ico +0 -0
  1465. package/server/public/file.svg +0 -1
  1466. package/server/public/globe.svg +0 -1
  1467. package/server/public/next.svg +0 -1
  1468. package/server/public/vercel.svg +0 -1
  1469. package/server/public/window.svg +0 -1
  1470. /package/server/.next/server/app/{favicon.ico → icon.svg}/route/build-manifest.json +0 -0
  1471. /package/server/.next/static/{00CFAqN6pFBVkqJyXSd78 → ZGhdfWFNBWLdWW4UhJrAO}/_buildManifest.js +0 -0
  1472. /package/server/.next/static/{00CFAqN6pFBVkqJyXSd78 → ZGhdfWFNBWLdWW4UhJrAO}/_clientMiddlewareManifest.js +0 -0
  1473. /package/server/.next/static/{00CFAqN6pFBVkqJyXSd78 → ZGhdfWFNBWLdWW4UhJrAO}/_ssgManifest.js +0 -0
@@ -1,7 +1,7 @@
1
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
2
  select pid, state, extract(epoch from now() - state_change)::int as idle_s,
3
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(),u=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),d=0;if(u.length){let e=u.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`);d=(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}`)}(u);return d>0&&(console.info(`pool guard: ${l.length+1} connections, closed ${d} (${c.join(", ")})`),await (0,n.f)({kind:"ok",message:`Pool guard: closed ${d} of ${l.length+1} database connections`,detail:c.join(", ").slice(0,300),resourceId:null,actorUserId:null}).catch(()=>void 0)),{total:l.length+1,trimmed:d,culprits:c}}var i=e.i(90879),l=e.i(638809),u=e.i(366171);let d=[{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,u.E)(e,t?.deadline??e.getTime()+3e4)}}];var c=e.i(336763),p=e.i(157406),f=e.i(668304);function m(e){if((0,i.isCloud)())for(let t of new Set(e))try{let e;e=t,(0,f.revalidateTag)(e,{expire:0})}catch(e){console.warn(`cache: couldn't expire ${t}: ${e instanceof Error?e.message.slice(0,120):"unknown"}`)}}var h=e.i(188477),w=e.i(530298),g=e.i(396918),b=e.i(727028),y=e.i(728335),k=e.i(760859);let v="Watchbell backups",I="Watchpost backups",$=["Overview","Applications","Incidents","Databases","Domains"],A=["January","February","March","April","May","June","July","August","September","October","November","December"];function S(e){let t=(0,y.zonedParts)(e);return`${t.year}-${String(t.month).padStart(2,"0")}`}function D(e){return{start:(0,y.dayStart)(`${e}-01`),end:(0,y.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 T(e){let[t,a]=e.split("-").map(Number);return 1===a?`${t-1}-12`:`${t}-${String(a-1).padStart(2,"0")}`}function E(e){let[t,a]=e.split("-").map(Number);return`${A[a-1]} ${t}`}let x=e=>`Watchbell \xb7 ${e}`;function z(e){if(!e)return"";let t=(0,y.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 R=(e,t)=>e>0?Math.round((e-t)/e*1e5)/1e3:"",j=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)},_=e=>e.reduce((e,t)=>e+t,0),M=e=>"production"===e.target,q=e=>"ERROR"===e.state,N={supabase_project:"Supabase",neon_project:"Neon",firestore:"Firebase"};function P(e,t){if(!e)return"";let a=Date.parse(e);return Number.isFinite(a)?Math.floor((a-t.getTime())/864e5):""}let C=e=>null===e?"":Math.round(e/1048576*10)/10;function O(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 B=["record","at","subject","resource_id","checks","failures","p50_ms","p95_ms","max_ms","status_5xx","maintenance","type","kind","reason","count","message","detail"];var F=e.i(803237),G=e.i(788264),U=e.i(93387),L=e.i(857799),W=e.i(503313),H=e.i(827439);let V="backup.folder";async function J(){let[e]=await (0,a.db)().select().from(w.accounts).where((0,c.eq)(w.accounts.provider,"drive")).orderBy((0,g.asc)(w.accounts.createdAt)).limit(1);if(!e)return null;let t=(0,F.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},(0,U.serverEnv)().OPS_ENCRYPTION_KEY);return{id:e.id,status:e.status,lastError:e.lastError,lastTestAt:e.lastTestAt,refreshToken:t}}async function K(e,t){let r=new Date;await (0,a.db)().update(w.accounts).set({...t,lastTestAt:r,updatedAt:r}).where((0,c.eq)(w.accounts.id,e))}async function Y(){return(0,a.db)().select().from(w.backups).orderBy((0,g.desc)(w.backups.month)).limit(120)}async function X(e){let[t]=await (0,a.db)().select().from(w.backups).where((0,c.eq)(w.backups.month,e)).limit(1);return t??null}async function Q(e,t){let r=new Date;await (0,a.db)().insert(w.backups).values({month:e,...t,updatedAt:r}).onConflictDoUpdate({target:w.backups.month,set:{...t,updatedAt:r}})}async function Z(){let[e]=await (0,a.db)().select().from(w.settings).where((0,c.eq)(w.settings.key,V)).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 ee(e,t){let r=t?{id:e,name:t}:{id:e};await (0,a.db)().insert(w.settings).values({key:V,value:r}).onConflictDoUpdate({target:w.settings.key,set:{value:r,updatedAt:new Date}})}let et=e=>"number"==typeof e&&Number.isFinite(e)?e:null;async function ea(e,t,r){let{start:n,end:s}=D(e),o=t&&r<s?r:s,[i,l,u,d,p,f,m,h]=await Promise.all([(0,W.f)(),(0,a.db)().select({id:w.resources.id,name:w.resources.name}).from(w.resources).where((0,c.and)((0,c.eq)(w.resources.kind,"app"),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt))).orderBy((0,g.asc)(w.resources.name)).limit(500),(0,a.db)().select({r:w.rollupsHourly,appId:w.monitors.resourceId,app:w.resources.name,url:w.monitors.url,kind:w.monitors.kind,name:w.monitors.name}).from(w.rollupsHourly).innerJoin(w.monitors,(0,c.eq)(w.monitors.id,w.rollupsHourly.monitorId)).innerJoin(w.resources,(0,c.eq)(w.resources.id,w.monitors.resourceId)).where((0,c.and)((0,c.gte)(w.rollupsHourly.hour,n),(0,c.lt)(w.rollupsHourly.hour,o))).orderBy((0,g.asc)(w.rollupsHourly.hour)).limit(5e4),(0,a.db)().select({e:w.events,resource:w.resources.name}).from(w.events).leftJoin(w.resources,(0,c.eq)(w.resources.id,w.events.resourceId)).where((0,c.and)((0,c.gte)(w.events.at,n),(0,c.lt)(w.events.at,o))).orderBy((0,g.asc)(w.events.at)).limit(5e4),(0,a.db)().select().from(w.alerts).where((0,c.and)((0,c.gte)(w.alerts.startedAt,n),(0,c.lt)(w.alerts.startedAt,o))).orderBy((0,g.asc)(w.alerts.startedAt)).limit(5e3),(0,a.db)().select({appId:w.deployments.resourceId,target:w.deployments.target,state:w.deployments.state,createdAt:w.deployments.createdAtProvider}).from(w.deployments).where((0,c.and)((0,c.gte)(w.deployments.createdAtProvider,n),(0,c.lt)(w.deployments.createdAtProvider,o))).limit(1e4),(0,a.db)().select({r:w.resources,s:w.snapshots,account:w.accounts.label}).from(w.resources).innerJoin(w.accounts,(0,c.eq)(w.accounts.id,w.resources.accountId)).leftJoin(w.snapshots,(0,c.eq)(w.snapshots.resourceId,w.resources.id)).where((0,c.and)((0,c.inArray)(w.resources.kind,[...L.H]),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt))).limit(500),(0,H.p)()]),b=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?et((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!==et(s.computeSeconds)?Math.round(s.computeSeconds/3600*10)/10:null,reads:"firestore"===n?et((0,G.k)(G.w,r).reads):null}}),y=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:u.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:d.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:p.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:b,domains:y}}var er=e.i(75064),en=e.i(909592),es=e.i(684330),eo=e.i(492973),ei=e.i(246517),el=e.i(260417),eu=e.i(978071);let ed="application/vnd.google-apps.folder",ec="https://www.googleapis.com/drive/v3/files",ep="https://www.googleapis.com/upload/drive/v3/files",ef="https://sheets.googleapis.com/v4/spreadsheets",em=er.z.object({error:er.z.object({errors:en.z.array(es.z.looseObject({reason:eo.z.string().optional()})).optional(),status:eo.z.string().optional()})});async function eh(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 u=await o.json().catch(()=>null);if(o.ok)return{ok:!0,data:u};let d=em.safeParse(u),c=d.success?d.data.error.errors?.find(e=>e.reason)?.reason??d.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:"format",status:o.status,error:`Google Drive refused the request (${o.status}${c?` ${c}`:""}).`}}let ew=er.z.object({id:eo.z.string().min(1)}),eg=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=ew.safeParse(e.data);return a.success?{ok:!0,data:a.data.id}:eg(t)}async function ey(e,t,a={}){let r=`name = '${t.replace(/['\\]/g,"\\$&")}' and mimeType = '${ed}' and trashed = false`,n=await eh("GET",`${ec}?${new URLSearchParams({q:r,fields:"files(id,name)",spaces:"drive",pageSize:"10"})}`,e,null,a);if(!n.ok)return n;let s=er.z.object({files:en.z.array(ew)}).safeParse(n.data);return s.success?{ok:!0,data:s.data.files[0]?.id??null}:eg("the folder search")}async function ek(e,t,a={}){let r=await eh("GET",`${ec}/${encodeURIComponent(t)}?fields=id,trashed,name`,e,null,a);if(!r.ok)return"missing"===r.kind?{ok:!0,data:{usable:!1,name:null}}:r;let n=er.z.object({id:eo.z.string(),trashed:ei.z.boolean().optional(),name:eo.z.string().optional()}).safeParse(r.data);return n.success?{ok:!0,data:{usable:!n.data.trashed,name:n.data.name?.trim()||null}}:eg("the folder")}async function ev(e,t,a={}){return eb(await eh("POST",`${ec}?fields=id`,e,{json:{name:t,mimeType:ed}},a),"the new folder")}async function eI(e,t,a,r={}){return eb(await eh("POST",`${ec}?fields=id`,e,{json:{name:t,mimeType:"application/vnd.google-apps.spreadsheet",parents:[a]}},r),"the new spreadsheet")}let e$=e=>`'${e.replace(/'/g,"''")}'`;async function eA(e,t,a,r={}){let n=await eh("GET",`${ef}/${encodeURIComponent(t)}?fields=sheets.properties(sheetId,title)`,e,null,r);if(!n.ok)return n;let s=er.z.object({sheets:en.z.array(er.z.object({properties:er.z.object({sheetId:el.z.number(),title:eo.z.string()})})).default([])}).safeParse(n.data);if(!s.success)return eg("the spreadsheet's tabs");let o=s.data.sheets.map(e=>e.properties),i=new Set(o.map(e=>e.title)),l=[],u=a.filter(e=>!i.has(e)),d=o[0];for(let e of(d&&u.length&&!a.includes(d.title)&&(l.push({updateSheetProperties:{properties:{sheetId:d.sheetId,title:u[0]},fields:"title"}}),u.shift()),u))l.push({addSheet:{properties:{title:e}}});if(!l.length)return{ok:!0,data:void 0};let c=await eh("POST",`${ef}/${encodeURIComponent(t)}:batchUpdate`,e,{json:{requests:l}},r);return c.ok?{ok:!0,data:void 0}:c}async function eS(e,t,a,r={}){let n=encodeURIComponent(t),s=await eh("POST",`${ef}/${n}/values:batchClear`,e,{json:{ranges:a.map(e=>e$(e.title))}},r);if(!s.ok)return s;let o=a.map(e=>({range:`${e$(e.title)}!A1`,majorDimension:"ROWS",values:e.rows.map(e=>e.map(e=>e??""))})),i=await eh("POST",`${ef}/${n}/values:batchUpdate`,e,{json:{valueInputOption:"RAW",data:o}},r);return i.ok?{ok:!0,data:void 0}:i}let eD="watchbell-backup-part";function eT(e,t,a){return Buffer.concat([Buffer.from(`--${eD}\r
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(336763),p=e.i(157406),f=e.i(668304);function m(e){if((0,i.isCloud)())for(let t of new Set(e))try{let e;e=t,(0,f.revalidateTag)(e,{expire:0})}catch(e){console.warn(`cache: couldn't expire ${t}: ${e instanceof Error?e.message.slice(0,120):"unknown"}`)}}var h=e.i(188477),w=e.i(530298),g=e.i(396918),y=e.i(727028),b=e.i(728335),k=e.i(760859);let v="Watchbell backups",I="Watchpost backups",$=["Overview","Applications","Incidents","Databases","Domains"],A=["January","February","March","April","May","June","July","August","September","October","November","December"];function S(e){let t=(0,b.zonedParts)(e);return`${t.year}-${String(t.month).padStart(2,"0")}`}function D(e){return{start:(0,b.dayStart)(`${e}-01`),end:(0,b.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 E(e){let[t,a]=e.split("-").map(Number);return`${A[a-1]} ${t}`}let T=e=>`Watchbell \xb7 ${e}`;function j(e){if(!e)return"";let t=(0,b.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 M=(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)},R=e=>e.reduce((e,t)=>e+t,0),O=e=>"production"===e.target,_=e=>"ERROR"===e.state,N={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 C=e=>null===e?"":Math.round(e/1048576*10)/10;function P(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 B=["record","at","subject","resource_id","checks","failures","p50_ms","p95_ms","max_ms","status_5xx","maintenance","type","kind","reason","count","message","detail"];var F=e.i(803237),G=e.i(788264),U=e.i(93387),L=e.i(857799),W=e.i(503313),H=e.i(827439);let J="backup.folder";async function V(){let[e]=await (0,a.db)().select().from(w.accounts).where((0,c.eq)(w.accounts.provider,"drive")).orderBy((0,g.asc)(w.accounts.createdAt)).limit(1);if(!e)return null;let t=(0,F.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},(0,U.serverEnv)().OPS_ENCRYPTION_KEY);return{id:e.id,status:e.status,lastError:e.lastError,lastTestAt:e.lastTestAt,refreshToken:t}}async function K(e,t){let r=new Date;await (0,a.db)().update(w.accounts).set({...t,lastTestAt:r,updatedAt:r}).where((0,c.eq)(w.accounts.id,e))}async function Y(){return(0,a.db)().select().from(w.backups).orderBy((0,g.desc)(w.backups.month)).limit(120)}async function X(e){let[t]=await (0,a.db)().select().from(w.backups).where((0,c.eq)(w.backups.month,e)).limit(1);return t??null}async function Q(e,t){let r=new Date;await (0,a.db)().insert(w.backups).values({month:e,...t,updatedAt:r}).onConflictDoUpdate({target:w.backups.month,set:{...t,updatedAt:r}})}async function Z(){let[e]=await (0,a.db)().select().from(w.settings).where((0,c.eq)(w.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 ee(e,t){let r=t?{id:e,name:t}:{id:e};await (0,a.db)().insert(w.settings).values({key:J,value:r}).onConflictDoUpdate({target:w.settings.key,set:{value:r,updatedAt:new Date}})}let et=e=>"number"==typeof e&&Number.isFinite(e)?e:null;async function ea(e,t,r){let{start:n,end:s}=D(e),o=t&&r<s?r:s,[i,l,d,u,p,f,m,h]=await Promise.all([(0,W.f)(),(0,a.db)().select({id:w.resources.id,name:w.resources.name}).from(w.resources).where((0,c.and)((0,c.eq)(w.resources.kind,"app"),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt))).orderBy((0,g.asc)(w.resources.name)).limit(500),(0,a.db)().select({r:w.rollupsHourly,appId:w.monitors.resourceId,app:w.resources.name,url:w.monitors.url,kind:w.monitors.kind,name:w.monitors.name}).from(w.rollupsHourly).innerJoin(w.monitors,(0,c.eq)(w.monitors.id,w.rollupsHourly.monitorId)).innerJoin(w.resources,(0,c.eq)(w.resources.id,w.monitors.resourceId)).where((0,c.and)((0,c.gte)(w.rollupsHourly.hour,n),(0,c.lt)(w.rollupsHourly.hour,o))).orderBy((0,g.asc)(w.rollupsHourly.hour)).limit(5e4),(0,a.db)().select({e:w.events,resource:w.resources.name}).from(w.events).leftJoin(w.resources,(0,c.eq)(w.resources.id,w.events.resourceId)).where((0,c.and)((0,c.gte)(w.events.at,n),(0,c.lt)(w.events.at,o))).orderBy((0,g.asc)(w.events.at)).limit(5e4),(0,a.db)().select().from(w.alerts).where((0,c.and)((0,c.gte)(w.alerts.startedAt,n),(0,c.lt)(w.alerts.startedAt,o))).orderBy((0,g.asc)(w.alerts.startedAt)).limit(5e3),(0,a.db)().select({appId:w.deployments.resourceId,target:w.deployments.target,state:w.deployments.state,createdAt:w.deployments.createdAtProvider}).from(w.deployments).where((0,c.and)((0,c.gte)(w.deployments.createdAtProvider,n),(0,c.lt)(w.deployments.createdAtProvider,o))).limit(1e4),(0,a.db)().select({r:w.resources,s:w.snapshots,account:w.accounts.label}).from(w.resources).innerJoin(w.accounts,(0,c.eq)(w.accounts.id,w.resources.accountId)).leftJoin(w.snapshots,(0,c.eq)(w.snapshots.resourceId,w.resources.id)).where((0,c.and)((0,c.inArray)(w.resources.kind,[...L.H]),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt))).limit(500),(0,H.p)()]),y=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?et((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!==et(s.computeSeconds)?Math.round(s.computeSeconds/3600*10)/10:null,reads:"firestore"===n?et((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:p.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:y,domains:b}}var er=e.i(75064),en=e.i(909592),es=e.i(684330),eo=e.i(492973),ei=e.i(246517),el=e.i(260417),ed=e.i(978071);let eu="application/vnd.google-apps.folder",ec="https://www.googleapis.com/drive/v3/files",ep="https://www.googleapis.com/upload/drive/v3/files",ef="https://sheets.googleapis.com/v4/spreadsheets",em=er.z.object({error:er.z.object({errors:en.z.array(es.z.looseObject({reason:eo.z.string().optional()})).optional(),status:eo.z.string().optional()})});async function eh(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=em.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:"format",status:o.status,error:`Google Drive refused the request (${o.status}${c?` ${c}`:""}).`}}let ew=er.z.object({id:eo.z.string().min(1)}),eg=e=>({ok:!1,kind:"format",error:`Google Drive answered ${e} in a format the console doesn't recognise.`});function ey(e,t){if(!e.ok)return e;let a=ew.safeParse(e.data);return a.success?{ok:!0,data:a.data.id}:eg(t)}async function eb(e,t,a={}){let r=`name = '${t.replace(/['\\]/g,"\\$&")}' and mimeType = '${eu}' and trashed = false`,n=await eh("GET",`${ec}?${new URLSearchParams({q:r,fields:"files(id,name)",spaces:"drive",pageSize:"10"})}`,e,null,a);if(!n.ok)return n;let s=er.z.object({files:en.z.array(ew)}).safeParse(n.data);return s.success?{ok:!0,data:s.data.files[0]?.id??null}:eg("the folder search")}async function ek(e,t,a={}){let r=await eh("GET",`${ec}/${encodeURIComponent(t)}?fields=id,trashed,name`,e,null,a);if(!r.ok)return"missing"===r.kind?{ok:!0,data:{usable:!1,name:null}}:r;let n=er.z.object({id:eo.z.string(),trashed:ei.z.boolean().optional(),name:eo.z.string().optional()}).safeParse(r.data);return n.success?{ok:!0,data:{usable:!n.data.trashed,name:n.data.name?.trim()||null}}:eg("the folder")}async function ev(e,t,a={}){return ey(await eh("POST",`${ec}?fields=id`,e,{json:{name:t,mimeType:eu}},a),"the new folder")}async function eI(e,t,a,r={}){return ey(await eh("POST",`${ec}?fields=id`,e,{json:{name:t,mimeType:"application/vnd.google-apps.spreadsheet",parents:[a]}},r),"the new spreadsheet")}let e$=e=>`'${e.replace(/'/g,"''")}'`;async function eA(e,t,a,r={}){let n=await eh("GET",`${ef}/${encodeURIComponent(t)}?fields=sheets.properties(sheetId,title)`,e,null,r);if(!n.ok)return n;let s=er.z.object({sheets:en.z.array(er.z.object({properties:er.z.object({sheetId:el.z.number(),title:eo.z.string()})})).default([])}).safeParse(n.data);if(!s.success)return eg("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 eh("POST",`${ef}/${encodeURIComponent(t)}:batchUpdate`,e,{json:{requests:l}},r);return c.ok?{ok:!0,data:void 0}:c}async function eS(e,t,a,r={}){let n=encodeURIComponent(t),s=await eh("POST",`${ef}/${n}/values:batchClear`,e,{json:{ranges:a.map(e=>e$(e.title))}},r);if(!s.ok)return s;let o=a.map(e=>({range:`${e$(e.title)}!A1`,majorDimension:"ROWS",values:e.rows.map(e=>e.map(e=>e??""))})),i=await eh("POST",`${ef}/${n}/values:batchUpdate`,e,{json:{valueInputOption:"RAW",data:o}},r);return i.ok?{ok:!0,data:void 0}:i}let eD="watchbell-backup-part";function ex(e,t,a){return Buffer.concat([Buffer.from(`--${eD}\r
5
5
  Content-Type: application/json; charset=UTF-8\r
6
6
  \r
7
7
  ${JSON.stringify(e)}\r
@@ -9,13 +9,13 @@ ${JSON.stringify(e)}\r
9
9
  Content-Type: ${a}\r
10
10
  \r
11
11
  `),t,Buffer.from(`\r
12
- --${eD}--`)])}async function eE(e,t,a={}){let r=`multipart/related; boundary=${eD}`,n=e=>{if(!e.ok)return e;let a=er.z.object({id:eo.z.string().min(1),size:eu.z.union([eo.z.string(),el.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}}:eg("the upload")};if(t.fileId){let s=eT({name:t.name,mimeType:t.mimeType},t.content,t.mimeType),o=await eh("PATCH",`${ep}/${encodeURIComponent(t.fileId)}?uploadType=multipart&fields=id,size`,e,{raw:s,contentType:r},a);if(o.ok||"missing"!==o.kind)return n(o)}let s=eT({name:t.name,mimeType:t.mimeType,parents:[t.folderId]},t.content,t.mimeType);return n(await eh("POST",`${ep}?uploadType=multipart&fields=id,size`,e,{raw:s,contentType:r},a))}async function ex(e,t,a={}){let r=await eh("PATCH",`${ec}/${encodeURIComponent(t)}?fields=id,trashed`,e,{json:{trashed:!0}},a);return r.ok||"missing"===r.kind?{ok:!0,data:void 0}:r}var ez=e.i(666680),eR=e.i(547963);let ej=eR.n.notSet("GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET",!0),e_="invalid_grant: Google Drive access was removed or has expired. Reconnect Google Drive.",eM=er.z.object({error:eo.z.string()});async function eq(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=eM.safeParse(n).success?n.error:null;return"invalid_grant"===s?{ok:!1,kind:"revoked",error:e_}:"invalid_client"===s||"unauthorized_client"===s?{ok:!1,kind:"client",error:`Google refused the OAuth client. Check GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET ${eR.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}).`}}er.z.object({refresh_token:eo.z.string().min(1),scope:eo.z.string().optional()});let eN=er.z.object({access_token:eo.z.string().min(1)});async function eP(e,t,a={}){let r=await eq(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=eN.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 eC extends Error{kind;constructor(e,t){super(t),this.kind=e}}async function eO(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:ej};let s=await J();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 K(s.id,{status:"error",lastError:e}),{ok:!1,month:t,kind:"failed",error:e}}let o=await X(t),i={sheetFileId:o?.sheetFileId??null,csvFileId:o?.csvFileId??null,driveFolderId:o?.driveFolderId??null},l=o?.status??"error";await Q(t,{status:l,attempts:(o?.attempts??0)+1,startedAt:r});let u=e=>(i={...i,...e},Q(t,{status:l,...e})),d={fetch:e.fetch},c=()=>{if(Date.now()>e.deadline)throw new eC("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 eC("failed",e.error);return e.data};try{let o,l=await eP(n,s.refreshToken,d);if(!l.ok){if("revoked"===l.kind)throw await K(s.id,{status:"error",lastError:e_}),new eC("revoked",e_);throw new eC("failed",l.error)}"error"===s.status&&await K(s.id,{status:"ok",lastError:null});let f=l.accessToken;c();let m=await Z(),h=m?.id??null;if(m){let e=p(await ek(f,m.id,d));e.usable?e.name&&e.name!==m.name&&await ee(m.id,e.name):h=null}if(!h){c();let e=p(await ey(f,v,d)),t=e?null:p(await ey(f,I,d));h=e??t??p(await ev(f,v,d)),await ee(h,t?I:v)}let w=await ea(t,a,r);c(),i.sheetFileId||await u({sheetFileId:p(await eI(f,x(t),h,d)),driveFolderId:h}),c();let g=await eA(f,i.sheetFileId,$,d);g.ok||"missing"!==g.kind||(await u({sheetFileId:p(await eI(f,x(t),h,d)),driveFolderId:h}),c(),g=await eA(f,i.sheetFileId,$,d)),p(g),c(),p(await eS(f,i.sheetFileId,function(e){let{start:t,end:a}=D(e.month),r=e.partial&&e.generatedAt<a?e.generatedAt:a,n=e.deployments.filter(M),s=_(e.rollups.map(e=>e.checks)),o=_(e.rollups.map(e=>e.failures)),i=e=>(0,k.G)(e),l=[["Watchbell backup",e.month],["Covers",`${z(t)} to ${z(r)} ${(0,y.zoneName)()}${e.partial?" (month so far)":""}`],["Kind",e.partial?"Partial: Back up now":"Full month"],["Generated",`${z(e.generatedAt)} ${(0,y.zoneName)()}`],[],["Applications watched",e.apps.length],["Uptime, all monitors (%)",R(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(q).length],["Events",_(e.events.map(e=>e.count))]],u=[["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);u.push([i(t.name),new Set(a.map(e=>e.monitorId)).size,_(a.map(e=>e.checks)),R(_(a.map(e=>e.checks)),_(a.map(e=>e.failures))),j(r),r.length?Math.max(...r):null,_(a.map(e=>e.status5xx)),s.length,s.filter(q).length])}let d=[["Rule","Severity","Subject",`Started (${(0,y.zoneName)()})`,`Resolved (${(0,y.zoneName)()})`,"Duration","Message"]];for(let t of[...e.alerts].sort((e,t)=>e.startedAt.getTime()-t.startedAt.getTime())){let a=(0,k.o)({title:t.title,message:t.message,causedBy:null,resourceId:t.resourceId},e.book);d.push([t.ruleKey,t.severity,a.title,z(t.startedAt),z(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,k.X)(e.book,t.id).localeCompare((0,k.X)(e.book,a.id)))){let a=_(e.events.filter(e=>"database"===e.type&&e.resourceId===t.id).map(e=>e.count));c.push([(0,k.X)(e.book,t.id),N[t.kind],i(t.account),t.state,a,C(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??"",P(t.tlsExpires,r),t.domainExpires??"",P(t.domainExpires,r),t.registrar??""]);return[{title:"Overview",rows:l},{title:"Applications",rows:u},{title:"Incidents",rows:d},{title:"Databases",rows:c},{title:"Domains",rows:p}]}(w),d)),c();let A=(o=function(e){let t=[B.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,k.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(O).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,k.X)(e.book,a.resourceId):(0,k.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,k.J)(a.message,e.book,a.resourceId),(0,k.J)(a.detail,e.book,a.resourceId)].map(O).join(","))}return`${t.join("\r\n")}\r
13
- `}(w),(0,b.gzipSync)(Buffer.from(o,"utf8"),{level:9})),S=p(await eE(f,{name:`watchbell-${t}-raw.csv.gz`,mimeType:"application/gzip",folderId:h,content:A,fileId:i.csvFileId},d));await u({csvFileId:S.id}),await Q(t,{status:a?"partial":"ok",sizeBytes:S.size,error:null,finishedAt:new Date});let T=a?null:await eB(f,r,e.deadline,d);return{ok:!0,month:t,retention:T,message:`${E(t)}${a?" so far":""} saved to Google Drive.`}}catch(n){let e=n instanceof eC?n:new eC("failed","The backup failed. The next daily run tries again.");n instanceof eC||console.error("backup failed:",n instanceof Error?n.name:"unknown");let r=a&&"partial"===l?"partial":"error";return await Q(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 eB(e,t,a,r){let n=function(e,t){let a=S(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 Y(),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 ex(e,t,r)).ok||(n=!1));n&&(await Q(o.month,{status:o.status,trashedAt:t}),s.push(E(o.month)))}return s.length?`Moved to Drive trash: ${s.join(", ")}.`:null}async function eF(e,t,a={}){let r=await J();if(!r||"error"===r.status&&r.lastError?.startsWith("invalid_grant"))return null;let n=function(e,t){let a=T(S(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=T(n),"error"===r.get(n))return n;return null}(await Y(),e);if(!n)return null;let s=await eO({month:n,partial:!1,now:e,deadline:t,...a});return s.ok?null:`${E(n)}: ${s.error}`}var eG=e.i(455891),eU=e.i(889234),eL=e.i(328586),eW=e.i(333407),eH=e.i(459702),eV=e.i(200346),eJ=e.i(368230),eK=e.i(584820),eY=e.i(902509),eX=e.i(668141),eQ=e.i(242960),eZ=e.i(112515),e0=e.i(185890);function e1(e){if(!e)return null;if("unknown"!==e.state)return e.state;let t=e.data?.lastGoodState;return"string"==typeof t&&e0.f.includes(t)?t:null}let e3={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 e4=e.i(35048),e6=e.i(516464),e2=e.i(88316),e8=e.i(437122),e9=e.i(319718),e7=e.i(941536),te=e.i(686454),tt=e.i(122603);let ta="skipped the rest, time budget used";function tr(e){let t=e.deadline-Date.now()-500;if(t<250)throw Error(ta);return{timeoutMs:Math.min(5e3,t)}}async function tn(e,t,a){let r=!1;return{out:await (0,tt.P)(t,3,async t=>{let n;try{n=tr(e)}catch{r=!0;return}return a(t,n)}),skipped:r}}function ts(e){if(e)throw Error(ta)}async function to(e){let t=await (0,a.db)().select().from(w.accounts).where((0,c.and)((0,c.eq)(w.accounts.provider,e),(0,c.eq)(w.accounts.status,"ok"))),r=(0,U.serverEnv)().OPS_ENCRYPTION_KEY;return t.map(e=>({acc:e,credential:(0,F.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},r)}))}function ti(e,t){return(0,a.db)().select({r:w.resources,s:w.snapshots}).from(w.resources).leftJoin(w.snapshots,(0,c.eq)(w.snapshots.resourceId,w.resources.id)).where((0,c.and)((0,c.eq)(w.resources.accountId,e),(0,c.eq)(w.resources.kind,t),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt))).limit(100)}let tl=e=>t.sql`${w.snapshots.data} || ${JSON.stringify(e)}::jsonb`;async function tu(e,t,r){let n=e1(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(w.snapshots).values({resourceId:e.r.id,state:t.state,data:o,collectedAt:r,stateSince:r}).onConflictDoUpdate({target:w.snapshots.resourceId,set:{state:t.state,data:tl(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=e3[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 td(e,t){await (0,a.db)().update(w.snapshots).set({data:tl(t)}).where((0,c.eq)(w.snapshots.resourceId,e.r.id))}let tc=e=>(0,eW.f)(e);async function tp(e,t,r,n,s){if("auth"===e5(n,!0)){let e=(0,eZ.E)({ok:!1,kind:"auth",error:n.error});e&&await (0,a.db)().update(w.accounts).set({...e,updatedAt:s.now}).where((0,c.eq)(w.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 tf=e=>e.toISOString();async function tm(e){return e.length?new Set((await (0,a.db)().select({app:w.links.fromResourceId,state:w.snapshots.state,data:w.snapshots.data}).from(w.links).innerJoin(w.resources,(0,c.eq)(w.resources.id,w.links.toResourceId)).innerJoin(w.snapshots,(0,c.eq)(w.snapshots.resourceId,w.resources.id)).where((0,c.and)((0,c.eq)(w.links.kind,"uses_db"),(0,c.inArray)(w.links.fromResourceId,e),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt)))).filter(e=>"paused"===e.state||"unknown"===e.state&&"paused"===e.data.lastGoodState).map(e=>e.app)):new Set}async function th(e){if(!e.protectOnly||await (0,eV.g)())for(let{acc:t,credential:a}of(await to("supabase"))){if(tr(e),!a){e.errors.push(`supabase/${t.label}: credential can't be read`);continue}let r=await ti(t.id,"supabase_project");if(!r.length)continue;let n=await (0,te.W)(a,tr(e));if(!n.ok){e.protectOnly?e.errors.push(`supabase/${t.label}: ${n.error}`):await tp("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,e2.P)(a.status),n=e1(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 tc(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,eV.z)(e.now,l,e.deadline).catch(()=>{console.warn("auto-restore failed"),e.errors.push("auto-restore failed")})}}async function tw(e){for(let{acc:t,credential:a}of(await to("supabase"))){if(tr(e),!a)continue;let r=await ti(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,te.K)(a,r,tr(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 tn(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,te.F)(a,t.r.externalId,r),(0,te.Z)(a,t.r.externalId,r)]);n.ok?Object.assign(i,{health:n.data.map(({name:e,status:t})=>({name:e,status:t})),healthAt:tf(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,e2.H)(s.data)?.toISOString()??null,trafficAt:tf(e.now),trafficError:null}):"column"===e5(s,!1)?i.trafficError=s.error:e.errors.push(`supabase/${t.r.name} traffic: ${s.error}`)}await td(t,i)});ts(o)}}async function tg(e){for(let{acc:t,credential:a}of(await to("neon"))){if(tr(e),!a){e.errors.push(`neon/${t.label}: credential can't be read`);continue}let r=await ti(t.id,"neon_project");if(!r.length)continue;let{out:n,skipped:s}=await tn(e,r,(e,t)=>Promise.all([(0,e7.Z)(a,e.r.externalId,t),(0,e7.k)(a,e.r.externalId,t),(0,e7.e)(a,e.r.externalId,t)])),o=n.flat().find(e=>void 0!==e&&!e.ok&&"auth"===e.kind);if(o){await tp("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 u=(0,e6.p)({endpoints:o.data,computeSeconds:s.data.computeSeconds});i.push(await tu(a,{state:u.state,label:u.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 tc(i),ts(s)}}async function tb(e){for(let{acc:t,credential:a}of(await to("firebase"))){tr(e);let r=a?(0,e9.p)(a):null;if(!r){e.errors.push(`firebase/${t.label}: credential can't be read`);continue}let n=await ti(t.id,"firestore");if(!n.length)continue;let s=await (0,e9.X)(r,tr(e));if(!s.ok){await tp("firebase",t,n,s,e);continue}let{out:o,skipped:i}=await tn(e,n,(e,t)=>(0,e8.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,e4.g)(r);"unknown"!==n.state||r.ok||e.errors.push(`firebase/${a.r.name}: ${r.error}`);let s=r.ok?{latencyMs:r.data.latencyMs,pingError:null,pingReason:null,pingKind:null}:{pingError:r.error,pingReason:r.reason??null,pingKind:r.kind};l.push(await tu(a,{...n,patch:s},e.now))}await tc(l),ts(i)}}async function ty(e){for(let{acc:t,credential:a}of(await to("firebase"))){tr(e);let r=a?(0,e9.p)(a):null;if(!r)continue;let n=(await ti(t.id,"firestore")).filter(e=>e.s?.state!=="off");if(!n.length)continue;let s=await (0,e9.X)(r,tr(e));if(!s.ok){e.errors.push(`firebase/${t.label}: ${s.error}`);continue}let o=(0,e4.a)(e.now),{skipped:i}=await tn(e,n,async(t,a)=>{let r=await (0,e8.W)(s.data,t.r.externalId,o,e.now,a);r.ok?await td(t,{...r.data,opsAt:tf(e.now),opsError:null}):"column"===e5(r,!1)?await td(t,{reads:null,writes:null,deletes:null,opsAt:tf(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}`)});ts(i)}}async function tk(e){let t=Date.now()+2*Math.max(0,e.deadline-Date.now())/3,a=await tv(()=>tI({...e,deadline:t})),r=await tv(()=>t$(e));if(a)throw a;if(r)throw r}async function tv(e){try{return await e(),null}catch(e){return e instanceof Error?e:Error(String(e))}}async function tI(e){for(let{acc:t,credential:a}of(await to("supabase")))if(tr(e),a)for(let r of(await ti(t.id,"supabase_project"))){let t=(0,G.k)(G.B,r.s?.data);if(!(0,e2.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,te.r)(a,r.r.externalId,tr(e));n.ok?await td(r,{sizeBytes:n.data,sizeAt:tf(e.now),sizeError:null}):"column"===e5(n,!1)?await td(r,{sizeError:n.error}):e.errors.push(`supabase/${r.r.name} size: ${n.error}`)}}async function t$(e){for(let{acc:t,credential:a}of(await to("firebase"))){tr(e);let r=a?(0,e9.p)(a):null;if(!r)continue;let n=(await ti(t.id,"firestore")).filter(e=>e.s?.state!=="off");if(!n.length)continue;let s=await (0,e9.X)(r,tr(e));if(!s.ok){e.errors.push(`firebase/${t.label}: ${s.error}`);continue}let{skipped:o}=await tn(e,n,async(t,a)=>{let r=await (0,e8.q)(s.data,t.r.externalId,a);r.ok?await td(t,{authUsers:r.data,authAt:tf(e.now),authError:null}):"column"===e5(r,!1)?await td(t,{authError:"Not readable: the service account needs firebaseauth.viewer"}):e.errors.push(`firebase/${t.r.name} users: ${r.error}`)});ts(o)}}var tA=e.i(369179),tS=e.i(476866),tD=e.i(873083),tT=e.i(649297),tE=e.i(541211);let tx={github:"devops",deps:"devops",databases:"database",security:"hosting"};async function tz(e){let[t]=await (0,a.db)().select({hour:(0,p.max)(w.rollupsHourly.hour)}).from(w.rollupsHourly),r=(0,tT.r)(t?.hour??null,e),n=await (0,a.db)().select().from(w.checks).where((0,c.and)((0,c.gte)(w.checks.at,r),(0,c.lt)(w.checks.at,(0,tT.b)(e)))).orderBy(w.checks.at),s=new Map;for(let e of n){let t=`${e.monitorId}|${(0,tT.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,tT.z)(t);await (0,a.db)().insert(w.rollupsHourly).values({monitorId:r,hour:new Date(n),...s}).onConflictDoUpdate({target:[w.rollupsHourly.monitorId,w.rollupsHourly.hour],set:s})}}async function tR(e){let t=await (0,tS.J)().catch(()=>tA.f);await (0,a.db)().delete(w.checks).where((0,c.lt)(w.checks.at,new Date(e.getTime()-864e5*t.checks))),await (0,a.db)().delete(w.rollupsHourly).where((0,c.lt)(w.rollupsHourly.hour,new Date(e.getTime()-864e5*t.rollupsHourly))),await (0,a.db)().delete(w.deployments).where((0,c.and)((0,c.lt)(w.deployments.createdAtProvider,new Date(e.getTime()-864e5*t.deployments)),(0,c.eq)(w.deployments.isCurrent,!1),(0,c.eq)(w.deployments.isPreviousProduction,!1))),await (0,a.db)().delete(w.events).where((0,c.lt)(w.events.at,new Date(e.getTime()-864e5*t.events))),await (0,a.db)().delete(w.alerts).where((0,c.and)((0,c.isNotNull)(w.alerts.resolvedAt),(0,c.lt)(w.alerts.resolvedAt,new Date(e.getTime()-864e5*t.alerts)))),await (0,a.db)().delete(w.collectorRuns).where((0,c.lt)(w.collectorRuns.startedAt,new Date(e.getTime()-864e5*t.collectorRuns))),await (0,a.db)().delete(w.storedLogs).where((0,c.lt)(w.storedLogs.at,new Date(e.getTime()-864e5*t.storedLogs))),await (0,a.db)().delete(w.recommendationDismissals).where((0,c.lt)(w.recommendationDismissals.dismissedAt,new Date(e.getTime()-864e5*t.recommendationDismissals)))}async function tj(){let e=new Date,[t]=await (0,a.db)().insert(w.collectorRuns).values({startedAt:e,trigger:"vercel_cron"}).returning({id:w.collectorRuns.id}),r=[],n=await (0,l.I)(),s=[["rollups",()=>tz(e)],["backup",async()=>{let t=await eF(e,e.getTime()+2e4);t&&r.push(`backup: ${t}`)}],["retention",()=>tR(e)],["sync",async()=>{let t=(await (0,a.db)().select({id:w.accounts.id,label:w.accounts.label,provider:w.accounts.provider}).from(w.accounts).where((0,c.inArray)(w.accounts.provider,eX.I))).filter(e=>!n.has(tD.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,eQ.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,eL.D)(Math.min(Date.now()+6e3,e.getTime()+35e3));t&&r.push(`github: ${t}`)}],["deps",async()=>{let t=await (0,eU.e)(Math.min(Date.now()+eU.o,e.getTime()+eU.R));t&&r.push(`deps: ${t}`)}],["databases",()=>tk({now:e,deadline:Math.min(Date.now()+15e3,e.getTime()+5e4),errors:r})],["keep-active",()=>(0,eV.V)(e,Math.min(Date.now()+5e3,e.getTime()+5e4),r)],["security",async()=>{for(let t of(await (0,eK.h)((0,eY.F)(e.getTime(),Date.now()))).failed)r.push(`security ${t}`)}],["advisor",async()=>{await (0,eG.O)(e)}]],o=[];try{for(let[e,t]of s)if(!n.has(tx[e]))try{await t(),o.push(e)}catch(t){r.push(`${e}: ${(0,tE.safeError)(t)}`)}await (0,eW.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,tE.safeError)(e)}`)}finally{m(h.t),await (0,a.db)().update(w.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,c.eq)(w.collectorRuns.id,t.id)).catch(()=>void 0)}await t_(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 t_(e){let t=process.env.DAILY_HEARTBEAT_TOKEN;if(!t)return;let a=(0,eJ.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,eH._)(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 tM(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,tE.safeError)(t)}`)}return{...e,tasks:r,errors:n,ok:0===n.length}}var tq=e.i(234195),tN=e.i(706959),tP=e.i(451682),tC=e.i(373200),tO=e.i(753535),tB=e.i(932378),tF=e.i(313903);let tG=/not enabled/i,tU=(e,t,a={})=>({ok:!1,kind:e,error:t,...a}),tL="Vercel Web Analytics answered in a format the console doesn't recognise.",tW=er.z.object({data:er.z.object({pageviews:el.z.number().finite().nonnegative(),visitors:el.z.number().finite().nonnegative()})}),tH=er.z.object({data:en.z.array(tB.z.unknown())}),tV=er.z.object({timestamp:eo.z.string().transform((e,t)=>{let a=Date.parse(e);return Number.isNaN(a)?(t.addIssue({code:"custom",message:"bad timestamp"}),tF.z.NEVER):a}),pageviews:el.z.number().finite().nonnegative().nullish().catch(null)});async function tJ(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),u=r.signal?AbortSignal.any([i.signal,r.signal]):i.signal,d=(0,tt.X)(u);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:u,cache:"no-store"}),d]),a=null,r=!1;if(401===t.status||403===t.status)a=tU("auth",`Vercel rejected this credential (${t.status}).`,{status:t.status});else if(429===t.status){let e=Number(t.headers.get("Retry-After"));a=tU("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(),d]).catch(()=>"");tG.test(e)?r=!0:a=tU("transient","Vercel Web Analytics rejected the request (400).",{status:400})}else t.ok||(a=tU("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(),d])}}catch(e){if(u.aborted)throw e;return{kind:"fail",fail:tU("format",tL)}}}catch{return{kind:"fail",fail:u.aborted?i.signal.aborted&&!r.signal?.aborted?tU("transient","Vercel Web Analytics didn't answer in time."):tU("transient","Reading Vercel Web Analytics was cancelled."):tU("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?tH.safeParse(t.body):null,s="fail"===t.kind?t.fail:n?.success?null:tU("format",tL),o=a.find(e=>"transient"===e.kind);if(o)return o;if(s)return s;if(!n?.success)return tU("format",tL);let i="body"===e.kind?tW.safeParse(e.body):null,l=n.data.data.flatMap(e=>{let t=tV.safeParse(e);return t.success?[t.data]:[]});if(l.length>0&&l.every(e=>null==e.pageviews))return tU("format",tL);let u=new Map;for(let e of l){let t=36e5*Math.floor(e.timestamp/36e5);u.set(t,(u.get(t)??0)+(e.pageviews??0))}let d=[...u].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:d};return{ok:!0,enabled:!0,total:d.reduce((e,t)=>e+t.views,0),visitors:null,hourly:d}}finally{clearTimeout(l),i.abort()}}var tK=e.i(178233);async function tY(e,t,a){let r=await (0,tP.g)(null);if(!r.length)return;let n=new Date(36e5*Math.floor(e.getTime()/36e5)-828e5);await (0,tt.P)(r,3,async r=>{if(Date.now()+8500>t)return;let s=await tJ(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,tO.r)(r.appId,{pageviews:(0,tK.Z)(s,e)},e)}catch{a.push(`pageviews/${r.appName}: couldn't save the page views`)}})}var tX=e.i(147100),tQ=e.i(764266),tZ=e.i(198552),t0=e.i(27479),t1=e.i(707866),t3=e.i(392710),t5=e.i(582888),t4=e.i(811539),t6=e.i(725321);async function t2(e){let t=[await tv(()=>t9(e)),await tv(()=>ae(e)),await tv(()=>at(e))].find(e=>null!==e);if(t)throw t}let t8=e=>e.toISOString();async function t9(e){for(let{acc:t,credential:a}of(await to("turso"))){if(tr(e),!a){e.errors.push(`turso/${t.label}: credential can't be read`);continue}let r=await ti(t.id,"turso_database");if(!r.length)continue;let n=await (0,t5.u)(a,tr(e));if(!n.ok){await tp("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,t5.X)(a,i.slug,tr(e)),(0,t5.d)(a,i.slug,tr(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 u=new Map(n.data.map(e=>[e.id,e]));for(let t of l)o.push(await t7(t,u.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 tc(o)}}async function t7(e,t,a,r,n){if(!t)return tu(e,{state:"off",label:"Not found",patch:{}},n.now);let s=(0,t1.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:t8(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 ae(e){for(let{acc:t,credential:a}of(await to("upstash"))){tr(e);let r=a?(0,t4.L)(a):null;if(!r){e.errors.push(`upstash/${t.label}: credential can't be read`);continue}let n=await ti(t.id,"upstash_redis");if(!n.length)continue;let s=await (0,t4.M)(r,tr(e));if(!s.ok){await tp("upstash",t,n,s,e);continue}let o=new Map(s.data.map(e=>[e.id,e])),{out:i,skipped:l}=await tn(e,n,(e,t)=>o.has(e.r.externalId)?(0,t4.Z)(r,e.r.externalId,t):Promise.resolve(null)),u=[];for(let[t,a]of n.entries()){let r=o.get(a.r.externalId);if(!r){u.push(await tu(a,{state:"off",label:"Not found",patch:{}},e.now));continue}let n=(0,t1.t)(r.state),s={region:r.region,status:r.state,type:r.type},l=i[t];l?.ok?Object.assign(s,{...l.data,statsAt:t8(e.now),statsError:null}):l&&"column"===e5(l,!1)?s.statsError=l.error:l&&e.errors.push(`upstash/${a.r.name} stats: ${l.error}`),u.push(await tu(a,{...n,patch:s},e.now))}await tc(u),ts(l)}}async function at(e){let t={};for(let{acc:a,credential:r}of(await to("cloudflare"))){if(tr(e),!r)continue;let n=await ar(a.id,r,e);if(!n.length){t[a.id]={d1:"error",analytics:null,at:t8(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,t3.L)(r,t,tr(e));if(!n.ok){"error"==(s="scope"===n.kind||"auth"===n.kind?"missing":"error")&&e.errors.push(`d1/${a.label}: ${n.error}`);continue}await an(a.id,t,n.data,e.now);let i=(await ti(a.id,"d1_database")).filter(e=>e.r.meta.accountId===t);if(!i.length)continue;let l=await (0,t3.t)(r,t,(0,t3.Y)(e.now),tr(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:u,skipped:d}=await tn(e,i,(e,a)=>(0,t3.m)(r,t,e.r.externalId,a)),c=new Map((l.ok?l.data:[]).map(e=>[e.databaseId,e])),p=u.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:u.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=u[t];void 0!==r&&m.push(await aa(a,r,c.get(a.r.externalId)??null,l.ok,l.ok?null:l.error,f,e))}await tc(m),ts(d)}t[a.id]={d1:s,analytics:o,at:t8(e.now),note:null}}await (0,a.db)().insert(w.settings).values({key:t6.f,value:t}).onConflictDoUpdate({target:w.settings.key,set:{value:t,updatedAt:e.now}})}async function aa(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:t8(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,t3.Y)(o.now),usageAt:t8(o.now),usageError:null}):i.usageError=n,null!==s.accountSizeBytes&&(i.accountSizeBytes=s.accountSizeBytes),t.ok||"transient"!==t.kind)?tu(e,{...(0,t1.c)(r?s:{accountRowsRead:null,accountRowsWritten:null}),patch:i},o.now):tu(e,{state:"unknown",label:"Unknown",patch:{}},o.now)}async function ar(e,t,r){let n=new Set,s=await (0,t3.N)(t,tr(r));if(s.ok)for(let e of s.data)n.add(e.id);for(let t of(await (0,a.db)().select({meta:w.resources.meta}).from(w.resources).where((0,c.and)((0,c.eq)(w.resources.accountId,e),(0,c.eq)(w.resources.kind,"zone"),(0,c.isNull)(w.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 an(e,t,r,n){let s=(await (0,a.db)().select({id:w.resources.id,externalId:w.resources.externalId,meta:w.resources.meta,goneAt:w.resources.goneAt}).from(w.resources).where((0,c.and)((0,c.eq)(w.resources.accountId,e),(0,c.eq)(w.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(w.resources).set({name:s.name,meta:r,lastSeenAt:n,goneAt:null,updatedAt:n}).where((0,c.eq)(w.resources.id,i.id)):await a.insert(w.resources).values({accountId:e,kind:"d1_database",externalId:s.uuid,name:s.name,meta:r,monitored:!0,lastSeenAt:n}).onConflictDoNothing({target:[w.resources.accountId,w.resources.kind,w.resources.externalId]})}let l=s.filter(e=>!i.has(e.externalId)&&!e.goneAt).map(e=>e.id);l.length&&await a.update(w.resources).set({goneAt:n,updatedAt:n}).where((0,c.inArray)(w.resources.id,l))})}var as=e.i(628852);async function ao(e=new Date){let n=(0,ez.randomUUID)(),s=new Date(e.getTime()+as.d).toISOString(),o=await (0,a.db)().execute(t.sql`
12
+ --${eD}--`)])}async function eE(e,t,a={}){let r=`multipart/related; boundary=${eD}`,n=e=>{if(!e.ok)return e;let a=er.z.object({id:eo.z.string().min(1),size:ed.z.union([eo.z.string(),el.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}}:eg("the upload")};if(t.fileId){let s=ex({name:t.name,mimeType:t.mimeType},t.content,t.mimeType),o=await eh("PATCH",`${ep}/${encodeURIComponent(t.fileId)}?uploadType=multipart&fields=id,size`,e,{raw:s,contentType:r},a);if(o.ok||"missing"!==o.kind)return n(o)}let s=ex({name:t.name,mimeType:t.mimeType,parents:[t.folderId]},t.content,t.mimeType);return n(await eh("POST",`${ep}?uploadType=multipart&fields=id,size`,e,{raw:s,contentType:r},a))}async function eT(e,t,a={}){let r=await eh("PATCH",`${ec}/${encodeURIComponent(t)}?fields=id,trashed`,e,{json:{trashed:!0}},a);return r.ok||"missing"===r.kind?{ok:!0,data:void 0}:r}var ej=e.i(666680),eM=e.i(547963);let ez=eM.n.notSet("GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET",!0),eR="invalid_grant: Google Drive access was removed or has expired. Reconnect Google Drive.",eO=er.z.object({error:eo.z.string()});async function e_(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=eO.safeParse(n).success?n.error:null;return"invalid_grant"===s?{ok:!1,kind:"revoked",error:eR}:"invalid_client"===s||"unauthorized_client"===s?{ok:!1,kind:"client",error:`Google refused the OAuth client. Check GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET ${eM.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}).`}}er.z.object({refresh_token:eo.z.string().min(1),scope:eo.z.string().optional()});let eN=er.z.object({access_token:eo.z.string().min(1)});async function eq(e,t,a={}){let r=await e_(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=eN.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 eC extends Error{kind;constructor(e,t){super(t),this.kind=e}}async function eP(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 V();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 K(s.id,{status:"error",lastError:e}),{ok:!1,month:t,kind:"failed",error:e}}let o=await X(t),i={sheetFileId:o?.sheetFileId??null,csvFileId:o?.csvFileId??null,driveFolderId:o?.driveFolderId??null},l=o?.status??"error";await Q(t,{status:l,attempts:(o?.attempts??0)+1,startedAt:r});let d=e=>(i={...i,...e},Q(t,{status:l,...e})),u={fetch:e.fetch},c=()=>{if(Date.now()>e.deadline)throw new eC("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 eC("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 K(s.id,{status:"error",lastError:eR}),new eC("revoked",eR);throw new eC("failed",l.error)}"error"===s.status&&await K(s.id,{status:"ok",lastError:null});let f=l.accessToken;c();let m=await Z(),h=m?.id??null;if(m){let e=p(await ek(f,m.id,u));e.usable?e.name&&e.name!==m.name&&await ee(m.id,e.name):h=null}if(!h){c();let e=p(await eb(f,v,u)),t=e?null:p(await eb(f,I,u));h=e??t??p(await ev(f,v,u)),await ee(h,t?I:v)}let w=await ea(t,a,r);c(),i.sheetFileId||await d({sheetFileId:p(await eI(f,T(t),h,u)),driveFolderId:h}),c();let g=await eA(f,i.sheetFileId,$,u);g.ok||"missing"!==g.kind||(await d({sheetFileId:p(await eI(f,T(t),h,u)),driveFolderId:h}),c(),g=await eA(f,i.sheetFileId,$,u)),p(g),c(),p(await eS(f,i.sheetFileId,function(e){let{start:t,end:a}=D(e.month),r=e.partial&&e.generatedAt<a?e.generatedAt:a,n=e.deployments.filter(O),s=R(e.rollups.map(e=>e.checks)),o=R(e.rollups.map(e=>e.failures)),i=e=>(0,k.G)(e),l=[["Watchbell backup",e.month],["Covers",`${j(t)} to ${j(r)} ${(0,b.zoneName)()}${e.partial?" (month so far)":""}`],["Kind",e.partial?"Partial: Back up now":"Full month"],["Generated",`${j(e.generatedAt)} ${(0,b.zoneName)()}`],[],["Applications watched",e.apps.length],["Uptime, all monitors (%)",M(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(_).length],["Events",R(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,R(a.map(e=>e.checks)),M(R(a.map(e=>e.checks)),R(a.map(e=>e.failures))),z(r),r.length?Math.max(...r):null,R(a.map(e=>e.status5xx)),s.length,s.filter(_).length])}let u=[["Rule","Severity","Subject",`Started (${(0,b.zoneName)()})`,`Resolved (${(0,b.zoneName)()})`,"Duration","Message"]];for(let t of[...e.alerts].sort((e,t)=>e.startedAt.getTime()-t.startedAt.getTime())){let a=(0,k.o)({title:t.title,message:t.message,causedBy:null,resourceId:t.resourceId},e.book);u.push([t.ruleKey,t.severity,a.title,j(t.startedAt),j(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,k.X)(e.book,t.id).localeCompare((0,k.X)(e.book,a.id)))){let a=R(e.events.filter(e=>"database"===e.type&&e.resourceId===t.id).map(e=>e.count));c.push([(0,k.X)(e.book,t.id),N[t.kind],i(t.account),t.state,a,C(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 A=(o=function(e){let t=[B.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,k.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(P).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,k.X)(e.book,a.resourceId):(0,k.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,k.J)(a.message,e.book,a.resourceId),(0,k.J)(a.detail,e.book,a.resourceId)].map(P).join(","))}return`${t.join("\r\n")}\r
13
+ `}(w),(0,y.gzipSync)(Buffer.from(o,"utf8"),{level:9})),S=p(await eE(f,{name:`watchbell-${t}-raw.csv.gz`,mimeType:"application/gzip",folderId:h,content:A,fileId:i.csvFileId},u));await d({csvFileId:S.id}),await Q(t,{status:a?"partial":"ok",sizeBytes:S.size,error:null,finishedAt:new Date});let x=a?null:await eB(f,r,e.deadline,u);return{ok:!0,month:t,retention:x,message:`${E(t)}${a?" so far":""} saved to Google Drive.`}}catch(n){let e=n instanceof eC?n:new eC("failed","The backup failed. The next daily run tries again.");n instanceof eC||console.error("backup failed:",n instanceof Error?n.name:"unknown");let r=a&&"partial"===l?"partial":"error";return await Q(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 eB(e,t,a,r){let n=function(e,t){let a=S(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 Y(),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 Q(o.month,{status:o.status,trashedAt:t}),s.push(E(o.month)))}return s.length?`Moved to Drive trash: ${s.join(", ")}.`:null}async function eF(e,t,a={}){let r=await V();if(!r||"error"===r.status&&r.lastError?.startsWith("invalid_grant"))return null;let n=function(e,t){let a=x(S(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 Y(),e);if(!n)return null;let s=await eP({month:n,partial:!1,now:e,deadline:t,...a});return s.ok?null:`${E(n)}: ${s.error}`}var eG=e.i(455891),eU=e.i(889234),eL=e.i(328586),eW=e.i(333407),eH=e.i(459702),eJ=e.i(200346),eV=e.i(368230),eK=e.i(584820),eY=e.i(902509),eX=e.i(668141),eQ=e.i(242960),eZ=e.i(112515),e0=e.i(185890);function e1(e){if(!e)return null;if("unknown"!==e.state)return e.state;let t=e.data?.lastGoodState;return"string"==typeof t&&e0.f.includes(t)?t:null}let e3={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 e4=e.i(35048),e2=e.i(516464),e6=e.i(88316),e8=e.i(437122),e9=e.i(319718),e7=e.i(941536),te=e.i(686454),tt=e.i(122603);let ta="skipped the rest, time budget used";function tr(e){let t=e.deadline-Date.now()-500;if(t<250)throw Error(ta);return{timeoutMs:Math.min(5e3,t)}}async function tn(e,t,a){let r=!1;return{out:await (0,tt.P)(t,3,async t=>{let n;try{n=tr(e)}catch{r=!0;return}return a(t,n)}),skipped:r}}function ts(e){if(e)throw Error(ta)}async function to(e){let t=await (0,a.db)().select().from(w.accounts).where((0,c.and)((0,c.eq)(w.accounts.provider,e),(0,c.eq)(w.accounts.status,"ok"))),r=(0,U.serverEnv)().OPS_ENCRYPTION_KEY;return t.map(e=>({acc:e,credential:(0,F.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},r)}))}function ti(e,t){return(0,a.db)().select({r:w.resources,s:w.snapshots}).from(w.resources).leftJoin(w.snapshots,(0,c.eq)(w.snapshots.resourceId,w.resources.id)).where((0,c.and)((0,c.eq)(w.resources.accountId,e),(0,c.eq)(w.resources.kind,t),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt))).limit(100)}let tl=e=>t.sql`${w.snapshots.data} || ${JSON.stringify(e)}::jsonb`;async function td(e,t,r){let n=e1(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(w.snapshots).values({resourceId:e.r.id,state:t.state,data:o,collectedAt:r,stateSince:r}).onConflictDoUpdate({target:w.snapshots.resourceId,set:{state:t.state,data:tl(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=e3[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 tu(e,t){await (0,a.db)().update(w.snapshots).set({data:tl(t)}).where((0,c.eq)(w.snapshots.resourceId,e.r.id))}let tc=e=>(0,eW.f)(e);async function tp(e,t,r,n,s){if("auth"===e5(n,!0)){let e=(0,eZ.E)({ok:!1,kind:"auth",error:n.error});e&&await (0,a.db)().update(w.accounts).set({...e,updatedAt:s.now}).where((0,c.eq)(w.accounts.id,t.id))}for(let e of r)await td(e,{state:"unknown",label:"Unknown",patch:{}},s.now);s.errors.push(`${e}/${t.label}: ${n.error}`)}let tf=e=>e.toISOString();async function tm(e){return e.length?new Set((await (0,a.db)().select({app:w.links.fromResourceId,state:w.snapshots.state,data:w.snapshots.data}).from(w.links).innerJoin(w.resources,(0,c.eq)(w.resources.id,w.links.toResourceId)).innerJoin(w.snapshots,(0,c.eq)(w.snapshots.resourceId,w.resources.id)).where((0,c.and)((0,c.eq)(w.links.kind,"uses_db"),(0,c.inArray)(w.links.fromResourceId,e),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt)))).filter(e=>"paused"===e.state||"unknown"===e.state&&"paused"===e.data.lastGoodState).map(e=>e.app)):new Set}async function th(e){if(!e.protectOnly||await (0,eJ.g)())for(let{acc:t,credential:a}of(await to("supabase"))){if(tr(e),!a){e.errors.push(`supabase/${t.label}: credential can't be read`);continue}let r=await ti(t.id,"supabase_project");if(!r.length)continue;let n=await (0,te.W)(a,tr(e));if(!n.ok){e.protectOnly?e.errors.push(`supabase/${t.label}: ${n.error}`):await tp("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 td(t,{state:"off",label:"Not found",patch:{status:"REMOVED"}},e.now));continue}let r=(0,e6.P)(a.status),n=e1(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 td(t,{state:r.state,label:r.label,patch:i},e.now))}await tc(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 tw(e){for(let{acc:t,credential:a}of(await to("supabase"))){if(tr(e),!a)continue;let r=await ti(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,te.K)(a,r,tr(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 tn(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,te.F)(a,t.r.externalId,r),(0,te.Z)(a,t.r.externalId,r)]);n.ok?Object.assign(i,{health:n.data.map(({name:e,status:t})=>({name:e,status:t})),healthAt:tf(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,e6.H)(s.data)?.toISOString()??null,trafficAt:tf(e.now),trafficError:null}):"column"===e5(s,!1)?i.trafficError=s.error:e.errors.push(`supabase/${t.r.name} traffic: ${s.error}`)}await tu(t,i)});ts(o)}}async function tg(e){for(let{acc:t,credential:a}of(await to("neon"))){if(tr(e),!a){e.errors.push(`neon/${t.label}: credential can't be read`);continue}let r=await ti(t.id,"neon_project");if(!r.length)continue;let{out:n,skipped:s}=await tn(e,r,(e,t)=>Promise.all([(0,e7.Z)(a,e.r.externalId,t),(0,e7.k)(a,e.r.externalId,t),(0,e7.e)(a,e.r.externalId,t)])),o=n.flat().find(e=>void 0!==e&&!e.ok&&"auth"===e.kind);if(o){await tp("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 td(a,{state:"off",label:"Not found",patch:{}},e.now)):(await td(a,{state:"unknown",label:"Unknown",patch:{}},e.now),e.errors.push(`neon/${a.r.name}: ${t.error}`));continue}let d=(0,e2.p)({endpoints:o.data,computeSeconds:s.data.computeSeconds});i.push(await td(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 tc(i),ts(s)}}let ty=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 tb(e){for(let{acc:t,credential:a}of(await to("firebase"))){tr(e);let r=a?(0,e9.p)(a):null;if(!r){e.errors.push(`firebase/${t.label}: credential can't be read`);continue}let n=await ti(t.id,"firestore");if(!n.length)continue;let s=await (0,e9.X)(r,tr(e));if(!s.ok){await tp("firebase",t,n,s,e);continue}let{out:o,skipped:i}=await tn(e,n,(e,t)=>(0,e8.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,e4.g)(r);"unknown"!==n.state||r.ok||e.errors.push(`firebase/${a.r.name}: ${r.error}`),l.push(await td(a,{...n,patch:ty(r)},e.now))}await tc(l),ts(i)}}async function tk(e){for(let{acc:t,credential:a}of(await to("firebase"))){tr(e);let r=a?(0,e9.p)(a):null;if(!r)continue;let n=(await ti(t.id,"firestore")).filter(e=>e.s?.state!=="off");if(!n.length)continue;let s=await (0,e9.X)(r,tr(e));if(!s.ok){e.errors.push(`firebase/${t.label}: ${s.error}`);continue}let o=(0,e4.a)(e.now),{skipped:i}=await tn(e,n,async(t,a)=>{let r=await (0,e8.W)(s.data,t.r.externalId,o,e.now,a);r.ok?await tu(t,{...r.data,opsAt:tf(e.now),opsError:null}):"column"===e5(r,!1)?await tu(t,{reads:null,writes:null,deletes:null,opsAt:tf(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}`)});ts(i)}}async function tv(e){let t=Date.now()+2*Math.max(0,e.deadline-Date.now())/3,a=await tI(()=>t$({...e,deadline:t})),r=await tI(()=>tA(e));if(a)throw a;if(r)throw r}async function tI(e){try{return await e(),null}catch(e){return e instanceof Error?e:Error(String(e))}}async function t$(e){for(let{acc:t,credential:a}of(await to("supabase")))if(tr(e),a)for(let r of(await ti(t.id,"supabase_project"))){let t=(0,G.k)(G.B,r.s?.data);if(!(0,e6.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,te.r)(a,r.r.externalId,tr(e));n.ok?await tu(r,{sizeBytes:n.data,sizeAt:tf(e.now),sizeError:null}):"column"===e5(n,!1)?await tu(r,{sizeError:n.error}):e.errors.push(`supabase/${r.r.name} size: ${n.error}`)}}async function tA(e){for(let{acc:t,credential:a}of(await to("firebase"))){tr(e);let r=a?(0,e9.p)(a):null;if(!r)continue;let n=(await ti(t.id,"firestore")).filter(e=>e.s?.state!=="off");if(!n.length)continue;let s=await (0,e9.X)(r,tr(e));if(!s.ok){e.errors.push(`firebase/${t.label}: ${s.error}`);continue}let{skipped:o}=await tn(e,n,async(t,a)=>{let r=await (0,e8.q)(s.data,t.r.externalId,a);r.ok?await tu(t,{authUsers:r.data,authAt:tf(e.now),authError:null}):"column"===e5(r,!1)?await tu(t,{authError:"Not readable: the service account needs firebaseauth.viewer"}):e.errors.push(`firebase/${t.r.name} users: ${r.error}`)});ts(o)}}var tS=e.i(369179),tD=e.i(476866),tx=e.i(873083),tE=e.i(649297),tT=e.i(541211);let tj={github:"devops",deps:"devops",databases:"database",security:"hosting"};async function tM(e){let[t]=await (0,a.db)().select({hour:(0,p.max)(w.rollupsHourly.hour)}).from(w.rollupsHourly),r=(0,tE.r)(t?.hour??null,e),n=await (0,a.db)().select().from(w.checks).where((0,c.and)((0,c.gte)(w.checks.at,r),(0,c.lt)(w.checks.at,(0,tE.b)(e)))).orderBy(w.checks.at),s=new Map;for(let e of n){let t=`${e.monitorId}|${(0,tE.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,tE.z)(t);await (0,a.db)().insert(w.rollupsHourly).values({monitorId:r,hour:new Date(n),...s}).onConflictDoUpdate({target:[w.rollupsHourly.monitorId,w.rollupsHourly.hour],set:s})}}async function tz(e){let t=await (0,tD.J)().catch(()=>tS.f);await (0,a.db)().delete(w.checks).where((0,c.lt)(w.checks.at,new Date(e.getTime()-864e5*t.checks))),await (0,a.db)().delete(w.rollupsHourly).where((0,c.lt)(w.rollupsHourly.hour,new Date(e.getTime()-864e5*t.rollupsHourly))),await (0,a.db)().delete(w.deployments).where((0,c.and)((0,c.lt)(w.deployments.createdAtProvider,new Date(e.getTime()-864e5*t.deployments)),(0,c.eq)(w.deployments.isCurrent,!1),(0,c.eq)(w.deployments.isPreviousProduction,!1))),await (0,a.db)().delete(w.events).where((0,c.lt)(w.events.at,new Date(e.getTime()-864e5*t.events))),await (0,a.db)().delete(w.alerts).where((0,c.and)((0,c.isNotNull)(w.alerts.resolvedAt),(0,c.lt)(w.alerts.resolvedAt,new Date(e.getTime()-864e5*t.alerts)))),await (0,a.db)().delete(w.collectorRuns).where((0,c.lt)(w.collectorRuns.startedAt,new Date(e.getTime()-864e5*t.collectorRuns))),await (0,a.db)().delete(w.storedLogs).where((0,c.lt)(w.storedLogs.at,new Date(e.getTime()-864e5*t.storedLogs))),await (0,a.db)().delete(w.recommendationDismissals).where((0,c.lt)(w.recommendationDismissals.dismissedAt,new Date(e.getTime()-864e5*t.recommendationDismissals)))}async function tR(){let e=new Date,[t]=await (0,a.db)().insert(w.collectorRuns).values({startedAt:e,trigger:"vercel_cron"}).returning({id:w.collectorRuns.id}),r=[],n=await (0,l.I)(),s=[["rollups",()=>tM(e)],["backup",async()=>{let t=await eF(e,e.getTime()+2e4);t&&r.push(`backup: ${t}`)}],["retention",()=>tz(e)],["sync",async()=>{let t=(await (0,a.db)().select({id:w.accounts.id,label:w.accounts.label,provider:w.accounts.provider}).from(w.accounts).where((0,c.inArray)(w.accounts.provider,eX.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,eQ.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,eL.D)(Math.min(Date.now()+6e3,e.getTime()+35e3));t&&r.push(`github: ${t}`)}],["deps",async()=>{let t=await (0,eU.e)(Math.min(Date.now()+eU.o,e.getTime()+eU.R));t&&r.push(`deps: ${t}`)}],["databases",()=>tv({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,eK.h)((0,eY.F)(e.getTime(),Date.now()))).failed)r.push(`security ${t}`)}],["advisor",async()=>{await (0,eG.O)(e)}]],o=[];try{for(let[e,t]of s)if(!n.has(tj[e]))try{await t(),o.push(e)}catch(t){r.push(`${e}: ${(0,tT.safeError)(t)}`)}await (0,eW.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{m(h.t),await (0,a.db)().update(w.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,c.eq)(w.collectorRuns.id,t.id)).catch(()=>void 0)}await tO(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 tO(e){let t=process.env.DAILY_HEARTBEAT_TOKEN;if(!t)return;let a=(0,eV.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,eH._)(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 t_(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}}var tN=e.i(978196),tq=e.i(234195),tC=e.i(706959),tP=e.i(451682),tB=e.i(373200),tF=e.i(753535),tG=e.i(932378),tU=e.i(313903);let tL=/not enabled/i,tW=(e,t,a={})=>({ok:!1,kind:e,error:t,...a}),tH="Vercel Web Analytics answered in a format the console doesn't recognise.",tJ=er.z.object({data:er.z.object({pageviews:el.z.number().finite().nonnegative(),visitors:el.z.number().finite().nonnegative()})}),tV=er.z.object({data:en.z.array(tG.z.unknown())}),tK=er.z.object({timestamp:eo.z.string().transform((e,t)=>{let a=Date.parse(e);return Number.isNaN(a)?(t.addIssue({code:"custom",message:"bad timestamp"}),tU.z.NEVER):a}),pageviews:el.z.number().finite().nonnegative().nullish().catch(null)});async function tY(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,tt.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=tW("auth",`Vercel rejected this credential (${t.status}).`,{status:t.status});else if(429===t.status){let e=Number(t.headers.get("Retry-After"));a=tW("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(()=>"");tL.test(e)?r=!0:a=tW("transient","Vercel Web Analytics rejected the request (400).",{status:400})}else t.ok||(a=tW("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:tW("format",tH)}}}catch{return{kind:"fail",fail:d.aborted?i.signal.aborted&&!r.signal?.aborted?tW("transient","Vercel Web Analytics didn't answer in time."):tW("transient","Reading Vercel Web Analytics was cancelled."):tW("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?tV.safeParse(t.body):null,s="fail"===t.kind?t.fail:n?.success?null:tW("format",tH),o=a.find(e=>"transient"===e.kind);if(o)return o;if(s)return s;if(!n?.success)return tW("format",tH);let i="body"===e.kind?tJ.safeParse(e.body):null,l=n.data.data.flatMap(e=>{let t=tK.safeParse(e);return t.success?[t.data]:[]});if(l.length>0&&l.every(e=>null==e.pageviews))return tW("format",tH);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 tX=e.i(178233);async function tQ(e,t,a){let r=await (0,tP.g)(null);if(!r.length)return;let n=new Date(36e5*Math.floor(e.getTime()/36e5)-828e5);await (0,tt.P)(r,3,async r=>{if(Date.now()+8500>t)return;let s=await tY(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,tF.r)(r.appId,{pageviews:(0,tX.Z)(s,e)},e)}catch{a.push(`pageviews/${r.appName}: couldn't save the page views`)}})}var tZ=e.i(628852),t0=e.i(802641);let t1="security.afterDeploy",t3=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),t5=e=>"string"==typeof e&&e.length>0&&e.length<=100;function t4(e){let t={pending:{},checked:{}};if(!t3(e))return t;if(t3(e.pending))for(let[a,r]of Object.entries(e.pending)){if(!(0,t0.f)(a)||!t3(r)||!t5(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(t3(e.checked))for(let[a,r]of Object.entries(e.checked))(0,t0.f)(a)&&t5(r)&&(t.checked[a]=r);return t}function t2(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 t6=(e,t)=>Object.entries(e.pending).filter(([,e])=>!e[t]).map(([e])=>e),t8="security.slot",t9=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e&&e.length>0&&e.length<=100).slice(0,1e3):[],t7=(e,t)=>[...new Set([...e,...t])].slice(0,1e3),ae=e=>async()=>{let[t]=await (0,a.db)().select({value:w.settings.value}).from(w.settings).where((0,c.eq)(w.settings.key,e)).limit(1);return t?.value??null},at=e=>async t=>{await (0,a.db)().insert(w.settings).values({key:e,value:t}).onConflictDoUpdate({target:w.settings.key,set:{value:t,updatedAt:new Date}})},aa={read:ae(t1),write:at(t1),readSlot:ae(t8),writeSlot:at(t8),nextCheck:eK.h,depsStep:(e,t)=>(0,eU.O)(e,t)};async function ar(e,t=aa){var a;let r,n=t4(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?t2(n,r):n),o=!e.paused.has("hosting"),i=!e.paused.has("devops"),l=o?t6(s,"next"):[],d=i?t6(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:t9(a.next),repos:t9(a.repos),cut:n,nextDone:!0===a.nextDone,depsDone:!0===a.depsDone}}(await t.readSlot(),new Date((0,tZ.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()+eY.y,!u&&m?e.deadline-2*eU.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=t7(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()+eU.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=t7(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 t2({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 an(e,t,a=aa){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,t0.f)(e.appId)&&t5(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}}(t4(await a.read()),e,t);return n&&await a.write(r),n}var as=e.i(147100),ao=e.i(764266),ai=e.i(198552),al=e.i(27479),ad=e.i(707866),au=e.i(392710),ac=e.i(582888),ap=e.i(811539),af=e.i(725321);async function am(e){let t=[await tI(()=>aw(e)),await tI(()=>ay(e)),await tI(()=>ab(e))].find(e=>null!==e);if(t)throw t}let ah=e=>e.toISOString();async function aw(e){for(let{acc:t,credential:a}of(await to("turso"))){if(tr(e),!a){e.errors.push(`turso/${t.label}: credential can't be read`);continue}let r=await ti(t.id,"turso_database");if(!r.length)continue;let n=await (0,ac.u)(a,tr(e));if(!n.ok){await tp("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,ac.X)(a,i.slug,tr(e)),(0,ac.d)(a,i.slug,tr(e))]),l=r.filter(e=>e.r.meta.org===i.slug);if(!n.ok){for(let t of l)await td(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 ag(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 td(t,{state:"off",label:"Organization not visible to this token",patch:{}},e.now));await tc(o)}}async function ag(e,t,a,r,n){if(!t)return td(e,{state:"off",label:"Not found",patch:{}},n.now);let s=(0,ad.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:ah(n.now),usageError:null})}else"column"===e5(r,!1)?o.usageError=r.error:n.errors.push(`turso/${e.r.name} usage: ${r.error}`);return td(e,{...s,patch:o},n.now)}async function ay(e){for(let{acc:t,credential:a}of(await to("upstash"))){tr(e);let r=a?(0,ap.L)(a):null;if(!r){e.errors.push(`upstash/${t.label}: credential can't be read`);continue}let n=await ti(t.id,"upstash_redis");if(!n.length)continue;let s=await (0,ap.M)(r,tr(e));if(!s.ok){await tp("upstash",t,n,s,e);continue}let o=new Map(s.data.map(e=>[e.id,e])),{out:i,skipped:l}=await tn(e,n,(e,t)=>o.has(e.r.externalId)?(0,ap.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 td(a,{state:"off",label:"Not found",patch:{}},e.now));continue}let n=(0,ad.t)(r.state),s={region:r.region,status:r.state,type:r.type},l=i[t];l?.ok?Object.assign(s,{...l.data,statsAt:ah(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 td(a,{...n,patch:s},e.now))}await tc(d),ts(l)}}async function ab(e){let t={};for(let{acc:a,credential:r}of(await to("cloudflare"))){if(tr(e),!r)continue;let n=await av(a.id,r,e);if(!n.length){t[a.id]={d1:"error",analytics:null,at:ah(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,au.L)(r,t,tr(e));if(!n.ok){"error"==(s="scope"===n.kind||"auth"===n.kind?"missing":"error")&&e.errors.push(`d1/${a.label}: ${n.error}`);continue}await aI(a.id,t,n.data,e.now);let i=(await ti(a.id,"d1_database")).filter(e=>e.r.meta.accountId===t);if(!i.length)continue;let l=await (0,au.t)(r,t,(0,au.Y)(e.now),tr(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 tn(e,i,(e,a)=>(0,au.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 ak(a,r,c.get(a.r.externalId)??null,l.ok,l.ok?null:l.error,f,e))}await tc(m),ts(u)}t[a.id]={d1:s,analytics:o,at:ah(e.now),note:null}}await (0,a.db)().insert(w.settings).values({key:af.f,value:t}).onConflictDoUpdate({target:w.settings.key,set:{value:t,updatedAt:e.now}})}async function ak(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:ah(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,au.Y)(o.now),usageAt:ah(o.now),usageError:null}):i.usageError=n,null!==s.accountSizeBytes&&(i.accountSizeBytes=s.accountSizeBytes),t.ok||"transient"!==t.kind)?td(e,{...(0,ad.c)(r?s:{accountRowsRead:null,accountRowsWritten:null}),patch:i},o.now):td(e,{state:"unknown",label:"Unknown",patch:{}},o.now)}async function av(e,t,r){let n=new Set,s=await (0,au.N)(t,tr(r));if(s.ok)for(let e of s.data)n.add(e.id);for(let t of(await (0,a.db)().select({meta:w.resources.meta}).from(w.resources).where((0,c.and)((0,c.eq)(w.resources.accountId,e),(0,c.eq)(w.resources.kind,"zone"),(0,c.isNull)(w.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 aI(e,t,r,n){let s=(await (0,a.db)().select({id:w.resources.id,externalId:w.resources.externalId,meta:w.resources.meta,goneAt:w.resources.goneAt}).from(w.resources).where((0,c.and)((0,c.eq)(w.resources.accountId,e),(0,c.eq)(w.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(w.resources).set({name:s.name,meta:r,lastSeenAt:n,goneAt:null,updatedAt:n}).where((0,c.eq)(w.resources.id,i.id)):await a.insert(w.resources).values({accountId:e,kind:"d1_database",externalId:s.uuid,name:s.name,meta:r,monitored:!0,lastSeenAt:n}).onConflictDoNothing({target:[w.resources.accountId,w.resources.kind,w.resources.externalId]})}let l=s.filter(e=>!i.has(e.externalId)&&!e.goneAt).map(e=>e.id);l.length&&await a.update(w.resources).set({goneAt:n,updatedAt:n}).where((0,c.inArray)(w.resources.id,l))})}async function a$(e=new Date){let n=(0,ej.randomUUID)(),s=new Date(e.getTime()+tZ.d).toISOString(),o=await (0,a.db)().execute(t.sql`
14
14
  insert into ops.settings (key, value) values ('collector.lease', ${JSON.stringify({until:s,owner:n})}::jsonb)
15
15
  on conflict (key) do update set value = excluded.value, updated_at = now()
16
16
  where (ops.settings.value->>'until')::timestamptz < ${e.toISOString()}::timestamptz
17
- returning key`);return(0,r.f)(o).length>0?n:null}async function ai(e){await (0,a.db)().execute(t.sql`
17
+ returning key`);return(0,r.f)(o).length>0?n:null}async function aA(e){await (0,a.db)().execute(t.sql`
18
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 al=e.i(991219),au=e.i(149398),ad=e.i(467404),ac=e.i(816173);e.i(247714);let ap="collector.lastRun",af="vercel.backoffUntil",am="vercel.currentMiss",ah={supabase:th,supabaseUsage:tw,neon:tg,firebase:tb,firebaseUsage:ty,extraDbs:t2};async function aw(){let[e]=await (0,a.db)().select().from(w.settings).where((0,c.eq)(w.settings.key,ap)).limit(1);return e?.value??{}}async function ag(e){await (0,a.db)().insert(w.settings).values({key:ap,value:e}).onConflictDoUpdate({target:w.settings.key,set:{value:e,updatedAt:new Date}})}let ab=e=>(0,eW.f)(e);async function ay(e,r,n,s,o=[]){let i=(await (0,a.db)().select({m:w.monitors,app:w.resources}).from(w.monitors).innerJoin(w.resources,(0,c.eq)(w.resources.id,w.monitors.resourceId)).where((0,c.and)((0,c.eq)(w.monitors.kind,"http"),(0,c.eq)(w.monitors.paused,!1),(0,c.eq)(w.monitors.ownerPaused,!1),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt))).orderBy(t.sql`${w.monitors.lastCheckedAt} asc nulls first`,w.monitors.id)).filter(({m:t})=>(0,as.B)(t.lastCheckedAt,e,s));if(!i.length)return 0;let l=await (0,tt.P)(i,6,({m:e})=>{let t=(0,as.P)(e.timeoutMs,r,Date.now());return null===t?Promise.resolve(null):(0,tt.b)(e.url,{expectedStatus:e.expectedStatus,timeoutMs:t,body:(0,au.C)(e)})}),u=i.flatMap((e,t)=>l[t]?[{...e,r:l[t]}]:[]);if(u.length<i.length&&n.push(`checks: ${i.length-u.length} monitors skipped, time budget used`),!u.length)return 0;let d=[];for(let t of u)await (0,ad.f)(t.m,t.r,e)&&d.push(t);return d.length?(await (0,a.db)().insert(w.checks).values(d.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,tQ.x)(o,{monitorId:t.id,appId:a.id},e)}))),await ab(d.map(({m:t,app:a,r})=>(0,ac.F)({resourceId:a.id,path:(0,t0.K)(t.url),prev:t.state,next:(0,ac.G)(t.failStreak,r).state,code:r.statusCode,error:r.error,at:e}))),d.length):0}let ak=["checks","heartbeats"];async function av(e,t,a=tN.f){if(!ak.some(t=>e.includes(t)))return[];try{return await a()}catch(e){return t.push(`maintenance: ${(0,tE.safeError)(e)}`),[]}}async function aI(e){let[t]=await (0,a.db)().select().from(w.settings).where((0,c.eq)(w.settings.key,af)).limit(1),r=t?.value?.until;return!!r&&e.getTime()<new Date(r).getTime()}async function a$(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(w.settings).values({key:af,value:r}).onConflictDoUpdate({target:w.settings.key,set:{value:r,updatedAt:t}}),!0}let aA=e=>t.sql`coalesce(${w.deployments.externalId} = ${e}::text, false)`;async function aS(e,r,n){if(await aI(e))return;let s=(0,U.serverEnv)().OPS_ENCRYPTION_KEY;for(let o of(await (0,a.db)().select().from(w.accounts).where((0,c.and)((0,c.eq)(w.accounts.provider,"vercel"),(0,c.eq)(w.accounts.status,"ok"))))){let i=(0,F.V)({ciphertext:o.credentialCiphertext,iv:o.credentialIv},s);if((0,eZ.A)(i)||!i){n.push(`vercel/${o.label}: credential can't be read`);continue}let l=await (0,a.db)().select().from(w.resources).where((0,c.and)((0,c.eq)(w.resources.accountId,o.id),(0,c.eq)(w.resources.kind,"app"),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt)));if(!l.length)continue;let u=new Map(l.map(e=>[e.externalId,e])),d=await (0,tZ.X)(i);if(!d.ok){let t=(0,eZ.E)({ok:!1,kind:d.kind,error:d.error});if(t&&await (0,a.db)().update(w.accounts).set({...t,updatedAt:e}).where((0,c.eq)(w.accounts.id,o.id)),n.push(`vercel/${o.label}: ${d.error}`),await a$(d,e))return;continue}let p=new Set(l.map(e=>String(e.meta.teamId)));for(let s of d.data.filter(e=>p.has(e.id))){if(Date.now()>r)return void n.push("vercel: skipped remaining teams, time budget used");let[o,d]=await Promise.all([(0,tZ.W)(i,s),(0,tZ.K)(i,s,{since:e.getTime()-6048e5,limit:100})]);if(!o.ok||!d.ok){let t=o.ok?d:o;if(n.push(`vercel/${s.name}: ${t.error}`),await a$(t,e))return;continue}let p=new Map(o.data.map(e=>[e.id,e.currentDeploymentId])),f=d.data.filter(e=>u.has(e.projectId)),m=new Map((f.length?await (0,a.db)().select({externalId:w.deployments.externalId,state:w.deployments.state,target:w.deployments.target,branch:w.deployments.branch,commitSha:w.deployments.commitSha,commitMessage:w.deployments.commitMessage,source:w.deployments.source,url:w.deployments.url,buildingAt:w.deployments.buildingAt,readyAt:w.deployments.readyAt}).from(w.deployments).where((0,c.inArray)(w.deployments.externalId,f.map(e=>e.id))):[]).map(e=>[e.externalId,e])),h=[];for(let t of f){let r=u.get(t.projectId),n=m.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,t0.E)(n,s)){let n={resourceId:r.id,externalId:t.id,...s,createdAtProvider:t.createdAt,updatedAt:e};await (0,a.db)().insert(w.deployments).values(n).onConflictDoUpdate({target:w.deployments.externalId,set:n})}h.push((0,ac.L)(n?.state,t,r.id,e))}await ab(h);let g=l.filter(e=>String(e.meta.teamId)===s.id),b=await (0,a.db)().select({resourceId:w.deployments.resourceId,id:w.deployments.externalId,createdAt:w.deployments.createdAtProvider}).from(w.deployments).where((0,c.and)((0,c.inArray)(w.deployments.resourceId,g.map(e=>e.id)),(0,c.eq)(w.deployments.target,"production"),(0,c.eq)(w.deployments.state,"ready"))),[y]=await (0,a.db)().select().from(w.settings).where((0,c.eq)(w.settings.key,am)).limit(1),k=[],v=()=>k.length?(0,a.db)().insert(w.settings).values({key:am,value:(0,t0.Y)(y?.value,k,e)}).onConflictDoUpdate({target:w.settings.key,set:{value:(0,t0.Y)(y?.value,k,e),updatedAt:e}}):Promise.resolve();for(let t of(0,t0.Q)(g,p,b,(0,t0.S)(y?.value,e))){if(Date.now()>r)break;let o=await (0,tZ.S)(i,s,t.deploymentId);if(!o.ok){if(n.push(`vercel/${s.name}: current deployment: ${o.error}`),await a$(o,e))return void await v();k.push(t.deploymentId);continue}let l=o.data,u={resourceId:t.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(w.deployments).values(u).onConflictDoUpdate({target:w.deployments.externalId,set:u}),"ready"===l.state&&"production"===l.target?b.push({resourceId:t.appId,id:l.id,createdAt:l.createdAt}):k.push(t.deploymentId)}for(let r of(await v(),g)){let{currentId:n,previousId:s}=(0,t0.a)(b.filter(e=>e.resourceId===r.id),p.get(r.externalId)??null);await (0,a.db)().update(w.deployments).set({isCurrent:aA(n),isPreviousProduction:aA(s),updatedAt:e}).where((0,c.and)((0,c.eq)(w.deployments.resourceId,r.id),(0,c.or)(t.sql`${w.deployments.isCurrent} is distinct from ${aA(n)}`,t.sql`${w.deployments.isPreviousProduction} is distinct from ${aA(s)}`)))}}}}async function aD(e){let r=await (0,a.db)().select().from(w.resources).where((0,c.and)((0,c.eq)(w.resources.kind,"app"),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt)));if(!r.length)return;let n=await (0,a.db)().select().from(w.monitors).where((0,c.and)((0,c.inArray)(w.monitors.resourceId,r.map(e=>e.id)),(0,c.eq)(w.monitors.paused,!1),(0,c.eq)(w.monitors.ownerPaused,!1))),s=new Set((await (0,a.db)().select({r:w.deployments.resourceId}).from(w.deployments).where((0,c.and)((0,c.inArray)(w.deployments.resourceId,r.map(e=>e.id)),(0,c.eq)(w.deployments.target,"production"),(0,c.eq)(w.deployments.state,"building"),(0,c.gte)(w.deployments.createdAtProvider,new Date(e.getTime()-36e5))))).map(e=>e.r)),o=await tm(r.map(e=>e.id)),i=new Map((await (0,a.db)().select().from(w.snapshots).where((0,c.inArray)(w.snapshots.resourceId,r.map(e=>e.id)))).map(e=>[e.resourceId,e]));for(let l of r){let r=n.filter(e=>e.resourceId===l.id),u=(0,ac.V)({monitors:r.map(e=>e.state),building:s.has(l.id),dbPaused:o.has(l.id)}),d=r.find(e=>"err"===e.state)??r.find(e=>"warn"===e.state),c={code:d?.lastStatus??null,latencyMs:r.find(e=>"heartbeat"!==e.kind)?.lastLatencyMs??null,dbPaused:o.has(l.id)},p=i.get(l.id);await (0,a.db)().insert(w.snapshots).values({resourceId:l.id,state:u,data:c,collectedAt:e,stateSince:e}).onConflictDoUpdate({target:w.snapshots.resourceId,set:{state:u,data:t.sql`${w.snapshots.data} || ${JSON.stringify(c)}::jsonb`,collectedAt:e,...p?.state!==u?{stateSince:e}:{}}})}}async function aT(e,t={}){let a={writeLastRun:ag,refreshApps:aD,refreshNetwork:al.x,invalidate:m,...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,tE.safeError)(t)}`)}if(e.done.some(e=>al.p.includes(e)))try{await a.refreshNetwork(new Date)}catch(t){e.errors.push(`network-states: ${(0,tE.safeError)(t)}`)}}finally{a.invalidate((0,h.o)(e.tried??e.done))}}async function aE(e,t,a,r={evaluate:tq.$,deliver:tC.q,digest:tC.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,tE.safeError)(t)}`)}try{await r.deliver(new Date,t),console.info("collector notifications delivered")}catch(t){e=!1,a.push(`notify: ${(0,tE.safeError)(t)}`)}e&&n.push("alerts")}if(e.includes("digest")&&(0,as.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,tE.safeError)(e)}`)}return n}async function ax(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,as.z)(o,t,Date.now())){s.push(o);try{await r(o),n.push(o)}catch(e){a.push(`${o}: ${(0,tE.safeError)(e)}`)}}}return{done:n,tried:s}}async function az(e){let t,r=new Date,n=await ao(r);if(!n)return{skipped:!0,ok:!0,tasks:[],checks:0,durationMs:0,errors:[]};try{[t]=await (0,a.db)().insert(w.collectorRuns).values({startedAt:r,trigger:"builtin"===e?"manual":e}).returning({id:w.collectorRuns.id})}catch(e){throw await ai(n).catch(()=>void 0),e}let s=[],o=[],i=0,u=r.getTime()+as.p,d=e=>console.info(`collector ${e} +${Date.now()-r.getTime()}ms`);try{d("start");let t=await aw(),a="cron_job_org"!==e&&"builtin"!==e,n=await (0,l.I)(),c=(0,as.S)(t,r,a,n),p=c.filter(e=>as.u.includes(e)),f=p.includes("alerts")?u-as.X:u,m=await av(c,s);d(`due ${c.join(",")}`);let{done:h,tried:w}=await ax(c.filter(e=>!as.u.includes(e)),f,s,async e=>{if(d(`task ${e}`),"heartbeats"===e){let e=new Date;i+=await (0,eH.r)(e,(t,a)=>null!==(0,tQ.x)(m,{monitorId:t,appId:a},e),a)}"checks"===e&&(i+=await ay(new Date,f,s,a,m)),"vercel"===e&&await aS(new Date,f,s);let t=ah[e];t&&await t({now:new Date,deadline:f,errors:s,protectOnly:(0,as.$)(e,n)}),"cloudflare"===e&&await (0,al.h)(new Date,f,s),"domains"===e&&await (0,al.H)(new Date,f,s),"tls"===e&&await (0,al.V)(new Date,f,s),"rdap"===e&&await (0,al.W)(new Date,f,s),"eol"===e&&await (0,al.i)(new Date,f,s),"status"===e&&await (0,tX.i)(new Date),"logs"===e&&await (0,tP._)(new Date,f,s),"pageviews"===e&&await tY(new Date,f,s)});o.push(...h),d("main done"),await aT({lastRun:t,done:o,tried:w,started:r,errors:s}),d("settled");let g=await aE(p,u,s);d("post done"),g.length&&await ag({...t,...Object.fromEntries([...o,...g].map(e=>[e,r.toISOString()]))}),o.push(...g)}catch(e){s.push(`run: ${(0,tE.safeError)(e)}`)}finally{let e=Date.now()-r.getTime();await (0,a.db)().update(w.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,c.eq)(w.collectorRuns.id,t.id)).catch(()=>void 0),await ai(n).catch(()=>void 0)}return{skipped:!1,ok:0===s.length,tasks:o,checks:i,durationMs:Date.now()-r.getTime(),errors:s}}var aR=e.i(486118);async function aj(e){let t=[...d,...aR.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 a_(e,t=Date.now()){let a=await az(e);return await aj(t),a}async function aM(){return tM(await tj(),aR.extensions.dailySteps??[])}e.s(["runDailyAll",0,aM,"runMinute",0,a_],380167)}];
19
+ where key = 'collector.lease' and value->>'owner' = ${e}`)}var aS=e.i(991219),aD=e.i(149398),ax=e.i(467404),aE=e.i(816173);e.i(247714);let aT="collector.lastRun",aj="vercel.backoffUntil",aM="vercel.currentMiss",az={supabase:th,supabaseUsage:tw,neon:tg,firebase:tb,firebaseUsage:tk,extraDbs:am};async function aR(){let e=await (0,a.db)().select({key:w.settings.key,value:w.settings.value}).from(w.settings).where((0,c.inArray)(w.settings.key,[aT,t1])).limit(2);return{lastRun:e.find(e=>e.key===aT)?.value??{},afterDeploy:e.find(e=>e.key===t1)?.value??null}}async function aO(e){await (0,a.db)().insert(w.settings).values({key:aT,value:e}).onConflictDoUpdate({target:w.settings.key,set:{value:e,updatedAt:new Date}})}let a_=e=>(0,eW.f)(e);async function aN(e,r,n,s,o=[]){let i=(await (0,a.db)().select({m:w.monitors,app:w.resources}).from(w.monitors).innerJoin(w.resources,(0,c.eq)(w.resources.id,w.monitors.resourceId)).where((0,c.and)((0,c.eq)(w.monitors.kind,"http"),(0,c.eq)(w.monitors.paused,!1),(0,c.eq)(w.monitors.ownerPaused,!1),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt))).orderBy(t.sql`${w.monitors.lastCheckedAt} asc nulls first`,w.monitors.id)).filter(({m:t})=>(0,tZ.B)(t.lastCheckedAt,e,s));if(!i.length)return 0;let l=await (0,tt.P)(i,6,({m:e})=>{let t=(0,tZ.P)(e.timeoutMs,r,Date.now());return null===t?Promise.resolve(null):(0,tt.b)(e.url,{expectedStatus:e.expectedStatus,timeoutMs:t,body:(0,aD.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,ax.j)(t.m,t.r,e)&&u.push(t);return u.length?(await (0,a.db)().insert(w.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,ao.x)(o,{monitorId:t.id,appId:a.id},e)}))),await a_(u.map(({m:t,app:a,r})=>(0,aE.F)({resourceId:a.id,path:(0,al.K)(t.url),prev:t.state,next:(0,aE.G)(t.failStreak,r).state,code:r.statusCode,error:r.error,at:e}))),u.length):0}let aq=["checks","heartbeats"];async function aC(e,t,a=tC.f){if(!aq.some(t=>e.includes(t)))return[];try{return await a()}catch(e){return t.push(`maintenance: ${(0,tT.safeError)(e)}`),[]}}async function aP(e){let[t]=await (0,a.db)().select().from(w.settings).where((0,c.eq)(w.settings.key,aj)).limit(1),r=t?.value?.until;return!!r&&e.getTime()<new Date(r).getTime()}async function aB(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(w.settings).values({key:aj,value:r}).onConflictDoUpdate({target:w.settings.key,set:{value:r,updatedAt:t}}),!0}let aF=e=>t.sql`coalesce(${w.deployments.externalId} = ${e}::text, false)`;async function aG(e,r,n,s,o=an){let i=[];try{for(let o of e){let e=r.filter(e=>e.resourceId===o.id),{currentId:l,previousId:d}=(0,al.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(w.deployments).set({isCurrent:aF(l),isPreviousProduction:aF(d),updatedAt:s.now}).where((0,c.and)((0,c.eq)(w.deployments.resourceId,o.id),(0,c.or)(t.sql`${w.deployments.isCurrent} is distinct from ${aF(l)}`,t.sql`${w.deployments.isPreviousProduction} is distinct from ${aF(d)}`))).returning({id:w.deployments.externalId}),p=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});p&&i.push({appId:o.id,deploymentId:p})}}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)}`)}}}async function aU(e,t,r,n){if(await aP(e))return;let s=(0,U.serverEnv)().OPS_ENCRYPTION_KEY;for(let o of(await (0,a.db)().select().from(w.accounts).where((0,c.and)((0,c.eq)(w.accounts.provider,"vercel"),(0,c.eq)(w.accounts.status,"ok"))))){let i=(0,F.V)({ciphertext:o.credentialCiphertext,iv:o.credentialIv},s);if((0,eZ.A)(i)||!i){r.push(`vercel/${o.label}: credential can't be read`);continue}let l=await (0,a.db)().select().from(w.resources).where((0,c.and)((0,c.eq)(w.resources.accountId,o.id),(0,c.eq)(w.resources.kind,"app"),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt)));if(!l.length)continue;let d=new Map(l.map(e=>[e.externalId,e])),u=await (0,ai.X)(i);if(!u.ok){let t=(0,eZ.E)({ok:!1,kind:u.kind,error:u.error});if(t&&await (0,a.db)().update(w.accounts).set({...t,updatedAt:e}).where((0,c.eq)(w.accounts.id,o.id)),r.push(`vercel/${o.label}: ${u.error}`),await aB(u,e))return;continue}let p=new Set(l.map(e=>String(e.meta.teamId)));for(let s of u.data.filter(e=>p.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,ai.W)(i,s),(0,ai.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 aB(t,e))return;continue}let p=new Map(o.data.map(e=>[e.id,e.currentDeploymentId])),f=u.data.filter(e=>d.has(e.projectId)),m=new Map((f.length?await (0,a.db)().select({externalId:w.deployments.externalId,state:w.deployments.state,target:w.deployments.target,branch:w.deployments.branch,commitSha:w.deployments.commitSha,commitMessage:w.deployments.commitMessage,source:w.deployments.source,url:w.deployments.url,buildingAt:w.deployments.buildingAt,readyAt:w.deployments.readyAt}).from(w.deployments).where((0,c.inArray)(w.deployments.externalId,f.map(e=>e.id))):[]).map(e=>[e.externalId,e])),h=[];for(let t of f){let r=d.get(t.projectId),n=m.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,al.E)(n,s)){let n={resourceId:r.id,externalId:t.id,...s,createdAtProvider:t.createdAt,updatedAt:e};await (0,a.db)().insert(w.deployments).values(n).onConflictDoUpdate({target:w.deployments.externalId,set:n})}h.push((0,aE.L)(n?.state,t,r.id,e))}await a_(h);let g=l.filter(e=>String(e.meta.teamId)===s.id),y=await (0,a.db)().select({resourceId:w.deployments.resourceId,id:w.deployments.externalId,createdAt:w.deployments.createdAtProvider}).from(w.deployments).where((0,c.and)((0,c.inArray)(w.deployments.resourceId,g.map(e=>e.id)),(0,c.eq)(w.deployments.target,"production"),(0,c.eq)(w.deployments.state,"ready"))),[b]=await (0,a.db)().select().from(w.settings).where((0,c.eq)(w.settings.key,aM)).limit(1),k=[],v=()=>k.length?(0,a.db)().insert(w.settings).values({key:aM,value:(0,al.Y)(b?.value,k,e)}).onConflictDoUpdate({target:w.settings.key,set:{value:(0,al.Y)(b?.value,k,e),updatedAt:e}}):Promise.resolve();for(let n of(0,al.Q)(g,p,y,(0,al.S)(b?.value,e))){if(Date.now()>t)break;let o=await (0,ai.S)(i,s,n.deploymentId);if(!o.ok){if(r.push(`vercel/${s.name}: current deployment: ${o.error}`),await aB(o,e))return void await v();k.push(n.deploymentId);continue}let l=o.data,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(w.deployments).values(d).onConflictDoUpdate({target:w.deployments.externalId,set:d}),"ready"===l.state&&"production"===l.target?y.push({resourceId:n.appId,id:l.id,createdAt:l.createdAt}):k.push(n.deploymentId)}await v(),await aG(g,y,p,{now:e,afterDeploy:n,errors:r,label:s.name})}}}async function aL(e){let r=await (0,a.db)().select().from(w.resources).where((0,c.and)((0,c.eq)(w.resources.kind,"app"),(0,c.eq)(w.resources.monitored,!0),(0,c.isNull)(w.resources.goneAt)));if(!r.length)return;let n=await (0,a.db)().select().from(w.monitors).where((0,c.and)((0,c.inArray)(w.monitors.resourceId,r.map(e=>e.id)),(0,c.eq)(w.monitors.paused,!1),(0,c.eq)(w.monitors.ownerPaused,!1))),s=new Set((await (0,a.db)().select({r:w.deployments.resourceId}).from(w.deployments).where((0,c.and)((0,c.inArray)(w.deployments.resourceId,r.map(e=>e.id)),(0,c.eq)(w.deployments.target,"production"),(0,c.eq)(w.deployments.state,"building"),(0,c.gte)(w.deployments.createdAtProvider,new Date(e.getTime()-36e5))))).map(e=>e.r)),o=await tm(r.map(e=>e.id)),i=new Map((await (0,a.db)().select().from(w.snapshots).where((0,c.inArray)(w.snapshots.resourceId,r.map(e=>e.id)))).map(e=>[e.resourceId,e])),l=new Map(r.map(e=>[e.id,e])),d=(0,tN.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,tN.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(w.resources).set({meta:t.sql`${w.resources.meta} || ${JSON.stringify({pastDomains:s})}::jsonb`}).where((0,c.eq)(w.resources.id,e));for(let l of r){let r=n.filter(e=>e.resourceId===l.id),d=(0,aE.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(w.snapshots).values({resourceId:l.id,state:d,data:p,collectedAt:e,stateSince:e}).onConflictDoUpdate({target:w.snapshots.resourceId,set:{state:d,data:t.sql`${w.snapshots.data} || ${JSON.stringify(p)}::jsonb`,collectedAt:e,...f?.state!==d?{stateSince:e}:{}}})}}async function aW(e,t={}){let a={writeLastRun:aO,refreshApps:aL,refreshNetwork:aS.x,invalidate:m,...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=>aS.p.includes(e)))try{await a.refreshNetwork(new Date)}catch(t){e.errors.push(`network-states: ${(0,tT.safeError)(t)}`)}}finally{a.invalidate((0,h.o)(e.tried??e.done))}}async function aH(e,t,a,r={evaluate:tq.$,deliver:tB.q,digest:tB.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,tZ.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 aJ(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,tZ.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 aV(e){let t,r=new Date,n=await a$(r);if(!n)return{skipped:!0,ok:!0,tasks:[],checks:0,durationMs:0,errors:[]};try{[t]=await (0,a.db)().insert(w.collectorRuns).values({startedAt:r,trigger:"builtin"===e?"manual":e}).returning({id:w.collectorRuns.id})}catch(e){throw await aA(n).catch(()=>void 0),e}let s=[],o=[],i=0,d=r.getTime()+tZ.p,u=e=>console.info(`collector ${e} +${Date.now()-r.getTime()}ms`);try{var p;u("start");let{lastRun:t,afterDeploy:a}=await aR(),n="cron_job_org"!==e&&"builtin"!==e,c=await (0,l.I)(),{due:f,early:m}=(0,tZ._)((0,tZ.S)(t,r,n,c),(p=t4(a),Object.keys(p.pending).length>0),c),h=!1,w=e=>m||!h?e.filter(e=>"security"!==e):e,g=f.filter(e=>tZ.u.includes(e)),y=g.includes("alerts")?d-tZ.X:d,b=await aC(f,s);u(`due ${f.join(",")}`);let{done:k,tried:v}=await aJ(f.filter(e=>!tZ.u.includes(e)),y,s,async e=>{if(u(`task ${e}`),"heartbeats"===e){let e=new Date;i+=await (0,eH.r)(e,(t,a)=>null!==(0,ao.x)(b,{monitorId:t,appId:a},e),n)}"checks"===e&&(i+=await aN(new Date,y,s,n,b)),"vercel"===e&&await aU(new Date,y,s,t4(a));let t=az[e];t&&await t({now:new Date,deadline:y,errors:s,protectOnly:(0,tZ.$)(e,c)}),"cloudflare"===e&&await (0,aS.h)(new Date,y,s),"domains"===e&&await (0,aS.H)(new Date,y,s),"tls"===e&&await (0,aS.V)(new Date,y,s),"rdap"===e&&await (0,aS.W)(new Date,y,s),"eol"===e&&await (0,aS.i)(new Date,y,s),"status"===e&&await (0,as.i)(new Date),"logs"===e&&await (0,tP._)(new Date,y,s),"pageviews"===e&&await tQ(new Date,y,s),"security"===e&&(h=(await ar({now:r,deadline:y,errors:s,paused:c,early:m})).complete)});o.push(...k),u("main done"),await aW({lastRun:t,done:w(o),tried:v,started:r,errors:s}),u("settled");let I=await aH(g,d,s);u("post done"),I.length&&await aO({...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(w.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,c.eq)(w.collectorRuns.id,t.id)).catch(()=>void 0),await aA(n).catch(()=>void 0)}return{skipped:!1,ok:0===s.length,tasks:o,checks:i,durationMs:Date.now()-r.getTime(),errors:s}}var aK=e.i(486118);async function aY(e){let t=[...u,...aK.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 aX(e,t=Date.now()){let a=await aV(e);return await aY(t),a}async function aQ(){return t_(await tR(),aK.extensions.dailySteps??[])}e.s(["runDailyAll",0,aQ,"runMinute",0,aX],380167)}];
20
20
 
21
21
  //# sourceMappingURL=src_lib_collector_runners_ts_12z4gtgikss74._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[426099,367114,489099,505657,e=>{"use strict";var t=e.i(875225),a=e.i(971724),r=e.i(105954),s=e.i(604147),n=e.i(455744),o=e.i(924924),i=e.i(618916),l=e.i(61926),d=e.i(218331);let u=e=>{let t=(0,d.e)(e);return`${t.day} ${t.month} ${t.year}`},c=d.x;var p=e.i(122143),m=e.i(775843),h=e.i(146394),f=e.i(69679),g=e.i(145647);let y="advisor.latest",b=a.z.object({key:r.z.string(),severity:s.z.enum(["warning","info"]),appId:r.z.string().nullable(),subject:r.z.string(),title:r.z.string(),why:r.z.string(),fix:r.z.string(),href:r.z.string()}),w=a.z.object({at:r.z.string(),items:n.z.array(b)});async function k(e){let a=(0,t.b)((0,t.u)(i.resources.kind,"app"),(0,t.u)(i.resources.monitored,!0),(0,t.M)(i.resources.goneAt)),r=await (0,g.P)(),s=await (0,f.V)(),[n,d,u,c,y]=await Promise.all([(0,o.f)().select({id:i.monitors.id,appId:i.monitors.resourceId,appName:i.resources.name,url:i.monitors.url,kind:i.monitors.kind,name:i.monitors.name,paused:i.monitors.paused,ownerPaused:i.monitors.ownerPaused,lastStatus:i.monitors.lastStatus,expectedStatus:i.monitors.expectedStatus,lastPingAt:i.monitors.lastPingAt,createdAt:i.monitors.createdAt}).from(i.monitors).innerJoin(i.resources,(0,t.u)(i.resources.id,i.monitors.resourceId)).where(a).orderBy(i.resources.name,i.monitors.url).limit(h.O.monitors),(0,o.f)().select({id:i.resources.id,name:i.resources.name,version:i.appSecurity.version}).from(i.resources).innerJoin(i.appSecurity,(0,t.u)(i.appSecurity.resourceId,i.resources.id)).where(a).orderBy(i.resources.name).limit(h.O.apps),(0,o.f)().select({id:i.resources.id,name:i.resources.name,kind:i.resources.kind,accountId:i.resources.accountId,accountLabel:i.accounts.label,state:i.snapshots.state}).from(i.resources).innerJoin(i.accounts,(0,t.u)(i.accounts.id,i.resources.accountId)).leftJoin(i.snapshots,(0,t.u)(i.snapshots.resourceId,i.resources.id)).where((0,t.b)((0,t.y)(i.resources.kind,[...p.H]),(0,t.u)(i.resources.monitored,!0),(0,t.M)(i.resources.goneAt))).orderBy(i.resources.name).limit(h.O.databases),(0,o.f)().select({appId:i.links.fromResourceId,dbId:i.links.toResourceId}).from(i.links).where((0,t.u)(i.links.kind,"uses_db")).limit(h.O.apps),(0,o.f)().select({id:i.accounts.id,provider:i.accounts.provider,label:i.accounts.label,expiresAt:i.accounts.expiresAt,scopeNote:i.accounts.scopeNote}).from(i.accounts).orderBy(i.accounts.label).limit(200)]);return{now:e,monitors:n.map(e=>({id:e.id,appId:e.appId,appName:e.appName,path:"heartbeat"===e.kind?e.url:(0,l.K)(e.url),kind:e.kind,name:e.name,paused:e.paused||e.ownerPaused,lastStatus:e.lastStatus,expectedStatus:e.expectedStatus,lastPingAt:e.lastPingAt,createdAt:e.createdAt})),eol:function(e,t){if(!t)return null;let a=t.cycles.find(e=>!e.isEol)?.latest??null,r=[];for(let s of e){let e=s.version?.split(".")[0],n=e?t.cycles.find(t=>t.name===e):void 0;n&&r.push({appId:s.id,appName:s.name,cycle:n.name,eolFrom:n.eolFrom?new Date(`${n.eolFrom}T00:00:00Z`):null,latest:a})}return r}(d,r),headers:null,dbs:u.map(e=>({id:e.id,name:e.name,provider:(0,p.Z)(e.kind),accountId:e.accountId,accountLabel:e.accountLabel,state:e.state??"unknown"})),slots:(0,m.f)(s).map(e=>({account:e.account,used:e.used,total:e.total,planUnknown:e.planUnknown})),links:c,accounts:y}}async function v(e){let t=function(e){let t=[];for(let a of e.eol??[]){if(!a.eolFrom||a.eolFrom.getTime()-e.now.getTime()>2592e6)continue;let r=a.eolFrom.getTime()<=e.now.getTime(),s=a.latest?.split(".")[0];t.push({key:`next-eol:${a.appId}:${a.cycle}`,severity:"warning",appId:a.appId,subject:a.appName,title:`Next.js ${a.cycle} ${r?"reached":"reaches"} end of life on ${u(a.eolFrom)}`,why:`No security fixes after that date.${a.latest?` Latest is ${a.latest}.`:""}`,fix:s?`Upgrade to Next.js ${s}.`:"Upgrade Next.js.",href:"https://endoflife.date/nextjs"})}for(let a of e.monitors)!a.paused&&("heartbeat"===a.kind&&!a.lastPingAt&&e.now.getTime()-a.createdAt.getTime()>864e5&&t.push({key:`hb-silent:${a.id}`,severity:"warning",appId:a.appId,subject:a.appName,title:`${a.name??"A heartbeat"} has never pinged`,why:"It was added more than a day ago and no job has called its URL.",fix:"Add the ping to the job, or delete the monitor.",href:"/uptime"}),"http"===a.kind&&"/"===a.path&&200===a.expectedStatus&&null!==a.lastStatus&&[401,403,404].includes(a.lastStatus)&&t.push({key:`monitor-root:${a.id}:${a.lastStatus}`,severity:"info",appId:a.appId,subject:a.appName,title:`The monitor on / answers ${a.lastStatus}`,why:`A login or missing page answering ${a.lastStatus} makes the monitor look down.`,fix:`Point the monitor at a public health route, or expect ${a.lastStatus}.`,href:"/uptime"}));for(let a of e.headers??[]){if(!a.missing.length)continue;let e=[...a.missing].sort();t.push({key:`headers:${a.appId}:${e.join(",")}`,severity:"info",appId:a.appId,subject:a.appName,title:`Missing security headers: ${e.join(", ")}`,why:"Browsers use them to block clickjacking, sniffing and downgrade attacks.",fix:"Add them in next.config headers().",href:"https://developer.mozilla.org/en-US/observatory"})}for(let a of e.slots??[])a.used<a.total||t.push({key:`no-slot:${a.account}`,severity:"warning",appId:null,subject:`supabase \xb7 ${a.account}`,title:`Account ${a.account} has no free slot`,why:a.planUnknown?"Two projects are active. If this account is on the free plan (it couldn't be read), a paused one can't be restored here.":"Both free projects are active, so a paused one can't be restored here.",fix:"Pause one project, or move one to another account.",href:"/supabase"});if(e.dbs&&e.links){let a=new Set(e.links.map(e=>e.dbId));for(let r of e.dbs.filter(e=>!a.has(e.id)))t.push({key:`db-unlinked:${r.id}`,severity:"info",appId:null,subject:r.name,title:"Database isn't linked to any app",why:"Topology and the app status can't use it.",fix:"Link it from the app page.",href:"/apps"})}for(let a of e.accounts)"supabase"===a.provider&&a.scopeNote&&/all[- ]access/i.test(a.scopeNote)&&t.push({key:`broad-cred:${a.id}`,severity:"info",appId:null,subject:`supabase \xb7 ${a.label}`,title:`${a.label} uses an all-access token`,why:"The console only reads; a broader token is a bigger risk if it ever leaks.",fix:"Replace it with a read-only token in Connections, then revoke the old one in Supabase.",href:"/connections"});for(let a of e.accounts){if(!a.expiresAt)continue;let r=a.expiresAt.getTime()-e.now.getTime();r>=12096e5&&r<=5184e6&&t.push({key:`cred-60:${a.id}:${c(a.expiresAt)}`,severity:"info",appId:null,subject:`${a.provider} \xb7 ${a.label}`,title:`The ${a.provider} credential ${a.label} expires on ${(0,d.L)(a.expiresAt)}`,why:"An expired credential stops every reading from that account.",fix:"Create a new one and use Replace credential in Connections.",href:"/connections"})}return t.map((e,t)=>({r:e,i:t})).sort((e,t)=>("warning"!==e.r.severity)-("warning"!==t.r.severity)||e.i-t.i).map(({r:e})=>e).slice(0,50)}(await k(e)),a={at:e.toISOString(),items:t};return await (0,o.f)().insert(i.settings).values({key:y,value:a}).onConflictDoUpdate({target:i.settings.key,set:{value:a,updatedAt:e}}),t}async function I(e){let[a]=await (0,o.f)().select({value:i.settings.value}).from(i.settings).where((0,t.u)(i.settings.key,y)).limit(1),r=w.safeParse(a?.value);return r.success?r.data.items:v(e)}async function A(e,a){var r;let s=await I(e);if(!s.length)return[];let n=await (0,o.f)().select({key:i.recommendationDismissals.key,dismissedAt:i.recommendationDismissals.dismissedAt}).from(i.recommendationDismissals).where((0,t.y)(i.recommendationDismissals.key,s.map(e=>e.key))).limit(50),l=(r=new Map(n.map(e=>[e.key,e.dismissedAt])),s.filter(t=>{let a=r.get(t.key);return!a||e.getTime()-a.getTime()>=2592e6}));return a?l.filter(e=>e.appId===a):l}e.s(["T",0,A,"O",0,v],426099);var x=e.i(349129),S=e.i(764766),$=e.i(195191),j=e.i(943816),P=e.i(46574),N=e.i(275426);e.i(656083);var T=e.i(739886),M=e.i(890948),D=e.i(309055),O=e.i(800523);let C=e=>"string"==typeof e&&e?e:null;async function L(e,a){let r=await (0,o.f)().select({r:i.resources,s:i.snapshots,sec:i.appSecurity,accStatus:i.accounts.status}).from(i.resources).leftJoin(i.accounts,(0,t.u)(i.accounts.id,i.resources.accountId)).leftJoin(i.snapshots,(0,t.u)(i.snapshots.resourceId,i.resources.id)).leftJoin(i.appSecurity,(0,t.u)(i.appSecurity.resourceId,i.resources.id)).where((0,t.b)((0,t.u)(i.resources.kind,"app"),(0,t.u)(i.resources.monitored,!0),a?(0,t.u)(i.resources.id,a):void 0)).orderBy(i.resources.name).limit(h.O.apps);if(!r.length)return[];let s=r.map(e=>e.r.id),n=(await (0,o.f)().select().from(i.monitors).where((0,t.y)(i.monitors.resourceId,s)).orderBy(i.monitors.createdAt).limit(h.O.monitors)).map(D.M),l=await (0,o.f)().selectDistinctOn([i.deployments.resourceId]).from(i.deployments).where((0,t.b)((0,t.y)(i.deployments.resourceId,s),(0,t.u)(i.deployments.target,"production"))).orderBy(i.deployments.resourceId,(0,x.A)(i.deployments.createdAtProvider)),d=await (0,M._)(n.map(e=>e.id),e),u=new Map(r.map(e=>[e.r.id,e.r])),c=await (0,D.J)(n.map(e=>({id:e.id,kind:e.kind,url:e.url,appId:e.appId,appName:u.get(e.appId)?.name??"",appMeta:u.get(e.appId)?.meta,lastError:e.lastError}))),p=new Map;for(let e of(await (0,o.f)().select({parentId:i.resources.parentId,name:i.resources.name,meta:i.resources.meta}).from(i.resources).where((0,t.b)((0,t.u)(i.resources.kind,"domain"),(0,t.y)(i.resources.parentId,s),(0,t.M)(i.resources.goneAt))))){if(!e.parentId)continue;let t=p.get(e.parentId)??{};t[e.name.toLowerCase()]={redirect:C(e.meta.redirect),verified:!1!==e.meta.verified},p.set(e.parentId,t)}let m=await (0,M.P)(s,e),g=await (0,f.F)(s),y=n.length?await (0,T.f)():[];return r.map(({r:t,s:a,sec:r,accStatus:s})=>{let o=n.filter(e=>e.appId===t.id).map(t=>({...t,maintUntil:(0,N.x)(y,{monitorId:t.id,appId:t.appId},e)?.end??null,move:c.get(t.id)??null})),i=C(t.meta.createdAt),u=l.find(e=>e.resourceId===t.id);return{id:t.id,name:t.name,gone:null!==t.goneAt,state:a?.state??"unknown",stateSince:a?.stateSince??null,domain:(0,S.Y)(t.meta)?.primaryDomain??(0,$.m)(t.name,o.map(e=>e.url)),domainLines:function(e,t,a){let r=(0,S.Y)(e);if(!r)return{lines:[{name:a,tag:null,target:null}],more:0};let s=[r.primaryDomain,...r.domains.filter(e=>e!==r.primaryDomain)].filter((e,t,a)=>a.indexOf(e)===t),n=[...new Set(r.pastDomains)].filter(e=>!s.includes(e)).reverse(),o=s.map((e,a)=>{let r=t[e],o={name:e,target:r?.redirect?r.redirect.replace(/^https?:\/\//i,"").replace(/\/.*$/,"").toLowerCase():null};return 0===a?{...o,tag:s.length>1||n.length?"primary":null}:{...o,tag:r?.redirect?"redirect":r&&!r.verified?"pending":null}});return o.push(...n.slice(0,3).map(e=>({name:e,tag:"former",target:null}))),{lines:o,more:Math.max(0,n.length-3)}}(t.meta,p.get(t.id)??{},(0,S.Y)(t.meta)?.primaryDomain??(0,$.m)(t.name,o.map(e=>e.url))),framework:C(t.meta.framework),productionBranch:C(t.meta.productionBranch),createdAt:i?new Date(i):null,teamName:C(t.meta.teamName),teamSlug:C(t.meta.teamSlug),repo:C(t.meta.repo),repoType:C(t.meta.repoType),functionRegions:Array.isArray(t.meta.functionRegions)?t.meta.functionRegions.filter(e=>"string"==typeof e):[],monitors:o,lastDeploy:u?{id:u.id,externalId:u.externalId,state:u.state,target:u.target,branch:u.branch,commitSha:u.commitSha,commitMessage:u.commitMessage,url:u.url,createdAt:u.createdAtProvider,buildingAt:u.buildingAt,readyAt:u.readyAt,isCurrent:u.isCurrent,isPreviousProduction:u.isPreviousProduction}:null,uptime30:(0,P.Y)(o.flatMap(t=>(0,P.w)(d.get(t.id),e,P.I))),response:m.get(t.id)??{hourly:Array.from({length:h.A.responseHours},()=>null),p95:null,p50:null},days:new Map(o.flatMap(e=>{let t=d.get(e.id);return t?[[e.id,t]]:[]})),security:r?(0,O.Z)(r):null,database:g.get(t.id)??null,dbPaused:a?.data.dbPaused===!0,pageViews:(0,j.G)(a?.data),pageViewsNote:(0,j.R)({gone:null!==t.goneAt,teamId:C(t.meta.teamId),accountOk:"ok"===s,hasProductionDeploy:void 0!==u})}})}async function B(e,t){return(await L(t,e))[0]??null}e.s(["Z",0,B,"G",0,L],367114);var R=e.i(518899),z=e.i(165788);let U=R.B`coalesce(${i.events.lastAt}, ${i.events.at})`;async function E(e=h.O.events,a={}){return(await (0,o.f)().select({e:i.events,name:i.resources.name}).from(i.events).leftJoin(i.resources,(0,t.u)(i.resources.id,i.events.resourceId)).where(a.excludeActions?(0,t.c)(i.events.type,"action"):void 0).orderBy((0,x.A)(U)).limit(Math.max(1,Math.min(Number.isFinite(e)?Math.floor(e):h.O.events,h.O.events)))).map(({e,name:t})=>({id:e.id,at:e.at,lastAt:e.lastAt??null,count:e.count??1,reason:e.reason??null,type:e.type,kind:e.kind,message:e.message,detail:e.detail,resourceId:e.resourceId??null,resource:(0,z.L)({type:e.type,reason:e.reason??null,message:e.message,resource:t})}))}e.s(["f",0,E],489099);var F=e.i(959408);e.i(358660);let J=e=>"heartbeat"===e.kind?e.lastError?e.lastError.replace(/^(Down|Late) · /,""):"warn"===e.state?"Late":"No ping":(0,F.H)(e)??(e.lastStatus?`HTTP ${e.lastStatus}`:e.lastError||"No answer");e.s(["f",0,function(e,t){if(e.gone)return[];let a=[],r=e.monitors.filter(e=>(0,F.i)(e)&&!e.maintUntil&&("err"===e.state||"warn"===e.state)),s=e=>2*("heartbeat"===e.kind)+ +("err"!==e.state);for(let e of[...r].sort((e,t)=>s(e)-s(t))){let t="heartbeat"===e.kind,r=t?e.name??e.path:e.path;a.push({kind:"monitor",where:t?`Monitor ${r} (heartbeat)`:`Monitor ${r}`,subject:r,state:e.state,reason:J(e),since:e.stateSince??(t?e.lastPingAt??null:null),href:"/uptime",remedies:t?function(e){let t=(e.lastError??"").toLowerCase();return t.includes("failure")?["The job reported a failure: open its logs","Fix and re-run the job; the next OK ping clears it"]:t.includes("didn't finish")||t.includes("started")?["The job started but never finished: it may have hung or hit its timeout","Check the job's own logs for where it stopped","Raise the job's timeout, or fix what it waits on; the next OK ping clears it"]:["Check that the job's scheduler ran (cron, Vercel Cron, GitHub Actions)","Check the job's own logs for errors before the ping line","Make sure the job calls the ping URL at the end (curl -fsS -m 10 <url>)","If the job is retired, pause or delete the heartbeat"]}(e):function(e){let t=e.lastError??"";if(/blocked address/i.test(t))return["The monitor's URL resolves to a private address; fix the URL in Edit monitor"];let a=(0,F.H)(e);if(a&&/keyword|json|body|content/i.test(a))return["The page answered but its content changed: check the keyword or JSON path in Edit monitor, or the page itself"];let r=e.lastStatus;return null!==r&&r>=500?["Open Logs (last hour) for errors","Check the latest deployment; roll back if it started after the deploy"]:null!==r&&r>=300?["Check the expected status and path in Edit monitor","The route may need sign-in or moved"]:null===r||a?["Check the domain, DNS and the provider status page","Cold start or overload: retry with Check now"]:["Open Logs (last hour) for errors","Check the latest deployment; roll back if it started after the deploy"]}(e)})}e.dbPaused&&e.database&&a.push({kind:"database",where:`Database ${e.database.name}`,subject:e.database.name,state:"warn",reason:"Paused",since:e.stateSince??null,href:(0,p.N)(e.database.kind),remedies:["Restore the database from its provider (Supabase restore)"]});let n=e.lastDeploy;if(n&&"error"===n.state){let e=(0,$._)(n.commitSha);a.push({kind:"deployment",where:`Production deployment ${e}`,subject:e,state:"fail",reason:"Build failed",since:n.readyAt??n.createdAt,href:"/deployments",remedies:["Open the deployment's build logs; redeploy after fixing"]})}return a}],505657)}];
2
+
3
+ //# sourceMappingURL=src_lib_data_advisor-db_ts_0rl1ug3iana24._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[840784,e=>{"use strict";var r=e.i(93321),t=e.i(530385),a=e.i(548734),n=e.i(837137),i=e.i(436357),o=e.i(469762),s=e.i(631107),u=e.i(968715),d=e.i(910697),l=e.i(72019),m=e.i(519051),p=e.i(858806),c=e.i(601219),f=e.i(714530),w=e.i(513701),g=e.i(895176),y=e.i(242605);let h=e=>"string"==typeof e&&e?e:null;async function I(e,c){let I=await (0,a.f)().select({r:n.resources,s:n.snapshots,sec:n.appSecurity,accStatus:n.accounts.status}).from(n.resources).leftJoin(n.accounts,(0,r.u)(n.accounts.id,n.resources.accountId)).leftJoin(n.snapshots,(0,r.u)(n.snapshots.resourceId,n.resources.id)).leftJoin(n.appSecurity,(0,r.u)(n.appSecurity.resourceId,n.resources.id)).where((0,r.b)((0,r.u)(n.resources.kind,"app"),(0,r.u)(n.resources.monitored,!0),c?(0,r.u)(n.resources.id,c):void 0)).orderBy(n.resources.name).limit(d.O.apps);if(!I.length)return[];let k=I.map(e=>e.r.id),A=(await (0,a.f)().select().from(n.monitors).where((0,r.y)(n.monitors.resourceId,k)).orderBy(n.monitors.createdAt).limit(d.O.monitors)).map(g.M),S=await (0,a.f)().selectDistinctOn([n.deployments.resourceId]).from(n.deployments).where((0,r.b)((0,r.y)(n.deployments.resourceId,k),(0,r.u)(n.deployments.target,"production"))).orderBy(n.deployments.resourceId,(0,t.A)(n.deployments.createdAtProvider)),v=await (0,w._)(A.map(e=>e.id),e),D=new Map(I.map(e=>[e.r.id,e.r])),M=await (0,g.J)(A.map(e=>({id:e.id,kind:e.kind,url:e.url,appId:e.appId,appName:D.get(e.appId)?.name??"",appMeta:D.get(e.appId)?.meta,lastError:e.lastError}))),b=new Map;for(let e of(await (0,a.f)().select({parentId:n.resources.parentId,name:n.resources.name,meta:n.resources.meta}).from(n.resources).where((0,r.b)((0,r.u)(n.resources.kind,"domain"),(0,r.y)(n.resources.parentId,k),(0,r.M)(n.resources.goneAt))))){if(!e.parentId)continue;let r=b.get(e.parentId)??{};r[e.name.toLowerCase()]={redirect:h(e.meta.redirect),verified:!1!==e.meta.verified},b.set(e.parentId,r)}let B=await (0,w.Q)(k,e),O=await (0,l.F)(k),x=A.length?await (0,f.w)():[];return I.map(({r,s:t,sec:a,accStatus:n})=>{let l=A.filter(e=>e.appId===r.id).map(r=>({...r,maintUntil:(0,m.x)(x,{monitorId:r.id,appId:r.appId},e)?.end??null,move:M.get(r.id)??null})),c=h(r.meta.createdAt),f=S.find(e=>e.resourceId===r.id);return{id:r.id,name:r.name,gone:null!==r.goneAt,state:t?.state??"unknown",stateSince:t?.stateSince??null,domain:(0,i.Y)(r.meta)?.primaryDomain??(0,o.m)(r.name,l.map(e=>e.url)),domainLines:function(e,r,t){let a=(0,i.Y)(e);if(!a)return{lines:[{name:t,tag:null,target:null}],more:0};let n=[a.primaryDomain,...a.domains.filter(e=>e!==a.primaryDomain)].filter((e,r,t)=>t.indexOf(e)===r),o=[...new Set(a.pastDomains)].filter(e=>!n.includes(e)).reverse(),s=n.map((e,t)=>{let a=r[e],i={name:e,target:a?.redirect?a.redirect.replace(/^https?:\/\//i,"").replace(/\/.*$/,"").toLowerCase():null};return 0===t?{...i,tag:n.length>1||o.length?"primary":null}:{...i,tag:a?.redirect?"redirect":a&&!a.verified?"pending":null}});return s.push(...o.slice(0,3).map(e=>({name:e,tag:"former",target:null}))),{lines:s,more:Math.max(0,o.length-3)}}(r.meta,b.get(r.id)??{},(0,i.Y)(r.meta)?.primaryDomain??(0,o.m)(r.name,l.map(e=>e.url))),framework:h(r.meta.framework),productionBranch:h(r.meta.productionBranch),createdAt:c?new Date(c):null,teamName:h(r.meta.teamName),teamSlug:h(r.meta.teamSlug),repo:h(r.meta.repo),repoType:h(r.meta.repoType),functionRegions:Array.isArray(r.meta.functionRegions)?r.meta.functionRegions.filter(e=>"string"==typeof e):[],monitors:l,lastDeploy:f?(0,p.u)(f):null,uptime30:(0,u.Y)(l.flatMap(r=>(0,u.w)(v.get(r.id),e,u.I))),response:B.get(r.id)??{hourly:Array.from({length:d.A.responseHours},()=>null),p95:null,p50:null},days:new Map(l.flatMap(e=>{let r=v.get(e.id);return r?[[e.id,r]]:[]})),security:a?(0,y.Z)(a):null,database:O.get(r.id)??null,dbPaused:t?.data.dbPaused===!0,pageViews:(0,s.G)(t?.data),pageViewsNote:(0,s.R)({gone:null!==r.goneAt,teamId:h(r.meta.teamId),accountOk:"ok"===n,hasProductionDeploy:void 0!==f})}})}async function k(e,r){return(await I(r,e))[0]??null}async function A(e,t){let[i]=await (0,a.f)().select({id:n.resources.id,name:n.resources.name}).from(n.resources).where((0,r.b)((0,r.u)(n.resources.id,e),(0,r.u)(n.resources.kind,"app"))).limit(1);return i?(await (0,a.f)().transaction(async a=>{let o=new Date;await a.update(n.resources).set({monitored:!1,updatedAt:o}).where((0,r.u)(n.resources.id,e)),await a.delete(n.monitors).where((0,r.u)(n.monitors.resourceId,e)),await a.delete(n.deployments).where((0,r.u)(n.deployments.resourceId,e)),await a.delete(n.snapshots).where((0,r.u)(n.snapshots.resourceId,e)),await a.delete(n.appSecurity).where((0,r.u)(n.appSecurity.resourceId,e)),await a.delete(n.resources).where((0,r.b)((0,r.u)(n.resources.kind,"domain"),(0,r.u)(n.resources.parentId,e))),await (0,c.f)([{type:"action",kind:"ok",message:`${i.name} removed from the console`,detail:null,resourceId:e,actorUserId:t}],a)}),{ok:!0,message:`${i.name} is no longer in the console. The Vercel project itself isn't touched.`}):{ok:!1,error:"That app is no longer in the console."}}e.s(["Z",0,k,"G",0,I,"a",0,A],840784)}];
2
+
3
+ //# sourceMappingURL=src_lib_data_apps-db_ts_02ovqtci8e7o6._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[858806,e=>{"use strict";var r=e.i(93321),t=e.i(530385),o=e.i(548734),n=e.i(837137),d=e.i(436357),s=e.i(910697);function i(e){return{id:e.id,externalId:e.externalId,state:e.state,target:e.target,branch:e.branch,commitSha:e.commitSha,commitMessage:e.commitMessage,url:e.url,createdAt:e.createdAtProvider,buildingAt:e.buildingAt,readyAt:e.readyAt,isCurrent:e.isCurrent,isPreviousProduction:e.isPreviousProduction}}async function u(e={}){return(await (0,o.f)().select({d:n.deployments,appName:n.resources.name,meta:n.resources.meta}).from(n.deployments).innerJoin(n.resources,(0,r.u)(n.resources.id,n.deployments.resourceId)).where((0,r.b)((0,r.u)(n.resources.monitored,!0),e.appId?(0,r.u)(n.deployments.resourceId,e.appId):void 0)).orderBy((0,t.A)(n.deployments.createdAtProvider)).limit(s.O.deployments)).map(({d:e,appName:r,meta:t})=>({...i(e),appId:e.resourceId,appName:r,primaryDomain:e.isCurrent&&"production"===e.target?(0,d.Y)(t)?.primaryDomain??null:null}))}async function a(e){let[d]=await (0,o.f)().select({id:n.deployments.externalId}).from(n.deployments).where((0,r.b)((0,r.u)(n.deployments.resourceId,e),(0,r.u)(n.deployments.isCurrent,!0),(0,r.u)(n.deployments.target,"production"))).orderBy((0,t.A)(n.deployments.createdAtProvider)).limit(1);return d?.id??null}async function m(e,t){let[d]=await (0,o.f)().select({id:n.deployments.id}).from(n.deployments).where((0,r.b)((0,r.u)(n.deployments.resourceId,e),(0,r.u)(n.deployments.externalId,t))).limit(1);return!!d}async function l(e){return(await (0,o.f)().select({d:n.deployments,appName:n.resources.name}).from(n.deployments).innerJoin(n.resources,(0,r.u)(n.resources.id,n.deployments.resourceId)).where((0,r.b)((0,r.u)(n.resources.monitored,!0),(0,r.u)(n.deployments.state,"building"),(0,r.B)(n.deployments.createdAtProvider,new Date(e.getTime()-36e5)))).orderBy((0,t.A)(n.deployments.createdAtProvider)).limit(s.O.ongoingBuilds)).map(({d:e,appName:r})=>({...i(e),appId:e.resourceId,appName:r}))}e.s(["R",0,a,"C",0,m,"K",0,u,"O",0,l,"u",0,i])}];
2
+
3
+ //# sourceMappingURL=src_lib_data_deployments-db_ts_1shbv_55rwa2-._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[46396,e=>{"use strict";var t=e.i(93321),n=e.i(548734),a=e.i(837137),s=e.i(601219),r=e.i(33135);let o={vercel:{label:"Vercel",feedText:"vercel-status.com · Statuspage",page:"https://www.vercel-status.com"},supabase:{label:"Supabase",feedText:"status.supabase.com · summary.json",page:"https://status.supabase.com"},neon:{label:"Neon",feedText:"neonstatus.com · Status.io API",page:"https://neonstatus.com"},cloudflare:{label:"Cloudflare",feedText:"cloudflarestatus.com · Statuspage",page:"https://www.cloudflarestatus.com"},firebase:{label:"Firebase",feedText:"status.firebase.google.com · incidents.json",page:"https://status.firebase.google.com"},gcp:{label:"Google Cloud",feedText:"status.cloud.google.com · incidents.json",page:"https://status.cloud.google.com"}},i=["vercel","supabase","neon","cloudflare","firebase","gcp"],l=e=>e&&"object"==typeof e&&!Array.isArray(e)?e:null,c=e=>"string"==typeof e?e:null,u=e=>Array.isArray(e)?e.map(l).filter(e=>null!==e):[],d=(e,t=160)=>e.length>t?`${e.slice(0,t-1)}…`:e,m=["stspg.io","vercel-status.com","cloudflarestatus.com","supabase.com","neonstatus.com","status.io","status.firebase.google.com","status.cloud.google.com"];function p(e){if("string"!=typeof e)return null;try{let t=new URL(e);return"https:"===t.protocol&&!t.username&&!t.password&&m.some(e=>t.hostname===e||t.hostname.endsWith(`.${e}`))?t.toString():null}catch{return null}}let f={none:"ok",minor:"warn",major:"err",critical:"err",maintenance:"info"},g=["none","minor","major","critical"],h={none:"warn",minor:"warn",major:"err",critical:"err"},w={none:"Open incident",minor:"Minor incident",major:"Major incident",critical:"Critical incident"};function k(e,t={}){let n=l(e.status),a=c(n?.indicator);if(!n||!a||!(a in f))return null;let s=u(e.incidents),r=s.slice(0,5).map(e=>({name:d(c(e.name)??"Incident"),impact:c(e.impact)??"unknown",startedAt:c(e.started_at)??c(e.created_at),url:p(e.shortlink)})),o=(t.colos??[]).map(e=>e.replace(/\W/g,"")).filter(Boolean),i=o.length?RegExp(`\\b(${o.join("|")})\\b`):null,m=u(e.maintenances).filter(e=>["in_progress","verifying"].includes(c(e.status)??"")&&(!i||i.test(c(e.name)??""))),v=d(c(n.description)??""),b=()=>{let e=m[0];return{state:"info",indicator:"maintenance",description:d(`Scheduled maintenance \xb7 ${c(e.name)??""}`),incidents:m.slice(0,5).map(e=>({name:d(c(e.name)??"Maintenance"),impact:"maintenance",startedAt:c(e.scheduled_for),url:p(e.shortlink)}))}};if(s.length){let e=s.map(e=>c(e.impact)??"").filter(e=>g.includes(e)).sort((e,t)=>g.indexOf(t)-g.indexOf(e))[0]??"minor",t=h[e];return{state:t,indicator:e,description:t===f[a]&&"none"!==a?v:w[e],incidents:r}}let y=Array.isArray(e.components)?u(e.components):null;if(o.length&&y){let e=RegExp(`\\((${o.join("|")})\\)\\s*$`),t=y.filter(t=>e.test(c(t.name)??"")&&(c(t.status)??"operational")!=="operational");if(t.length){let n=t.find(e=>"major_outage"===c(e.status))??t[0],a="major_outage"===c(n.status);return{state:a?"err":"warn",indicator:a?"major":"minor",description:d(`${e.exec(c(n.name)??"")?.[1]} data centre: ${(c(n.status)??"").replace(/_/g," ")}`),incidents:r}}return m.length?b():{state:"ok",indicator:"none",description:`No open incidents near ${o.join(", ")}`,incidents:r}}return"none"===a&&m.length?b():{state:f[a],indicator:a,description:v,incidents:r}}let v=[[500,"err"],[300,"warn"],[200,"info"],[100,"ok"]];async function b(e,t){let n,a=AbortSignal.timeout(5e3);try{n=await t(e,{headers:{Accept:"application/json","User-Agent":"OpsConsole-Status/1.0"},signal:a,cache:"no-store"})}catch{return{ok:!1}}if(!n.ok)return await n.body?.cancel().catch(()=>void 0),{ok:!1,status:n.status};try{let{bytes:e,truncated:t}=await (0,r.z)(n,1048576,(0,r.X)(a));if(t)return{ok:!1,format:!0};return{ok:!0,json:JSON.parse(new TextDecoder().decode(e))}}catch{return{ok:!1,format:!0}}}let y=e=>`https://${e}/api/v2`;async function A(e,t,n={}){let a=n.fetch??fetch,s=o[e].label,r=e=>({ok:!1,error:e.format?`The ${s} status feed answered in a format the console doesn't recognise.`:e.status?`The ${s} status feed answered ${e.status}.`:`The ${s} status feed didn't answer.`}),i=null;if("vercel"===e||"supabase"===e){let t=await b(`${y("vercel"===e?"www.vercel-status.com":"status.supabase.com")}/summary.json`,a);if(!t.ok)return r(t);let n=l(t.json);i=n&&k({status:n.status,incidents:n.incidents,maintenances:n.scheduled_maintenances})}else if("cloudflare"===e){let e=y("www.cloudflarestatus.com"),[t,s,o,c]=await Promise.all([b(`${e}/status.json`,a),b(`${e}/incidents/unresolved.json`,a),b(`${e}/scheduled-maintenances/active.json`,a),b(`${e}/components.json`,a)]);if(!t.ok)return r(t);i=k({status:l(t.json)?.status,incidents:s.ok?l(s.json)?.incidents:[],maintenances:o.ok?l(o.json)?.scheduled_maintenances:[],components:c.ok?l(c.json)?.components:void 0},{colos:n.colos??["SIN","CGK"]})}else if("neon"===e){let e=await b("https://api.status.io/1.0/status/6878fc85709daa75be6c7e3c",a);if(!e.ok)return r(e);i=function(e){let t=l(l(l(e)?.result)?.status_overall),n="number"==typeof t?.status_code?t.status_code:null;if(!t||null===n)return null;let a=v.find(([e])=>n>=e)?.[1]??"ok",s=u(l(l(e)?.result)?.incidents).slice(0,5).map(e=>({name:d(c(e.name)??"Incident"),impact:"incident",startedAt:c(e.datetime_open),url:"https://neonstatus.com"}));return{state:a,indicator:String(n),description:d(c(t.status)??""),incidents:s}}(e.json)}else{let n="firebase"===e?"status.firebase.google.com":"status.cloud.google.com",s=await b(`https://${n}/incidents.json`,a);if(!s.ok)return r(s);i=function(e,t,n={}){if(!Array.isArray(e))return null;let a=n.host??"status.cloud.google.com",s=u(e).filter(e=>{let n=c(e.end);return null!==c(e.begin)&&(!n||new Date(n).getTime()>t.getTime())}),r=s.filter(e=>!n.relevant||u(e.affected_products).some(e=>n.relevant.test(c(e.title)??"")));if(!r.length){let e=s.length;return{state:"ok",indicator:"none",description:e&&n.relevant?`No incidents affecting Firebase (${e} elsewhere)`:"No open incidents",incidents:[]}}let o=r.some(e=>"SERVICE_OUTAGE"===e.status_impact),i=r.every(e=>"SERVICE_INFORMATION"===e.status_impact);return{state:o?"err":i?"info":"warn",indicator:o?"major":i?"info":"minor",description:d(c(r[0].external_desc)??"Incident"),incidents:r.slice(0,5).map(e=>({name:d(c(e.external_desc)??"Incident"),impact:c(e.status_impact)??"unknown",startedAt:c(e.begin),url:c(e.uri)?p(`https://${a}/${c(e.uri)}`):null}))}}(s.json,t,"gcp"===e?{relevant:/firestore|firebase|identity|monitoring/i,host:n}:{host:n})}return i?{ok:!0,reading:{provider:e,...i}}:r({format:!0})}var j=e.i(245710);async function $(e){let[r]=await (0,n.f)().select().from(a.settings).where((0,t.u)(a.settings.key,"status.cloudflareColos")).limit(1),l=Array.isArray(r?.value)?r.value.filter(e=>"string"==typeof e):void 0,c=new Map((await (0,n.f)().select().from(a.providerStatus)).map(e=>[e.provider,e])),u=await Promise.all(i.map(t=>A(t,e,{colos:l}))),d=[];for(let[t,s]of i.entries()){let r=u[t],i=c.get(s);if(r.ok){let{state:t,indicator:l,description:c,incidents:u}=r.reading;await (0,n.f)().insert(a.providerStatus).values({provider:s,state:t,indicator:l,description:c,incidents:u,checkedAt:e,lastOkAt:e,error:null}).onConflictDoUpdate({target:a.providerStatus.provider,set:{state:t,indicator:l,description:c,incidents:u,checkedAt:e,lastOkAt:e,error:null}});let m=i?.state??"unknown",p=e=>"warn"===e||"err"===e;p(t)&&!p(m)&&d.push({type:"system",kind:t,message:`${o[s].label} reports an incident`,detail:c,resourceId:null,reason:"ProviderIncident"}),!p(t)&&p(m)&&d.push({type:"system",kind:"ok",message:`${o[s].label} incident resolved`,detail:c,resourceId:null,reason:"ProviderRecovered"})}else{let t=!i?.lastOkAt||e.getTime()-i.lastOkAt.getTime()>18e5;await (0,n.f)().insert(a.providerStatus).values({provider:s,state:"unknown",checkedAt:e,error:r.error}).onConflictDoUpdate({target:a.providerStatus.provider,set:{checkedAt:e,error:r.error,...t?{state:"unknown"}:{}}})}}await (0,s.f)(d)}async function _(){return(0,n.f)().select().from(a.providerStatus)}async function S(e){return x(await _(),e)}function x(e,t){let n=new Map(e.map(e=>[e.provider,e]));return i.map(e=>{let a=n.get(e),s={provider:e,...o[e]};if(!a)return{...s,state:"unknown",text:"Not read yet",incidents:[],checked:"—"};let r=null!==a.error,i="unknown"===a.state?`Feed didn't answer \xb7 last read ${a.lastOkAt?(0,j.$)(a.lastOkAt,t):"never"}`:a.description||("ok"===a.state?"No open incidents":"Incident");return{...s,state:a.state,text:i,incidents:a.incidents,checked:(0,j.$)(r&&a.lastOkAt?a.lastOkAt:a.checkedAt,t)}})}e.s(["h",0,S,"u",0,x,"B",0,_,"i",0,$],46396)}];
2
+
3
+ //# sourceMappingURL=src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js.map
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[716983,e=>{var t=e.i(666680),r=e.i(32950);let o="wp_demo",n=/^[0-9a-f]{32}$/,i=/^[A-Za-z0-9_-]+$/,a=(e,r)=>(0,t.createHmac)("sha256",r).update(e).digest();function s(e=process.env.SITE_URL){return{...(0,r.X)(e),maxAge:604800}}e.s(["DEMO_COOKIE",0,o,"DEMO_COOKIE_MAX_AGE_S",0,604800,"MAX_DEMO_EMAIL",0,254,"clearDemoCookie",0,function(e,t){e.set(o,"",{...s(t),maxAge:0})},"demoCookieKey",0,function(e){return(0,t.createHmac)("sha256",Buffer.from(e,"base64")).update("watchpost:demo-cookie:v1").digest()},"demoCookieOptions",0,s,"newDemoSeed",0,function(){return(0,t.randomBytes)(16).toString("hex")},"setDemoCookie",0,function(e,t,r){e.set(o,t,s(r))},"signDemoCookie",0,function(e,t,r=Date.now()){let o={email:e.email,seed:e.seed,iat:Math.floor(r/1e3)},n=Buffer.from(JSON.stringify(o)).toString("base64url");return`${n}.${a(n,t).toString("base64url")}`},"verifyDemoCookie",0,function(e,r,o=Date.now()){let s;if(!e||e.length>1024)return null;let u=e.split(".");if(2!==u.length||!i.test(u[0])||!i.test(u[1]))return null;let[l,f]=u,c=Buffer.from(f,"base64url"),m=a(l,r);if(c.length!==m.length||!(0,t.timingSafeEqual)(c,m))return null;try{s=JSON.parse(Buffer.from(l,"base64url").toString("utf8"))}catch{return null}let{email:g,seed:d,iat:h}=s??{};if("string"!=typeof g||!g||g.length>254||g!==g.toLowerCase()||"string"!=typeof d||!n.test(d)||"number"!=typeof h||!Number.isInteger(h))return null;let y=Math.floor(o/1e3);return h>y+300||y-h>604800?null:{email:g,seed:d}}])},330787,e=>{let t;var r=e.i(905246);e.i(570396);var o=e.i(673727),n=e.i(800717),i=e.i(492665),a=e.i(716983),s=e.i(904370);let u=()=>(0,a.demoCookieKey)((0,i.f)().OPS_ENCRYPTION_KEY),l=(0,n.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.demoClientKey)(await (0,r.headers)())}catch(e){return(0,o.unstable_rethrow)(e),s.SHARED_CLIENT}}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_0a5wqvhuj5hjh._.js.map
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[645439,e=>{var t=e.i(666680),r=e.i(570160);let n="wp_demo",l=/^[0-9a-f]{32}$/,s=/^[A-Za-z0-9_-]+$/;e.s(["Z",0,n,"T",0,function(e,t){e.set(n,"",{...function(e=process.env.SITE_URL){return{...(0,r.X)(e),maxAge:604800}}(t),maxAge:0})},"c",0,function(e){return(0,t.createHmac)("sha256",Buffer.from(e,"base64")).update("watchpost:demo-cookie:v1").digest()},"e",0,function(e,r,n=Date.now()){let i;if(!e||e.length>1024)return null;let a=e.split(".");if(2!==a.length||!s.test(a[0])||!s.test(a[1]))return null;let[o,u]=a,f=Buffer.from(u,"base64url"),c=(0,t.createHmac)("sha256",r).update(o).digest();if(f.length!==c.length||!(0,t.timingSafeEqual)(f,c))return null;try{i=JSON.parse(Buffer.from(o,"base64url").toString("utf8"))}catch{return null}let{email:p,seed:g,iat:h}=i??{};if("string"!=typeof p||!p||p.length>254||p!==p.toLowerCase()||"string"!=typeof g||!l.test(g)||"number"!=typeof h||!Number.isInteger(h))return null;let d=Math.floor(n/1e3);return h>d+300||d-h>604800?null:{email:p,seed:g}}])},917519,e=>{let t="shared";function r(e,n=6e5){let l=new Map;return{take(r,s,i=Date.now()){let a=l.get(r);if(a){var o=a;for(let[e,t]of o)i-t>=n&&o.delete(e);l.delete(r)}else a=new Map;return l.set(r,a),l.size>1e4&&l.delete(l.keys().next().value),!!a.has(s)||!(a.size>=(r===t?e.shared:e.perClient))&&(a.set(s,i),!0)},reset(){l.clear()}}}let n=globalThis.__watchpostDemoLimits??={creations:r({perClient:5,shared:60}),signIns:r({perClient:10,shared:120})},l=n.creations;n.signIns,e.s(["p",0,t,"g",0,function(e,r=process.env){if("1"!==r.VERCEL)return t;let n=e.get("x-forwarded-for")?.split(",")[0]?.trim();return`ip:${n?function(e){if(!e.includes(":")||e.includes("."))return e;let[t,r]=e.toLowerCase().split("::"),n=t?t.split(":"):[],l=void 0===r?[]:r?r.split(":"):[],s=void 0===r?n:[...n,...Array(Math.max(0,8-n.length-l.length)).fill("0"),...l];return 8===s.length&&s.every(e=>/^[0-9a-f]{1,4}$/.test(e))?`${s.slice(0,4).map(e=>e.replace(/^0+(?=.)/,"")).join(":")}::/64`:e}(n):"unknown"}`},"k",0,l])}]})();
2
+
3
+ //# sourceMappingURL=src_lib_demo_0alh_mll9yp9d._.js.map
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[776660,e=>{var t=e.i(666680),r=e.i(994117);let n="wp_demo",i=/^[0-9a-f]{32}$/,o=/^[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 s;if(!e||e.length>1024)return null;let a=e.split(".");if(2!==a.length||!o.test(a[0])||!o.test(a[1]))return null;let[l,u]=a,f=Buffer.from(u,"base64url"),c=(0,t.createHmac)("sha256",r).update(l).digest();if(f.length!==c.length||!(0,t.timingSafeEqual)(f,c))return null;try{s=JSON.parse(Buffer.from(l,"base64url").toString("utf8"))}catch{return null}let{email:h,seed:p,iat:d}=s??{};if("string"!=typeof h||!h||h.length>254||h!==h.toLowerCase()||"string"!=typeof p||!i.test(p)||"number"!=typeof d||!Number.isInteger(d))return null;let g=Math.floor(n/1e3);return d>g+300||g-d>604800?null:{email:h,seed:p}}])},840263,e=>{let t;var r=e.i(493458);e.i(551783);var n=e.i(379509),i=e.i(347540),o=e.i(547499),s=e.i(776660),a=e.i(563247);let l=()=>(0,s.demoCookieKey)((0,o.f)().OPS_ENCRYPTION_KEY),u=(0,i.cache)(async()=>t?t():(0,s.verifyDemoCookie)((await (0,r.cookies)()).get(s.DEMO_COOKIE)?.value,l()));async function f(){let e=await u();if(!e)throw Error("Not signed in to the demo");return e}async function c(){return(await f()).seed}async function h(){return(await f()).email}async function p(){try{return(0,a.g)(await (0,r.headers)())}catch(e){return(0,n.unstable_rethrow)(e),a.p}}e.s(["R",0,p,"_",0,h,"U",0,c,"V",0,f,"H",0,u,"T",0,l,"O",0,function(e){if(!process.env.VITEST)throw Error("setDemoVisitorResolverForTests is for tests only");t=e}])},563247,e=>{let t="shared";function r(e){if(!e.includes(":")||e.includes("."))return e;let[t,r]=e.toLowerCase().split("::"),n=t?t.split(":"):[],i=void 0===r?[]:r?r.split(":"):[],o=void 0===r?n:[...n,...Array(Math.max(0,8-n.length-i.length)).fill("0"),...i];return 8===o.length&&o.every(e=>/^[0-9a-f]{1,4}$/.test(e))?`${o.slice(0,4).map(e=>e.replace(/^0+(?=.)/,"")).join(":")}::/64`:e}function n(e,r=6e5){let i=new Map;return{take(n,o,s=Date.now()){let a=i.get(n);if(a){var l=a;for(let[e,t]of l)s-t>=r&&l.delete(e);i.delete(n)}else a=new Map;return i.set(n,a),i.size>1e4&&i.delete(i.keys().next().value),!!a.has(o)||!(a.size>=(n===t?e.shared:e.perClient))&&(a.set(o,s),!0)},reset(){i.clear()}}}let i=globalThis.__watchpostDemoLimits??={creations:n({perClient:5,shared:60}),signIns:n({perClient:10,shared:120})},o=i.creations;i.signIns,e.s(["p",0,t,"L",0,r,"g",0,function(e,n=process.env){if("1"!==n.VERCEL)return t;let i=e.get("x-forwarded-for")?.split(",")[0]?.trim();return`ip:${i?r(i):"unknown"}`},"k",0,o])}]})();
2
+
3
+ //# sourceMappingURL=src_lib_demo_0rbejiyw_ry41._.js.map
@@ -0,0 +1,3 @@
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
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[776660,e=>{var t=e.i(666680),r=e.i(994117);let o="wp_demo",n=/^[0-9a-f]{32}$/,i=/^[A-Za-z0-9_-]+$/;e.s(["DEMO_COOKIE",0,o,"clearDemoCookie",0,function(e,t){e.set(o,"",{...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,o=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||!n.test(g)||"number"!=typeof h||!Number.isInteger(h))return null;let y=Math.floor(o/1e3);return h>y+300||y-h>604800?null:{email:m,seed:g}}])},840263,e=>{let t;var r=e.i(493458);e.i(551783);var o=e.i(379509),n=e.i(347540),i=e.i(547499),a=e.i(776660),s=e.i(563247);let u=()=>(0,a.demoCookieKey)((0,i.f)().OPS_ENCRYPTION_KEY),l=(0,n.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,o.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_21179a6aev-i3._.js.map