watchbell 1.2.2 → 1.2.4

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 (1064) hide show
  1. package/bin/watchbell.mjs +5 -2
  2. package/package.json +1 -1
  3. package/server/.next/BUILD_ID +1 -1
  4. package/server/.next/build-manifest.json +105 -105
  5. package/server/.next/prerender-manifest.json +4 -4
  6. package/server/.next/server/app/(console)/(private)/ai/agents/page/build-manifest.json +3 -3
  7. package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +32 -22
  8. package/server/.next/server/app/(console)/(private)/ai/agents/page.js +82 -80
  9. package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
  10. package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
  11. package/server/.next/server/app/(console)/(private)/ai/ask/page/build-manifest.json +3 -3
  12. package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +30 -20
  13. package/server/.next/server/app/(console)/(private)/ai/ask/page.js +81 -79
  14. package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
  15. package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
  16. package/server/.next/server/app/(console)/(private)/ai/connect/page/build-manifest.json +3 -3
  17. package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +28 -18
  18. package/server/.next/server/app/(console)/(private)/ai/connect/page.js +81 -79
  19. package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
  20. package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
  21. package/server/.next/server/app/(console)/(private)/ai/keys/page/build-manifest.json +3 -3
  22. package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +34 -24
  23. package/server/.next/server/app/(console)/(private)/ai/keys/page.js +81 -79
  24. package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
  25. package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
  26. package/server/.next/server/app/(console)/(private)/ai/logs/page/build-manifest.json +3 -3
  27. package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +30 -20
  28. package/server/.next/server/app/(console)/(private)/ai/logs/page.js +81 -79
  29. package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
  30. package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
  31. package/server/.next/server/app/(console)/(private)/ai/models/page/build-manifest.json +3 -3
  32. package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +48 -38
  33. package/server/.next/server/app/(console)/(private)/ai/models/page.js +81 -79
  34. package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
  35. package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
  36. package/server/.next/server/app/(console)/(private)/ai/page/build-manifest.json +3 -3
  37. package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +28 -18
  38. package/server/.next/server/app/(console)/(private)/ai/page.js +81 -79
  39. package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
  40. package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
  41. package/server/.next/server/app/(console)/(private)/ai/playground/page/build-manifest.json +3 -3
  42. package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +34 -24
  43. package/server/.next/server/app/(console)/(private)/ai/playground/page.js +81 -79
  44. package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
  45. package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
  46. package/server/.next/server/app/(console)/(private)/ai/providers/page/build-manifest.json +3 -3
  47. package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +40 -30
  48. package/server/.next/server/app/(console)/(private)/ai/providers/page.js +82 -80
  49. package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
  50. package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
  51. package/server/.next/server/app/(console)/(private)/ai/quota/page/build-manifest.json +3 -3
  52. package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +30 -20
  53. package/server/.next/server/app/(console)/(private)/ai/quota/page.js +83 -81
  54. package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
  55. package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
  56. package/server/.next/server/app/(console)/(private)/ai/usage/page/build-manifest.json +3 -3
  57. package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +30 -20
  58. package/server/.next/server/app/(console)/(private)/ai/usage/page.js +85 -82
  59. package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
  60. package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
  61. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/build-manifest.json +3 -3
  62. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +28 -18
  63. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +81 -79
  64. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
  65. package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
  66. package/server/.next/server/app/(console)/(private)/auto-actions/page/build-manifest.json +3 -3
  67. package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +30 -20
  68. package/server/.next/server/app/(console)/(private)/auto-actions/page.js +81 -79
  69. package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
  70. package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
  71. package/server/.next/server/app/(console)/alerts/page/build-manifest.json +3 -3
  72. package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +84 -44
  73. package/server/.next/server/app/(console)/alerts/page.js +84 -81
  74. package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
  75. package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
  76. package/server/.next/server/app/(console)/apps/[id]/page/build-manifest.json +3 -3
  77. package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +62 -52
  78. package/server/.next/server/app/(console)/apps/[id]/page.js +87 -85
  79. package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
  80. package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
  81. package/server/.next/server/app/(console)/apps/page/build-manifest.json +3 -3
  82. package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +34 -24
  83. package/server/.next/server/app/(console)/apps/page.js +83 -81
  84. package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
  85. package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
  86. package/server/.next/server/app/(console)/backups/page/build-manifest.json +3 -3
  87. package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +34 -24
  88. package/server/.next/server/app/(console)/backups/page.js +84 -82
  89. package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
  90. package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
  91. package/server/.next/server/app/(console)/catalog/page/build-manifest.json +3 -3
  92. package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +28 -18
  93. package/server/.next/server/app/(console)/catalog/page.js +82 -80
  94. package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
  95. package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
  96. package/server/.next/server/app/(console)/connections/page/build-manifest.json +3 -3
  97. package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +50 -40
  98. package/server/.next/server/app/(console)/connections/page.js +85 -83
  99. package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
  100. package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
  101. package/server/.next/server/app/(console)/d1/page/build-manifest.json +3 -3
  102. package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +28 -18
  103. package/server/.next/server/app/(console)/d1/page.js +83 -81
  104. package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
  105. package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
  106. package/server/.next/server/app/(console)/deployments/page/build-manifest.json +3 -3
  107. package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +40 -30
  108. package/server/.next/server/app/(console)/deployments/page.js +83 -81
  109. package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
  110. package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
  111. package/server/.next/server/app/(console)/dns/page/build-manifest.json +3 -3
  112. package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +42 -32
  113. package/server/.next/server/app/(console)/dns/page.js +86 -84
  114. package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
  115. package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
  116. package/server/.next/server/app/(console)/domains/page/build-manifest.json +3 -3
  117. package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +32 -22
  118. package/server/.next/server/app/(console)/domains/page.js +85 -83
  119. package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
  120. package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
  121. package/server/.next/server/app/(console)/events/page/build-manifest.json +3 -3
  122. package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +28 -18
  123. package/server/.next/server/app/(console)/events/page.js +82 -80
  124. package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
  125. package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
  126. package/server/.next/server/app/(console)/firebase/page/build-manifest.json +3 -3
  127. package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +42 -32
  128. package/server/.next/server/app/(console)/firebase/page.js +84 -82
  129. package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
  130. package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
  131. package/server/.next/server/app/(console)/logs/page/build-manifest.json +3 -3
  132. package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +30 -20
  133. package/server/.next/server/app/(console)/logs/page.js +81 -79
  134. package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
  135. package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
  136. package/server/.next/server/app/(console)/manage/sections/page/build-manifest.json +3 -3
  137. package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +30 -20
  138. package/server/.next/server/app/(console)/manage/sections/page.js +81 -79
  139. package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
  140. package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
  141. package/server/.next/server/app/(console)/neon/page/build-manifest.json +3 -3
  142. package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +50 -40
  143. package/server/.next/server/app/(console)/neon/page.js +86 -84
  144. package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
  145. package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
  146. package/server/.next/server/app/(console)/overview/page/build-manifest.json +3 -3
  147. package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +44 -34
  148. package/server/.next/server/app/(console)/overview/page.js +90 -88
  149. package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  150. package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  151. package/server/.next/server/app/(console)/repos/[id]/page/build-manifest.json +3 -3
  152. package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +30 -20
  153. package/server/.next/server/app/(console)/repos/[id]/page.js +84 -82
  154. package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
  155. package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
  156. package/server/.next/server/app/(console)/repos/page/build-manifest.json +3 -3
  157. package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +28 -18
  158. package/server/.next/server/app/(console)/repos/page.js +81 -79
  159. package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
  160. package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
  161. package/server/.next/server/app/(console)/settings/page/build-manifest.json +3 -3
  162. package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +48 -38
  163. package/server/.next/server/app/(console)/settings/page.js +82 -80
  164. package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
  165. package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
  166. package/server/.next/server/app/(console)/sql/page/build-manifest.json +3 -3
  167. package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +42 -32
  168. package/server/.next/server/app/(console)/sql/page.js +81 -79
  169. package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
  170. package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
  171. package/server/.next/server/app/(console)/status/page/build-manifest.json +3 -3
  172. package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +28 -18
  173. package/server/.next/server/app/(console)/status/page.js +84 -81
  174. package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
  175. package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
  176. package/server/.next/server/app/(console)/supabase/page/build-manifest.json +3 -3
  177. package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +66 -56
  178. package/server/.next/server/app/(console)/supabase/page.js +91 -90
  179. package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
  180. package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
  181. package/server/.next/server/app/(console)/topology/page/build-manifest.json +3 -3
  182. package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +28 -18
  183. package/server/.next/server/app/(console)/topology/page.js +83 -81
  184. package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
  185. package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
  186. package/server/.next/server/app/(console)/turso/page/build-manifest.json +3 -3
  187. package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +28 -18
  188. package/server/.next/server/app/(console)/turso/page.js +82 -80
  189. package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
  190. package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
  191. package/server/.next/server/app/(console)/upstash/page/build-manifest.json +3 -3
  192. package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +28 -18
  193. package/server/.next/server/app/(console)/upstash/page.js +82 -80
  194. package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
  195. package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
  196. package/server/.next/server/app/(console)/uptime/page/build-manifest.json +3 -3
  197. package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +56 -46
  198. package/server/.next/server/app/(console)/uptime/page.js +84 -82
  199. package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
  200. package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
  201. package/server/.next/server/app/(console)/welcome/page/build-manifest.json +3 -3
  202. package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +38 -28
  203. package/server/.next/server/app/(console)/welcome/page.js +81 -79
  204. package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
  205. package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
  206. package/server/.next/server/app/_global-error/page/build-manifest.json +3 -3
  207. package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  208. package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
  209. package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  210. package/server/.next/server/app/_global-error.html +1 -1
  211. package/server/.next/server/app/_global-error.rsc +3 -3
  212. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  213. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
  214. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  215. package/server/.next/server/app/_not-found/page/build-manifest.json +3 -3
  216. package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  217. package/server/.next/server/app/_not-found/page.js +14 -11
  218. package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
  219. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  220. package/server/.next/server/app/_not-found.html +1 -1
  221. package/server/.next/server/app/_not-found.rsc +28 -23
  222. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +28 -23
  223. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +26 -23
  224. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  225. package/server/.next/server/app/account/password/page/build-manifest.json +3 -3
  226. package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
  227. package/server/.next/server/app/account/password/page.js +17 -18
  228. package/server/.next/server/app/account/password/page.js.nft.json +1 -1
  229. package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
  230. package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
  231. package/server/.next/server/app/api/collect/route.js +38 -37
  232. package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
  233. package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
  234. package/server/.next/server/app/api/daily/route.js +38 -37
  235. package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
  236. package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
  237. package/server/.next/server/app/api/status/route.js.nft.json +1 -1
  238. package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
  239. package/server/.next/server/app/api/telegram/webhook/route.js +63 -62
  240. package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
  241. package/server/.next/server/app/api/v1/advice/route.js +2 -2
  242. package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
  243. package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
  244. package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
  245. package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
  246. package/server/.next/server/app/api/v1/ai/questions/route.js +2 -2
  247. package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
  248. package/server/.next/server/app/api/v1/mcp/route.js +2 -2
  249. package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
  250. package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
  251. package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
  252. package/server/.next/server/app/api/v1/status/apps/[app]/route.js +2 -2
  253. package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
  254. package/server/.next/server/app/api/v1/status/route.js +2 -2
  255. package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
  256. package/server/.next/server/app/api/watchdog/route.js +13 -13
  257. package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
  258. package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
  259. package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
  260. package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
  261. package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
  262. package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
  263. package/server/.next/server/app/invite/page/build-manifest.json +3 -3
  264. package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
  265. package/server/.next/server/app/invite/page.js +22 -22
  266. package/server/.next/server/app/invite/page.js.nft.json +1 -1
  267. package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
  268. package/server/.next/server/app/mfa/page/build-manifest.json +3 -3
  269. package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
  270. package/server/.next/server/app/mfa/page.js +40 -29
  271. package/server/.next/server/app/mfa/page.js.nft.json +1 -1
  272. package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
  273. package/server/.next/server/app/mfa/setup/page/build-manifest.json +3 -3
  274. package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
  275. package/server/.next/server/app/mfa/setup/page.js +40 -29
  276. package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
  277. package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
  278. package/server/.next/server/app/page/build-manifest.json +3 -3
  279. package/server/.next/server/app/page/server-reference-manifest.json +1 -1
  280. package/server/.next/server/app/page.js +14 -11
  281. package/server/.next/server/app/page.js.nft.json +1 -1
  282. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  283. package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
  284. package/server/.next/server/app/s/[slug]/page/build-manifest.json +3 -3
  285. package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
  286. package/server/.next/server/app/s/[slug]/page.js +23 -21
  287. package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
  288. package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
  289. package/server/.next/server/app/setup/page/build-manifest.json +3 -3
  290. package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
  291. package/server/.next/server/app/setup/page.js +20 -18
  292. package/server/.next/server/app/setup/page.js.nft.json +1 -1
  293. package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  294. package/server/.next/server/app/signin/page/build-manifest.json +3 -3
  295. package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
  296. package/server/.next/server/app/signin/page.js +47 -33
  297. package/server/.next/server/app/signin/page.js.nft.json +1 -1
  298. package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
  299. package/server/.next/server/chunks/{[externals]__0y_x27mdj85p4._.js → [externals]__0ia-wyj5qrosx._.js} +1 -1
  300. package/server/.next/server/chunks/{[externals]__1fzfzd0ia0sk6._.js → [externals]__0igl_rsv6z3fr._.js} +1 -1
  301. package/server/.next/server/chunks/{[externals]__1qqyrxnupegg3._.js → [externals]__0mh8e6gkgfswq._.js} +1 -1
  302. package/server/.next/server/chunks/{[root-of-the-server]__0hblpf7wqke-j._.js → [root-of-the-server]__0-ftc1hhcjcl2._.js} +2 -2
  303. package/server/.next/server/chunks/{[root-of-the-server]__0x487cn6dsn12._.js → [root-of-the-server]__0-st5xltl53h9._.js} +2 -2
  304. package/server/.next/server/chunks/{[root-of-the-server]__03i6yscmtbhhg._.js → [root-of-the-server]__0-u9oeob2sa7f._.js} +2 -2
  305. package/server/.next/server/chunks/{[root-of-the-server]__0_nljmqhjcept._.js → [root-of-the-server]__0070gc9ml0mf7._.js} +1 -1
  306. package/server/.next/server/chunks/{[root-of-the-server]__07bw6o0jc31yr._.js → [root-of-the-server]__0185dne3slx7e._.js} +2 -2
  307. package/server/.next/server/chunks/{[root-of-the-server]__0v-gc-c_e8pwl._.js → [root-of-the-server]__040ix5fqb_zb-._.js} +2 -2
  308. package/server/.next/server/chunks/{[root-of-the-server]__07mzeijv31avl._.js → [root-of-the-server]__05jzua9637vlo._.js} +2 -2
  309. package/server/.next/server/chunks/{[root-of-the-server]__1_or7dycvkseg._.js → [root-of-the-server]__06uaa_2zbg57p._.js} +1 -1
  310. package/server/.next/server/chunks/{[root-of-the-server]__1brl5otpkvgd3._.js → [root-of-the-server]__07byme21uj5ln._.js} +2 -2
  311. package/server/.next/server/chunks/{[root-of-the-server]__1lerees-l5-6c._.js → [root-of-the-server]__07g16s_wi2sai._.js} +2 -2
  312. package/server/.next/server/chunks/{[root-of-the-server]__0lu91s5izfu0p._.js → [root-of-the-server]__08-puk3_gawjd._.js} +2 -2
  313. package/server/.next/server/chunks/{[root-of-the-server]__0hnljrh9qi9t-._.js → [root-of-the-server]__0_e2eoq7w3ff_._.js} +2 -2
  314. package/server/.next/server/chunks/{[root-of-the-server]__0zni_2pv2fdgb._.js → [root-of-the-server]__0cc32xnniktg9._.js} +2 -2
  315. package/server/.next/server/chunks/{[root-of-the-server]__213bsllf-9ztc._.js → [root-of-the-server]__0cz3da2wx3_wd._.js} +2 -2
  316. package/server/.next/server/chunks/{[root-of-the-server]__0noc6l63d3l9w._.js → [root-of-the-server]__0dvuy3ibsyiik._.js} +2 -2
  317. package/server/.next/server/chunks/{[root-of-the-server]__1xxmlb3soqzom._.js → [root-of-the-server]__0e2utnqdim70d._.js} +2 -2
  318. package/server/.next/server/chunks/{[root-of-the-server]__0ihedjvt-l2-u._.js → [root-of-the-server]__0exicuoq6gmph._.js} +2 -2
  319. package/server/.next/server/chunks/{[root-of-the-server]__10wbld2tja51-._.js → [root-of-the-server]__0ezd1s2862iob._.js} +2 -2
  320. package/server/.next/server/chunks/[root-of-the-server]__0gmn5s40au84-._.js +3 -0
  321. package/server/.next/server/chunks/[root-of-the-server]__0i75m0es1m3hf._.js +3 -0
  322. package/server/.next/server/chunks/{[root-of-the-server]__0awtaloe4_8am._.js → [root-of-the-server]__0ikiyg3u02ofv._.js} +1 -1
  323. package/server/.next/server/chunks/{[root-of-the-server]__1xl6_spngp6k3._.js → [root-of-the-server]__0ms1uw85c5wg2._.js} +2 -2
  324. package/server/.next/server/chunks/[root-of-the-server]__0o0z59_jylzvy._.js +3 -0
  325. package/server/.next/server/chunks/{[root-of-the-server]__1zvoez8iapsem._.js → [root-of-the-server]__0oqltt9cni6m0._.js} +2 -2
  326. package/server/.next/server/chunks/{[root-of-the-server]__1lj1f2w2-w8nw._.js → [root-of-the-server]__0quiawzx_nww0._.js} +2 -2
  327. package/server/.next/server/chunks/{[root-of-the-server]__0r1men25anfgb._.js → [root-of-the-server]__0r88w3qhrtzz_._.js} +1 -1
  328. package/server/.next/server/chunks/{[root-of-the-server]__0kp0yx909wtab._.js → [root-of-the-server]__0rb1-3538-pq9._.js} +1 -1
  329. package/server/.next/server/chunks/{[root-of-the-server]__0g1cifa7hd790._.js → [root-of-the-server]__0sabwm3w1rm0q._.js} +1 -1
  330. package/server/.next/server/chunks/{[root-of-the-server]__0hlyn_aj72sn5._.js → [root-of-the-server]__0tykhzqhwdx_k._.js} +2 -2
  331. package/server/.next/server/chunks/{[root-of-the-server]__0yuyew8m9dc6-._.js → [root-of-the-server]__0w_og0zl6hqzj._.js} +1 -1
  332. package/server/.next/server/chunks/[root-of-the-server]__0wdxw44t9l9o_._.js +3 -0
  333. package/server/.next/server/chunks/{[root-of-the-server]__16waq6rapvngp._.js → [root-of-the-server]__0x47i6wm-cd1z._.js} +2 -2
  334. package/server/.next/server/chunks/{[root-of-the-server]__0s8vjz6urzn76._.js → [root-of-the-server]__0x6qqr79pq_j9._.js} +1 -1
  335. package/server/.next/server/chunks/{[root-of-the-server]__0nrg8zzqizk69._.js → [root-of-the-server]__0xqgsjnebebv8._.js} +2 -2
  336. package/server/.next/server/chunks/{[root-of-the-server]__0q-x05ekhpohj._.js → [root-of-the-server]__0y99cuuxm0xs3._.js} +1 -1
  337. package/server/.next/server/chunks/[root-of-the-server]__0zflnh-2nol66._.js +3 -0
  338. package/server/.next/server/chunks/{[root-of-the-server]__0l6_iao04u72h._.js → [root-of-the-server]__0znmcklxfccvk._.js} +2 -2
  339. package/server/.next/server/chunks/[root-of-the-server]__10dp33pb5e0ml._.js +3 -0
  340. package/server/.next/server/chunks/[root-of-the-server]__12xl6ax-q8s93._.js +3 -0
  341. package/server/.next/server/chunks/{[root-of-the-server]__090in165mp6av._.js → [root-of-the-server]__14sac3h4sfhh7._.js} +1 -1
  342. package/server/.next/server/chunks/{[root-of-the-server]__0oy0hcm48kl-q._.js → [root-of-the-server]__16md_196q9s8a._.js} +2 -2
  343. package/server/.next/server/chunks/[root-of-the-server]__17xbg7cngebwp._.js +3 -0
  344. package/server/.next/server/chunks/{[root-of-the-server]__0hrtz5c_46jkw._.js → [root-of-the-server]__186-sa38csgot._.js} +1 -1
  345. package/server/.next/server/chunks/[root-of-the-server]__18lfi0w0e_h0k._.js +3 -0
  346. package/server/.next/server/chunks/{[root-of-the-server]__0u3un538__ca5._.js → [root-of-the-server]__1a7_3nq1jjab-._.js} +2 -2
  347. package/server/.next/server/chunks/{[root-of-the-server]__15dhjj384tuw_._.js → [root-of-the-server]__1bce11artflky._.js} +2 -2
  348. package/server/.next/server/chunks/[root-of-the-server]__1c1wqmzm65xo8._.js +3 -0
  349. package/server/.next/server/chunks/{[root-of-the-server]__1adw_bv2u89kc._.js → [root-of-the-server]__1g4iy2tasmn0f._.js} +1 -1
  350. package/server/.next/server/chunks/[root-of-the-server]__1gry2nrq5xhxl._.js +3 -0
  351. package/server/.next/server/chunks/{[root-of-the-server]__1dh4di29mjq9y._.js → [root-of-the-server]__1gt_-h9n48pwi._.js} +2 -2
  352. package/server/.next/server/chunks/[root-of-the-server]__1hl9k6e1o7xh2._.js +3 -0
  353. package/server/.next/server/chunks/[root-of-the-server]__1kk_s-q90445m._.js +3 -0
  354. package/server/.next/server/chunks/{[root-of-the-server]__02ldm_7l9zld8._.js → [root-of-the-server]__1lfsf7un8kdbr._.js} +1 -1
  355. package/server/.next/server/chunks/[root-of-the-server]__1nusfevn1z4nm._.js +3 -0
  356. package/server/.next/server/chunks/{[root-of-the-server]__0l9ja3579qrju._.js → [root-of-the-server]__1ny8nr52qvr4i._.js} +2 -2
  357. package/server/.next/server/chunks/{[root-of-the-server]__125fkw52kl2ty._.js → [root-of-the-server]__1o9v_499yd5k8._.js} +2 -2
  358. package/server/.next/server/chunks/[root-of-the-server]__1oc55uo0ax787._.js +3 -0
  359. package/server/.next/server/chunks/{[root-of-the-server]__1w7dv8zm-k_oa._.js → [root-of-the-server]__1qdbn4gdg7ndr._.js} +2 -2
  360. package/server/.next/server/chunks/[root-of-the-server]__1uqxnb7qfqcms._.js +3 -0
  361. package/server/.next/server/chunks/{[root-of-the-server]__1dbz126yujh44._.js → [root-of-the-server]__1vqs8o9bv1wbk._.js} +2 -2
  362. package/server/.next/server/chunks/[root-of-the-server]__1vxtt1favjdfr._.js +3 -0
  363. package/server/.next/server/chunks/[root-of-the-server]__1xwgj26z5f7ih._.js +3 -0
  364. package/server/.next/server/chunks/{[root-of-the-server]__1ooxluowhatjt._.js → [root-of-the-server]__20ng0hgzxagf_._.js} +2 -2
  365. package/server/.next/server/chunks/{[root-of-the-server]__0032rbj2s87zo._.js → [root-of-the-server]__20r_62r36t28o._.js} +2 -2
  366. package/server/.next/server/chunks/[root-of-the-server]__20sv90-2ei08l._.js +3 -0
  367. package/server/.next/server/chunks/_0-fp57b-utmuw._.js +1 -1
  368. package/server/.next/server/chunks/_004j-wbs3yn84._.js +1 -1
  369. package/server/.next/server/chunks/_01x32f51v50y7._.js +3 -0
  370. package/server/.next/server/chunks/_03qlijpos6a21._.js +1 -1
  371. package/server/.next/server/chunks/_06gv0srpbf_lk._.js +3 -0
  372. package/server/.next/server/chunks/_06lf75x-xhl7v._.js +1 -1
  373. package/server/.next/server/chunks/_0brb2454uen18._.js +1 -1
  374. package/server/.next/server/chunks/_0dkhprw6wsizx._.js +1 -1
  375. package/server/.next/server/chunks/_0ffsv993spriq._.js +3 -0
  376. package/server/.next/server/chunks/_0hsj1tx2ynla-._.js +3 -0
  377. package/server/.next/server/chunks/{_1-pcsy2hkg0il._.js → _0ljdeybzgdyai._.js} +1 -1
  378. package/server/.next/server/chunks/_0ls7sornjrg95._.js +5 -0
  379. package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
  380. package/server/.next/server/chunks/{_0duxuj4kmjibl._.js → _0nt4ifc48vl34._.js} +28 -21
  381. package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +3 -3
  382. package/server/.next/server/chunks/{_113ebzq_9i756._.js → _0rkn5gstaj2d0._.js} +28 -21
  383. package/server/.next/server/chunks/_0s2odl9xacsg0._.js +1 -1
  384. package/server/.next/server/chunks/_0sy878k2ywjbq._.js +1 -1
  385. package/server/.next/server/chunks/_0xf7mtsrkgc9e._.js +2 -2
  386. package/server/.next/server/chunks/_0zj10_al6r59j._.js +2 -2
  387. package/server/.next/server/chunks/_1476vtrt9101m._.js +1 -1
  388. package/server/.next/server/chunks/_17aiz6zt-yv52._.js +2 -2
  389. package/server/.next/server/chunks/_18p-vw2zmdx9f._.js +1 -1
  390. package/server/.next/server/chunks/{_1ihndlef8r00f._.js → _1_4jb754aeifp._.js} +28 -21
  391. package/server/.next/server/chunks/{_0if5sw58tii_3._.js → _1_9n8x5ncta29._.js} +2 -2
  392. package/server/.next/server/chunks/_1_son1yzo5xvl._.js +1 -1
  393. package/server/.next/server/chunks/_1_xsrlijknnh3._.js +1 -1
  394. package/server/.next/server/chunks/{_16urxazbgm48y._.js → _1cq1vvbp6pglr._.js} +3 -3
  395. package/server/.next/server/chunks/_1e_rbkrukj0x9._.js +2 -2
  396. package/server/.next/server/chunks/_1g_prqb_u33e3._.js +3 -3
  397. package/server/.next/server/chunks/_1h73gul79s8pi._.js +1 -1
  398. package/server/.next/server/chunks/{_0ry4553j-m5fp._.js → _1myv9csc_in08._.js} +3 -3
  399. package/server/.next/server/chunks/{_1g8r-7wcf8sy3._.js → _1n-fm2bdo9t2m._.js} +3 -3
  400. package/server/.next/server/chunks/{_1mwb214-ablfo._.js → _1qsryafbujfwn._.js} +28 -21
  401. package/server/.next/server/chunks/node_modules_drizzle-orm_entity_1-0q2stnw2ab8.js +1 -1
  402. package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
  403. package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
  404. package/server/.next/server/chunks/src_088gmyaew7ds0._.js +1 -1
  405. package/server/.next/server/chunks/{src_09cgjvch02173._.js → src_0_l3dzp06o4x5._.js} +2 -2
  406. package/server/.next/server/chunks/{src_0c7qu5adpm3gv._.js → src_0m6xxpw2u-xv_._.js} +2 -2
  407. package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +1 -1
  408. package/server/.next/server/chunks/{src_20ilndq84j3b3._.js → src_15fupbs9-n8q9._.js} +2 -2
  409. package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
  410. package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +1 -1
  411. package/server/.next/server/chunks/src_1p24c-nz35cov._.js +3 -0
  412. package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +1 -1
  413. package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
  414. package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +1 -1
  415. package/server/.next/server/chunks/src_1wzm081p6qyre._.js +1 -1
  416. package/server/.next/server/chunks/src_lib_001zhbfd1zeuk._.js +3 -0
  417. package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +3 -0
  418. package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
  419. package/server/.next/server/chunks/{src_lib_206j7lyff31-g._.js → src_lib_0k_aposzvy1c8._.js} +2 -2
  420. package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +21 -14
  421. package/server/.next/server/chunks/{src_lib_1-u7dbsavbtb0._.js → src_lib_0vjapfdxkooq5._.js} +2 -2
  422. package/server/.next/server/chunks/{src_lib_0krdzz8eu9xh3._.js → src_lib_0yn0bj14ih0id._.js} +2 -2
  423. package/server/.next/server/chunks/src_lib_103kimc1xvc_0._.js +3 -3
  424. package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +21 -14
  425. package/server/.next/server/chunks/{src_lib_0ayxuk4ftzf2f._.js → src_lib_1qbgm0zu8q1rr._.js} +2 -2
  426. package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +21 -14
  427. package/server/.next/server/chunks/src_lib_1sdusf16f07x-._.js +3 -3
  428. package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  429. package/server/.next/server/chunks/src_lib_auth_ts_11yt3pae6wy-o._.js +1 -1
  430. package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +4 -4
  431. package/server/.next/server/chunks/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +3 -0
  432. package/server/.next/server/chunks/src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js +1 -1
  433. package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +6 -6
  434. package/server/.next/server/chunks/src_lib_local-auth_setup_ts_10d8-k_e6pvft._.js +2 -2
  435. package/server/.next/server/chunks/src_lib_view_databases_ts_1ovdbo8spjhf9._.js +1 -1
  436. package/server/.next/server/chunks/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  437. package/server/.next/server/chunks/src_private_assist_questions-db_ts_1l-wvmlexd7tr._.js +1 -1
  438. package/server/.next/server/chunks/src_private_assist_questions-db_ts_1pc4g504t-qmu._.js +1 -1
  439. package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  440. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +3 -0
  441. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +3 -0
  442. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +4 -0
  443. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +3 -0
  444. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +3 -0
  445. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +3 -0
  446. package/server/.next/server/chunks/ssr/{[externals]__0jv_q8g96gubg._.js → [externals]__01kgu896o9-9t._.js} +1 -1
  447. package/server/.next/server/chunks/ssr/{[externals]__1d_fn156y1kzg._.js → [externals]__0i0hmh-a743jn._.js} +1 -1
  448. package/server/.next/server/chunks/ssr/{[externals]__1neu6qld_ilyx._.js → [externals]__0irbihjwcc9is._.js} +1 -1
  449. package/server/.next/server/chunks/ssr/{[externals]__0yzs5m5hot2o2._.js → [externals]__0qc7l-41h018j._.js} +1 -1
  450. package/server/.next/server/chunks/ssr/{[externals]__0et8619os7o06._.js → [externals]__0vlxry7jq5j1j._.js} +1 -1
  451. package/server/.next/server/chunks/ssr/{[externals]__0x50_fipcza3k._.js → [externals]__0yyslm1ka5px3._.js} +1 -1
  452. package/server/.next/server/chunks/ssr/[externals]__194b54tqm6qaq._.js +3 -0
  453. package/server/.next/server/chunks/ssr/[externals]__1mol6ksxmtkv6._.js +3 -0
  454. package/server/.next/server/chunks/ssr/[externals]__1prfp5pzeoflz._.js +3 -0
  455. package/server/.next/server/chunks/ssr/[externals]__1zxtjc2qr2epg._.js +3 -0
  456. package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
  457. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0p7d9dfmuhnvv._.js → [root-of-the-server]__004q78ed0nf0_._.js} +2 -2
  458. package/server/.next/server/chunks/ssr/[root-of-the-server]__01zthkv8nrlct._.js +3 -0
  459. package/server/.next/server/chunks/ssr/{[root-of-the-server]__00wwav5k7xmy0._.js → [root-of-the-server]__04_prmhm_cts4._.js} +2 -2
  460. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0_677ii9bahoy._.js → [root-of-the-server]__056nm27ib-x1m._.js} +2 -2
  461. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0khp_gsot3jh_._.js → [root-of-the-server]__06b1pw15-_hv5._.js} +2 -2
  462. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0khvq0xdah931._.js → [root-of-the-server]__09blzlbsxqvy9._.js} +2 -2
  463. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0-o5i-5pqjk5v._.js → [root-of-the-server]__0_6on4a5w76va._.js} +1 -1
  464. package/server/.next/server/chunks/ssr/{[root-of-the-server]__15wwi1pda8ims._.js → [root-of-the-server]__0c_q6tvcmsmt9._.js} +2 -2
  465. package/server/.next/server/chunks/ssr/{[root-of-the-server]__050d99bknjdvq._.js → [root-of-the-server]__0ct4apye0sfmc._.js} +2 -2
  466. package/server/.next/server/chunks/ssr/[root-of-the-server]__0e8ya6wyy2plv._.js +3 -0
  467. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0p5znbfo0wgsu._.js → [root-of-the-server]__0eaqsql69fhf8._.js} +2 -2
  468. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1kieqcc6kdywx._.js → [root-of-the-server]__0ek1-s5z9ggq2._.js} +2 -2
  469. package/server/.next/server/chunks/ssr/[root-of-the-server]__0h0txd7z3sxq7._.js +3 -0
  470. package/server/.next/server/chunks/ssr/{[root-of-the-server]__08w3ad-xux1g4._.js → [root-of-the-server]__0h1vffivfh242._.js} +1 -1
  471. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0_1130gx52k-9._.js → [root-of-the-server]__0hzlz_t5eect2._.js} +2 -2
  472. package/server/.next/server/chunks/ssr/{[root-of-the-server]__16jkttbe1yoai._.js → [root-of-the-server]__0jgapr1cnvhi6._.js} +2 -2
  473. package/server/.next/server/chunks/ssr/{[root-of-the-server]__11ham42w_feik._.js → [root-of-the-server]__0k29b_kblv6sv._.js} +1 -1
  474. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0bn_thc_vtf_i._.js → [root-of-the-server]__0keo0-hwsnkw9._.js} +2 -2
  475. package/server/.next/server/chunks/ssr/{[root-of-the-server]__12-a3tcnfdcyq._.js → [root-of-the-server]__0l50vsk8enxzj._.js} +2 -2
  476. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0exp042uqhyqs._.js → [root-of-the-server]__0l_cl2qk_xmmr._.js} +2 -2
  477. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0y84mqfn13ss4._.js → [root-of-the-server]__0n-sc7pzu7fpz._.js} +1 -1
  478. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nxyo70ahj7tk._.js +3 -0
  479. package/server/.next/server/chunks/ssr/[root-of-the-server]__0o0cpvobd-u0n._.js +3 -0
  480. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1096-q3_trmm9._.js → [root-of-the-server]__0oon1p2_04l7s._.js} +2 -2
  481. package/server/.next/server/chunks/ssr/[root-of-the-server]__0qnly-gjvfntd._.js +3 -0
  482. package/server/.next/server/chunks/ssr/[root-of-the-server]__0qqcz9ynsgmgl._.js +3 -0
  483. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +3 -0
  484. package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +3 -0
  485. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ptdec0sozaqm._.js → [root-of-the-server]__0sj92w6mg92ds._.js} +2 -2
  486. package/server/.next/server/chunks/ssr/{[root-of-the-server]__05hw89gap74cw._.js → [root-of-the-server]__0uxychcp_pldy._.js} +2 -2
  487. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1k_hi9mbd4_by._.js → [root-of-the-server]__0wi2grctadbk8._.js} +1 -1
  488. package/server/.next/server/chunks/ssr/[root-of-the-server]__0xjg51t1__v-s._.js +3 -0
  489. package/server/.next/server/chunks/ssr/[root-of-the-server]__0y6psx1_d7fkt._.js +3 -0
  490. package/server/.next/server/chunks/ssr/{[root-of-the-server]__15keslh0ov5mv._.js → [root-of-the-server]__0z_1k5876-_wx._.js} +2 -2
  491. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ua-p_wz8epv9._.js → [root-of-the-server]__1-d88ogkwql_b._.js} +2 -2
  492. package/server/.next/server/chunks/ssr/[root-of-the-server]__10kuehp7saz8h._.js +3 -0
  493. package/server/.next/server/chunks/ssr/{[root-of-the-server]__10rhqv5xq9jaj._.js → [root-of-the-server]__110158s15r7mi._.js} +2 -2
  494. package/server/.next/server/chunks/ssr/[root-of-the-server]__113zn8es2wp67._.js +3 -0
  495. package/server/.next/server/chunks/ssr/[root-of-the-server]__14ept-_l8j32m._.js +1 -1
  496. package/server/.next/server/chunks/ssr/[root-of-the-server]__15s9onrf73-k8._.js +3 -0
  497. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0tjab3yn0asf7._.js → [root-of-the-server]__193nmh09rrpbx._.js} +1 -1
  498. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_b_k8wgqyxy7._.js +3 -0
  499. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
  500. package/server/.next/server/chunks/ssr/[root-of-the-server]__1_h_ya1h8efdj._.js +3 -0
  501. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0kr_tvfgqtb-o._.js → [root-of-the-server]__1a0b_dbx4uans._.js} +2 -2
  502. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ctkj-25wt37o._.js +4 -0
  503. package/server/.next/server/chunks/ssr/[root-of-the-server]__1d5tbv79yjhqm._.js +3 -0
  504. package/server/.next/server/chunks/ssr/[root-of-the-server]__1e0l6kek0ufui._.js +3 -0
  505. package/server/.next/server/chunks/ssr/[root-of-the-server]__1hek7tjixcjch._.js +3 -0
  506. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ijizmc3ga_6o._.js +3 -0
  507. package/server/.next/server/chunks/ssr/[root-of-the-server]__1itgt83qo1e77._.js +3 -0
  508. package/server/.next/server/chunks/ssr/[root-of-the-server]__1kfivch_kfesn._.js +4 -0
  509. package/server/.next/server/chunks/ssr/[root-of-the-server]__1nat8lbog5imr._.js +1 -1
  510. package/server/.next/server/chunks/ssr/[root-of-the-server]__1o63-3k1wez40._.js +3 -0
  511. package/server/.next/server/chunks/ssr/[root-of-the-server]__1ogwz1buruc_x._.js +3 -0
  512. package/server/.next/server/chunks/ssr/{[root-of-the-server]__0llh-w4ta1qbp._.js → [root-of-the-server]__1sw2q1p1t59y8._.js} +2 -2
  513. package/server/.next/server/chunks/ssr/{[root-of-the-server]__06uaa_2zbg57p._.js → [root-of-the-server]__1tj-iwvrxfd1a._.js} +2 -2
  514. package/server/.next/server/chunks/ssr/{[root-of-the-server]__1xwqrik2sugmi._.js → [root-of-the-server]__1u_13nhw3kuz3._.js} +2 -2
  515. package/server/.next/server/chunks/ssr/[root-of-the-server]__1wr4__6rvsb3b._.js +3 -0
  516. package/server/.next/server/chunks/ssr/[root-of-the-server]__1yx8ayym979jd._.js +3 -0
  517. package/server/.next/server/chunks/ssr/[root-of-the-server]__1zmavjo5fhryp._.js +3 -0
  518. package/server/.next/server/chunks/ssr/[root-of-the-server]__20of6xa16fwqa._.js +1 -1
  519. package/server/.next/server/chunks/ssr/_0-wc6f6p0c8lv._.js +3 -0
  520. package/server/.next/server/chunks/ssr/_01x32f51v50y7._.js +3 -0
  521. package/server/.next/server/chunks/ssr/{_04ltmruop4rt3._.js → _02eudwc8ieb2r._.js} +3 -3
  522. package/server/.next/server/chunks/ssr/_034fv8o7kws2k._.js +3 -0
  523. package/server/.next/server/chunks/ssr/_03od6e8ibcxtf._.js +3 -0
  524. package/server/.next/server/chunks/ssr/_042ow6smd_1gj._.js +3 -0
  525. package/server/.next/server/chunks/ssr/{_1_gydx19bikgo._.js → _08d4hz_ddxc02._.js} +2 -2
  526. package/server/.next/server/chunks/ssr/_08e6i1zuyz-ns._.js +3 -0
  527. package/server/.next/server/chunks/ssr/{_090fib2x989oc._.js → _08xqk3eibu5aw._.js} +2 -2
  528. package/server/.next/server/chunks/ssr/{_01irlde8uxva8._.js → _0_8v3-nq-b4ug._.js} +2 -2
  529. package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
  530. package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
  531. package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
  532. package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
  533. package/server/.next/server/chunks/ssr/_0c7stbntpuyt_._.js +3 -0
  534. package/server/.next/server/chunks/ssr/{_1ag8axv14phju._.js → _0cbbks0ms7i_u._.js} +3 -3
  535. package/server/.next/server/chunks/ssr/_0cukja7zcxh7e._.js +1 -1
  536. package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
  537. package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +4 -0
  538. package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
  539. package/server/.next/server/chunks/ssr/_0e4xfzm8oecc-._.js +3 -0
  540. package/server/.next/server/chunks/ssr/_0ffsv993spriq._.js +3 -0
  541. package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +4 -0
  542. package/server/.next/server/chunks/ssr/_0hsj1tx2ynla-._.js +3 -0
  543. package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +4 -0
  544. package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +4 -0
  545. package/server/.next/server/chunks/ssr/{_0tqc0bsnybvva._.js → _0ipnb60-_660b._.js} +2 -2
  546. package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +3 -0
  547. package/server/.next/server/chunks/ssr/{src_lib_0-nc33gvdtkg5._.js → _0ls7sornjrg95._.js} +2 -2
  548. package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
  549. package/server/.next/server/chunks/ssr/{_18lgd6o04ugow._.js → _0oub-njkja8gu._.js} +3 -3
  550. package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +4 -0
  551. package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
  552. package/server/.next/server/chunks/ssr/_0qo8tc43kjsf_._.js +1 -1
  553. package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +4 -0
  554. package/server/.next/server/chunks/ssr/_0uvkx5n0kf7r2._.js +3 -0
  555. package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +4 -0
  556. package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +1 -1
  557. package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
  558. package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +4 -0
  559. package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +3 -0
  560. package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
  561. package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
  562. package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
  563. package/server/.next/server/chunks/ssr/_11llsmv578p2i._.js +3 -0
  564. package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +4 -0
  565. package/server/.next/server/chunks/ssr/_1476vtrt9101m._.js +1 -1
  566. package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
  567. package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
  568. package/server/.next/server/chunks/ssr/_1_xsrlijknnh3._.js +1 -1
  569. package/server/.next/server/chunks/ssr/_1b1t9p1xljuql._.js +5 -0
  570. package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +4 -0
  571. package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
  572. package/server/.next/server/chunks/ssr/_1de6e6l7599fp._.js +1 -1
  573. package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +4 -0
  574. package/server/.next/server/chunks/ssr/_1e5kqt081d8yt._.js +3 -0
  575. package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +4 -0
  576. package/server/.next/server/chunks/ssr/{_1w_rq6clcs0ft._.js → _1fuywfexex2s8._.js} +3 -3
  577. package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
  578. package/server/.next/server/chunks/ssr/_1gl78598hz_ku._.js +1 -1
  579. package/server/.next/server/chunks/ssr/_1h93joqd_-1og._.js +1 -1
  580. package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +4 -0
  581. package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
  582. package/server/.next/server/chunks/ssr/_1jclq5d7tposb._.js +3 -0
  583. package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
  584. package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +4 -0
  585. package/server/.next/server/chunks/ssr/{_0hmxyfx7su4uk._.js → _1m4km_w39x5e9._.js} +2 -2
  586. package/server/.next/server/chunks/ssr/_1o94cw0ml7xu7._.js +3 -0
  587. package/server/.next/server/chunks/ssr/_1ok868mr1th-7._.js +3 -0
  588. package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +4 -0
  589. package/server/.next/server/chunks/ssr/_1qdox4yn1u4pc._.js +1 -1
  590. package/server/.next/server/chunks/ssr/_1qdqc9j_skd1q._.js +1 -1
  591. package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +1 -1
  592. package/server/.next/server/chunks/ssr/{_1gk334l49puy-._.js → _1rinsar6bp6ul._.js} +2 -2
  593. package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +4 -0
  594. package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
  595. package/server/.next/server/chunks/ssr/_20wy2moxkzhf0._.js +3 -0
  596. package/server/.next/server/chunks/ssr/{_026w_ig6vy9bt._.js → _218164gkxgum_._.js} +2 -2
  597. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +3 -0
  598. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +3 -0
  599. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +3 -0
  600. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_0y5m8cul6d7kk.js +3 -0
  601. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +3 -0
  602. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +3 -0
  603. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +3 -0
  604. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +3 -0
  605. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +3 -0
  606. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +3 -0
  607. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +3 -0
  608. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +3 -0
  609. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +3 -0
  610. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +3 -0
  611. package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
  612. package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
  613. package/server/.next/server/chunks/ssr/node_modules_0bqq4kab3lt4c._.js +3 -0
  614. package/server/.next/server/chunks/ssr/{node_modules_05z64qbskywkh._.js → node_modules_1-uce_v-roeci._.js} +1 -1
  615. package/server/.next/server/chunks/ssr/node_modules_@base-ui_react_dialog_index_parts_mjs_0wvx70_xziwkw._.js +3 -0
  616. package/server/.next/server/chunks/ssr/node_modules_next_dist_client_components_0p8s4lhdi0ir6._.js +3 -0
  617. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-kkewzcx4540.js +3 -0
  618. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00t5_cu_8xco2.js +3 -0
  619. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_028rm32yw9745.js +3 -0
  620. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_02tytjla8gfpw.js +3 -0
  621. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_05tff2l0grv3d.js +3 -0
  622. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08qavwdx-gipt.js +3 -0
  623. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09jdr97vksmwk.js +3 -0
  624. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0c3z69fbbz6-a.js +3 -0
  625. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d4hxwzkts-8z.js +3 -0
  626. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dq-zslzf2s94.js +3 -0
  627. package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_1q_82vyl-q7u6.js → node_modules_next_dist_esm_build_templates_app-page_0e-rjmezj0qkk.js} +2 -2
  628. package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_0ivgh76j_tu2x.js → node_modules_next_dist_esm_build_templates_app-page_0e50mslm8ys4t.js} +2 -2
  629. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0esqulnipbhj7.js +3 -0
  630. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0icasmc2qvtfa.js +3 -0
  631. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0idohkgskbja5.js +3 -0
  632. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ii2a6tud83pj.js +3 -0
  633. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ivr2dcq7hh5t.js +3 -0
  634. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mcwghl-di24f.js +3 -0
  635. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0n05qgf2t9o6n.js +3 -0
  636. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ntej2bo95ns3.js +3 -0
  637. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0o1l93c0tj-p8.js +3 -0
  638. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ollx_iq739y6.js +3 -0
  639. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0v16m5nv0x43b.js +3 -0
  640. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0wa_9ywaoqxrf.js +3 -0
  641. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0y94b-zvw0vrq.js +3 -0
  642. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ydzswpddtx9q.js +3 -0
  643. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0zwpkpyuh6z99.js +3 -0
  644. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14t5-0abqp0sm.js +3 -0
  645. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18h3ke4tl-fzl.js +3 -0
  646. package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_14-4y3i6c1vxc.js → node_modules_next_dist_esm_build_templates_app-page_19kqs-fc2i0zv.js} +2 -2
  647. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_s_25znkg8mz.js +3 -0
  648. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_ysa6fs0tt59.js +3 -0
  649. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1b4hixza89i52.js +3 -0
  650. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1brrqdx4msjzf.js +3 -0
  651. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1e74o7dar2z12.js +3 -0
  652. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1eqpqmdz9jgs0.js +3 -0
  653. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1f3932777ye1o.js +3 -0
  654. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kx1n5-wqjvko.js +3 -0
  655. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1l6umnmh89nvy.js +3 -0
  656. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mdyuengydtxm.js +3 -0
  657. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qmm1wm-dfm_v.js +3 -0
  658. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1t-fn8blx1hp8.js +3 -0
  659. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1tf9xiz17b3cq.js +3 -0
  660. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1tffdbiasnszd.js +3 -0
  661. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uisz6sszlhwp.js +3 -0
  662. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1umag21mbk-rs.js +3 -0
  663. package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_0i3p3qfjihm3f.js → node_modules_next_dist_esm_build_templates_app-page_1vakvu0qtsn07.js} +2 -2
  664. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1wmviw4zw6t_r.js +3 -0
  665. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1xq449tjypb4s.js +3 -0
  666. package/server/.next/server/chunks/ssr/src_02ynbzyh8nn02._.js +3 -0
  667. package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +3 -0
  668. package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
  669. package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
  670. package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +1 -1
  671. package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
  672. package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +3 -0
  673. package/server/.next/server/chunks/ssr/{src_1xjlp4oxlprxb._.js → src_0jxjbvkvg0bjg._.js} +2 -2
  674. package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
  675. package/server/.next/server/chunks/ssr/src_0txyv7r1zns16._.js +3 -0
  676. package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
  677. package/server/.next/server/chunks/ssr/src_0xh3xicmff6ws._.js +1 -1
  678. package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
  679. package/server/.next/server/chunks/ssr/{src_071xsnvnzlvj8._.js → src_1751lvujjc-tz._.js} +2 -2
  680. package/server/.next/server/chunks/ssr/{src_0905fjqu0qv57._.js → src_186l56gdeizg8._.js} +2 -2
  681. package/server/.next/server/chunks/ssr/src_1f1x6508qetmp._.js +3 -0
  682. package/server/.next/server/chunks/ssr/src_1koc8y1nfdlw3._.js +1 -1
  683. package/server/.next/server/chunks/ssr/{src_0i-1ohush6mui._.js → src_1p24c-nz35cov._.js} +2 -2
  684. package/server/.next/server/chunks/ssr/src_1pd5lqhm1x4yf._.js +1 -1
  685. package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
  686. package/server/.next/server/chunks/ssr/{src_0widudneyf0oq._.js → src_1wnx8vxv7nd04._.js} +2 -2
  687. package/server/.next/server/chunks/ssr/src_1xoua7wkmyfkn._.js +3 -0
  688. package/server/.next/server/chunks/ssr/src_1y827m5-ojdib._.js +6 -0
  689. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
  690. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
  691. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
  692. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
  693. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +2 -2
  694. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
  695. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
  696. package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
  697. package/server/.next/server/chunks/ssr/src_app_(console)_1co5pna1vfflj._.js +3 -0
  698. package/server/.next/server/chunks/ssr/src_app_(console)_1shtcv6hidi4-._.js +3 -0
  699. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -1
  700. package/server/.next/server/chunks/ssr/src_app_(console)_alerts_1t61z2wktki-v._.js +1 -1
  701. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1jme7fm7ej_lr._.js +3 -0
  702. package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
  703. package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
  704. package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
  705. package/server/.next/server/chunks/ssr/src_app_(console)_connections_02upf_c41dauw._.js +1 -1
  706. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
  707. package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
  708. package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
  709. package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
  710. package/server/.next/server/chunks/ssr/src_app_(console)_d1_page_tsx_167hwnq_9uh81._.js +1 -1
  711. package/server/.next/server/chunks/ssr/src_app_(console)_dns_0d1uyir4fe7pc._.js +1 -1
  712. package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
  713. package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
  714. package/server/.next/server/chunks/ssr/src_app_(console)_domains_1ut499n11u8_r._.js +1 -1
  715. package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
  716. package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
  717. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_17htk-vea5fna._.js +1 -1
  718. package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
  719. package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
  720. package/server/.next/server/chunks/ssr/src_app_(console)_overview_page_tsx_0se3f3ln9q-42._.js +1 -1
  721. package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
  722. package/server/.next/server/chunks/ssr/src_app_(console)_repos_[id]_page_tsx_1nkxthc4ethrj._.js +2 -2
  723. package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
  724. package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
  725. package/server/.next/server/chunks/ssr/src_app_(console)_status_page_tsx_1zvj799nv4kah._.js +1 -1
  726. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
  727. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_1ofufib3-zzt-._.js +1 -1
  728. package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
  729. package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
  730. package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
  731. package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
  732. package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
  733. package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
  734. package/server/.next/server/chunks/ssr/{src_app_signin_0hb58isfg-2yx._.js → src_app_signin_0ko968fxahf6u._.js} +2 -2
  735. package/server/.next/server/chunks/ssr/src_components_0-x11r8_844pu._.js +1 -1
  736. package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +1 -1
  737. package/server/.next/server/chunks/ssr/src_components_0_xymno8nakru._.js +3 -0
  738. package/server/.next/server/chunks/ssr/src_components_0ozvphxxwb7d-._.js +3 -0
  739. package/server/.next/server/chunks/ssr/src_components_0tmtbf2etsx03._.js +1 -1
  740. package/server/.next/server/chunks/ssr/src_components_charts_tsx_0u0c5sxi3-7ug._.js +1 -1
  741. package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
  742. package/server/.next/server/chunks/ssr/src_components_live_tsx_1p2s3b807w0jt._.js +1 -1
  743. package/server/.next/server/chunks/ssr/src_components_ui_dialog_tsx_1tn-i_6d3rhzt._.js +1 -1
  744. package/server/.next/server/chunks/ssr/src_lib_001zhbfd1zeuk._.js +3 -0
  745. package/server/.next/server/chunks/ssr/src_lib_04orn7u7ufxp1._.js +3 -0
  746. package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +3 -0
  747. package/server/.next/server/chunks/ssr/src_lib_0nbad7vu413-f._.js +23 -0
  748. package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +3 -0
  749. package/server/.next/server/chunks/ssr/src_lib_1l8ej-zoyyegd._.js +3 -0
  750. package/server/.next/server/chunks/ssr/src_lib_1nkahiclbn55q._.js +3 -0
  751. package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
  752. package/server/.next/server/chunks/ssr/src_lib_auth_ts_11yt3pae6wy-o._.js +1 -1
  753. package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +1 -1
  754. package/server/.next/server/chunks/ssr/src_lib_collector_self-update_ts_18m5vmptpjhtg._.js +3 -0
  755. package/server/.next/server/chunks/ssr/src_lib_data_github-db_ts_02xuh84m-__8z._.js +1 -1
  756. package/server/.next/server/chunks/ssr/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +3 -0
  757. package/server/.next/server/chunks/ssr/src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js +1 -1
  758. package/server/.next/server/chunks/ssr/{src_lib_demo_1wu-a6lubzph6._.js → src_lib_demo_0ftmf3wmtezvl._.js} +2 -2
  759. package/server/.next/server/chunks/ssr/src_lib_local-auth_setup_ts_05zj7z33ne4f5._.js +1 -1
  760. package/server/.next/server/chunks/ssr/src_lib_security_node-runtime_ts_1jei00s21d6v0._.js +3 -0
  761. package/server/.next/server/chunks/ssr/src_lib_view_14iq8onyfo7nd._.js +3 -0
  762. package/server/.next/server/chunks/ssr/src_lib_view_databases_ts_1ovdbo8spjhf9._.js +1 -1
  763. package/server/.next/server/chunks/ssr/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
  764. package/server/.next/server/chunks/ssr/src_lib_view_network_ts_0toa7t-gw9cup._.js +1 -1
  765. package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
  766. package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
  767. package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
  768. package/server/.next/server/chunks/ssr/src_private_assist_questions-db_ts_1l-wvmlexd7tr._.js +1 -1
  769. package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
  770. package/server/.next/server/middleware-build-manifest.js +105 -105
  771. package/server/.next/server/pages/404.html +1 -1
  772. package/server/.next/server/pages/500.html +1 -1
  773. package/server/.next/server/preview-props.json +3 -3
  774. package/server/.next/server/server-reference-manifest.js +1 -1
  775. package/server/.next/server/server-reference-manifest.json +868 -672
  776. package/server/.next/static/chunks/0-6om8-d7itz8.js +1 -0
  777. package/server/.next/static/chunks/00oeu_tbjky7m.js +1 -0
  778. package/server/.next/static/chunks/0181phyuecg9b.js +1 -0
  779. package/server/.next/static/chunks/{36js6cf9c-53b.js → 01u9q07wu6-x1.js} +1 -1
  780. package/server/.next/static/chunks/0_5_9w6m-xwd0.js +1 -0
  781. package/server/.next/static/chunks/{0rgn3-cks0udn.js → 0a-rekt06v0sv.js} +1 -1
  782. package/server/.next/static/chunks/0hj1-5zruyih6.js +1 -0
  783. package/server/.next/static/chunks/0krhehmzgigx5.js +1 -0
  784. package/server/.next/static/chunks/0md0jy9rztofl.js +1 -0
  785. package/server/.next/static/chunks/0mp6prf1hx5mx.js +1 -0
  786. package/server/.next/static/chunks/0t66sf4vvalei.js +1 -0
  787. package/server/.next/static/chunks/{1o1lidcbrrh92.js → 0v_-lu_cx7f91.js} +1 -1
  788. package/server/.next/static/chunks/0x_wb_w6fgkyt.js +1 -0
  789. package/server/.next/static/chunks/0xcpi35p5fa83.js +1 -0
  790. package/server/.next/static/chunks/0z0may9twpt-j.js +1 -0
  791. package/server/.next/static/chunks/{2yjh4ytp-sedv.js → 149lk0boxihnl.js} +1 -1
  792. package/server/.next/static/chunks/{0i8-ofb4wfcch.js → 16yvy9zkjac5c.js} +1 -1
  793. package/server/.next/static/chunks/17lwu-2id6c_-.js +1 -0
  794. package/server/.next/static/chunks/18johpgap0xmw.js +1 -0
  795. package/server/.next/static/chunks/18mkhwl0zlvnp.js +1 -0
  796. package/server/.next/static/chunks/1_8g4usrgjnnu.js +1 -0
  797. package/server/.next/static/chunks/1c0s-ejiwfy2u.js +1 -0
  798. package/server/.next/static/chunks/{319s97ka6eaex.js → 1gt3cagsbgx4w.js} +1 -1
  799. package/server/.next/static/chunks/1q-m7qgrvvzwb.js +1 -0
  800. package/server/.next/static/chunks/{1qxc6cck2xkbs.js → 1rkrtrvwbbnjf.js} +1 -1
  801. package/server/.next/static/chunks/{12fo0pcbpv7lw.js → 1sc1vz_ygak9u.js} +1 -1
  802. package/server/.next/static/chunks/1tg1mstvws8rj.css +3 -0
  803. package/server/.next/static/chunks/1ukyjy13dwy_z.js +1 -0
  804. package/server/.next/static/chunks/1urtw14pwufsv.js +1 -0
  805. package/server/.next/static/chunks/1xm6ay06cjchs.js +1 -0
  806. package/server/.next/static/chunks/{3orhi-m-n-ra4.js → 1y_6crandf_3f.js} +1 -1
  807. package/server/.next/static/chunks/1ys80h6x541kn.js +5 -0
  808. package/server/.next/static/chunks/2-m982u6v7z8m.js +1 -0
  809. package/server/.next/static/chunks/20ujg0hz_need.js +1 -0
  810. package/server/.next/static/chunks/2a3tky__z9q4j.js +1 -0
  811. package/server/.next/static/chunks/2cipdjdkoq312.js +1 -0
  812. package/server/.next/static/chunks/{0-_zjfssid86w.js → 2ect0ww0gtoad.js} +2 -2
  813. package/server/.next/static/chunks/2s-_9p0-395sm.js +1 -0
  814. package/server/.next/static/chunks/{0a5vchcarwyam.js → 2ue_c6tww95_c.js} +1 -1
  815. package/server/.next/static/chunks/2xio-kspedw69.js +1 -0
  816. package/server/.next/static/chunks/2z6gojfx3lqvt.js +1 -0
  817. package/server/.next/static/chunks/31v3igne_z-0k.js +1 -0
  818. package/server/.next/static/chunks/33ddsp07_9o1d.js +7 -0
  819. package/server/.next/static/chunks/340qccog2_uge.js +2 -0
  820. package/server/.next/static/chunks/35ua22np4u9jr.js +1 -0
  821. package/server/.next/static/chunks/{2q88116332v43.js → 37zqf9hef7g0k.js} +1 -1
  822. package/server/.next/static/chunks/38ao1jq4zw-nd.js +1 -0
  823. package/server/.next/static/chunks/{3xo5igjfumqip.js → 38g-5wiggu6__.js} +1 -1
  824. package/server/.next/static/chunks/{05p62k_8g05pm.js → 3a5a2iizetq9b.js} +11 -11
  825. package/server/.next/static/chunks/3f1td0b-oy-sr.js +1 -0
  826. package/server/.next/static/chunks/{1pre7l9hmk-b6.js → 3imk3dh9_4wd5.js} +1 -1
  827. package/server/.next/static/chunks/3jhh47vezwohc.js +1 -0
  828. package/server/.next/static/chunks/3letbzhf_1srv.js +1 -0
  829. package/server/.next/static/chunks/{3u3h2mlon2qu7.js → 3qedt96akbcad.js} +1 -1
  830. package/server/.next/static/chunks/3vpy-ra0rib9m.js +1 -0
  831. package/server/.next/static/chunks/3wi930ujb_5_z.js +1 -0
  832. package/server/.next/static/chunks/40n6mtthd3_sh.js +1 -0
  833. package/server/drizzle-selfhost/0007_webhook_channel.sql +5 -0
  834. package/server/drizzle-selfhost/meta/_journal.json +7 -0
  835. package/tools/reset-login.mjs +1 -1
  836. package/server/.next/server/chunks/[root-of-the-server]__0f5bt0o1k41ft._.js +0 -3
  837. package/server/.next/server/chunks/[root-of-the-server]__0hedtycoyydoc._.js +0 -3
  838. package/server/.next/server/chunks/[root-of-the-server]__0zmvf4j8e2gno._.js +0 -3
  839. package/server/.next/server/chunks/[root-of-the-server]__1-9hjrgvj0fpb._.js +0 -3
  840. package/server/.next/server/chunks/[root-of-the-server]__13hrm9c61i7uk._.js +0 -3
  841. package/server/.next/server/chunks/[root-of-the-server]__14eyo4i2tm93k._.js +0 -3
  842. package/server/.next/server/chunks/[root-of-the-server]__14ou3bydfm0ms._.js +0 -3
  843. package/server/.next/server/chunks/[root-of-the-server]__19ylbgd65iej4._.js +0 -3
  844. package/server/.next/server/chunks/[root-of-the-server]__1dyith2r4bacm._.js +0 -3
  845. package/server/.next/server/chunks/[root-of-the-server]__1e1l75cf48ph2._.js +0 -3
  846. package/server/.next/server/chunks/[root-of-the-server]__1eu2_f44as742._.js +0 -3
  847. package/server/.next/server/chunks/[root-of-the-server]__1mim39ea6-dm1._.js +0 -3
  848. package/server/.next/server/chunks/[root-of-the-server]__1p0zd1rtbkj9r._.js +0 -3
  849. package/server/.next/server/chunks/[root-of-the-server]__1pvx0izh1m_0_._.js +0 -3
  850. package/server/.next/server/chunks/[root-of-the-server]__1v4i7ytwadml8._.js +0 -3
  851. package/server/.next/server/chunks/[root-of-the-server]__1vwz2r58cojht._.js +0 -3
  852. package/server/.next/server/chunks/[root-of-the-server]__1zg653esm3__p._.js +0 -3
  853. package/server/.next/server/chunks/[root-of-the-server]__1zrqz88a2lkx5._.js +0 -3
  854. package/server/.next/server/chunks/[root-of-the-server]__1zwi7po5_xe8-._.js +0 -3
  855. package/server/.next/server/chunks/_0qyupoc7u5hr7._.js +0 -3
  856. package/server/.next/server/chunks/_1-ior_ot6mgxg._.js +0 -3
  857. package/server/.next/server/chunks/_1-pw7jw52sbti._.js +0 -3
  858. package/server/.next/server/chunks/src_0i-1ohush6mui._.js +0 -3
  859. package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +0 -3
  860. package/server/.next/server/chunks/src_lib_0-nc33gvdtkg5._.js +0 -5
  861. package/server/.next/server/chunks/src_lib_0-xd6p5793qdu._.js +0 -3
  862. package/server/.next/server/chunks/src_lib_0qbcg988i_-ee._.js +0 -3
  863. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_1q6nc5chwn5k4.js +0 -3
  864. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +0 -3
  865. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +0 -4
  866. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +0 -3
  867. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +0 -3
  868. package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +0 -3
  869. package/server/.next/server/chunks/ssr/[externals]__1hqh7fi0-rtlc._.js +0 -3
  870. package/server/.next/server/chunks/ssr/[externals]__1mmmc4yhx5fm6._.js +0 -3
  871. package/server/.next/server/chunks/ssr/[externals]__1nv-uycpa6_lh._.js +0 -3
  872. package/server/.next/server/chunks/ssr/[externals]__1p5zuqwmfkoo1._.js +0 -3
  873. package/server/.next/server/chunks/ssr/[root-of-the-server]__0-jx3t8dg8n5t._.js +0 -3
  874. package/server/.next/server/chunks/ssr/[root-of-the-server]__01mgajn73iwc7._.js +0 -5
  875. package/server/.next/server/chunks/ssr/[root-of-the-server]__04klr3-4qi7-t._.js +0 -3
  876. package/server/.next/server/chunks/ssr/[root-of-the-server]__04zgt2t-w6-75._.js +0 -3
  877. package/server/.next/server/chunks/ssr/[root-of-the-server]__05q-laapy00sk._.js +0 -3
  878. package/server/.next/server/chunks/ssr/[root-of-the-server]__0dd9rci1isdjf._.js +0 -3
  879. package/server/.next/server/chunks/ssr/[root-of-the-server]__0ejxk0jlgi4eb._.js +0 -3
  880. package/server/.next/server/chunks/ssr/[root-of-the-server]__0lehuiyzxp78t._.js +0 -3
  881. package/server/.next/server/chunks/ssr/[root-of-the-server]__0nlfip3wc3l2z._.js +0 -4
  882. package/server/.next/server/chunks/ssr/[root-of-the-server]__0tp9vtckbkk9o._.js +0 -3
  883. package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +0 -3
  884. package/server/.next/server/chunks/ssr/[root-of-the-server]__10y2ig7dg3f-k._.js +0 -3
  885. package/server/.next/server/chunks/ssr/[root-of-the-server]__18xb7pbdmiyiz._.js +0 -3
  886. package/server/.next/server/chunks/ssr/[root-of-the-server]__194546bqpq02e._.js +0 -3
  887. package/server/.next/server/chunks/ssr/[root-of-the-server]__1bvp2ia3h9qbs._.js +0 -3
  888. package/server/.next/server/chunks/ssr/[root-of-the-server]__1dyjzbqwy6o12._.js +0 -3
  889. package/server/.next/server/chunks/ssr/[root-of-the-server]__1fj33_xkainxk._.js +0 -4
  890. package/server/.next/server/chunks/ssr/[root-of-the-server]__1l695djsioelp._.js +0 -3
  891. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pfk0fqey3ipf._.js +0 -3
  892. package/server/.next/server/chunks/ssr/[root-of-the-server]__1pgpryg9lkmoz._.js +0 -3
  893. package/server/.next/server/chunks/ssr/[root-of-the-server]__1rvdnoxnu0ddf._.js +0 -3
  894. package/server/.next/server/chunks/ssr/[root-of-the-server]__1t4thrxlv4zre._.js +0 -3
  895. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tco2ec6ha1k6._.js +0 -3
  896. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tcu4-eowz9vt._.js +0 -3
  897. package/server/.next/server/chunks/ssr/[root-of-the-server]__1tuftf7fags7x._.js +0 -5
  898. package/server/.next/server/chunks/ssr/[root-of-the-server]__1vyste6xyyu37._.js +0 -3
  899. package/server/.next/server/chunks/ssr/[root-of-the-server]__1yf4_oyl-3xp7._.js +0 -3
  900. package/server/.next/server/chunks/ssr/[root-of-the-server]__2195hg4329yfp._.js +0 -3
  901. package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +0 -4
  902. package/server/.next/server/chunks/ssr/_06kn13xh_13da._.js +0 -3
  903. package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +0 -4
  904. package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +0 -3
  905. package/server/.next/server/chunks/ssr/_0ad3y3l77xkxe._.js +0 -3
  906. package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +0 -4
  907. package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +0 -4
  908. package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +0 -4
  909. package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +0 -4
  910. package/server/.next/server/chunks/ssr/_0qcvpnwa1u3vr._.js +0 -3
  911. package/server/.next/server/chunks/ssr/_0qyupoc7u5hr7._.js +0 -3
  912. package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +0 -3
  913. package/server/.next/server/chunks/ssr/_0ufjz7kfd4jbd._.js +0 -3
  914. package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +0 -4
  915. package/server/.next/server/chunks/ssr/_0wzg8e30al7bu._.js +0 -3
  916. package/server/.next/server/chunks/ssr/_0ymtfa6vo-yz5._.js +0 -3
  917. package/server/.next/server/chunks/ssr/_0yn1xeumiigj0._.js +0 -3
  918. package/server/.next/server/chunks/ssr/_1-ior_ot6mgxg._.js +0 -3
  919. package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +0 -4
  920. package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +0 -4
  921. package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +0 -4
  922. package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +0 -4
  923. package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +0 -4
  924. package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +0 -4
  925. package/server/.next/server/chunks/ssr/_1e5zfwgdf0mm5._.js +0 -3
  926. package/server/.next/server/chunks/ssr/_1gvbcfoah__sl._.js +0 -3
  927. package/server/.next/server/chunks/ssr/_1h5tfqxzqd2tz._.js +0 -3
  928. package/server/.next/server/chunks/ssr/_1i77n2n-wb98v._.js +0 -4
  929. package/server/.next/server/chunks/ssr/_1k8rjvzlscs56._.js +0 -3
  930. package/server/.next/server/chunks/ssr/_1l-vlfiltmzu3._.js +0 -3
  931. package/server/.next/server/chunks/ssr/_1rf_mwfkk_9oa._.js +0 -3
  932. package/server/.next/server/chunks/ssr/_1uae0vl2c6fz7._.js +0 -3
  933. package/server/.next/server/chunks/ssr/_1y8wer5tpgiqw._.js +0 -3
  934. package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +0 -4
  935. package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +0 -4
  936. package/server/.next/server/chunks/ssr/_217qa04yo70zg._.js +0 -3
  937. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +0 -3
  938. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +0 -3
  939. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +0 -3
  940. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +0 -3
  941. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1zw_mdh2ep6vs.js +0 -3
  942. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_06a1fnrawxlh1.js +0 -3
  943. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +0 -3
  944. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +0 -3
  945. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_217-u-dmlzx6a.js +0 -3
  946. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +0 -3
  947. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_0ven9q46d3d7s.js +0 -3
  948. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +0 -3
  949. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +0 -3
  950. package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +0 -3
  951. package/server/.next/server/chunks/ssr/node_modules_1_u5afwqp6brs._.js +0 -3
  952. package/server/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js +0 -3
  953. package/server/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js +0 -3
  954. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-kg_ige9ehqj.js +0 -3
  955. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00k37tbaia8dh.js +0 -3
  956. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00z_p6szkga15.js +0 -3
  957. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_01-utr59mtfg1.js +0 -3
  958. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_055hw7kwif935.js +0 -3
  959. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06fg_efdkc3kx.js +0 -3
  960. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08f3d08smwt6_.js +0 -3
  961. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08lcfro9qovjn.js +0 -3
  962. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0c8wd69fns_0d.js +0 -3
  963. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0cha-3kg99u4h.js +0 -3
  964. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d_0he72lzkh9.js +0 -3
  965. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0f6chw8z5cuyg.js +0 -3
  966. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j9-_xhs21abp.js +0 -3
  967. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0kwpdjujljna-.js +0 -3
  968. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rer2akuum5r-.js +0 -3
  969. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0umt_achusjjb.js +0 -3
  970. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0un7wq602mt3n.js +0 -3
  971. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vrdl9n7guitd.js +0 -3
  972. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vse2cboy4cms.js +0 -3
  973. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0x7ey4_8b48_o.js +0 -3
  974. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0z8l8t55t65t_.js +0 -3
  975. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0zap6p0vuv-fp.js +0 -3
  976. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-m49cfu6a7gl.js +0 -3
  977. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-w3hswsbrppl.js +0 -3
  978. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1167zbjp4ys_a.js +0 -3
  979. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_129serqqq3xyq.js +0 -3
  980. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12en3pdvxu0dy.js +0 -3
  981. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1596hk9t3r1a5.js +0 -3
  982. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17us24ry0om-z.js +0 -3
  983. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_8xi22-aoxu1.js +0 -3
  984. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_l32aoya75_m.js +0 -3
  985. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ar0v26274uhj.js +0 -3
  986. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dkgfjoaf_1g3.js +0 -3
  987. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1eg14m09zdg__.js +0 -3
  988. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1h_y671y1la_8.js +0 -3
  989. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mkokmyyp47hd.js +0 -3
  990. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1msjiuu45famw.js +0 -3
  991. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mw7isdchouml.js +0 -3
  992. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1n4cotiug2a_r.js +0 -3
  993. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1njl24pr6dwrt.js +0 -3
  994. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o1_3bydb-3j5.js +0 -3
  995. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1pjor42_s9imf.js +0 -3
  996. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qta4yeufzpz7.js +0 -3
  997. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qxbl6k6dji0s.js +0 -3
  998. package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_21a3kf8buivxw.js +0 -3
  999. package/server/.next/server/chunks/ssr/src_0f_ip1ke7i9r7._.js +0 -3
  1000. package/server/.next/server/chunks/ssr/src_0ixeyy74fe5jy._.js +0 -3
  1001. package/server/.next/server/chunks/ssr/src_0jdurlhzhcg5x._.js +0 -3
  1002. package/server/.next/server/chunks/ssr/src_0ley8c3htc2q9._.js +0 -3
  1003. package/server/.next/server/chunks/ssr/src_0oagnv9_4qww7._.js +0 -3
  1004. package/server/.next/server/chunks/ssr/src_0p0fk07bj9gpq._.js +0 -3
  1005. package/server/.next/server/chunks/ssr/src_0ubtruqmercw2._.js +0 -3
  1006. package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +0 -3
  1007. package/server/.next/server/chunks/ssr/src_12sdm7skn8fr1._.js +0 -3
  1008. package/server/.next/server/chunks/ssr/src_16lx0qdi44evh._.js +0 -3
  1009. package/server/.next/server/chunks/ssr/src_17yq6_bqlwgvy._.js +0 -3
  1010. package/server/.next/server/chunks/ssr/src_1n-6pz04odixj._.js +0 -3
  1011. package/server/.next/server/chunks/ssr/src_1nse4o3frj33x._.js +0 -3
  1012. package/server/.next/server/chunks/ssr/src_app_(console)_08pmfte22v8vg._.js +0 -3
  1013. package/server/.next/server/chunks/ssr/src_app_(console)_1rx84pcbevbbk._.js +0 -3
  1014. package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.js +0 -3
  1015. package/server/.next/server/chunks/ssr/src_components_1yp2m9j9dnsv-._.js +0 -3
  1016. package/server/.next/server/chunks/ssr/src_components_ui_dropdown-menu_tsx_1xyz_k6bpdu_5._.js +0 -3
  1017. package/server/.next/server/chunks/ssr/src_lib_0-xd6p5793qdu._.js +0 -3
  1018. package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +0 -16
  1019. package/server/.next/server/chunks/ssr/src_lib_0qbcg988i_-ee._.js +0 -3
  1020. package/server/.next/server/chunks/ssr/src_lib_18e550s395xn5._.js +0 -3
  1021. package/server/.next/server/chunks/ssr/src_lib_1_5ea0kxdn6zt._.js +0 -3
  1022. package/server/.next/server/chunks/ssr/src_lib_collector_node-runtime_ts_0778fef3fi3zj._.js +0 -3
  1023. package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +0 -6
  1024. package/server/.next/static/chunks/02-edmd1oolf2.css +0 -3
  1025. package/server/.next/static/chunks/02e07gc948zdh.js +0 -1
  1026. package/server/.next/static/chunks/073u0a0mfexc8.js +0 -1
  1027. package/server/.next/static/chunks/09fx7h5vm68up.js +0 -1
  1028. package/server/.next/static/chunks/0ao7_ov9mlvqp.js +0 -1
  1029. package/server/.next/static/chunks/0cvmbpyjages7.js +0 -5
  1030. package/server/.next/static/chunks/0hnhf3barhk90.js +0 -1
  1031. package/server/.next/static/chunks/0id261ol_gl6f.js +0 -1
  1032. package/server/.next/static/chunks/0q2ogu5cn9q9p.js +0 -1
  1033. package/server/.next/static/chunks/0z_fqwq62_95p.js +0 -1
  1034. package/server/.next/static/chunks/12l7tr29-a97t.js +0 -1
  1035. package/server/.next/static/chunks/16d1ws92me6_q.js +0 -1
  1036. package/server/.next/static/chunks/1__8cm_-lydee.js +0 -1
  1037. package/server/.next/static/chunks/1hmur12m0hx3z.js +0 -1
  1038. package/server/.next/static/chunks/205s3z3_jvp5m.js +0 -1
  1039. package/server/.next/static/chunks/20cpkauaj8e6x.js +0 -7
  1040. package/server/.next/static/chunks/23scyaimkowfl.js +0 -1
  1041. package/server/.next/static/chunks/25meucm7i1e7b.js +0 -1
  1042. package/server/.next/static/chunks/2oy7awlquezq_.js +0 -1
  1043. package/server/.next/static/chunks/2pj8subq20y-_.js +0 -1
  1044. package/server/.next/static/chunks/2qcurt9u9shwc.js +0 -1
  1045. package/server/.next/static/chunks/2scf40c-_g_q1.js +0 -1
  1046. package/server/.next/static/chunks/2tnx5isef9ryw.js +0 -1
  1047. package/server/.next/static/chunks/2v_f39dz8sa3-.js +0 -1
  1048. package/server/.next/static/chunks/2whojv56qi3ke.js +0 -1
  1049. package/server/.next/static/chunks/2wlen-jacsbqv.js +0 -1
  1050. package/server/.next/static/chunks/36bqhxadlfbfn.js +0 -1
  1051. package/server/.next/static/chunks/372gugw4ldy47.js +0 -1
  1052. package/server/.next/static/chunks/39n_1gky-xh0a.js +0 -1
  1053. package/server/.next/static/chunks/3fv862m8cvcoe.js +0 -1
  1054. package/server/.next/static/chunks/3g73nar6-7bqk.js +0 -1
  1055. package/server/.next/static/chunks/3sg_npfod25zq.js +0 -1
  1056. package/server/.next/static/chunks/3vacue9vhoqag.js +0 -1
  1057. package/server/.next/static/chunks/3x8-w_p0n-gsd.js +0 -1
  1058. package/server/.next/static/chunks/3yljsdgzvrkdf.js +0 -1
  1059. package/server/.next/static/chunks/415ijq-anmr2o.js +0 -1
  1060. package/server/.next/static/chunks/43wm4_0-0-eej.js +0 -1
  1061. package/server/.next/static/chunks/44bizq7fli9cp.js +0 -1
  1062. /package/server/.next/static/{90CuiGzddaxNn9lvRkGlH → 2_t4xVgbum1rtVSQxAYYV}/_buildManifest.js +0 -0
  1063. /package/server/.next/static/{90CuiGzddaxNn9lvRkGlH → 2_t4xVgbum1rtVSQxAYYV}/_clientMiddlewareManifest.js +0 -0
  1064. /package/server/.next/static/{90CuiGzddaxNn9lvRkGlH → 2_t4xVgbum1rtVSQxAYYV}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[949663,912283,876808,747556,a=>{var b=a.i(927262),c=a.i(201516),d=a.i(273133),e=a.i(120213),f=a.i(84979),g=a.i(84877),h=a.i(679662);let i=/^v?(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function j(a,b){let c=i.exec(a.trim()),d=i.exec(b.trim());return!!c&&!!d&&c[1]===d[1]&&("0"!==c[1]||c[2]===d[2])&&(0,g.f)(b,a)>=0}let k=/^Watch(?:bell|post): update (?:\S+ (?:to|ke) \S+|\d+ vulnerable packages) in ((?:[A-Za-z0-9._-]+\/){0,3}[A-Za-z0-9._-]+) \(/,l=a=>k.exec(a)?.[1]??null;a.s(["M",0,a=>`Lockfile tertinggal — jalankan npm install (${a.slice(0,5).join(", ")}${a.length>5?`, +${a.length-5}`:""}).`,"a",0,function(a,b,c){if(!a.length)return{ok:!1,why:"nothing"};let d=a.filter(a=>c.includes(a.severity)&&!("moderate"===a.severity&&a.dev));if(!d.length)return{ok:!1,why:"severity"};for(let a of d){let c=b.get(a.package);if(!c||!j(c,a.to))return{ok:!1,why:"major"}}return{ok:!0,upgrades:d}},"m",0,function(a,b){if(!b)return{deps:a,stale:[]};let c=[...Object.entries(b.dependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.optionalDependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.devDependencies).map(([a,b])=>[a,b,!0])],d=[...a],e=[];for(let[a,b,f]of c){let c=(0,h.Y)(b);if(!c||!(0,h.C)(c))continue;let i=d.filter(b=>b.name===a);!i.length||i.some(a=>(0,g.f)(a.version,c)>=0)||((d=d.filter(b=>b.name!==a)).push({name:a,version:c,dev:i.every(a=>a.dev)&&f}),e.push(a))}return{deps:d,stale:e}},"D",0,function(a){let b=new Map;for(let c of a){if(!c.direct)continue;let a=b.get(c.package);(!a||0>(0,g.f)(c.installedVersion,a))&&b.set(c.package,c.installedVersion)}return b},"U",0,function(a,b,c=null){for(let d of b){if(l(d.title)!==c)continue;let b=function(a){if(a.packages?.length)return a.packages;let b=/^Watch(?:bell|post): update (\S+) (?:to|ke) /.exec(a.title);return b?[b[1]]:"all"}(d);if("all"===b||a.some(a=>b.includes(a)))return d}return null},"J",0,j],912283);let m=["next","eslint-config-next"],n={CRITICAL:"critical",HIGH:"high",MODERATE:"moderate",LOW:"low",UNKNOWN:"unknown"};function o(a,b){if(!a||!(0,h.C)(a))return null;let c=b.map(a=>a.fixed).filter(b=>!!b&&(0,h.C)(b)&&(0,g.f)(b,a)>0);if(!c.length)return null;let d=c.filter(b=>j(a,b));return(d.length?d:c).reduce((a,b)=>(0,g.f)(b,a)>0?b:a)}function p(a,b){let c=o(a,b),d=c?b.map(a=>a.fixed).filter(a=>!!a&&(0,h.C)(a)&&(0,g.f)(a,c)>0):[],e=d.reduce((a,b)=>null===a||(0,g.f)(b,a)>0?b:a,null),i=e?` (${1===d.length?"one fix needs":"some fixes need"} Next.js ${e.split(".")[0]})`:"";return`Next.js ${a??"(unknown version)"} has ${(0,f.q)(b.length)} (${(0,f.N)(b).toLowerCase()}), ${c?`fixed in ${c}${i}`:"no fix yet"}.`}a.s(["P",0,p,"p",0,function(a){if(!a||"vulnerable"!==a.status||!a.findings.length||!a.version)return null;let b=o(a.version,a.findings);if(!b)return null;let c=n[(0,f.N)(a.findings)],d=[...new Set(a.findings.map(a=>a.id))],e=[...new Set(a.findings.flatMap(a=>a.cve?[a.cve]:[]))];return{from:a.version,to:b,upgrades:[{package:"next",to:b,vulnIds:d,cves:e,severity:c},{package:"eslint-config-next",to:b,vulnIds:[],cves:[],severity:c,companionOf:"next"}],installed:new Map(m.map(b=>[b,a.version]))}},"F",0,function(a){let b=a.find(a=>"next"===a.package&&!a.companionOf);return!b||a.some(a=>"eslint-config-next"===a.package)?a:[...a,{package:"eslint-config-next",to:b.to,vulnIds:[],cves:[],severity:b.severity,companionOf:"next"}]}],876808);let q=a=>Math.round(a).toLocaleString("en-US"),r=(a,b)=>Math.floor((a.getTime()-b.getTime())/864e5),s=(a,b)=>`${a} ${b}${1===a?"":"s"}`,t=a=>{try{let b=new URL(a);return`${b.host}${b.pathname}`}catch{return a}},u=a=>{try{return new URL(a).host}catch{return a}},v=a=>{try{return new URL(a).pathname}catch{return"/"}},w="Down · ",x=(a,b,c)=>({rule:a,subject:b,status:"unknown",resourceId:null,accountId:null,title:b,message:"",provider:null,sampleAt:null,...c}),y=a=>"firestore"===a.provider?"firebase":"d1"===a.provider?"cloudflare":a.provider,z=new Set(["turso","upstash","d1"]),A={MonitorDown:(a,b)=>a.monitors.map(a=>{let d=x("MonitorDown",a.id,{resourceId:a.appId,title:`${a.appName} ${"heartbeat"===a.kind?a.url:v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt}),e=b??3;if("heartbeat"===a.kind){let b;return{...d,status:"err"===a.state?"firing":"ok"===a.state?"ok":"unknown",message:`${a.appName} \xb7 ${a.url}: ${b=a.lastError,b?.startsWith(w)?b.slice(w.length):"no ping in time"}.`}}return a.movedTo?{...d,status:"ok",message:`${u(a.url)} moved to ${a.movedTo}; MonitorDomainMoved takes over.`}:a.failStreak>=e?{...d,status:"firing",message:(0,c.H)(a)?`${t(a.url)} failed its check (${(0,c.H)(a)}) on ${e} consecutive checks.`:`${t(a.url)} returned ${a.lastStatus?`HTTP ${a.lastStatus}`:"no answer"} on ${e} consecutive checks.`}:{...d,status:0===a.failStreak&&a.lastCheckedAt?"ok":"unknown",message:`${t(a.url)} answers again.`}}),MonitorDomainMoved:a=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let b=x("MonitorDomainMoved",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel"});return a.movedTo?{...b,status:"firing",message:`${u(a.url)} is no longer a domain of ${a.appName}; production is on ${a.movedTo}.`}:{...b,status:"ok",message:`The monitor checks ${u(a.url)}, a domain of ${a.appName}.`}}),CollectorStale:(a,b)=>{let c=a.lastMinuteRunAt;return[x("CollectorStale","collector",{status:!c||a.now.getTime()-c.getTime()>(b??5)*6e4?"firing":"ok",title:"collector",message:c?`The last minute run finished ${q((a.now.getTime()-c.getTime())/6e4)} min ago.`:"The collector hasn't finished a run yet."})]},HighLatency:(a,b)=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let c=x("HighLatency",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt});if(a.checksLast10<5||null===a.p95Last10)return c;let d=b??1500;return{...c,status:a.p95Last10>d?"firing":"ok",message:`p95 ${q(a.p95Last10)} ms over the last 10 minutes (limit ${q(d)} ms).`}}),DeploymentFailed:a=>a.apps.map(a=>{let b=x("DeploymentFailed",a.id,{resourceId:a.id,title:a.name,provider:"vercel"}),c=a.latestProduction;return c?"error"===c.state?{...b,status:"firing",message:`Production deployment ${c.sha?c.sha.slice(0,7):"(no commit)"} failed.`}:{...b,status:"building"===c.state?"unknown":"ok"}:{...b,status:"ok"}}),DatabasePaused:a=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(a=>x("DatabasePaused",a.id,{resourceId:a.id,title:a.name,provider:"supabase",status:"unknown"===a.state?"unknown":"paused"===a.state?"firing":"ok",message:`Supabase project ${a.name} is paused.`})),CertExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=x("CertExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.tlsNotAfter)return d;let e=r(c.tlsNotAfter,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:`The TLS certificate of ${c.name} expires in ${s(e,"day")}.`}}),DomainExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=x("DomainExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.expiresAt)return d;let e=r(c.expiresAt,a.now);return{...d,status:e<(b??30)?"firing":"ok",message:`${c.name} expires in ${s(e,"day")}.`}}),StorageAlmostFull:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"!==a.provider).map(a=>{let c=x("StorageAlmostFull",a.id,{resourceId:a.id,title:a.name,provider:y(a)});if(null===a.sizeBytes||!a.sizeLimitBytes)return c;let d=a.sizeBytes/a.sizeLimitBytes*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} uses ${q(a.sizeBytes/1e6)} MB of ${q(a.sizeLimitBytes/1e6)} MB (${q(d)}%).`}}),NeonComputeHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"neon"===a.provider).map(a=>{let c=x("NeonComputeHigh",a.id,{resourceId:a.id,title:a.name,provider:"neon"});return null===a.cuHours?c:{...c,status:a.cuHours>(b??80)?"firing":"ok",message:`${a.name} used ${q(a.cuHours)} of ${q(a.cuLimit??100)} CU-hours this month.`}}),FirestoreQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"===a.provider).map(a=>{let c=x("FirestoreQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:"firebase"});if(a.quotaExhausted)return{...c,status:"firing",message:`${a.name} hit a Firestore quota (RESOURCE_EXHAUSTED).`};if(null===a.readsToday||!a.readsLimit)return!1===a.quotaExhausted?{...c,status:"ok"}:c;let d=a.readsToday/a.readsLimit*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} read ${q(a.readsToday)} of ${q(a.readsLimit)} documents today (${q(d)}%).`}}),AutoPauseRisk:(a,b)=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(c=>{let d=x("AutoPauseRisk",c.id,{resourceId:c.id,title:c.name,provider:"supabase"});if("paused"===c.state)return{...d,status:"ok"};if(!c.lastApiAt)return d;let e=Math.floor((a.now.getTime()-c.lastApiAt.getTime())/864e5);return{...d,status:e>=(b??4)?"firing":"ok",message:`No API traffic for ${s(e,"day")}. Supabase pauses free projects after about 7 days.`}}),DnsProxiedToVercel:a=>a.dns&&a.dns.map(a=>x("DnsProxiedToVercel",a.id,{resourceId:a.resourceId,title:a.name,provider:"cloudflare",status:a.proxied&&a.pointsToVercel?"firing":"ok",message:`${a.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`})),DbQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>z.has(a.provider)).map(a=>{let c=x("DbQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:y(a)});return null==a.quotaPct?c:{...c,status:a.quotaPct>(b??80)?"firing":"ok",message:`${a.name}: ${a.quotaLabel??"usage"} at ${q(a.quotaPct)}% of the free plan.`}}),ComputeHigh:(a,b)=>a.compute?a.compute.map(c=>{let e=x("ComputeHigh",c.id,{resourceId:c.id,title:c.name,provider:"supabase",sampleAt:c.latest?new Date(c.latest.at):null}),f=(0,d.B)(c.latest,(0,d.V)(b),a.now);return null===f?e:{...e,status:f.length?"firing":"ok",message:f.length?`${c.name}: ${f.join(", ")}.`:`${c.name} compute is back under the limits.`}}):null,CredentialExpiring:(a,b)=>a.accounts.map(c=>{let d=x("CredentialExpiring",c.id,{accountId:c.id,title:`${c.provider} \xb7 ${c.label}`,provider:c.provider});if("drive"===c.provider&&"error"===c.status&&c.lastError?.includes("invalid_grant"))return{...d,status:"firing",message:"Google Drive access was removed (invalid_grant). Reconnect it."};if(!c.expiresAt)return{...d,status:"ok"};let e=r(c.expiresAt,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:e<0?`The ${c.provider} credential ${c.label} has expired.`:`The ${c.provider} credential ${c.label} expires in ${s(e,"day")}.`}}),VulnerableDependency:a=>a.deps?a.deps.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=x("VulnerableDependency",b.appId,{resourceId:b.appId,title:c.name,provider:"github"});if(b.error)return[d];let f=(0,e.g)(b.vulns);return f?[{...d,status:"firing",message:(0,e.L)(b.vulns),..."critical"===f?{severity:"critical"}:{}}]:[{...d,status:"ok",message:`${c.name} has no moderate, high or critical dependency advisories.`}]}):null,FrameworkVulnerable:a=>a.frameworks?a.frameworks.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=x("FrameworkVulnerable",b.appId,{resourceId:b.appId,title:c.name});return"ok"===b.status?[{...d,status:"ok",message:`${c.name} runs Next.js ${b.version??"(unknown version)"} with no known advisories.`}]:"vulnerable"===b.status&&b.findings.length?[{...d,status:"firing",message:p(b.version,b.findings),..."CRITICAL"===(0,f.N)(b.findings)?{severity:"critical"}:{}}]:[d]}):null};a.s(["f",0,function(a,c,d){let e=[],f=new Set;for(let g of c){if(!g.enabled||d&&!d.includes(g.key)||!b._[g.key])continue;let c=A[g.key](a,g.threshold);c&&(f.add(g.key),e.push(...c))}return{observations:e,evaluated:f}}],949663);let B=["MonitorDown","HighLatency"],C=["telegram","discord","webhook","smtp"],D=a=>a.channels.some(a=>C.includes(a));function E(a,b){return b.collectorStale&&"CollectorStale"!==a.rule?"CollectorStale":a.resourceId&&B.includes(a.rule)?b.mutedApps.get(a.resourceId)??null:null}let F=(a,b)=>"critical"===b&&"warning"===a?"critical":a,G=(a,b)=>a.silencedUntilResolved||null!==a.silencedUntil&&a.silencedUntil.getTime()>b.getTime(),H=(a,b)=>`${a}|${b}`;a.s(["f",0,function(a,c,d,e,f){let g={open:[],touch:[],resolve:[]},h=new Map(e.map(a=>[a.key,a])),i=new Map(c.map(a=>[H(a.rule,a.subject),a])),j=new Set(a.map(a=>H(a.ruleKey,a.subject))),k=a=>g.resolve.push({id:a.id,pending:a.notifiedOpen?"resolve":null});for(let c of a){let a=h.get(c.ruleKey),e=i.get(H(c.ruleKey,c.subject));if(!a||!a.enabled){g.resolve.push({id:c.id,pending:null});continue}if(!d.has(c.ruleKey))continue;if(!e){g.resolve.push({id:c.id,pending:null});continue}if("unknown"===e.status)continue;let j=e.provider?f.incidents.get(e.provider)??null:null;if("firing"===e.status){let b=E(e,f),d=c.notifiedOpen&&null!==c.lastNotifiedAt&&f.now.getTime()-c.lastNotifiedAt.getTime()>=216e5,h={id:c.id,okStreak:0,lastSampleAt:e.sampleAt??c.lastSampleAt,lastSeenAt:f.now,message:e.message,causedBy:b,providerIncident:j},i=!c.notifiedOpen&&(!c.pendingSince||f.now.getTime()-c.pendingSince.getTime()>=216e5);(d||i)&&!G(c,f.now)&&!b&&null===c.pending&&D(a)&&(h.pending=d?"repeat":"open"),g.touch.push(h);continue}if(!b._[c.ruleKey].sampled||null===e.sampleAt){k(c);continue}if(!(null===c.lastSampleAt||e.sampleAt.getTime()>c.lastSampleAt.getTime()))continue;let l=c.okStreak+1;l>=2?k(c):g.touch.push({id:c.id,okStreak:l,lastSampleAt:e.sampleAt})}for(let a of c){if("firing"!==a.status||j.has(H(a.rule,a.subject))||f.maintenance.has(a.subject)||a.resourceId&&f.maintenance.has(a.resourceId))continue;let b=h.get(a.rule);if(!b)continue;let c=E(a,f);g.open.push({ruleKey:a.rule,subject:a.subject,resourceId:a.resourceId,accountId:a.accountId,severity:F(b.severity,a.severity),title:a.title,message:a.message,startedAt:f.now,lastSeenAt:f.now,lastSampleAt:a.sampleAt,causedBy:c,providerIncident:a.provider?f.incidents.get(a.provider)??null:null,pending:c||!D(b)?null:"open"})}return g}],747556)},708621,a=>{let b=["status","severity","rule","target","detail","cause","step","since","threshold"],c=["id","en"],d={en:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nNext step: {step}\nsince {since}",id:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nYang perlu kamu lakukan: {step}\nsejak {since}"},e=/\{([a-zA-Z_]+)\}/g,f=a=>a.replace(/\r\n?/g,"\n").replace(/[ \t]+$/gm,"").trim();function g(a){if(a.length>1e3)return`Keep it under ${1e3.toLocaleString("en-US")} characters.`;for(let[,c]of a.matchAll(e))if(!b.includes(c))return`{${c}} isn't a field. Use ${b.map(a=>`{${a}}`).join(", ")}.`;return null}a.s(["I",0,{en:"Test message: Watchbell's sentence about what it saw goes here.",id:"Pesan tes: di sini nanti kalimat Watchbell soal apa yang dilihatnya."},"z",0,"alerts.messageTemplates","i",0,c,"_",0,function(a){if(!a||"object"!=typeof a||Array.isArray(a))return{};let b={};for(let[d,e]of Object.entries(a)){if(!e||"object"!=typeof e)continue;let a={};for(let b of c){let c=e[b];"string"==typeof c&&c.trim()&&null===g(c)&&(a[b]=c)}Object.keys(a).length&&(b[d]=a)}return b},"l",0,function(a,b){return f(a).split("\n").flatMap(a=>{let c=[...a.matchAll(e)].map(a=>a[1]).filter(a=>Object.hasOwn(b,a));return c.length&&c.every(a=>!b[a].trim())?[]:[a.replace(e,(a,c)=>Object.hasOwn(b,c)?b[c]:a)]}).join("\n").replace(/\n{3,}/g,"\n\n").trim()},"F",0,function(a,b){let c="string"==typeof a?f(a):"";return c&&c!==d[b]?c:null},"m",0,g])},455317,71575,569057,930270,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(927262),h=a.i(949663),i=a.i(747556),j=a.i(708621),k=a.i(519051),l=a.i(160147),m=a.i(245710);function n(a,b){return"1h"===a?{silencedUntil:new Date(b.getTime()+36e5),silencedUntilResolved:!1}:{silencedUntil:null,silencedUntilResolved:!0}}a.s(["_",0,[["critical","Critical"],["warning","Warning"],["info","Info"]],"O",0,function(a,b){return a.silencedUntilResolved?{state:"off",text:"Silenced until resolved"}:a.silencedUntil&&a.silencedUntil.getTime()>b.getTime()?{state:"off",text:`Silenced until ${(0,m.U)(a.silencedUntil)}`}:"open"===a.pending||"repeat"===a.pending?{state:"build",text:"Sending…"}:a.causedBy&&!a.notifiedOpen?{state:"off",text:"Muted"}:a.lastNotifiedAt?{state:"ok",text:`Sent ${(0,m.U)(a.lastNotifiedAt)}`}:{state:"off",text:"Digest only"}},"G",0,function(a){return a.enabled?a.firing?{state:"err",text:`Firing \xb7 ${a.firing}`}:a.hasData?{state:"off",text:"Inactive"}:{state:"unknown",text:"No data yet"}:{state:"off",text:"Disabled"}},"A",0,n,"M",0,function(a,b){let c=Math.max(1,Math.round((b.getTime()-a.getTime())/6e4));if(c<60)return`${c} min`;let d=Math.floor(c/60);return d<24?`${d} h ${c%60} min`:`${Math.floor(d/24)} d ${d%24} h`}],71575);var o=a.i(639271),p=a.i(656298),q=a.i(688275),r=a.i(893893),s=a.i(672319),t=a.i(188546),u=a.i(233711);async function v(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","qstash","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function w(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}a.s(["D",0,v,"d",0,w],569057);var x=a.i(367247),y=a.i(436357),z=a.i(912283),A=a.i(358179),B=a.i(492665),C=a.i(683439),D=a.i(679662),E=a.i(852539),F=a.i(33135),G=a.i(533957);let H="OpsConsole-Deps/1.0 (+https://watchbell.west-solutions.web.id)";async function I(a,b,c,d){let e=d.deadline-Date.now();if(e<500)return{ok:!1,error:"No time left for OSV.dev"};let f=AbortSignal.timeout(e);return K(a,{method:"POST",headers:{"content-type":"application/json","user-agent":H},body:JSON.stringify(b),signal:f},c,f,d)}async function J(a,b,c){let d=c.deadline-Date.now();if(d<500)return{ok:!1,error:"No time left for OSV.dev"};let e=AbortSignal.timeout(Math.min(d,8e3));return K(a,{method:"GET",headers:{"user-agent":H},signal:e},b,e,c)}async function K(a,b,c,d,e){let f;try{f=await (e.fetch??fetch)(a,{...b,redirect:"error",cache:"no-store"})}catch(a){return{ok:!1,error:(0,G.t)(a)?"OSV.dev didn't answer in time":"Couldn't reach OSV.dev"}}if(!f.ok)return await f.body?.cancel().catch(()=>void 0),{ok:!1,error:`OSV.dev answered HTTP ${f.status}`};try{let{bytes:a,truncated:b}=await (0,F.z)(f,c,(0,F.X)(d));if(b)return{ok:!1,error:"OSV.dev sent too large an answer"};return{ok:!0,body:JSON.parse(new TextDecoder().decode(a))}}catch(a){return{ok:!1,error:(0,G.t)(a)?"OSV.dev didn't answer in time":"OSV.dev sent an answer we couldn't read"}}}async function L(a,b){let c=[];for(let d of(0,E.f)(a)){let a=await I(E.n,d,4194304,b);if(!a.ok)return a;let e=(0,E.j)(a.body,d.queries.length);if(!e)return{ok:!1,error:"OSV.dev sent an answer we couldn't read"};c.push(...e)}return{ok:!0,ids:c}}async function M(a,b){let c=[...new Set(a)].filter(E.G);if(c.length>300)return{ok:!1,error:`Too many advisories to read in one scan (${c.length})`};let d=new Map,e=null;for(let a=0;a<c.length&&!e;a+=8)await Promise.all(c.slice(a,a+8).map(async a=>{let c=await J(`${E.W}${encodeURIComponent(a)}`,1048576,b),f=c.ok?(0,E.O)(c.body):null;f?d.set(a,f):e??=c.ok?"OSV.dev sent an advisory we couldn't read":c.error}));return e?{ok:!1,error:e}:{ok:!0,map:d}}var N=a.i(521050),O=a.i(120213),P=a.i(689963),Q=a.i(26972),R=a.i(427221),S=a.i(811365),T=a.i(760417);let U=P.z.array(Q.z.object({name:R.z.string(),type:R.z.string(),sha:R.z.string(),size:S.z.number().optional()}));async function V(a,b,c,d={},e=null){if(!(0,T.M)(b)||!(0,T.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or ref."};if(null!==e&&(0,N.Q)(e)!==e)return{ok:!1,kind:"format",error:"That isn't a folder in a repository."};let f=e?e.split("/").map(encodeURIComponent).join("/"):"",g=await (0,T.j)(`/repos/${(0,T.f)(b)}/contents/${f}?ref=${encodeURIComponent(c)}`,a,d);if(!g.ok)return g;let h=U.safeParse(g.data);return h.success?{ok:!0,data:h.data.filter(a=>"file"===a.type&&/^[0-9a-f]{40}$/.test(a.sha)).map(a=>({name:a.name,sha:a.sha,size:a.size??0}))}:{ok:!1,kind:"format",error:"GitHub answered the file list in a format the console doesn't recognise."}}async function W(a,b,c,d={}){if(!(0,T.M)(b)||!(0,T.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or branch."};let e=await (0,T.j)(`/repos/${(0,T.f)(b)}/git/ref/heads/${c.split("/").map(encodeURIComponent).join("/")}`,a,d);return e.ok?{ok:!0,data:!0}:"missing"===e.kind?{ok:!0,data:!1}:e}function X(a,b,c,d,e,f={}){return(0,T.V)(a,b,c,d,e,f)}async function Y(a,b,c={}){if(!(0,T.M)(b))return{ok:!1,kind:"format",error:"That isn't a repository name."};let d=await (0,T.j)(`/repos/${(0,T.f)(b)}/dependabot/alerts?state=open&ecosystem=npm&per_page=100`,a,c);if(!d.ok)return"scope"===d.kind||"missing"===d.kind?{ok:!0,data:{denied:!0}}:d;let e=(0,O.E)(d.data);return e?{ok:!0,data:{alerts:e}}:{ok:!1,kind:"format",error:"GitHub answered the Dependabot alerts in a format the console doesn't recognise."}}var Z=a.i(751263);async function $(){let[a]=await (0,e.f)().select().from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).orderBy((0,c.M)(f.accounts.createdAt)).limit(1);if(!a)return{error:"GitHub isn't connected."};let d=(0,A.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,B.f)().OPS_ENCRYPTION_KEY);return d?{token:d,accountId:a.id}:{error:"Can't read the stored GitHub credential. Replace it on Connections."}}async function _(){let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,"deps.scanAll")).limit(1);return a?.value===!0}let aa=a=>{let b=(0,Z.w)(a);return{dir:(0,N.Q)((a??{}).rootDirectory),unsupported:(0,N.l)((a??{}).rootDirectoryUnsupported),branch:(0,Z.i)((0,Z.V)(a),null),...b?{fallback:b}:{}}};async function ab(a){let c=[...new Set(a.filter(C.f))],d=new Map;if(!c.length)return d;let g=await (0,e.f)().select({repoId:f.appRepos.repoId,name:f.resources.name,monitored:f.resources.monitored,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.b)((0,b.y)(f.appRepos.repoId,c),(0,b.M)(f.resources.goneAt))).limit(1e3);for(let a of(g.sort((a,b)=>Number(!!b.monitored)-Number(!!a.monitored)||(a.name<b.name?-1:+(a.name>b.name))),g))d.has(a.repoId)||d.set(a.repoId,aa(a.meta));return d}async function ac(){let a={id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,scannedAt:f.dependencyScans.scannedAt},c=(0,b.b)((0,b.M)(f.githubRepos.goneAt),(0,b.u)(f.githubRepos.archived,!1)),d=await _()?await (0,e.f)().select(a).from(f.githubRepos).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500):await (0,e.f)().selectDistinct(a).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500),g=d.length?await ab(d.map(a=>a.id)):new Map;return(0,O.M)(d.map(a=>{let b=g.get(a.id);return{...a,rootDir:b?.dir??null,rootDirUnsupported:b?.unsupported??null,prodBranch:b?.branch??null,...b?.fallback?{prodFallback:b.fallback}:{}}}))}let ad=(a,b)=>a.length>b?`${a.slice(0,b-1)}…`:a;async function ae(a,b){let c=new Date;await (0,e.f)().insert(f.dependencyScans).values({repoId:a,...b,updatedAt:c}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{...b,updatedAt:c}})}async function af(a){return(0,e.f)().select({id:f.dependencyVulns.id,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,source:f.dependencyVulns.source}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,a),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3)}function ag(a,b){for(let c of D.a){let d=a.find(a=>a.name===c.path);if(d)return{path:(0,N.H)(b,c.path),kind:c.kind,sha:d.sha}}return null}async function ah(a,c,d,g={}){let h=()=>({...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),1e4))}),i=async a=>(await ae(c.id,{error:ad(a,300),scannedAt:new Date}).catch(()=>void 0),{status:"failed",error:a}),j=c.defaultBranch??"HEAD",k=null;for(let b of[c.prodBranch,c.prodFallback]){if(b&&b===c.defaultBranch)break;let d=(0,Z.i)(b,c.defaultBranch);if(!d)continue;let e=await W(a,c.fullName,d,h());if(!e.ok)return i(e.error);if(e.data){k=d;break}}let l=null!==k;k&&(j=k);let m=l?`Scanned ${k}, the branch production is built from.`:null,n=(0,N.Q)(c.rootDir),o=n?null:(0,N.l)(c.rootDirUnsupported),p=o?`The Vercel Root Directory "${o}" couldn't be used (Watchbell reads plain folder names, at most 4 deep); scanned the repository root.`:null,q=await V(a,c.fullName,j,h(),n);if(!q.ok)return i(n&&"missing"===q.kind?`The folder ${(0,N.x)(n)} isn't in ${c.fullName} on ${j}.`:q.error);let r=ag(q.data,n),s=q.data.find(a=>"package.json"===a.name)??null,t=!1,u=null;if(n&&s&&!r){let b=await V(a,c.fullName,j,h());if(!b.ok)return i(b.error);t=null!==(r=ag(u=b.data,null))}let v=r?r.sha:s?`pkg:${s.sha}`:null,w=v&&n?`${n}:${v}${t&&s?`+${s.sha}`:""}`:v&&o?`odd:${v}`:v,x=w&&l?`br:${k}:${w}`:w,[y]=await (0,e.f)().select().from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,c.id)).limit(1),A=new Date;if(!(0,O.U)(y??null,x,A,g.force))return{status:"unchanged"};if(!x){let a=await af(c.id);return a.length&&await (0,e.f)().update(f.dependencyVulns).set({resolvedAt:A}).where((0,b.y)(f.dependencyVulns.id,a.map(a=>a.id))),await ae(c.id,{lockfilePath:null,lockfileSha:null,packageCount:0,scannedAt:A,queriedAt:A,error:null,note:ad([m,p,`No package.json or lockfile ${n?"in":"at"} ${(0,N.x)(n)}.`].filter(Boolean).join(" "),300)}),{status:"scanned",vulns:0,packages:0,note:"no package.json"}}let B=(0,N.H)(n,"package.json"),C=s?await X(a,c.fullName,B,j,T.$,h()):null;if(C&&!C.ok)return i(C.error);let F=C?.ok&&C.data?(0,D.b)(C.data):null,G=null,H="package-json",I=t&&r?`Scanned ${(0,N.x)(n)} with the repository root's ${r.path} (workspaces).`:null;if(r){if(2e3>d-Date.now())return i("Time budget used before the lockfile was read; the next run tries again.");let b=await X(a,c.fullName,r.path,j,0xf00000,{...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),2e4))});if(!b.ok)return i(b.error);let e=!0;if(t&&n&&b.data&&!(0,N.p)(r.kind,b.data,n)){let b=u?.some(a=>"package.json"===a.name)?await X(a,c.fullName,"package.json",j,T.$,h()):null;if(b&&!b.ok)return i(b.error);e=(0,N.F)(b?.data??null,n)}e?(G=b.data?(0,D.D)(r.kind,b.data):null,H=r.kind,G||(I=[I,`${r.path} couldn't be read; the versions come from package.json ranges (approximate).`].filter(Boolean).join(" "))):(I=`The repository root's ${r.path} isn't a workspace that includes ${n}, so the versions come from ${B} ranges (approximate).`,r=null)}if(G){let a=(0,z.m)(G,F);G=a.deps,a.stale.length&&(I=[I,(0,z.M)(a.stale)].filter(Boolean).join(" "))}else G=F?(0,D.e)(F):[],H="package-json",I??=r?null:"No lockfile: the versions come from package.json ranges (approximate).";let J=await af(c.id),K=[];if(G.length){let a=await L(G,{fetch:g.fetch,deadline:d});if(!a.ok)return i(a.error);let b=(0,O.A)(J,!0===g.force),c=await M((0,O.z)(G,a.ids,b),{fetch:g.fetch,deadline:d});if(!c.ok)return i(c.error);K=(0,E.i)(G,a.ids,c.map,b)}if(d-Date.now()>1500){let b=await Y(a,c.fullName,h());b.ok&&"alerts"in b.data?K=(0,O.R)(K,b.data.alerts,G):b.ok&&(I=[I,"Dependabot alerts aren't readable with this token (optional: Dependabot alerts: Read)."].filter(Boolean).join(" "))}let P=(0,O.h)(J,K,(0,D.K)(F));I=[m,p,I].filter(Boolean).join(" ")||null;let Q=new Date;return await (0,e.f)().transaction(async a=>{for(let d of(P.insert.length&&await a.insert(f.dependencyVulns).values(P.insert.map(a=>({repoId:c.id,package:a.package,installedVersion:a.installedVersion,vulnId:a.vulnId,aliases:a.aliases,severity:a.severity,fixedVersion:a.fixedVersion,summary:a.summary,direct:a.direct,dev:a.dev,source:a.source,firstSeenAt:Q,lastSeenAt:Q}))).onConflictDoNothing(),P.update))await a.update(f.dependencyVulns).set({severity:d.severity,fixedVersion:d.fixedVersion,summary:d.summary,aliases:d.aliases,dev:d.dev,direct:d.direct,lastSeenAt:Q}).where((0,b.u)(f.dependencyVulns.id,d.id));P.resolve.length&&await a.update(f.dependencyVulns).set({resolvedAt:Q}).where((0,b.b)((0,b.y)(f.dependencyVulns.id,P.resolve),(0,b.M)(f.dependencyVulns.resolvedAt))),await a.insert(f.dependencyScans).values({repoId:c.id,lockfilePath:r?.path??(s?B:null),lockfileSha:x,packageCount:G.length,scannedAt:Q,queriedAt:Q,error:null,note:I?ad(I,300):null,updatedAt:Q}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{lockfilePath:r?.path??(s?B:null),lockfileSha:x,packageCount:G.length,scannedAt:Q,queriedAt:Q,error:null,note:I?ad(I,300):null,updatedAt:Q}})}),{status:"scanned",vulns:P.insert.length+P.update.length,packages:G.length,note:"package-json"===H?I:null}}async function ai(a,c={}){var d,g;let h,i,j,k,l=await $();if("error"in l)return{error:l.error};let{first:m,only:n,skip:o,...p}=c,q=(d=await ac(),h=(g={first:m,only:n,skip:o}).only?new Set(g.only):null,i=new Set(g.skip??[]),j=(h?d.filter(a=>h.has(a.id)):d).filter(a=>!i.has(a.id)),k=new Set(g.first??[]),[...j.filter(a=>k.has(a.id)),...j.filter(a=>!k.has(a.id))]),r={scanned:0,unchanged:0,failed:[],left:0,done:[],listed:q.map(a=>a.id)};for(let[b,c]of q.entries()){if(a-Date.now()<4e3){r.left=q.length-b;break}r.done.push(c.id);try{let b=await ah(l.token,c,a,p);"scanned"===b.status?r.scanned++:"unchanged"===b.status?r.unchanged++:r.failed.push(`${c.fullName}: ${b.error}`)}catch(a){r.failed.push(`${c.fullName}: ${a instanceof Error?a.name:"error"}`)}}return await (0,e.f)().delete(f.dependencyVulns).where((0,b.b)((0,b.E)(f.dependencyVulns.resolvedAt),(0,b.S)(f.dependencyVulns.resolvedAt,new Date(Date.now()-7776e6)))).catch(()=>void 0),r}let aj=async()=>(await (0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).limit(1)).length>0;async function ak(a,c,d={}){let g,h,i,{marked:j,onlyMarked:k}=c;if(!await aj())return{problem:null,settled:[...j],done:[],complete:!0};let l=j.filter(C.f),m=l.length?await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,l)).limit(5*l.length):[],n=[...new Set(m.map(a=>a.repoId))],o=a=>m.filter(b=>b.appId===a).map(a=>a.repoId),p=j.filter(a=>!o(a).length);if(k&&!n.length)return{problem:null,settled:[...j],done:[],complete:!0};if(a-Date.now()<4e3)return{problem:null,settled:p,done:[],complete:!1};let q=(c.skip??[]).filter(a=>!n.includes(a)),r=await ai(a,{...d,first:n,...k?{only:n}:{skip:q}});if("error"in r){let a;return{problem:(a=r.error,/didn't answer in time|no time left|time budget|rate limit/i.test(a))?null:r.error,settled:[...j],done:[],complete:!0}}let s=new Set([...r.done,...n.filter(a=>!r.listed.includes(a))]);return{problem:(g=r.failed.filter(a=>!/didn't answer in time|no time left|time budget|rate limit/i.test(a)),(h=r.failed.length-g.length+(r.left??0))&&console.info(`deps: ${h} repositor${1===h?"y":"ies"} wait for the next run`),i=g.slice(0,3),g.length>3&&i.push(`+${g.length-3} more`),i.length?i.join("; "):null),settled:j.filter(a=>o(a).every(a=>s.has(a))),done:r.done,complete:0===r.left}}async function al(a){let d={repo:null,scan:null,vulns:[],writeConnected:!1};if(!(0,C.f)(a))return d;let[g]=await (0,e.f)().select({id:f.githubRepos.id,fullName:f.githubRepos.fullName}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return d;let[[h],i,[j]]=await Promise.all([(0,e.f)().select({scannedAt:f.dependencyScans.scannedAt,lockfilePath:f.dependencyScans.lockfilePath,packageCount:f.dependencyScans.packageCount,error:f.dependencyScans.error,note:f.dependencyScans.note}).from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,g.id)).limit(1),(0,e.f)().select({package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,firstSeenAt:f.dependencyVulns.firstSeenAt}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3),(0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github_write")).limit(1)]);i.sort((a,b)=>(0,O.t)(a.severity)-(0,O.t)(b.severity)||(a.package<b.package?-1:+(a.package>b.package))||(a.vulnId<b.vulnId?-1:1));let k=await (0,e.f)().select({number:f.dependencyPrs.number,stage:f.dependencyPrs.stage,stageText:f.dependencyPrs.stageText,openedAt:f.dependencyPrs.openedAt}).from(f.dependencyPrs).where((0,b.b)((0,b.u)(f.dependencyPrs.repoId,g.id),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)))).orderBy((0,c.A)(f.dependencyPrs.openedAt)).limit(5).catch(()=>[]);return{repo:g,scan:h??null,vulns:i,writeConnected:!!j,prs:(k??[]).map(a=>({...a,fullName:g.fullName}))}}async function am(a,c={}){if(!(0,C.f)(a))return{ok:!1,error:"That app no longer exists."};let[g]=await (0,e.f)().select({app:f.resources.name,id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,goneAt:f.githubRepos.goneAt,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return{ok:!1,error:"Link a repository first."};if(g.goneAt)return{ok:!1,error:"That repository is no longer shared with the GitHub token."};let h=await $();if("error"in h)return{ok:!1,error:h.error};let i=aa(g.meta),j=await ah(h.token,{id:g.id,fullName:g.fullName,defaultBranch:g.defaultBranch,scannedAt:null,rootDir:i.dir,rootDirUnsupported:i.unsupported,prodBranch:i.branch,prodFallback:i.fallback??null},Date.now()+4e4,{...c,force:!0});if("failed"===j.status)return{ok:!1,error:`The scan failed: ${j.error}`};let[k]=await (0,e.f)().select({n:d.B`count(*)::int`}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))),l=k?.n??0;return{ok:!0,app:g.app,repo:g.fullName,vulns:l,message:l?`${l} known vulnerabilit${1===l?"y":"ies"} in ${j.packages??0} packages.`:`No known vulnerabilities in ${j.packages??0} packages.`}}async function an(a){let c=a.filter(C.f);if(!c.length)return[];let d=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId,error:f.dependencyScans.error}).from(f.appRepos).innerJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.appRepos.repoId)).where((0,b.b)((0,b.y)(f.appRepos.appId,c),(0,b.E)(f.dependencyScans.scannedAt)));if(!d.length)return[];let g=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,severity:f.dependencyVulns.severity,summary:f.dependencyVulns.summary,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(d.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(1e4);return d.map(a=>({appId:a.appId,repoId:a.repoId,error:a.error,vulns:g.filter(b=>b.repoId===a.repoId).map(a=>({package:a.package,installedVersion:a.installedVersion,fixedVersion:a.fixedVersion,severity:a.severity,summary:a.summary,dev:a.dev,direct:a.direct}))}))}async function ao(a,c=new Set){let g=a.filter(C.f),h=new Map;if(!g.length)return h;let i=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,g));if(!i.length)return h;let j=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,vulnId:f.dependencyVulns.vulnId,aliases:f.dependencyVulns.aliases,severity:f.dependencyVulns.severity,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(i.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt),(0,b.u)(f.dependencyVulns.direct,!0),(0,b.E)(f.dependencyVulns.fixedVersion))).limit(2e3),k=j.some(a=>"next"===a.package)?new Set((await (0,e.f)().selectDistinct({appId:f.dependencyPrs.appId}).from(f.dependencyPrs).where((0,b.b)((0,b.y)(f.dependencyPrs.appId,g),(0,b.$)(f.dependencyPrs.stage,["merged","closed"]),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)),d.B`${f.dependencyPrs.packages} @> '["next"]'::jsonb`)).limit(g.length)).map(a=>a.appId)):new Set;for(let a of i){let b=c.has(a.appId)||k.has(a.appId);(0,O.B)(j.filter(c=>c.repoId===a.repoId&&!(b&&"next"===c.package))).length&&h.set(a.appId,a.repoId)}return h}a.s(["o",0,12e3,"d",0,4e3,"j",0,al,"O",0,ak,"C",0,ao,"a",0,an,"h",0,am],930270);var ap=a.i(242605);async function aq(){return(0,e.f)().select({appId:f.links.fromResourceId,dbId:f.links.toResourceId}).from(f.links).where((0,b.u)(f.links.kind,"uses_db")).limit(500)}async function ar(a){let g=(0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt)),[h,i,j,k,l]=await Promise.all([w(),v(),(0,e.f)().select({m:f.monitors,appName:f.resources.name,appMeta:f.resources.meta}).from(f.monitors).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(g,(0,b.u)(f.monitors.paused,!1),(0,b.u)(f.monitors.ownerPaused,!1))),(0,e.f)().select({id:f.resources.id,name:f.resources.name,meta:f.resources.meta}).from(f.resources).where((0,b.b)(g,(0,b.u)(f.resources.kind,"app"))),(0,e.f)().select({id:f.accounts.id,provider:f.accounts.provider,label:f.accounts.label,expiresAt:f.accounts.expiresAt,status:f.accounts.status,lastError:f.accounts.lastError}).from(f.accounts)]),m=j.map(a=>a.m.id),n=m.length?await (0,e.f)().select({id:f.checks.monitorId,n:d.B`count(*)::int`,p95:d.B`percentile_cont(0.95) within group (order by ${f.checks.latencyMs})::float8`}).from(f.checks).where((0,b.b)((0,b.y)(f.checks.monitorId,m),(0,b.B)(f.checks.at,new Date(a.getTime()-6e5)),(0,b.u)(f.checks.inMaintenance,!1))).groupBy(f.checks.monitorId):[],z=k.map(a=>a.id),A=z.length?await (0,e.f)().selectDistinctOn([f.deployments.resourceId],{appId:f.deployments.resourceId,state:f.deployments.state,sha:f.deployments.commitSha,createdAt:f.deployments.createdAtProvider}).from(f.deployments).where((0,b.b)((0,b.y)(f.deployments.resourceId,z),(0,b.u)(f.deployments.target,"production"))).orderBy(f.deployments.resourceId,(0,c.A)(f.deployments.createdAtProvider)):[],B=await (0,e.f)().select({id:f.resources.id,name:f.resources.name,kind:f.resources.kind,state:f.snapshots.state,data:f.snapshots.data}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)(g,(0,b.y)(f.resources.kind,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"]))),C=a=>B.filter(b=>b.kind===a),D=B.filter(a=>["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"].includes(a.kind)),E=C("zone"),F=C("domain"),G=await aq(),H=await (0,x.Y)().catch(()=>null),I=z.length?await an(z).catch(()=>null):null,J=z.length?await (0,ap.F)(z).catch(()=>null):null;return{now:a,lastMinuteRunAt:h,lastAnyRunAt:i,monitors:j.map(({m:a,appName:b,appMeta:c})=>{let d=n.find(b=>b.id===a.id),e="heartbeat"===a.kind;return{id:a.id,appId:a.resourceId,appName:b,url:e?a.name??"heartbeat":a.url,kind:e?"heartbeat":"http",state:a.state,failStreak:a.failStreak,lastStatus:a.lastStatus,lastError:a.lastError,lastCheckedAt:a.lastCheckedAt,p95Last10:d?.p95??null,checksLast10:d?.n??0,movedTo:e?null:(0,y.u)(a.url,{name:b,meta:c},k.filter(b=>b.id!==a.resourceId),{lastError:a.lastError})?.to??null}}),apps:k.map(a=>{let b=A.find(b=>b.appId===a.id);return{id:a.id,name:a.name,latestProduction:b?{state:b.state,sha:b.sha,createdAt:b.createdAt}:null}}),accounts:l,dbs:D.length?D.map(b=>(function(a,b){let c={id:a.id,name:a.name,state:a.state,sizeBytes:null,sizeLimitBytes:null,lastApiAt:null,cuHours:null,cuLimit:null,readsToday:null,readsLimit:null,quotaExhausted:null};if("supabase_project"===a.kind){let b=(0,r.k)(r.B,a.data),d=(0,u.Z)(b.lastTrafficAt),e=(0,u.Z)(b.trafficAt),f=d??(e&&!b.trafficError?new Date(e.getTime()-6048e5):null);return{...c,provider:"supabase",sizeBytes:b.sizeBytes??null,sizeLimitBytes:s.R,lastApiAt:f}}if("neon_project"===a.kind){let b=(0,r.k)(r.s,a.data),d=(b.branches??[]).map(a=>a.logicalSize).filter(a=>"number"==typeof a);return{...c,provider:"neon",cuHours:null==b.computeSeconds?null:b.computeSeconds/3600,cuLimit:q.a.cuHours,sizeBytes:d.length?d.reduce((a,b)=>a+b,0):null,sizeLimitBytes:q.a.storageBytes}}if("firestore"===a.kind){let d=(0,r.k)(r.w,a.data),e=(0,u.Z)(d.opsAt),f=null!=d.reads&&e&&e.getTime()>=(0,p.a)(b).getTime()?d.reads:null,g=null!=d.latencyMs||null!=d.pingError;return{...c,provider:"firestore",readsToday:f,readsLimit:p.T.reads,quotaExhausted:g?"RESOURCE_EXHAUSTED"===d.pingReason:null}}if("turso_database"===a.kind){let d=(0,r.k)(r.N,a.data),e=(0,o.u)((0,o.G)(d,b));return{...c,provider:"turso",sizeBytes:d.orgStorageBytes??null,sizeLimitBytes:o.g.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("upstash_redis"===a.kind){let d=(0,r.k)(r.e,a.data),e=(0,o.u)((0,o.$)(d,b));return{...c,provider:"upstash",sizeBytes:d.storageBytes??null,sizeLimitBytes:o.W.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("d1_database"===a.kind){let d=(0,r.k)(r.x,a.data),e=(0,o.u)((0,o.I)(d,b));return{...c,provider:"d1",sizeBytes:d.sizeBytes??null,sizeLimitBytes:o.M.dbBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}return null})(b,a)).filter(a=>null!==a):null,domains:E.length||F.length?[...E.map(a=>({id:a.id,name:a.name,tlsNotAfter:null,expiresAt:(0,u.Z)((0,t.q)(a.data).rdap?.expiresAt)})),...F.map(a=>({id:a.id,name:a.name,tlsNotAfter:(0,u.Z)((0,t.q)(a.data).tls?.notAfter),expiresAt:null}))]:null,dns:function(a,b){let c=a.filter(a=>Array.isArray(a.data.records));if(!c.length)return null;let d=a.map(a=>a.name),e=[];for(let a of c){let c=b.filter(b=>(0,u.J)(b.name,d)===a.name.toLowerCase().replace(/\.$/,"")),f=[...new Set(c.flatMap(a=>(0,t.q)(a.data).vercel?.recommendedIps??[]))];for(let b of(0,t.q)(a.data).records){if(!(0,u.l)(b,f))continue;let d=b.name.toLowerCase().replace(/\.$/,""),g=c.find(a=>a.name.toLowerCase().replace(/\.$/,"")===d);e.push({id:`${a.id}:${b.id}`,resourceId:g?.id??a.id,name:b.name,proxied:b.proxied,pointsToVercel:!0})}}return e}(E,F),links:G,compute:H,deps:I&&I.length?I:null,frameworks:J&&J.length?J:null}}var as=a.i(714530),at=a.i(396667);let au={vercel:"Vercel",supabase:"Supabase",neon:"Neon",cloudflare:"Cloudflare",firebase:"Firebase",gcp:"Google Cloud"};async function av(){return(await (0,e.f)().select().from(f.alertRules)).filter(a=>(0,g.h)(a.key)).map(a=>({key:a.key,severity:a.severity,threshold:a.threshold,enabled:a.enabled,channels:a.channels}))}async function aw(a,c={}){let[d,j,m,n,o,p]=await Promise.all([ar(a),av(),(0,e.f)().select().from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)),(0,e.f)().select({provider:f.providerStatus.provider,state:f.providerStatus.state}).from(f.providerStatus),(0,as.w)(),(0,at.I)()]),q=new Map(d.accounts.map(a=>[a.id,a.provider])),r=m.filter(a=>!(0,l.O)(p,a.ruleKey,a.accountId?q.get(a.accountId):null)),s=(0,h.f)(d,j,c.only),t=s.evaluated,u=s.observations.filter(a=>!(0,l.O)(p,a.rule,a.provider)),v=j.find(a=>"CollectorStale"===a.key),w=void 0===d.lastAnyRunAt?d.lastMinuteRunAt:d.lastAnyRunAt,x=!!v?.enabled&&(!w||a.getTime()-w.getTime()>(v.threshold??5)*6e4),y=new Map((d.dbs??[]).filter(a=>"paused"===a.state).map(a=>[a.id,a.name])),z=new Map(d.links.filter(a=>y.has(a.dbId)).map(a=>[a.appId,`DatabasePaused \xb7 ${y.get(a.dbId)}`])),A=new Map(n.filter(a=>"warn"===a.state||"err"===a.state).map(a=>["gcp"===a.provider?"firebase":a.provider,au[a.provider]??a.provider])),B=(0,k.u)(o,d.monitors.map(a=>({id:a.id,appId:a.appId})),a,d.apps.map(a=>a.id)),C=r.filter(a=>(0,g.h)(a.ruleKey)).map(a=>({id:a.id,ruleKey:a.ruleKey,subject:a.subject,okStreak:a.okStreak,lastSampleAt:a.lastSampleAt,silencedUntil:a.silencedUntil,silencedUntilResolved:a.silencedUntilResolved,notifiedOpen:a.notifiedOpen,lastNotifiedAt:a.lastNotifiedAt,pending:a.pending,pendingSince:a.pendingSince})),D=(0,i.f)(C,u,t,j,{now:a,collectorStale:x,mutedApps:z,incidents:A,maintenance:B});return D.open.length||D.touch.length||D.resolve.length?(await (0,e.f)().transaction(async c=>{for(let b of D.open)await c.insert(f.alerts).values({...b,pendingSince:b.pending?a:null}).onConflictDoNothing();for(let d of D.touch){let{id:e,pending:g,...h}=d;await c.update(f.alerts).set({...h,...g?{pending:g,pendingSince:a}:{}}).where((0,b.b)((0,b.u)(f.alerts.id,e),(0,b.M)(f.alerts.resolvedAt)))}for(let d of D.resolve)await c.update(f.alerts).set({resolvedAt:a,pending:d.pending,pendingSince:d.pending?a:null}).where((0,b.b)((0,b.u)(f.alerts.id,d.id),(0,b.M)(f.alerts.resolvedAt)))}),{opened:D.open.length,resolved:D.resolve.length}):{opened:0,resolved:0}}async function ax(){let[a,c]=await Promise.all([(0,at.I)(),(0,e.f)().select({ruleKey:f.alerts.ruleKey,provider:f.accounts.provider,n:d.B`count(*)::int`}).from(f.alerts).leftJoin(f.accounts,(0,b.u)(f.accounts.id,f.alerts.accountId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,b.y)(f.alerts.severity,["critical","warning"]))).groupBy(f.alerts.ruleKey,f.accounts.provider)]);return c.reduce((b,c)=>b+((0,l.O)(a,c.ruleKey,c.provider)?0:Number(c.n)),0)}let ay=d.B`case ${f.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`;async function az(a=new Set){return(await (0,e.f)().select({a:f.alerts,name:f.resources.name,kind:f.resources.kind}).from(f.alerts).leftJoin(f.resources,(0,b.u)(f.resources.id,f.alerts.resourceId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,at.s)(a))).orderBy(ay,(0,c.A)(f.alerts.startedAt)).limit(200)).map(({a,name:b,kind:c})=>({...a,resourceName:b??null,resourceKind:c??null}))}async function aA(){return az(await (0,at.I)())}async function aB(a){return(await (0,e.f)().select({id:f.alerts.id,ruleKey:f.alerts.ruleKey,severity:f.alerts.severity,title:f.alerts.title,resourceId:f.alerts.resourceId,startedAt:f.alerts.startedAt,resolvedAt:f.alerts.resolvedAt}).from(f.alerts).where((0,b.b)((0,b.E)(f.alerts.resolvedAt),(0,b.B)(f.alerts.resolvedAt,new Date(a.getTime()-6048e5)))).orderBy((0,c.A)(f.alerts.resolvedAt)).limit(50)).flatMap(a=>a.resolvedAt?[{...a,resolvedAt:a.resolvedAt}]:[])}async function aC(){let[a,c,h]=await Promise.all([av(),(0,e.f)().select({key:f.alerts.ruleKey,n:d.B`count(*)::int`}).from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)).groupBy(f.alerts.ruleKey),(0,e.f)().select({kind:f.resources.kind}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt))).groupBy(f.resources.kind)]),i=new Set(h.map(a=>a.kind)),j={databases:["supabase_project","neon_project","firestore"].some(a=>i.has(a)),domains:i.has("domain")||i.has("zone"),dns:i.has("zone")};return g.u.flatMap(b=>{let d=a.find(a=>a.key===b);if(!d)return[];let e=g._[b].needs;return[{rule:d,firing:c.find(a=>a.key===b)?.n??0,hasData:null===e||j[e]}]})}async function aD(a,c,d,g){let h="off"===c?{silencedUntil:null,silencedUntilResolved:!1,silencedBy:null}:{...n(c,g),silencedBy:d},[i]=await (0,e.f)().update(f.alerts).set(h).where((0,b.b)((0,b.u)(f.alerts.id,a),(0,b.M)(f.alerts.resolvedAt))).returning({ruleKey:f.alerts.ruleKey,title:f.alerts.title,resourceId:f.alerts.resourceId});return i??null}async function aE(a,c){return(await (0,e.f)().update(f.alertRules).set({...c,updatedAt:new Date}).where((0,b.u)(f.alertRules.key,a)).returning({key:f.alertRules.key})).length>0}async function aF(){try{let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,j.z)).limit(1);return(0,j._)(a?.value)}catch{return{}}}async function aG(a,b){let c=await aF();Object.keys(b).length?c[a]=b:delete c[a],await (0,e.f)().insert(f.settings).values({key:j.z,value:c}).onConflictDoUpdate({target:f.settings.key,set:{value:c,updatedAt:new Date}})}a.s(["$",0,aw,"q",0,az,"I",0,aB,"i",0,aA,"X",0,ax,"w",0,aF,"y",0,aC,"z",0,aE,"_",0,aG,"N",0,aD],455317)}]})();
2
+
3
+ //# sourceMappingURL=src_lib_1eioo4oodq-8h._.js.map
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[646324,a=>{let b=a=>a?a.getTime():null;function c(a,b){return!a||"object"!=typeof a||Array.isArray(a)?{}:Object.fromEntries(Object.entries(a).filter(a=>"string"==typeof a[1]&&new Date(a[1]).getTime()>b.getTime()))}a.s(["Q",0,function(a,b,c,d=new Set){let e=new Set(c.map(a=>`${a.resourceId}/${a.id}`));return a.flatMap(a=>{let c=b.get(a.externalId);return!c||d.has(c)||e.has(`${a.id}/${c}`)?[]:[{appId:a.id,deploymentId:c}]})},"E",0,function(a,c){return!a||a.state!==c.state||a.target!==c.target||a.branch!==c.branch||a.commitSha!==c.commitSha||a.commitMessage!==c.commitMessage||a.source!==c.source||a.url!==c.url||b(a.buildingAt)!==b(c.buildingAt)||b(a.readyAt)!==b(c.readyAt)},"Y",0,function(a,b,d){let e=new Date(d.getTime()+216e5).toISOString();return{...c(a,d),...Object.fromEntries(b.map(a=>[a,e]))}},"K",0,function(a){try{return new URL(a).pathname}catch{return"/"}},"a",0,function(a,b){let c=[...new Map(a.map(a=>[a.id,a])).values()].sort((a,b)=>b.createdAt.getTime()-a.createdAt.getTime()),d=b??c[0]?.id??null,e=c.findIndex(a=>a.id===d);return{currentId:d,previousId:e>=0?c[e+1]?.id??null:null}},"S",0,(a,b)=>new Set(Object.keys(c(a,b)))])},683439,a=>{let b=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;a.s(["f",0,a=>"string"==typeof a&&b.test(a)])},469762,a=>{var b=a.i(245710);function c(a,b){let c=Math.max(0,b.getTime()-a.getTime());return c<6e4?"now":c<36e5?`${Math.floor(c/6e4)} min ago`:c<864e5?`${Math.floor(c/36e5)} h ago`:`${Math.floor(c/864e5)} d ago`}function d(a){let b=Math.max(0,Math.round(a/1e3));if(b<60)return`${b}s`;let c=Math.floor(b/60);return c<60?`${c}m ${String(b%60).padStart(2,"0")}s`:`${Math.floor(c/60)}h ${String(c%60).padStart(2,"0")}m`}a.s(["m",0,function(a,b){for(let a of b)try{let b=new URL(a);if("https:"!==b.protocol&&"http:"!==b.protocol||!b.host)continue;return b.host}catch{}return`${a}.vercel.app`},"W",0,function(a){return a?a.split(/\r?\n|\r/).map(a=>a.trim()).find(a=>""!==a)??"":""},"h",0,function(a,d){let e=d.getTime()-a.getTime();return e<36e5?c(a,d):(0,b.m)(a,d)?(0,b.U)(a):`${Math.max(1,Math.floor(e/864e5))} d ago`},"A",0,function(a,b){return"building"===a.state?`${d(b.getTime()-(a.buildingAt??a.createdAt).getTime())} elapsed`:a.readyAt&&a.buildingAt?d(a.readyAt.getTime()-a.buildingAt.getTime()):"—"},"v",0,function(a,c){return(0,b.m)(a,c)?(0,b.U)(a):`${(0,b.L)(a)} ${(0,b.U)(a)}`},"o",0,function(a,b){let c=Math.max(0,b.getTime()-a.getTime()),d=(a,b)=>`${a} ${b}${1===a?"":"s"}`;return c<36e5?d(Math.max(1,Math.floor(c/6e4)),"minute"):c<864e5?d(Math.floor(c/36e5),"hour"):d(Math.floor(c/864e5),"day")},"F",0,function(a){try{let b=new URL(a);return`${b.host}${b.pathname}`}catch{return a}},"$",0,function(a,e){if(!a)return"—";if("building"===a.state)return`building ${d(e.getTime()-(a.buildingAt??a.createdAt).getTime())}`;let f=a.readyAt??a.createdAt;return"error"===a.state?`failed ${(0,b.m)(f,e)?(0,b.U)(f):c(f,e)}`:"canceled"===a.state?`canceled ${c(f,e)}`:c(f,e)},"H",0,function(a){let{day:c,month:d,year:e}=(0,b.e)(a);return`${c} ${d} ${e}`},"p",0,a=>null===a?"—":`${Math.round(a)} ms`,"C",0,a=>null===a?"—":`${(Math.floor(100*a+1e-6)/100).toFixed(2)}%`,"J",0,c,"_",0,a=>a?a.slice(0,7):"—"])},910697,a=>{a.s(["O",0,{events:200,deployments:200,apps:200,monitors:200,domains:200,databases:200,recentEvents:5,ongoingBuilds:5},"A",0,{rawChecksMs:6048e5,healthBuckets:30,metricBuckets:48,responseHours:24}])}]})();
2
+
3
+ //# sourceMappingURL=src_lib_1l8ej-zoyyegd._.js.map
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[646324,a=>{let b=a=>a?a.getTime():null;function c(a,b){return!a||"object"!=typeof a||Array.isArray(a)?{}:Object.fromEntries(Object.entries(a).filter(a=>"string"==typeof a[1]&&new Date(a[1]).getTime()>b.getTime()))}a.s(["Q",0,function(a,b,c,d=new Set){let e=new Set(c.map(a=>`${a.resourceId}/${a.id}`));return a.flatMap(a=>{let c=b.get(a.externalId);return!c||d.has(c)||e.has(`${a.id}/${c}`)?[]:[{appId:a.id,deploymentId:c}]})},"E",0,function(a,c){return!a||a.state!==c.state||a.target!==c.target||a.branch!==c.branch||a.commitSha!==c.commitSha||a.commitMessage!==c.commitMessage||a.source!==c.source||a.url!==c.url||b(a.buildingAt)!==b(c.buildingAt)||b(a.readyAt)!==b(c.readyAt)},"Y",0,function(a,b,d){let e=new Date(d.getTime()+216e5).toISOString();return{...c(a,d),...Object.fromEntries(b.map(a=>[a,e]))}},"K",0,function(a){try{return new URL(a).pathname}catch{return"/"}},"a",0,function(a,b){let c=[...new Map(a.map(a=>[a.id,a])).values()].sort((a,b)=>b.createdAt.getTime()-a.createdAt.getTime()),d=b??c[0]?.id??null,e=c.findIndex(a=>a.id===d);return{currentId:d,previousId:e>=0?c[e+1]?.id??null:null}},"S",0,(a,b)=>new Set(Object.keys(c(a,b)))])},469762,a=>{var b=a.i(245710);function c(a,b){let c=Math.max(0,b.getTime()-a.getTime());return c<6e4?"now":c<36e5?`${Math.floor(c/6e4)} min ago`:c<864e5?`${Math.floor(c/36e5)} h ago`:`${Math.floor(c/864e5)} d ago`}function d(a){let b=Math.max(0,Math.round(a/1e3));if(b<60)return`${b}s`;let c=Math.floor(b/60);return c<60?`${c}m ${String(b%60).padStart(2,"0")}s`:`${Math.floor(c/60)}h ${String(c%60).padStart(2,"0")}m`}a.s(["m",0,function(a,b){for(let a of b)try{let b=new URL(a);if("https:"!==b.protocol&&"http:"!==b.protocol||!b.host)continue;return b.host}catch{}return`${a}.vercel.app`},"W",0,function(a){return a?a.split(/\r?\n|\r/).map(a=>a.trim()).find(a=>""!==a)??"":""},"h",0,function(a,d){let e=d.getTime()-a.getTime();return e<36e5?c(a,d):(0,b.m)(a,d)?(0,b.U)(a):`${Math.max(1,Math.floor(e/864e5))} d ago`},"A",0,function(a,b){return"building"===a.state?`${d(b.getTime()-(a.buildingAt??a.createdAt).getTime())} elapsed`:a.readyAt&&a.buildingAt?d(a.readyAt.getTime()-a.buildingAt.getTime()):"—"},"v",0,function(a,c){return(0,b.m)(a,c)?(0,b.U)(a):`${(0,b.L)(a)} ${(0,b.U)(a)}`},"o",0,function(a,b){let c=Math.max(0,b.getTime()-a.getTime()),d=(a,b)=>`${a} ${b}${1===a?"":"s"}`;return c<36e5?d(Math.max(1,Math.floor(c/6e4)),"minute"):c<864e5?d(Math.floor(c/36e5),"hour"):d(Math.floor(c/864e5),"day")},"F",0,function(a){try{let b=new URL(a);return`${b.host}${b.pathname}`}catch{return a}},"$",0,function(a,e){if(!a)return"—";if("building"===a.state)return`building ${d(e.getTime()-(a.buildingAt??a.createdAt).getTime())}`;let f=a.readyAt??a.createdAt;return"error"===a.state?`failed ${(0,b.m)(f,e)?(0,b.U)(f):c(f,e)}`:"canceled"===a.state?`canceled ${c(f,e)}`:c(f,e)},"H",0,function(a){let{day:c,month:d,year:e}=(0,b.e)(a);return`${c} ${d} ${e}`},"p",0,a=>null===a?"—":`${Math.round(a)} ms`,"C",0,a=>null===a?"—":`${(Math.floor(100*a+1e-6)/100).toFixed(2)}%`,"J",0,c,"_",0,a=>a?a.slice(0,7):"—"])}]})();
2
+
3
+ //# sourceMappingURL=src_lib_1nkahiclbn55q._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[927262,a=>{"use strict";let b=a=>(a??0).toLocaleString("en-US"),c={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:a=>`${b(a)} failed checks in a row`},CollectorStale:{key:"CollectorStale",severity:"critical",threshold:5,bounds:[3,60],source:"own",needs:null,sampled:!1,condition:a=>`No collector run for ${b(a)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:a=>`p95 > ${b(a)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"Production deployment state = ERROR"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase status = INACTIVE"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:a=>`TLS certificate expires in < ${b(a)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:a=>`Domain expires in < ${b(a)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:a=>`Database size > ${b(a)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:a=>`> ${b(a)} of 100 CU-hours this month`},FirestoreQuotaHigh:{key:"FirestoreQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"test",needs:"databases",sampled:!1,condition:a=>`Daily reads > ${b(a)}% of 50k`},AutoPauseRisk:{key:"AutoPauseRisk",severity:"info",threshold:4,bounds:[1,6],source:"api",needs:"databases",sampled:!1,condition:a=>`Supabase project without API traffic for ${b(a)}+ days`},DnsProxiedToVercel:{key:"DnsProxiedToVercel",severity:"info",threshold:null,bounds:null,source:"api",needs:"dns",sampled:!1,condition:()=>"Cloudflare record proxied in front of Vercel"},ComputeHigh:{key:"ComputeHigh",severity:"warning",threshold:80,bounds:[50,95],source:"api",needs:"databases",sampled:!1,condition:a=>`Supabase CPU > ${b(a)}% for 15 min, RAM > ${b(Math.min(99,(a??80)+10))}%, disk > ${b(a)}% or connections > ${b(a)}% of max`},DbQuotaHigh:{key:"DbQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:a=>`Turso, Upstash or D1 usage > ${b(a)}% of a free-plan quota`},CredentialExpiring:{key:"CredentialExpiring",severity:"warning",threshold:14,bounds:[1,60],source:"api",needs:null,sampled:!1,condition:a=>`Account credential expires in < ${b(a)} days`},VulnerableDependency:{key:"VulnerableDependency",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A dependency has a critical or high advisory, or a moderate one on a direct dependency (OSV.dev)"},FrameworkVulnerable:{key:"FrameworkVulnerable",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The app's Next.js version has a known advisory (OSV.dev)"},MonitorDomainMoved:{key:"MonitorDomainMoved",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The monitor's domain is no longer one of the app's domains"}},d=Object.keys(c),e=["critical","warning","info"],f=["telegram","discord","email_digest"];a.s(["_",0,c,"u",0,d,"h",0,a=>"string"==typeof a&&a in c,"N",0,function(a,d){let g=c[a],h={},i=e.find(a=>a===d.severity);i||(h.severity="Pick a severity.");let j=null;if(g.bounds){let a=String(d.threshold??"").replace(/,/g,"").trim(),c=/^\d+$/.test(a)?Number(a):0/0;!Number.isInteger(c)||c<g.bounds[0]||c>g.bounds[1]?h.threshold=`Enter a whole number from ${b(g.bounds[0])} to ${b(g.bounds[1])}.`:j=c}let k=Array.isArray(d.channels)?d.channels:[];return(k.every(a=>f.includes(a))||(h.channels="Pick from Telegram, Discord and the daily digest."),Object.keys(h).length||!i)?{ok:!1,fieldErrors:h}:{ok:!0,value:{severity:i,threshold:j,channels:[...new Set(k)],enabled:!0===d.enabled}}}])}];
1
+ module.exports=[927262,a=>{"use strict";let b=a=>(a??0).toLocaleString("en-US"),c={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:a=>`${b(a)} failed checks in a row`},CollectorStale:{key:"CollectorStale",severity:"critical",threshold:5,bounds:[3,60],source:"own",needs:null,sampled:!1,condition:a=>`No collector run for ${b(a)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:a=>`Slowest 5% of checks over ${b(a)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A production deploy fails"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase pauses the project"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:a=>`TLS certificate expires in < ${b(a)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:a=>`Domain expires in < ${b(a)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:a=>`Database size > ${b(a)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:a=>`> ${b(a)} of 100 CU-hours this month`},FirestoreQuotaHigh:{key:"FirestoreQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"test",needs:"databases",sampled:!1,condition:a=>`Daily reads > ${b(a)}% of 50k`},AutoPauseRisk:{key:"AutoPauseRisk",severity:"info",threshold:4,bounds:[1,6],source:"api",needs:"databases",sampled:!1,condition:a=>`Supabase project without API traffic for ${b(a)}+ days`},DnsProxiedToVercel:{key:"DnsProxiedToVercel",severity:"info",threshold:null,bounds:null,source:"api",needs:"dns",sampled:!1,condition:()=>"Cloudflare record proxied in front of Vercel"},ComputeHigh:{key:"ComputeHigh",severity:"warning",threshold:80,bounds:[50,95],source:"api",needs:"databases",sampled:!1,condition:a=>`Supabase CPU > ${b(a)}% for 15 min, RAM > ${b(Math.min(99,(a??80)+10))}%, disk > ${b(a)}% or connections > ${b(a)}% of max`},DbQuotaHigh:{key:"DbQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:a=>`Turso, Upstash or D1 usage > ${b(a)}% of a free-plan quota`},CredentialExpiring:{key:"CredentialExpiring",severity:"warning",threshold:14,bounds:[1,60],source:"api",needs:null,sampled:!1,condition:a=>`Account credential expires in < ${b(a)} days`},VulnerableDependency:{key:"VulnerableDependency",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A dependency has a critical or high advisory, or a moderate one on a direct dependency (OSV.dev)"},FrameworkVulnerable:{key:"FrameworkVulnerable",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The app's Next.js version has a known advisory (OSV.dev)"},MonitorDomainMoved:{key:"MonitorDomainMoved",severity:"warning",threshold:null,bounds:null,source:"own",needs:null,sampled:!1,condition:()=>"The monitor's domain is no longer one of the app's domains"}},d=Object.keys(c),e=a=>"string"==typeof a&&a in c,f=["critical","warning","info"],g=["telegram","discord","webhook","smtp","email_digest"],h={MonitorDown:"Site down",CollectorStale:"Checks stopped",HighLatency:"Slow responses",DeploymentFailed:"Deploy failed",DatabasePaused:"Database paused",CertExpiringSoon:"Certificate expiring",DomainExpiringSoon:"Domain expiring",StorageAlmostFull:"Database almost full",NeonComputeHigh:"Neon hours running out",FirestoreQuotaHigh:"Firestore reads running out",AutoPauseRisk:"Supabase may pause",DnsProxiedToVercel:"Cloudflare proxy in front of Vercel",ComputeHigh:"Supabase under load",DbQuotaHigh:"Free quota running out",CredentialExpiring:"Token expiring",VulnerableDependency:"Vulnerable package",FrameworkVulnerable:"Next.js needs a security update",MonitorDomainMoved:"App moved to a new domain"};a.s(["_",0,c,"u",0,d,"$",0,h,"h",0,e,"N",0,function(a,d){let e=c[a],h={},i=f.find(a=>a===d.severity);i||(h.severity="Pick a severity.");let j=null;if(e.bounds){let a=String(d.threshold??"").replace(/,/g,"").trim(),c=/^\d+$/.test(a)?Number(a):0/0;!Number.isInteger(c)||c<e.bounds[0]||c>e.bounds[1]?h.threshold=`Enter a whole number from ${b(e.bounds[0])} to ${b(e.bounds[1])}.`:j=c}let k=Array.isArray(d.channels)?d.channels:[];return(k.every(a=>g.includes(a))||(h.channels="Pick from Telegram, Discord and the daily digest."),Object.keys(h).length||!i)?{ok:!1,fieldErrors:h}:{ok:!0,value:{severity:i,threshold:j,channels:[...new Set(k)],enabled:!0===d.enabled}}},"v",0,a=>e(a)?h[a]:a])}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_alerts_catalog_ts_1ndg28acul64q._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[109307,600079,a=>{"use strict";var b=a.i(93321);a.i(570396);var c=a.i(673727),d=a.i(800717),e=a.i(548734),f=a.i(837137),g=a.i(745614),h=a.i(19809),i=a.i(371289);class j extends Error{reason;constructor(a){super(a),this.reason=a}}let k={"signed-out":"Your session ended. Sign in again.","not-member":"Your email isn't on this console.",forbidden:"You don't have permission to do that.",mfa:"Confirm your sign-in with your authenticator code first.","password-change":"Change your temporary password first."};async function l(a,b,d,e){try{let c=await d.requireActionMember(a);if((0,i.W)()){if(!e)return{ok:!1,error:h.Y};return await ("local"===e?b(c):e(c))}return await b(c)}catch(b){if((0,c.unstable_rethrow)(b),b instanceof j)return{ok:!1,error:k[b.reason]};if((0,h.h)(b))return{ok:!1,error:h.Y};let a=(0,i.W)()?(0,g.E)(b):null;if(a)return{ok:!1,error:a};return console.error("action failed:",b instanceof Error?b.name:"unknown"),{ok:!1,error:"Something went wrong. Try again."}}}a.s(["W",0,j,"F",0,l],600079);var m=a.i(366443),n=a.i(753682),o=a.i(221246);let p=(0,d.cache)(async()=>(0,m.f)().sessionUser()),q="/auth/session-ended";async function r(a,b){if("aal2"===b)return"ok";let c=await (0,m.f)().hasVerifiedFactor(a.userId);return"signed-out"===c?"signed-out":(0,n.f)({role:a.role,aal:b,hasVerifiedFactor:c})}async function s(){let a=await p();a||(0,c.redirect)("/signin");let b=await t(a.userId);b||(0,c.redirect)("/auth/not-member");let d=await r(b,a.aal);return"signed-out"===d&&(0,c.redirect)(q),{member:b,step:d}}let t=(0,d.cache)(async a=>{let[c]=await (0,e.f)().select({id:f.members.id,userId:f.members.userId,email:f.members.email,role:f.members.role}).from(f.members).where((0,b.u)(f.members.userId,a)).limit(1);return c??null});async function u(a){let[c]=await (0,e.f)().select().from(f.invites).where((0,b.b)((0,b.u)(f.invites.email,a),(0,b.M)(f.invites.acceptedAt),(0,b.H)(f.invites.expiresAt,new Date))).limit(1);return c??null}async function v(){let a=await p();a||(0,c.redirect)("/signin");let b=await t(a.userId);if(b){let d=await r(b,a.aal);return"signed-out"===d&&(0,c.redirect)(q),"setup"===d&&(0,c.redirect)("/mfa/setup"),"challenge"===d&&(0,c.redirect)("/mfa"),a.mustChangePassword&&(0,c.redirect)("/account/password"),b}a.email&&await u(a.email)&&(0,c.redirect)("/invite"),(0,c.redirect)("/auth/not-member")}async function w(a){let b=await v();return{ok:(0,o.L)(b.role,a),member:b}}async function x(a){let b=await p();if(!b)throw new j("signed-out");let c=await t(b.userId);if(!c)throw new j("not-member");if(!(0,o.L)(c.role,a))throw new j("forbidden");let d=await r(c,b.aal);if("signed-out"===d)throw new j("signed-out");if("ok"!==d)throw new j("mfa");if(b.mustChangePassword)throw new j("password-change");return c}a.s(["F",0,s,"M",0,u,"x",0,p,"B",0,w,"g",0,x,"I",0,v],109307)}];
1
+ module.exports=[109307,600079,a=>{"use strict";var b=a.i(93321);a.i(570396);var c=a.i(673727),d=a.i(800717),e=a.i(548734),f=a.i(837137),g=a.i(745614),h=a.i(19809),i=a.i(371289);class j extends Error{reason;constructor(a){super(a),this.reason=a}}let k={"signed-out":"Your session ended. Sign in again.","not-member":"Your email isn't on this console.",forbidden:"You don't have permission to do that.",mfa:"Confirm your sign-in with your authenticator code first.","password-change":"Change your temporary password first."};async function l(a,b,d,e){try{let c=await d.requireActionMember(a);if((0,i.W)()){if(!e)return{ok:!1,error:h.Y};return await ("local"===e?b(c):e(c))}return await b(c)}catch(b){if((0,c.unstable_rethrow)(b),b instanceof j)return{ok:!1,error:k[b.reason]};if((0,h.h)(b))return{ok:!1,error:h.Y};let a=(0,i.W)()?(0,g.E)(b):null;if(a)return{ok:!1,error:a};return console.error("action failed:",b instanceof Error?b.name:"unknown"),{ok:!1,error:"That didn't go through, and Watchbell couldn't tell why. Try again in a moment; if it keeps failing, the server log has the details."}}}a.s(["W",0,j,"F",0,l],600079);var m=a.i(366443),n=a.i(753682),o=a.i(221246);let p=(0,d.cache)(async()=>(0,m.f)().sessionUser()),q="/auth/session-ended";async function r(a,b){if("aal2"===b)return"ok";let c=await (0,m.f)().hasVerifiedFactor(a.userId);return"signed-out"===c?"signed-out":(0,n.f)({role:a.role,aal:b,hasVerifiedFactor:c})}async function s(){let a=await p();a||(0,c.redirect)("/signin");let b=await t(a.userId);b||(0,c.redirect)("/auth/not-member");let d=await r(b,a.aal);return"signed-out"===d&&(0,c.redirect)(q),{member:b,step:d}}let t=(0,d.cache)(async a=>{let[c]=await (0,e.f)().select({id:f.members.id,userId:f.members.userId,email:f.members.email,role:f.members.role}).from(f.members).where((0,b.u)(f.members.userId,a)).limit(1);return c??null});async function u(a){let[c]=await (0,e.f)().select().from(f.invites).where((0,b.b)((0,b.u)(f.invites.email,a),(0,b.M)(f.invites.acceptedAt),(0,b.H)(f.invites.expiresAt,new Date))).limit(1);return c??null}async function v(){let a=await p();a||(0,c.redirect)("/signin");let b=await t(a.userId);if(b){let d=await r(b,a.aal);return"signed-out"===d&&(0,c.redirect)(q),"setup"===d&&(0,c.redirect)("/mfa/setup"),"challenge"===d&&(0,c.redirect)("/mfa"),a.mustChangePassword&&(0,c.redirect)("/account/password"),b}a.email&&await u(a.email)&&(0,c.redirect)("/invite"),(0,c.redirect)("/auth/not-member")}async function w(a){let b=await v();return{ok:(0,o.L)(b.role,a),member:b}}async function x(a){let b=await p();if(!b)throw new j("signed-out");let c=await t(b.userId);if(!c)throw new j("not-member");if(!(0,o.L)(c.role,a))throw new j("forbidden");let d=await r(c,b.aal);if("signed-out"===d)throw new j("signed-out");if("ok"!==d)throw new j("mfa");if(b.mustChangePassword)throw new j("password-change");return c}a.s(["F",0,s,"M",0,u,"x",0,p,"B",0,w,"g",0,x,"I",0,v],109307)}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_auth_ts_11yt3pae6wy-o._.js.map
@@ -4,6 +4,6 @@ module.exports=[270432,a=>{"use strict";var b=a.i(93321),c=a.i(351674),d=a.i(548
4
4
  where (ops.settings.value->>'until')::timestamptz < ${a.toISOString()}::timestamptz
5
5
  returning key`);return(0,ax.f)(f).length>0?b:null}async function az(a){await (0,d.f)().execute(c.B`
6
6
  update ops.settings set value = jsonb_build_object('until', '1970-01-01T00:00:00Z'), updated_at = now()
7
- where key = 'collector.lease' and value->>'owner' = ${a}`)}var aA=a.i(418864),aB=a.i(50908),aC=a.i(903816),aD=a.i(445710),aE=a.i(306556),aF=a.i(648338);a.i(569057);let aG="collector.lastRun",aH="vercel.backoffUntil",aI="vercel.currentMiss",aJ={supabase:ag.P,supabaseUsage:ag.y,neon:ag.f,firebase:ag.g,firebaseUsage:ag.x,extraDbs:an};async function aK(){let a=await (0,d.f)().select({key:e.settings.key,value:e.settings.value}).from(e.settings).where((0,b.y)(e.settings.key,[aG,O])).limit(2);return{lastRun:a.find(a=>a.key===aG)?.value??{},afterDeploy:a.find(a=>a.key===O)?.value??null}}async function aL(a){await (0,d.f)().insert(e.settings).values({key:aG,value:a}).onConflictDoUpdate({target:e.settings.key,set:{value:a,updatedAt:new Date}})}let aM=a=>(0,m.f)(a);async function aN(a,f,g,h,i=[]){let j=(await (0,d.f)().select({m:e.monitors,app:e.resources}).from(e.monitors).innerJoin(e.resources,(0,b.u)(e.resources.id,e.monitors.resourceId)).where((0,b.b)((0,b.u)(e.monitors.kind,"http"),(0,b.u)(e.monitors.paused,!1),(0,b.u)(e.monitors.ownerPaused,!1),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt))).orderBy(c.B`${e.monitors.lastCheckedAt} asc nulls first`,e.monitors.id)).filter(({m:b})=>(0,K.B)(b.lastCheckedAt,a,h));if(!j.length)return 0;let k=await (0,t.P)(j,6,({m:a})=>{let b=(0,K.P)(a.timeoutMs,f,Date.now());return null===b?Promise.resolve(null):(0,t.b)(a.url,{expectedStatus:a.expectedStatus,timeoutMs:b,body:(0,aC.C)(a)})}),l=j.flatMap((a,b)=>k[b]?[{...a,r:k[b]}]:[]);if(l.length<j.length&&g.push(`checks: ${j.length-l.length} monitors skipped, time budget used`),!l.length)return 0;let m=[];for(let b of l)await (0,aD.j)(b.m,b.r,a)&&m.push(b);return m.length?(await (0,d.f)().insert(e.checks).values(m.map(({m:b,app:c,r:d})=>({monitorId:b.id,at:a,ok:d.ok,statusCode:d.statusCode,latencyMs:d.latencyMs,error:d.error,inMaintenance:null!==(0,ad.x)(i,{monitorId:b.id,appId:c.id},a)}))),await aM(m.map(({m:b,app:c,r:d})=>(0,aE.F)({resourceId:c.id,path:(0,af.K)(b.url),prev:b.state,next:(0,aE.G)(b.failStreak,d).state,code:d.statusCode,error:d.error,at:a}))),m.length):0}let aO=["checks","heartbeats"];async function aP(a,b,c=l.w){if(!aO.some(b=>a.includes(b)))return[];try{return await c()}catch(a){return b.push(`maintenance: ${(0,aF.f)(a)}`),[]}}async function aQ(a){let[c]=await (0,d.f)().select().from(e.settings).where((0,b.u)(e.settings.key,aH)).limit(1),f=c?.value?.until;return!!f&&a.getTime()<new Date(f).getTime()}async function aR(a,b){if("transient"!==a.kind||!a.retryAfterS)return!1;let c={until:new Date(b.getTime()+1e3*Math.min(a.retryAfterS,3600)).toISOString()};return await (0,d.f)().insert(e.settings).values({key:aH,value:c}).onConflictDoUpdate({target:e.settings.key,set:{value:c,updatedAt:b}}),!0}let aS=a=>c.B`coalesce(${e.deployments.externalId} = ${a}::text, false)`;async function aT(a,f,g,h,i=aa){let j=[];try{for(let i of a){let a=f.filter(a=>a.resourceId===i.id),{currentId:k,previousId:l}=(0,af.a)(a.map(a=>({id:a.id,createdAt:a.createdAt??new Date(0)})),(i.externalId?g.get(i.externalId):null)??null),m=await (0,d.f)().update(e.deployments).set({isCurrent:aS(k),isPreviousProduction:aS(l),updatedAt:h.now}).where((0,b.b)((0,b.u)(e.deployments.resourceId,i.id),(0,b.F)(c.B`${e.deployments.isCurrent} is distinct from ${aS(k)}`,c.B`${e.deployments.isPreviousProduction} is distinct from ${aS(l)}`))).returning({id:e.deployments.externalId}),n=function(a){var b,c;let d=a.currentId;return d&&a.state.checked[a.appId]!==d&&a.state.pending[a.appId]?.id!==d&&(b=a.changedIds,((c=d)&&b.includes(c)?c:null)||a.createdAt&&a.now.getTime()-a.createdAt.getTime()<=216e5)?d:null}({appId:i.id,currentId:k,changedIds:m.map(a=>a.id),createdAt:a.find(a=>a.id===k)?.createdAt??null,state:h.afterDeploy,now:h.now});n&&j.push({appId:i.id,deploymentId:n})}}finally{if(j.length)try{await i(j,h.now)}catch(a){h.errors.push(`vercel/${h.label}: after-deploy security check not scheduled: ${(0,aF.f)(a)}`)}}}let aU=a=>new Map(a.map(a=>[a.id,{...a.branchFrom?{branchFrom:a.branchFrom}:{},...a.gitDirty?{gitDirty:!0}:{}}]));async function aV(a,b,c,d,e=new Map,f=s){try{await f(a,b,e)}catch(a){c.push(`vercel/${d}: production source not saved: ${(0,aF.f)(a)}`)}}async function aW(a,c,f,h){if(await aQ(a))return;let i=(0,ac.f)().OPS_ENCRYPTION_KEY;for(let j of(await (0,d.f)().select().from(e.accounts).where((0,b.b)((0,b.u)(e.accounts.provider,"vercel"),(0,b.u)(e.accounts.status,"ok"))))){let k=(0,n.V)({ciphertext:j.credentialCiphertext,iv:j.credentialIv},i);if((0,g.A)(k)||!k){f.push(`vercel/${j.label}: credential can't be read`);continue}let l=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,j.id),(0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)));if(!l.length)continue;let m=new Map(l.map(a=>[a.externalId,a])),o=await (0,ae.X)(k);if(!o.ok){let c=(0,g.E)({ok:!1,kind:o.kind,error:o.error});if(c&&await (0,d.f)().update(e.accounts).set({...c,updatedAt:a}).where((0,b.u)(e.accounts.id,j.id)),f.push(`vercel/${j.label}: ${o.error}`),await aR(o,a))return;continue}let p=new Set(l.map(a=>String(a.meta.teamId)));for(let g of o.data.filter(a=>p.has(a.id))){if(Date.now()>c)return void f.push("vercel: skipped remaining teams, time budget used");let[i,j]=await Promise.all([(0,ae.W)(k,g),(0,ae.K)(k,g,{since:a.getTime()-6048e5,limit:100})]);if(!i.ok||!j.ok){let b=i.ok?j:i;if(f.push(`vercel/${g.name}: ${b.error}`),await aR(b,a))return;continue}let n=new Map(i.data.map(a=>[a.id,a.currentDeploymentId])),o=j.data.filter(a=>m.has(a.projectId)),p=aU(o),q=new Map((o.length?await (0,d.f)().select({externalId:e.deployments.externalId,state:e.deployments.state,target:e.deployments.target,branch:e.deployments.branch,commitSha:e.deployments.commitSha,commitMessage:e.deployments.commitMessage,source:e.deployments.source,url:e.deployments.url,buildingAt:e.deployments.buildingAt,readyAt:e.deployments.readyAt}).from(e.deployments).where((0,b.y)(e.deployments.externalId,o.map(a=>a.id))):[]).map(a=>[a.externalId,a])),r=[];for(let b of o){let c=m.get(b.projectId),f=q.get(b.id),g={state:b.state,target:b.target,branch:b.branch,commitSha:b.sha,commitMessage:b.message,source:b.source,url:b.url,buildingAt:b.buildingAt,readyAt:b.readyAt};if((0,af.E)(f,g)){let f={resourceId:c.id,externalId:b.id,...g,createdAtProvider:b.createdAt,updatedAt:a};await (0,d.f)().insert(e.deployments).values(f).onConflictDoUpdate({target:e.deployments.externalId,set:f})}r.push((0,aE.L)(f?.state,b,c.id,a))}await aM(r);let s=l.filter(a=>String(a.meta.teamId)===g.id),t=await (0,d.f)().select({resourceId:e.deployments.resourceId,id:e.deployments.externalId,createdAt:e.deployments.createdAtProvider}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,s.map(a=>a.id)),(0,b.u)(e.deployments.target,"production"),(0,b.u)(e.deployments.state,"ready"))),[u]=await (0,d.f)().select().from(e.settings).where((0,b.u)(e.settings.key,aI)).limit(1),v=[],w=()=>v.length?(0,d.f)().insert(e.settings).values({key:aI,value:(0,af.Y)(u?.value,v,a)}).onConflictDoUpdate({target:e.settings.key,set:{value:(0,af.Y)(u?.value,v,a),updatedAt:a}}):Promise.resolve();for(let b of(0,af.Q)(s,n,t,(0,af.S)(u?.value,a))){if(Date.now()>c)break;let h=await (0,ae.S)(k,g,b.deploymentId);if(!h.ok){if(f.push(`vercel/${g.name}: current deployment: ${h.error}`),await aR(h,a))return void await w();v.push(b.deploymentId);continue}let i=h.data;for(let[a,b]of aU([i]))p.set(a,b);let j={resourceId:b.appId,externalId:i.id,state:i.state,target:i.target,branch:i.branch,commitSha:i.sha,commitMessage:i.message,source:i.source,url:i.url,buildingAt:i.buildingAt,readyAt:i.readyAt,createdAtProvider:i.createdAt,updatedAt:a};await (0,d.f)().insert(e.deployments).values(j).onConflictDoUpdate({target:e.deployments.externalId,set:j}),"ready"===i.state&&"production"===i.target?t.push({resourceId:b.appId,id:i.id,createdAt:i.createdAt}):v.push(b.deploymentId)}await w(),await aT(s,t,n,{now:a,afterDeploy:h,errors:f,label:g.name}),await aV(s,a,f,g.name,p)}}}async function aX(a){let g=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)));if(!g.length)return;let h=await (0,d.f)().select().from(e.monitors).where((0,b.b)((0,b.y)(e.monitors.resourceId,g.map(a=>a.id)),(0,b.u)(e.monitors.paused,!1),(0,b.u)(e.monitors.ownerPaused,!1))),i=new Set((await (0,d.f)().select({r:e.deployments.resourceId}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,g.map(a=>a.id)),(0,b.u)(e.deployments.target,"production"),(0,b.u)(e.deployments.state,"building"),(0,b.B)(e.deployments.createdAtProvider,new Date(a.getTime()-36e5))))).map(a=>a.r)),j=await (0,ag.q)(g.map(a=>a.id)),k=new Map((await (0,d.f)().select().from(e.snapshots).where((0,b.y)(e.snapshots.resourceId,g.map(a=>a.id)))).map(a=>[a.resourceId,a])),l=new Map(g.map(a=>[a.id,a])),m=(0,f.P)(h.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.resourceId,appName:l.get(a.resourceId)?.name??"",appMeta:l.get(a.resourceId)?.meta,lastError:a.lastError})),g),n=a=>m.has(a.id)&&"err"===a.state?"warn":a.state;for(let[a,i]of(0,f.R)(h.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.resourceId,appName:l.get(a.resourceId)?.name??"",appMeta:l.get(a.resourceId)?.meta,lastError:a.lastError})),g))await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({pastDomains:i})}::jsonb`}).where((0,b.u)(e.resources.id,a));for(let b of g){let f=h.filter(a=>a.resourceId===b.id),g=(0,aE.V)({monitors:f.map(n),building:i.has(b.id),dbPaused:j.has(b.id)}),l=f.find(a=>"err"===a.state)??f.find(a=>"warn"===a.state),m={code:l?.lastStatus??null,latencyMs:f.find(a=>"heartbeat"!==a.kind)?.lastLatencyMs??null,dbPaused:j.has(b.id)},o=k.get(b.id);await (0,d.f)().insert(e.snapshots).values({resourceId:b.id,state:g,data:m,collectedAt:a,stateSince:a}).onConflictDoUpdate({target:e.snapshots.resourceId,set:{state:g,data:c.B`${e.snapshots.data} || ${JSON.stringify(m)}::jsonb`,collectedAt:a,...o?.state!==g?{stateSince:a}:{}}})}}async function aY(a,b={}){let c={writeLastRun:aL,refreshApps:aX,refreshNetwork:aA.x,invalidate:h.D,...b};try{await c.writeLastRun({...a.lastRun,...Object.fromEntries(a.done.map(b=>[b,a.started.toISOString()]))});try{await c.refreshApps(new Date)}catch(b){a.errors.push(`app-snapshots: ${(0,aF.f)(b)}`)}if(a.done.some(a=>aA.p.includes(a)))try{await c.refreshNetwork(new Date)}catch(b){a.errors.push(`network-states: ${(0,aF.f)(b)}`)}}finally{c.invalidate((0,i.o)(a.tried??a.done))}}async function aZ(a,b,c,d={evaluate:j.$,deliver:p.q,digest:p.J}){let e=[];if(a.includes("alerts"))if(Date.now()>b)c.push("alerts: skipped, time budget used");else{let a=!0;try{await d.evaluate(new Date),console.info("collector alerts evaluated")}catch(b){a=!1,c.push(`alerts: ${(0,aF.f)(b)}`)}try{await d.deliver(new Date,b),console.info("collector notifications delivered")}catch(b){a=!1,c.push(`notify: ${(0,aF.f)(b)}`)}a&&e.push("alerts")}if(a.includes("digest")&&(0,K.z)("digest",b,Date.now()))try{await d.digest(new Date),console.info("collector digest done"),e.push("digest")}catch(a){c.push(`digest: ${(0,aF.f)(a)}`)}return e}async function a$(a,b,c,d){let e=[],f=[];for(let g of a){if(Date.now()>b){c.push(`${g}: skipped, time budget used`);continue}if((0,K.z)(g,b,Date.now())){f.push(g);try{await d(g),e.push(g)}catch(a){c.push(`${g}: ${(0,aF.f)(a)}`)}}}return{done:e,tried:f}}async function a_(a){let c,f=new Date,g=await ay(f);if(!g)return{skipped:!0,ok:!0,tasks:[],checks:0,durationMs:0,errors:[]};try{[c]=await (0,d.f)().insert(e.collectorRuns).values({startedAt:f,trigger:"builtin"===a?"manual":a}).returning({id:e.collectorRuns.id})}catch(a){throw await az(g).catch(()=>void 0),a}let h=[],i=[],j=0,l=f.getTime()+K.p,m=a=>console.info(`collector ${a} +${Date.now()-f.getTime()}ms`);try{var n;m("start");let{lastRun:b,afterDeploy:c}=await aK(),d="cron_job_org"!==a&&"builtin"!==a,e=await (0,q.I)(),{due:g,early:p}=(0,K._)((0,K.S)(b,f,d,e),(n=R(c),Object.keys(n.pending).length>0),e),r=!1,s=a=>p||!r?a.filter(a=>"security"!==a):a,t=g.filter(a=>K.u.includes(a)),u=t.includes("alerts")?l-K.X:l,v=await aP(g,h);m(`due ${g.join(",")}`);let{done:w,tried:x}=await a$(g.filter(a=>!K.u.includes(a)),u,h,async a=>{if(m(`task ${a}`),"heartbeats"===a){let a=new Date;j+=await (0,k.f)(a,(b,c)=>null!==(0,ad.x)(v,{monitorId:b,appId:c},a),d)}"checks"===a&&(j+=await aN(new Date,u,h,d,v)),"vercel"===a&&await aW(new Date,u,h,R(c));let b=aJ[a];b&&await b({now:new Date,deadline:u,errors:h,protectOnly:(0,K.$)(a,e)}),"cloudflare"===a&&await (0,aA.h)(new Date,u,h),"domains"===a&&await (0,aA.H)(new Date,u,h),"tls"===a&&await (0,aA.V)(new Date,u,h),"rdap"===a&&await (0,aA.W)(new Date,u,h),"eol"===a&&await (0,aA.i)(new Date,u,h),"node"===a&&await (0,aB.q)(new Date,u,h),"status"===a&&await (0,ab.i)(new Date),"logs"===a&&await (0,o._)(new Date,u,h),"pageviews"===a&&await J(new Date,u,h),"security"===a&&(r=(await _({now:f,deadline:u,errors:h,paused:e,early:p})).complete)});i.push(...w),m("main done"),await aY({lastRun:b,done:s(i),tried:x,started:f,errors:h}),m("settled");let y=await aZ(t,l,h);m("post done"),y.length&&await aL({...b,...Object.fromEntries(s([...i,...y]).map(a=>[a,f.toISOString()]))}),i.push(...y)}catch(a){h.push(`run: ${(0,aF.f)(a)}`)}finally{let a=Date.now()-f.getTime();await (0,d.f)().update(e.collectorRuns).set({finishedAt:new Date,ok:0===h.length,errorSummary:h.join("\n").slice(0,2e3)||null,durationMs:a,tasks:i,checks:j}).where((0,b.u)(e.collectorRuns.id,c.id)).catch(()=>void 0),await az(g).catch(()=>void 0)}return{skipped:!1,ok:0===h.length,tasks:i,checks:j,durationMs:Date.now()-f.getTime(),errors:h}}a.s(["f",0,a_],270432)}];
7
+ where key = 'collector.lease' and value->>'owner' = ${a}`)}var aA=a.i(418864),aB=a.i(50908),aC=a.i(288950),aD=a.i(903816),aE=a.i(445710),aF=a.i(306556),aG=a.i(648338);a.i(569057);let aH="collector.lastRun",aI="vercel.backoffUntil",aJ="vercel.currentMiss",aK={supabase:ag.P,supabaseUsage:ag.y,neon:ag.f,firebase:ag.g,firebaseUsage:ag.x,extraDbs:an};async function aL(){let a=await (0,d.f)().select({key:e.settings.key,value:e.settings.value}).from(e.settings).where((0,b.y)(e.settings.key,[aH,O])).limit(2);return{lastRun:a.find(a=>a.key===aH)?.value??{},afterDeploy:a.find(a=>a.key===O)?.value??null}}async function aM(a){await (0,d.f)().insert(e.settings).values({key:aH,value:a}).onConflictDoUpdate({target:e.settings.key,set:{value:a,updatedAt:new Date}})}let aN=a=>(0,m.f)(a);async function aO(a,f,g,h,i=[]){let j=(await (0,d.f)().select({m:e.monitors,app:e.resources}).from(e.monitors).innerJoin(e.resources,(0,b.u)(e.resources.id,e.monitors.resourceId)).where((0,b.b)((0,b.u)(e.monitors.kind,"http"),(0,b.u)(e.monitors.paused,!1),(0,b.u)(e.monitors.ownerPaused,!1),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt))).orderBy(c.B`${e.monitors.lastCheckedAt} asc nulls first`,e.monitors.id)).filter(({m:b})=>(0,K.B)(b.lastCheckedAt,a,h));if(!j.length)return 0;let k=await (0,t.P)(j,6,({m:a})=>{let b=(0,K.P)(a.timeoutMs,f,Date.now());return null===b?Promise.resolve(null):(0,t.b)(a.url,{expectedStatus:a.expectedStatus,timeoutMs:b,body:(0,aD.C)(a)})}),l=j.flatMap((a,b)=>k[b]?[{...a,r:k[b]}]:[]);if(l.length<j.length&&g.push(`checks: ${j.length-l.length} monitors skipped, time budget used`),!l.length)return 0;let m=[];for(let b of l)await (0,aE.j)(b.m,b.r,a)&&m.push(b);return m.length?(await (0,d.f)().insert(e.checks).values(m.map(({m:b,app:c,r:d})=>({monitorId:b.id,at:a,ok:d.ok,statusCode:d.statusCode,latencyMs:d.latencyMs,error:d.error,inMaintenance:null!==(0,ad.x)(i,{monitorId:b.id,appId:c.id},a)}))),await aN(m.map(({m:b,app:c,r:d})=>(0,aF.F)({resourceId:c.id,path:(0,af.K)(b.url),prev:b.state,next:(0,aF.G)(b.failStreak,d).state,code:d.statusCode,error:d.error,at:a}))),m.length):0}let aP=["checks","heartbeats"];async function aQ(a,b,c=l.w){if(!aP.some(b=>a.includes(b)))return[];try{return await c()}catch(a){return b.push(`maintenance: ${(0,aG.f)(a)}`),[]}}async function aR(a){let[c]=await (0,d.f)().select().from(e.settings).where((0,b.u)(e.settings.key,aI)).limit(1),f=c?.value?.until;return!!f&&a.getTime()<new Date(f).getTime()}async function aS(a,b){if("transient"!==a.kind||!a.retryAfterS)return!1;let c={until:new Date(b.getTime()+1e3*Math.min(a.retryAfterS,3600)).toISOString()};return await (0,d.f)().insert(e.settings).values({key:aI,value:c}).onConflictDoUpdate({target:e.settings.key,set:{value:c,updatedAt:b}}),!0}let aT=a=>c.B`coalesce(${e.deployments.externalId} = ${a}::text, false)`;async function aU(a,f,g,h,i=aa){let j=[];try{for(let i of a){let a=f.filter(a=>a.resourceId===i.id),{currentId:k,previousId:l}=(0,af.a)(a.map(a=>({id:a.id,createdAt:a.createdAt??new Date(0)})),(i.externalId?g.get(i.externalId):null)??null),m=await (0,d.f)().update(e.deployments).set({isCurrent:aT(k),isPreviousProduction:aT(l),updatedAt:h.now}).where((0,b.b)((0,b.u)(e.deployments.resourceId,i.id),(0,b.F)(c.B`${e.deployments.isCurrent} is distinct from ${aT(k)}`,c.B`${e.deployments.isPreviousProduction} is distinct from ${aT(l)}`))).returning({id:e.deployments.externalId}),n=function(a){var b,c;let d=a.currentId;return d&&a.state.checked[a.appId]!==d&&a.state.pending[a.appId]?.id!==d&&(b=a.changedIds,((c=d)&&b.includes(c)?c:null)||a.createdAt&&a.now.getTime()-a.createdAt.getTime()<=216e5)?d:null}({appId:i.id,currentId:k,changedIds:m.map(a=>a.id),createdAt:a.find(a=>a.id===k)?.createdAt??null,state:h.afterDeploy,now:h.now});n&&j.push({appId:i.id,deploymentId:n})}}finally{if(j.length)try{await i(j,h.now)}catch(a){h.errors.push(`vercel/${h.label}: after-deploy security check not scheduled: ${(0,aG.f)(a)}`)}}}let aV=a=>new Map(a.map(a=>[a.id,{...a.branchFrom?{branchFrom:a.branchFrom}:{},...a.gitDirty?{gitDirty:!0}:{}}]));async function aW(a,b,c,d,e=new Map,f=s){try{await f(a,b,e)}catch(a){c.push(`vercel/${d}: production source not saved: ${(0,aG.f)(a)}`)}}async function aX(a,c,f,h){if(await aR(a))return;let i=(0,ac.f)().OPS_ENCRYPTION_KEY;for(let j of(await (0,d.f)().select().from(e.accounts).where((0,b.b)((0,b.u)(e.accounts.provider,"vercel"),(0,b.u)(e.accounts.status,"ok"))))){let k=(0,n.V)({ciphertext:j.credentialCiphertext,iv:j.credentialIv},i);if((0,g.A)(k)||!k){f.push(`vercel/${j.label}: credential can't be read`);continue}let l=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,j.id),(0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)));if(!l.length)continue;let m=new Map(l.map(a=>[a.externalId,a])),o=await (0,ae.X)(k);if(!o.ok){let c=(0,g.E)({ok:!1,kind:o.kind,error:o.error});if(c&&await (0,d.f)().update(e.accounts).set({...c,updatedAt:a}).where((0,b.u)(e.accounts.id,j.id)),f.push(`vercel/${j.label}: ${o.error}`),await aS(o,a))return;continue}let p=new Set(l.map(a=>String(a.meta.teamId)));for(let g of o.data.filter(a=>p.has(a.id))){if(Date.now()>c)return void f.push("vercel: skipped remaining teams, time budget used");let[i,j]=await Promise.all([(0,ae.W)(k,g),(0,ae.K)(k,g,{since:a.getTime()-6048e5,limit:100})]);if(!i.ok||!j.ok){let b=i.ok?j:i;if(f.push(`vercel/${g.name}: ${b.error}`),await aS(b,a))return;continue}let n=new Map(i.data.map(a=>[a.id,a.currentDeploymentId])),o=j.data.filter(a=>m.has(a.projectId)),p=aV(o),q=new Map((o.length?await (0,d.f)().select({externalId:e.deployments.externalId,state:e.deployments.state,target:e.deployments.target,branch:e.deployments.branch,commitSha:e.deployments.commitSha,commitMessage:e.deployments.commitMessage,source:e.deployments.source,url:e.deployments.url,buildingAt:e.deployments.buildingAt,readyAt:e.deployments.readyAt}).from(e.deployments).where((0,b.y)(e.deployments.externalId,o.map(a=>a.id))):[]).map(a=>[a.externalId,a])),r=[];for(let b of o){let c=m.get(b.projectId),f=q.get(b.id),g={state:b.state,target:b.target,branch:b.branch,commitSha:b.sha,commitMessage:b.message,source:b.source,url:b.url,buildingAt:b.buildingAt,readyAt:b.readyAt};if((0,af.E)(f,g)){let f={resourceId:c.id,externalId:b.id,...g,createdAtProvider:b.createdAt,updatedAt:a};await (0,d.f)().insert(e.deployments).values(f).onConflictDoUpdate({target:e.deployments.externalId,set:f})}r.push((0,aF.L)(f?.state,b,c.id,a))}await aN(r);let s=l.filter(a=>String(a.meta.teamId)===g.id),t=await (0,d.f)().select({resourceId:e.deployments.resourceId,id:e.deployments.externalId,createdAt:e.deployments.createdAtProvider}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,s.map(a=>a.id)),(0,b.u)(e.deployments.target,"production"),(0,b.u)(e.deployments.state,"ready"))),[u]=await (0,d.f)().select().from(e.settings).where((0,b.u)(e.settings.key,aJ)).limit(1),v=[],w=()=>v.length?(0,d.f)().insert(e.settings).values({key:aJ,value:(0,af.Y)(u?.value,v,a)}).onConflictDoUpdate({target:e.settings.key,set:{value:(0,af.Y)(u?.value,v,a),updatedAt:a}}):Promise.resolve();for(let b of(0,af.Q)(s,n,t,(0,af.S)(u?.value,a))){if(Date.now()>c)break;let h=await (0,ae.S)(k,g,b.deploymentId);if(!h.ok){if(f.push(`vercel/${g.name}: current deployment: ${h.error}`),await aS(h,a))return void await w();v.push(b.deploymentId);continue}let i=h.data;for(let[a,b]of aV([i]))p.set(a,b);let j={resourceId:b.appId,externalId:i.id,state:i.state,target:i.target,branch:i.branch,commitSha:i.sha,commitMessage:i.message,source:i.source,url:i.url,buildingAt:i.buildingAt,readyAt:i.readyAt,createdAtProvider:i.createdAt,updatedAt:a};await (0,d.f)().insert(e.deployments).values(j).onConflictDoUpdate({target:e.deployments.externalId,set:j}),"ready"===i.state&&"production"===i.target?t.push({resourceId:b.appId,id:i.id,createdAt:i.createdAt}):v.push(b.deploymentId)}await w(),await aU(s,t,n,{now:a,afterDeploy:h,errors:f,label:g.name}),await aW(s,a,f,g.name,p)}}}async function aY(a){let g=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)));if(!g.length)return;let h=await (0,d.f)().select().from(e.monitors).where((0,b.b)((0,b.y)(e.monitors.resourceId,g.map(a=>a.id)),(0,b.u)(e.monitors.paused,!1),(0,b.u)(e.monitors.ownerPaused,!1))),i=new Set((await (0,d.f)().select({r:e.deployments.resourceId}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,g.map(a=>a.id)),(0,b.u)(e.deployments.target,"production"),(0,b.u)(e.deployments.state,"building"),(0,b.B)(e.deployments.createdAtProvider,new Date(a.getTime()-36e5))))).map(a=>a.r)),j=await (0,ag.q)(g.map(a=>a.id)),k=new Map((await (0,d.f)().select().from(e.snapshots).where((0,b.y)(e.snapshots.resourceId,g.map(a=>a.id)))).map(a=>[a.resourceId,a])),l=new Map(g.map(a=>[a.id,a])),m=(0,f.P)(h.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.resourceId,appName:l.get(a.resourceId)?.name??"",appMeta:l.get(a.resourceId)?.meta,lastError:a.lastError})),g),n=a=>m.has(a.id)&&"err"===a.state?"warn":a.state;for(let[a,i]of(0,f.R)(h.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.resourceId,appName:l.get(a.resourceId)?.name??"",appMeta:l.get(a.resourceId)?.meta,lastError:a.lastError})),g))await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({pastDomains:i})}::jsonb`}).where((0,b.u)(e.resources.id,a));for(let b of g){let f=h.filter(a=>a.resourceId===b.id),g=(0,aF.V)({monitors:f.map(n),building:i.has(b.id),dbPaused:j.has(b.id)}),l=f.find(a=>"err"===a.state)??f.find(a=>"warn"===a.state),m={code:l?.lastStatus??null,latencyMs:f.find(a=>"heartbeat"!==a.kind)?.lastLatencyMs??null,dbPaused:j.has(b.id)},o=k.get(b.id);await (0,d.f)().insert(e.snapshots).values({resourceId:b.id,state:g,data:m,collectedAt:a,stateSince:a}).onConflictDoUpdate({target:e.snapshots.resourceId,set:{state:g,data:c.B`${e.snapshots.data} || ${JSON.stringify(m)}::jsonb`,collectedAt:a,...o?.state!==g?{stateSince:a}:{}}})}}async function aZ(a,b={}){let c={writeLastRun:aM,refreshApps:aY,refreshNetwork:aA.x,invalidate:h.D,...b};try{await c.writeLastRun({...a.lastRun,...Object.fromEntries(a.done.map(b=>[b,a.started.toISOString()]))});try{await c.refreshApps(new Date)}catch(b){a.errors.push(`app-snapshots: ${(0,aG.f)(b)}`)}if(a.done.some(a=>aA.p.includes(a)))try{await c.refreshNetwork(new Date)}catch(b){a.errors.push(`network-states: ${(0,aG.f)(b)}`)}}finally{c.invalidate((0,i.o)(a.tried??a.done))}}async function a$(a,b,c,d={evaluate:j.$,deliver:p.q,digest:p.J}){let e=[];if(a.includes("alerts"))if(Date.now()>b)c.push("alerts: skipped, time budget used");else{let a=!0;try{await d.evaluate(new Date),console.info("collector alerts evaluated")}catch(b){a=!1,c.push(`alerts: ${(0,aG.f)(b)}`)}try{await d.deliver(new Date,b),console.info("collector notifications delivered")}catch(b){a=!1,c.push(`notify: ${(0,aG.f)(b)}`)}a&&e.push("alerts")}if(a.includes("digest")&&(0,K.z)("digest",b,Date.now()))try{await d.digest(new Date),console.info("collector digest done"),e.push("digest")}catch(a){c.push(`digest: ${(0,aG.f)(a)}`)}return e}async function a_(a,b,c,d){let e=[],f=[];for(let g of a){if(Date.now()>b){c.push(`${g}: skipped, time budget used`);continue}if((0,K.z)(g,b,Date.now())){f.push(g);try{await d(g),e.push(g)}catch(a){c.push(`${g}: ${(0,aG.f)(a)}`)}}}return{done:e,tried:f}}async function a0(a){let c,f=new Date,g=await ay(f);if(!g)return{skipped:!0,ok:!0,tasks:[],checks:0,durationMs:0,errors:[]};try{[c]=await (0,d.f)().insert(e.collectorRuns).values({startedAt:f,trigger:"builtin"===a?"manual":a}).returning({id:e.collectorRuns.id})}catch(a){throw await az(g).catch(()=>void 0),a}let h=[],i=[],j=0,l=f.getTime()+K.p,m=a=>console.info(`collector ${a} +${Date.now()-f.getTime()}ms`);try{var n;m("start");let{lastRun:b,afterDeploy:c}=await aL(),d="cron_job_org"!==a&&"builtin"!==a,e=await (0,q.I)(),{due:g,early:p}=(0,K._)((0,K.S)(b,f,d,e),(n=R(c),Object.keys(n.pending).length>0),e),r=!1,s=a=>p||!r?a.filter(a=>"security"!==a):a,t=g.filter(a=>K.u.includes(a)),u=t.includes("alerts")?l-K.X:l,v=await aQ(g,h);m(`due ${g.join(",")}`);let{done:w,tried:x}=await a_(g.filter(a=>!K.u.includes(a)),u,h,async a=>{if(m(`task ${a}`),"heartbeats"===a){let a=new Date;j+=await (0,k.f)(a,(b,c)=>null!==(0,ad.x)(v,{monitorId:b,appId:c},a),d)}"checks"===a&&(j+=await aO(new Date,u,h,d,v)),"vercel"===a&&await aX(new Date,u,h,R(c));let b=aK[a];b&&await b({now:new Date,deadline:u,errors:h,protectOnly:(0,K.$)(a,e)}),"cloudflare"===a&&await (0,aA.h)(new Date,u,h),"domains"===a&&await (0,aA.H)(new Date,u,h),"tls"===a&&await (0,aA.V)(new Date,u,h),"rdap"===a&&await (0,aA.W)(new Date,u,h),"eol"===a&&await (0,aA.i)(new Date,u,h),"node"===a&&(await (0,aB.q)(new Date,u,h),await (0,aC.L)(new Date,u,h)),"status"===a&&await (0,ab.i)(new Date),"logs"===a&&await (0,o._)(new Date,u,h),"pageviews"===a&&await J(new Date,u,h),"security"===a&&(r=(await _({now:f,deadline:u,errors:h,paused:e,early:p})).complete)});i.push(...w),m("main done"),await aZ({lastRun:b,done:s(i),tried:x,started:f,errors:h}),m("settled");let y=await a$(t,l,h);m("post done"),y.length&&await aM({...b,...Object.fromEntries(s([...i,...y]).map(a=>[a,f.toISOString()]))}),i.push(...y)}catch(a){h.push(`run: ${(0,aG.f)(a)}`)}finally{let a=Date.now()-f.getTime();await (0,d.f)().update(e.collectorRuns).set({finishedAt:new Date,ok:0===h.length,errorSummary:h.join("\n").slice(0,2e3)||null,durationMs:a,tasks:i,checks:j}).where((0,b.u)(e.collectorRuns.id,c.id)).catch(()=>void 0),await az(g).catch(()=>void 0)}return{skipped:!1,ok:0===h.length,tasks:i,checks:j,durationMs:Date.now()-f.getTime(),errors:h}}a.s(["f",0,a0],270432)}];
8
8
 
9
9
  //# sourceMappingURL=src_lib_collector_run_ts_0-q8is8s0y9cq._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[288950,511233,a=>{"use strict";var b=a.i(93321),c=a.i(548734),d=a.i(837137),e=a.i(371289),f=a.i(20060);let g="watchbell.latest",h="watchbell.seenVersion",i=/^\d{1,4}\.\d{1,4}\.\d{1,6}$/,j=a=>"string"==typeof a&&i.test(a);function k(a=process.env){let b=a.WATCHBELL_VERSION?.trim();return j(b)?b:null}function l(a,b){let c=a.split(".").map(Number),d=b.split(".").map(Number);for(let a=0;a<3;a++)if(c[a]!==d[a])return c[a]-d[a];return 0}let m=a=>a&&"object"==typeof a&&j(a.version)&&"string"==typeof a.checkedAt?{version:a.version,checkedAt:a.checkedAt}:null,n=a=>a&&"object"==typeof a&&j(a.version)?a.version:null;function o(a){return a.running?a.latest&&l(a.latest.version,a.running)>0?{kind:"update",running:a.running,latest:a.latest.version}:a.seen&&l(a.running,a.seen)>0?{kind:"updated",version:a.running}:null:null}async function p(a={}){let b,c=a.fetch??fetch;try{b=await c("https://registry.npmjs.org/watchbell/latest",{method:"GET",headers:{Accept:"application/json","Accept-Encoding":"gzip"},signal:AbortSignal.timeout(a.timeoutMs??6e3),cache:"no-store"})}catch{return{ok:!1,error:"Couldn't reach registry.npmjs.org"}}if(!b.ok)return{ok:!1,error:`registry.npmjs.org returned an error (${b.status})`};try{let a=await b.json();return j(a.version)?{ok:!0,version:a.version}:{ok:!1,error:"registry.npmjs.org answered without a version"}}catch{return{ok:!1,error:"registry.npmjs.org answered in a format the console doesn't recognise"}}}async function q(a,b,i,j=process.env,l){let m=k(j);if(!m||"selfhost"!==(0,e.c)(j)||(0,f.s)(j).off)return;let n=b-Date.now();if(n<1e3)return;let o=await p({fetch:l,timeoutMs:Math.min(6e3,n)});if(o.ok){let b={version:o.version,checkedAt:a.toISOString()};await (0,c.f)().insert(d.settings).values({key:g,value:b}).onConflictDoUpdate({target:d.settings.key,set:{value:b,updatedAt:a}})}else i.push(`update check: ${o.error}`);await (0,c.f)().insert(d.settings).values({key:h,value:{version:m}}).onConflictDoNothing({target:d.settings.key})}async function r(a=process.env){let i=k(a);if(!i||"selfhost"!==(0,e.c)(a))return null;let j=await (0,c.f)().select({key:d.settings.key,value:d.settings.value}).from(d.settings).where((0,b.y)(d.settings.key,[g,h])).limit(2),l=a=>j.find(b=>b.key===a)?.value;return o({running:i,latest:(0,f.s)(a).off?null:m(l(g)),seen:n(l(h))})}async function s(a=process.env){let b=k(a);if(!b)return;let e=new Date;await (0,c.f)().insert(d.settings).values({key:h,value:{version:b}}).onConflictDoUpdate({target:d.settings.key,set:{value:{version:b},updatedAt:e}})}a.s(["b",0,g,"F",0,h,"k",0,p,"n",0,m,"c",0,n,"y",0,k,"i",0,o,"G",0,a=>`https://github.com/watchbell/watchbell/blob/main/CHANGELOG.md#${a.replace(/\./g,"")}`],511233),a.s(["z",0,s,"C",0,r,"L",0,q],288950)}];
2
+
3
+ //# sourceMappingURL=src_lib_collector_self-update_ts_18m5vmptpjhtg._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[944571,565255,a=>{"use strict";var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(109068),h=a.i(358179),i=a.i(492665);function j(a,b){let c=new Map(a.map(a=>[a.externalId,a])),d=new Set(b.map(a=>a.id));return{insert:b.filter(a=>!c.has(a.id)),update:b.filter(a=>c.has(a.id)).map(a=>({id:c.get(a.id).id,repo:a})),gone:a.filter(a=>!d.has(a.externalId)&&!a.goneAt).map(a=>a.id)}}let k=a=>a.trim().toLowerCase();function l(a,b,c){let d=new Map(b.filter(a=>!a.goneAt).map(a=>[k(a.fullName),a.id])),e=new Map(c.map(a=>[a.appId,a])),f=[];for(let b of a){if("github"!==b.repoType||!b.repo)continue;let a=d.get(k(b.repo));if(!a)continue;let c=e.get(b.id);c?.source!=="manual"&&c?.repoId!==a&&f.push({appId:b.id,repoId:a})}return f}function m(a){return a.filter(a=>!a.archived&&!a.goneAt&&(!a.packageCheckedAt||null!==a.pushedAt&&a.pushedAt>a.packageCheckedAt)).sort((a,b)=>(b.pushedAt?.getTime()??0)-(a.pushedAt?.getTime()??0)).slice(0,10)}a.s(["l",0,l,"c",0,m,"C",0,j,"J",0,function(a,b){let c=b.filter(a=>!a.archived&&!a.goneAt).sort((a,b)=>(b.pushedAt?.getTime()??0)-(a.pushedAt?.getTime()??0)),d=k(a),e=c.find(a=>k(a.name)===d);if(e)return{repoId:e.id,why:"name"};let f=c.find(a=>a.packageName&&k(a.packageName.replace(/^@[^/]+\//,""))===d);return f?{repoId:f.id,why:"package"}:null}],565255);var n=a.i(683439),o=a.i(760417);async function p(a){let d=a?(0,b.b)((0,b.u)(f.accounts.id,a),(0,b.u)(f.accounts.provider,"github")):(0,b.u)(f.accounts.provider,"github"),[j]=await (0,e.f)().select().from(f.accounts).where(d).orderBy((0,c.M)(f.accounts.createdAt)).limit(1);if(!j)return null;let k=(0,h.V)({ciphertext:j.credentialCiphertext,iv:j.credentialIv},(0,i.f)().OPS_ENCRYPTION_KEY);return{account:j,token:k,problem:(0,g.A)(k)}}async function q(a,b,c){let d=0;for(let e=0;e<a.length&&!(Date.now()>b);e+=5){let b=a.slice(e,e+5);d+=b.length,await Promise.allSettled(b.map(c))}return d}async function r(a,c,d={}){let h=await p(a);if(!h)return{ok:!1,error:"GitHub isn't connected."};let{account:i,token:k,problem:n}=h;if(n||!k)return{ok:!1,error:n??"The credential can't be read."};let t=await (0,o.o)(k,d);if(!t.ok){let a=(0,g.E)({ok:!1,kind:"scope"===t.kind?"auth":"missing"===t.kind?"transient":t.kind,error:t.error});return a&&await (0,e.f)().update(f.accounts).set({...a,updatedAt:new Date}).where((0,b.u)(f.accounts.id,i.id)),{ok:!1,error:t.error}}let u=new Date,v=j(await (0,e.f)().select({id:f.githubRepos.id,externalId:f.githubRepos.externalId,goneAt:f.githubRepos.goneAt}).from(f.githubRepos).where((0,b.u)(f.githubRepos.accountId,i.id)).limit(1e3),t.data.repos),w=a=>({owner:a.owner,name:a.name,fullName:a.fullName,defaultBranch:a.defaultBranch,private:a.private,archived:a.archived,htmlUrl:a.htmlUrl,pushedAt:a.pushedAt});await (0,e.f)().transaction(async a=>{for(let c of v.update)await a.update(f.githubRepos).set({...w(c.repo),lastSeenAt:u,goneAt:null,updatedAt:u}).where((0,b.u)(f.githubRepos.id,c.id));v.insert.length&&await a.insert(f.githubRepos).values(v.insert.map(a=>({accountId:i.id,externalId:a.id,...w(a)}))).onConflictDoNothing({target:[f.githubRepos.accountId,f.githubRepos.externalId]}),v.gone.length&&await a.update(f.githubRepos).set({goneAt:u,updatedAt:u}).where((0,b.b)((0,b.y)(f.githubRepos.id,v.gone),(0,b.M)(f.githubRepos.goneAt)))});let x=await (0,e.f)().select().from(f.githubRepos).where((0,b.u)(f.githubRepos.accountId,i.id)).limit(1e3),y=[];t.data.truncated&&y.push("Only the 300 most recently pushed repositories are listed.");let z=!1;await q(m(x),c,async a=>{let c=await (0,o.q)(k,a.fullName,d);c.ok?await (0,e.f)().update(f.githubRepos).set({packageName:c.data,packageCheckedAt:new Date,updatedAt:new Date}).where((0,b.u)(f.githubRepos.id,a.id)):"scope"===c.kind&&(z=!0)}),z&&y.push("Some package.json files can't be read: give the token Contents read on those repositories.");let A=await (0,e.f)().select({id:f.resources.id,name:f.resources.name,meta:f.resources.meta}).from(f.resources).where((0,b.b)((0,b.u)(f.resources.kind,"app"),(0,b.M)(f.resources.goneAt))).limit(500),B=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId,source:f.appRepos.source}).from(f.appRepos).limit(500),C=a=>"string"==typeof a&&a?a:null,D=l(A.map(a=>({id:a.id,name:a.name,repo:C(a.meta.repo),repoType:C(a.meta.repoType)})),x,B);for(let a of D)await (0,e.f)().insert(f.appRepos).values({appId:a.appId,repoId:a.repoId,source:"vercel"}).onConflictDoUpdate({target:f.appRepos.appId,set:{repoId:a.repoId,source:"vercel",updatedAt:new Date},setWhere:(0,b.c)(f.appRepos.source,"manual")});let E=await (0,e.f)().selectDistinct({id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.b)((0,b.u)(f.githubRepos.accountId,i.id),(0,b.M)(f.githubRepos.goneAt))).limit(500),F=!1,G=await q(E,c,async a=>{let b=await (0,o.W)(k,a.fullName,a.defaultBranch,d);b.ok?await s(a.id,b.data):"scope"===b.kind&&(F=!0)});F&&y.push("Some Actions runs can't be read: give the token Actions read on those repositories."),G<E.length&&y.push(`${E.length-G} Actions status${E.length-G==1?"":"es"} left for the next run, time budget used.`);let H=await (0,o.k)(k,d);return await (0,e.f)().update(f.accounts).set({lastSyncAt:u,status:"ok",lastError:null,updatedAt:u,...H.ok?{expiresAt:H.data.expiresAt}:{}}).where((0,b.u)(f.accounts.id,i.id)),{ok:!0,repos:x.filter(a=>!a.goneAt).length,linked:E.length,newLinks:D.length,notes:y}}async function s(a,c){await (0,e.f)().update(f.githubRepos).set({actions:c,actionsCheckedAt:new Date,updatedAt:new Date}).where((0,b.u)(f.githubRepos.id,a))}async function t(){let a=await (0,e.f)().select({accountId:f.githubRepos.accountId,n:d.B`count(*)::int`}).from(f.githubRepos).where((0,b.M)(f.githubRepos.goneAt)).groupBy(f.githubRepos.accountId),c=await (0,e.f)().select({accountId:f.githubRepos.accountId,n:d.B`count(*)::int`}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).groupBy(f.githubRepos.accountId);return new Map(a.map(a=>[a.accountId,{repos:a.n,linked:c.find(b=>b.accountId===a.accountId)?.n??0}]))}async function u(a){let d={connected:!1,link:null,repos:[],options:[]};if(!(0,n.f)(a))return d;let[g]=await (0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).limit(1),[h]=await (0,e.f)().select({l:f.appRepos,r:f.githubRepos}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return{...d,link:h?{source:h.l.source,repo:h.r}:null};let i=await (0,e.f)().select({id:f.githubRepos.id,name:f.githubRepos.name,fullName:f.githubRepos.fullName,packageName:f.githubRepos.packageName,archived:f.githubRepos.archived,goneAt:f.githubRepos.goneAt,pushedAt:f.githubRepos.pushedAt}).from(f.githubRepos).where((0,b.M)(f.githubRepos.goneAt)).orderBy((0,c.A)(f.githubRepos.pushedAt)).limit(1e3);return{connected:!0,link:h?{source:h.l.source,repo:h.r}:null,repos:i,options:i.map(a=>({id:a.id,fullName:a.fullName,archived:a.archived}))}}async function v(a,c,d){if(!(0,n.f)(a)||null!==c&&!(0,n.f)(c))return{ok:!1,error:"That app or repository no longer exists."};let[g]=await (0,e.f)().select({id:f.resources.id,name:f.resources.name}).from(f.resources).where((0,b.b)((0,b.u)(f.resources.id,a),(0,b.u)(f.resources.kind,"app"))).limit(1);if(!g)return{ok:!1,error:"That app no longer exists."};if(null===c)return(await (0,e.f)().delete(f.appRepos).where((0,b.u)(f.appRepos.appId,a)).returning({appId:f.appRepos.appId})).length?{ok:!0,message:`${g.name} is no longer linked to a repository.`,app:g.name,repo:null}:{ok:!1,error:`${g.name} has no repository linked.`};let[h]=await (0,e.f)().select({id:f.githubRepos.id,fullName:f.githubRepos.fullName}).from(f.githubRepos).where((0,b.b)((0,b.u)(f.githubRepos.id,c),(0,b.M)(f.githubRepos.goneAt))).limit(1);return h?(await (0,e.f)().insert(f.appRepos).values({appId:a,repoId:c,source:"manual",linkedBy:d}).onConflictDoUpdate({target:f.appRepos.appId,set:{repoId:c,source:"manual",linkedBy:d,updatedAt:new Date}}),{ok:!0,message:`${g.name} is linked to ${h.fullName}.`,app:g.name,repo:h.fullName}):{ok:!1,error:"That repository is no longer shared with the GitHub token. Sync GitHub and try again."}}async function w(a,c={}){if(!(0,n.f)(a))return{ok:!1,error:"That app no longer exists."};let[d]=await (0,e.f)().select({r:f.githubRepos}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!d)return{ok:!1,error:"Link a repository first."};let g=await p(d.r.accountId);if(!g?.token)return{ok:!1,error:g?.problem??"GitHub isn't connected."};let h=await (0,o.W)(g.token,d.r.fullName,d.r.defaultBranch,c);return h.ok?(await s(d.r.id,h.data),{ok:!0,run:h.data,repo:d.r.fullName}):{ok:!1,error:h.error}}async function x(a){if(!(0,n.f)(a))return{ok:!1,reason:"no-repo",error:"That app no longer exists."};let[c]=await (0,e.f)().select({r:f.githubRepos}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.b)((0,b.u)(f.appRepos.appId,a),(0,b.M)(f.githubRepos.goneAt))).limit(1);if(!c)return{ok:!1,reason:"no-repo",error:"This app isn't linked to a GitHub repository yet."};let d=await p(c.r.accountId);return d?.token?{ok:!0,fullName:c.r.fullName,defaultBranch:c.r.defaultBranch,token:d.token}:{ok:!1,reason:"no-token",error:"The GitHub token can't be read; check the GitHub connection."}}a.s(["c",0,u,"w",0,t,"D",0,v,"$",0,w,"l",0,x,"r",0,r],944571)}];
1
+ module.exports=[944571,565255,a=>{"use strict";var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(109068),h=a.i(358179),i=a.i(492665);function j(a,b){let c=new Map(a.map(a=>[a.externalId,a])),d=new Set(b.map(a=>a.id));return{insert:b.filter(a=>!c.has(a.id)),update:b.filter(a=>c.has(a.id)).map(a=>({id:c.get(a.id).id,repo:a})),gone:a.filter(a=>!d.has(a.externalId)&&!a.goneAt).map(a=>a.id)}}let k=a=>a.trim().toLowerCase();function l(a,b,c){let d=new Map(b.filter(a=>!a.goneAt).map(a=>[k(a.fullName),a.id])),e=new Map(c.map(a=>[a.appId,a])),f=[];for(let b of a){if("github"!==b.repoType||!b.repo)continue;let a=d.get(k(b.repo));if(!a)continue;let c=e.get(b.id);c?.source!=="manual"&&c?.repoId!==a&&f.push({appId:b.id,repoId:a})}return f}function m(a){return a.filter(a=>!a.archived&&!a.goneAt&&(!a.packageCheckedAt||null!==a.pushedAt&&a.pushedAt>a.packageCheckedAt)).sort((a,b)=>(b.pushedAt?.getTime()??0)-(a.pushedAt?.getTime()??0)).slice(0,10)}a.s(["l",0,l,"c",0,m,"C",0,j,"J",0,function(a,b){let c=b.filter(a=>!a.archived&&!a.goneAt).sort((a,b)=>(b.pushedAt?.getTime()??0)-(a.pushedAt?.getTime()??0)),d=k(a),e=c.find(a=>k(a.name)===d);if(e)return{repoId:e.id,why:"name"};let f=c.find(a=>a.packageName&&k(a.packageName.replace(/^@[^/]+\//,""))===d);return f?{repoId:f.id,why:"package"}:null}],565255);let n=a=>`github.readGaps.${a}`,o=a=>`${a} repositor${1===a?"y":"ies"}`;var p=a.i(683439),q=a.i(760417);async function r(a){let d=a?(0,b.b)((0,b.u)(f.accounts.id,a),(0,b.u)(f.accounts.provider,"github")):(0,b.u)(f.accounts.provider,"github"),[j]=await (0,e.f)().select().from(f.accounts).where(d).orderBy((0,c.M)(f.accounts.createdAt)).limit(1);if(!j)return null;let k=(0,h.V)({ciphertext:j.credentialCiphertext,iv:j.credentialIv},(0,i.f)().OPS_ENCRYPTION_KEY);return{account:j,token:k,problem:(0,g.A)(k)}}async function s(a,b,c){let d=0;for(let e=0;e<a.length&&!(Date.now()>b);e+=5){let b=a.slice(e,e+5);d+=b.length,await Promise.allSettled(b.map(c))}return d}async function t(a,c,d={}){let h=await r(a);if(!h)return{ok:!1,error:"GitHub isn't connected."};let{account:i,token:k,problem:o}=h;if(o||!k)return{ok:!1,error:o??"The credential can't be read."};let p=await (0,q.o)(k,d);if(!p.ok){let a=(0,g.E)({ok:!1,kind:"scope"===p.kind?"auth":"missing"===p.kind?"transient":p.kind,error:p.error});return a&&await (0,e.f)().update(f.accounts).set({...a,updatedAt:new Date}).where((0,b.u)(f.accounts.id,i.id)),{ok:!1,error:p.error}}let v=new Date,w=j(await (0,e.f)().select({id:f.githubRepos.id,externalId:f.githubRepos.externalId,goneAt:f.githubRepos.goneAt}).from(f.githubRepos).where((0,b.u)(f.githubRepos.accountId,i.id)).limit(1e3),p.data.repos),x=a=>({owner:a.owner,name:a.name,fullName:a.fullName,defaultBranch:a.defaultBranch,private:a.private,archived:a.archived,htmlUrl:a.htmlUrl,pushedAt:a.pushedAt});await (0,e.f)().transaction(async a=>{for(let c of w.update)await a.update(f.githubRepos).set({...x(c.repo),lastSeenAt:v,goneAt:null,updatedAt:v}).where((0,b.u)(f.githubRepos.id,c.id));w.insert.length&&await a.insert(f.githubRepos).values(w.insert.map(a=>({accountId:i.id,externalId:a.id,...x(a)}))).onConflictDoNothing({target:[f.githubRepos.accountId,f.githubRepos.externalId]}),w.gone.length&&await a.update(f.githubRepos).set({goneAt:v,updatedAt:v}).where((0,b.b)((0,b.y)(f.githubRepos.id,w.gone),(0,b.M)(f.githubRepos.goneAt)))});let y=await (0,e.f)().select().from(f.githubRepos).where((0,b.u)(f.githubRepos.accountId,i.id)).limit(1e3),z=[];p.data.truncated&&z.push("Only the 300 most recently pushed repositories are listed.");let A=0;await s(m(y),c,async a=>{let c=await (0,q.q)(k,a.fullName,d);c.ok?await (0,e.f)().update(f.githubRepos).set({packageName:c.data,packageCheckedAt:new Date,updatedAt:new Date}).where((0,b.u)(f.githubRepos.id,a.id)):"scope"===c.kind&&A++}),A&&z.push("Some package.json files can't be read: give the token Contents read on those repositories.");let B=await (0,e.f)().select({id:f.resources.id,name:f.resources.name,meta:f.resources.meta}).from(f.resources).where((0,b.b)((0,b.u)(f.resources.kind,"app"),(0,b.M)(f.resources.goneAt))).limit(500),C=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId,source:f.appRepos.source}).from(f.appRepos).limit(500),D=a=>"string"==typeof a&&a?a:null,E=l(B.map(a=>({id:a.id,name:a.name,repo:D(a.meta.repo),repoType:D(a.meta.repoType)})),y,C);for(let a of E)await (0,e.f)().insert(f.appRepos).values({appId:a.appId,repoId:a.repoId,source:"vercel"}).onConflictDoUpdate({target:f.appRepos.appId,set:{repoId:a.repoId,source:"vercel",updatedAt:new Date},setWhere:(0,b.c)(f.appRepos.source,"manual")});let F=await (0,e.f)().selectDistinct({id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.b)((0,b.u)(f.githubRepos.accountId,i.id),(0,b.M)(f.githubRepos.goneAt))).limit(500),G=0,H=await s(F,c,async a=>{let b=await (0,q.W)(k,a.fullName,a.defaultBranch,d);b.ok?await u(a.id,b.data):"scope"===b.kind&&G++});G&&z.push("Some Actions runs can't be read: give the token Actions read on those repositories."),H<F.length&&z.push(`${F.length-H} Actions status${F.length-H==1?"":"es"} left for the next run, time budget used.`);let I=await (0,q.k)(k,d);await (0,e.f)().update(f.accounts).set({lastSyncAt:v,status:"ok",lastError:null,updatedAt:v,...I.ok?{expiresAt:I.data.expiresAt}:{}}).where((0,b.u)(f.accounts.id,i.id));let J={at:v.toISOString(),actionsDenied:G,contentsDenied:A};return await (0,e.f)().insert(f.settings).values({key:n(i.id),value:J}).onConflictDoUpdate({target:f.settings.key,set:{value:J,updatedAt:v}}),{ok:!0,repos:y.filter(a=>!a.goneAt).length,linked:F.length,newLinks:E.length,notes:z}}async function u(a,c){await (0,e.f)().update(f.githubRepos).set({actions:c,actionsCheckedAt:new Date,updatedAt:new Date}).where((0,b.u)(f.githubRepos.id,a))}async function v(){let a=await (0,e.f)().select({accountId:f.githubRepos.accountId,n:d.B`count(*)::int`}).from(f.githubRepos).where((0,b.M)(f.githubRepos.goneAt)).groupBy(f.githubRepos.accountId),c=await (0,e.f)().select({accountId:f.githubRepos.accountId,n:d.B`count(*)::int`,oldest:d.B`min(${f.githubRepos.actionsCheckedAt})`}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).groupBy(f.githubRepos.accountId),g=a.length?await (0,e.f)().select({key:f.settings.key,value:f.settings.value}).from(f.settings).where((0,b.y)(f.settings.key,a.map(a=>n(a.accountId)))).limit(a.length):[];return new Map(a.map(a=>{let b=c.find(b=>b.accountId===a.accountId),d=function(a){if(!a||"object"!=typeof a)return null;let b=a=>"number"==typeof a&&Number.isFinite(a)&&a>=0?Math.floor(a):0;return"string"!=typeof a.at?null:{at:a.at,actionsDenied:b(a.actionsDenied),contentsDenied:b(a.contentsDenied)}}(g.find(b=>b.key===n(a.accountId))?.value);return[a.accountId,{repos:a.n,linked:b?.n??0,gaps:function(a,b){if(!a)return null;let c=[];return a.actionsDenied&&c.push(`Actions can't be read on ${o(a.actionsDenied)}${b?` (last read ${b.toLocaleDateString("en-GB",{day:"numeric",month:"short",timeZone:"UTC"})})`:""}: give the token Actions: Read.`),a.contentsDenied&&c.push(`package.json can't be read on ${o(a.contentsDenied)}: give the token Contents: Read.`),c.length?c.join(" "):null}(d,b?.oldest?new Date(b.oldest):null)}]}))}async function w(a){let d={connected:!1,link:null,repos:[],options:[]};if(!(0,p.f)(a))return d;let[g]=await (0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).limit(1),[h]=await (0,e.f)().select({l:f.appRepos,r:f.githubRepos}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return{...d,link:h?{source:h.l.source,repo:h.r}:null};let i=await (0,e.f)().select({id:f.githubRepos.id,name:f.githubRepos.name,fullName:f.githubRepos.fullName,packageName:f.githubRepos.packageName,archived:f.githubRepos.archived,goneAt:f.githubRepos.goneAt,pushedAt:f.githubRepos.pushedAt}).from(f.githubRepos).where((0,b.M)(f.githubRepos.goneAt)).orderBy((0,c.A)(f.githubRepos.pushedAt)).limit(1e3);return{connected:!0,link:h?{source:h.l.source,repo:h.r}:null,repos:i,options:i.map(a=>({id:a.id,fullName:a.fullName,archived:a.archived}))}}async function x(a,c,d){if(!(0,p.f)(a)||null!==c&&!(0,p.f)(c))return{ok:!1,error:"That app or repository no longer exists."};let[g]=await (0,e.f)().select({id:f.resources.id,name:f.resources.name}).from(f.resources).where((0,b.b)((0,b.u)(f.resources.id,a),(0,b.u)(f.resources.kind,"app"))).limit(1);if(!g)return{ok:!1,error:"That app no longer exists."};if(null===c)return(await (0,e.f)().delete(f.appRepos).where((0,b.u)(f.appRepos.appId,a)).returning({appId:f.appRepos.appId})).length?{ok:!0,message:`${g.name} is no longer linked to a repository.`,app:g.name,repo:null}:{ok:!1,error:`${g.name} has no repository linked.`};let[h]=await (0,e.f)().select({id:f.githubRepos.id,fullName:f.githubRepos.fullName}).from(f.githubRepos).where((0,b.b)((0,b.u)(f.githubRepos.id,c),(0,b.M)(f.githubRepos.goneAt))).limit(1);return h?(await (0,e.f)().insert(f.appRepos).values({appId:a,repoId:c,source:"manual",linkedBy:d}).onConflictDoUpdate({target:f.appRepos.appId,set:{repoId:c,source:"manual",linkedBy:d,updatedAt:new Date}}),{ok:!0,message:`${g.name} is linked to ${h.fullName}.`,app:g.name,repo:h.fullName}):{ok:!1,error:"That repository is no longer shared with the GitHub token. Sync GitHub and try again."}}async function y(a,c={}){if(!(0,p.f)(a))return{ok:!1,error:"That app no longer exists."};let[d]=await (0,e.f)().select({r:f.githubRepos}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!d)return{ok:!1,error:"Link a repository first."};let g=await r(d.r.accountId);if(!g?.token)return{ok:!1,error:g?.problem??"GitHub isn't connected."};let h=await (0,q.W)(g.token,d.r.fullName,d.r.defaultBranch,c);return h.ok?(await u(d.r.id,h.data),{ok:!0,run:h.data,repo:d.r.fullName}):{ok:!1,error:h.error}}async function z(a){if(!(0,p.f)(a))return{ok:!1,reason:"no-repo",error:"That app no longer exists."};let[c]=await (0,e.f)().select({r:f.githubRepos}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.b)((0,b.u)(f.appRepos.appId,a),(0,b.M)(f.githubRepos.goneAt))).limit(1);if(!c)return{ok:!1,reason:"no-repo",error:"This app isn't linked to a GitHub repository yet."};let d=await r(c.r.accountId);return d?.token?{ok:!0,fullName:c.r.fullName,defaultBranch:c.r.defaultBranch,token:d.token}:{ok:!1,reason:"no-token",error:"The GitHub token can't be read; check the GitHub connection."}}a.s(["c",0,w,"w",0,v,"D",0,x,"$",0,y,"l",0,z,"r",0,t],944571)}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_data_github-db_ts_02xuh84m-__8z._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[513701,a=>{"use strict";var b=a.i(93321),c=a.i(258261),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(245710),h=a.i(968715),i=a.i(910697);let j=(a,b)=>"string"==typeof b?d.B`to_char(${a} at time zone ${b}, 'YYYY-MM-DD')`:d.B`to_char((${a} at time zone 'UTC') + ${d.B.raw(`interval '${Math.trunc(b.offsetMinutes)} minutes'`)}, 'YYYY-MM-DD')`,k=d.B.raw("2"),l=(a,b)=>d.B`(extract(epoch from date_bin(${d.B.raw(`'${a}'`)}::interval, ${b}, timestamptz '2000-01-01 00:00:00+00')) * 1000)::float8`,m=d.B`percentile_cont(0.95) within group (order by ${f.checks.latencyMs})`,n=d.B`percentile_cont(0.5) within group (order by ${f.checks.latencyMs})`,o=d.B`(count(*) filter (where not ${f.checks.ok}))::int`,p=(0,b.u)(f.checks.inMaintenance,!1),q=d.B`(count(*) filter (where ${f.checks.statusCode} >= 500))::int`,r=d.B`count(*)::int`;async function s(){let[a]=await (0,e.f)().select({h:(0,c.y)(f.rollupsHourly.hour)}).from(f.rollupsHourly);return a?.h?new Date(a.h.getTime()+36e5):null}async function t(a,b,c=(0,g.C)()){if(!a.length)return new Map;try{return await u(a,b,c)}catch(e){if(!function(a){let b=a;for(let a=0;a<4&&b&&"object"==typeof b;a++,b=b.cause){let{code:a,message:c}=b;if("22023"===a&&"string"==typeof c&&/time zone .* not recognized/i.test(c))return!0}return!1}(e))throw e;let d=globalThis;return d.__watchbellPgZoneWarned||(d.__watchbellPgZoneWarned=!0,console.warn(`Watchbell: the database doesn't know the time zone ${c}; uptime days use its current UTC offset instead.`)),u(a,b,{offsetMinutes:(0,g.c)(b)})}}async function u(a,c,l){let m=(0,g.y)((0,h.W)(c,h.F)[0]),n=await s(),o=new Date(Math.max(m.getTime(),n?.getTime()??0,c.getTime()-i.A.rawChecksMs)),p=j(f.rollupsHourly.hour,l),q=j(f.checks.at,l),[r,t]=await Promise.all([n?(0,e.f)().select({monitorId:f.rollupsHourly.monitorId,day:p,checks:d.B`sum(${f.rollupsHourly.checks})::int`,failures:d.B`sum(${f.rollupsHourly.failures})::int`,maint:d.B`sum(${f.rollupsHourly.maintenance})::int`}).from(f.rollupsHourly).where((0,b.b)((0,b.y)(f.rollupsHourly.monitorId,a),(0,b.B)(f.rollupsHourly.hour,m),(0,b.S)(f.rollupsHourly.hour,n))).groupBy(f.rollupsHourly.monitorId,k):Promise.resolve([]),(0,e.f)().select({monitorId:f.checks.monitorId,day:q,checks:d.B`(count(*) filter (where not ${f.checks.inMaintenance}))::int`,failures:d.B`(count(*) filter (where not ${f.checks.ok} and not ${f.checks.inMaintenance}))::int`,maint:d.B`(count(*) filter (where ${f.checks.inMaintenance}))::int`}).from(f.checks).where((0,b.b)((0,b.y)(f.checks.monitorId,a),(0,b.B)(f.checks.at,o))).groupBy(f.checks.monitorId,k)]);return(0,h.C)([...r,...t])}async function v(a,c){if(!a.length)return new Map;let d=i.A.responseHours,g=(0,h.D)(c,36e5,d),j=l("1 hour",f.checks.at),k=(0,b.b)((0,b.y)(f.monitors.resourceId,a),(0,b.B)(f.checks.at,new Date(g)),p),[o,q]=await Promise.all([(0,e.f)().select({appId:f.monitors.resourceId,t:j,v:m}).from(f.checks).innerJoin(f.monitors,(0,b.u)(f.monitors.id,f.checks.monitorId)).where(k).groupBy(f.monitors.resourceId,j),(0,e.f)().select({appId:f.monitors.resourceId,v:m,m:n}).from(f.checks).innerJoin(f.monitors,(0,b.u)(f.monitors.id,f.checks.monitorId)).where(k).groupBy(f.monitors.resourceId)]);return new Map(a.map(a=>[a,{hourly:(0,h.f)(o.filter(b=>b.appId===a),g,36e5,d),p95:q.find(b=>b.appId===a)?.v??null,p50:q.find(b=>b.appId===a)?.m??null}]))}async function w(a,c){let d=i.A.metricBuckets,g=(0,h.D)(c,18e5,d),j=l("30 minutes",f.checks.at),k=await (0,e.f)().select({t:j,p95:m,p50:n,s5xx:q}).from(f.checks).innerJoin(f.monitors,(0,b.u)(f.monitors.id,f.checks.monitorId)).where((0,b.b)((0,b.u)(f.monitors.resourceId,a),(0,b.B)(f.checks.at,new Date(g)),p)).groupBy(j);return{response:(0,h.f)(k.map(a=>({t:a.t,v:a.p95})),g,18e5,d),median:(0,h.f)(k.map(a=>({t:a.t,v:a.p50})),g,18e5,d),errors:(0,h.f)(k.map(a=>({t:a.t,v:a.s5xx})),g,18e5,d,0),first:g,sizeMs:18e5}}async function x(a,c){return(0,e.f)().select({at:f.deployments.createdAtProvider,sha:f.deployments.commitSha,state:f.deployments.state}).from(f.deployments).where((0,b.b)((0,b.u)(f.deployments.resourceId,a),(0,b.u)(f.deployments.target,"production"),(0,b.B)(f.deployments.createdAtProvider,c))).orderBy(f.deployments.createdAtProvider).limit(200)}async function y(a){let c=i.A.healthBuckets,d=(0,h.D)(a,288e4,c),g=new Date(d),j=(0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt)),k=l("48 minutes",f.checks.at),n=l("48 minutes",f.deployments.createdAtProvider),[s,[t],u]=await Promise.all([(0,e.f)().select({t:k,checks:r,failures:o,s5xx:q,p95:m}).from(f.checks).innerJoin(f.monitors,(0,b.u)(f.monitors.id,f.checks.monitorId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(j,(0,b.B)(f.checks.at,g),p)).groupBy(k),(0,e.f)().select({checks:r,failures:o,s5xx:q,p95:m}).from(f.checks).innerJoin(f.monitors,(0,b.u)(f.monitors.id,f.checks.monitorId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(j,(0,b.B)(f.checks.at,g),p)),(0,e.f)().select({t:n,n:r}).from(f.deployments).innerJoin(f.resources,(0,b.u)(f.resources.id,f.deployments.resourceId)).where((0,b.b)(j,(0,b.B)(f.deployments.createdAtProvider,g))).groupBy(n)]),v=(a,b)=>a?(a-b)/a*100:null;return{uptime:t?v(t.checks,t.failures):null,p95:t?.p95??null,s5xx:t?.s5xx??0,deploys:u.reduce((a,b)=>a+b.n,0),series:{uptime:(0,h.f)(s.map(a=>({t:a.t,v:v(a.checks,a.failures)})),d,288e4,c),p95:(0,h.f)(s.map(a=>({t:a.t,v:a.p95})),d,288e4,c),s5xx:(0,h.f)(s.map(a=>({t:a.t,v:a.s5xx})),d,288e4,c,0),deploys:(0,h.f)(u.map(a=>({t:a.t,v:a.n})),d,288e4,c,0)}}}a.s(["P",0,w,"Q",0,v,"j",0,y,"_",0,t,"M",0,x])}];
2
+
3
+ //# sourceMappingURL=src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[46396,a=>{"use strict";var b=a.i(93321),c=a.i(548734),d=a.i(837137),e=a.i(601219),f=a.i(33135);let g={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"}},h=["vercel","supabase","neon","cloudflare","firebase","gcp"],i=a=>a&&"object"==typeof a&&!Array.isArray(a)?a:null,j=a=>"string"==typeof a?a:null,k=a=>Array.isArray(a)?a.map(i).filter(a=>null!==a):[],l=(a,b=160)=>a.length>b?`${a.slice(0,b-1)}…`:a,m=["stspg.io","vercel-status.com","cloudflarestatus.com","supabase.com","neonstatus.com","status.io","status.firebase.google.com","status.cloud.google.com"];function n(a){if("string"!=typeof a)return null;try{let b=new URL(a);return"https:"===b.protocol&&!b.username&&!b.password&&m.some(a=>b.hostname===a||b.hostname.endsWith(`.${a}`))?b.toString():null}catch{return null}}let o={none:"ok",minor:"warn",major:"err",critical:"err",maintenance:"info"},p=["none","minor","major","critical"],q={none:"warn",minor:"warn",major:"err",critical:"err"},r={none:"Open incident",minor:"Minor incident",major:"Major incident",critical:"Critical incident"};function s(a,b={}){let c=i(a.status),d=j(c?.indicator);if(!c||!d||!(d in o))return null;let e=k(a.incidents),f=e.slice(0,5).map(a=>({name:l(j(a.name)??"Incident"),impact:j(a.impact)??"unknown",startedAt:j(a.started_at)??j(a.created_at),url:n(a.shortlink)})),g=(b.colos??[]).map(a=>a.replace(/\W/g,"")).filter(Boolean),h=g.length?RegExp(`\\b(${g.join("|")})\\b`):null,m=k(a.maintenances).filter(a=>["in_progress","verifying"].includes(j(a.status)??"")&&(!h||h.test(j(a.name)??""))),t=l(j(c.description)??""),u=()=>{let a=m[0];return{state:"info",indicator:"maintenance",description:l(`Scheduled maintenance \xb7 ${j(a.name)??""}`),incidents:m.slice(0,5).map(a=>({name:l(j(a.name)??"Maintenance"),impact:"maintenance",startedAt:j(a.scheduled_for),url:n(a.shortlink)}))}};if(e.length){let a=e.map(a=>j(a.impact)??"").filter(a=>p.includes(a)).sort((a,b)=>p.indexOf(b)-p.indexOf(a))[0]??"minor",b=q[a];return{state:b,indicator:a,description:b===o[d]&&"none"!==d?t:r[a],incidents:f}}let v=Array.isArray(a.components)?k(a.components):null;if(g.length&&v){let a=RegExp(`\\((${g.join("|")})\\)\\s*$`),b=v.filter(b=>a.test(j(b.name)??"")&&(j(b.status)??"operational")!=="operational");if(b.length){let c=b.find(a=>"major_outage"===j(a.status))??b[0],d="major_outage"===j(c.status);return{state:d?"err":"warn",indicator:d?"major":"minor",description:l(`${a.exec(j(c.name)??"")?.[1]} data centre: ${(j(c.status)??"").replace(/_/g," ")}`),incidents:f}}return m.length?u():{state:"ok",indicator:"none",description:`No open incidents near ${g.join(", ")}`,incidents:f}}return"none"===d&&m.length?u():{state:o[d],indicator:d,description:t,incidents:f}}let t=[[500,"err"],[300,"warn"],[200,"info"],[100,"ok"]];async function u(a,b){let c,d=AbortSignal.timeout(5e3);try{c=await b(a,{headers:{Accept:"application/json","User-Agent":"OpsConsole-Status/1.0"},signal:d,cache:"no-store"})}catch{return{ok:!1}}if(!c.ok)return await c.body?.cancel().catch(()=>void 0),{ok:!1,status:c.status};try{let{bytes:a,truncated:b}=await (0,f.z)(c,1048576,(0,f.X)(d));if(b)return{ok:!1,format:!0};return{ok:!0,json:JSON.parse(new TextDecoder().decode(a))}}catch{return{ok:!1,format:!0}}}let v=a=>`https://${a}/api/v2`;async function w(a,b,c={}){let d=c.fetch??fetch,e=g[a].label,f=a=>({ok:!1,error:a.format?`The ${e} status feed answered in a format the console doesn't recognise.`:a.status?`The ${e} status feed answered ${a.status}.`:`The ${e} status feed didn't answer.`}),h=null;if("vercel"===a||"supabase"===a){let b=await u(`${v("vercel"===a?"www.vercel-status.com":"status.supabase.com")}/summary.json`,d);if(!b.ok)return f(b);let c=i(b.json);h=c&&s({status:c.status,incidents:c.incidents,maintenances:c.scheduled_maintenances})}else if("cloudflare"===a){let a=v("www.cloudflarestatus.com"),[b,e,g,j]=await Promise.all([u(`${a}/status.json`,d),u(`${a}/incidents/unresolved.json`,d),u(`${a}/scheduled-maintenances/active.json`,d),u(`${a}/components.json`,d)]);if(!b.ok)return f(b);h=s({status:i(b.json)?.status,incidents:e.ok?i(e.json)?.incidents:[],maintenances:g.ok?i(g.json)?.scheduled_maintenances:[],components:j.ok?i(j.json)?.components:void 0},{colos:c.colos??["SIN","CGK"]})}else if("neon"===a){let a=await u("https://api.status.io/1.0/status/6878fc85709daa75be6c7e3c",d);if(!a.ok)return f(a);h=function(a){let b=i(i(i(a)?.result)?.status_overall),c="number"==typeof b?.status_code?b.status_code:null;if(!b||null===c)return null;let d=t.find(([a])=>c>=a)?.[1]??"ok",e=k(i(i(a)?.result)?.incidents).slice(0,5).map(a=>({name:l(j(a.name)??"Incident"),impact:"incident",startedAt:j(a.datetime_open),url:"https://neonstatus.com"}));return{state:d,indicator:String(c),description:l(j(b.status)??""),incidents:e}}(a.json)}else{let c="firebase"===a?"status.firebase.google.com":"status.cloud.google.com",e=await u(`https://${c}/incidents.json`,d);if(!e.ok)return f(e);h=function(a,b,c={}){if(!Array.isArray(a))return null;let d=c.host??"status.cloud.google.com",e=k(a).filter(a=>{let c=j(a.end);return null!==j(a.begin)&&(!c||new Date(c).getTime()>b.getTime())}),f=e.filter(a=>!c.relevant||k(a.affected_products).some(a=>c.relevant.test(j(a.title)??"")));if(!f.length){let a=e.length;return{state:"ok",indicator:"none",description:a&&c.relevant?`No incidents affecting Firebase (${a} elsewhere)`:"No open incidents",incidents:[]}}let g=f.some(a=>"SERVICE_OUTAGE"===a.status_impact),h=f.every(a=>"SERVICE_INFORMATION"===a.status_impact);return{state:g?"err":h?"info":"warn",indicator:g?"major":h?"info":"minor",description:l(j(f[0].external_desc)??"Incident"),incidents:f.slice(0,5).map(a=>({name:l(j(a.external_desc)??"Incident"),impact:j(a.status_impact)??"unknown",startedAt:j(a.begin),url:j(a.uri)?n(`https://${d}/${j(a.uri)}`):null}))}}(e.json,b,"gcp"===a?{relevant:/firestore|firebase|identity|monitoring/i,host:c}:{host:c})}return h?{ok:!0,reading:{provider:a,...h}}:f({format:!0})}var x=a.i(245710);async function y(a){let[f]=await (0,c.f)().select().from(d.settings).where((0,b.u)(d.settings.key,"status.cloudflareColos")).limit(1),i=Array.isArray(f?.value)?f.value.filter(a=>"string"==typeof a):void 0,j=new Map((await (0,c.f)().select().from(d.providerStatus)).map(a=>[a.provider,a])),k=await Promise.all(h.map(b=>w(b,a,{colos:i}))),l=[];for(let[b,e]of h.entries()){let f=k[b],h=j.get(e);if(f.ok){let{state:b,indicator:i,description:j,incidents:k}=f.reading;await (0,c.f)().insert(d.providerStatus).values({provider:e,state:b,indicator:i,description:j,incidents:k,checkedAt:a,lastOkAt:a,error:null}).onConflictDoUpdate({target:d.providerStatus.provider,set:{state:b,indicator:i,description:j,incidents:k,checkedAt:a,lastOkAt:a,error:null}});let m=h?.state??"unknown",n=a=>"warn"===a||"err"===a;n(b)&&!n(m)&&l.push({type:"system",kind:b,message:`${g[e].label} reports an incident`,detail:j,resourceId:null,reason:"ProviderIncident"}),!n(b)&&n(m)&&l.push({type:"system",kind:"ok",message:`${g[e].label} incident resolved`,detail:j,resourceId:null,reason:"ProviderRecovered"})}else{let b=!h?.lastOkAt||a.getTime()-h.lastOkAt.getTime()>18e5;await (0,c.f)().insert(d.providerStatus).values({provider:e,state:"unknown",checkedAt:a,error:f.error}).onConflictDoUpdate({target:d.providerStatus.provider,set:{checkedAt:a,error:f.error,...b?{state:"unknown"}:{}}})}}await (0,e.f)(l)}async function z(){return(0,c.f)().select().from(d.providerStatus)}async function A(a){return B(await z(),a)}function B(a,b){let c=new Map(a.map(a=>[a.provider,a]));return h.map(a=>{let d=c.get(a),e={provider:a,...g[a]};if(!d)return{...e,state:"unknown",text:"Not read yet",incidents:[],checked:"—"};let f=null!==d.error,h="unknown"===d.state?`Feed didn't answer \xb7 last read ${d.lastOkAt?(0,x.$)(d.lastOkAt,b):"never"}`:d.description||("ok"===d.state?"No open incidents":"Incident");return{...e,state:d.state,text:h,incidents:d.incidents,checked:(0,x.$)(f&&d.lastOkAt?d.lastOkAt:d.checkedAt,b)}})}a.s(["h",0,A,"u",0,B,"B",0,z,"i",0,y],46396)}];
1
+ module.exports=[46396,23195,a=>{"use strict";var b=a.i(93321),c=a.i(548734),d=a.i(837137),e=a.i(601219),f=a.i(33135);let g={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"}},h=["vercel","supabase","neon","cloudflare","firebase","gcp"],i=a=>a&&"object"==typeof a&&!Array.isArray(a)?a:null,j=a=>"string"==typeof a?a:null,k=a=>Array.isArray(a)?a.map(i).filter(a=>null!==a):[],l=(a,b=160)=>a.length>b?`${a.slice(0,b-1)}…`:a,m=["stspg.io","vercel-status.com","cloudflarestatus.com","supabase.com","neonstatus.com","status.io","status.firebase.google.com","status.cloud.google.com"];function n(a){if("string"!=typeof a)return null;try{let b=new URL(a);return"https:"===b.protocol&&!b.username&&!b.password&&m.some(a=>b.hostname===a||b.hostname.endsWith(`.${a}`))?b.toString():null}catch{return null}}let o={none:"ok",minor:"warn",major:"err",critical:"err",maintenance:"info"},p=["none","minor","major","critical"],q={none:"warn",minor:"warn",major:"err",critical:"err"},r={none:"Open incident",minor:"Minor incident",major:"Major incident",critical:"Critical incident"},s=/firestore|authentication|hosting/i,t=/management api|mgmt api|dashboard|billing|support|docs|marketplace|branching|^cli\b|analytics/i,u=a=>a.slice(0,3).join(", ");function v(a,b={}){let c=i(a.status),d=j(c?.indicator);if(!c||!d||!(d in o))return null;let e=k(a.incidents),f=e.slice(0,5).map(a=>{let c=k(a.components).map(a=>j(a.name)).filter(a=>!!a).map(a=>l(a,60));return{name:l(j(a.name)??"Incident"),impact:j(a.impact)??"unknown",startedAt:j(a.started_at)??j(a.created_at),url:n(a.shortlink),...c.length?{products:c}:{},...j(a.updated_at)?{updatedAt:j(a.updated_at)}:{},...b.controlPlane?{relevant:c.length?!c.every(a=>b.controlPlane.test(a)):!b.controlPlane.test(j(a.name)??"")}:{}}});if(b.controlPlane&&f.length&&f.every(a=>!1===a.relevant)){let a=f[0],b=a.products?.length?`${u(a.products)}: `:"",c=" (projects and databases aren't affected)";return{state:"info",indicator:"info",description:`${l(`${b}${a.name}`,160-c.length)}${c}`,incidents:f}}let g=(b.colos??[]).map(a=>a.replace(/\W/g,"")).filter(Boolean),h=g.length?RegExp(`\\b(${g.join("|")})\\b`):null,m=k(a.maintenances).filter(a=>["in_progress","verifying"].includes(j(a.status)??"")&&(!h||h.test(j(a.name)??""))),s=l(j(c.description)??""),t=()=>{let a=m[0];return{state:"info",indicator:"maintenance",description:l(`Scheduled maintenance \xb7 ${j(a.name)??""}`),incidents:m.slice(0,5).map(a=>({name:l(j(a.name)??"Maintenance"),impact:"maintenance",startedAt:j(a.scheduled_for),url:n(a.shortlink)}))}};if(e.length){let a=(b.controlPlane?e.filter((a,b)=>f[b]?.relevant!==!1):e).map(a=>j(a.impact)??"").filter(a=>p.includes(a)).sort((a,b)=>p.indexOf(b)-p.indexOf(a))[0]??"minor",c=q[a],g=b.controlPlane?f.find(a=>!1!==a.relevant&&a.products?.length):void 0,h=g?l(`${u(g.products)}: ${g.name}`):c===o[d]&&"none"!==d?s:r[a];return{state:c,indicator:a,description:h,incidents:f}}let w=Array.isArray(a.components)?k(a.components):null;if(g.length&&w){let a=RegExp(`\\((${g.join("|")})\\)\\s*$`),b=w.filter(b=>a.test(j(b.name)??"")&&(j(b.status)??"operational")!=="operational");if(b.length){let c=b.find(a=>"major_outage"===j(a.status))??b[0],d="major_outage"===j(c.status);return{state:d?"err":"warn",indicator:d?"major":"minor",description:l(`${a.exec(j(c.name)??"")?.[1]} data centre: ${(j(c.status)??"").replace(/_/g," ")}`),incidents:f}}return m.length?t():{state:"ok",indicator:"none",description:`No open incidents near ${g.join(", ")}`,incidents:f}}return"none"===d&&m.length?t():{state:o[d],indicator:d,description:s,incidents:f}}let w=[[500,"err"],[300,"warn"],[200,"info"],[100,"ok"]];async function x(a,b){let c,d=AbortSignal.timeout(5e3);try{c=await b(a,{headers:{Accept:"application/json","User-Agent":"OpsConsole-Status/1.0"},signal:d,cache:"no-store"})}catch{return{ok:!1}}if(!c.ok)return await c.body?.cancel().catch(()=>void 0),{ok:!1,status:c.status};try{let{bytes:a,truncated:b}=await (0,f.z)(c,1048576,(0,f.X)(d));if(b)return{ok:!1,format:!0};return{ok:!0,json:JSON.parse(new TextDecoder().decode(a))}}catch{return{ok:!1,format:!0}}}let y=a=>`https://${a}/api/v2`;async function z(a,b,c={}){let d=c.fetch??fetch,e=g[a].label,f=a=>({ok:!1,error:a.format?`The ${e} status feed answered in a format the console doesn't recognise.`:a.status?`The ${e} status feed answered ${a.status}.`:`The ${e} status feed didn't answer.`}),h=null;if("vercel"===a||"supabase"===a){let b=await x(`${y("vercel"===a?"www.vercel-status.com":"status.supabase.com")}/summary.json`,d);if(!b.ok)return f(b);let c=i(b.json);h=c&&v({status:c.status,incidents:c.incidents,maintenances:c.scheduled_maintenances},"supabase"===a?{controlPlane:t}:{})}else if("cloudflare"===a){let a=y("www.cloudflarestatus.com"),[b,e,g,j]=await Promise.all([x(`${a}/status.json`,d),x(`${a}/incidents/unresolved.json`,d),x(`${a}/scheduled-maintenances/active.json`,d),x(`${a}/components.json`,d)]);if(!b.ok)return f(b);h=v({status:i(b.json)?.status,incidents:e.ok?i(e.json)?.incidents:[],maintenances:g.ok?i(g.json)?.scheduled_maintenances:[],components:j.ok?i(j.json)?.components:void 0},{colos:c.colos??["SIN","CGK"]})}else if("neon"===a){let a=await x("https://api.status.io/1.0/status/6878fc85709daa75be6c7e3c",d);if(!a.ok)return f(a);h=function(a){let b=i(i(i(a)?.result)?.status_overall),c="number"==typeof b?.status_code?b.status_code:null;if(!b||null===c)return null;let d=w.find(([a])=>c>=a)?.[1]??"ok",e=k(i(i(a)?.result)?.incidents).slice(0,5).map(a=>({name:l(j(a.name)??"Incident"),impact:"incident",startedAt:j(a.datetime_open),url:"https://neonstatus.com"}));return{state:d,indicator:String(c),description:l(j(b.status)??""),incidents:e}}(a.json)}else{let c="firebase"===a?"status.firebase.google.com":"status.cloud.google.com",e=await x(`https://${c}/incidents.json`,d);if(!e.ok)return f(e);h=function(a,b,c={}){if(!Array.isArray(a))return null;let d=c.host??"status.cloud.google.com",e=k(a).filter(a=>{let c=j(a.end);return null!==j(a.begin)&&(!c||new Date(c).getTime()>b.getTime())}),f=e.filter(a=>!c.relevant||k(a.affected_products).some(a=>c.relevant.test(j(a.title)??"")));if(!f.length){let a=e.length;return{state:"ok",indicator:"none",description:a&&c.relevant?`No incidents affecting Firebase (${a} elsewhere)`:"No open incidents",incidents:[]}}let g=a=>k(a.affected_products).map(a=>j(a.title)).filter(a=>!!a).map(a=>l(a,60)),h=a=>!c.used||g(a).some(a=>c.used.test(a)),i=f.slice(0,5).map(a=>{let b=g(a);return{name:l(j(a.external_desc)??"Incident"),impact:j(a.status_impact)??"unknown",startedAt:j(a.begin),url:j(a.uri)?n(`https://${d}/${j(a.uri)}`):null,...b.length?{products:b}:{},...j(a.modified)?{updatedAt:j(a.modified)}:{},...c.used?{relevant:h(a)}:{}}}),m=f.filter(h),o=a=>{let b=g(a),d=j(a.external_desc)??"Incident";return c.used&&b.length?`${u(b)}: ${d}`:d};if(!m.length){let a=" (not Firestore, Authentication or Hosting)";return{state:"info",indicator:"info",description:`${l(o(f[0]),160-a.length)}${a}`,incidents:i}}let p=m.some(a=>"SERVICE_OUTAGE"===a.status_impact),q=m.every(a=>"SERVICE_INFORMATION"===a.status_impact);return{state:p?"err":q?"info":"warn",indicator:p?"major":q?"info":"minor",description:l(o(m[0])),incidents:i}}(e.json,b,"gcp"===a?{relevant:/firestore|firebase|identity|monitoring/i,host:c}:{host:c,used:s})}return h?{ok:!0,reading:{provider:a,...h}}:f({format:!0})}a.s(["q",0,g,"o",0,h,"C",0,function(a,b,c){return[a.products?.length&&!b.startsWith(u(a.products))?u(a.products):null,b.includes(a.name)?null:a.name,!1===a.relevant?"not something Watchbell watches":null,function(a,b){let c=Date.parse(a.updatedAt??a.startedAt??"");if(!Number.isFinite(c)||b.getTime()-c<=864e5)return null;let d=Math.floor((b.getTime()-c)/864e5);return`no update for ${d} day${1===d?"":"s"}, may be stale`}(a,c)].filter(Boolean).join(" · ")},"H",0,z],23195);var A=a.i(245710);async function B(a){let[f]=await (0,c.f)().select().from(d.settings).where((0,b.u)(d.settings.key,"status.cloudflareColos")).limit(1),i=Array.isArray(f?.value)?f.value.filter(a=>"string"==typeof a):void 0,j=new Map((await (0,c.f)().select().from(d.providerStatus)).map(a=>[a.provider,a])),k=await Promise.all(h.map(b=>z(b,a,{colos:i}))),l=[];for(let[b,e]of h.entries()){let f=k[b],h=j.get(e);if(f.ok){let{state:b,indicator:i,description:j,incidents:k}=f.reading;await (0,c.f)().insert(d.providerStatus).values({provider:e,state:b,indicator:i,description:j,incidents:k,checkedAt:a,lastOkAt:a,error:null}).onConflictDoUpdate({target:d.providerStatus.provider,set:{state:b,indicator:i,description:j,incidents:k,checkedAt:a,lastOkAt:a,error:null}});let m=h?.state??"unknown",n=a=>"warn"===a||"err"===a;n(b)&&!n(m)&&l.push({type:"system",kind:b,message:`${g[e].label} reports an incident`,detail:j,resourceId:null,reason:"ProviderIncident"}),!n(b)&&n(m)&&l.push({type:"system",kind:"ok",message:`${g[e].label} incident resolved`,detail:j,resourceId:null,reason:"ProviderRecovered"})}else{let b=!h?.lastOkAt||a.getTime()-h.lastOkAt.getTime()>18e5;await (0,c.f)().insert(d.providerStatus).values({provider:e,state:"unknown",checkedAt:a,error:f.error}).onConflictDoUpdate({target:d.providerStatus.provider,set:{checkedAt:a,error:f.error,...b?{state:"unknown"}:{}}})}}await (0,e.f)(l)}async function C(){return(0,c.f)().select().from(d.providerStatus)}async function D(a){return E(await C(),a)}function E(a,b){let c=new Map(a.map(a=>[a.provider,a]));return h.map(a=>{let d=c.get(a),e={provider:a,...g[a]};if(!d)return{...e,state:"unknown",text:"Not read yet",incidents:[],checked:"—"};let f=null!==d.error,h="unknown"===d.state?`Feed didn't answer \xb7 last read ${d.lastOkAt?(0,A.$)(d.lastOkAt,b):"never"}`:d.description||("ok"===d.state?"No open incidents":"Incident");return{...e,state:d.state,text:h,incidents:d.incidents,checked:(0,A.$)(f&&d.lastOkAt?d.lastOkAt:d.checkedAt,b)}})}a.s(["h",0,D,"u",0,E,"B",0,C,"i",0,B],46396)}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[579739,a=>{"use strict";let b,c=()=>b??=Promise.all([a.A(372153),a.A(106706)]);async function d(a){let[{currentDemoVisitor:b},{withDemoDb:d}]=await c(),e=await b();return d(e.seed,a,e.email)}async function e(){let[{readDemoVisitor:a},{withDemoDb:b}]=await c(),d=await a();d&&await b(d.seed,async()=>void 0,d.email)}a.s(["demoPglite",0,{query:(a,b,c)=>d(d=>d.query(a,b,c)),exec:(a,b)=>d(c=>c.exec(a,b)),transaction:a=>d(b=>b.transaction(a))},"openDemoDb",0,e])},106706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0p5znbfo0wgsu._.js","server/chunks/ssr/src_db_pglite_ts_0r1r9wqxilnam._.js","server/chunks/ssr/src_lib_demo_0a5wqvhuj5hjh._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(601533)))}];
1
+ module.exports=[579739,a=>{"use strict";let b,c=()=>b??=Promise.all([a.A(372153),a.A(106706)]);async function d(a){let[{currentDemoVisitor:b},{withDemoDb:d}]=await c(),e=await b();return d(e.seed,a,e.email)}async function e(){let[{readDemoVisitor:a},{withDemoDb:b}]=await c(),d=await a();d&&await b(d.seed,async()=>void 0,d.email)}a.s(["demoPglite",0,{query:(a,b,c)=>d(d=>d.query(a,b,c)),exec:(a,b)=>d(c=>c.exec(a,b)),transaction:a=>d(b=>b.transaction(a))},"openDemoDb",0,e])},106706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0eaqsql69fhf8._.js","server/chunks/ssr/src_db_pglite_ts_0r1r9wqxilnam._.js","server/chunks/ssr/src_lib_demo_0a5wqvhuj5hjh._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(601533)))}];
2
2
 
3
- //# sourceMappingURL=src_lib_demo_1wu-a6lubzph6._.js.map
3
+ //# sourceMappingURL=src_lib_demo_0ftmf3wmtezvl._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[919066,a=>{"use strict";var b=a.i(666680),c=a.i(902157),d=a.i(750227),e=a.i(93321),f=a.i(351674),g=a.i(61675),h=a.i(159203),i=a.i(548734),j=a.i(837137),k=a.i(267767),l=a.i(312573),m=a.i(473483);let n="selfhost.setupCode";async function o(a=(0,i.f)()){let[b]=await a.select({id:j.members.id}).from(j.members).where((0,e.u)(j.members.role,"owner")).limit(1);return void 0!==b}async function p(a){let[b]=await a.select({value:j.settings.value}).from(j.settings).where((0,e.u)(j.settings.key,n)).limit(1),c=b?.value;return"string"==typeof c?.hash&&"string"==typeof c.expiresAt?{hash:c.hash,expiresAt:c.expiresAt}:null}l.t.setupIp,l.t.setupAll;let q={status:"error",message:"That setup code is wrong. Copy it from the server log.",field:"code"},r={status:"error",message:"That setup code has expired. Restart Watchbell to print a new one.",field:"code"};function s(a,c,d){var e;let f,g;return a&&(e=a.hash,f=Buffer.from(e,"hex"),g=Buffer.from(c,"hex"),f.length===g.length&&f.length>0&&(0,b.timingSafeEqual)(f,g))?Date.parse(a.expiresAt)>d.getTime()?null:r:q}async function t(a,b){let e=await u(a,b);return"error"!==e.status&&function(a){try{(0,c.rmSync)(a,{force:!0})}catch{console.warn(`Watchbell couldn't remove ${a}; delete it by hand.`)}}(b.codeFile??function(a=process.env){return(0,d.resolve)((0,h.d)(a,"DATA_DIR")||"./data","setup-code")}()),e}async function u(a,c){var d,h;let q,r=c.now??new Date,t={...a,email:a.email.trim().toLowerCase()},u=function(a){if(!a.code.trim())return{status:"error",message:"Enter the setup code from the server log.",field:"code"};if(a.email.length>320||!g.z.email().safeParse(a.email).success)return{status:"error",message:"Enter a valid email address.",field:"email"};let b=(0,m.H)(a.password);return b?{status:"error",message:b,field:"password"}:a.password!==a.confirm?{status:"error",message:"The passwords don't match.",field:"confirm"}:null}(t);if(u)return u;if(await o())return{status:"done"};let v=[[l.t.setupAll,"all"],...c.ip?[[l.t.setupIp,c.ip]]:[]];for(let[a,b]of v){let d=await c.peek(a,b);if(!d.allowed)return{status:"error",message:`Too many wrong codes. Try again in ${(0,l.H)(d.retryAfter)}, or restart Watchbell.`}}let w=(d=t.code,h=c.key,q=d.trim().toUpperCase().replace(/[-\s]/g,""),(0,b.createHmac)("sha256",h).update(q).digest("hex")),x=s(await p((0,i.f)()),w,r);if(x){for(let[a,b]of v)await c.limit(a,b);return x}let y=await (0,m.Z)(t.password);return(0,i.f)().transaction(async a=>{if(await a.execute(f.B`select pg_advisory_xact_lock(${k.v})`),await o(a))return{status:"done"};let b=s(await p(a),w,r);if(b)return b;let[c]=await a.insert(j.localUsers).values({email:t.email,passwordHash:y}).returning({id:j.localUsers.id});return await a.insert(j.members).values({userId:c.id,email:t.email,role:"owner",lastSeenAt:r}),await a.delete(j.settings).where((0,e.b)((0,e.u)(j.settings.key,n),f.B`${j.settings.value}->>'hash' = ${w}`)),{status:"ok",userId:c.id}})}a.s(["P",0,t,"x",0,o],919066)}];
1
+ module.exports=[919066,a=>{"use strict";var b=a.i(666680),c=a.i(902157),d=a.i(750227),e=a.i(93321),f=a.i(351674),g=a.i(61675),h=a.i(159203),i=a.i(548734),j=a.i(837137),k=a.i(267767),l=a.i(312573),m=a.i(473483);let n="selfhost.setupCode";async function o(a=(0,i.f)()){let[b]=await a.select({id:j.members.id}).from(j.members).where((0,e.u)(j.members.role,"owner")).limit(1);return void 0!==b}async function p(a){let[b]=await a.select({value:j.settings.value}).from(j.settings).where((0,e.u)(j.settings.key,n)).limit(1),c=b?.value;return"string"==typeof c?.hash&&"string"==typeof c.expiresAt?{hash:c.hash,expiresAt:c.expiresAt}:null}l.t.setupIp,l.t.setupAll;let q={status:"error",message:"That setup code is wrong. Copy it from where you started Watchbell, or from its log.",field:"code"},r={status:"error",message:"That setup code has expired. Restart Watchbell to print a new one.",field:"code"};function s(a,c,d){var e;let f,g;return a&&(e=a.hash,f=Buffer.from(e,"hex"),g=Buffer.from(c,"hex"),f.length===g.length&&f.length>0&&(0,b.timingSafeEqual)(f,g))?Date.parse(a.expiresAt)>d.getTime()?null:r:q}async function t(a,b){let e=await u(a,b);return"error"!==e.status&&function(a){try{(0,c.rmSync)(a,{force:!0})}catch{console.warn(`Watchbell couldn't remove ${a}; delete it by hand.`)}}(b.codeFile??function(a=process.env){return(0,d.resolve)((0,h.d)(a,"DATA_DIR")||"./data","setup-code")}()),e}async function u(a,c){var d,h;let q,r=c.now??new Date,t={...a,email:a.email.trim().toLowerCase()},u=function(a){if(!a.code.trim())return{status:"error",message:"Enter the setup code that watchbell start printed (it is in the log too).",field:"code"};if(a.email.length>320||!g.z.email().safeParse(a.email).success)return{status:"error",message:"Enter a valid email address.",field:"email"};let b=(0,m.H)(a.password);return b?{status:"error",message:b,field:"password"}:a.password!==a.confirm?{status:"error",message:"The passwords don't match.",field:"confirm"}:null}(t);if(u)return u;if(await o())return{status:"done"};let v=[[l.t.setupAll,"all"],...c.ip?[[l.t.setupIp,c.ip]]:[]];for(let[a,b]of v){let d=await c.peek(a,b);if(!d.allowed)return{status:"error",message:`Too many wrong codes. Try again in ${(0,l.H)(d.retryAfter)}, or restart Watchbell.`}}let w=(d=t.code,h=c.key,q=d.trim().toUpperCase().replace(/[-\s]/g,""),(0,b.createHmac)("sha256",h).update(q).digest("hex")),x=s(await p((0,i.f)()),w,r);if(x){for(let[a,b]of v)await c.limit(a,b);return x}let y=await (0,m.Z)(t.password);return(0,i.f)().transaction(async a=>{if(await a.execute(f.B`select pg_advisory_xact_lock(${k.v})`),await o(a))return{status:"done"};let b=s(await p(a),w,r);if(b)return b;let[c]=await a.insert(j.localUsers).values({email:t.email,passwordHash:y}).returning({id:j.localUsers.id});return await a.insert(j.members).values({userId:c.id,email:t.email,role:"owner",lastSeenAt:r}),await a.delete(j.settings).where((0,e.b)((0,e.u)(j.settings.key,n),f.B`${j.settings.value}->>'hash' = ${w}`)),{status:"ok",userId:c.id}})}a.s(["P",0,t,"x",0,o],919066)}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_local-auth_setup_ts_05zj7z33ne4f5._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[20060,a=>{"use strict";let b=/^v?(\d{1,9})\.(\d{1,9})\.(\d{1,9})(?:-([0-9A-Za-z.-]{1,64}))?(?:\+[0-9A-Za-z.-]{1,64})?$/,c=/^\d{4}-\d{2}-\d{2}$/;function d(a){let c="string"==typeof a?b.exec(a.trim()):null;if(!c)return null;let[d,e,f]=[c[1],c[2],c[3]].map(Number);return{major:d,minor:e,patch:f,pre:c[4]??null,text:`${d}.${e}.${f}${c[4]?`-${c[4]}`:""}`}}function e(a,b){return a.major!==b.major?a.major-b.major:a.minor!==b.minor?a.minor-b.minor:a.patch!==b.patch?a.patch-b.patch:a.pre===b.pre?0:null===a.pre?1:null===b.pre||a.pre<b.pre?-1:1}function f(a){let b=(a&&"object"==typeof a?a:null)?.result?.releases;if(!Array.isArray(b)||0===b.length)return null;let d=[];for(let a of b){if(!a||"object"!=typeof a||"string"!=typeof a.name||"boolean"!=typeof a.isEol||null!=a.eolFrom&&("string"!=typeof a.eolFrom||!c.test(a.eolFrom)))return null;d.push({name:a.name,isEol:a.isEol,eolFrom:a.eolFrom??null})}return d}var g=a.i(159203);async function h(a,b,c,d){let e;try{e=await c(a,{method:"GET",headers:{Accept:"application/json","Accept-Encoding":"gzip"},signal:AbortSignal.timeout(d),cache:"no-store"})}catch{return{ok:!1,error:`Couldn't reach ${b}`}}if(!e.ok)return{ok:!1,error:`${b} returned an error (${e.status})`};try{return{ok:!0,body:await e.json()}}catch{return{ok:!1,error:`${b} answered in a format the console doesn't recognise`}}}async function i(a={}){let b=a.fetch??fetch,c=a.timeoutMs??8e3,[g,j]=await Promise.all([h("https://nodejs.org/dist/index.json","nodejs.org",b,c),h("https://endoflife.date/api/v1/products/nodejs/","endoflife.date",b,c)]),k=g.ok?function(a){if(!Array.isArray(a)||0===a.length)return null;let b=[],c=new Map;for(let f of a){if(!f||"object"!=typeof f||"boolean"!=typeof f.security)return null;let a=d(f.version);if(!a||null!==a.pre||!String(f.version).startsWith("v"))return null;f.security&&b.push(a);let g=c.get(a.major);(!g||e(a,g)>0)&&c.set(a.major,a)}return b.sort((a,b)=>e(b,a)),{security:b.map(a=>a.text),latest:Object.fromEntries([...c].sort((a,b)=>b[0]-a[0]).map(([a,b])=>[String(a),b.text]))}}(g.body):null,l=j.ok?f(j.body):null,m=a=>`${a} answered in a format the console doesn't recognise`;return{index:k,indexError:g.ok?k?null:m("nodejs.org"):g.error,cycles:l,cyclesError:j.ok?l?null:m("endoflife.date"):j.error}}let j=a=>"string"==typeof a&&Number.isFinite(Date.parse(a))?a:null,k=a=>"string"==typeof a?a:null;a.s(["o",0,"runtime.node","Y",0,8e3,"i",0,i,"T",0,function(a,b,c){let d=c.toISOString();return{index:b.index??a?.index??null,indexCheckedAt:d,indexError:b.indexError,cycles:b.cycles??a?.cycles??null,cyclesCheckedAt:d,cyclesError:b.cyclesError}},"s",0,function(a=process.env){let b=(0,g.N)(a,"NO_UPDATE_CHECK"),c=b?.value.trim()??"";return{off:""!==c&&!/^(0|false|no|off)$/i.test(c),name:b?.name??"WATCHBELL_NO_UPDATE_CHECK"}},"m",0,function(a){return a&&"object"==typeof a?{index:function(a){let b=a&&"object"==typeof a?a:null;if(!b||!Array.isArray(b.security)||!b.latest||"object"!=typeof b.latest)return null;let c=b.security.map(d),e=Object.entries(b.latest).map(([a,b])=>[a,d(b)]);return c.some(a=>!a)||e.some(([a,b])=>!b||String(b.major)!==a)?null:{security:c.map(a=>a.text),latest:Object.fromEntries(e.map(([a,b])=>[a,b.text]))}}(a.index),indexCheckedAt:j(a.indexCheckedAt),indexError:k(a.indexError),cycles:f({result:{releases:a.cycles}}),cyclesCheckedAt:j(a.cyclesCheckedAt),cyclesError:k(a.cyclesError)}:null},"E",0,function(a,b,c,f={off:!1,name:""}){if(f.off)return{state:"off",text:`Node ${a.replace(/^v/,"")}: check turned off (${f.name})`,note:null};let g=b?.indexCheckedAt?Date.parse(b.indexCheckedAt):null,h=!!b?.index&&!b.indexError&&null!==g&&g<=c.getTime()&&c.getTime()-g<1296e5,i=function(a,{index:b,indexFresh:c,cycles:f},g){let h=d(a);if(!h)return{kind:"unknown",state:"unknown",version:null,fixedIn:null,eolFrom:null,text:`Node ${String(a)}: unknown (the version can't be read)`};let i=`Node ${h.text}`,j=a=>({kind:"unknown",state:"unknown",version:h.text,fixedIn:null,eolFrom:null,text:`${i}: unknown (${a})`}),k=f?.find(a=>a.name===String(h.major))??null,l=k?.eolFrom?Date.parse(`${k.eolFrom}T00:00:00Z`):null;if(k&&(k.isEol||null!==l&&l<=g))return{kind:"eol",state:"err",version:h.text,fixedIn:null,eolFrom:k.eolFrom,text:`${i}: end of life${k.eolFrom?` since ${k.eolFrom}`:""}, no more security fixes`};let m=b?.security.map(d).find(a=>a&&a.major===h.major&&e(a,h)>0)??null;return m?{kind:"vulnerable",state:"warn",version:h.text,fixedIn:m.text,eolFrom:null,text:`${i}: security fix available (${m.text})`}:b?c?b.latest[String(h.major)]?f?k?{kind:"ok",state:"ok",version:h.text,fixedIn:null,eolFrom:null,text:`${i}: ok`}:j(`endoflife.date has no Node ${h.major} line`):j("endoflife.date hasn't been read yet"):j(`nodejs.org lists no Node ${h.major} release`):j("nodejs.org couldn't be read on the last try"):j("nodejs.org hasn't been read yet")}(a,{index:b?.index??null,indexFresh:h,cycles:b?.cycles??null},c.getTime()),j=[b?.indexError,b?.cyclesError].filter(a=>!!a);return{state:i.state,text:i.text,note:j.length?`Last read: ${j.join("; ")}`:null}}],20060)}];
2
+
3
+ //# sourceMappingURL=src_lib_security_node-runtime_ts_1jei00s21d6v0._.js.map
@@ -0,0 +1,3 @@
1
+ (()=>{"use strict";module.exports=[631107,a=>{var b=a.i(245710);let c=a=>"number"==typeof a&&Number.isFinite(a)&&a>=0?a:null;a.s(["Z",0,(a,b)=>b.getTime()-a.getTime()>72e5,"O",0,function(a){let c=Math.max(0,...a.map(a=>a.views));return a.map(a=>({key:a.at.toISOString(),pct:0===a.views||0===c?0:Math.max(4,Math.round(a.views/c*100)),title:`${(0,b.U)(a.at)} \xb7 ${a.views} view${1===a.views?"":"s"}`}))},"G",0,function(a){let b=a&&"object"==typeof a?a.pageviews:null;if(!b||"object"!=typeof b)return null;let d="string"==typeof b.readAt?Date.parse(b.readAt):0/0;if(Number.isNaN(d)||"boolean"!=typeof b.enabled)return null;if(!b.enabled)return{enabled:!1,readAt:new Date(d)};let e=c(b.total24h),f=null===b.visitors24h?null:c(b.visitors24h);if(null===e||null===f&&null!==b.visitors24h)return null;let g=36e5*Math.floor(d/36e5),h=new Map;for(let a of Array.isArray(b.hourly)?b.hourly:[]){if(!Array.isArray(a))continue;let b="string"==typeof a[0]?Date.parse(a[0]):0/0,d=c(a[1]);if(Number.isNaN(b)||null===d)continue;let e=36e5*Math.floor(b/36e5);h.set(e,(h.get(e)??0)+d)}return{enabled:!0,total:e,visitors:f,hours:Array.from({length:24},(a,b)=>{let c=g-(23-b)*36e5;return{at:new Date(c),views:h.get(c)??0}}),readAt:new Date(d)}},"R",0,function(a){return!a.gone&&a.teamId&&a.accountOk?a.hasProductionDeploy?null:"Not read: this app has no production deployment yet.":"Not read: this app isn't in a connected Vercel account."},"a",0,function(a,b){return a.enabled?{enabled:!0,total24h:a.total,visitors24h:a.visitors,readAt:b.toISOString(),hourly:a.hourly.slice(-24).map(a=>[a.at.toISOString(),a.views])}:{enabled:!1,readAt:b.toISOString()}}])},968715,a=>{var b=a.i(245710);function c(a,c){let[d,e,f]=(0,b.x)(a).split("-").map(Number);return Array.from({length:c},(a,b)=>new Date(Date.UTC(d,e-1,f-(c-1-b))).toISOString().slice(0,10))}let d=Date.UTC(2e3,0,1);a.s(["F",0,90,"I",0,30,"W",0,c,"D",0,function(a,b,c){return d+Math.floor((a.getTime()-d)/b)*b-(c-1)*b},"w",0,function(a,b,d){return c(b,d).map(b=>a?.get(b))},"C",0,function(a){let b=new Map;for(let c of a){let a=b.get(c.monitorId);a||(a=new Map,b.set(c.monitorId,a));let d=a.get(c.day);a.set(c.day,{day:c.day,checks:(d?.checks??0)+c.checks,failures:(d?.failures??0)+c.failures,maint:(d?.maint??0)+(c.maint??0)})}return b},"f",0,function(a,b,c,d,e=null){let f=Array.from({length:d},()=>e);for(let e of a){let a=Math.round((e.t-b)/c);a>=0&&a<d&&(f[a]=e.v)}return f},"j",0,function(a){let b={ok:0,warn:0,err:0,maint:0,paused:0};for(let c of a)!c.appGone&&("ok"===c.state||"warn"===c.state||"err"===c.state||"maint"===c.state?b[c.state]++:("paused"===c.state||"off"===c.state)&&b.paused++);return b},"h",0,function(a,b,d=90,e){return c(b,d).map((b,c)=>{let f,g=a?.get(b),h=g&&(0!==g.checks||g.maint)?0===g.checks?"maint":0===g.failures?"ok":g.failures<3?"warn":"err":"none",i=0==(f=d-1-c)?"Today":1===f?"1 day ago":`${f} days ago`,j=e?.get(b),k=g&&"none"!==h?"maint"===h?`${i} \xb7 maintenance, not counted`:`${i} \xb7 ${g.failures} failed of ${g.checks}`:`${i} \xb7 no data`;return{day:b,tone:h,title:j?`${k} \xb7 deployed ${j}`:k,deploy:j}})},"Y",0,function(a){let b=0,c=0;for(let d of a)d&&(b+=d.checks,c+=d.failures);return b?(b-c)/b*100:null}])}]})();
2
+
3
+ //# sourceMappingURL=src_lib_view_14iq8onyfo7nd._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[715208,a=>{"use strict";var b=a.i(893893),c=a.i(656298),d=a.i(688275),e=a.i(672319),f=a.i(245710),g=a.i(556987),h=a.i(469762),i=a.i(505237);let j=a=>Math.round(100*a)/100,k=a=>a?new Date(a):null,l=(a,b)=>`${a} ${b}${1===a?"":"s"}`;function m(a){return null==a?"—":a>=0x40000000?`${(a/0x40000000).toFixed(1)} GB`:`${Math.round(a/1048576)} MB`}function n(a,b,c){return"unknown"!==a?{state:a,label:b}:{state:"unknown",label:c&&c in i.X?`Unknown \xb7 last seen ${i.X[c]}`:"Unknown"}}function o(a,c,e=g.a){return a.map(a=>{let i=(0,b.k)(b.s,a.data),k=i.endpoints??[],l=[...i.branches??[]].sort((a,b)=>Number(b.isDefault)-Number(a.isDefault)),o=l.reduce((a,b)=>a+(b.logicalSize??0),0),p=null!=i.computeSeconds?(0,d.g)(i.computeSeconds):null,q="unknown"===a.state;return{id:a.id,name:a.name,alias:(0,g.X)(e,a.id),account:a.account,region:i.region??null,pg:i.pgVersion??null,usedBy:a.usedBy,stale:q,collectedAt:a.collectedAt,status:n(a.state,(0,d.p)({endpoints:k,computeSeconds:i.computeSeconds??null}).label,i.lastGoodState),cu:null===p?null:{value:p,pct:j(p/d.a.cuHours*100)},storage:{text:m(o),pct:j(o/d.a.storageBytes*100)},transfer:null!=i.transferBytes?{text:m(i.transferBytes),pct:j(i.transferBytes/d.a.transferBytes*100)}:null,resets:i.periodEnd?(0,f.L)(new Date(i.periodEnd)):null,activeHours:null!=i.activeSeconds?Math.round(i.activeSeconds/360)/10:null,branches:l.map(a=>{let b=k.find(b=>b.branchId===a.id),e=b?(0,d.T)(b):{state:"off",label:"No compute"};return{id:a.id,name:a.name,isDefault:a.isDefault,endpoint:b?.id??null,status:q?n("unknown","",e.state):e,autoscaling:b?(0,d.c)(b.minCu,b.maxCu):"—",size:m(a.logicalSize),lastActive:b?.lastActive?(0,h.J)(new Date(b.lastActive),c):"—"}})}})}function p(a,b){if(!a.length||!a.every(a=>"unknown"===a.state))return null;let c=a.map(a=>a.collectedAt).filter(a=>null!==a).sort((a,b)=>b.getTime()-a.getTime())[0];return`API not responding${c?` \xb7 data from ${(0,h.J)(c,b)}`:""}`}a.s(["R",0,m,"r",0,function(a,b,c=g.a){return a.filter(a=>a.paused&&!a.stale).map(a=>{let d=a.usedBy.map(a=>a.name),e=d.length?`${d.join(", ")} ${d.length>1?"get":"gets"} errors until it's restored. `:"",f=b.find(b=>b.account===a.account),h=(0,g.G)(a.account),i=f?f.activeIds.map(a=>(0,g.X)(c,a)):[],j=f?f.left>0?`Account ${h} has a free slot to restore it.`:`Account ${h} already uses both free slots${i.length?` (${i.join(", ")})`:""}. Pause one of them first, or move ${a.alias} to an account with a free slot.`:"";return{key:`db-${a.id}`,tone:"warning",title:`Supabase project ${a.alias} is paused`,body:(0,g.G)(`${e}${j}`.trim()),action:{label:"Open Supabase",href:"/supabase"}}})},"V",0,function(a,b){if(!a.length)return{state:"unknown",sub:"No projects watched yet"};let c=p(a,b);if(c)return{state:"unknown",sub:c};let d=a.filter(a=>"ok"!==a.state).length;return{state:(0,i.S)(a.map(a=>a.state)),sub:d?`${d} of ${a.length} unreachable`:`${l(a.length,"project")} reachable`}},"U",0,function(a,d=g.a){return a.map(a=>{var e;let f=(0,b.k)(b.w,a.data),h=(a,b)=>null==a?null:{n:a,pct:j(a/b*100)};return{id:a.id,name:a.name,alias:(0,g.X)(d,a.id),projectId:a.externalId,account:a.account,stale:"unknown"===a.state,health:n(a.state,(e=a.state,"ok"===e?`Reachable \xb7 ${f.latencyMs??"—"} ms`:"off"===e?"No Firestore database":(0,c.z)({kind:f.pingKind,reason:f.pingReason}).label),f.lastGoodState),ops:f.opsError&&null==f.reads?{note:f.opsError}:{reads:h(f.reads,c.T.reads),writes:h(f.writes,c.T.writes),deletes:h(f.deletes,c.T.deletes)},users:f.authUsers??null,usersNote:f.authError??null,usedBy:a.usedBy}})},"D",0,o,"_",0,function(a,b,c=g.a){if(!a.length)return{state:"unknown",sub:"No projects watched yet"};let e=p(a,b);if(e)return{state:"unknown",sub:e};let f=o(a,b,c);if(1===f.length){let b=f[0],c="Idle"===b.status.label?"is asleep":b.status.label.toLowerCase();return{state:a[0].state,sub:`${b.alias} ${c}${b.cu?` \xb7 ${Math.round(b.cu.value)} of ${d.a.cuHours} compute hours used this month`:""}`}}return{state:(0,i.S)(a.map(a=>a.state)),sub:`${l(a.length,"project")} \xb7 ${a.filter(a=>"ok"===a.state).length} active`}},"d",0,function(a){return[...new Set(a.map(a=>a.account))].sort().map(b=>{let c=a.filter(a=>a.account===b),d=c.filter(a=>!1!==a.freeOrg&&(0,e.Z)(a.status));return{account:b,...(0,e._)(c),active:d.map(a=>a.name),activeIds:d.map(a=>a.id)}})},"i",0,function(a){let b=a.filter(a=>null!==a.sizeBytes);return{text:m(b.reduce((a,b)=>a+(b.sizeBytes??0),0)),count:b.length}},"x",0,function(a,b){if(!a.length)return{state:"unknown",sub:"No projects watched yet"};let c=p(a,b);if(c)return{state:"unknown",sub:c};let d=a.filter(a=>"paused"===a.state).length,e=a.filter(a=>"warn"===a.state||"err"===a.state).length,f=[l(new Set(a.map(a=>a.account)).size,"account"),d?`${d} paused`:null,e?`${e} unhealthy`:null];return{state:(0,i.S)(a.map(a=>a.state)),sub:f.filter(Boolean).join(" · ")}},"Y",0,function(a,c,d=g.a){return a.map(a=>{let i=(0,b.k)(b.B,a.data),l=i.status??"",o=i.pgVersion?`Postgres ${i.pgVersion.split(".").slice(0,2).join(".")}`:null,p="paused"===a.state||"unknown"===a.state&&"paused"===i.lastGoodState;return{id:a.id,name:a.name,alias:(0,g.X)(d,a.id),ref:a.externalId,account:a.account,sub:[i.region,o].filter(Boolean).join(" · "),status:n(a.state,(0,e.P)(l).label,i.lastGoodState),since:a.stateSince&&"unknown"!==a.state?(0,f.$)(a.stateSince,c):null,size:null!=i.sizeBytes?{text:m(i.sizeBytes),pct:j(i.sizeBytes/e.R*100),asOf:i.sizeAt?(0,f.$)(new Date(i.sizeAt),c):"—"}:null,sizeNote:i.sizeError??(null!=i.sizeBytes?null:"ACTIVE_HEALTHY"===l?"Read once a day while the project is in use":"Read only while the project is active"),traffic:i.trafficAt&&!i.trafficError?i.lastTrafficAt?(0,h.J)(new Date(i.lastTrafficAt),c):"None in 7 days":"—",trafficNote:i.trafficError??null,risk:(0,e.g)({status:p?"INACTIVE":l,lastTrafficAt:k(i.lastTrafficAt),trafficCheckedAt:k(i.trafficAt),pausedSince:p?a.stateSince:null,pausedBeforeSeen:i.pausedBeforeSeen??!1,now:c}),usedBy:a.usedBy,stale:"unknown"===a.state,paused:p,sizeBytes:i.sizeBytes??null}})}])}];
1
+ module.exports=[715208,a=>{"use strict";var b=a.i(893893),c=a.i(656298),d=a.i(688275),e=a.i(672319),f=a.i(245710),g=a.i(556987),h=a.i(469762),i=a.i(505237);let j=a=>Math.round(100*a)/100,k=a=>a?new Date(a):null,l=(a,b)=>`${a} ${b}${1===a?"":"s"}`;function m(a){return null==a?"—":a>=0x40000000?`${(a/0x40000000).toFixed(1)} GB`:`${Math.round(a/1048576)} MB`}function n(a,b,c){return"unknown"!==a?{state:a,label:b}:{state:"unknown",label:c&&c in i.X?`Unknown \xb7 last seen ${i.X[c]}`:"Unknown"}}function o(a,c,e=g.a){return a.map(a=>{let i=(0,b.k)(b.s,a.data),k=i.endpoints??[],l=[...i.branches??[]].sort((a,b)=>Number(b.isDefault)-Number(a.isDefault)),o=l.reduce((a,b)=>a+(b.logicalSize??0),0),p=null!=i.computeSeconds?(0,d.g)(i.computeSeconds):null,q="unknown"===a.state;return{id:a.id,name:a.name,alias:(0,g.X)(e,a.id),account:a.account,region:i.region??null,pg:i.pgVersion??null,usedBy:a.usedBy,stale:q,collectedAt:a.collectedAt,status:n(a.state,(0,d.p)({endpoints:k,computeSeconds:i.computeSeconds??null}).label,i.lastGoodState),cu:null===p?null:{value:p,pct:j(p/d.a.cuHours*100)},storage:{text:m(o),pct:j(o/d.a.storageBytes*100)},transfer:null!=i.transferBytes?{text:m(i.transferBytes),pct:j(i.transferBytes/d.a.transferBytes*100)}:null,resets:i.periodEnd?(0,f.L)(new Date(i.periodEnd)):null,activeHours:null!=i.activeSeconds?Math.round(i.activeSeconds/360)/10:null,branches:l.map(a=>{let b=k.find(b=>b.branchId===a.id),e=b?(0,d.T)(b):{state:"off",label:"No compute"};return{id:a.id,name:a.name,isDefault:a.isDefault,endpoint:b?.id??null,status:q?n("unknown","",e.state):e,autoscaling:b?(0,d.c)(b.minCu,b.maxCu):"—",size:m(a.logicalSize),lastActive:b?.lastActive?(0,h.J)(new Date(b.lastActive),c):"—"}})}})}function p(a,b){if(!a.length||!a.every(a=>"unknown"===a.state))return null;let c=a.map(a=>a.collectedAt).filter(a=>null!==a).sort((a,b)=>b.getTime()-a.getTime())[0];return`API not responding${c?` \xb7 data from ${(0,h.J)(c,b)}`:""}`}a.s(["R",0,m,"r",0,function(a,b,c=g.a){return a.filter(a=>a.paused&&!a.stale).map(a=>{let d=a.usedBy.map(a=>a.name),e=d.length?`${d.join(", ")} ${d.length>1?"get":"gets"} errors until it's restored. `:"",f=b.find(b=>b.account===a.account),h=(0,g.G)(a.account),i=f?f.activeIds.map(a=>(0,g.X)(c,a)):[],j=f?f.left>0?`Account ${h} has a free slot to restore it.`:`Account ${h} already uses both free slots${i.length?` (${i.join(", ")})`:""}. Pause one of them first, or move ${a.alias} to an account with a free slot.`:"";return{key:`db-${a.id}`,tone:"warning",title:`Supabase project ${a.alias} is paused`,body:(0,g.G)(`${e}${j}`.trim()),action:{label:"Open Supabase",href:"/supabase"}}})},"V",0,function(a,b){if(!a.length)return{state:"unknown",sub:"No projects watched yet",empty:!0};let c=p(a,b);if(c)return{state:"unknown",sub:c};let d=a.filter(a=>"ok"!==a.state).length;return{state:(0,i.S)(a.map(a=>a.state)),sub:d?`${d} of ${a.length} unreachable`:`${l(a.length,"project")} reachable`}},"U",0,function(a,d=g.a){return a.map(a=>{var e;let f=(0,b.k)(b.w,a.data),h=(a,b)=>null==a?null:{n:a,pct:j(a/b*100)};return{id:a.id,name:a.name,alias:(0,g.X)(d,a.id),projectId:a.externalId,account:a.account,stale:"unknown"===a.state,health:n(a.state,(e=a.state,"ok"===e?`Reachable \xb7 ${f.latencyMs??"—"} ms`:"off"===e?"No Firestore database":(0,c.z)({kind:f.pingKind,reason:f.pingReason}).label),f.lastGoodState),ops:f.opsError&&null==f.reads?{note:f.opsError}:{reads:h(f.reads,c.T.reads),writes:h(f.writes,c.T.writes),deletes:h(f.deletes,c.T.deletes)},users:f.authUsers??null,usersNote:f.authError??null,usedBy:a.usedBy}})},"D",0,o,"_",0,function(a,b,c=g.a){if(!a.length)return{state:"unknown",sub:"No projects watched yet",empty:!0};let e=p(a,b);if(e)return{state:"unknown",sub:e};let f=o(a,b,c);if(1===f.length){let b=f[0],c="Idle"===b.status.label?"is asleep":b.status.label.toLowerCase();return{state:a[0].state,sub:`${b.alias} ${c}${b.cu?` \xb7 ${Math.round(b.cu.value)} of ${d.a.cuHours} compute hours used this month`:""}`}}return{state:(0,i.S)(a.map(a=>a.state)),sub:`${l(a.length,"project")} \xb7 ${a.filter(a=>"ok"===a.state).length} active`}},"d",0,function(a){return[...new Set(a.map(a=>a.account))].sort().map(b=>{let c=a.filter(a=>a.account===b),d=c.filter(a=>!1!==a.freeOrg&&(0,e.Z)(a.status));return{account:b,...(0,e._)(c),active:d.map(a=>a.name),activeIds:d.map(a=>a.id)}})},"i",0,function(a){let b=a.filter(a=>null!==a.sizeBytes);return{text:m(b.reduce((a,b)=>a+(b.sizeBytes??0),0)),count:b.length}},"x",0,function(a,b){if(!a.length)return{state:"unknown",sub:"No projects watched yet",empty:!0};let c=p(a,b);if(c)return{state:"unknown",sub:c};let d=a.filter(a=>"paused"===a.state).length,e=a.filter(a=>"warn"===a.state||"err"===a.state).length,f=[l(new Set(a.map(a=>a.account)).size,"account"),d?`${d} paused`:null,e?`${e} unhealthy`:null];return{state:(0,i.S)(a.map(a=>a.state)),sub:f.filter(Boolean).join(" · ")}},"Y",0,function(a,c,d=g.a){return a.map(a=>{let i=(0,b.k)(b.B,a.data),l=i.status??"",o=i.pgVersion?`Postgres ${i.pgVersion.split(".").slice(0,2).join(".")}`:null,p="paused"===a.state||"unknown"===a.state&&"paused"===i.lastGoodState;return{id:a.id,name:a.name,alias:(0,g.X)(d,a.id),ref:a.externalId,account:a.account,sub:[i.region,o].filter(Boolean).join(" · "),status:n(a.state,(0,e.P)(l).label,i.lastGoodState),since:a.stateSince&&"unknown"!==a.state?(0,f.$)(a.stateSince,c):null,size:null!=i.sizeBytes?{text:m(i.sizeBytes),pct:j(i.sizeBytes/e.R*100),asOf:i.sizeAt?(0,f.$)(new Date(i.sizeAt),c):"—"}:null,sizeNote:i.sizeError??(null!=i.sizeBytes?null:"ACTIVE_HEALTHY"===l?"Read once a day while the project is in use":"Read only while the project is active"),traffic:i.trafficAt&&!i.trafficError?i.lastTrafficAt?(0,h.J)(new Date(i.lastTrafficAt),c):"None in 7 days":"—",trafficNote:i.trafficError??null,risk:(0,e.g)({status:p?"INACTIVE":l,lastTrafficAt:k(i.lastTrafficAt),trafficCheckedAt:k(i.trafficAt),pausedSince:p?a.stateSince:null,pausedBeforeSeen:i.pausedBeforeSeen??!1,now:c}),usedBy:a.usedBy,stale:"unknown"===a.state,paused:p,sizeBytes:i.sizeBytes??null}})}])}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_view_databases_ts_1ovdbo8spjhf9._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[505237,a=>{"use strict";var b=a.i(306556),c=a.i(133289),d=a.i(201516),e=a.i(221246),f=a.i(245710),g=a.i(556987),h=a.i(469762);let i=a=>a?.kind==="heartbeat";function j(a){let b=a.filter(a=>(0,d.i)(a)&&!a.maintUntil),c=b.filter(a=>!i(a)),e=b.filter(i);return c.find(a=>"err"===a.state)??c.find(a=>"warn"===a.state)??e.find(a=>"err"===a.state)??e.find(a=>"warn"===a.state)??null}let k=a=>(a&&(0,d.H)(a))??(a?.lastStatus?`HTTP ${a.lastStatus}`:"no answer");function l(a){let b=a.monitors.filter(d.i),c=b.filter(a=>a.maintUntil),e=b.some(a=>i(a)&&!a.maintUntil&&("err"===a.state||"warn"===a.state)),f=b.some(a=>!i(a)&&!a.maintUntil&&"err"===a.state),g="err"===a.state&&e&&!f?a.building||a.lastDeploy?.state==="building"?"build":"warn":a.state;if(a.gone||!c.length)return{state:g,maintEnd:null};let h=c.reduce((a,b)=>b.maintUntil>a?b.maintUntil:a,c[0].maintUntil),j=b.filter(a=>!a.maintUntil);return"err"===a.state||"warn"===a.state?j.some(a=>!i(a)&&"err"===a.state)?{state:"err",maintEnd:h}:a.building||a.lastDeploy?.state==="building"?{state:"build",maintEnd:h}:j.some(a=>"warn"===a.state||i(a)&&"err"===a.state)||a.dbPaused?{state:"warn",maintEnd:h}:{state:"maint",maintEnd:h}:j.length||"ok"!==a.state&&"unknown"!==a.state?{state:g,maintEnd:h}:{state:"maint",maintEnd:h}}let m={err:6,fail:6,warn:5,paused:5,build:4,unknown:3,idle:2,off:1,info:1,maint:1,ok:0};function n(a){return a.reduce((a,b)=>m[b]>m[a]?b:a,"ok")}let o=(a,b)=>`${a} ${b}${1===a?"":"s"}`,p=["ok","build","idle","paused","maint","warn","err","fail","unknown","off","info"];a.s(["q",0,[["ok","Running"],["build","Building"],["warn","Degraded"],["err","Down"]],"s",0,[["ok","Ready"],["build","Building"],["fail","Error"]],"D",0,{deployment:"Deployment",monitor:"Monitor",database:"Database",system:"System",action:"Action"},"g",0,[["ok","Up"],["warn","Degraded"],["err","Down"],["maint","Maintenance"]],"X",0,{ok:"healthy",warn:"degraded",err:"down",idle:"idle",build:"building",paused:"paused",info:"info",fail:"failed",off:"off",unknown:"unknown",maint:"maintenance"},"J",0,(...a)=>`Actions for ${a.filter(Boolean).join(" ")}`,"k",0,function(a){if(a.gone)return{state:"off",label:"Gone from Vercel"};let b=j(a.monitors),c=i(b)?b?.name??"heartbeat":null,{state:e,maintEnd:g}=l(a);return"maint"===e&&g?{state:"maint",label:`Maintenance \xb7 until ${(0,f.U)(g)}`}:"ok"===e?{state:"ok",label:"Running"}:"build"===e?{state:"build",label:"Building"}:"warn"===e?!b&&a.dbPaused?{state:"warn",label:"Degraded · DB paused"}:c?{state:"warn",label:b?.state==="err"?`Degraded \xb7 job ${c} not pinging`:`Degraded \xb7 job ${c} late`}:{state:"warn",label:`Degraded \xb7 ${k(b)}`}:"err"===e?{state:"err",label:c?`Down \xb7 ${c}`:`Down \xb7 ${k(b)}`}:a.monitors.some(d.i)?{state:"unknown",label:"Not checked yet"}:{state:"unknown",label:"No active monitors"}},"z",0,a=>(0,e.L)(a,"operator"),"f",0,function(a,b){if(!a)return{state:"unknown",sub:"Hasn't run yet"};let d=null===a.durationMs?"—":`${(a.durationMs/1e3).toFixed(1)} s`;return{state:(0,c.m)(a.finishedAt,b).state,sub:`${(0,f.$)(a.finishedAt,b)} \xb7 ${d} \xb7 ${o(a.checks,"check")}`}},"u",0,function(a,b){if(!a.length)return null;let c=a.length,d="viewer"===b?[...new Set(a.map(a=>a.provider))]:a.map(a=>`${a.provider} \xb7 ${(0,g.G)(a.label)}`);return{title:`${c} connection${c>1?"s need":" needs"} attention`,body:`${d.join(", ")}. Data from ${c>1?"these accounts is":"this account is"} not being updated.`}},"Y",0,function(a){return"ready"===a?{state:"ok",label:"Ready"}:"building"===a?{state:"build",label:"Building"}:"error"===a?{state:"fail",label:"Error"}:{state:"off",label:"Canceled"}},"M",0,function(a,b,c=new Date){if(a.appGone)return{state:"off",label:"App removed from Vercel"};if(a.ownerPaused)return{state:"paused",label:"Paused"};if(a.paused)return{state:"off",label:"App not watched"};let e=b?.end??a.maintUntil;if(e)return{state:"maint",label:`Maintenance \xb7 until ${(0,f.U)(e)}`};if(i(a))return"ok"===a.state?{state:"ok",label:a.lastPingAt?`Up \xb7 pinged ${(0,f.$)(a.lastPingAt,c)}`:"Up"}:"warn"===a.state?{state:"warn",label:"Late"}:"err"===a.state?{state:"err",label:a.lastError?.startsWith("Down · ")?a.lastError:"Down · no ping"}:{state:"unknown",label:"Waiting for the first ping"};if(a.move)return{state:"warn",label:`Domain changed: ${a.move.from} → ${a.move.to}`};let g=(0,d.H)(a)??(null===a.lastStatus?"no answer":String(a.lastStatus));return"ok"===a.state?{state:"ok",label:"Up"}:"warn"===a.state?{state:"warn",label:`Degraded \xb7 ${g}`}:"err"===a.state?{state:"err",label:`Down \xb7 ${g}`}:{state:"unknown",label:"Waiting for first check"}},"m",0,function(a,c){let e=[];for(let f of a){let a=l(f).state;if(f.gone||"err"!==a&&"warn"!==a)continue;let g=j(f.monitors);if("warn"===a&&!g&&f.dbPaused)continue;let k=g&&(0,d.H)(g)?(0,d.H)(g):g?.lastStatus?`HTTP ${g.lastStatus}`:"No answer",m={label:"Open app",href:`/apps/${f.id}`},n=i(g)?g?.name??"heartbeat":null;if(n&&g?.state==="err"){e.push({key:f.id,tone:"warning",title:`${f.name}: background job ${n} is down`,body:`The website is up; the job hasn't pinged${f.since?` for ${(0,h.o)(f.since,c)}`:""}.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if(n){e.push({key:f.id,tone:"warning",title:`${f.name} is degraded`,body:`The job ${n} is late. It's marked down once its grace time passes too.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if("err"===a){let a=f.lastDeploy?.state==="error"?f.lastDeploy:null;e.push({key:f.id,tone:"danger",title:`${f.name} is down`,body:`${k}${f.since?` for ${(0,h.o)(f.since,c)}`:""}.${a?` The last production deploy failed at ${(0,h.v)(a.readyAt??a.createdAt,c)}.`:""}`,action:a?{label:"View deployment",href:"/deployments"}:m})}else{let a=Math.max(1,g?.failStreak??1);e.push({key:f.id,tone:"warning",title:`${f.name} is degraded`,body:`${k} on ${o(a,"check")} in a row. It's marked down after ${b.I}.`,action:m})}}return[...e.filter(a=>"danger"===a.tone),...e.filter(a=>"warning"===a.tone)]},"R",0,function(a){return p.map(b=>({state:b,n:a.filter(a=>a===b).length})).filter(a=>a.n>0)},"E",0,function(a){if(!a.length)return{state:"unknown",sub:"No apps watched yet"};let b=b=>a.filter(a=>a===b).length,c=[["err","down"],["warn","degraded"],["build","building"]].filter(([a])=>b(a)>0).map(([a,c])=>`${b(a)} ${c}`);return{state:n(a),sub:`${o(a.length,"app")}${c.length?` \xb7 ${c.join(", ")}`:""}`}},"S",0,n,"e",0,j])}];
1
+ module.exports=[505237,a=>{"use strict";var b=a.i(306556),c=a.i(133289),d=a.i(201516),e=a.i(221246),f=a.i(245710),g=a.i(556987),h=a.i(469762);let i=a=>a?.kind==="heartbeat";function j(a){let b=a.filter(a=>(0,d.i)(a)&&!a.maintUntil),c=b.filter(a=>!i(a)),e=b.filter(i);return c.find(a=>"err"===a.state)??c.find(a=>"warn"===a.state)??e.find(a=>"err"===a.state)??e.find(a=>"warn"===a.state)??null}let k=a=>(a&&(0,d.H)(a))??(a?.lastStatus?`HTTP ${a.lastStatus}`:"no answer");function l(a){let b=a.monitors.filter(d.i),c=b.filter(a=>a.maintUntil),e=b.some(a=>i(a)&&!a.maintUntil&&("err"===a.state||"warn"===a.state)),f=b.some(a=>!i(a)&&!a.maintUntil&&"err"===a.state),g="err"===a.state&&e&&!f?a.building||a.lastDeploy?.state==="building"?"build":"warn":a.state;if(a.gone||!c.length)return{state:g,maintEnd:null};let h=c.reduce((a,b)=>b.maintUntil>a?b.maintUntil:a,c[0].maintUntil),j=b.filter(a=>!a.maintUntil);return"err"===a.state||"warn"===a.state?j.some(a=>!i(a)&&"err"===a.state)?{state:"err",maintEnd:h}:a.building||a.lastDeploy?.state==="building"?{state:"build",maintEnd:h}:j.some(a=>"warn"===a.state||i(a)&&"err"===a.state)||a.dbPaused?{state:"warn",maintEnd:h}:{state:"maint",maintEnd:h}:j.length||"ok"!==a.state&&"unknown"!==a.state?{state:g,maintEnd:h}:{state:"maint",maintEnd:h}}let m={err:6,fail:6,warn:5,paused:5,build:4,unknown:3,idle:2,off:1,info:1,maint:1,ok:0};function n(a){return a.reduce((a,b)=>m[b]>m[a]?b:a,"ok")}let o=(a,b)=>`${a} ${b}${1===a?"":"s"}`,p=["ok","build","idle","paused","maint","warn","err","fail","unknown","off","info"];a.s(["q",0,[["ok","Running"],["build","Building"],["warn","Degraded"],["err","Down"]],"s",0,[["ok","Ready"],["build","Building"],["fail","Error"]],"D",0,{deployment:"Deployment",monitor:"Monitor",database:"Database",system:"System",action:"Action"},"g",0,[["ok","Up"],["warn","Degraded"],["err","Down"],["maint","Maintenance"]],"X",0,{ok:"healthy",warn:"degraded",err:"down",idle:"idle",build:"building",paused:"paused",info:"info",fail:"failed",off:"off",unknown:"unknown",maint:"maintenance"},"J",0,(...a)=>`Actions for ${a.filter(Boolean).join(" ")}`,"k",0,function(a){if(a.gone)return{state:"off",label:"Gone from Vercel"};let b=j(a.monitors),c=i(b)?b?.name??"heartbeat":null,{state:e,maintEnd:g}=l(a);return"maint"===e&&g?{state:"maint",label:`Maintenance \xb7 until ${(0,f.U)(g)}`}:"ok"===e?{state:"ok",label:"Running"}:"build"===e?{state:"build",label:"Building"}:"warn"===e?!b&&a.dbPaused?{state:"warn",label:"Degraded · DB paused"}:c?{state:"warn",label:b?.state==="err"?`Degraded \xb7 job ${c} not pinging`:`Degraded \xb7 job ${c} late`}:{state:"warn",label:`Degraded \xb7 ${k(b)}`}:"err"===e?{state:"err",label:c?`Down \xb7 ${c}`:`Down \xb7 ${k(b)}`}:a.monitors.some(d.i)?{state:"unknown",label:"Not checked yet"}:{state:"unknown",label:"No active monitors"}},"z",0,a=>(0,e.L)(a,"operator"),"f",0,function(a,b){if(!a)return{state:"unknown",sub:"Hasn't run yet"};let d=null===a.durationMs?"—":`${(a.durationMs/1e3).toFixed(1)} s`;return{state:(0,c.m)(a.finishedAt,b).state,sub:`${(0,f.$)(a.finishedAt,b)} \xb7 ${d} \xb7 ${o(a.checks,"check")}`}},"u",0,function(a,b){if(!a.length)return null;let c=a.length,d="viewer"===b?[...new Set(a.map(a=>a.provider))]:a.map(a=>`${a.provider} \xb7 ${(0,g.G)(a.label)}`);return{title:`${c} connection${c>1?"s need":" needs"} attention`,body:`${d.join(", ")}. Data from ${c>1?"these accounts is":"this account is"} not being updated.`}},"Y",0,function(a){return"ready"===a?{state:"ok",label:"Ready"}:"building"===a?{state:"build",label:"Building"}:"error"===a?{state:"fail",label:"Error"}:{state:"off",label:"Canceled"}},"M",0,function(a,b,c=new Date){if(a.appGone)return{state:"off",label:"App removed from Vercel"};if(a.ownerPaused)return{state:"paused",label:"Paused"};if(a.paused)return{state:"off",label:"App not watched"};let e=b?.end??a.maintUntil;if(e)return{state:"maint",label:`Maintenance \xb7 until ${(0,f.U)(e)}`};if(i(a))return"ok"===a.state?{state:"ok",label:a.lastPingAt?`Up \xb7 pinged ${(0,f.$)(a.lastPingAt,c)}`:"Up"}:"warn"===a.state?{state:"warn",label:"Late"}:"err"===a.state?{state:"err",label:a.lastError?.startsWith("Down · ")?a.lastError:"Down · no ping"}:{state:"unknown",label:"Waiting for the first ping"};if(a.move)return{state:"warn",label:`Domain changed: ${a.move.from} → ${a.move.to}`};let g=(0,d.H)(a)??(null===a.lastStatus?"no answer":String(a.lastStatus));return"ok"===a.state?{state:"ok",label:"Up"}:"warn"===a.state?{state:"warn",label:`Degraded \xb7 ${g}`}:"err"===a.state?{state:"err",label:`Down \xb7 ${g}`}:{state:"unknown",label:"Waiting for first check"}},"m",0,function(a,c){let e=[];for(let f of a){let a=l(f).state;if(f.gone||"err"!==a&&"warn"!==a)continue;let g=j(f.monitors);if("warn"===a&&!g&&f.dbPaused)continue;let k=g&&(0,d.H)(g)?(0,d.H)(g):g?.lastStatus?`HTTP ${g.lastStatus}`:"No answer",m={label:"Open app",href:`/apps/${f.id}`},n=i(g)?g?.name??"heartbeat":null;if(n&&g?.state==="err"){e.push({key:f.id,tone:"warning",title:`${f.name}: background job ${n} is down`,body:`The website is up; the job hasn't pinged${f.since?` for ${(0,h.o)(f.since,c)}`:""}.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if(n){e.push({key:f.id,tone:"warning",title:`${f.name} is degraded`,body:`The job ${n} is late. It's marked down once its grace time passes too.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if("err"===a){let a=f.lastDeploy?.state==="error"?f.lastDeploy:null;e.push({key:f.id,tone:"danger",title:`${f.name} is down`,body:`${k}${f.since?` for ${(0,h.o)(f.since,c)}`:""}.${a?` The last production deploy failed at ${(0,h.v)(a.readyAt??a.createdAt,c)}.`:""}`,action:a?{label:"View deployment",href:"/deployments"}:m})}else{let a=Math.max(1,g?.failStreak??1);e.push({key:f.id,tone:"warning",title:`${f.name} is degraded`,body:`${k} on ${o(a,"check")} in a row. It's marked down after ${b.I}.`,action:m})}}return[...e.filter(a=>"danger"===a.tone),...e.filter(a=>"warning"===a.tone)]},"R",0,function(a){return p.map(b=>({state:b,n:a.filter(a=>a===b).length})).filter(a=>a.n>0)},"E",0,function(a){if(!a.length)return{state:"unknown",sub:"No apps watched yet",empty:!0};let b=b=>a.filter(a=>a===b).length,c=[["err","down"],["warn","degraded"],["build","building"]].filter(([a])=>b(a)>0).map(([a,c])=>`${b(a)} ${c}`);return{state:n(a),sub:`${o(a.length,"app")}${c.length?` \xb7 ${c.join(", ")}`:""}`}},"S",0,n,"e",0,j])}];
2
2
 
3
3
  //# sourceMappingURL=src_lib_view_labels_ts_1uxs84z7vclz5._.js.map